Files
manual_slop/conductor/tracks/selectable_ui_text_20260308/plan.md

3.0 KiB

Implementation Plan: Selectable GUI Text & UX Improvements

Phase 1: Research & Core Widget Wrapping [checkpoint: ef942bb]

  • Task: Audit gui_2.py for all imgui.text() and imgui.text_wrapped() calls in target areas.
    • Identify the exact locations in _render_discussion_panel, _render_comms_history_panel, and _render_ai_settings_panel. Findings: _render_discussion_panel (historical/current entries, commit SHA), _render_heavy_text (comms/tool payloads), _render_provider_panel (Session ID), _render_token_budget_panel (telemetry metrics).
  • Task: Implement a helper function/component for "Selectable Label".
    • This helper should wrap imgui.input_text with InputTextFlags_.read_only and proper styling to mimic a standard label. Implemented _render_selectable_label in gui_2.py.
  • Task: Conductor - User Manual Verification 'Phase 1: Research & Core Widget' (Protocol in workflow.md)

Phase 2: Discussion History & Comms Log [checkpoint: e34a2e6]

  • Task: Apply selectable text to Discussion History. e34a2e6
    • Update _render_discussion_panel to use the new selectable widget for AI and User message content.
    • Ensure multiline support works correctly for long messages. Implemented selectable text for prior session entries, commit SHA, and current discussion entries.
  • Task: Apply selectable text to Comms Log payloads. e34a2e6
    • Update _render_comms_history_panel to make request and response JSON payloads selectable. Implemented selectable text via _render_heavy_text for comms and tool payloads.
  • Task: Write visual regression tests using live_gui to ensure selection works and styling is consistent. Verified with tests/test_selectable_ui.py.
  • Task: Conductor - User Manual Verification 'Phase 2: Discussion & Comms' (Protocol in workflow.md)

Phase 3: Tool Logs & AI Settings [checkpoint: e34a2e6]

  • Task: Apply selectable text to Tool execution logs. e34a2e6
    • Make generated PowerShell scripts and execution output selectable in the Operations/Tooling panels. Implemented selectable text for tool call previews and MMA tier streams.
  • Task: Apply selectable text to AI Settings metrics. e34a2e6
    • Make token usage, cost estimates, and model configuration values (like model names) selectable. Implemented selectable text for Gemini CLI Session ID, token counts, and MMA tier costs.
  • Task: Final end-to-end verification of all copy-paste scenarios.
  • Task: Conductor - User Manual Verification 'Phase 3: Tool Logs & AI Settings' (Protocol in workflow.md)

Phase 4: Final Polish [checkpoint: e34a2e6]

  • Task: Refine styling of read-only input fields (remove borders/backgrounds where appropriate). Refined _render_selectable_label with transparent backgrounds, removed borders, and zero padding.
  • Task: Verify keyboard shortcuts (Ctrl+C) work across all updated areas. e34a2e6
  • Task: Conductor - User Manual Verification 'Phase 4: Final Polish' (Protocol in workflow.md)