Skip to content

GenWND v2.0.0 - Canvas

Choose a tag to compare

@DevGeniusCode DevGeniusCode released this 04 Apr 10:52
· 24 commits to master since this release

🎨 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.