I’ve tried simply inspecting google docs html and their positioning of elements is extensively customized.
I was excited to see the recent prosemirror flat list implementation, which is one part of what Google Docs does: ProseMirror Flat list (Alpha) - #5 by Saul-Mirone
This better sets up the editor to be lazily rendered (occlusion culling, better support for real time editing), in a way that gets around limitations of DOM hierarchies. I havent inspected how they implement tables, but I imagine something similar for rows or possibly not necessary?
@jair, If the resolved position is within a row, then it seems like simply programatically moving that to the start / end of a row would alleviate this particular problem (of many.) This would then necessitate creating a virtual table wrapper if a table is split. Tables not being split at all is probably a fine place to start.
I absolutely agree there are a lot of edge cases to think through to get this working well.