Skip to content

M164:Workspace selector and composition switching#194

Merged
Coasterpete merged 1 commit into
mainfrom
milestone/m164-workspace-selector
Jul 20, 2026
Merged

M164:Workspace selector and composition switching#194
Coasterpete merged 1 commit into
mainfrom
milestone/m164-workspace-selector

Conversation

@Coasterpete

Copy link
Copy Markdown
Owner

Summary

Introduces workspace selection and registry-driven workspace composition to the Avalonia editor shell.

Track remains the only functional workspace while Train, Supports, Terrain, and Simulation are exposed as disabled "Coming Soon" entries. Docking composition, pane registration, and layout persistence are now owned by workspace profiles instead of being hardcoded to Track.

Highlights

  • Added a toolbar Workspace selector.
  • Added visible placeholder entries for:
    • Track
    • Train (Coming Soon)
    • Supports (Coming Soon)
    • Terrain (Coming Soon)
    • Simulation (Coming Soon)
  • Refactored docking compositions to be profile-owned and registry-driven.
  • Preserved the existing Track workspace layout.
  • Added per-workspace layout persistence and session layout caching.
  • Updated View > Panes to populate from the active workspace composition.
  • Added selector, registration, activation, placeholder, composition lookup, and Track composition tests.
  • Added milestone documentation.

Architecture

  • Workspace composition is now provided by each WorkspaceProfile.
  • The editor shell no longer contains Track-specific docking construction.
  • New workspaces can be registered through the workspace catalog without introducing workspace-specific switch statements.
  • Layout persistence is namespaced by workspace identifier while preserving the existing Track layout file.

Preserved Behavior

  • Existing Track documents remain open.
  • Track authoring workflow is unchanged.
  • Engineering calculations are unchanged.
  • Undo/redo behavior is unchanged.
  • Existing Track layout persistence continues to work.
  • No backend projects or contracts were modified.

Validation

  • ✅ Release build succeeded with 0 warnings.
  • 1,800 tests passed.
  • ✅ Existing editor behavior preserved.
  • ✅ Workspace switching architecture implemented without backend changes.

@Coasterpete
Coasterpete merged commit 4d46685 into main Jul 20, 2026
1 check passed
@Coasterpete
Coasterpete deleted the milestone/m164-workspace-selector branch July 20, 2026 01:42
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.

1 participant