Commit Graph

24 Commits

Author SHA1 Message Date
OpenClaw
1ec1353c0b Add Assist mode: primitive note display for practicing from paper
New game mode 'assist' — no trainer, no scoring:
- Large display of the currently mic-detected note
- Live notation staff (same pipeline as the pitch monitor)
- Live fretboard showing alternative positions for the played note
  (respects the fret-window practice filter)
- Tuner and Metronome remain the shared footer tools, identical in
  all modes; user can practice own-pace from paper with a free
  metronome

Header mode toggle gains 'Assist'; 'm' shortcut cycles back to sight
reading from assist/phrase. Export PitchData type.
2026-09-15 21:11:21 +00:00
7d4c71539a Live-note staff: 64px box aligned with mic button, extreme ledger lines overflow instead of clipping 2026-09-14 02:13:08 +02:00
9fb3f91b92 Fix live-note staff clipping (written-range headroom, block SVG) and center Zen-mode content vertically 2026-09-14 02:11:14 +02:00
4f2ee8798a Phrase mode: count-in click fix, auto-continue sections, BPM widget, live-note staff, 13 new exercises 2026-09-14 01:45:39 +02:00
4d6e205b07 Phrase mode: App integration (mode toggle, keyboard, zen), Controls tweaks, styles 2026-09-14 00:58:43 +02:00
6e60ced477 Dark mode contrast, tuner display and misc UI fixes
- color-scheme per theme so native controls (selects, checkboxes, number
  inputs, sliders) render dark-native instead of black-on-black.
- Themed .control-select text color; new .control-input class replaces
  hardcoded white-on-black inline input styles.
- Tuner widget stays mounted when enabled: idle state (dimmed, needle parked,
  '—') instead of appearing/disappearing. Fully theme-var based (was
  hardcoded white — invisible in light mode).
- Remove CSS transitions on per-frame values (tuner needle, level meter):
  transitions interrupted 60x/sec are left stuck by WebKit/Safari; the
  display EMA from the detection loop replaces them.
- VexFlow notation: resolve CSS var() to concrete colors (SVG attributes
  can't resolve var(), silently fell back to black) and override VexFlow's
  hardcoded #444 ledger-line default; re-render on theme changes
  (useLayoutEffect so children read the updated attribute in time).
- Themed switch toggles (were hardcoded #ddd / white — glowed in dark mode).
- Fixed-height pitch readout so the layout stops jumping when a note starts
  or stops sounding.
- Split SettingsContext into context/Provider/hook files (fast-refresh);
  memoized provider functions; typed webkitAudioContext; prefer-const;
  removed 'as any' casts. ESLint now passes clean.
2026-09-13 18:52:27 +02:00
fe5442eda0 Fix issues with resizing on small screens 2025-12-30 22:30:48 +01:00
d909649e00 mobile UI 2025-12-30 21:33:32 +01:00
aea2442fd6 mobile UI 2025-12-30 20:17:35 +01:00
7a272175d9 Improve mobile UI (resizing) 2025-12-30 20:11:08 +01:00
b27c24cfd0 Mobile UI improvements 2025-12-30 19:24:27 +01:00
96b236acee Improve mobile UI 2025-12-30 10:24:25 +01:00
5ce02498c1 Readme and technical documentation 2025-12-27 22:46:58 +01:00
2ad1fe0ea9 improve volume control 2025-12-27 18:12:32 +01:00
00a2de2bad mobile UI improvement 2025-12-27 16:45:51 +01:00
647a91c4b8 Improve virtual guitar UX 2025-12-27 13:39:29 +01:00
a89e017be7 UI improvements 2025-12-27 12:45:04 +01:00
4640ef961b mobile UI improvements 2025-12-27 00:20:28 +01:00
4f247c086a resize frame when hint is enabled 2025-12-26 19:13:19 +01:00
1650eb4824 resize fretboard 2025-12-26 18:58:36 +01:00
0c2a84464a Keyboard Shortcuts 2025-12-25 21:23:31 +01:00
30a52529d4 Zen mode 2025-12-21 22:39:18 +01:00
5a3c646e5d UI fixed 2025-12-21 21:58:18 +01:00
f510de47d1 antigravity one shot 2025-12-21 12:20:40 +01:00