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,
|
floor WASD + E (E at the entry exits back to the door). While you're inside,
|
||||||
Kayden works the door — badly, on purpose.
|
Kayden works the door — badly, on purpose.
|
||||||
- Dev routes: N night · P parade · F floor demo · J juice demo (+ same-named
|
- 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
|
- Audio unlocks on first click (TechnoEngine + location filter). Before that a
|
||||||
StubBeatClock keeps `beat:tick` honest.
|
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.
|
`TechnoEngine` for `beat:tick`, real meter HUD.
|
||||||
- All five v0.2 floor infractions are now built — the floor is feature-complete
|
- All five v0.2 floor infractions are now built — the floor is feature-complete
|
||||||
against design §3.2.
|
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