Yeah, I see your point. You want same alterations on different Roman numerals to look the same. (In my current system b9 over I and b9 over V look different.)
I briefly explored this appoach:
https://rawl.vercel.app/edit?a=beethoven_op10no1mov1
(Although it was a mess.)
In current Rawl terms I call it "annotate modulation at every chord".
Back in the days I thought it's better.
It turned out that:
- You need to do tedious annotation. So you can only work with classical repertoire datasets like https://github.com/MarkGotham/When-in-Rome
- Worse even, you need to look at two places simultaneously: to the score and to the string of Roman numerals
- And worse still, all chords then look the same. The score itself becomes bland. Most of the time, if you aren't deep inside the jazz repertoire, there isn't that many alterations. So you'd mostly see the same four colors - root, minor third, major third, perfect fifth.
- And, as evident in Mozart-Beethoven repertoire, you need to decide what to do with fully diminished chords. Because they sorta don't have a root, acoustically.