Godstrument/viz
monsterrobotparty 7c6d44b010 🔧 fix: pinch-zoom trap over menus + cable blips ride the data's own rate
Two live-play fixes:

- Zoom: trackpad pinch (ctrl+wheel) over a DOM overlay (right-click menu,
  panels) used to hit the BROWSER's page zoom, which the canvas then made
  un-undoable because it preventDefaults every wheel — zoomed-in with no way
  out except re-opening a menu. Now a capture-phase window listener catches
  pinch everywhere and drives the app's own view zoom (shared zoomAt());
  Safari's gesture* events are blocked too. Plain scrolling in menus and
  panels is untouched; canvas behavior unchanged (verified single-fire).

- Cables: dash/blip speed was uniform (activity-only). Each source now
  carries flowDisp — an EMA of |Δnorm|/s with fast attack + slow release —
  and every cable's dashPhase advances at 6 + flow·240 + activity·40, with
  the pulse dot riding the same phase. A ticking feed streams, a glacial
  feed crawls (venus.dist ~0 flow vs mercury.phase saturated, measured);
  event sources surge on fire via firePulse.

Verified: pinch in/out over overlay drives view.z and is defaultPrevented,
plain scroll not hijacked, canvas single-fire, flows measured per-source
via temp hook (removed, grep-verified 0), zero console errors, T O B G S
+ ⌘Z regression green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 10:32:28 +10:00
..
index.html 🔧 fix: pinch-zoom trap over menus + cable blips ride the data's own rate 2026-07-25 10:32:28 +10:00
life.html 🌱 lifestrument v1.0.1 — post-ship review fixes (fable) 2026-07-12 14:52:04 +10:00
manual.html 🪐 resonance: music of the spheres — planets as modulators (Stage 1) 2026-07-16 10:04:22 +10:00
spheres.js 🪐 resonance: music of the spheres — planets as modulators (Stage 1) 2026-07-16 10:04:22 +10:00