Create an interactive, mechanically faithful 3D model of a mechanical watch movement, built with three.js, in which the entire going train actually runs: a real gear train driven through a working Swiss lever escapement and regulated by an oscillating balance wheel — the whole mechanism beating and interlocking in real time, free for the visitor to slow down, inspect, and understand.
The mechanical core is the heart of the experience and must be genuinely functional, not decorative animation:
- A complete going train — mainspring barrel, center wheel, third wheel, fourth wheel, and escape wheel — meshing at consistent gear ratios so motion propagates at watch-realistic speeds. The fourth wheel should complete one revolution per minute and the center wheel one per hour; tooth counts and stage ratios should be stated in the UI and should actually multiply out correctly.
- A working Swiss lever escapement: escape wheel teeth caught, locked, and released one by one by a pallet fork with visible entry and exit stones, with lock–unlock–impulse–drop timing that reads believably at full speed and becomes fully legible in slow motion.
- A balance wheel oscillating at a realistic beat rate (e.g. 28,800 vph — 8 beats per second), returning via a hairspring that visibly breathes as it coils and uncoils, with the impulse jewel on the balance roller engaging the pallet-fork notch at the center of each swing. The balance must genuinely drive the fork, and the fork must genuinely gate the train: when the escapement locks, the whole gear train stops; when it releases, the train advances exactly one half-tooth step.
- Correct motion relationships throughout: wheels sharing an arbor turning together, pinions driving wheels at their stated ratios, and directions of rotation alternating as real meshing gears do.
Interactivity should serve understanding, like a watchmaker's bench:
- Full orbit, pan, and zoom camera, with framing presets that fly to key components (balance, escapement, barrel, full movement).
- A time control offering real-time, pause, and deep slow motion (down to a nearly frozen beat) so the escapement can be studied tooth by tooth; a "step one beat" control would be a gift.
- Clicking or tapping any component highlights it, dims the rest, and opens a concise technical dossier: name, role in the train, tooth count, rotations per minute or per hour, and what it drives or is driven by.
- A beat-rate selector (18,000 / 21,600 / 28,800 / 36,000 vph) so visitors can feel the difference in tempo.
- Live instruments: balance amplitude, current beat rate, and a running seconds indicator synchronized to the fourth wheel.
- An exploded view that separates the movement's layers along the arbor axis, and a power-reserve control that lets the visitor wind the mainspring up and watch it run down, with the train visibly stopping when it empties.
Visually, aim for a skeletonized, openworked movement on a dark watchmaker's-bench backdrop: brushed and polished steel, gilt or rhodium tones, ruby jewels at the bearings, subtle perlage or Geneva-stripe texture, and tasteful studio lighting with soft shadows and glints that make the metal read as metal. Keep the UI minimal, technical, and instrument-like — quiet typography, fine hairlines, no dashboard clutter. The mechanism itself is the hero.
Do not take shortcuts or settle for a decorative spinning-gear screensaver: the escapement logic must actually gate the gear train, the balance must actually keep time, and the gear ratios must be internally consistent and verifiable. This skill imposes no token budget limit, so pursue full mechanical fidelity, polish the interaction and information layers down to small details, and keep refining until the movement feels like a real, living mechanism a watchmaker would recognize and enjoy.