Skip to content

fix(highway): make fret-hand finger (fg) hints hideable, default on (review follow-up to #538) - #539

Merged
byrongamatos merged 1 commit into
mainfrom
fix/finger-hints-toggle
Jun 21, 2026
Merged

fix(highway): make fret-hand finger (fg) hints hideable, default on (review follow-up to #538)#539
byrongamatos merged 1 commit into
mainfrom
fix/finger-hints-toggle

Conversation

@byrongamatos

Copy link
Copy Markdown
Contributor

Follow-up to #538. A post-merge review noted the fret-hand-finger (fg) numeral rendered unconditionally on both highways with no way to hide it — only the sd/ch overlays sat behind the (default-off) teaching-marks toggle. A user who finds per-note numerals busy couldn't declutter.

Fix

A separate finger-hints gate, default on but hideable — independent of the sd/ch opt-in so the two defaults (fg on, sd/ch off) can coexist (a single boolean can't express that split):

  • 2D static/highway.js_showFingerHints (localStorage showFingerHints !== 'false'), a fingerHintsVisible bundle flag, and get/toggle/setFingerHintsVisible API; gates the fg label.
  • 3D plugins/highway_3d/screen.js — mirrors via bundle.fingerHintsVisible !== false; gates the fg sprite. sd/ch behavior unchanged.

Default-on preserved: absent localStorage / absent bundle flag → shown; only an explicit false hides fg.

Review / tests

Codex-reviewed: clean. node tests/js/highway_teaching_marks.test.js 7/7; both highways node --check clean.

Part of #334.

🤖 Generated with Claude Code

Post-merge review of #538 noted the fg finger numeral rendered unconditionally on
both highways and couldn't be turned off — only sd/ch sat behind the (default-off)
teaching-marks toggle. A user who finds per-note numerals busy had no way to
declutter.

Add a SEPARATE finger-hints gate that keeps fg shown by default but makes it
hideable, independent of the sd/ch opt-in (so the two defaults — fg on, sd/ch off —
coexist; a single boolean can't express that):

- 2D static/highway.js: _showFingerHints (localStorage 'showFingerHints' !==
  'false', i.e. default on), a fingerHintsVisible bundle flag, and
  get/toggle/setFingerHintsVisible API; gates the fg label.
- 3D plugins/highway_3d/screen.js: mirrors via bundle.fingerHintsVisible !== false
  (default on); gates the fg sprite. sd/ch unchanged.

Default-on preserved (absent localStorage / absent bundle flag => shown); only an
explicit false hides fg. Codex-reviewed: clean. Render test 7/7.

Part of #334.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@byrongamatos
byrongamatos merged commit f182bd0 into main Jun 21, 2026
0 of 3 checks passed
@byrongamatos
byrongamatos deleted the fix/finger-hints-toggle branch June 21, 2026 06:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant