Commit Graph

486 Commits

Author SHA1 Message Date
ed ea001e66f7 modularize gui_2.py and fix imgui scope leaks 2026-05-12 18:48:30 -04:00
ed 345be18d55 pain 2026-05-12 18:45:06 -04:00
ed 5be6ef88f8 broken: discussion compression 2026-05-12 18:26:39 -04:00
ed 4b78d1df02 wip: more cleanup 2026-05-12 18:19:32 -04:00
ed e87b7a695e script modal method 2026-05-12 18:16:23 -04:00
ed 128956c0d3 delete redundant operations hub method 2026-05-12 18:13:39 -04:00
ed fd00004afa fix bs 2026-05-12 18:06:43 -04:00
ed dc15d42ec7 Broken: Fixing this crap 2026-05-12 17:47:46 -04:00
ed 7d8680232a fix imgui label error 2026-05-12 15:34:48 -04:00
ed c4e1cca66b progress on fixing up gui code 2026-05-12 15:20:34 -04:00
ed fb45b44824 making a dent (disasterous one) 2026-05-12 02:41:59 -04:00
ed 643f36e7d1 beginning to chunk up _gui_func 2026-05-12 01:03:16 -04:00
ed 1ed2d3e139 starting to get decent compression 2026-05-12 00:45:21 -04:00
ed a0a537ff01 beginning curation of gui_2.py using imscopes 2026-05-12 00:40:19 -04:00
ed aed3ebe063 feat(gui): Add imgui_scopes with per-type context managers for begin/end pairs 2026-05-12 00:13:22 -04:00
ed 8fbe6543dc feat(gui): Migrate AI Settings window to imgui_window scope 2026-05-11 23:22:53 -04:00
ed 1f82f996c4 feat(gui): Migrate Project Settings window to imgui_window scope 2026-05-11 23:19:46 -04:00
ed 1e47ed9013 feat(gui): Migrate _render_history_window to imgui_window scope 2026-05-11 23:17:59 -04:00
ed f1ca3751c8 feat(gui): Migrate _render_shader_live_editor to imgui_window scope 2026-05-11 23:11:56 -04:00
ed 4c64942426 preparing to use imgui scopes... 2026-05-11 23:03:21 -04:00
ed ecef6175e7 feat(gui): Add ImGuiScope base class and scope helpers 2026-05-11 22:43:35 -04:00
ed cc319d4d80 feat(gui): Add ImGuiScope base class and scope helpers 2026-05-11 22:34:27 -04:00
ed 5e947d50fe fixing bugs in gui_2.py 2026-05-11 22:19:04 -04:00
ed 26ef81a30e chore(fix): Resolve regressions in history logic, track startup, and GUI performance 2026-05-11 20:03:01 -04:00
ed 1303fc1402 feat(aggregate): Support custom view mode with annotated slices 2026-05-11 18:52:22 -04:00
ed a669f92cab feat(ui): Automatically populate AST slices when adding files to context 2026-05-11 18:49:18 -04:00
ed cb0fa89730 feat(presets): Implement NamedViewPresets for per-file view settings 2026-05-11 18:31:56 -04:00
ed 3614e117c3 feat(ui): Implement visual Slice Editor with colored overlays and click-drag 2026-05-11 18:19:50 -04:00
ed 976b241dcc feat(ui): Implement dual-pane AST Inspector with line-based highlights 2026-05-11 18:00:56 -04:00
ed 976879dce0 feat(models): Extend FileItem.custom_slices with tag and comment fields 2026-05-11 17:15:04 -04:00
ed 0416eaeaa8 feat(context): Finalize AppController decoupling and aggregate integration 2026-05-11 16:12:33 -04:00
ed 4dc801ec69 feat(context): Integrate view modes into aggregate pipeline 2026-05-11 15:17:00 -04:00
ed 78c009fc26 feat(context): Implement ContextPreset and FileViewPreset infrastructure 2026-05-11 13:13:37 -04:00
ed fb1b72c5ac feat(context): Implement view mode UI in context composition panel 2026-05-11 11:44:07 -04:00
ed 5112debe14 feat(context): Implement directory grouping and file stats in context composition panel 2026-05-11 11:37:15 -04:00
ed 9b3a4d6ec6 feat(context): Decouple context composition from files and media 2026-05-11 11:00:15 -04:00
ed 8addb97018 feat(context): Add view_mode to FileItem model 2026-05-11 10:28:35 -04:00
ed a1343eebe6 fix(mcp): properly initialize preset_managers before refresh
_load_active_project() now creates preset_manager and tool_preset_manager
before calling _refresh_from_project(), which needs them
2026-05-10 23:38:52 -04:00
ed 8d8c6ab0ac fix(gui): skip _switch_project if already on that project
Prevents reloading and state issues when clicking same project
2026-05-10 23:33:50 -04:00
ed b328cd4e68 fix(gui): prevent dictionary size change during iteration
- Wrap discussions.items() with list() in takes_panel to prevent
  RuntimeError when dictionary changes during iteration
- This was causing crashes when switching discussions
2026-05-10 23:20:02 -04:00
ed 7ab58e4e00 fix(mcp): configure mcp_client after files are loaded
_load_active_project() was calling _configure_mcp_for_project() BEFORE
_refresh_from_project() which populates self.files. Now it calls
_refresh_from_project() first so mcp_client gets configured with the
actual file list that includes gencpp paths.
2026-05-10 23:09:15 -04:00
ed 6738e44e7a fix(gui): properly handle AST Inspector popup state
- Add _show_ast_inspector flag to track when popup should open
- Use same pattern as other modals (_show_* flag + open_popup)
- Restructure if/else to properly handle end_popup paths
- This fixes the Inspect button not opening the modal
2026-05-10 22:33:07 -04:00
ed fc2456506a fix(gui): remove redundant open_popup call for AST Inspector
begin_popup_modal handles its own open state, open_popup was causing the modal to not appear
2026-05-10 22:21:06 -04:00
ed 400a2fcfe4 fix(mcp): configure mcp_client on project load and switch
- Add _configure_mcp_for_project() helper method
- Call it at end of _load_active_project() to configure mcp_client on startup
- _switch_project() calls it after _refresh_from_project()
- This ensures mcp_client._base_dirs is populated before GUI buttons try to read files
2026-05-10 21:15:41 -04:00
ed 4bb94ff909 fix: remove redundant import in _switch_project (mcp_client already imported at top) 2026-05-10 21:11:13 -04:00
ed 6861ce0dca fix(mcp): configure mcp_client allowlist on project switch
Previously mcp_client.configure() was only called during ai_client.send()
which meant GUI buttons (Slices/Inspect) couldn't access files when
project was switched to an external project like gencpp. Now _switch_project
reconfigures mcp_client with the new project's root and file_items.
2026-05-10 20:57:11 -04:00
ed 2fa44c02c8 _gui_func annotations to gui_func 2026-05-10 20:26:30 -04:00
ed f83629dc85 starting to cleanup gui_2.py 2026-05-10 20:12:34 -04:00
ed 3eacfc39e6 did ai's job 2026-05-10 19:57:37 -04:00
ed 9f9d1d42ee WIP: PAIN 2026-05-10 19:51:31 -04:00