Part of EPIC #193. Depends on #201.
Description
Add a dynamic list of open project windows to CommandGroup(after: .windowList), sourced from AppFeature.State.windows. Clicking an entry dispatches openWindow(value: projectID), which SwiftUI resolves to the existing window.
Acceptance Criteria
Module / Layer
Relay / RelayApp commands
Complexity
Medium
Part of EPIC #193. Depends on #201.
Description
Add a dynamic list of open project windows to
CommandGroup(after: .windowList), sourced fromAppFeature.State.windows. Clicking an entry dispatchesopenWindow(value: projectID), which SwiftUI resolves to the existing window.Acceptance Criteria
Module / Layer
Relay / RelayApp commands
Complexity
Medium