Referenced by5
Labels4

Referencing ideas

IdeaStatusTagsSummaryKatz
html_exportdone`@reqlan/analytical` builds documentation as HTML from the requirement graph ( ["./export.rq".export_pipeline], [analysis_scope] ). Html export should render ideas, attributes, references, and navigable structure suitable for sharing. Pipeline: `NativeAnalysisApi.exportHtml` / `AnalysisRuntime.export` → `reqlan-export` snapshot ( `build_export_snapshot` ) → multi-file static site ( `write_html_export` ). Single-file mode remains optional via [html_export_runtime_modes]. Interactive graph / search JS stays bundled static assets ( [html_export_graph_layout] ), not a second writer ( ["./rust_port.rq".export_rust] ). Thin hosts: extension UI ( ["../extension/export/export.rq".export_webview], ["../extension/export/html-export.rq".html_export_form], ["../extension/export/export.rq".export_html] ) and CLI ( `reqlan export` / ["../cli/cli_package.rq".commands] ). Export is scoped to a selected ["../bases/base.rq".base] ( not a merged multi-base workspace graph ). [html_export_multi_file] [html_export_internal_links] [html_export_idea_tooltips] [html_export_layout_cards] [html_export_heading_tooltips] [html_export_table_columns] [html_export_search] [html_export_list_views] [html_export_overview_links] [html_export_idea_pages] [html_export_file_pages] [html_export_code_reference_pages] [html_export_cluster_pages] [html_export_graph_page] [html_export_attributes_index] [html_export_attribute_pages] [html_export_printable_pages] [html_export_print_idea_cards] [html_export_print_body_whitespace] [html_export_print_in_page_anchors] [html_export_print_all_attributes] [html_export_print_button] [html_export_print_order_by] [html_export_runtime_modes] [html_export_scrollable_lists] [html_export_header_link] [html_export_url_base] [html_export_katz_column]0.201
html_export_graph_animationLive physics in the HTML export should match Ideas Summary animatePhysics: continuous damped semi-implicit Euler using the defaults from ["../../packages/extension/webviews/shared/graph/physics-core.js"] ( same module as ["../../packages/extension/webviews/shared/graph/graph-physics.ts"] ), inlined in ["../../crates/reqlan-export/assets/app.js"]. A Live physics toggle pauses and resumes the same simulation state ( default off ); when off, the graph batch-settles then sleeps. Batch settle must remain responsive per [html_export_graph_background_load] — yield between chunks rather than freezing the page for large graphs. Simulation should converge and sleep when calm, waking on filter changes or when Live physics is turned back on, aligned with [layout_physics]. Large graphs use a spatial grid + repulsion cutoff in the shared core; all nodes and full labels remain visible.0.093
html_export_graph_layoutThe interactive export graph should lay out nodes so labels and circles do not heavily overlap. Initial placement should settle with the same Obsidian-style force model as [layout_physics] ( central gravity, edge springs, inverse-square repulsion ). Rendering uses canvas 2 d ( not SVG DOM ) with shared physics from ["../../packages/extension/webviews/shared/graph/physics-core.js"], inlined into the export asset ["../../crates/reqlan-export/assets/app.js"].0.121
graph_designThe graph should show nodes for ideas and files and edges for references. Used by Ideas Summary, activity-bar minigraph, and export previews.0.040
layout_physicsdefaults to force-directed layout ( fcose ) with animation on, but callers can select other options offered by cytoscape. js. a toggle leaves layout animation and live physics on for force-directed layouts instead of settling immediately. live physics is the custom obsidian-style simulation in ["../../../packages/extension/webviews/shared/graph/graph-physics.ts"] ( force core: ["../../../packages/extension/webviews/shared/graph/physics-core.js"] ), regardless of which force-directed batch layout produced the initial settle. forces are central gravity toward the centroid, linear edge springs, and inverse-square node repulsion; every childless node participates, including disconnected orphans. group container constraints live in ["../../../packages/extension/webviews/shared/graph/graph-groups.ts"]: each leaf carries data ( ' groupIds' ); disjoint groups are pushed apart after batch cola / fcose and during Animate; groups that share a member ( multi-membership, e. g. tags ) may overlap around the shared node. the simulation is deterministic ( no randomness ) and converges slowly over tens of seconds, then sleeps; interactions wake it instead of restarting it. dragging pins the held node while the sim keeps running around it; release rejoins the node at rest with no snap; clicks never disturb the sim. Dragging a compound container pins every childless descendant for the same reason ( see [graph_cy_controller] ). cycling the Animate toggle pauses and resumes the same simulation state, so it converges to the same attractor as leaving it on.0.096

Reference labels

"../../../packages/extension/webviews/shared/graph/physics-core.js", "../../packages/extension/webviews/shared/graph/physics-core.js", ../../../packages/extension/webviews/shared/graph/physics-core.js, ../../packages/extension/webviews/shared/graph/physics-core.js