Skip to content

fix: skip capitalization for minor tetrad symbols (m7, mMaj7) - #125

Closed
privera-git wants to merge 1 commit into
mainfrom
fix/tetrad-minor-symbol-capitalization
Closed

privera-git wants to merge 1 commit into
mainfrom
fix/tetrad-minor-symbol-capitalization

Conversation

@privera-git

Copy link
Copy Markdown
Owner

Summary

  • Minor tetrad symbols m7/mMaj7 were rendering as M7/MΔ7 because FreePlayPicker.vue, IdleView.vue, and TheoryModal.vue blindly capitalized the first letter of quality labels, corrupting the minor/major distinction.
  • Adds isMinorSymbolLabel() in src/music/display.ts to distinguish raw notation symbols where case is semantically load-bearing from word-phrase labels (e.g. major triad), and gates each component's capitalize mechanism (CSS text-transform or JS capitalize()) on it.
  • IdleView.vue also stopped leaking the raw ChordQuality key directly into the template and now calls formatQualityLabel().

Fixes #116

Test plan

  • npm run lint
  • npm run test:unit -- --run (469 tests passed, including new cases for isMinorSymbolLabel and each affected component)
  • npm run build
  • Manually verified in the browser: Free Play → Tetrads and Learn mode both show m7/mΔ7 correctly

Adds isMinorSymbolLabel() to distinguish notation symbols where case is
semantically load-bearing from word-phrase labels, and gates the
capitalize transform in FreePlayPicker, IdleView, and TheoryModal so
m7/mMaj7 no longer render as M7/MΔ7. Also fixes IdleView leaking the
raw ChordQuality key instead of the formatted label.

Fixes #116
@privera-git

Copy link
Copy Markdown
Owner Author

Closing without merging — this fixes the same bug as #116, but #116 was already resolved on main via a different implementation (PR #131, and its follow-up #132 for IdleView.vue), using formatQualityLabel/isChordSymbolQuality in src/music/display.ts instead of this PR's isMinorSymbolLabel. Merging this branch now would reintroduce duplicated/divergent logic over an already-fixed bug.

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.

fix: minor tetrad symbols render as capital M (m7 -> M7, mMaj7 -> MΔ7)

1 participant