mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 17:56:50 -06:00
Nothing could be undocked: the dock's tabs only switched panels, the icon column only popped its panels out next to it, and only tool flyouts (#437) could float. - A dock tab, a panel icon or a popped-out panel's title dragged out of the dock floats that panel inside the app window; the strip right of the dock's tabs floats the whole Properties | Layers | Libraries group. - A floating group moves by its title bar (or the strip right of its tabs); a tab dragged out of it floats on its own; dropped on another group's title bar or tabs it stacks with that group; dropped on the dock, which lights up under the pointer, its panels go back where they live in the dock (tabbed group or icon column). Its x does the same. - The Tools panel floats by its title bar or grip and docks again on the window's left edge, which lights up the same way. - window.panel.float {panel, x?, y?, onto?, group?} and window.panel.dock {panel, group?} (panel "tools" for the Tools panel) for the control channel and MCP; every panel menu ends with Float Panel / Dock Panel; window.panel on a floating panel shows its tab. - Floating groups and the Tools panel's position are kept with the preferences and in user workspaces (built-ins dock everything), sanitized on load, and clamped into a smaller window when drawn. - One move state in egui temp memory drives every drag, so a tab torn off keeps following the pointer; per frame the work is a lookup per panel. - Icon buttons can be drawn for a caller's response (paint_icon_button), so the column's icons keep their ids when one above them floats. - Translations (ja, es, zh-hans, zh-hant; cs and pt-br for the commands), es @msg rows, docs/control-protocol.md and ROADMAP. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>