Log inGet started
·
scene · drop-in viewer
asset⌬ scenescene·originates fromworld 2d73066b-0…

main

The shop, written as code. Everything in this scene is placed by `build.luau`, and editing that file rebuilds the scene in place: an entity keeps the id it had, so the spawn, the camera and the hawks survive a rebuild with their references intact.

by◐noraellis24·posted 20d ago
What it does

main — Goshawk Books

The shop, written as code. Everything in this scene is placed by build.luau, and editing that file rebuilds the scene in place: an entity keeps the id it had, so the spawn, the camera and the hawks survive a rebuild with their references intact.

What it holds

the roomfloor, ceiling, three walls and a storefront — piers, a display window with mullions and a transom, and a door standing open on its hinge
the stockten oak cases (four on the back wall, two per side wall), each filled by shelfUnit from a seeded run: matched sets of volumes, gaps where books have been bought away, the odd book leaning into its neighbour
the shopcounter with a brass till and a bell, a display table of stacked books, a reading nook with a rug, a side table and a floor lamp, a window ledge of new arrivals
the streetpavement, kerb, road, the buildings opposite, two street lamps and a bench
the hawksfive birds riding circles over the road, flown by HawkFlight
the playera PlayerPrototype with the humanoid avatar and an orbital_follow camera, plus one PlayerSpawn inside the shop near the door

Changing it

  • shelfUnit(parent, name, x, z, yawDeg, width, seed) — one case and its books. boards is the shelf list; the gap probability and the run lengths decide how the stock reads.
  • bookStack(...) — a stack lying flat, used on the counter, the display table, the ledge and the side table.
  • hawkSpecs — one line per bird: its circle's centre and radius, its period, its bank, its height. Add a line for another hawk.
  • pendant(...) — cord, shade, glowing bulb and the light it casts.
  • Materials are resolved by name, literally, in resolveAll(): a scene that states what it is made of can be carried into another world with its dependencies intact.

Gotchas worth keeping

Two faces at the same depth flicker, and a lit frame never shows it. Where two parts meet — a book on a shelf board, a wall on a floor, a rug on the boards — one of them is given a couple of millimetres of air, or overlaps the other by a centimetre. Wall height is ROOM.H + 0.04 for exactly that reason, and shelfUnit lifts every book 2 mm off its board.

A component keeps no table of its own. HawkFlap carries five birds, and a module-level table (or anything keyed on an id) is ONE value shared by every instance — which reads as four birds frozen and one flapping, because the last one to collect the children won. Per-instance state goes in private, or is rebuilt from the entity each frame.

Round-tripping through play can drop a rebuild. A build.luau write places its entities live, but they are only pending until something accepts them; leaving play by discarding changes throws that rebuild away, and the live scene then disagrees with scene.json. After a build, either accept the changes or scene.reload before the next play round trip.

Interface

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

This asset doesn't declare a schema or structured payload.

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.

166+items
△
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
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 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
△
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
◇
component · born here
❒asset
# HawkFlight 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 while the gameplay clock runs. 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("HawkFlight", { exampleNumber = 1.0 }) entity(id).component.get("HawkFlight"):methodName("foo") ```
▲ 0↑ born
◇
component · born here
❒asset
# HawkFlap 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 while the gameplay clock runs. 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("HawkFlap", { exampleNumber = 1.0 }) entity(id).component.get("HawkFlap"):methodName("foo") ```
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 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
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 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
◐
material · born here
❒asset
▲ 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
△
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
△
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
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 0↑ born
◐
material · born here
❒asset
▲ 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
◐
material · born here
❒asset
▲ 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.

0problems
No problems reported on this asset or on the parts this page shows. Parts it leaves out are not counted here.
⌬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.