Commit Graph

2018 Commits

Author SHA1 Message Date
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
ed 5e1700744f fix(gui): improve tool preset manager adaptive sizing
- When both sections open: use min(h, max(200, rem_y*0.3)) for tools, min(h, max(150, rem_y*0.5)) for bias
- Single section open: cap at 400px instead of hard small values
- This preserves split ratio while ensuring minimum readable sizes
2026-05-10 16:37:11 -04:00
ed e0f1d7840f fix(gui): cap persona system prompt text box height at 300px 2026-05-10 16:35:28 -04:00
ed 6b43e2f5cd fix(gui): cap tool preset and persona panel child heights
- Tool preset manager: h1 max 250px, h2 max 200px
- Persona editor: h1 max 300px
Prevents excessive empty space when panels are mostly empty.
2026-05-10 16:33:36 -04:00
ed d28fd58f03 fix(gui): limit Files & Media collapsible child height to reasonable max
The begin_child() was using (0, -40) which made it stretch to fill parent.
Changed to (0, min(len(items) * 30 + 50, 300)) so it:
- Sizes to content (30px per row + 50px header)
- Caps at 300px max height
- Allows scrolling when content overflows
2026-05-10 16:30:54 -04:00
ed 0f180e8c4b fix(gui): fix typo current_cat_tools -> curr_cat_tools in tool preset manager 2026-05-10 16:27:53 -04:00
ed eea7f90607 fix(gui): fix imgui.selectable() signature mismatch in _render_history_window
selectable() now requires p_selected bool arg, not just label.
Changed to use _, selected = imgui.selectable(label, False) pattern.
2026-05-10 16:25:16 -04:00
ed 45a3664f85 refactor: remove dead main_context field from Project Settings
The main_context field in Project Settings was stored but never used.
Nothing reads it to inject into AI context. System Prompt in AI Settings
already serves this purpose.

Removed:
- app_controller.py: ui_project_main_context state variable and all refs
- gui_2.py: Main Context File UI section from Projects panel
- project_manager.py: main_context from default_project()
- project.toml, manual_slop.toml, gencpp_manual_slop_template.toml: main_context entries
2026-05-10 16:23:21 -04:00
ed c4122503a1 minor cleanup 2026-05-10 16:05:00 -04:00
ed f58599a774 feat(mcp): add mcp_paths.toml for multi-project access
- Add mcp_paths.toml with extra_dirs for C:/projects/gencpp
- Update mcp_server.py to read allowed_paths from mcp_paths.toml
2026-05-10 16:03:17 -04:00
ed 581da1cc56 add dogfood track 2026-05-10 15:59:32 -04:00
ed cbd9443435 phase 6 review done for now 2026-05-10 15:54:34 -04:00
ed 5191f07220 conductor(plan): Mark Phase 4 complete, add verification report 2026-05-10 15:48:42 -04:00
ed 05a11978ef docs(phase6): add Advanced Context Curation guide and C/C++ AST tools 2026-05-10 15:48:21 -04:00
ed 760054bb4d conductor(plan): Mark Phase 3 simulation tests complete 2026-05-10 15:46:59 -04:00
ed fa0a500a38 test(phase6): add simulation tests for Batch Ops, AST Inspector, Slice Editor
- test_batch_operations_shift_click
- test_ast_inspector_modal_opens
- test_slice_editor_add_remove
2026-05-10 15:46:53 -04:00
ed 7620becf34 conductor(plan): Mark Phase 2 feature coverage tasks complete 2026-05-10 15:45:36 -04:00
ed 772d567301 test(coverage): add FuzzyAnchor and HistoryManager unit tests
- test_fuzzy_anchor.py: 6 tests for fuzzy slice resolution
- test_history_manager.py: 8 tests for undo/redo and UISnapshot roundtrip
2026-05-10 15:42:54 -04:00
ed e50a444796 test(gencpp): add full gencpp/base samples and comprehensive test suite
- Copied 58 files from C:\projects\gencpp\base\ to tests/assets/gencpp_samples
- Added test_gencpp_full_suite.py that validates:
  - Skeleton generation for all .hpp files
  - Code outline generation
  - get_definition for key symbols
  - AST masking with aggregation
- All 25 tests pass
2026-05-10 15:38:16 -04:00
ed bb468a5f7d fix(ast): improve C++ name extraction for complex return types 2026-05-10 15:33:15 -04:00