Regarding rich text specifically, it’s terrible for a tool like Mastodon. It is meant to be quick and simple. Mastonaut’s HTML parser is 250 lines long including comments. Which means it can parse HTML on the fly. This provides for a great UX and quick scrolling.
I’ve implemented tools with rich text before. It’s ugly and slow. The text layout is expensive. It doesn’t provide the usefulness people think it will add.