Routed the grill into a real order: day 15 'chuck these on the barbie'
sends the whole day outdoors — bank the coals hot one side / cool the
other, sear each piece then move it to the lee before the fat flares,
serve. judgeGrill scores THE SEAR / THE CHAR / THE GRILL with a char-snob
line bank ('There is no char on this. There is a memory of char. A
rumour.'). New scorecard group THE GRILL + grill/bruschetta order headers.
Balance retune (the floor): RENDER_AT 0.62 lifted above the good-sear
window so a clean sear is reachable with NO flare — sear-then-pull is a
reliable win, only overcooking invites the flames.
Verified end-to-end in-browser: day 15 routes to the grill; careful
sear-and-pull grades S (9.4/10), 100% well-seared, no carbon, no flares;
leaving pieces over the coals chars to carbon (0.9/10, 31 flares). All
M-H6 sim bars still green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
src/sim/charcoal.ts — the fuel with no knob. bankCoals paints a 2D heat
bed (a screaming zone + a cool lee); zoneDecayStep only cools it; food
sears by the coal heat beneath it; a rendering piece over hot coals
flares and chars until you move it. One bed, two outcomes by placement.
Verified (t.zoneStdev/zoneDecay/grillTwoZones/grillFlareDodge):
- two-zone bed stdev 0.303 (bar >0.25) — a real gradient.
- bed ceiling monotone-decays 1.68->0.61 over 90s (sear early, hold late).
- hot-zone piece sears 0.72 while cool-lee piece holds at 0.
- FLARE DODGE: left over coals = done 2.12 / 46 flares (carbon); moved to
the lee in time = 0.66 clean sear / 0 flares. Active play is the floor.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>