mirror of
https://github.com/OFFIS-ESC/constellation-analyzer
synced 2026-03-13 20:18:47 +00:00
Implements visual grouping of actors with context menu operations, resizable containers, and complete history tracking integration. Features: - Create groups from multiple selected actors via context menu - Groups visualized as resizable containers with child nodes - Ungroup actors (non-destructive) or delete group with actors - Right-click context menu with group-specific operations - Dedicated GroupEditorPanel for group properties - Smart minimum size constraint based on child node positions - Full undo/redo support for group operations and resizes Technical Implementation: - GroupNode component with React Flow NodeResizer integration - Atomic createGroupWithActors operation for consistent history - Parent-child relationship using React Flow v11 parentId pattern - Groups stored separately from actors in graphStore - Fixed history tracking to sync graphStore before snapshots - Resize tracking to prevent state sync loops during interaction - Dynamic minimum dimensions to keep children inside bounds - Sanitization of orphaned parentId references on state load History Fixes: - pushToHistory now syncs timeline with graphStore before snapshot - Prevents missing groups/nodes in history states - Ensures undo/redo correctly restores all graph elements - Atomic state updates to avoid React Flow processing stale state Storage & Persistence: - Groups saved in timeline states and document structure - Safe JSON serialization to prevent prototype pollution - Cleanup utilities for removing __proto__ from localStorage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| index.css | ||