В PlayCanvas редакторе сделал уже не помню как :D
Но вот скрин и исходники.
https://playcanvas.com/editor/scene/js/ui/tree.js
https://playcanvas.com/editor/scene/js/ui/tree-item.js
tree наследует ContainerElement
https://playcanvas.com/editor/scene/...ner-element.js
tree-item наследет Element
https://playcanvas.com/editor/scene/js/ui/element.js
Короче, создаю элементы постоянно, присваиваю им события, обрабатываю, и манипулирую элемент сам.
Также там не мало CSS'а что-бы сделать полоски и визуализацию дерева. Все полосочки кстати полностью на CSS, что очень упрощает рендер. Можешь в PlayCanvas редактор открыть, и подсмотреть испектором как там CSS написан.