Repository navigation
Glossary
UnitBuilds edited this page Oct 11, 2026
·
5 revisions
Authoritative version:
docs/14-glossary.md.
Where a term is load-bearing, the canonical definition lives in the doc named below — link target is
docs/.
| Term | Definition | Doc |
|---|---|---|
| ActionTx | A signed action intent broadcast to peers: ⟨SequenceID, ActorID, Kind, Target, Payload, TickEpoch, Signature⟩. The unit of multiplayer traffic. Target is the address half, Payload the value half, and for a slab mutation the two together are exactly one delta record (A-03). |
10 |
| assetc | The asset compiler: parses authoring text, validates against schema, lowers to FlatBuffers/WASM data. Watch mode in dev, pack mode for release. | 09 |
| BVH | Bounding volume hierarchy over active SDFs, so a ray skips an entity in O(log N) unless it actually hits its coarse bounds. |
04 |
| Camera anchor | The integer world position local (f32) space is measured from this frame: P_local = P_global − C_global. |
02 |
| Causal order | The Lamport/HLC ordering of transactions inside an epoch; not wall-clock order. | 10 |
| Closed form | A rule whose state at any tick is computed directly, without stepping through intermediate ticks. What makes fast-forward legal. | 05 |
| Compaction | The epoch-commit step: bake outstanding deltas into a new genesis state, recompute roots, reset slab bump pointers. The LSM-tree analogy. | 03 |
| Circuit graph | The compiled topology of a connected wire network: nodes, zero-latency edges, transfer function f(I₁…Iₙ, t). |
06 |
Delta mask (M_local) |
The sparse set of player-authored differences from base state. The world's only memory of what the player did. | 03 |
| Delta record | The one u64 a slab appends: |16 region slot|36 intra-region (3×12 bits)|12 payload| — ADR-029's layout, drafted as contracts/delta.rs (A-03). It is the whole memory of an edit, and the only thing a replay needs to find the voxel it changed. |
03 |
| Determinism boundary | Simulation state is computed in Rust/WASM and never by a shader. ADR-017. | 03 |
| Domain deformation | Animation by warping the space an SDF is evaluated in, instead of moving vertices. | 07 |
| Epoch | One committed world state, identified by a root hash. The ledger is a sequence of epochs. | 03 |
| Event tag | A named, versioned macro-causal fact in the ledger (e.g. FlowBlocker{region, magnitude}). The canonical form of macro causality. |
05 |
| Field (macro) | A per-region scalar/vector (water table, fertility, population density) evolved by a rule with a declared jump method. | 05 |
| FlexBuffers | FlatBuffers' schema-free variant, for genuinely dynamic payloads. | 09 |
| Epoch root | The 32-byte BLAKE3 digest of one epoch's whole commitment: genesis ‖ slot table ‖ regions ‖ events, in that order, over the ADR-030 tree shape. What a peer sends a peer, and the only thing a desync check can compare. Published as a vector: EPOCH_0 91b97a52… agrees byte-for-byte on x86-64 Linux, x86-64 Windows and ARM64 macOS. |
03 |
| Fuel metering | WASM instruction budget per call; without it a mod's infinite loop freezes the client. | 08 |
| HDCS | 64-bit Hierarchical Double-Origin Coordinate System — integer global space, float camera-relative space. ADR-016. | 02 |
| Hot reload | Edit a text asset or shader, see it in the running game without a restart. | 09 |
| Intensional commitment | Hashing the rule that generates a thing instead of its output. How ADR-030's tree shape handles base terrain: seed ‖ base_rule_id ‖ rule_version goes into the root, not the region's 2³⁶ unedited voxels. The cost is that a rule change invalidates every root — which is exactly the visibility the design wants. |
03 |
| Jump method | How a macro rule advances by Δt: closed_form, matrix_exp, integral, or iterative {cap}. Every rule must declare one. |
05 |
| Lazy evaluation | Nothing is computed until something needs it. The engine's answer to unloaded chunks. | 01 |
| Ledger | The append-only record of epochs, transactions and event tags. Holds roots and deltas — never block arrays. | 03 |
| Macro / micro | Macro = region-level fields evolved per epoch (cheap, simulated). Micro = voxels, entities, fluids in view (expensive, rendered). | 05 |
| Material function | A color/surface definition as a function of (p, n, t). No texture files exist in this project. |
04 |
| Mempool | Transactions committed but not yet compacted into an epoch. | 03 |
| Morton code | Z-order curve key for region traversal and octree indexing. Computed on RegionKey, never on raw voxel coordinates. |
02 |
| Node grammar | The declarative shape/material vocabulary (RoundedBox, SmoothUnion, Repeat, Voronoi…) interpreted by the master shader. ADR-012. |
04 |
| Octree root | A region's Merkle root derived from its children. Local, so edits don't re-hash the world. | 03 |
| Prompt-to-mod | In-game LLM authoring that emits RON + WGSL + WASM, then runs the same validation path as a hand-written mod. | 08 |
| Region | 4096³ voxels, addressed by RegionKey (3×i64). The unit of the Merkle tree and of slab keying. |
02 |
| Region slot | One epoch's temporary 16-bit index for a region, assigned in first-touch order, held in the epoch header and rebuilt deterministically at replay — what a delta record carries so the 3×i64 region key itself never has to be packed. At most 65,536 distinct regions per epoch record stream. |
02 |
| RON | Rusty Object Notation — the canonical in-repo authoring format (comments, trailing commas, maps 1:1 to structs). | 09 |
| Rollback | Reverting an optimistic local edit by storing its previous u64 back into its slab slot. |
10 |
| SDF | Signed distance function: negative inside, zero at surface, positive outside. The only geometry primitive. | 04 |
| Sector | 16³ regions; the granularity of named event tags. | 02 |
| Slab | Per-region append-only record buffer (since ADR-029), pre-allocated and contiguous. Writes are O(1) appends; resets are bump-pointer → 0. Its geometry and capacity are unsettled (SPEC-06, measured by spike S2), its addressing is not. |
03 |
| Sphere tracing | Raymarching where each step equals the SDF value — a guaranteed-empty distance. | 04 |
| Tree shape | The arity, child order, empty-node rules and integer byte order that turn a digest into a root. ADR-028 chose the hash and deliberately did not choose this; ADR-030 and A-10 (contracts/tree.rs, frozen 2026-10-12) do, and crates/ledger executes it. Two peers agreeing on BLAKE3 but disagreeing on the shape compute different roots and neither errors. |
03 |
| Watch-list | A region's registered interest in another region's field, for continuous drain/refill relationships. | 10 |
| WIT | WASM Interface Types — the typed contract between the host engine and mods. | 08 |
| Symbol | Meaning |
|---|---|
S_base, S_epoch
|
committed base state at an epoch |
M_local |
the sparse delta mask of pending edits |
M_active, M_cold
|
hot (VRAM, in interaction radius) and cold (RAM write-ahead) slab tiers |
⊕ |
apply-overlay: base state overridden by the delta mask |
f(pos, t) |
procedural evaluation of base state at position and tick |
N = ∇SDF(p) |
surface normal via central differences (6 evaluations) |
Δt |
elapsed ticks between an epoch and now — ambiguous in the source, must be declared per rule (OQ-42) |
EpochHash |
MerkleHash(BaseGenesisRoot ⊕ CommittedSlabs) — the 32-byte world-equality proof |
ω, φ
|
clock frequency and phase in ⌊(t + φ)·ω⌋ mod 2
|
C_global |
camera anchor in global integer space |
| ADR | architecture decision record |
| CA | cellular automaton |
| DoD | definition of done — a gate list (doc 11) |
| GI | global illumination |
| GS | the source design transcript — cited only as GS <line>; it stays outside the repository |
| HLC | hybrid logical clock |
| LOD | level of detail |
| LRU | least-recently-used eviction |
| LSM | log-structured merge-tree (the RocksDB/LevelDB analogy) |
| OQ | open question (doc 13) |
| P0/P1/P1.5/P2 | roadmap phases (doc 11) |
| SPEC | internal contradiction in the design register (doc 13) |
| SVO | sparse voxel octree — the original delta-mask storage idea, superseded by slabs |
| TPS | ticks per second — the server-lag metric Minecraft-style engines are judged by |