# Implementation Plan: Selectable GUI Text & UX Improvements

## Phase 1: Research & Core Widget Wrapping [checkpoint: ef942bb]
- [x] Task: Audit `gui_2.py` for all `imgui.text()` and `imgui.text_wrapped()` calls in target areas.
    - [x] 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).
- [x] Task: Implement a helper function/component for "Selectable Label".
    - [x] 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]
- [x] Task: Apply selectable text to Discussion History. e34a2e6
    - [x] Update `_render_discussion_panel` to use the new selectable widget for AI and User message content.
    - [x] Ensure multiline support works correctly for long messages. Implemented selectable text for prior session entries, commit SHA, and current discussion entries.
- [x] Task: Apply selectable text to Comms Log payloads. e34a2e6
    - [x] 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.
- [x] Task: Write visual regression tests using `live_gui` to ensure selection works and styling is consistent. Verified with `tests/test_selectable_ui.py`.
- [x] Task: Conductor - User Manual Verification 'Phase 2: Discussion & Comms' (Protocol in workflow.md)

## Phase 3: Tool Logs & AI Settings [checkpoint: e34a2e6]
- [x] Task: Apply selectable text to Tool execution logs. e34a2e6
    - [x] Make generated PowerShell scripts and execution output selectable in the Operations/Tooling panels. Implemented selectable text for tool call previews and MMA tier streams.
- [x] Task: Apply selectable text to AI Settings metrics. e34a2e6
    - [x] 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.
- [x] Task: Final end-to-end verification of all copy-paste scenarios.
- [x] Task: Conductor - User Manual Verification 'Phase 3: Tool Logs & AI Settings' (Protocol in workflow.md)

## Phase 4: Final Polish [checkpoint: e34a2e6]
- [x] 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.
- [x] 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)

