chore(conductor): Add new track 'Advanced Workspace Docking & Layout Profiles'

This commit is contained in:
2026-03-10 00:12:10 -04:00
parent f501158574
commit ee15d8f132
5 changed files with 73 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
# Implementation Plan: Advanced Workspace Docking & Layout Profiles
## Phase 1: Data Model & Persistence Engine
- [ ] Task: Create a `WorkspaceProfile` dataclass in `src/models.py` to store INI string, `show_windows` dict, and panel states.
- [ ] Task: Implement `WorkspaceManager` (similar to `PresetManager`) to handle saving/loading profiles from `config.toml` and `project.toml`.
- [ ] Task: Write Tests: Verify the manager correctly merges global and project profiles and serializes the ImGui INI string properly.
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Data Model & Persistence Engine' (Protocol in workflow.md)
## Phase 2: ImGui State Extraction & Restoration
- [ ] Task: Implement methods in `src/gui_2.py` (or a helper module) to safely capture the current ImGui layout (`imgui.save_ini_settings_to_memory()`).
- [ ] Task: Implement methods to safely restore layout (`imgui.load_ini_settings_from_memory()`) and apply the associated `show_windows` state.
- [ ] Task: Write Tests: Verify using `live_gui` that saving a layout and loading it back does not cause crashes or assertion failures in the ImGui render loop.
- [ ] Task: Conductor - User Manual Verification 'Phase 2: ImGui State Extraction & Restoration' (Protocol in workflow.md)
## Phase 3: GUI Menu Integration
- [ ] Task: Add a "Layout Profiles" menu under the main "Windows" or "View" menu bar in `src/gui_2.py`.
- [ ] Task: Implement "Save Current Layout" modal (prompting for name and scope: Global/Project).
- [ ] Task: Populate the menu with a dynamically generated list of available profiles to load.
- [ ] Task: Conductor - User Manual Verification 'Phase 3: GUI Menu Integration' (Protocol in workflow.md)
## Phase 4: Contextual Auto-Switch (Experimental)
- [ ] Task: Add UI in "AI Settings" or "Operations Hub" to enable "Experimental: Auto-switch layout by Tier".
- [ ] Task: Add UI to bind specific profiles to Tiers 1 through 4.
- [ ] Task: Implement the event hook in `AppController` so that when the `active_tier` changes, the bound profile is automatically loaded if the feature is enabled.
- [ ] Task: Conductor - User Manual Verification 'Phase 4: Contextual Auto-Switch (Experimental)' (Protocol in workflow.md)