Go to file
monster 10adb268a0 M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline
The bread slice is the whole game's canvas, so it's built first and properly:

- Field: a 128x128 scalar field with bilinear sample, a mass-conserving brush,
  self-levelling relax, and the masked statistics the judge will read.
- Slice: extruded loaf silhouette (domed top), planar-projected UVs so the sim
  grid lines up with the bread, per-texel silhouette mask, and four fields
  (browning/dryness/spread/damage) packed into one RGBA8 texture per frame.
- Custom shader: browning ramp with blotchy char, crumb/crust/inclusions,
  spread wetting + opacity + thickness relief, gloss, gouge exposure, and
  flat data views for the judge screen.
- bread.ts / spreads.ts: the archetypes and the rheology the difficulty
  curve will live in.
- scripts/gen-assets.sh: reproducible fixed-seed asset generation through
  MODELBEAST (flux_local -> bg_remove_local -> hunyuan3d_mlx). All on-device.

Legibility work that mattered: butter rendered invisible at first. Fixes were
a gamma-style wetting darkening (a multiply *brightens* pale crumb), a normal
perturbation taken in UV units rather than raw texel deltas (~30x too small),
and pulling the lighting back under 1.0 so ACES stops desaturating yellow to
cream.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 21:16:18 +10:00
.claude M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline 2026-07-16 21:16:18 +10:00
public/assets/models M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline 2026-07-16 21:16:18 +10:00
scripts M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline 2026-07-16 21:16:18 +10:00
src M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline 2026-07-16 21:16:18 +10:00
.gitignore M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline 2026-07-16 21:16:18 +10:00
index.html M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline 2026-07-16 21:16:18 +10:00
OPUS-BUILD-BRIEF.md M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline 2026-07-16 21:16:18 +10:00
package-lock.json M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline 2026-07-16 21:16:18 +10:00
package.json M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline 2026-07-16 21:16:18 +10:00
tsconfig.json M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline 2026-07-16 21:16:18 +10:00
vite.config.ts M0: scaffold — Vite+TS+Three+Rapier, slice sim core, asset pipeline 2026-07-16 21:16:18 +10:00