Asset-Frameworker/.lh/Tickets/FEAT-009-gui-unify-preset-selection.md.json
2025-04-29 18:26:13 +02:00

22 lines
5.7 KiB
JSON

{
"sourceFile": "Tickets/FEAT-009-gui-unify-preset-selection.md",
"activeCommit": 0,
"commits": [
{
"activePatchIndex": 1,
"patches": [
{
"date": 1745326044000,
"content": "Index: \n===================================================================\n--- \n+++ \n"
},
{
"date": 1745326465662,
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,7 @@\n # FEAT-009: GUI - Unify Preset Editor Selection and Processing Preset\r\n \r\n-**Status:** Open\r\n+**Status:** Resolved\r\n **Priority:** Medium\r\n **Assigned:** TBD\r\n **Reporter:** Roo (Architect Mode)\r\n **Date:** 2025-04-22\r\n"
}
],
"date": 1745326044000,
"name": "Commit-0",
"content": "# FEAT-009: GUI - Unify Preset Editor Selection and Processing Preset\r\n\r\n**Status:** Open\r\n**Priority:** Medium\r\n**Assigned:** TBD\r\n**Reporter:** Roo (Architect Mode)\r\n**Date:** 2025-04-22\r\n\r\n## Description\r\n\r\nThis ticket proposes a GUI modification to streamline the preset handling workflow by unifying the preset selection mechanism. Currently, the preset selected for editing in the left panel can be different from the preset selected for processing/previewing in the right panel. This change aims to eliminate this duality, making the preset loaded in the editor the single source of truth for both editing and processing actions.\r\n\r\n## Current Behavior\r\n\r\n1. **Preset Editor Panel (Left):** Users select a preset from the 'Preset List'. This action loads the selected preset's details into the 'Preset Editor Tabs' for viewing or modification (See `readme.md` lines 257-260).\r\n2. **Processing Panel (Right):** A separate 'Preset Selector' dropdown exists. Users select a preset from this dropdown *specifically* for processing the queued assets and generating the file preview in the 'Preview Table' (See `readme.md` lines 262, 266).\r\n3. This allows for a scenario where the preset being edited is different from the preset used for previewing and processing, potentially causing confusion.\r\n\r\n## Proposed Behavior\r\n\r\n1. **Unified Selection:** Selecting a preset from the 'Preset List' in the left panel will immediately make it the active preset for *both* editing (loading its details into the 'Preset Editor Tabs') *and* processing/previewing.\r\n2. **Dropdown Removal:** The separate 'Preset Selector' dropdown in the right 'Processing Panel' will be removed.\r\n3. **Dynamic Updates:** The 'Preview Table' in the right panel will dynamically update based on the preset selected in the left panel's 'Preset List'.\r\n4. **Processing Logic:** The 'Start Processing' action will use the currently active preset (selected from the left panel's list).\r\n\r\n## Rationale\r\n\r\n* **Improved User Experience:** Simplifies the UI by removing a redundant control and creates a more intuitive workflow.\r\n* **Reduced Complexity:** Eliminates the need to manage two separate preset states (editing vs. processing).\r\n* **Consistency:** Ensures that the preview and processing actions always reflect the preset currently being viewed/edited.\r\n\r\n## Implementation Notes/Tasks\r\n\r\n* **UI Modification (`gui/main_window.py`):**\r\n * Remove the `QComboBox` (or similar widget) used for the 'Preset Selector' from the right 'Processing Panel' layout.\r\n* **Signal/Slot Connection (`gui/main_window.py`):**\r\n * Ensure the signal emitted when a preset is selected in the left panel's 'Preset List' (`QListWidget` or similar) is connected to slots responsible for:\r\n * Loading the preset into the editor tabs.\r\n * Updating the application's state to reflect the new active preset for processing.\r\n * Triggering an update of the 'Preview Table'.\r\n* **State Management:**\r\n * Modify how the currently active preset for processing is stored and accessed. It should now directly reference the preset selected in the left panel list.\r\n* **Handler Updates (`gui/prediction_handler.py`, `gui/processing_handler.py`):**\r\n * Ensure these handlers correctly retrieve and use the single, unified active preset state when generating previews or initiating processing.\r\n\r\n## Acceptance Criteria\r\n\r\n1. The 'Preset Selector' dropdown is no longer visible in the right 'Processing Panel'.\r\n2. Selecting a preset in the 'Preset List' (left panel) successfully loads its details into the 'Preset Editor Tabs'.\r\n3. Selecting a preset in the 'Preset List' (left panel) updates the 'Preview Table' (right panel) to reflect the rules of the newly selected preset.\r\n4. Initiating processing via the 'Start Processing' button uses the preset currently selected in the 'Preset List' (left panel).\r\n5. The application remains stable and performs processing correctly with the unified preset selection.\r\n\r\n## Workflow Diagram (Mermaid)\r\n\r\n```mermaid\r\ngraph TD\r\n subgraph \"Current GUI\"\r\n A[Preset List (Left Panel)] -- Selects --> B(Preset Editor Tabs);\r\n C[Preset Selector Dropdown (Right Panel)] -- Selects --> D(Active Processing Preset);\r\n D -- Affects --> E(Preview Table);\r\n D -- Used by --> F(Processing Logic);\r\n end\r\n\r\n subgraph \"Proposed GUI\"\r\n G[Preset List (Left Panel)] -- Selects --> H(Preset Editor Tabs);\r\n G -- Also Sets --> I(Active Preset for Editing & Processing);\r\n I -- Affects --> J(Preview Table);\r\n I -- Used by --> K(Processing Logic);\r\n L(Preset Selector Dropdown Removed);\r\n end\r\n\r\n A --> G;\r\n B --> H;\r\n E --> J;\r\n F --> K;"
}
]
}