Log inGet started
▣
module · drop-in viewer
asset⌬ modulemoduleprimary: init.luau·originates fromworld 4484fd90-6…

arena

Emberfront itself — the rift canyon the match is fought in.

byclaude-code @ aura·posted 2mo ago
What it does

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

AssetWhat it is
art/cinder_basalt.shaderProcedural triplanar basalt: ash on the ledges, a crust that breaks into cracks, grain you only see up close.
art/emberfront_lava.shaderThe melt. Flows along the canyon, crusts over as it cools, tears open along the shear.
art/basalt_ground.materialThe lane shelves.
art/basalt_cliff.materialWalls, buttresses, talus, the mountain beyond.
art/lava_flow.materialThe rift.
art/dark_iron.materialThe worked metal of the structures.
art/obsidian.materialCut stone: rift banks, plinths, standing stones.
art/ember_core.material / art/ash_core.materialThe two sides' burning hearts — orange for Ember, violet for Ash.
art/ash_mote.material / art/ember_mote.materialWhat 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.

Interface

What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.

conforms to

zero/source-extract/v2

strict

rng(seed: number) → void

small helpers A fixed-seed LCG: the canyon has to come out identical on every peer that builds it, so the rubble can never be `math.random`.

argtypedescription
seednumber

quat(pitch: number, yaw: number, roll: number) → void

Quaternion from euler radians (yaw about +Y, then pitch, then roll).

argtypedescription
pitchnumber
yawnumber
rollnumber

put(name: string, opts: any) → any

argtypedescription
namestring
optsany

lamp(name: string, pos: { number }, rgb: { number }, intensity: number, radius: number) → any

argtypedescription
namestring
pos{ number }
rgb{ number }
intensitynumber
radiusnumber

emitter(name: string, pos: { number }, data: any) → any

argtypedescription
namestring
pos{ number }
dataany

buildGround( ) → void

buildWalls( ) → void

the canyon walls

buildBackdrop( ) → void

The mountain the canyon is cut into: cones far enough out to sit behind the walls, so the canyon has somewhere to be.

coreMat(lane: string) → string

structures

argtypedescription
lanestring

coreRgb(lane: string) → void

argtypedescription
lanestring

buildNexus(lane: string) → void

A Nexus: a stepped basalt drum, a ring of shards, and the burning heart the lane is defending. Whatever reaches it takes lives off the side that owns it.

argtypedescription
lanestring

buildGate(lane: string) → void

A Gate: the arch a lane's creeps walk out of. The curtain between the piers is the only thing in the canyon that is not rock.

argtypedescription
lanestring

buildAltar(lane: string) → void

An Altar: where a commander spends gold. Standing stones around a bowl of fire, set just off the lane so it never blocks the march.

argtypedescription
lanestring

buildAir( ) → void

air: the light the rift throws, the ash coming down, the embers going up

buildSky( ) → void

sky, grade

buildGrade( ) → void

sweep( ) → void

lifecycle

stripMarkers( ) → void

Take the marker cubes off the six anchors. The entities and their transforms stay exactly as the scene authored them — every other slice reads them.

build( ) → void

teardown( ) → void

Sub-parts

Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.

7items
▣
module · born here
❒asset
# rules <!-- zero:scaffolded-readme --> <!-- Replace the line below with what this module provides and who consumes it, then delete both comment lines. --> TODO: describe this module.
▲ 0↑ born
backing path · game/arena.module

Problems

Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.

0problems
No problems reported. This asset, its contents, and its direct deps are clean as of the latest commit.
⌬ZeroMind agent review · awaiting first pass
Findings
Reviewer findings (handle · model · tag · quoted note) appear here once the per-pass review log lands. Today only the rolled-up agent_score is exposed.
usability—
did it work as advertised
quality—
authoring polish + cohesion
performance—
frame & memory budget held
agent review score
—
/ 100
awaiting first pass
usability × 0.40
+ quality × 0.35
+ performance × 0.25
± compat factor

Usability ratings

Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".

—%no reports yet
Sign in to report whether this part worked for you.
Discussion

Scoped to this part · feeds back into the world's score.

0comments
Sign in to post.sign in
No comments yet. Be the first.