sandoniette/package.json
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

21 lines
403 B
JSON

{
"name": "sandoniette",
"private": true,
"version": "0.1.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc --noEmit && vite build",
"preview": "vite preview",
"typecheck": "tsc --noEmit",
"check": "node src/sim/geom.check.ts"
},
"dependencies": {
"phaser": "^3.90.0"
},
"devDependencies": {
"typescript": "^5.6.0",
"vite": "^6.0.0"
}
}