Go to file
type-two 58285712ef M4: the samurai + the full loop — THE STRING CUT
- sim/samurai.ts: anger meter (0..1), events (drop/splat/crimeCut/servedWrong/
  offstage/cleanServe), 5 unsheath stages -> generated portraits, vignette.
- game/judging.ts: 4 groups (THE CUT/SANDO/SERVICE/FLOOR), banded scores,
  grade S-D. game/lines.ts: bilingual samurai barks, 8+/group, deterministic.
- game/game.ts: the run controller — order, serve+verdict, sins -> anger,
  onStrike -> the string cut.
- THE STRING CUT: Marionette.cutStrings() deletes all 6 strings in one frame ->
  ragdoll (pins survive); stage flings loose food with the slash impulse +
  white slash FX + synth gong. Restringable (reset rebuilds).
- Assets wired: bg_washi backdrop + samurai portrait HUD + anger bar. The stage
  now reads as the shadow-puppet theatre.
- Exit-bar: clean run grade S(10) standing; bad run grade D (judge discriminates);
  disaster run strings cut -> ragdoll falls ~180px, samurai fury. Verified
  in-browser (scorecard + string-cut shots) + full M1-M4 battery + npm run check.
- Traps: field 'game' collided with Phaser.Scene.game -> 'session'; walk
  faceplant was per-frame lean>45 (a stride recovers) -> now head-hit-floor.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 21:08:37 +10:00
.claude M0: vite+ts+phaser+Matter skeleton, harness, box drops flush 2026-07-17 20:02:27 +10:00
public/assets/img M0: vite+ts+phaser+Matter skeleton, harness, box drops flush 2026-07-17 20:02:27 +10:00
scripts M0: vite+ts+phaser+Matter skeleton, harness, box drops flush 2026-07-17 20:02:27 +10:00
src M4: the samurai + the full loop — THE STRING CUT 2026-07-17 21:08:37 +10:00
.gitignore M0: vite+ts+phaser+Matter skeleton, harness, box drops flush 2026-07-17 20:02:27 +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 M4: the samurai + the full loop — THE STRING CUT 2026-07-17 21:08:37 +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