🖱️ Drag to rotate · Scroll to zoom

🍱 Lunch Box Spoilage Lab

Seal the box, set a timer, and watch what happens inside. Temperature & time drive bacterial growth — open the lid to reveal the result.

Live Readings
Temperature 22°C
Growth Rate
Spoilage
Doubling Time
🔒 Lid sealed — experiment not started
Experiment Setup
🌡️ Temp 22°C
⏱ Duration 3 min
—:—— SEALED
Visual Key
Bacterial spores
Mold spores
Steam/moisture
Spoilage signal

💡 Arrhenius principle: Bacterial enzyme reaction rates roughly double for every 10°C rise. The danger zone (20–45°C) creates exponential growth. Cold (below 4°C) slows reactions; heat above 60°C kills most pathogens.

``` Here's a summary of everything implemented: ### State machine: 4 experiment phases - **`idle`** — box sealed, sliders free, "Start Experiment" available, "Open Lid" disabled - **`running`** — timer counts down, spoilage accumulates silently, "Open Lid" stays locked, temp slider still adjustable (affects growth rate mid-experiment) - **`done`** — timer hits zero, arc turns red, "Open Lid" button enables with amber highlight and a "🔔 Timer complete — open the lid!" prompt - **`open`** — lid swings open, results revealed ### Key mechanics | Feature | Detail | |---|---| | **Sealed lid** | All 4 particle systems have `opacity: 0` until the lid opens | | **Spoilage suspense** | The spoilage % shows `…` during the run — students don't know the outcome until reveal | | **60× sim speed** | 3 real minutes = substantial bacterial growth, so the experiment feels meaningful but isn't a 6-hour wait | | **Duration slider** | 1–8 simulated minutes, locked once experiment starts | | **Lid animation** | The lid pivots from its back hinge with a smooth cubic ease-out swing (~0.8 s) | | **Reveal burst** | Brief white flash + bacterial/steam particles scatter outward with high velocity on open | | **Lid jitter** | Above 70% spoilage during `running`, the lid subtly vibrates (gas pressure buildup) | | **Results panel** | Hidden until lid opens — then shows spoilage bar, stage badge, and a scientifically detailed alert callout |