From 03d81f61bee47b69888a8f034e791b85796f9647 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Wed, 11 Mar 2026 19:06:26 -0400 Subject: [PATCH] chore(conductor): Add new track 'UI/UX Improvements - Presets and AI Settings' --- conductor/tracks.md | 4 + .../presets_ai_settings_ux_20260311/index.md | 5 + .../metadata.json | 8 ++ .../presets_ai_settings_ux_20260311/plan.md | 33 +++++ .../presets_ai_settings_ux_20260311/spec.md | 35 +++++ config.toml | 6 +- manualslop_layout.ini | 130 +++++++++--------- tool_presets.toml | 72 +++++----- 8 files changed, 197 insertions(+), 96 deletions(-) create mode 100644 conductor/tracks/presets_ai_settings_ux_20260311/index.md create mode 100644 conductor/tracks/presets_ai_settings_ux_20260311/metadata.json create mode 100644 conductor/tracks/presets_ai_settings_ux_20260311/plan.md create mode 100644 conductor/tracks/presets_ai_settings_ux_20260311/spec.md diff --git a/conductor/tracks.md b/conductor/tracks.md index e98a5f2..dbba80c 100644 --- a/conductor/tracks.md +++ b/conductor/tracks.md @@ -61,6 +61,10 @@ This file tracks all major tracks for the project. Each track has its own detail 6. [ ] **Track: Custom Shader and Window Frame Support** *Link: [./tracks/custom_shaders_20260309/](./tracks/custom_shaders_20260309/)* +7. [ ] **Track: UI/UX Improvements - Presets and AI Settings** + *Link: [./tracks/presets_ai_settings_ux_20260311/](./tracks/presets_ai_settings_ux_20260311/)* + *Goal: Improve the layout, scaling, and control ergonomics of the Preset windows (Personas, Prompts, Tools) and AI Settings panel. Includes dual-control sliders and categorized tool management.* + --- ### Additional Language Support diff --git a/conductor/tracks/presets_ai_settings_ux_20260311/index.md b/conductor/tracks/presets_ai_settings_ux_20260311/index.md new file mode 100644 index 0000000..f621e5e --- /dev/null +++ b/conductor/tracks/presets_ai_settings_ux_20260311/index.md @@ -0,0 +1,5 @@ +# Track presets_ai_settings_ux_20260311 Context + +- [Specification](./spec.md) +- [Implementation Plan](./plan.md) +- [Metadata](./metadata.json) diff --git a/conductor/tracks/presets_ai_settings_ux_20260311/metadata.json b/conductor/tracks/presets_ai_settings_ux_20260311/metadata.json new file mode 100644 index 0000000..03b207d --- /dev/null +++ b/conductor/tracks/presets_ai_settings_ux_20260311/metadata.json @@ -0,0 +1,8 @@ +{ + "track_id": "presets_ai_settings_ux_20260311", + "type": "feature", + "status": "new", + "created_at": "2026-03-11T14:45:00Z", + "updated_at": "2026-03-11T14:45:00Z", + "description": "Read through ./docs, and ./src/gui_2.py, ./src/app_controller.py. I want todo various ux improvements to the preset windows (personas, prompts, and tools) and ai settings." +} diff --git a/conductor/tracks/presets_ai_settings_ux_20260311/plan.md b/conductor/tracks/presets_ai_settings_ux_20260311/plan.md new file mode 100644 index 0000000..345dad7 --- /dev/null +++ b/conductor/tracks/presets_ai_settings_ux_20260311/plan.md @@ -0,0 +1,33 @@ +# Implementation Plan: UI/UX Improvements - Presets and AI Settings + +This plan focuses on enhancing the layout, scaling, and control ergonomics of the Preset windows and AI Settings panel. + +## Phase 1: Research and Layout Audit +- [ ] Task: Audit `src/gui_2.py` and `src/app_controller.py` for current window resizing and scaling logic. +- [ ] Task: Identify specific UI sections in `Personas`, `Prompts`, `Tools`, and `AI Settings` windows that require padding and width adjustments. +- [ ] Task: Conductor - User Manual Verification 'Phase 1: Research and Layout Audit' (Protocol in workflow.md) + +## Phase 2: Preset Windows Layout & Scaling +- [ ] Task: Write tests to verify window layout stability and element visibility during simulated resizes. +- [ ] Task: Implement improved resize/scale policies for `Personas`, `Prompts`, and `Tools` windows. +- [ ] Task: Apply standardized padding and adjust input box widths across these windows. +- [ ] Task: Implement dual-control (Slider + Input Box) for any applicable parameters in these windows. +- [ ] Task: Conductor - User Manual Verification 'Phase 2: Preset Windows Layout & Scaling' (Protocol in workflow.md) + +## Phase 3: AI Settings Overhaul +- [ ] Task: Write tests for AI Settings panel interactions and visual state consistency. +- [ ] Task: Refactor AI Settings panel to use visual sliders/knobs for Temperature, Top-P, and Max Tokens. +- [ ] Task: Integrate corresponding numeric input boxes for all AI setting sliders. +- [ ] Task: Improve visual clarity of preferred model entries when collapsed. +- [ ] Task: Conductor - User Manual Verification 'Phase 3: AI Settings Overhaul' (Protocol in workflow.md) + +## Phase 4: Tool Management (MCP) Refinement +- [ ] Task: Write tests for tool list rendering and category filtering. +- [ ] Task: Update the tools section to display tool names before radio buttons with consistent spacing. +- [ ] Task: Implement a category-based grouping/filtering system for tools (File I/O, Web, System, etc.). +- [ ] Task: Conductor - User Manual Verification 'Phase 4: Tool Management (MCP) Refinement' (Protocol in workflow.md) + +## Phase 5: Final Integration and Verification +- [ ] Task: Perform a comprehensive UI audit across all modified windows to ensure visual consistency. +- [ ] Task: Run all automated tests and verify no regressions in GUI performance or functionality. +- [ ] Task: Conductor - User Manual Verification 'Phase 5: Final Integration and Verification' (Protocol in workflow.md) diff --git a/conductor/tracks/presets_ai_settings_ux_20260311/spec.md b/conductor/tracks/presets_ai_settings_ux_20260311/spec.md new file mode 100644 index 0000000..8073327 --- /dev/null +++ b/conductor/tracks/presets_ai_settings_ux_20260311/spec.md @@ -0,0 +1,35 @@ +# Specification: UI/UX Improvements - Presets and AI Settings + +## 1. Overview +This track aims to improve the usability and visual layout of the Preset windows (Personas, Prompts, Tools) and the AI Settings panel. Key improvements include better layout scaling, consistent input controls, and categorized tool management. + +## 2. Functional Requirements + +### 2.1 Preset Windows (Personas, Prompts, Tools) +- **Layout Scaling:** Implement improved resize and scaling policies for sub-panels and sections within each window to ensure they adapt well to different window sizes. +- **Section Padding:** Increase and standardize padding between UI elements for better visual separation. +- **Input Field Width:** Adjust the width of input boxes to provide adequate space for content while maintaining a balanced layout. +- **Dual-Control Sliders:** All sliders for model parameters (Temperature, Top-P, etc.) must have a corresponding numeric input box for direct value entry. + +### 2.2 AI Settings Panel +- **Visual Controls:** Implement visual sliders and knobs for key model parameters. +- **Collapsed View Clarity:** Improve the visual representation when a preferred model entry is collapsed, ensuring key information is still visible or the transition is intuitive. + +### 2.3 Tool Management (MCP) +- **Layout Refinement:** In the tools section, display the tool name first, followed by radio buttons with a small, consistent gap. +- **Categorization:** Introduce category-based filtering or grouping (e.g., File I/O, Web, System) for easier management of large toolsets. + +## 3. Non-Functional Requirements +- **Consistency:** UI patterns and spacing must be consistent across all modified windows. +- **Performance:** Ensure layout recalculations and rendering remain fluid during resizing. + +## 4. Acceptance Criteria +- [ ] Preset windows (Personas, Prompts, Tools) have improved scaling and spacing. +- [ ] All sliders in the modified panels have corresponding numeric input boxes. +- [ ] Tool names are displayed before radio buttons with consistent spacing. +- [ ] AI Settings panel features improved visual controls and collapsed states. +- [ ] Layout remains stable and usable across various window dimensions. + +## 5. Out of Scope +- Major functional changes to the AI logic or tool execution. +- Overhaul of the theme/color palette (unless required for clarity). diff --git a/config.toml b/config.toml index bae3b4d..8352bf3 100644 --- a/config.toml +++ b/config.toml @@ -50,16 +50,16 @@ separate_tier4 = false "Operations Hub" = true Message = false Response = false -"Tool Calls" = false +"Tool Calls" = true Theme = true "Log Management" = true -Diagnostics = false +Diagnostics = true [theme] palette = "Nord Dark" font_path = "C:/projects/manual_slop/assets/fonts/Inter-Regular.ttf" font_size = 14.0 -scale = 1.0099999904632568 +scale = 1.2999999523162842 transparency = 1.0 child_transparency = 1.0 diff --git a/manualslop_layout.ini b/manualslop_layout.ini index 09755d0..1e4f782 100644 --- a/manualslop_layout.ini +++ b/manualslop_layout.ini @@ -54,9 +54,10 @@ Size=1111,224 Collapsed=0 [Window][Tool Calls] -Pos=694,1182 -Size=913,631 +Pos=790,1483 +Size=876,654 Collapsed=0 +DockId=0x00000006,0 [Window][Comms History] ViewportPos=43,95 @@ -73,8 +74,8 @@ Collapsed=0 DockId=0xAFC85805,2 [Window][Theme] -Pos=0,1670 -Size=840,467 +Pos=0,1370 +Size=788,767 Collapsed=0 DockId=0x00000002,2 @@ -87,11 +88,11 @@ Collapsed=0 Pos=2641,22 Size=1199,2115 Collapsed=0 -DockId=0x0000000C,2 +DockId=0x00000010,2 [Window][Context Hub] -Pos=0,1670 -Size=840,467 +Pos=0,1370 +Size=788,767 Collapsed=0 DockId=0x00000002,1 @@ -102,26 +103,26 @@ Collapsed=0 DockId=0x0000000D,0 [Window][Discussion Hub] -Pos=1668,22 -Size=971,2115 +Pos=1668,26 +Size=971,2111 Collapsed=0 DockId=0x00000013,0 [Window][Operations Hub] -Pos=842,22 -Size=824,2115 +Pos=790,26 +Size=876,1455 Collapsed=0 -DockId=0x00000012,0 +DockId=0x00000005,0 [Window][Files & Media] -Pos=0,1670 -Size=840,467 +Pos=0,1370 +Size=788,767 Collapsed=0 DockId=0x00000002,0 [Window][AI Settings] -Pos=0,22 -Size=840,1646 +Pos=0,26 +Size=788,1342 Collapsed=0 DockId=0x00000001,0 @@ -131,16 +132,16 @@ Size=416,325 Collapsed=0 [Window][MMA Dashboard] -Pos=2641,22 -Size=1199,2115 +Pos=2641,26 +Size=1199,1689 Collapsed=0 -DockId=0x0000000C,0 +DockId=0x00000010,0 [Window][Log Management] -Pos=2641,22 -Size=1199,2115 +Pos=2641,26 +Size=1199,1689 Collapsed=0 -DockId=0x0000000C,1 +DockId=0x00000010,1 [Window][Track Proposal] Pos=709,326 @@ -151,25 +152,25 @@ Collapsed=0 Pos=2905,1238 Size=935,899 Collapsed=0 -DockId=0x0000000F,0 +DockId=0x00000004,0 [Window][Tier 2: Tech Lead] Pos=2905,1238 Size=935,899 Collapsed=0 -DockId=0x0000000F,0 +DockId=0x00000004,0 [Window][Tier 4: QA] Pos=2905,1238 Size=935,899 Collapsed=0 -DockId=0x0000000F,0 +DockId=0x00000004,0 [Window][Tier 3: Workers] -Pos=2641,1235 -Size=1199,902 +Pos=2641,1717 +Size=916,420 Collapsed=0 -DockId=0x0000000F,0 +DockId=0x0000000C,0 [Window][Approve PowerShell Command] Pos=649,435 @@ -322,28 +323,29 @@ Size=420,966 Collapsed=0 [Window][Preset Manager] -Pos=1693,826 -Size=933,839 +Pos=2239,1184 +Size=904,777 Collapsed=0 [Window][Task DAG] -Pos=1661,1181 -Size=1079,662 +Pos=1398,884 +Size=967,499 Collapsed=0 [Window][Usage Analytics] -Pos=1661,426 -Size=275,375 +Pos=3559,1717 +Size=281,420 Collapsed=0 +DockId=0x0000000F,0 [Window][Tool Preset Manager] -Pos=1014,522 -Size=1155,1011 +Pos=970,1111 +Size=1103,921 Collapsed=0 [Window][Persona Editor] -Pos=995,597 -Size=1868,1434 +Pos=889,365 +Size=1183,713 Collapsed=0 [Table][0xFB6E3870,4] @@ -393,18 +395,18 @@ Column 4 Weight=1.0000 Column 5 Width=50 [Table][0x3751446B,4] -RefScale=17 -Column 0 Width=51 -Column 1 Width=77 +RefScale=14 +Column 0 Width=42 +Column 1 Width=63 Column 2 Weight=1.0000 -Column 3 Width=128 +Column 3 Width=105 [Table][0x2C515046,4] -RefScale=14 -Column 0 Width=43 +RefScale=18 +Column 0 Width=55 Column 1 Weight=1.0000 -Column 2 Width=106 -Column 3 Width=42 +Column 2 Width=136 +Column 3 Width=54 [Table][0xD99F45C5,4] Column 0 Sort=0v @@ -431,22 +433,26 @@ Column 1 Width=105 Column 2 Weight=1.0000 [Docking][Data] -DockNode ID=0x00000008 Pos=3125,170 Size=593,1157 Split=Y - DockNode ID=0x00000009 Parent=0x00000008 SizeRef=1029,147 Selected=0x0469CA7A - DockNode ID=0x0000000A Parent=0x00000008 SizeRef=1029,145 Selected=0xDF822E02 -DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,22 Size=3840,2115 Split=X - DockNode ID=0x00000003 Parent=0xAFC85805 SizeRef=2639,1183 Split=X - DockNode ID=0x0000000B Parent=0x00000003 SizeRef=404,1186 Split=X Selected=0xF4139CA2 - DockNode ID=0x00000007 Parent=0x0000000B SizeRef=840,858 Split=Y Selected=0x8CA2375C - DockNode ID=0x00000001 Parent=0x00000007 SizeRef=824,1646 CentralNode=1 Selected=0x7BD57D6A - DockNode ID=0x00000002 Parent=0x00000007 SizeRef=824,467 Selected=0x1DCB2623 - DockNode ID=0x0000000E Parent=0x0000000B SizeRef=1797,858 Split=X Selected=0x418C7449 - DockNode ID=0x00000012 Parent=0x0000000E SizeRef=824,402 Selected=0x418C7449 - DockNode ID=0x00000013 Parent=0x0000000E SizeRef=971,402 Selected=0x6F2B5B04 - DockNode ID=0x0000000D Parent=0x00000003 SizeRef=435,1186 Selected=0x363E93D6 - DockNode ID=0x00000004 Parent=0xAFC85805 SizeRef=1199,1183 Split=Y Selected=0x3AEC3498 - DockNode ID=0x0000000C Parent=0x00000004 SizeRef=1074,1208 Selected=0x3AEC3498 - DockNode ID=0x0000000F Parent=0x00000004 SizeRef=1074,899 Selected=0x655BC6E9 +DockNode ID=0x00000008 Pos=3125,170 Size=593,1157 Split=Y + DockNode ID=0x00000009 Parent=0x00000008 SizeRef=1029,147 Selected=0x0469CA7A + DockNode ID=0x0000000A Parent=0x00000008 SizeRef=1029,145 Selected=0xDF822E02 +DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,26 Size=3840,2111 Split=X + DockNode ID=0x00000003 Parent=0xAFC85805 SizeRef=2639,1183 Split=X + DockNode ID=0x0000000B Parent=0x00000003 SizeRef=404,1186 Split=X Selected=0xF4139CA2 + DockNode ID=0x00000007 Parent=0x0000000B SizeRef=788,858 Split=Y Selected=0x8CA2375C + DockNode ID=0x00000001 Parent=0x00000007 SizeRef=824,1342 CentralNode=1 Selected=0x7BD57D6A + DockNode ID=0x00000002 Parent=0x00000007 SizeRef=824,767 Selected=0x1DCB2623 + DockNode ID=0x0000000E Parent=0x0000000B SizeRef=1849,858 Split=X Selected=0x418C7449 + DockNode ID=0x00000012 Parent=0x0000000E SizeRef=876,402 Split=Y Selected=0x418C7449 + DockNode ID=0x00000005 Parent=0x00000012 SizeRef=876,1455 Selected=0x418C7449 + DockNode ID=0x00000006 Parent=0x00000012 SizeRef=876,654 Selected=0x1D56B311 + DockNode ID=0x00000013 Parent=0x0000000E SizeRef=971,402 Selected=0x6F2B5B04 + DockNode ID=0x0000000D Parent=0x00000003 SizeRef=435,1186 Selected=0x363E93D6 + DockNode ID=0x00000004 Parent=0xAFC85805 SizeRef=1199,1183 Split=Y Selected=0x3AEC3498 + DockNode ID=0x00000010 Parent=0x00000004 SizeRef=1199,1689 Selected=0x3AEC3498 + DockNode ID=0x00000011 Parent=0x00000004 SizeRef=1199,420 Split=X Selected=0xDEB547B6 + DockNode ID=0x0000000C Parent=0x00000011 SizeRef=916,380 Selected=0x655BC6E9 + DockNode ID=0x0000000F Parent=0x00000011 SizeRef=281,380 Selected=0xDEB547B6 ;;;<<>>;;; ;;;<<>>;;; diff --git a/tool_presets.toml b/tool_presets.toml index 06f6938..260b781 100644 --- a/tool_presets.toml +++ b/tool_presets.toml @@ -1,37 +1,47 @@ -[presets.Default] -categories.General = [ - { name = "run_powershell", approval = "ask" }, - { name = "read_file", approval = "auto" }, - { name = "list_directory", approval = "auto" }, - { name = "search_files", approval = "auto" }, - { name = "get_file_summary", approval = "auto" } +[presets.Default.categories] +General = [ + { name = "run_powershell", approval = "ask", weight = 3, parameter_bias = {} }, + { name = "read_file", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "list_directory", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "search_files", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "get_file_summary", approval = "auto", weight = 3, parameter_bias = {} }, ] -categories.Web = [ - { name = "web_search", approval = "ask" }, - { name = "fetch_url", approval = "ask" } +Python = [ + { name = "py_get_skeleton", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "py_get_code_outline", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "py_get_definition", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "py_get_signature", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "py_get_class_summary", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "py_get_var_declaration", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "py_get_docstring", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "py_find_usages", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "py_get_imports", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "py_check_syntax", approval = "auto", weight = 3, parameter_bias = {} }, + { name = "py_get_hierarchy", approval = "auto", weight = 3, parameter_bias = {} }, ] -categories.Python = [ - { name = "py_get_skeleton", approval = "auto" }, - { name = "py_get_code_outline", approval = "auto" }, - { name = "py_get_definition", approval = "auto" }, - { name = "py_get_signature", approval = "auto" }, - { name = "py_get_class_summary", approval = "auto" }, - { name = "py_get_var_declaration", approval = "auto" }, - { name = "py_get_docstring", approval = "auto" }, - { name = "py_find_usages", approval = "auto" }, - { name = "py_get_imports", approval = "auto" }, - { name = "py_check_syntax", approval = "auto" }, - { name = "py_get_hierarchy", approval = "auto" } +Surgical = [] +Web = [ + { name = "web_search", approval = "ask", weight = 3, parameter_bias = {} }, + { name = "fetch_url", approval = "ask", weight = 3, parameter_bias = {} }, ] +Analysis = [] +Runtime = [] -[bias_profiles.Balanced] -tool_weights = {} -category_multipliers = {} +[bias_profiles.Balanced.tool_weights] -[bias_profiles.Execution-Focused] -tool_weights = { run_powershell = 5 } -category_multipliers = { Runtime = 1.5, Surgical = 1.2 } +[bias_profiles.Balanced.category_multipliers] -[bias_profiles.Discovery-Heavy] -tool_weights = { web_search = 4, search_files = 4 } -category_multipliers = { Web = 1.5, Analysis = 1.3 } +[bias_profiles.Execution-Focused.tool_weights] +run_powershell = 5 + +[bias_profiles.Execution-Focused.category_multipliers] +Runtime = 1.5 +Surgical = 1.2 + +[bias_profiles.Discovery-Heavy.tool_weights] +web_search = 4 +search_files = 4 + +[bias_profiles.Discovery-Heavy.category_multipliers] +Web = 1.5 +Analysis = 1.3