Files
benilla-octo/crates/benilla-world/Cargo.toml
T
SamandClaude Fable 5 bfb3e3addc the player build: one binary that carries its content
- a player build ships beside the dev one — dev chords and probe surfaces go dark, and a gate enforces what a player can still reach, by medium not by module
- the binary carries its own shaders and its shipped UI, finds the WoW folder by itself, and keeps its local state in one benilla-config folder
- the glue screens get a capture shutter, and the engine stops depending on the protocol crate

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 18:18:02 +07:00

44 lines
2.1 KiB
TOML

[package]
name = "benilla-world"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "The world renderer: terrain, water, sky, weather, models, lighting, collision and the frame ladder — everything needed to put something in a world and ask the world about itself, with no game attached (decision 1160)"
[features]
# Forwarded dev/player seam (0026 · 1173/1174 · 1175). Default-on. `benilla-formats` must be taken
# with `default-features = false` and its `dev` re-exported here: it is default-on there too, so
# without this a `--no-default-features` player build gets the feature back through unification and
# the binary carries the build machine's source-tree path after all.
default = ["dev"]
dev = ["benilla-formats/dev", "benilla-assets/dev"]
[dependencies]
avian3d = "0.6"
benilla-assets = { path = "../benilla-assets", default-features = false }
benilla-formats = { path = "../benilla-formats", default-features = false }
# The wire crate (`benilla_protocol`) is deliberately NOT here. The engine renders a world; it
# does not speak a protocol. Decision 1177 took the last crossing out — `WorldUnit.kind:
# EntityKind` became `WorldUnit.wades: bool` — and the absence of that dependency line IS the
# record's gate: the crate graph enforces it, so no test has to.
# The WMO group parser — the portal audit re-parses a group to pin its own decode against the file.
benilla-wmo = { path = "../benilla-wmo" }
bevy.workspace = true
bytemuck = { version = "1", features = ["derive"] }
image = { version = "0.25", default-features = false, features = ["png"] }
libc = "0.2"
# macOS: `bgwin` demotes the app to Accessory for a background run and orders the window out of
# the way. Same pins as `benilla-app`'s — one objc2 in the graph.
[target.'cfg(target_os = "macos")'.dependencies]
objc2-app-kit = { version = "0.2", features = [
# `bgwin`'s Accessory demotion and window ordering, and `modkeys`' modifier read.
"NSApplication",
"NSEvent",
"NSResponder",
"NSRunningApplication",
"NSWindow",
] }
# `MainThreadMarker`, for the AppKit calls above.
objc2-foundation = "0.2"