feat(hot-reload): Complete deep OOP gutting of gui_2.py and perfect 1-space refactor
This commit is contained in:
+4
-178
@@ -630,30 +630,20 @@ class App:
|
||||
f.write(data)
|
||||
# ---------------------------------------------------------------- helpers
|
||||
|
||||
def _render_text_viewer(self, label: str, content: str, text_type: str = 'text', force_open: bool = False) -> None:
|
||||
render_text_viewer(self, label, content, text_type, force_open)
|
||||
|
||||
def _render_heavy_text(self, label: str, content: str, id_suffix: str = "") -> None:
|
||||
render_heavy_text(self, label, content, id_suffix)
|
||||
# ---------------------------------------------------------------- gui
|
||||
|
||||
def _render_thinking_trace(self, segments: list[dict], entry_index: int, is_standalone: bool = False) -> None:
|
||||
render_thinking_trace(self, segments, entry_index, is_standalone)
|
||||
|
||||
def _render_selectable_label(self, label: str, value: str, width: float = 0.0, multiline: bool = False, height: float = 0.0, color: Optional[imgui.ImVec4] = None) -> None:
|
||||
render_selectable_label(self, label, value, width, multiline, height, color)
|
||||
|
||||
def _render_save_preset_modal(self) -> None:
|
||||
render_save_preset_modal(self)
|
||||
|
||||
def _gui_func(self) -> None:
|
||||
io = imgui.get_io()
|
||||
if io.key_ctrl and io.key_alt and io.keys_down[ord('R')]:
|
||||
self._trigger_hot_reload()
|
||||
|
||||
self._render_custom_title_bar()
|
||||
self._render_shader_live_editor()
|
||||
self._render_history_window()
|
||||
render_custom_title_bar(self)
|
||||
render_shader_live_editor(self)
|
||||
render_history_window(self)
|
||||
pushed_prior_tint = False
|
||||
|
||||
# Render background shader
|
||||
@@ -670,7 +660,7 @@ class App:
|
||||
pushed_prior_tint = True
|
||||
|
||||
try:
|
||||
self._render_main_interface()
|
||||
render_main_interface(self)
|
||||
except Exception as e:
|
||||
sys.stderr.write(f"ERROR in _gui_func: {e}\n")
|
||||
traceback.print_exc()
|
||||
@@ -683,8 +673,6 @@ class App:
|
||||
if self.perf_profiling_enabled: self.perf_monitor.end_component("_gui_func")
|
||||
return
|
||||
|
||||
def _render_main_interface(self) -> None:
|
||||
render_main_interface(self)
|
||||
|
||||
def _render_window_if_open(self, name: str, render_func: Callable[[], None], flag_condition: bool = True) -> None:
|
||||
"""Helper to render a window only if its toggle is active."""
|
||||
@@ -693,8 +681,6 @@ class App:
|
||||
self.show_windows[name] = bool(opened)
|
||||
if exp: render_func()
|
||||
|
||||
def _render_custom_title_bar(self) -> None:
|
||||
render_custom_title_bar(self)
|
||||
|
||||
def _show_menus(self) -> None:
|
||||
"""
|
||||
@@ -799,8 +785,6 @@ class App:
|
||||
imgui.pop_style_color()
|
||||
imgui.pop_style_color()
|
||||
|
||||
def _render_history_window(self) -> None:
|
||||
render_history_window(self)
|
||||
|
||||
def _handle_history_logic(self) -> None:
|
||||
"""
|
||||
@@ -861,38 +845,20 @@ class App:
|
||||
traceback.print_exc(file=sys.stderr)
|
||||
sys.stderr.flush()
|
||||
|
||||
def _render_theme_panel(self) -> None:
|
||||
render_theme_panel(self)
|
||||
|
||||
def _render_shader_live_editor(self) -> None:
|
||||
render_shader_live_editor(self)
|
||||
|
||||
#region: Diangostics & Analytics
|
||||
|
||||
def _render_usage_analytics_panel(self) -> None:
|
||||
render_usage_analytics_panel(self)
|
||||
|
||||
def _render_cache_panel(self) -> None:
|
||||
render_cache_panel(self)
|
||||
|
||||
def _render_diagnostics_panel(self) -> None:
|
||||
render_diagnostics_panel(self)
|
||||
|
||||
def _render_tool_analytics_panel(self) -> None:
|
||||
render_tool_analytics_panel(self)
|
||||
|
||||
def _render_token_budget_panel(self) -> None:
|
||||
render_token_budget_panel(self)
|
||||
|
||||
def _render_session_insights_panel(self) -> None:
|
||||
render_session_insights_panel(self)
|
||||
|
||||
#endregion: Diangostics & Analytics
|
||||
|
||||
#region: Logging
|
||||
|
||||
def _render_log_management(self) -> None:
|
||||
render_log_management(self)
|
||||
|
||||
def cb_load_prior_log(self, path: Optional[str] = None) -> None:
|
||||
if path is None:
|
||||
@@ -906,20 +872,10 @@ class App:
|
||||
|
||||
#region: Project Management
|
||||
|
||||
def _render_project_settings_hub(self) -> None:
|
||||
render_project_settings_hub(self)
|
||||
|
||||
def _render_projects_panel(self) -> None:
|
||||
render_projects_panel(self)
|
||||
|
||||
def _render_paths_panel(self) -> None:
|
||||
render_paths_panel(self)
|
||||
|
||||
def _render_path_field(label: str, attr: str, key: str, tooltip: str):
|
||||
render_path_field(self, label, attr, key, tooltip)
|
||||
|
||||
def _render_external_tools_panel(self) -> None:
|
||||
render_external_tools_panel(self)
|
||||
|
||||
def _set_external_editor_default(self, editor_name: str) -> None:
|
||||
from src import models
|
||||
@@ -960,66 +916,28 @@ class App:
|
||||
|
||||
#region: AI Settings
|
||||
|
||||
def _render_ai_settings_hub(self) -> None:
|
||||
render_ai_settings_hub(self)
|
||||
|
||||
def _render_rag_panel(self) -> None:
|
||||
render_rag_panel(self)
|
||||
|
||||
def _render_system_prompts_panel(self) -> None:
|
||||
render_system_prompts_panel(self)
|
||||
|
||||
def _render_agent_tools_panel(self) -> None:
|
||||
render_agent_tools_panel(self)
|
||||
|
||||
def _render_preset_manager_content(self, is_embedded: bool = False) -> None:
|
||||
render_preset_manager_content(self, is_embedded)
|
||||
|
||||
def _render_preset_manager_window(self, is_embedded: bool = False) -> None:
|
||||
render_preset_manager_window(self, is_embedded)
|
||||
|
||||
def _render_tool_preset_manager_content(self, is_embedded: bool = False) -> None:
|
||||
render_tool_preset_manager_content(self, is_embedded)
|
||||
|
||||
def _render_tool_preset_manager_window(self, is_embedded: bool = False) -> None:
|
||||
render_tool_preset_manager_window(self, is_embedded)
|
||||
|
||||
def _render_persona_editor_window(self, is_embedded: bool = False) -> None:
|
||||
render_persona_editor_window(self, is_embedded)
|
||||
|
||||
def _render_provider_panel(self) -> None:
|
||||
render_provider_panel(self)
|
||||
|
||||
def _render_persona_selector_panel(self) -> None:
|
||||
render_persona_selector_panel(self)
|
||||
|
||||
#endregion: AI Settings
|
||||
|
||||
#region: Context Management
|
||||
|
||||
def _render_files_and_media(self) -> None:
|
||||
render_files_and_media(self)
|
||||
|
||||
def _render_files_panel(self, height_override: float = 0) -> None:
|
||||
render_files_panel(self, height_override)
|
||||
|
||||
def _render_screenshots_panel(self, height_override: float = 0) -> None:
|
||||
render_screenshots_panel(self, height_override)
|
||||
|
||||
def _render_context_composition_panel(self) -> None:
|
||||
render_context_composition_panel(self)
|
||||
|
||||
def _render_ast_inspector_modal(self) -> None:
|
||||
render_ast_inspector_modal(self)
|
||||
|
||||
def _render_add_context_files_modal(self) -> None:
|
||||
render_add_context_files_modal(self)
|
||||
|
||||
def _render_save_workspace_profile_modal(self) -> None:
|
||||
render_save_workspace_profile_modal(self)
|
||||
|
||||
def _render_context_presets_panel(self) -> None:
|
||||
render_context_presets_panel(self)
|
||||
|
||||
def _populate_auto_slices(self, f_item: models.FileItem) -> None:
|
||||
"""
|
||||
@@ -1055,17 +973,9 @@ class App:
|
||||
slice_data['comment'] = name
|
||||
f_item.custom_slices.append(slice_data)
|
||||
|
||||
def _render_context_screenshots(self) -> None:
|
||||
render_context_screenshots(self)
|
||||
|
||||
def _render_context_batch_actions(self, total_lines: int, total_ast: int) -> None:
|
||||
render_context_batch_actions(self, total_lines, total_ast)
|
||||
|
||||
def _render_context_files_table(self) -> None:
|
||||
render_context_files_table(self)
|
||||
|
||||
def _render_context_presets(self) -> None:
|
||||
render_context_presets(self)
|
||||
|
||||
def _update_context_file_stats(self) -> tuple[int, int]:
|
||||
if not hasattr(self, '_file_stats_cache'): self._file_stats_cache = {}
|
||||
@@ -1101,79 +1011,35 @@ class App:
|
||||
|
||||
#region: Discussions
|
||||
|
||||
def _render_discussion_hub(self) -> None:
|
||||
render_discussion_hub(self)
|
||||
|
||||
def _render_discussion_entries(self) -> None:
|
||||
render_discussion_entries(self)
|
||||
|
||||
def _render_discussion_entry(self, entry: dict, index: int) -> None:
|
||||
render_discussion_entry(self, entry, index)
|
||||
|
||||
def _render_discussion_entry_controls(self) -> None:
|
||||
render_discussion_entry_controls(self)
|
||||
|
||||
def _render_discussion_entry_read_mode(self, entry: dict, index: int) -> None:
|
||||
render_discussion_entry_read_mode(self, entry, index)
|
||||
|
||||
def _render_discussion_metadata(self) -> None:
|
||||
render_discussion_metadata(self)
|
||||
|
||||
def _render_discussion_panel(self) -> None:
|
||||
render_discussion_panel(self)
|
||||
|
||||
def _render_discussion_roles(self) -> None:
|
||||
render_discussion_roles(self)
|
||||
|
||||
def _render_discussion_selector(self) -> None:
|
||||
render_discussion_selector(self)
|
||||
|
||||
def _render_discussion_tab(self) -> None:
|
||||
render_discussion_tab(self)
|
||||
|
||||
def _render_takes_panel(self) -> None:
|
||||
render_takes_panel(self)
|
||||
|
||||
def _render_prior_session_view(self) -> None:
|
||||
render_prior_session_view(self)
|
||||
|
||||
def _render_thinking_indicator(self) -> None:
|
||||
render_thinking_indicator(self)
|
||||
|
||||
def _render_message_panel(self) -> None:
|
||||
render_message_panel(self)
|
||||
|
||||
def _render_synthesis_panel(self) -> None:
|
||||
render_synthesis_panel(self)
|
||||
|
||||
def _render_snapshot_tab(self) -> None:
|
||||
render_snapshot_tab(self)
|
||||
|
||||
def _render_response_panel(self) -> None:
|
||||
render_response_panel(self)
|
||||
|
||||
#endregion: Discussions
|
||||
|
||||
#region: Operations Monitor
|
||||
|
||||
def _render_operations_hub(self) -> None:
|
||||
render_operations_hub(self)
|
||||
|
||||
def _render_tool_calls_panel(self) -> None:
|
||||
render_tool_calls_panel(self)
|
||||
|
||||
def _render_comms_history_panel(self) -> None:
|
||||
render_comms_history_panel(self)
|
||||
|
||||
#endregion: Operations Monitor
|
||||
|
||||
#region: Misc Tools
|
||||
|
||||
def _render_text_viewer_window(self) -> None:
|
||||
render_text_viewer_window(self)
|
||||
|
||||
def _render_base_prompt_diff_modal(self) -> None:
|
||||
render_base_prompt_diff_modal(self)
|
||||
|
||||
def _close_vscode_diff(self) -> None:
|
||||
if hasattr(self, '_vscode_diff_process') and self._vscode_diff_process:
|
||||
@@ -1183,8 +1049,6 @@ class App:
|
||||
pass
|
||||
self._vscode_diff_process = None
|
||||
|
||||
def _render_patch_modal(self) -> None:
|
||||
render_patch_modal(self)
|
||||
|
||||
def _apply_pending_patch(self) -> None:
|
||||
if not self._pending_patch_text:
|
||||
@@ -1230,18 +1094,12 @@ class App:
|
||||
except Exception as e:
|
||||
self._patch_error_message = str(e)
|
||||
|
||||
def _render_external_editor_panel(self) -> None:
|
||||
render_external_editor_panel(self)
|
||||
|
||||
def _render_approve_script_modal(self) -> None:
|
||||
render_approve_script_modal(self)
|
||||
|
||||
#endregion: Misc Tools
|
||||
|
||||
#region: Sanity Tests
|
||||
|
||||
def _render_markdown_test(self) -> None:
|
||||
render_markdown_test(self)
|
||||
|
||||
#endregion: Sanity Tests
|
||||
|
||||
@@ -1269,53 +1127,21 @@ class App:
|
||||
self.active_tickets = new_tickets
|
||||
self._push_mma_state_update()
|
||||
|
||||
def _render_ticket_queue(self) -> None:
|
||||
render_ticket_queue(self)
|
||||
|
||||
def _render_task_dag_panel(self) -> None: # 4. Task DAG Visualizer
|
||||
render_task_dag_panel(self)
|
||||
|
||||
def _render_beads_tab(self) -> None:
|
||||
render_beads_tab(self)
|
||||
|
||||
def _render_mma_dashboard(self) -> None:
|
||||
render_mma_dashboard(self)
|
||||
|
||||
def _render_mma_focus_selector(self) -> None:
|
||||
render_mma_focus_selector(self)
|
||||
|
||||
def _render_mma_modals(self) -> None:
|
||||
render_mma_modals(self)
|
||||
|
||||
def _render_mma_track_summary(self) -> None:
|
||||
render_mma_track_summary(self)
|
||||
|
||||
def _render_mma_epic_planner(self) -> None:
|
||||
render_mma_epic_planner(self)
|
||||
|
||||
def _render_mma_conductor_setup(self) -> None:
|
||||
render_mma_conductor_setup(self)
|
||||
|
||||
def _render_mma_track_browser(self) -> None:
|
||||
render_mma_track_browser(self)
|
||||
|
||||
def _render_mma_global_controls(self) -> None:
|
||||
render_mma_global_controls(self)
|
||||
|
||||
def _render_mma_usage_section(self) -> None:
|
||||
render_mma_usage_section(self)
|
||||
|
||||
def _render_mma_ticket_editor(self) -> None:
|
||||
render_mma_ticket_editor(self)
|
||||
|
||||
def _render_mma_agent_streams(self) -> None:
|
||||
render_mma_agent_streams(self)
|
||||
|
||||
def _render_tier_stream_panel(self, tier_key: str, stream_key: str | None) -> None:
|
||||
render_tier_stream_panel(self, tier_key, stream_key)
|
||||
|
||||
def _render_track_proposal_modal(self) -> None:
|
||||
render_track_proposal_modal(self)
|
||||
|
||||
def request_patch_from_tier4(self, error: str, file_context: str) -> None:
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user