The layer-tree sidebar attached to the bottom-left of the editor. Renders the node hierarchy and lets users select, reorder, hide, lock, and rename nodes.
The layer-tree sidebar attached to the bottom-left of the editor. Renders the node hierarchy and lets users select, reorder, hide, lock, and rename nodes.
Layers.tsx — entry componentLayerNode.tsx — single row (icon, name, drag handle, visibility/lock toggles)LayerHeader.tsx — header (search, expand-all, collapse-all)LayerManager.tsx — drag-drop coordination across the treesiblingMoveOps.ts — sibling reorder mathhooks/ — selection sync, expand state, drag stateSidebarLayersPanelAtom — open/closed (persisted via phStorage)LayersDialogOpenAtom — pop-out modalphStorage["sidebar-layers-height"] — resized height (drag-resizable, 120–60vh)LayerManager coordinates with the canvas drag engine for cross-target drops.actions.selectNode(id); clicking on the canvas highlights the matching row.node.data.hidden / custom).