Idea detail
node_truncation
reqlan rq/extension/module/ideas_summary/graphical_graph.rq:53
Summary
nodes are truncated if there are too many.
the count should be configurable; as should the truncation basis ( last changed.., last accessed.., owned by etc. )
Max nodes and keep-by basis are edited in control_panel; query fields are maxNodes and truncationBasis on GraphViewQuery.
Default budget is GRAPH_MAX_NODES ( 120 ); hard ceiling is GRAPH_NODES_HARD_CAP ( 1000 ) in webview-graph-queries.ts — raise that constant to lift the cap.
Supported bases today: path, git-modified, git-created ( git timestamps from the index ). Last-accessed / owned-by need index fields before UI can offer them.
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].
ui_controlsControls live in ["../../../packages/extension/webviews/ideas-summary/components/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 ["../../../packages/extension/webviews/ideas-summary/components/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.
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/analytical/src/index-store/webview-graph-queries.ts | reqlan rq/packages/analytical/src/index-store/webview-graph-queries.ts | webview-graph-queries.ts |
| references | control_panel | reqlan rq/extension/module/ideas_summary/graphical_graph.rq | control_panel |
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| None | |||
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| None | |||
Initialising graph…