uncomitted changes from the agent.

This commit is contained in:
2026-05-10 14:11:13 -04:00
parent 504c1afaa9
commit 3bdd269d5e
11 changed files with 90 additions and 36 deletions
@@ -1,9 +1,9 @@
# Implementation Plan: Interactive AST Tree Masking
## Phase 1: AST Mask Model & Inspector UI
- [ ] Update `FileItem` in `src/models.py` with an `ast_mask: dict[str, str]` field (mapping symbol paths to 'def', 'sig', or 'hide').
- [ ] In `src/gui_2.py`, add an `[Inspect]` button to the Context Panel table.
- [ ] Implement `_render_ast_inspector_modal` in `src/gui_2.py`, fetching the outline via `ts_cpp_get_code_outline` and rendering it as an `imgui.tree_node` hierarchy with radio buttons.
- [x] Update `FileItem` in `src/models.py` with an `ast_mask: dict[str, str]` field (mapping symbol paths to 'def', 'sig', or 'hide').
- [x] In `src/gui_2.py`, add an `[Inspect]` button to the Context Panel table.
- [x] Implement `_render_ast_inspector_modal` in `src/gui_2.py`, fetching the outline via `ts_cpp_get_code_outline` and rendering it as an `imgui.tree_node` hierarchy with radio buttons.
## Phase 2: Dynamic Aggregation
- [ ] Update `src/aggregate.py`. When an `ast_mask` is present, it must parse the file, extract the requested definitions and signatures by their symbol names, and stitch them into a single coherent markdown block.
- [x] Update `src/aggregate.py`. When an `ast_mask` is present, it must parse the file, extract the requested definitions and signatures by their symbol names, and stitch them into a single coherent markdown block.