chore(conductor): Add new track 'Advanced Workspace Docking & Layout Profiles'
This commit is contained in:
31
conductor/tracks/workspace_profiles_20260310/spec.md
Normal file
31
conductor/tracks/workspace_profiles_20260310/spec.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Specification: Advanced Workspace Docking & Layout Profiles
|
||||
|
||||
## Overview
|
||||
Expand the existing GUI window management to support named "Workspace Profiles." This will allow users to save, manage, and instantly switch between complex multi-window, multi-viewport docking arrangements.
|
||||
|
||||
## Functional Requirements
|
||||
- **Comprehensive State Capture:**
|
||||
- A Workspace Profile must capture:
|
||||
- ImGui layout data (positions, sizes, docking nodes) usually stored in `imgui.ini`.
|
||||
- Window visibility toggles (the `show_windows` dict and popout panel booleans).
|
||||
- Relevant internal panel state (e.g., active tabs, split sizes if applicable).
|
||||
- **Storage & Scope:**
|
||||
- Profiles follow a **Global + Project** inheritance model (similar to prompt presets). Global profiles are stored in `config.toml`, while project-specific profiles are stored in `manual_slop.toml` and can override global ones.
|
||||
- The system starts blank (no pre-loaded templates).
|
||||
- **Trigger Mechanisms:**
|
||||
- **Manual Menu:** A dedicated "Layout Profiles" sub-menu in the main menu bar (under "Windows" or "View") to save, load, and manage profiles.
|
||||
- **Contextual Auto-Switch (Experimental):** An opt-in setting that automatically switches to a designated profile based on the active MMA Tier or task context (e.g., switching to a "QA" layout when a Tier 4 worker spawns).
|
||||
|
||||
## Non-Functional Requirements
|
||||
- **ImGui INI Management:** Safely loading and saving raw ImGui INI strings using `imgui.load_ini_settings_from_memory` and `imgui.save_ini_settings_to_memory` without corrupting the active render frame.
|
||||
- **Graceful Fallback:** If a profile references a window that no longer exists, the layout engine should recover gracefully without crashing.
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] A user can arrange windows, dock them, and save the current state as a named Workspace Profile.
|
||||
- [ ] Selecting a saved profile instantly re-arranges windows, updates visibility toggles, and restores internal tab states.
|
||||
- [ ] Profiles can be scoped globally or to a specific project.
|
||||
- [ ] An experimental toggle allows binding profiles to specific MMA Tiers for automatic switching.
|
||||
|
||||
## Out of Scope
|
||||
- Creating default templates (users will build their own).
|
||||
- Synchronizing layouts across different monitor resolutions (ImGui docking handles this best-effort, but pixel-perfect restoration on different hardware is out of scope).
|
||||
Reference in New Issue
Block a user