(ctx: &mut ScriptContext<'_, API>, view: &EditorView)
| 212 | _ => {} |
| 213 | } |
| 214 | } |
| 215 | |
| 216 | pub fn refresh_all<API: ScriptAPI + ?Sized>(ctx: &mut ScriptContext<'_, API>) { |
| 217 | capture_editor_output(ctx); |
| 218 | sync_selected_skeleton_bones(ctx); |
| 219 | let view = with_state!(ctx.run, EditorState, ctx.id, EditorView::from_state).unwrap_or_default(); |
| 220 | refresh_chrome_view(ctx, &view); |
| 221 | refresh_manager_view(ctx, &view); |
| 222 | refresh_node_picker_view(ctx, &view); |
| 223 | refresh_files_view(ctx, &view); |
| 224 | refresh_tabs_view(ctx, &view); |
| 225 | refresh_scene_pane_view(ctx, &view); |
| 226 | refresh_inspector_view(ctx, &view); |
| 227 | } |
| 228 | |
| 229 | // Narrow refreshes: most events touch one panel; rebuilding every panel |
| 230 | // (tree lists, inspector rows) per event was the bulk of click latency. |
| 231 | |
| 232 | /// File panel + status only (folder expand/collapse, file-local ops). |
| 233 | pub fn refresh_file_panel<API: ScriptAPI + ?Sized>(ctx: &mut ScriptContext<'_, API>) { |
| 234 | capture_editor_output(ctx); |
| 235 | let view = with_state!(ctx.run, EditorState, ctx.id, EditorView::from_state).unwrap_or_default(); |
| 236 | refresh_files_view(ctx, &view); |
| 237 | refresh_status_view(ctx, &view); |
| 238 | } |
| 239 | |
| 240 | /// Scene tree pane + status only (node expand/collapse). |
no test coverage detected