Replit· 13 JulLeaky UIs
Replit explains why it is moving from a binary tree to an n-ary tree for its tiled layout system.
Replit's workspace layout system uses a binary tree data structure, which causes unintuitive resizing behavior when panes are grouped.
The company plans to switch to an n-ary tree, where panes that appear side-by-side are siblings, making resizing affect only the directly adjacent panes.
From the source
The best way about this is to represent things the way users see them, in this case, an n-ary tree is the way to go. n-ary trees have a list of children instead of only 2 (left and right). In the A, B, C example, we can represent all of the panes as siblings in the data structure ( [A,B,C] ). It's much easier to translate that into a layout that behaves in the way we expect. If the user moves the resizer between A and B, we must only resize the direct siblings; nothing else is affected.
replit.com