verstak/cmd/verstak-gui/frontend-dist
mirivlad 23b3d07071 fix: tree DnD — correct cycle detection, reactive indicators, canonical reload
Backend:
- Fix MoveNode validation: wouldCreateCycle walks from newParentID up
  toward root, rejects if nodeID is encountered (parent into descendant)
- Allow moving descendant to ancestor (C into A) and child to root
- Add isContainerType validation for new parent
- Add 8 tests covering all scenarios + duplicate ID invariant

Frontend TreeNode.svelte:
- Build parent map from full tree (not just loaded children)
- canDrop uses parent map for cycle detection
- Reactive drop-valid/drop-invalid CSS via pre-computed dropAllowed map
- Keyed {#each nodes as node (node.id)} for correct identity tracking
- Auto-expand container on 600ms drag-over hover
- Proper dragleave detection (ignore transitions to child elements)
- Clean up state on dragend

Frontend App.svelte:
- reloadTreePreservingExpanded: fresh roots + children (no patching)
- Root area visual drop indicator (dashed outline)
- dragleave handler for root area

Clean up stale GUI dist assets
2026-06-03 05:27:20 +08:00
..
assets fix: tree DnD — correct cycle detection, reactive indicators, canonical reload 2026-06-03 05:27:20 +08:00
Inter-Medium.ttf gui: port frontend to Wails v2 2026-05-31 19:39:49 +08:00
index.html fix: tree DnD — correct cycle detection, reactive indicators, canonical reload 2026-06-03 05:27:20 +08:00
svelte.svg gui: port frontend to Wails v2 2026-05-31 19:39:49 +08:00
wails.png gui: port frontend to Wails v2 2026-05-31 19:39:49 +08:00