e5be266ce6
3 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
31f2eff28e |
M10 WIP + Build Brief 2: the bakery is code-complete, the prep bench is specced
M10 (code-complete, verification pending — see OPUS-BUILD-BRIEF-2.md §2):
- Brands with mechanical quality (WONDERSLICE 0.25 vs Crustworthy 0.8 etc.):
quality scales heat-map patchiness and crumb fragility. Bakery sourdough is
loaf-only.
- Slicing minigame: aim thickness, saw with vertical strokes; progress/wobble/
squash; wedge slices brown unevenly in the toaster (the bad cut follows you);
squash arrives as pre-existing damage.
- Bread Knife + THE BEST THING (heavy, soft-scalloped, saw eff 1.65) join the
drawer; on loaf days the drawer trip happens BEFORE toasting ("they are
waiting") and whatever you fish out is what you slice with.
- Day 9 handwritten (the inspector wants a doorstop with parallel faces),
procedural brands/loaf days from day 10, The Cut criterion (band + wedge +
squash, TBT signature bonus), cut line bank.
- Verified so far: day-9 ticket chips, knife-trip drawer with bread_knife AND
the_best_thing present, timer label, typecheck + build. Slicer end-to-end
play, tuning, and couplings assertions are itemised in the brief.
OPUS-BUILD-BRIEF-2.md — the prep bench: generalized ingredients + cutting
(slip, juice, piece-evenness CV), the judged mess field, oranges + ribbed
pyramid juicer (halve evenness caps yield, seeds by juicer tier, the
Juicernaut), the grater (zest/pith line, cheese needs cold, knuckles), onions
(sting that blurs REAL vision, the stop-short-of-the-stem criss-cross dice),
and bruschetta as the capstone (temperature planning, roast tomatoes on the
browning field, topping Clark-Evans, the sog clock vs doorstop slices).
Bakery asset batch partially failed (flux errors + one lost GLB) — regen
instructions with retries are in the brief §8.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||
|
|
16860cf5d6 |
M9: the fresh-eyes pass — played it cold, fixed what a stranger hits
Sat down with it like someone who'd never seen it. Five findings, all reproduced before fixing, all verified after: 1. The kitchen panel was a cheat console. BREAD/SPREAD/TOOL/BUTTER are the order's facts, but the widgets stayed live — you could fetch a soup spoon and then quietly re-select the butter knife. Locked during play; the browning dial stays yours because it's a real control. 2. The drawer card printed the ANSWER under the silhouette. The entire "similar but not identical" puzzle, solved by a caption. The name is gone; after ten seconds of fumbling it fades in as a pity: "fine. it's the butter knife." 3. Lifting anything above the rim committed it instantly — but fishing means lifting blockers, so you could accidentally "choose" whatever you were moving aside. Commit now needs 0.45s of continuous hold above the rim, which doubles as a beat to compare what you're holding against the silhouette. Verified: a wobbly lift takes ~0.95s because dipping below the rim resets the clock, and that's correct. 4. Coverage scored 20% on a slice a player had visibly covered corner to corner. Root cause: the "covered" floor scaled with the ASKED amount, so Coverage and Amount both punished thinness — double jeopardy. Coverage now asks its own question (are there bare patches? floor = 0.06 absolute) and the same conscientious play scores 84%. 5. Nothing told you how much was on the toast until the verdict. New live readout, computed by the judge's own functions: "on the toast: thin — normal asked · 84% covered". Watching it, a played-well day 1 went 8.8 -> 9.0, and the missing 0.2 is named on the card (stripes), not hidden. Also: the drawer holds 11 pieces dropped down a tighter column (a heap you rummage in, not an exploded diagram — padded with extra teaspoons, like every real drawer), it sits on a bench instead of floating in a void, Service is sim-time rather than wall-clock, and the title mentions the drawer exists. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
1ba66f0cdf |
M4: the cutlery drawer — and the link that makes it matter
toast -> drawer -> spread. Eight pieces settle into a real tangle; find the one
on the card, drag it up and over the rim, and whatever you're holding is what
you're spreading with.
The link, verified end to end (day 4, butter softness 0.3):
4s in the drawer warmth 0.78 yield 0.343 needs angle 0.36 comfortable
50s in the drawer warmth 0.17 yield 0.565 needs angle 0.60 cliff is 0.62
Dawdling walks you to within two hundredths of the scrape cliff. On day 7
(fridge-hard butter) it tips over into genuinely unspreadable. The drawer isn't
a timer bolted on the side — it's the thing that makes the butter hard.
Physics choices that earn their keep:
- Compound boxes, never trimeshes. A trimesh fork tangled in a trimesh fork is
a solver nightmare and slow with it; the tine envelope is what matters anyway.
- Grab is a capped PD spring, not a fixed joint, so a snagged piece fights the
ones lying on it and loses instead of tunnelling through them.
- The solver is fixed-stepped so a frame hitch can't detonate the pile, and the
drawer settles offline so you open it on an existing mess.
- Clatter is synthesised from real contact-force events, velocity-scaled — a
drawer of cutlery is a noise, and the noise has to come from the collisions.
Three fixes:
- Quaternion.toArray() returns [x,y,z,w]; Rapier wants {x,y,z,w}. Every axis
read back undefined -> NaN in the solver -> wasm panic on the first step.
- The drag plane faced the camera, but the camera looks down into the drawer, so
dragging to the top of the screen couldn't physically lift anything over the
rim. It's a vertical plane now: up-screen means up.
- Cooling lived in kitchen.update(), which stops running the moment the drawer
opens — so the toast stayed hot no matter how long you rummaged, quietly
cancelling the entire mechanic. It's an app-level tick now.
The drawer was 4.6x3.4 and the pieces politely spread out flat. Tangling needs
crowding: 3.1x2.2, dropped down a narrow column so they land on each other.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|