Splashery

Playground
Cast a Shadow, a still.

Arcade · Built from a recipe

Cast a Shadow

C4 on the minor comb. Its drum rings at 250.2 Hz.

Turn it in the PlaygroundTap the picture to strike it.

A carved block hangs between a lamp and a wall, and every piece of it casts its own small shadow.

Shelf
Arcade
Kind
Built from a recipe
Sound
Yes
Licenses
Apache-2.0, MIT, BSD

Its note

Splashery stretches a drumhead over this Splash's outline, twelve inches across, and finds the ways it can ring. Its lowest is 250.2 Hz, 77 cents flat of C4, the nearest tine on the comb. The next fifteen are its overtones, and each one draws its own figure: sand gathers on the lines that stay still.

The sixteen ways Cast a Shadow's drum can ring, lowest first.
  1. 1250 Hz
  2. 2396 Hz
  3. 3396 Hz
  4. 4500 Hz
  5. 5559 Hz
  6. 6559 Hz
  7. 7638 Hz
  8. 8638 Hz
  9. 9729 Hz
  10. 10729 Hz
  11. 11750 Hz
  12. 12791 Hz
  13. 13791 Hz
  14. 14884 Hz
  15. 15884 Hz
  16. 16901 Hz

How to play

Drag or use the arrow keys to turn the block until its shadow fills the outline. Q and E roll it.

Its controls

ControlKindRangeStart
Play or pauseTap
PlayButton
ViewList2 choices2D

About it

A carved block hangs between a lamp and a wall, and every piece of it casts its own small shadow. Each block is carved so that from one way its shadow is a picture, a heart, a fish, a key, a house, a star, a tree or a bird, and from the side it is another; from most turns it is a jumble. Turn it until its shadow fills the outline drawn on the wall; the Match chip says how close you are. In 2D you see only the wall, as if you stood at the lamp, and turn the block by its shadow alone; the 3D button steps to the side so the lamp and the block show.

Sources and credits

Made in Splashery. Its code is MIT.

Libraries

Apache-2.0
Basic Pitch, ONNX (lane Audio piano, October 21, 2026)
MIT
omggif 1.0.10
MIT
ONNX Runtime Web 1.30.0 (its modules)
MIT, Apache-2.0, BSD
PDF.js 6.3.289

Share it

This link opens it in the Playground. To put it on your own page, add the element and one script tag. Every option.

https://splashery.app/play/?toy=cast-a-shadow<script type="module" src="https://splashery.app/play/src/element.js"></script> <splashery-toy toy="cast-a-shadow"></splashery-toy>

Nearby on the strip