✓ 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
Slider is inverted (value=0 is crown in air, value=100 is submerged, but the slider renders bottom=0/air and top=100/water due to bt-lr writing-mode), water level does not visibly rise as crowns submerge (waterLevel drives crown Y only via waterBaseY offset, not an actual rising surface), and the crown positioning logic is confused—crowns simply translate downward with no distinct fall animation or proper surface-entry transition.
Slider is inverted (value=0 is crown in air, value=100 is submerged, but the slider renders bottom=0/air and top=100/water due to bt-lr writing-mode), water level does not visibly rise as crowns submerge (waterLevel drives crown Y only via waterBaseY offset, not an actual rising surface), and the crown positioning logic is confused—crowns simply translate downward with no distinct fall animation or proper surface-entry transition.