[workspace] resolver = "2" members = [ "engine", "engine-derive", "physics", "script", "editor", "examples", "tests", ] [workspace.package] version = "0.1.0" edition = "2021" authors = ["Jaroslav Beneš"] license = "MIT" rust-version = "1.75" [workspace.dependencies] # Math glam = { version = "0.28", features = ["serde"] } # ECS hecs = "0.10" # Windowing & graphics # Linux is the primary target on BOTH Wayland and Xorg (X11): keep both winit # backends explicitly enabled so neither can be dropped by a default-feature # change. (On by default today; listing them makes the contract explicit — # see PLAN.md "Platform & Target Strategy".) winit = { version = "0.30", features = ["x11", "wayland", "serde"] } wgpu = "29" pollster = "0.4" # Plain-old-data casting for GPU vertex/uniform buffers. bytemuck = { version = "1", features = ["derive"] } # glTF import (static meshes). `utils` enables the attribute reader helpers. gltf = { version = "1.4", features = ["utils"] } # TrueType / OpenType font parsing + glyph outline rasterization for the # Stage-8 in-game UI text system. Chosen over `fontdue` for its minimal # scope (parsing + rasterization only) — the engine writes its own atlas, # layout, wrapping, and alignment on top, which keeps the door open for # richer text features in later pieces (editor caret, rich markup, SDF). ab_glyph = "0.2" # Editor UI (egui — integrated into oxide-editor only) egui = "0.34" egui-wgpu = "0.34" egui-winit = "0.34" egui_dock = "0.19" # Logging log = "0.4" env_logger = "0.11" # Error handling anyhow = "1" thiserror = "2" # Serialization serde = { version = "1", features = ["derive"] } ron = "0.8" # Proc-macro toolkit for `oxide-engine-derive` (the `#[derive(Reflect)]` macro # behind the reflection-driven editor inspector — Stage 8.5). syn = { version = "2", features = ["full"] } quote = "1" proc-macro2 = "1" # Filesystem change events (Stage 6 file-watcher foundation; Stage 10 hot-reload). notify = "8" # Benchmarking criterion = "0.5" [profile.release] opt-level = 3 lto = true codegen-units = 1 strip = true