Go to file
type-two 26921eb4ad Build-out 2: the playable loop — detection stacking, live serve, string picker, 8 days
- Sando is zone-DETECTION now: the stack = food bodies physically resting in
  the plate zone, bottom->top. Hand-stacked and harness-stacked sandos are
  judged identically (sando.kinds() is what the judge reads).
- The full live loop: Game.state + updateLive() — ticket clock with late-anger
  (1 bump/3s overdue), bow-dwell serve (hold still 0.5s over a matching
  standing sando -> scorecard), click -> next day; string cut -> ragdoll ->
  fail card -> click retries the same day with fresh strings. setupDay stages
  bread + fillings per order; sins fire live off cutter.onCut + offstage sweep.
- String unlockables: HEMP/RUBBER/CHAIN/SILK picker on the title (stiffness/
  damping multipliers, registry-persisted). Rubber visibly stretches.
- Days 6-8: Tamago (it rolls), Tofu (fragile), THE TOWER (5 layers) + tofu food.
- samurai_bow (same seed): an S serve swaps in the single approving nod.
- Battery: M1 87f/8.41u/10-10, M2 cv0 clean, M3 both, days SSSSSSSS, live
  serve commits at 31f (~0.5s), death->retry + serve->advance verified.
- Known: embedded preview pane never fires rAF (visibilityState hidden) — live
  loop freezes there by browser design; harness steps manually. Real tabs fine.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 17:06:22 +10:00
.claude Build-out 2: the playable loop — detection stacking, live serve, string picker, 8 days 2026-07-20 17:06:22 +10:00
public/assets/img Build-out 2: the playable loop — detection stacking, live serve, string picker, 8 days 2026-07-20 17:06:22 +10:00
scripts Build-out 2: the playable loop — detection stacking, live serve, string picker, 8 days 2026-07-20 17:06:22 +10:00
src Build-out 2: the playable loop — detection stacking, live serve, string picker, 8 days 2026-07-20 17:06:22 +10:00
.gitignore M0: vite+ts+phaser+Matter skeleton, harness, box drops flush 2026-07-17 20:02:27 +10:00
deploy.sh Deploy to partly.party/sandoniette 2026-07-17 21:55:56 +10:00
index.html M0: vite+ts+phaser+Matter skeleton, harness, box drops flush 2026-07-17 20:02:27 +10:00
OPUS-BUILD-BRIEF.md Build-out 2: the playable loop — detection stacking, live serve, string picker, 8 days 2026-07-20 17:06:22 +10:00
package-lock.json M0: vite+ts+phaser+Matter skeleton, harness, box drops flush 2026-07-17 20:02:27 +10:00
package.json M2: cutting — honest 2D polygon split, materials, splat 2026-07-17 20:38:27 +10:00
tsconfig.json M2: cutting — honest 2D polygon split, materials, splat 2026-07-17 20:38:27 +10:00
vite.config.ts Deploy to partly.party/sandoniette 2026-07-17 21:55:56 +10:00