Godstrument/viz
monsterrobotparty d2c8ad6a6a pantheon: UNGODLY — undo, un-doing what god did (Stage 2δ)
Undo/redo as time-travel over serializePatch(): loadPatch already restores
everything and rebuilds open panels, so undo is a 32-deep ring of snapshots.
- ungodlyMark(label) snapshots BEFORE a mutation (dedup identical, cap 32,
  clears the redo future); ungodlyGesture(label) coalesces a drag burst
  (same label within 800ms) into one entry; undo/redo loadPatch under `muted`.
- ~47 mark sites at every patch mutation: mood, zero enter/exit, dimension +
  vibe load, route patch/unpatch, the beat panel (steps/groove/euclid/expr/
  kit/mute/play), the arranger (grooves/clips/scale/euclid/follow/expr/p-lock),
  and the mix (mute/solo/reset/level/trim/group). Boot restore is suppressed.
- ⌘Z undo · ⌘⇧Z redo, added before the letter shortcuts; every single-letter
  key (p/c/o/w/z/t/b/g) now guards !metaKey && !ctrlKey — so ⌘Z no longer
  toggles zen (the pre-existing quirk), while plain z still does.
- One ctxItem with a live depth count. Memory-only in v1 (reload clears it).
App scope only; nothing inside the Synth IIFE.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 17:14:41 +10:00
..
index.html pantheon: UNGODLY — undo, un-doing what god did (Stage 2δ) 2026-07-13 17:14:41 +10:00
life.html 🌱 lifestrument v1.0.1 — post-ship review fixes (fable) 2026-07-12 14:52:04 +10:00
manual.html 📖 godrum: grimoire chapter (🥁 beat · keys 1–5 & ⏺ rec · 🌾 AMPLER · MIDI/export) + manual 2026-07-13 12:04:39 +10:00