One voicing, two chords
A chord here isn’t a special “chord” object — it’s an ordinary line of numbers used as a voicing:
# lines/triad — stack these scale-steps onto each note
1 3 5
Applied to a root note, 1 3 5 stacks the 1st, 3rd, and 5th scale-steps
into a triad. The chord’s quality is stored nowhere — it falls out of
the scale you read it against:
# major triad | # minor triad
scale: major | scale: minor
voicing_line: triad | voicing_line: triad
Same 1 3 5, same root. In major you get C–E–G; in minor, C–E♭–G.
The middle note moves a semitone and the mood flips — but the data didn’t
change at all. Only the context did.
That’s the whole thesis in one knob: the matrix is constant, the projection (here, the scale) is what produces the sound.