✓ Two crowns ✓ Same mass, different density ✓ Vertical slider ✓ Slider works ✓ Slider controls crowns ✓ Slider direction correct ✓ Full slider range — Fall animation ✓ Water displacement ✓ Rising water level ✓ Splash effects ✓ Physics correct — Live mass value ✓ Live volume value — Live density value ✓ Live displaced water ✓ Gilded displaces more ✓ Heureka animation ✓ No external deps ✓ Light bg / dark text ✓ Self-contained HTML
Physics values are plausible (1000g, 19.3 vs 13.0 g/cm³, correct displacement ratio), but the splash system has a critical bug where `splashesLeft`/`splashesRight` are re-aliased to empty `splashDataL`/`splashDataR` arrays after `spawnSplash` is redefined, and `updateSplash` is called twice per frame with conflicting logic — splash effects likely never render; mass and density live values are static, not updating with slider position.
Physics values are plausible (1000g, 19.3 vs 13.0 g/cm³, correct displacement ratio), but the splash system has a critical bug where `splashesLeft`/`splashesRight` are re-aliased to empty `splashDataL`/`splashDataR` arrays after `spawnSplash` is redefined, and `updateSplash` is called twice per frame with conflicting logic — splash effects likely never render; mass and density live values are static, not updating with slider position.