# Implementation Plan: Context Composition Slice Visualization

## Phase 1: Slice Data Model Extension
Focus: Extend custom_slices to support tags and comments

- [ ] Task 1.1: Extend custom_slices schema to include tag and comment fields
- [ ] Task 1.2: Update FileItem.to_dict() and from_dict() for new fields
- [ ] Task 1.3: Write tests for custom_slices with annotations

## Phase 2: Slice Inspector Enhancement
Focus: Visual AST highlighting with file content

- [ ] Task 2.1: Modify _render_ast_inspector_modal() to show file content with highlighted slices
- [ ] Task 2.2: Add color coding for Sig vs Def elements in file content view
- [ ] Task 2.3: Implement toggle buttons for each AST element in the content view
- [ ] Task 2.4: Write tests for slice inspector rendering

## Phase 3: Slice Editor Visual Enhancement
Focus: Visual slice editor with colored overlays

- [ ] Task 3.1: Enhance slice editor to show file content (not just line list)
- [ ] Task 3.2: Add colored overlays for custom slices on the content
- [ ] Task 3.3: Implement click-drag line range selection
- [ ] Task 3.4: Add tag/comment input for custom slices
- [ ] Task 3.5: Write tests for slice editor

## Phase 4: View Presets
Focus: Named view configurations

- [ ] Task 4.1: Create FileViewPreset model
- [ ] Task 4.2: Add preset selection dropdown to context composition
- [ ] Task 4.3: Implement preset save/load to project config
- [ ] Task 4.4: Write tests for view presets

## Phase 5: AST Slice Pre-population
Focus: Show auto-resolved slices before user customizes

- [ ] Task 5.1: On file add to context, compute AST slices automatically
- [ ] Task 5.2: Store pre-computed slices in FileItem for display
- [ ] Task 5.3: User can modify/remove auto-slices
- [ ] Task 5.4: Write tests for auto-slice computation

## Phase 6: Integration
Focus: Connect all pieces together

- [ ] Task 6.1: Verify slice data flows correctly through context composition
- [ ] Task 6.2: Test with C++ files from gencpp
- [ ] Task 6.3: Conductor - User Manual Verification
