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
ed
41a70258af
less pain
2026-05-10 18:55:43 -04:00
ed
8715776ee4
less pain
2026-05-10 18:53:35 -04:00
ed
e42db60299
pain
2026-05-10 18:49:10 -04:00