A post-modern development environment.

filetree: Drag-and-drop entry moves master

Press and hold on a row, drag onto a directory (or a file row that resolves to its parent dir), release to `std::fs::rename`. The dragged source row is dimmed during the gesture and the drop target is highlighted, with files-row-resolves-to-parent-dir for the "drop onto a file to land in its directory" UX. Drag, click, and resize gestures cluster cleanly enough at this point to earn a `gestures` submodule: `DragState` and the typed outcomes `ClickOutcome` / `MoveValidity` live there alongside the pure helpers (`classify_click`, `compute_resize_width`, `validate_move`, `resolve_drop_target`) so the boundary cases are unit-tested without faking a `Context`.


Author Isaac Corbrey Date Commit b3c8ecbf Parent e9e200e1 Change ID oruzvvmo
+914 -273
2 changed files