Scale sliders
The solar-system view exposes the compression axes through two slider panels — one per audience mode.
Élève mode — single knob
A single Artistique → Réel slider (src/solar-system/blocks/scale-simple-block.js)
drives both the size and distance axes in lock-step. Moving the knob
right toward Réel grows every body to its true physical size and spreads
the orbits to their true distances simultaneously.
| Position | What you see |
|---|---|
| Full left (Artistique) | Compressed display: all planets visible, orbits fit the screen |
| Full right (Réel) | True scale: Earth is a dot, the Sun is enormous, Neptune is far off screen |
Dev mode — four axes
The Dev panel (src/solar-system/blocks/scale-block.js) exposes all four axes
independently:
| Slider | Axis | Range | Effect |
|---|---|---|---|
| Taille | size |
0 → 1 | Body radii from compressed display size to true physical radius |
| Distance | distance |
0 → 1 | Orbital radii from compressed display distance to true AU distances |
| Exagération | exaggeration |
0 → 2 | Multiplier on top of the current size, useful for making small moons visible |
| Orbite lunaire | lunarOrbit |
0 → 2 | Moon’s orbital radius relative to Earth, independently of the global distance slider |
Programmatic control
All four axes are animatable from voyages and from code:
import { setScale, setArtisticScale } from '../solar-system/state/scale.js';
// Snap both size + distance to 0.5 instantly
setScale({ size: 0.5, distance: 0.5 });
// Tween both to true scale over 3 s
await setArtisticScale(1, { duration: 3000 });
See docs/scales.md for the full scale-axis design rationale and
the discipline rules every geometric consumer must follow.