Members

IdeaFileStatusSummaryKatz
ideas_summary_base_scopereqlan rq/extension/workspace-summary/ideas_summary/base-scope.rqdoneIdeas Summary is scoped to one [bases.base] at a time. - Active base defaults to the longest-matching base root for the focused editor ( [bases.implied_context] ). - Chrome includes an explicit base switcher; Overview, Bases, Ideas, Ideasets, Attributes, References, Graph, Timeline, and Index tabs bind to the selected base's index only ( Bases lists all discovered bases; Index is last ). - Switching base is a pointer swap ( [bases.active_base_switch] ): pin via `setActiveBaseId`, rebind status / tables / graph UI immediately — do not await sync on the switch call; not-ready bases get fire-and-forget open + soft-sync catch-up. - Graph UI persistence is per-base: workspaceState key `reqlan.ideasSummary.graphUi.<baseId>` via [graph_ui_state]. - Activity bar " Open in Ideas Summary " passes the current active base id into [ideas_summary_panel]. - No merged cross-base tables or graphs in this pass ( [bases.multi_base_environment] ).0.081
cola_vs_phyicsreqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqthe user should have a constraint based layout; and a physics based layout; and some other options.0.040
control_panelreqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqFloating 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].0.102
file_treatment_togglereqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqdoneToolbar dropdown selects how hosting `.rq` files ( implicit ideasets ) appear in the graph — distinct from explicit AST `ideaset` declarations and from external `file:` reference nodes. Options ( with info tooltips / help text ): - invisible / Hidden — no file containers or file leaf nodes; ideas float free - compound — one compound parent per hosting file ( basename label ); nests under folder / tag compounds when Controls → Compound is also on. Containers are draggable ( members move with the box; live physics pins descendants while dragging ). Clicking the title opens the file; double-click also opens. - linked / Linked nodes ( default ) — synthetic ideaset-styled leaf per hosting file ( `rq-file:…` ) with `ideaset_member` edges to ideas in that file; click / dbl-click opens the hosting file like other nodes. Client reshape via `applyFileTreatment` in ["../../../../packages/extension/webviews/shared/graph/file-treatment.ts"]; no re-query on mode flip. Ideas Summary: `FileTreatmentSelect` on GraphControls; persisted as `fileTreatment` in [graph_ui_persistence]. HTML export: same three options via a select; compound boxes are hittable / draggable with clickable titles; linked nodes carry `pageUrl` / `hostFilePageUrl` for navigation. Related: [graphical_graph], [ui_controls], [webview_export_graph_parity], ["../../../ontology.rq".file], ["../../../ontology.rq".ideaset], [html_export_graph_page].0.170
graph_loadingreqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqthe extension pushes graphSlice when the index is ready — no empty waitingForIndex wedge. ["../../../../packages/extension/src/ideas_summary_module/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 ["../../../../packages/extension/webviews/ideas-summary/state/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 ["../../../../packages/extension/webviews/ideas-summary/lib/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.0.045
graph_ui_persistencereqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqKey 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/ideas_summary_module/shared/graph-ui-state.ts"]; the host reads / writes it from ["../../../../packages/extension/src/ideas_summary_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, fileTreatment, 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 / fileTreatment to GraphCyController when those fields change. The first graph load waits for graphUiState so restored node budget is included in loadGraph.0.165
graphical_graphreqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqThere should be a tab that renders requirement ideas and references as a force-directed web. The graph tab lives in the Ideas Summary webview per [ideas_summary]. UI is implemented in ["../../../../packages/extension/webviews/ideas-summary/components/GraphView.svelte"]. Graph slices are built in ["../../../../packages/analytical/src/index-store/webview-graph-queries.ts"] and served by ["../../../../packages/extension/src/ideas_summary_module/ideas-summary-panel.ts"]. By default the view focuses on the active editor file's first idea; without a focus it shows a capped slice of matching ideas rather than dumping the full graph. Users can filter by search text, path, multi-select @ status, and multi-select tags per [graph_status_tag_filters]. An " Indirect references " toggle expands neighbourhood depth from 1 to 2 hops. A " Wildcard refs " toggle includes or hides edges expanded from path + idea wildcards per [wildcard_refs_toggle] ["@/reqlan rq/language/imports.rq".wildcard_references] A " Files " dropdown selects hosting- `.rq` treatment per [file_treatment_toggle] ( hidden / compound containers / linked ideaset nodes ), with per-option info tooltips. Interactive graph controls that also exist on HTML export must stay aligned per [webview_export_graph_parity]. Clicking a node opens its source; double-click or " Focus graph " recenters the slice on that idea. Linked file ideaset nodes and file-compound titles open the hosting `.rq` file per [file_treatment_toggle]. External file references render as dashed edges to file nodes; wildcard-fan-out edges render dotted. A toggleable key explains node colours and edge styles and toggles node-type visibility per [key_panel_toggle]; a toggleable [control_panel] exposes layout, physics, and node-budget settings. Key and Controls state persist per workspace via [graph_ui_persistence]. Pan, zoom, and drag repositioning per [view_controls]. [manual_reframe] via " Fit to view " in [ui_controls]; [auto_reframe] when the loaded node set changes; [reframe_animation] for smooth transitions after the first paint. Node text labels per [graph_labels], [graph_label_modes], and [graph_label_auto]. Layout, compound grouping, and live physics behaviour per [layout_physics], [layout_options], [physics_options], and [compound_graph]. Cytoscape lifecycle and threading constraints per [graph_cy_controller] and [webview_threading].0.207
key_and_controlsreqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqthere is a toggle that open a key; and a toggle that opens a [control_panel].0.040
key_panel_togglereqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqthe key panel should be able to toggle inclusion / visibility of the different node types. Node-type rows in ["../../../../packages/extension/webviews/ideas-summary/components/GraphKeyPanel.svelte"] are toggle buttons; hidden types render dimmed with a struck-through label. Toggleable types are block, one-liner, ideaset, focused idea, and external file — GraphNodeTypeId in ["../../../../packages/extension/webviews/shared/graph/graph-theme.ts"], classified per node by graphNodeTypeId ( same priority as node fill colour ). Linked file ideaset nodes ( `isFileIdeaset` ) classify as ideaset for Key toggles; file compound containers are legend-only ( " File group " ) and follow member visibility like other compounds. GraphView tracks hidden types and calls GraphCyController. setHiddenNodeTypes in ["../../../../packages/extension/webviews/shared/graph/graph-cy-controller.ts"], which flags matching nodes with data typeHidden; a display: none stylesheet rule in ["../../../../packages/extension/webviews/shared/graph/graph-cytoscape.ts"] hides them, and cytoscape hides edges whose endpoint is hidden. Compound containers whose members are all hidden are hidden too. Hiding is client-side visibility only: the slice still contains the nodes, node / edge counts are unchanged, and flags reapply after every slice sync. Key open state and hidden node types persist per [graph_ui_persistence].0.067
libraryreqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqshould consume the [graph_library]0.040
node_truncationreqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqnodes 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 ["../../../../packages/analytical/src/index-store/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.0.054
referenced_files_groupingreqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rq[referenced_files] should be grouped into a common node if they're referenced by multiple ideas. Line numbers should be treated like ideas if specified, such that the reference points to items in rendered graph.0.046
rootreqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rq["../../../../packages/extension/webviews/ideas-summary/components/GraphView.svelte"]0.040
ui_controlsreqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqControls 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. Files dropdown ( [file_treatment_toggle] ) uses ["../../../../packages/extension/webviews/ideas-summary/components/FileTreatmentSelect.svelte"] with Hidden / Compound / Linked options and info tooltips; selection patches `fileTreatment` in [graph_ui_persistence]. 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.0.167
webview_export_graph_parityreqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqdoneInteractive graph behaviour that authors rely on in Ideas Summary must have a matching affordance on the HTML export workspace graph ( [html_export_graph_page] ) unless a requirement explicitly scopes it to one host. Shared today: Labels auto / on / off, live physics, Fit, status / tag filters, path / search filters, hide external files, hide ideasets ( explicit AST ), [file_treatment_toggle] ( dropdown with the same three modes, compound drag / title-open, linked-node open ), and [wildcard_refs_toggle] ( default on; dotted wildcard edges ). Ideas Summary may still differ where the host model differs: Indirect refs rebuilds hop depth via `buildGraphViewSlice` ( export freezes neighbourhood at snapshot time — no Indirect chip ); Key / Controls panels and node-budget controls are webview-only; export uses client-side filters on the embedded graph JSON rather than re-querying the index; Ideas Summary uses cytoscape compound parents while export draws AABB compound boxes on canvas. When adding a new Ideas Summary graph chip or edge style, update [html_export_graph_page] ( or document an intentional exception here ) and keep labels / defaults aligned across surfaces. Related: [graphical_graph], [wildcard_refs_toggle], [file_treatment_toggle], [ui_controls], [graph_labels], [graph_label_modes], [graph_status_tag_filters].0.165
wildcard_refs_togglereqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rqdoneToolbar chip " Wildcard refs " ( next to Indirect refs ) on GraphControls toggles `GraphViewQuery.includeWildcardRefs`. Default true — edges of kind `wildcard_reference` from the indexer fan-out stay visible ( ["../../../indexer/indexer.rq".wildcard_reference_edges] ). When false, `buildGraphViewSlice` omits those edges and does not expand neighbourhood through them ( `includeWildcardRefs!== false` normalisation in Ideas Summary host + analytical query ). Distinct from plain `references` and from the Indirect refs depth toggle; Key legend shows a dotted " Wildcard reference " row; cytoscape marks `edge[?isWildcard]` with `line-style: dotted`. Query field flows Ideas Summary loadGraph → `buildGraphViewSlice` in ["../../../../packages/analytical/src/index-store/webview-graph-queries.ts"]. HTML export workspace graph has the same chip ( client filter on embedded edges; dotted stroke ) per [webview_export_graph_parity] and [html_export_graph_page]. Related: ["../../../language/imports.rq".wildcard_references], ["../../../indexer/indexer.rq".wildcard_reference_edges], ["../../../indexer/indexer.rq".index], [graphical_graph], [ui_controls], [webview_export_graph_parity].0.308
attributes_tabreqlan rq/extension/workspace-summary/ideas_summary/webview.rqAttributes index for the active base, aligned with [html_export.html_export_attributes_index]: attribute key, idea count, distinct value count, sample values. Searchable and filterable; clicking a key opens Ideas with that attribute column enabled. Aggregated in [webview_table_queries] / sqlite store.0.045
bases_tabreqlan rq/extension/workspace-summary/ideas_summary/webview.rqdoneTable of discovered [ontology.base] entries in the workspace ( label, path, ready, idea / edge / issue counts, state ). Selecting a row pins that base ( pointer swap ) per [ideas_summary_base.ideas_summary_base_scope]. Filterable / sortable / column options like other tables; data comes from index status, not a merged cross-base SQLite dump. Client-side search and column filters via [BasesTable] / bases-filter matcher.0.045
graph_viewreqlan rq/extension/workspace-summary/ideas_summary/webview.rqIdeas Summary provides a requirements graph view showing ideas and their references as nodes and edges. The graph view should support navigation from a node to its source definition in the editor. Users should be able to filter or focus the graph by file, ideaset, tag, or status.0.040
graphical_graph_tabreqlan rq/extension/workspace-summary/ideas_summary/webview.rqsee [graphical_graph_doc.graphical_graph]0.040
group_by_typereqlan rq/extension/workspace-summary/ideas_summary/webview.rqIdeas table can group by idea kind ( block / oneliner ). References table can group by reference type ( file / comment / sub-idea ). Grouping is a toolbar toggle; rows are ordered by group then the active sort; UI shows collapsible group headers.0.061
ide_page_reportsreqlan rq/extension/workspace-summary/ideas_summary/webview.rqIdeas Summary provides dedicated report pages inside the IDE ( graph page and status table at minimum ). Report pages may render computed information that is not present as literal text in source files.0.040
idea_sets_tabreqlan rq/extension/workspace-summary/ideas_summary/webview.rqThe idea sets page should list the ideasets unlike the ideas page, it should not directly to the ideaset, but should have a dropdown to it's items. the path column should link to the ideaset source. members should appear as chips with a … control to expand and show all member chips when needed. per [IdeasetsTable]0.052
ideas_listreqlan rq/extension/workspace-summary/ideas_summary/webview.rqdone- [IdeasTable] - filterable and sortable via [TableToolbar], [ColumnFilterRow], and [SortableTh] - column show / hide via [TableOptionsMenu] / [table_column_options] - wide tables scroll horizontally in a `.table-scroll` viewport ( columns keep min widths; no crush-to-fit ) - groupable by idea kind ( block / oneliner ) per [group_by_type] - other attributes shown as expandable chips per [ChipList] - clicking an attribute chip adds a column, filters to ideas with a non-null value for that attribute, and sorts by it ( combinable with other filters ) - references split into outbound and inbound chip columns with counts - clicking a reference chip filters ideas that share that edge ( combinable with other filters ) - block idea bodies shown in a scrollable cell per [IdeaBodyCell] - columns for [git_idea_timeline_analysis]: first committed, last modified, and change count - read from indexed `git_created_at` / `git_modified_at` / `git_change_count` only - empty cells until ["../../index-host/git-codelens.rq".git_dates_background_indexing] fills them; main table load never runs git [ideas_list_git_columns_performance] [ideas_list_git_date_format]0.079
ideas_list_git_columns_performancereqlan rq/extension/workspace-summary/ideas_summary/webview.rqdoneIdeas table pages that show [git_idea_timeline_analysis] columns must read indexed `git_created_at` / `git_modified_at` / `git_change_count` only — never invoke git or the `git_dates` analyser on the UI query path. At ~ 2 k ideas, a 50 - row page ( including sorts by git modified / change count ) must stay interactive: absolute budgets plus relative guards vs path sort and vs a simulated per-row git walk. Missing-id backlog queries for background fill must also stay fast once the index is filled. Implemented by ["../../../../packages/analytical/src/index-store/sqlite-store.ts"] ( `listIdeasPage`, `listIdeaIdsMissingGitDates` ). [ideas_list] [git_idea_timeline_analysis]0.050
ideas_list_git_date_formatreqlan rq/extension/workspace-summary/ideas_summary/webview.rqdoneFirst committed / last modified cells in [ideas_list] must display a stable `YYYY-MM-DD` authored calendar date from indexed git `%aI` timestamps ( not locale-dependent `toLocaleDateString`, and not raw ISO / patch junk ). Invalid, empty, or non-date values render as an em dash ( `—` ). The `git_dates` analyser must only persist ISO author-date lines so patch hunks never become stored " dates ". Implemented by ["../../../../packages/extension/webviews/ideas-summary/lib/format-git-date.ts"] and ["../../../../crates/reqlan-index/src/git_dates.rs"] ( `parseGitAuthorDates` ). [ideas_list] [git_idea_timeline_analysis]0.050
ideas_summaryreqlan rq/extension/workspace-summary/ideas_summary/webview.rqThe Ideas Summary webview is a workspace-wide page for tables ( and graph ) summarising ideas per [simple_views] and [webview_doc.webview]. Tabs align with salient [ontology] data and HTML export list views ( [html_export.html_export_list_views] ): [ontology_aligned_tabs]. It should be performance conscious and avoid full-graph dumps unless requested by the user. It should be paginated. It should be filterable and sortable via a ui-sql layer per [table_column_filters] and [table_column_options]. Webview UI is implemented with Svelte per [development_core] the extension host loads compiled assets from `packages/extension/media/webviews/ideas-summary` ( Vite output of [ideas_summary_webview] ) table queries are built in [webview_table_queries] the extension host forwards query state through [ideas_summary_panel] Ideas Summary chrome should include a link that opens [features_export.export_webview]. Multi-base scope and switcher: [ideas_summary_base.ideas_summary_base_scope].0.134
ideas_table_filtersreqlan rq/extension/workspace-summary/ideas_summary/webview.rqdonethe ideas table should support text search, column sorting, and attribute-column filters driven by chip clicks. attribute filters require a non-null attribute value in sqlite json per [webview_table_queries] reference chip filters match outbound / inbound edges by target or source id per [webview_table_queries] chips are right-aligned so truncated labels keep the informative suffix visible. active attribute and reference filters appear as removable chips in the table toolbar. Also [table_column_filters], [table_column_options], and [group_by_type].0.040
index_panelreqlan rq/extension/workspace-summary/ideas_summary/webview.rqLast tab: workspace index health — readiness, summary stats, sync progress, errors, refresh / cancel / clear-and-rebuild. per [index_reqs.idea_index_triggers] and ["../../../indexer/indexer.rq".nonblocking_index] Implemented by [IndexPanel].0.120
index_panel_base_supportreqlan rq/extension/workspace-summary/ideas_summary/webview.rqdoneThe [index_panel] / Ideas Summary chrome supports switching between bases in the workspace. Switch is a pointer swap per ["../../../bases/base.rq".active_base_switch] and ["./base-scope.rq".ideas_summary_base_scope] — rebind views, do not sync.0.040
ontology_aligned_tabsreqlan rq/extension/workspace-summary/ideas_summary/webview.rqTab order: Overview, Bases, Ideas, Ideasets, Attributes, References, Graph, Timeline, Index. Index is last — workspace index health and maintenance, not the primary browsing surface. Covers [ontology.base], [ontology.idea], [ontology.ideaset], [ontology.attribute], [ontology.reference], the graph cartography tab, and [timeline_page]; Overview mirrors HTML export home metrics lightly. Files / clusters / print families stay export-only for now.0.086
overview_coverage_scoresreqlan rq/extension/workspace-summary/ideas_summary/webview.rqdoneCollapsible " Coverage " section on [overview_page] / [OverviewPanel]. Product-facing metrics for how thoroughly ideas map into the active base's project files ( respecting ["../../host/configuration.rq".configuration_rqignore] ): - Linked files: percent of project files ( non-requirement, non-ignored ) that ideas reference — exact path match after resolve, or under a referenced folder. Show " N of M project files ". - Requirement density: ideas per thousand lines of eligible project code; also show idea count and line count. - Linked paths: distinct files or folders referenced from ideas. - Requirement files: count of requirement documents in the base. Collapsed by default. Calculate only when the user expands the section ( not on Overview open / tab switch ). Non-blocking: host work must not stall Overview chrome or other tabs; show a loading state until the result arrives. When the index is not ready or calculation fails, show a clear message — never fake zero scores. Recalculate on expand when the active base changes or when the user refreshes; otherwise reuse the last result for the session.0.047
overview_pagereqlan rq/extension/workspace-summary/ideas_summary/webview.rqFirst tab: a workspace overview for the active base — product-facing copy ( not index / debug jargon ). - At a glance: idea count, reference count, issues, bases, and a friendly readiness status. - Coverage: collapsible [overview_coverage_scores] ( lazy, non-blocking ). - Search: live cross-surface search over ideas, ideasets, attributes, and references for the active base; results group by surface with sample hits and actions to open the matching tab with the query applied ( [overview_search] ). - Export: buttons that open [features_export.export_webview] with HTML, Markdown, JSON, CSV, or PDF pre-selected ( or the form without a format override ). - Links: project site, support / email, GitHub. - Recent index / analyse activity preview ( idea names when available ) with a link to [timeline_page] for idea git history — this preview is not a git surface.0.057
overview_searchreqlan rq/extension/workspace-summary/ideas_summary/webview.rqOverview search fans out across Ideas, Ideasets, Attributes, and References using the same ui-sql filters as those tabs. Debounced; returns counts plus a short sample of hits per surface; clicking a hit opens the idea ( or the attribute → Ideas handoff ); " Open in … " applies the search string on that tab.0.047
pagesreqlan rq/extension/workspace-summary/ideas_summary/webview.rq- ideas summary [ideas_summary_panel] - header / status chrome with base switcher and link to [features_export.export_webview]; error state of the status chrome per ["../../local-context/activitybar.rq".error_status_bar] - [overview_page] [OverviewPanel] - [bases_tab] [BasesTable] - [ideas_list] - ideasets [IdeasetsTable] / [idea_sets_tab] - filterable and sortable via ui-sql layer; column filters and options - [attributes_tab] [AttributesTable] - references [ReferencesTable] - filterable and sortable via ui-sql layer; groupable by reference type per [group_by_type] - Graph view: see [graphical_graph_doc.graphical_graph] - [timeline_page] [TimelinePanel] - [index_panel] [IndexPanel] ( last tab — index health )0.040
simple_viewsreqlan rq/extension/workspace-summary/ideas_summary/webview.rqIdeas Summary tables cover ideas ( title, path / namespace, main and other attributes, reference counts ) and references ( source and target path / namespace, whether in `.rq`, reference type ).0.058
status_tablereqlan rq/extension/workspace-summary/ideas_summary/webview.rqIdeas Summary should render a status table summarising ideas by lifecycle state, priority, and completion. The status table should support sorting and filtering by tags and attributes.0.040
table_column_filtersreqlan rq/extension/workspace-summary/ideas_summary/webview.rqdoneEvery data table supports a global search and a per-column filter row ( [ColumnFilterRow] ), matching the usability of [html_export.html_export_list_views]. Text / path / body columns use searchable inputs; closed sets ( idea kind, reference type, ideaset kind, base ready ) use select / multi-select from a fixed option list. Typed filter / search text must keep spaces through the host round-trip ( do not trim the echoed query — SQL matchers may trim only when building LIKE patterns ). Select filters must support deselect / clear back to " All " ( controlled select value + clear control for multi-select ). Column filters are applied in the ui-sql layer ( [webview_table_queries] ) together with existing chip filters. Table panels must bind AppState query / rows via Svelte 5 `$derived` ( not legacy `$:` ) so filtered results from the extension message listener re-render — same pattern as [graphical_graph_doc.graphical_graph] / GraphView. Bases table filters client-side in the webview; other tables round-trip search through [ideas_summary_panel].0.072
table_column_optionsreqlan rq/extension/workspace-summary/ideas_summary/webview.rqEach table has an Options control ( [TableOptionsMenu] ) to show or hide columns. Visibility persists per tab in workspaceState via [table_ui_state].0.073
timeline_pagereqlan rq/extension/workspace-summary/ideas_summary/webview.rqdoneTimeline tab shows the evolution of ideas for the active base — not raw file-index noise. Sources: - Git idea lifecycle from indexed `git_created_at` / `git_modified_at` ( created + last edited as separate events when they differ ) - Session idea reindex activity ( one event per idea persisted, with name / status / summary when available ) Missing git dates are filled by the silent background indexer ( ["../../../indexer/indexer.rq".git_dates] / ["../../index-host/git-codelens.rq".git_dates_background_indexing] ) — opening Timeline must not run git log on the UI path. Reindex must preserve existing git dates across upsert. Entries are reverse-chronological, filterable by source ( git / reindexed ), and clickable to open the idea. Each event surfaces idea-centric info: name, short summary, status, kind / tags, and path. Full live multi-commit git log browsing remains out of scope; this surfaces indexed idea history first.0.085