Maybe someone has already implemented this?
Wow! I’ve been working on something like this for a while. But, I wouldn’t even begin to know how it could be implemented into obsidian though. I’ll be sure to look into it.