Idea detail
ui_controls
reqlan rq/extension/module/ideas_summary/graphical_graph.rq:30
Summary
Controls live in GraphControls.svelte and dispatch events to GraphView.
manual_reframe — " Fit to view " calls GraphCyController. reframeToViewport per reframe_view.
auto_reframe and reframe_animation are handled by the shared controller; no extra UI beyond pan / zoom / drag.
Labels control cycles graph_label_modes ( auto / on / off ) and applies graph_label_auto via GraphCyController. setLabelMode.
Status and tag filters are multi-select dropdowns per graph_status_tag_filters.
The Key button toggles a draggable legend panel in GraphKeyPanel.svelte over the graph canvas.
The Controls button toggles control_panel.
Overlay panels ( Key and Controls ) are siblings of the cytoscape mount inside a graph-surface-wrap — never children of the cy container — so native form controls receive pointer events.
Navigation
Attributes
No attributes declared.
Ancestor context
Floating panel in ["../../../packages/extension/webviews/ideas-summary/components/GraphControlPanel.svelte"], toggled from [ui_controls]. Provides layout algorithm selection, live-physics toggle, compound grouping, physics force sliders, max node count, and truncation basis. Physics tunables call GraphCyController. setPhysicsSettings; node budget changes re-request the graph slice via loadGraph. Mounted as a sibling of the cytoscape container ( not inside it ) so range sliders and selects work with native browser events. When positioned, a ResizeObserver on the surface wrap reclamps panelX / panelY so the panel stays fully inside after the webview is resized; Key panel uses the same reclamp. Open / closed state and all control values persist per [graph_ui_persistence].
graph_ui_persistenceKey and Controls state is stored in VS Code ExtensionContext. workspaceState under key GRAPH_UI_WORKSPACE_STATE_KEY ( reqlan. ideasSummary. graphUi ). Shape and normalisation live in ["../../../packages/extension/src/webview_module/shared/graph-ui-state.ts"]; the host reads / writes it from ["../../../packages/extension/src/webview_module/ideas-summary-panel.ts"]. On webview ready the extension posts graphUiState; the webview posts persistGraphUiState ( debounced ) whenever AppState. patchGraphUi runs in ["../../../packages/extension/webviews/ideas-summary/state/app.svelte.ts"]. Persisted fields: showKey, showControls, hiddenNodeTypes, layoutId, useCompound, compoundBasisId, animatePhysics, labelMode, maxNodes, truncationBasis, and the five physics sliders ( gravity, repulsion, linkStrength, linkDistance, damping ). GraphView in ["../../../packages/extension/webviews/ideas-summary/components/GraphView.svelte"] treats app. graph. ui as the source of truth and applies layout / physics / hidden types / label mode to GraphCyController when those fields change. The first graph load waits for graphUiState so restored node budget is included in loadGraph.
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| file_reference | ../../../packages/extension/webviews/ideas-summary/components/GraphControls.svelte | reqlan rq/packages/extension/webviews/ideas-summary/components/GraphControls.svelte | GraphControls.svelte |
| file_reference | ../../../packages/extension/webviews/ideas-summary/components/GraphKeyPanel.svelte | reqlan rq/packages/extension/webviews/ideas-summary/components/GraphKeyPanel.svelte | GraphKeyPanel.svelte |
| references | control_panel | reqlan rq/extension/module/ideas_summary/graphical_graph.rq | control_panel |
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| references | control_panel | reqlan rq/extension/module/ideas_summary/graphical_graph.rq | ui_controls |
| references | graphical_graph | reqlan rq/extension/module/ideas_summary/graphical_graph.rq | ui_controls |
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| references | auto_reframe | auto_reframe | |
| references | graph_label_auto | graph_label_auto | |
| references | graph_label_modes | graph_label_modes | |
| references | graph_status_tag_filters | graph_status_tag_filters | |
| references | manual_reframe | manual_reframe | |
| references | reframe_animation | reframe_animation | |
| references | reframe_view | reframe_view |
Initialising graph…