Phase 3 review: merge content/floor2/juice2, port stale-base floor work into night mode, aggro decay, Ambience+MixDesk wiring
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
df70c99dd0
commit
662060388a
@ -35,7 +35,8 @@ by parallel "lanes" coordinated through files, reviewed by Fable.
|
||||
floor WASD + E (E at the entry exits back to the door). While you're inside,
|
||||
Kayden works the door — badly, on purpose.
|
||||
- Dev routes: N night · P parade · F floor demo · J juice demo (+ same-named
|
||||
URL hashes). `localStorage.removeItem('not-tonight-save')` for a clean run.
|
||||
URL hashes) · M toggles the MIX DESK overlay anywhere (ear-pass rig).
|
||||
`localStorage.removeItem('not-tonight-save')` for a clean run.
|
||||
- Audio unlocks on first click (TechnoEngine + location filter). Before that a
|
||||
StubBeatClock keeps `beat:tick` honest.
|
||||
|
||||
|
||||
@ -862,3 +862,73 @@ No new ones: the fight reuses the existing `'fight'` infraction kind and `heat:s
|
||||
`TechnoEngine` for `beat:tick`, real meter HUD.
|
||||
- All five v0.2 floor infractions are now built — the floor is feature-complete
|
||||
against design §3.2.
|
||||
|
||||
---
|
||||
### REVIEW — Fable — 2026-07-19 (Phase 3 review & integration)
|
||||
**Reviewed:** lane/content @ 37f9892 (518 tests), lane/floor @ 906a366 (225),
|
||||
lane/juice2 @ 10462eb (460). All gates verified green per-branch. Merged
|
||||
content → juice2 → floor; **621 tests green on main** post-merge + integration.
|
||||
Verified in-browser: a Kayden-heavy night produced the full integrated strike
|
||||
sheet (a fake-ID minor via Kayden, a hip flask, and an UNATTENDED FLOOR FIGHT —
|
||||
cause: "someone said the kebab shop has gone downhill"), the incident-report
|
||||
form runs between summary and next shift, and the mix desk overlays a live scene
|
||||
via the new M route.
|
||||
|
||||
**Quality notes:**
|
||||
- CONTENT: measured guest-list posteriors instead of asserting them, and the
|
||||
judge() intoxication fix closed the worst scoring gap in the game — the exact
|
||||
right person fixed it (rules owner). The §4.3 catch (humane choice must not be
|
||||
secretly optimal) is the review of the phase.
|
||||
- FLOOR2: six real defects found by re-reviewing YOUR OWN previous session is
|
||||
the standard now set. The honest note that your verify harness had a 100%
|
||||
false-negative rate (refute-biased + unanimity) is going in the reviewer
|
||||
playbook: that pattern is an off switch, not a quality bar.
|
||||
- JUICE2: the mix desk turns the ear-pass from a code task into a 10-minute
|
||||
human task. Correct instinct throughout.
|
||||
|
||||
**Protocol breach (FLOOR2) — no harm, don't repeat:** the session branched from
|
||||
its OLD lane tip (3eee843), not main — so it never saw Phase 2, its handover
|
||||
re-requests CCRs that were folded a phase ago, and its round-2 code imported a
|
||||
file main had moved. I ported everything at merge (fight files re-pointed at
|
||||
data/strings/floor, fights wired into NIGHT mode incl. the unattended path,
|
||||
live-body cap applied to the night spawn path). Next session: `git fetch &&
|
||||
git switch -c lane/<name> origin/main`, and read the CURRENT handover first.
|
||||
|
||||
**Integration applied (beyond the merges):**
|
||||
- Aggro physiology (approved round-1 request) implemented: `tickCalm` in the
|
||||
floor — no brewing fight + no unhandled maggot → ~0.3 aggro/clock-min cools,
|
||||
both modes, player present or not. Numbers are tuning-pass fodder.
|
||||
- Fight swings radio the door (urgency 3) when the player is at the rope.
|
||||
- `Ambience` created/destroyed by NightScene beside the engine; starts on
|
||||
`audio:unlocked`.
|
||||
- `MixDeskScene` registered globally; **M** toggles it as an overlay anywhere.
|
||||
|
||||
**Rulings:**
|
||||
1. CONTENT Q1 (`RunInfo.game` mutable ref): ACCEPTED as-is. If a third writer
|
||||
to the save ever appears, we revisit with an event; two is fine.
|
||||
2. CONTENT Q2 (double save): accepted, cheap. Leave it.
|
||||
3. CONTENT Q3 (encounter repeats): YES — gate repeats across nights via
|
||||
GameState next content session, and grow the table to 8–10.
|
||||
4. FLOOR2 (fight fuse burns through overlays): CONFIRMED as design. ESC exists;
|
||||
choosing what to abandon is the floor.
|
||||
5. FLOOR2 (doll texture cache growth): bounded per-night by the crowd cap;
|
||||
acceptable until the v0.4 art pass, which owns texture lifecycle anyway.
|
||||
6. JUICE2 Q1 (the arc changes what "the mix" means by hour): CONFIRMED wanted.
|
||||
The desk pinning PEAK on entry is the right tuning default.
|
||||
7. JUICE2 Q2 (Ambience owner): NightScene, done.
|
||||
8. Fight heat strike as `deferred: true` + 150s cooldown: good rebalance,
|
||||
approved retroactively.
|
||||
|
||||
**Open items carried:**
|
||||
- The Kayden-contradiction path (lie about him in the report) has never fired in
|
||||
real play — someone play a floor-heavy night and lie about it.
|
||||
- Stall/pat-down/bin SFX still unwired (overlay constructors want the handle).
|
||||
- Cut-off overlay ↔ DialogueBox drunk-typo integration (widget ready, call site
|
||||
floor-owned).
|
||||
|
||||
**NO NEW LANES OPEN.** The bottleneck is no longer code: it is two sessions with
|
||||
John — (1) the EAR PASS (press M in a real night, solo voices, DUMP MIX, paste
|
||||
the literal back), and (2) the ECONOMY TUNING PASS (baselines: content's
|
||||
3-night run data + door's Phase-1 measurements + floor's idle/attentive table).
|
||||
After those land, the next lanes are content-expansion (encounters, repeat
|
||||
gating), venue 2, and the v0.4 art pass per docs/ASSETS.md.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user