Releases: DevGeniusCode/GenWND
Releases · DevGeniusCode/GenWND
GenWND v2.7.1 - The "Power User" Experience Update
✨ Added
- Shortcut HUD: A new, non-intrusive visual overlay on the canvas that displays essential shortcuts (Nudge, Axis Lock, Zoom) for a faster learning curve.
- Canvas Screenshot Export: Dedicated toolbar action to capture and save the current visual preview as a high-quality image file.
- Object Name Labels Toggle: Added a "Clean View" mode to toggle the visibility of element names on the canvas, allowing for a distraction-free design environment.
- Build Documentation: Added comprehensive instructions for compiling the project into a standalone executable using
PyInstaller.
🐛 Fixed
- Extended List Support: Refactored the Property Editor to enalbe massive list like list of map (up to 1200 entries in
LISTBOXDATA). - Cold-Start Selection Sync: Fixed a critical initialization bug where the canvas and object tree wouldn't sync immediately after loading a file.
- Smart Tree Restoration: Upgraded the tree state logic. The editor now uses UUID sets to perfectly restore expanded/collapsed folders after any data refresh.
- Centralized Nudge Control: Re-engineered the arrow-key handling to ensure consistent 1px/10px nudging regardless of which UI element currently has focus.
- Axis Lock Precision: Refined the Shift+Drag constraint logic for pixel-perfect horizontal and vertical alignment.
GenWND v2.6.0 - Core Stability
GenWND v2.6.0 - Core Stability & Validation Update
✨ Added
- Element Naming Constraints: Implemented strict validation for window element names. The editor now ensures all element names begin with the root filename, are under 64 characters in length, and remain absolutely unique across the entire WND structure.
- Hierarchy Export Tool: Added a new intenal tool to export the WND hierarchy, complete with robust CLI error handling for external integrations.
🐛 Fixed
- Cross-File Undo Stack Bleed (Critical): Fixed a severe state-sync issue where the
QUndoStackpersisted between files. Loading a new.wndfile now cleanly flushes the stack, preventing accidental data corruption from previous sessions. - Invalid USER Control Defaults: Corrected the default creation factory for
USERcontrols. TheSTATUSandSTYLEtypes are now correctly generated, preventing invalid "char-joined" outputs in the raw data. - Missing SCROLLLISTBOX Properties: Fixed the internal data schema to explicitly include the
SCROLLIFATENDattribute withinLISTBOXDATAand ensuring its presence when working withSCROLLLISTBOXelements. - Empty Template Pollution: Fixed a parser/writer bug where an empty
HEADERTEMPLATEwould be unnecessarily included in the final file output.
♻️ Changed
- Enhanced Data Validation: Upgraded the internal error handling mechanisms, specifically adding stronger validation checks for font assignments and bounding rectangle dimensions to prevent silent failures.
GenWND v2.5.0 - Multi-Selection & Widescreen
✨ Added
- Bidirectional Multi-Selection: Implemented robust two-way multi-selection synchronization between the
QGraphicsViewCanvas and theQTreeViewObject Tree. - Multi-Object Drag & Drop: Enabled dragging and dropping multiple selected items simultaneously within the Object Tree model.
- Undo Macros for Bulk Actions: Deleting multiple items via the context menu is now wrapped in a
QUndoStackmacro, allowing a single Undo/Redo action for bulk deletions. - 16:9 Widescreen Preview: Added a visual toggle to the Canvas toolbar that applies an anamorphic scaling transform to the
QGraphicsView. This simulates how the UI stretches on modern 16:9 monitors without modifying the underlying absolute data coordinates in the WND dictionary.
🐛 Fixed
- Tree State Preservation: Implemented a state preservation mechanism. The Object Tree now successfully retains its vertical scroll position, expanded node states, and active selections after a data model refresh/reload.
- Visibility Toggle Persistence: Fixed an issue where the
is_hidden(eye icon) visual state would reset in the tree upon reloading. The visibility state is now properly bound to the central WND dictionary object as the source of truth.
♻️ Changed
- Undo Stack Architecture: Centralized the
QUndoStackinstantiation and management within theMainWindowclass for cleaner access across all child UI components.
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.
v1.0.1
Release version 1.0.1