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
b9c1b63f8d
feat(style): Add anti-OOP conventions and OOP refactoring tracker
...
- Add section 10 (Anti-OOP Conventions) to python.md with hard rules,
class justification requirements, and Strangler Fig refactoring pattern
- Create conductor/refactor_oop.md tracker with 4 phases for class elimination
- Add ruff PLR rules (PLR0912, PLR6301, PLR0206) to pyproject.toml for
OOP anti-patterns
Addresses AI agent scope misinterpretation issues by enforcing flat
function-call graphs over deep class hierarchies.
2026-05-11 23:41:41 -04:00
ed
4ef18ab5d2
comitting latest mess
2026-05-11 23:34:18 -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
af1e484d0c
maybe 5
2026-05-11 23:06:38 -04:00
ed
76508d7e71
udpate style guide for max indent of 4.
2026-05-11 23:03:53 -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
cb87aacafe
conductor(plan): Add ImGui context manager implementation plan
2026-05-11 22:30:58 -04:00
ed
dc302855cb
docs(superpowers): Add ImGui context manager suite design spec
2026-05-11 22:27:20 -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
2ba427f827
docs(conductor): Synchronize docs for track 'Context Composition Slice Visualization'
2026-05-11 18:53:31 -04:00
ed
41ad4b74e2
chore(conductor): Mark track 'Context Composition Slice Visualization' as complete
2026-05-11 18:52:41 -04:00
ed
c0c7d9e0a7
conductor(plan): Mark Task 6.1-6.3 as complete
2026-05-11 18:52:35 -04:00
ed
1303fc1402
feat(aggregate): Support custom view mode with annotated slices
2026-05-11 18:52:22 -04:00
ed
d22c98c9ac
conductor(plan): Mark phase 'Phase 5: AST Slice Pre-population' as complete
2026-05-11 18:50:30 -04:00
ed
2ebe0c60d2
conductor(checkpoint): Checkpoint end of Phase 5
2026-05-11 18:50:13 -04:00
ed
c659aa3a66
conductor(plan): Mark Task 5.1-5.4 as complete
2026-05-11 18:49:28 -04:00
ed
a669f92cab
feat(ui): Automatically populate AST slices when adding files to context
2026-05-11 18:49:18 -04:00
ed
c5ae21dc85
conductor(plan): Mark phase 'Phase 4: View Presets' as complete
2026-05-11 18:33:45 -04:00
ed
8073938fad
conductor(checkpoint): Checkpoint end of Phase 4
2026-05-11 18:33:34 -04:00
ed
ee9bdc83a6
conductor(plan): Mark Task 4.1-4.4 as complete
2026-05-11 18:32:08 -04:00
ed
cb0fa89730
feat(presets): Implement NamedViewPresets for per-file view settings
2026-05-11 18:31:56 -04:00
ed
6e53906715
conductor(plan): Mark phase 'Phase 3: Slice Editor Visual Enhancement' as complete
2026-05-11 18:22:00 -04:00
ed
4f0f4368b4
conductor(checkpoint): Checkpoint end of Phase 3
2026-05-11 18:21:44 -04:00
ed
64b39f7b42
conductor(plan): Mark Task 3.1-3.5 as complete
2026-05-11 18:20:00 -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
33062d7cf3
conductor(plan): Mark phase 'Phase 2: Slice Inspector Enhancement' as complete
2026-05-11 18:13:44 -04:00
ed
31ecbe5fb5
conductor(checkpoint): Checkpoint end of Phase 2
2026-05-11 18:13:27 -04:00
ed
247bcdf025
conductor(plan): Mark Task 2.1-2.4 as complete
2026-05-11 18:06:01 -04:00
ed
976b241dcc
feat(ui): Implement dual-pane AST Inspector with line-based highlights
2026-05-11 18:00:56 -04:00
ed
4aab4fa5f4
conductor(plan): Mark phase 'Phase 1: Slice Data Model Extension' as complete
2026-05-11 17:44:03 -04:00
ed
4a20489a22
conductor(checkpoint): Checkpoint end of Phase 1
2026-05-11 17:43:46 -04:00
ed
1d57704131
conductor(plan): Mark Task 1.1-1.3 as complete
2026-05-11 17:20:41 -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
bb69f1d6f1
docs(conductor): Synchronize docs for track 'Context Composition Decoupling'
2026-05-11 16:11:44 -04:00
ed
bc8e52e4b5
chore(conductor): Mark track 'Context Composition Decoupling' as complete
2026-05-11 15:17:25 -04:00
ed
c2e567ad6b
conductor(plan): Mark Task 6.1-6.3 as complete
2026-05-11 15:17:17 -04:00
ed
4dc801ec69
feat(context): Integrate view modes into aggregate pipeline
2026-05-11 15:17:00 -04:00
ed
2c020e7587
conductor(checkpoint): Checkpoint end of Phase 5
2026-05-11 13:18:20 -04:00
ed
c2163ec296
conductor(plan): Mark Task 5.1-5.3 as complete
2026-05-11 13:13:54 -04:00
ed
78c009fc26
feat(context): Implement ContextPreset and FileViewPreset infrastructure
2026-05-11 13:13:37 -04:00
ed
f1a93264ce
conductor(checkpoint): Checkpoint end of Phase 4
2026-05-11 11:45:06 -04:00
ed
de6f42f1aa
conductor(plan): Mark Task 4.1-4.4 as complete
2026-05-11 11:44:24 -04:00
ed
fb1b72c5ac
feat(context): Implement view mode UI in context composition panel
2026-05-11 11:44:07 -04:00
ed
3498cee219
conductor(checkpoint): Checkpoint end of Phase 3
2026-05-11 11:40:26 -04:00
ed
11ae85dc03
conductor(plan): Mark Task 3.1-3.5 as complete
2026-05-11 11:37:33 -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
daf887eed4
conductor(checkpoint): Checkpoint end of Phase 2
2026-05-11 11:31:11 -04:00
ed
07581f4e9c
conductor(plan): Mark Task 2.1-2.4 as complete
2026-05-11 11:00:40 -04:00
ed
9b3a4d6ec6
feat(context): Decouple context composition from files and media
2026-05-11 11:00:15 -04:00
ed
abaeb56020
conductor(checkpoint): Checkpoint end of Phase 1
2026-05-11 10:31:30 -04:00
ed
e30364fdb1
conductor(plan): Mark Task 1.1-1.4 as complete
2026-05-11 10:29:12 -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
de3dfec4de
conductor: add phase 6 context composition redesign tracks
...
- context_comp_decouple_20260510: Decouple Files & Media from Context Composition, directory grouping, file stats
- context_comp_slices_20260510: Slice visualization with annotations, view presets
- context_comp_presets_20260510: Context preset save/load with validation, context preview
- Depends_on chain: presets -> slices -> decouple
2026-05-10 22:12:03 -04:00
ed
f9cc89c877
docs: add context composition redesign spec
2026-05-10 22:02:27 -04:00
ed
a799a57210
wip spec for contex composition
2026-05-10 22:02:00 -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
3987696d7b
Getting there..
2026-05-10 21:04:24 -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
c8d2dda763
fix(gui): read file content via mcp_client instead of non-existent FileItem.content
2026-05-10 20:43:00 -04:00
ed
5b55b51795
move edit workflow
2026-05-10 20:31:18 -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
f4a2058e12
config update
2026-05-10 18:57:56 -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
ed
6f4f281b4c
pain
2026-05-10 18:41:48 -04:00
ed
fca9392f65
trying ot make files & media less shit
2026-05-10 18:36:01 -04:00
ed
f9f8bde8ef
fix(gui): ensure minimum section height of 100px for Files & Media sections
2026-05-10 17:54:22 -04:00
ed
8af321094f
possible hot reload track.
2026-05-10 17:52:42 -04:00
ed
4940913e36
fix(gui): shared height for Files & Media sections
...
- Calculate avail at window level, divide by num_open sections
- Pass height_override to _render_files_panel and _render_screenshots_panel
- When both open: each gets equal share of available space
- When one open: it gets full available space
2026-05-10 17:45:32 -04:00
ed
cf2f7c863f
fix(gui): Files & Media - content-based heights + scope annotations
...
- Files: child_h = min(max(len(files),1) * 28 + 40, 300)
- Screenshots: shot_h = min(max(len(shots),1) * 28 + 40, 200)
- Added # BEGIN/END comments for all window/section scopes
- Keeps original working structure (no restructuring)
2026-05-10 17:39:56 -04:00
ed
feeb318209
fix(gui): equal space allocation for Files & Media sections
...
- Calculate available space from get_content_region_avail().y
- Divide by number of open sections (1 or 2)
- Each section gets equal height (section_h)
- Content scrolls internally if it exceeds allocated space
- When both collapsed, shows minimal placeholder
2026-05-10 17:35:12 -04:00
ed
28146f96cc
fix(gui): content-based height for Files and Screenshots child panels
...
Files: child_h = min(max(len(files),1) * 28 + 40, 350)
Screenshots: shot_h = min(max(len(screenshots),1) * 28 + 40, 250)
Replaces (0, -40) which stretched to fill available space.
2026-05-10 17:32:02 -04:00
ed
8bc4e6ca7c
chore: revert to working state eea7f906
2026-05-10 17:31:14 -04:00
ed
a754abe7f6
fix(gui): proper Files & Media layout with equal space allocation
...
- Track section open state via _files_section_open, _shots_section_open
- Calculate available space, divide by number of open sections
- Each section gets equal height when both open
- Content scrolls internally if it exceeds allocated space
- Removed unused _render_files_panel and _render_screenshots_panel methods
2026-05-10 17:23:48 -04:00
ed
20b0b497fe
chore: revert gui changes to working state ( eea7f906)
2026-05-10 17:10:18 -04:00
ed
860b509e84
fix(gui): proper content-based sizing for Files and Screenshots child panels
...
- Files: child_h = min(max(len(files),1) * 28 + 40, 400) - 28px per row, 40px header, 400px max
- Screenshots: shot_h = min(max(len(shots),1) * 28 + 40, 300) - same pattern with 300px max
Replaces hacky (0, -40) which stretched to fill available space regardless of content.
2026-05-10 16:48:04 -04:00
ed
fe11b41364
chore: revert Files & Media to original working code
2026-05-10 16:44:08 -04:00
ed
b8155c0745
fix(gui): simplify Files & Media collapsing headers to avoid scope mismatch
2026-05-10 16:42:26 -04:00
ed
dbfbb05899
fix(gui): add resizable splitter between Files and Screenshots panels
...
Added:
- _files_split_v state (0.5 default) for split ratio
- _files_open and _shots_open tracking for collapse state
- Splitter bar between collapsing headers when both open
- Splitter updates _files_split_v based on mouse drag
2026-05-10 16:41:28 -04:00
ed
6b612deb23
fix(gui): proper splitter placement for persona and bias panels
...
- Persona editor: splitter shown when BOTH models and prompt open (not just prompt)
- Bias profiles: move splitter OUTSIDE btool_scroll child, between both sections
- Fixed nesting issues causing EndTable/EndChild errors
2026-05-10 16:40:44 -04:00