Right now the WASM tcell.js is completely ignorant and treats every cell as it's own thing, with no knowledge of what is in the next cell over.
For the terminal based implementations we are very careful to avoid doing this, because it takes a long time to send that data. That can be the case for the web based situation as well. But all these spans also probably put a lot of extra work on the client to render this. There have been complaints about the web assembly being slow, and this is likely one significant contributor.
Right now the WASM tcell.js is completely ignorant and treats every cell as it's own thing, with no knowledge of what is in the next cell over.
For the terminal based implementations we are very careful to avoid doing this, because it takes a long time to send that data. That can be the case for the web based situation as well. But all these spans also probably put a lot of extra work on the client to render this. There have been complaints about the web assembly being slow, and this is likely one significant contributor.