Skip to content

17. Architecture Glossary

Shared vocabulary keeps architecture discussions short and less mysterious.

Term Meaning
PrototypeRuntime The live Macroquad runtime owner for the playable prototype.
pure module Code that can run without Macroquad rendering/window/audio state.
runtime boundary The point where pure rules become rendered/audio/input behavior.
data-driven Content or tuning comes from Assets//Mods/, not hardcoded Rust.
graceful degradation Broken/missing content reports a problem and falls back where practical.
mod layer A selectable Mods/<mod_id> content overlay with a manifest.
data.pak Packed moddable runtime content for release builds.
identity.pak Separate protected canonical studio media pack.
GameCommand Shared request shape used by Lua, choreography, data, and runtime application.
run event journal Structured record of run events used by debug, Lua hooks, tests, and future tooling.
ECS lifecycle bridge Adapter that mirrors runtime enemy lifecycle into EcsWorld.
scene project A choreography TOML file under Assets/Data/scenes.
flowchart LR
content[Content]
loader[Loader]
model[Model]
command[Command]
apply[Runtime apply]
event[Event]
content --> loader --> model --> command --> apply --> event
Term Meaning
loader Reads loose/packed text and produces typed data.
model Rust struct/enums that represent a content schema or game rule.
command buffer List of GameCommand values returned by a script or data-authored action.
apply layer Runtime code that safely mutates live state from commands/intents.
intent Choreography output describing what should happen without owning rendering.
Phrase Usually means
“move it to data” Add or use a TOML/YAML/Lua/choreography surface instead of hardcoding.
“keep it pure” Put deterministic logic in src/game, src/data, or src/ui without Macroquad.
“runtime adapter” Thin code that turns pure output into Macroquad drawing/audio/state changes.
“pack discoverable” asset_pack --dry-run --list includes the runtime asset.
“mod-checkable” mod_check can catch bad ids/ranges/schema before launch.
“single engine” Extend the established system instead of adding a parallel mechanism.
flowchart TB
content[Content defaults]
settings[User settings]
run[Run save]
account[Account progression]
modmeta[Mod metadata]
content --> run
settings --> run
modmeta --> run
account --> run
Term Meaning
content default Version-controlled value in Assets/.
user setting Player-edited setting persisted outside Assets/.
run save Snapshot of the current run/mode/profile.
account progression Long-term progression, inventory, and unlock state.
content namespace Save metadata identifying active mod content context.