- Drop the false "vendored QR library" line; state it's a single
self-contained, zero-dependency file and document offline use.
- Fix keyboard shortcuts to match the in-app help: remove the
non-existent R toggle, add Alt+↑/↓ (reorder), 1–9 toggles a lane.
- "GM drum voice" → synthesized; set-list items load on click (no ▶
auto-start); QR is an external service; clarify release.sh.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
LICENSE holds the verbatim AGPL-3.0 text. index.html carries the SPDX
header + notice; README gains a License section noting §13 is met by the
in-app source link (git.varasys.io/VARASYS/metronome).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The real conflict wasn't the key: shortcuts bailed whenever ANY form
control (slider/checkbox/menu/button) had focus, and those keep focus
after use — so P/T/A/N seemed dead most of the time.
- Guard now stands down only for text-entry fields (text/number/textarea/
contenteditable), so shortcuts work right after you touch a slider or
checkbox.
- Space always = play/stop (preventDefault so it won't scroll, toggle a
focused checkbox, or re-fire a focused button) — the DAW standard,
which also fixes the original Space/checkbox conflict.
- Arrow keys still defer to a focused range slider / select.
- Legend, help overlay, README updated back to Space.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Pad row now shows beatsPerBar × subdivision pads, each individually
toggleable (the subdivision control sets pad resolution). Subdivision
pads render smaller; downbeats labeled; group/beat gaps preserved.
- Mask (beatsOn) is now per-step; playhead tracks the current step.
recomputeLane remaps on grouping/subdivision change and migrates legacy
per-beat masks (saved data, short share patterns) by expanding across subs.
- Share language: =pattern is now per-step (len = beats × sub); short
per-beat patterns still accepted and expanded. README updated.
- Removed the Sig time-signature preset dropdown (confusing vs subdivision).
- Help dialog: link to git.varasys.io/VARASYS/metronome + note that it's a
single-page app you can save & run offline, but file:// won't auto-save
the set list (export a backup).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Move per-item 💾 out of set-list rows into one 💾 Save next to Tap; it
overwrites the loaded item and is disabled when no item is loaded.
- History list: red ✕ on hover deletes one session; Clear all wipes
history for the current item only.
- Bump dark-display text again (BPM 80px, timers 26px, status 19px);
widen the display column to fit.
- README: play key Space -> P.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Each meter lane has an 'enable' checkbox right after its number (default on,
green-dim row when off); replaces the right-side 'mute'. Renamed mute→enabled
throughout (scheduler, snapshot, share '!' flag, 1–9 keys, now-playing). Old
saved data still loads (back-compat).
- Features area redesigned into highlighting boxes (Gap trainer / Tempo ramp /
Timers); trainer & ramp boxes light up + un-dim when enabled.
- Set list 'Continue' mode: per-item countdown (saved in each item, 'cd' token),
and when a playing item's countdown hits 0 it auto-loads the next — so a list
with countdowns plays straight through.
- Removed the in-app QR (vendored qrcode.js); 'QR ↗' now opens api.qrserver.com
with the link, behind a banner warning it's a third party (verify it decodes).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Share menu now opens a dialog with a copyable link AND a QR code (scan to open
on a phone); generated locally by vendored qrcode-generator (MIT). deploy.sh
publishes qrcode.js alongside index.html.
- README documents the share language grammar, sounds, URL forms, shortcuts,
versioning and deploy.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>