From 2db0d5945fc3c6ac85bcd2c7647514c740a0a3ea Mon Sep 17 00:00:00 2001 From: type-two Date: Fri, 10 Jul 2026 03:01:06 +1000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=8D=20pinch/scroll=20zoom=20=E2=80=94?= =?UTF-8?q?=20get=20right=20into=20the=20orbits?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The whole visual now zooms: scroll or trackpad-pinch to zoom the canvas toward the cursor (1×–6×), drag empty space to pan when zoomed, double-click to snap home. Implemented as a CSS transform on #stage (smooth, no draw-loop surgery); all four hit-test chokepoints (mousedown/move/up/contextmenu) invert the zoom so clicking/dragging/right-clicking nodes still lands exactly — provably correct (the inverse of the transform). Pan clamps so the canvas always covers the view. Grimoire + manual note the gesture. Co-Authored-By: Claude Opus 4.8 --- GODSTRUMENT_MANUAL_SOURCE.md | 4 ++++ viz/index.html | 42 +++++++++++++++++++++++++++++++----- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/GODSTRUMENT_MANUAL_SOURCE.md b/GODSTRUMENT_MANUAL_SOURCE.md index 6b3b477..ac64963 100644 --- a/GODSTRUMENT_MANUAL_SOURCE.md +++ b/GODSTRUMENT_MANUAL_SOURCE.md @@ -518,6 +518,8 @@ These four — element, waxing, declination, fertility — gather in the **spiri The console is not a picture of the instrument. It *is* the instrument. Every sphere, every cable, every dial answers to the hand. Nothing here writes to `config.json` — the edits ride the same websocket the data rides (*add_route · remove_route · set_route · make_group*), so the modulation matrix rewires beneath your fingers in real time, live, on stage, mid-note. +**Zoom in.** Scroll (or pinch on a trackpad) to zoom the whole sky toward your cursor — get right up into the orbits, the cables, the chakra wheels. Once you're in, **drag empty space to pan** around, and **double-click** to snap back out to the full view. + Learn these seven gestures and the whole planet is under your hands: - **Click any node — toggle it on or off.** A source sphere (*the sun, an earthquake, Delhi's air, bitcoin's volatility*) or a voice (*lead, bass, pad, drone, perc*): one click mutes it, and the node takes a red slash. Silence the sun and the master filter stops breathing with the solar wind; silence *perc* and BTC's chaos stops driving the hats. Click again — it returns. @@ -1001,3 +1003,5 @@ Every feed the world sends is one of eight temperaments; the shape dictates how - **🌊 Juno-106 chorus** — an always-on subtle BBD-style stereo chorus on the synth's master bus (two short delays warbled by slow LFOs, panned wide) that warms and widens the dry oscillators. - **⬗ Parameter locks (p-locks)** — Pocket-Operator / Elektron style: a texture voice (filter, glitch, reverb, drive) gets a per-step `lock` lane that pins its value to a fixed level on that step (blocky, disjointed), overriding the world; drag a step below the lane to unlock it and hand that step back to the data. Applied in `computeDests` via `applyGroove`; travels with the patch. - **🌊 Juno-106 chorus** — an always-on subtle BBD-style stereo chorus on the synth's master bus (two short delays warbled by slow LFOs, panned wide) that warms and widens the dry oscillators. +- **⬗ Parameter locks (p-locks)** — Pocket-Operator / Elektron style: a texture voice (filter, glitch, reverb, drive) gets a per-step `lock` lane that pins its value to a fixed level on that step (blocky, disjointed), overriding the world; drag a step below the lane to unlock it and hand that step back to the data. Applied in `computeDests` via `applyGroove`; travels with the patch. +- **🌊 Juno-106 chorus** — an always-on subtle BBD-style stereo chorus on the synth's master bus (two short delays warbled by slow LFOs, panned wide) that warms and widens the dry oscillators. diff --git a/viz/index.html b/viz/index.html index 22e5d25..eafee92 100644 --- a/viz/index.html +++ b/viz/index.html @@ -971,6 +971,8 @@

The console is not a picture of the instrument. It is the instrument. Every sphere, every cable, every dial answers to the hand. Nothing here writes to config.json — the edits ride the same websocket the data rides (add_route · remove_route · set_route · make_group), so the modulation matrix rewires beneath your fingers in real time, live, on stage, mid-note.

+

Zoom in. Scroll (or pinch on a trackpad) to zoom the whole sky toward your cursor — get right up into the orbits, the cables, the chakra wheels. Once you're in, drag empty space to pan around, and double-click to snap back out to the full view.

+

Learn these seven gestures and the whole planet is under your hands: