GenWND v2.0.0 - Canvas
🎨 Visual Canvas Features (GenWND)
Core Interaction & UX
- WYSIWYG Direct Manipulation: Select, drag, and freely position UI elements directly on the visual canvas.
- Advanced Group Operations: Multi-select items to automatically generate a unified bounding box overlay, allowing for proportional scaling and bulk moving of grouped elements.
- Smart Navigation: Precision zoom capabilities using
Ctrl + Mouse Wheel, perfectly anchored to the mouse cursor while preserving standard trackpad/mouse scrolling behaviors. - Foreground Grid Overlay: A toggleable visual grid system to assist with pixel-perfect placement and alignment.
Layout & Alignment Tools
- Comprehensive Alignment: Dedicated toolbar actions to quickly align multiple selected objects (Align Left, Right, Top, Bottom, Horizontal Center, Vertical Center).
- Even Distribution: Tools to perfectly distribute space horizontally or vertically between three or more selected items.
- Boundary Extension (Match Bounds): Specialized tools to extend the dimensions of selected items to match the furthest edges (Extend Left, Right, Top, Bottom) of the group.
Architecture & Stability
- Two-Way Data Synchronization: Canvas interactions instantly and silently update the central data dictionary and Object Tree without requiring heavy, performance-draining full-scene redraws.
- Memory-Safe Undo/Redo Integration: Canvas movements and resizes (including bulk macro operations) are securely hooked into the
QUndoStack. Safely adds, removes, or restores elements without triggering C++ Garbage Collection Segfaults. - Flawless Coordinate Mapping: Custom event handlers ensure that item grabbing and dragging remains 100% accurate, completely eliminating "jumping" bugs regardless of the current zoom level or viewport scroll state.
- Automatic Z-Depth Rendering: The canvas intelligently calculates the correct visual hierarchy, rendering nested children and parent containers at the appropriate Z-index depth based on the WND tree structure.