[package] name = "oxide-script" description = "Oxide 3D game engine — scripting module (rhai)" version.workspace = true edition.workspace = true authors.workspace = true license.workspace = true rust-version.workspace = true [dependencies] oxide-engine = { path = "../engine" } glam.workspace = true hecs.workspace = true serde.workspace = true ron.workspace = true thiserror.workspace = true log.workspace = true # The scripting backend. rhai is embeddable and sandboxed (no file/OS access by # default), which is exactly what an in-engine, hot-reloaded game-logic language # needs. # - `sync` makes its handles `Send + Sync` so a compiled script can live in an # App resource alongside the rest of the engine state. # - `f32_float` makes the script `FLOAT` type `f32`, matching `glam`, so the # engine math types (`Vec3`, angles, …) bridge into scripts with no casts. rhai = { version = "1.21", features = ["sync", "f32_float"] } [dev-dependencies] ron.workspace = true