Printable idea sheet
graph_loading
reqlan rq/extension/module/ideas_summary/graphical_graph.rq:41
the extension pushes graphSlice when the index is ready — no empty waitingForIndex wedge.
ideas-summary-panel.ts sets graphSlicePending on loadGraph and delivers the slice when the index becomes ready ( including via index status updates ).
Index status posts must not await graph slice builds, so sync progress keeps updating the Index tab.
webview state in app.svelte.ts is query, slice, loading, rendering, and error only.
App. init attaches the window message listener during App. svelte script setup ( before child onMount ) so loadGraph replies are never dropped.
GraphView marks a slice as synced only in onRendered ( after cytoscape flush + layout ), not before syncSlice is queued.
Webview → extension posts go through vscode.ts which JSON-clones payloads so Svelte $ state proxies are structured-clone safe.
GraphView remount reuses app. graph. slice when present; it only loadGraphs when there is no slice and nothing in flight, or force-retries after an error.
GraphView mounts only while the graph tab is active ( see TabPanels ); per graph_cy_controller do not keep cytoscape alive under display: none.
Interactive page: graph_loading