31f8ede9ac2182bb29b2e999f0ef0c40e0bcf0cf
- src/ui/settings/compost-toast.tsx: thin transient toast (D-07,
GARD-04). Reads a rotating line from uiStrings[1].post_harvest_beat
on each compost dispatch; fades out after 3.5s. Co-located with
PersistenceToast as the plan specified ('folded into the persistence-
toast UI surface').
- src/store/session-slice.ts: compostBeatTick monotonic counter +
bumpCompostBeat action. Counter (vs boolean) ensures consecutive
composts re-fire the toast without dedup.
- src/game/scenes/Garden.ts: handleTilePointerDown's compost branch
calls bumpCompostBeat after enqueueCommand.
- src/App.tsx: mounts <CompostToast />.
- 4 new compost-toast tests; 312/312 vitest green; e2e still 1.6s
green; npm run ci exits 0.
Implementation choice (per plan 'surfaced in SUMMARY'): minimum-viable
toast surface chosen over the Ink runtime path. The Ink-authored
compost-acknowledgements.ink content remains compiled + runtime-
loadable via loadInkStory + InkRenderer, so a future plan can swap
this component for the richer voice without touching sim or store.
Description
No description provided
Languages
TypeScript
91.2%
JavaScript
6.7%
Ink
1.8%
CSS
0.2%
HTML
0.1%