Log inGet started
·
scene · drop-in viewer
asset⌬ scenesceneprimary: entrypoint.luau·originates fromworld 9d2cf424-f…▲6problems

main

COINFALL's only scene: the Coinfall Arcade, 1998, doors chained.

byzero-proxy @ DESKTOP-DB3UJOJ·posted 2mo ago
What it does

main

COINFALL's only scene: the Coinfall Arcade, 1998, doors chained.

The scene file carries just three things — the hall's lighting environment, the PlayerPrototype the engine clones into a first-person body and camera for each joining user, and its PlayerSpawn. Everything the player actually walks through is spawned by entrypoint.luau at load: the hall bays, the dead cabinets, the six live pusher machines, the shrine, the chained doors and the change booth, plus the cf_director and cf_ui host.

That split is deliberate. Entrypoint spawns are marked temporary and never written back into scene.json, so the arcade is rebuilt from a seed every time the scene loads. It is also what lets the hall's geometry shift between visits as corruption climbs — the bay variants, the cabinet drift and the dead lamps are all re-rolled, and none of it accumulates in the scene file.

Lighting here is deliberately almost nothing: a dim warm key and a cold ambient fill. The sodium lamps that actually light the corridor are solved analytically per vertex inside the ps1 shader, because the engine's punctual-light array is bound to the fragment stage and a strictly per-vertex lighting model cannot read it.

Interface

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

conforms to

zero/source-extract/v2

COINFALL boots here. The scene file itself carries only the lighting and the PlayerPrototype the engine clones per joining user. Everything else -- the hall, the machines, the director and the UI -- is spawned from this entrypoint, because entrypoint spawns are marked temporary and never written back into `scene.json`. That is what lets the arcade be rebuilt from a seed on every load, and lets its geometry shift between visits without the scene file growing a copy of every version of the hall.

cf_directorcf_ui

ensureHost( ) → void

installLook( ) → void

The display chain and the material drive are installed in BOTH modes, so the author sees the same 320x240 tube, the same fog wall and the same dither the player does rather than authoring against an untreated image.

onLoad( ) → void

onEditLoad( ) → void

onUnload( ) → void

localPlayerReady(player: ?) → void

argtypedescription
player?

Sub-parts

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

Showing up to 3 levels deep. Open a part to see what it holds further down.

32+items
▣
module · born here
❒asset
# [name] One-paragraph description of what this module provides and who consumes it. ## Exports - `M.exampleFn(arg) -> result` — what it does and when to call it. - `M.exampleValue: type` — what value it carries. ## Usage ```luau local M = require("@<youridentity>::modules.[name]") M.exampleFn("foo") ``` ## Notes - Anything callers need to know about THIS module: required runtime ordering, state ownership, side effects.
▲ 0↑ born
◇
component · born here
❒asset
# [name] One-paragraph description of what this component does and what it attaches to. Mention any required sibling components (e.g. Model, Transform). ## Public fields - `exampleNumber: number` — what it controls, units, valid range. - `exampleString: string` — what it controls. - `exampleBool: boolean` — what it controls. ## Methods - `:methodName(arg)` — what it does and when to call it. ## Lifecycle - `awake()` — same-frame attach hook. What initial state this component sets up. - `start()` — first-frame-after-awake hook. Cross-component setup that needs the other components on the entity to have finished `awake`. - `update(dt)` — per-frame, play mode only. What this component does each tick. - `onDestroy()` — cleanup performed on detach / entity despawn. See `man components` for the full hook list (`onEnable`, `fixedUpdate`, `onPropertyChanged`, etc.) and the timing details. ## Usage ```luau entity(id).component.add("[name]", { exampleNumber = 1.0 }) entity(id).component.get("[name]"):methodName("foo") ```
▲ 0↑ born
▣
module · born here
❒asset
# [name] One-paragraph description of what this module provides and who consumes it. ## Exports - `M.exampleFn(arg) -> result` — what it does and when to call it. - `M.exampleValue: type` — what value it carries. ## Usage ```luau local M = require("@<youridentity>::modules.[name]") M.exampleFn("foo") ``` ## Notes - Anything callers need to know about THIS module: required runtime ordering, state ownership, side effects.
▲ 0↑ born
◇
component · born here
❒asset
# [name] One-paragraph description of what this component does and what it attaches to. Mention any required sibling components (e.g. Model, Transform). ## Public fields - `exampleNumber: number` — what it controls, units, valid range. - `exampleString: string` — what it controls. - `exampleBool: boolean` — what it controls. ## Methods - `:methodName(arg)` — what it does and when to call it. ## Lifecycle - `awake()` — same-frame attach hook. What initial state this component sets up. - `start()` — first-frame-after-awake hook. Cross-component setup that needs the other components on the entity to have finished `awake`. - `update(dt)` — per-frame, play mode only. What this component does each tick. - `onDestroy()` — cleanup performed on detach / entity despawn. See `man components` for the full hook list (`onEnable`, `fixedUpdate`, `onPropertyChanged`, etc.) and the timing details. ## Usage ```luau entity(id).component.add("[name]", { exampleNumber = 1.0 }) entity(id).component.get("[name]"):methodName("foo") ```
▲ 0↑ born
▣
module · born here
❒asset
# [name] One-paragraph description of what this module provides and who consumes it. ## Exports - `M.exampleFn(arg) -> result` — what it does and when to call it. - `M.exampleValue: type` — what value it carries. ## Usage ```luau local M = require("@<youridentity>::modules.[name]") M.exampleFn("foo") ``` ## Notes - Anything callers need to know about THIS module: required runtime ordering, state ownership, side effects.
▲ 0↑ born
△
mesh · born here
❒asset
# Mesh Mesh asset. `data.zmsh` is the engine-native geometry payload (`renderer.mesh.encode`); consumers reference the asset's guid.
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
backing path · scenes/main.scene

Problems

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

These counts cover only the parts this page shows. Problems on the parts it leaves out are not counted here.

6+problems

Inside

6 problems across 1 item
▲
dep.dangling.checksum_drift · L11
dep `cf_mats` -> 1dce646c-a6f9-4623-83e8-9760f0fd4b46 no longer resolves (checksum_drift)
▲
dep.dangling.checksum_drift · L13
dep `cf_hub` -> aca7fae9-9cc9-442d-99b3-f58fd22daab5 no longer resolves (checksum_drift)
▲
dep.dangling.checksum_drift · L23
dep `cf_director` -> 55f8d804-9df7-4997-9fe3-9346922466da no longer resolves (checksum_drift)
▲
dep.dangling.checksum_drift · L24
dep `cf_director` -> 55f8d804-9df7-4997-9fe3-9346922466da no longer resolves (checksum_drift)
▲
dep.dangling.checksum_drift · L26
dep `cf_ui` -> 09c47450-cb89-4f03-8695-bc18659e82de no longer resolves (checksum_drift)
▲
dep.dangling.checksum_drift · L27
dep `cf_ui` -> 09c47450-cb89-4f03-8695-bc18659e82de no longer resolves (checksum_drift)
⌬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.