arena
Emberfront itself — the rift canyon the match is fought in.
arena.build() raises the whole place from code: the two basalt lane shelves,
the river of exposed melt between them, the canyon walls and their broken rim,
the Nexus / Gate / Altar at each end, the eruption on the horizon, the light,
the falling ash and the embers climbing out of the rift. arena.teardown()
takes all of it away again.
Every dimension is read from game.rules (K.arena, K.points, K.palette),
so the canyon can never disagree with the lane the creeps march down. Nothing is
written into the scene file: each piece is spawned as a temporary entity under
one root named EmberfrontArena, and building twice leaves exactly one canyon.
The scene's six anchor entities — EmberNexus, AshNexus, EmberGate,
AshGate, EmberAltar, AshAltar — keep their authored transforms. build()
only takes their placeholder cubes off and raises a real structure on the spot,
so every other slice still finds the world by them.
Surfaces
| Asset | What it is |
|---|---|
art/cinder_basalt.shader | Procedural triplanar basalt: ash on the ledges, a crust that breaks into cracks, grain you only see up close. |
art/emberfront_lava.shader | The melt. Flows along the canyon, crusts over as it cools, tears open along the shear. |
art/basalt_ground.material | The lane shelves. |
art/basalt_cliff.material | Walls, buttresses, talus, the mountain beyond. |
art/lava_flow.material | The rift. |
art/dark_iron.material | The worked metal of the structures. |
art/obsidian.material | Cut stone: rift banks, plinths, standing stones. |
art/ember_core.material / art/ash_core.material | The two sides' burning hearts — orange for Ember, violet for Ash. |
art/ash_mote.material / art/ember_mote.material | What the falling ash and the rising embers are made of. |
Air and grade
A HeightFog volume pools ash in the canyon and warms toward the sun. The
screen-space chain is bloom → color_correction → tonemap (ACES) →
vignette; teardown() removes all four.
Scoped to this part · feeds back into the world's score.