Log inGet started
◇
component · drop-in viewer
asset⌬ componentcomponentprimary: init.luau·originates fromworld ef9119eb-c…

Rules

The run itself, mounted once on `mount_rules`. It advances the dawn clock, sends the flock's six calls, keeps the failance ledger, and decides how the night ends.

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

Rules

The run itself, mounted once on mount_rules. It advances the dawn clock, sends the flock's six calls, keeps the failance ledger, and decides how the night ends.

The flock's rhythm

The calls do not fall on a metronome. CALL_PLAN in init.luau places them against a 150 s run whose light begins to rise at 8 s:

#atwindowside
113 s4.6 swest
227 s4.4 seast
355 s4.0 swest
484 s3.6 seast
5106 s3.2 seast
6126 s2.9 swest

Two close together early while the dark is still forgiving, a long silence across the middle, then three in the last third with the windows closing — so answering costs most exactly when the light makes standing still expensive. A boom of 1.15 s inside a 2.9 s window is a third of it.

How a night ends

  • Won — she reaches the roost (roost, from Tawpy, at 99.5 % of the lane).
  • Lost — the third failance, or caught, or the light fills the floor (FL.progress() reaches 1) with her still out on it.

Entering playing from anything but paused clears the ledger and calls player.reset().

The surface

FL.provide("rules", …):

  • ledger() — answered, failances, failanceLimit, callIndex, callCount, windowOpen, deadline, window, remaining, windowFraction (1 at the call, 0 at the deadline — draw the countdown from this), callSide, marks (one entry per call: "answered", "failance", "open", or nil for one not yet sent), runTime, light.
  • schedule() — the plan above, so a screen can lay the run out ahead of time.
  • restart() — back to intro for a fresh run.

Events emitted

call ({ index, side, deadline, window }), answered ({ index, remaining }), failance ({ index, count }).

Interface

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

conforms to

zero/source-extract/v2

Rules — the run itself. Mounted once on `mount_rules`. Advances the dawn clock, sends the flock's six calls, keeps the failance ledger, and ends the run: the roost wins it, the eagle or the third failance loses it. Its live surface is `FL.provide("rules", …)`. The calls do not fall on a metronome. They come in the flock's own rhythm — two close together early while the dark is still forgiving, a long silence across the middle of the run, then three in the last third with the windows closing — so answering gets harder exactly as the light makes standing still expensive.

resetRun( ) → void

closeWindow(answered: boolean) → void

argtypedescription
answeredboolean

provide( ) → void

ledger( ) → void

The whole scoreboard, read fresh each time the HUD asks.

schedule( ) → void

When each call is due, so a screen can lay the run out ahead of time.

restart( ) → void

Begin a fresh run from wherever the game stands.

awake( ) → void

onDestroy( ) → void

update(dt: number) → void

argtypedescription
dtnumber
⌬ Metadata
descriptionThe run: the dawn clock, the flock's six calls in their own rhythm with the windows closing, the failance ledger, and how the night ends.

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
# fl <!-- 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/tawpy/Rules.component

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.