✓ 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 direction is inverted (value=0 maps to crowns in air at top, value=100 maps to crowns deep in water at bottom, which is correct for a standard horizontal range but the writing-mode trick for vertical likely renders min-at-bottom/max-at-top, making bottom=air and top=water — inverted); splash y-coordinate calculation is buggy (uses waterRect.getAttribute('height') as an offset from waterInitialLevel instead of the actual water surface y); water-rise pixel scaling is arbitrary and not grounded in real units.
Slider direction is inverted (value=0 maps to crowns in air at top, value=100 maps to crowns deep in water at bottom, which is correct for a standard horizontal range but the writing-mode trick for vertical likely renders min-at-bottom/max-at-top, making bottom=air and top=water — inverted); splash y-coordinate calculation is buggy (uses waterRect.getAttribute('height') as an offset from waterInitialLevel instead of the actual water surface y); water-rise pixel scaling is arbitrary and not grounded in real units.