Determine if a chord encoding matches the target scale at the modal distance from the root.
Gates on _root_is_diatonic first (if root not in scale → false immediately). Only then strips the scale to align with the chord encoding.
Note value string ("C", "Ab", …)
Scale name string ("Major", "Minor", "HarmonicMinor")
Parsed ChordModel
Determine if a chord encoding matches the target scale at the modal distance from the root.
Gates on _root_is_diatonic first (if root not in scale → false immediately). Only then strips the scale to align with the chord encoding.