Skip to content

feat(gui): visual block groups with nested navigation and boundary wiring#42

Merged
AlessandriniAntoine merged 42 commits into
AlessandriniAntoine:mainfrom
LukasikMaxence:main
Jun 26, 2026
Merged

feat(gui): visual block groups with nested navigation and boundary wiring#42
AlessandriniAntoine merged 42 commits into
AlessandriniAntoine:mainfrom
LukasikMaxence:main

Conversation

@LukasikMaxence

Copy link
Copy Markdown
Contributor

Summary

Introduce visual block groups in the diagram editor: containers that organize the GUI without changing the simulation graph (diagram blocks/connections stay unchanged).

  • Group / ungroup selected blocks and nested sub-groups (Ctrl+Shift+G / Ctrl+Shift+U)
  • Navigate into groups (double-click) with breadcrumb bar: member layouts saved per view level
  • Auto boundaries derived from wires crossing group borders:manual In/Out proxies for partial wiring
  • Partial boundary wiring: delete/reconnect one side at a time with dashed --- wires; undo/redo throughout
  • Nested groups (parent/child hierarchy), cross-group connections, proxies for child boundaries inside parent view
  • Ctrl+R flips group rectangle and In/Out proxy display without rotating member blocks
  • Copy/paste of blocks, nested groups, and manual In/Out proxies
  • Persistence under gui.groups in project.yaml (simulation export unchanged)
  • Example examples/basics/nested_groups (ControlLoop with Regulator / Plant)
  • Gui tests dedicated to groups

Wire routing fixes

  • Manual routes preserved when moving blocks at the same view level
  • Manual routes recomputed when entering another group view or when anchor redirection changes
  • Dashed boundary wires follow group/proxy/block moves
  • Undo of connection delete no longer duplicates Out proxies

Also included

  • Preserve per-panel series styles when enlarging manual plot preview
  • Preserve manual plot zoom when switching active panel

@AlessandriniAntoine AlessandriniAntoine merged commit 0aafe72 into AlessandriniAntoine:main Jun 26, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants