✓ 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 exists and fires events but `updateCrownPosition` uses a broken regex-replace that fails to actually move the crowns in SVG space, and the slider direction is inverted (value=0 means "0%" at top which maps to air, but the slider's default writing-mode bt-lr renders top as the high end, not the low end, causing directional confusion); additionally, water-rise math uses an arbitrary `CONTAINER_DEPTH=100` constant divorced from real physics, and live mass is static text rather than a dynamic element.
Slider exists and fires events but `updateCrownPosition` uses a broken regex-replace that fails to actually move the crowns in SVG space, and the slider direction is inverted (value=0 means "0%" at top which maps to air, but the slider's default writing-mode bt-lr renders top as the high end, not the low end, causing directional confusion); additionally, water-rise math uses an arbitrary `CONTAINER_DEPTH=100` constant divorced from real physics, and live mass is static text rather than a dynamic element.