Glossary - UnitBuilds-CC/Merkles-World GitHub Wiki

Glossary

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/.

Terms

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

Symbols

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

Abbreviations

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
⚠️ **GitHub.com Fallback** ⚠️