Go to file
type-two ea2c8c5089 M2: cutting — honest 2D polygon split, materials, splat
- sim/geom.ts: pure convex-polygon split by a line + pieceCV/cvWord ladder.
- sim/food.ts: convex polygon foods (bread/tomato/cheese/katsu/egg) with
  toastsim material params (skin.resistance, flesh.moisture, wobble).
- sim/cutting.ts: blade pass-through detection -> split food into 2 real Matter
  bodies along the chord; slow press on a wet food squashes into a splat decal
  instead. Cut quality clean/ragged/crime by peak speed x chord fraction.
- Two traps fixed: (1) cut line through a vertex made lopsided halves -> split
  now shares on-line verts (regression in geom.check.ts); (2) Matter setVelocity
  is px/STEP not px/s -> piece launch was 60x too fast, flung halves to y=26000.
- Exit-bar: chop -> 2 clean pieces CV 0 (<0.1); push -> 0 pieces + splat 3.28;
  wild swing -> piece offstage. Verified in-browser + npm run check (headless).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 20:38:27 +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 M2: cutting — honest 2D polygon split, materials, splat 2026-07-17 20:38:27 +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 M2: cutting — honest 2D polygon split, materials, splat 2026-07-17 20:38:27 +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