brainstorm reactor
Idea Lab (Spatial Canvas)

Text is inadequate for rendering complex dependencies and non-linear argumentation structures.

The Spatial Interface Lab is a full-screen 2D canvas where an LLM generates structured Cognitive Nodes as JSON and streams them in real time. Each node carries an epistemic type, a confidence score, and semantic metadata. The canvas replaces linear chat output with a queryable semantic graph — a thinking space where ideas are spatially organized, connected, and evaluated.


Cognitive Architecture

Node Taxonomy

16 epistemic types, implemented across three phases. Each type enforces a specific cognitive operation.

TypeCognitive FunctionColor AccentShape
FactVerified information, data pointBlueStructured (8px radius)
HypothesisTestable claim, working assumptionGreenExploratory (12px radius)
WildcardHigh-divergence break, unexpected connectionFuchsiaOrganic (asymmetric)
ConstraintHard boundary, limiting factorAmberStructured (8px radius)
SynthesisConvergence point distilled from multiple sourcesCyanExploratory (12px radius)
ProvocationDe Bono "PO" — intentionally absurd, Devil's AdvocateRedOrganic (asymmetric)
AnalogyAbstracted concept from a foreign domainVioletExploratory (12px radius)
ContradictionTwo opposing assumptions in direct conflictOrangeExploratory (12px radius)
AssumptionUnchallenged premise — Smart Friction: Assumption SurfacingGrayStructured (8px radius)
QuestionOpen inquiry, Socratic probingSkyExploratory (12px radius)
OperatorSCAMPER/TRIZ operator (drag-and-drop onto target node)PinkExploratory (12px radius)
SnippetCut-up micro-fragment from an exploded Fact nodeLimeOrganic (asymmetric)
DisruptorOblique Strategy — external perturbation (after Brian Eno)RoseOrganic (asymmetric)
RorschachTypographic ambiguity — surrealist inkblot conceptTransparent—
inference_ruleLogical inference step / S-Node (ASPIC+/AIF standard)IndigoStructured (8px radius)
inference_conflictInconsistent inference conflict / S-Node (ASPIC+/AIF standard)PurpleStructured (8px radius)

Topological Metaphor (Shape Language): Node shapes encode epistemic character. Stable, verified types (Fact, Constraint, Assumption) use tight corners that signal order and structural integrity. Exploratory types (Hypothesis, Question, Analogy) use softer, rounded corners that signal openness. Divergent types (Wildcard, Provocation, Disruptor, Snippet) break symmetry entirely with asymmetric organic border radii (20px 6px 20px 6px) — signaling creativity, disruption, and cognitive novelty through form rather than color alone.

Source (Shape Psychology): Research on geometric form perception in UI design. Squares with straight edges suggest stability and discipline. Organic, asymmetric forms evoke nature, authenticity, and creative renewal. The conscious violation of visual consistency forces the user to acknowledge the inner complexity of divergent content.

Source (Node Taxonomy): Internal research analysis based on 7 analyzed documents, including the Tools-for-Thought framework (Microsoft Research, 2022–2024), Bloom's Taxonomy of the Cognitive Domain (1956), TRIZ as graph structure (Altshuller, 1984). Surrealist operators based on Dalí's Paranoiac-Critical Method (1935), Breton's Écriture Automatique (1924), and Brian Eno's Oblique Strategies (1975/2001). S-Node argumentation inferences based on ASPIC+ and Argument Interchange Format (AIF).

Edge Taxonomy

15 edge types define the logical relationships between nodes:

Edge TypeSemanticsExample
supportsA provides evidence for BFact → Hypothesis
contradictsA directly conflicts with BHypothesis A ↔ Hypothesis B
inductive_leapA → B via non-deductive reasoningWildcard → Constraint
analogizesStructural similarity across domainsAnalogy → Hypothesis
resolves_contradictionA resolves the contradictionSynthesis → Contradiction
challengesA questions B without refuting itProvocation → Fact
transforms_intoSCAMPER operator outputHypothesis + Operator → Synthesis
generatesA produces B as a consequenceFact → Hypothesis
specifiesA concretizes or narrows BHypothesis → Constraint
pareidoliaForced absurd connection between maximally divergent nodesFact ↔ Wildcard
obfuscatesAmbiguating Rorschach relationRorschach → Concept
mutates_fromGenetic Algorithm: mutation from parent nodesCrossover → Child
optimized_byIron Forge (MCTS): selection via pruning optimizationCandidate → Winner
infersA → Inference Box (S-Node) → B (Deductive/Inductive step)Premise → S-Node → Claim
undercutsAttacks an inference step (S-Node) rather than the premiseRebuttal ↔ S-Node

Node Lifecycle

Every node passes through three states:

StatusBehavior
GhostAI-generated, semi-transparent, 6-second countdown to auto-deletion. Click to confirm.
ConfirmedUser explicitly accepted the node. Triggers incremental ELK layout recalculation.
ArchivedSoft-deleted. Not visible on the canvas but preserved in the lineage graph. Restorable via the Filter Panel.

The Ghost mechanism is a deliberate design decision against algorithmic cognitive fixation: AI suggestions are presented as ephemeral offers, not facts. The user must actively decide which ideas deserve space in their thinking environment.

Source: Dell'Acqua et al., "Navigating the Jagged Technological Frontier: Field Experimental Evidence of the Effects of AI on Knowledge Worker Productivity and Quality" (Harvard Business School, September 2023). The study provides empirical evidence that AI-generated frames can restrict creative exploration when adopted without friction.


View Modes

7 view modes organize the same graph from different perspectives. Each mode activates a specific layout algorithm.

Stream

Free-form positioning with D3-Force physics. Nodes drift toward each other via semantic gravity; a subtle Y-axis funnel pulls them vertically together. Manual dragging "anchors" a node temporarily (Anchor Pattern) — remaining nodes react organically to the new position.

Best for: Non-linear dialogue, exploratory initial phase, free association.

Tree

ELK.js layered algorithm. Hierarchical top-to-bottom rendering. Makes causal and evidence chains visible.

Best for: TRIZ/ARIZ, causal analysis, argumentation trees.

Galaxy

ELK.js force-directed layout. Organic cluster visualization without directional constraints. Semantically related nodes gravitate toward each other.

Best for: Multi-perspective thinking, large graphs with 15+ nodes.

Orbit

ELK.js radial algorithm. Concentric circles around a central node. Ring position indicates argumentation depth: the further out a node sits, the more inference steps separate it from the core.

Best for: Root cause analysis, stakeholder mapping, concept hierarchies.

Bento

Programmatic grid layout (no ELK). Tile display in a uniform grid. All nodes receive identical screen real estate — no hierarchy, no edge visualization.

Best for: SCAMPER (7 categorical transformations), parallel option comparison.

Cluster

Client-side UMAP dimensionality reduction (384-dimensional embeddings → 2D). Semantically similar nodes are automatically clustered without predefined category mapping. For manually created nodes lacking AI embeddings, the engine generates deterministic 384-dimensional fallback vectors, ensuring the spatial clustering remains functional even for hybrid or entirely manual canvases.

Best for: Insight landscapes, pattern identification, semantic gap analysis.

Debate

ELK.js layered with vertical direction (DOWN). Activates an automatic Debate Moderator: when switching to this mode, the engine analyzes the highest-confidence node without a counter-argument and auto-generates a contradiction or question node.

Best for: Tree-of-Debate (ToD), Multi-Agent Debate (MAD framework), dialectical synthesis.

Source (Debate architecture): Du et al., "Improving Factuality and Reasoning in Language Models through Multiagent Debate" (May 2023). Liang et al., "Encouraging Divergent Thinking in Large Language Models through Multi-Agent Debate" (ACL 2024).


Smart Friction — Algorithmic Interventions

12 operators analyze the canvas state and intervene autonomously when cognitive biases or stagnation are detected. All operators run client-side — zero LLM calls. Pure graph analysis.

Operator 1: Advocatus Diaboli

Trigger: Hypothesis without a contradicts or challenges edge. Intervention: Auto-generates a Ghost node of type contradiction asking: "What if this is wrong? What evidence would disprove it?"

Operator 2: Assumption Surfacing

Trigger: Node with epistemic_status: assumption and confidence above 0.7. Intervention: Generates a question node that makes the unchallenged premise explicit.

Source: Kahneman, D. "Thinking, Fast and Slow" (2011) — System 1/System 2 framework. High-confidence assumptions are the most dangerous blind spots in ideation processes.

Operator 3: Confidence Deflation

Trigger: Average confidence across all confirmed nodes exceeds 80%. Intervention: Canvas warning: "Echo chamber mode — only confirming perspectives present."

Operator 4: Convergence Gate

Trigger: Convergence Index (CI = synthesis nodes / total nodes) exceeds 40% with fewer than 2 divergent nodes. Intervention: Premature convergence warning. Recommendation: add wildcards or provocations before synthesizing.

Source: Osborn, A. "Applied Imagination" (1953) — The principle of separated divergence and convergence phases.

Operator 5: Blank Spot Detection

Trigger: 3 or more of the 7 core types (Fact, Hypothesis, Wildcard, Constraint, Synthesis, Analogy, Contradiction) are missing from the canvas. Intervention: Identity warning: "Missing perspectives." Explicitly names the absent types.

Operator 6: Density Guard

Trigger: More than 35 confirmed nodes (warning) or more than 50 (critical, blocks further AI generation). Intervention: At warning threshold: recommends filtering via the Filter Panel or archiving nodes. At critical threshold: forces a Smelting sequence (see "The 50-Node Barrier" below). Based on Miller's capacity limitation (7±2 chunks).

Source: Miller, G. A. "The Magical Number Seven, Plus or Minus Two" (1956). For spatially distributed cognition (Distributed Cognition), the empirically measured upper limit is higher than for sequential working memory, but beyond 50 elements decision quality measurably declines.

Operator 7: Fixation Breaker

Trigger: 3 or more consecutive supports edges without a single contradicts edge in the chain. Intervention: Graph traversal warning: "Fixation detected. Ideas are reinforcing each other without critical examination."

Operator 8: SIEV Delta Engine

Trigger: Cosine similarity between a synthesis node and its parent node exceeds 0.85 (Δ below 0.15). Intervention: Warns: "Is this a genuine synthesis or merely a restatement?" Measures whether a synthesis node represents genuine intellectual progress or simply paraphrases the parent.

Operator 9: Oblique Strategies (Brian Eno)

Trigger: 3+ confirmed nodes and idle timer (12 seconds of inactivity). Intervention: Injects a disruptor node with a randomly selected Oblique Strategy: "Honor thy error as a hidden intention", "Turn it upside down", "Reverse roles".

Source: Eno, B. / Schmidt, P. "Oblique Strategies: Over One Hundred Worthwhile Dilemmas" (1975, reissue 2001).

Operator 10: Pareidolia Edge Synthesis

Trigger: 5+ confirmed nodes with computed embeddings. The two most semantically distant nodes (lowest cosine similarity, below 0.45) are not connected. Intervention: Forces a pareidolia edge: "The semantic distance is extreme. This connection forces a radical leap." Client-side vector math, zero LLM cost.

Source: Dalí's Paranoiac-Critical Method (1930s) — The systematic construction of logically appearing connections between absurd objects as a creative technique.

Operator 11: I Ching Mutation Engine

Trigger: 5+ confirmed nodes. Deterministic-pseudorandom selection via node count × timestamp. Intervention: Flips a node into its epistemic opposite (Fact ↔ Provocation, Hypothesis ↔ Contradiction, Synthesis ↔ Wildcard, Constraint ↔ Analogy). Forces a perspective reversal.

Source: John Cage, "Music of Changes" (1951) — Chance operations via I Ching hexagram mutation. The transfer of aleatory principles to deterministic systems.

Operator 12: Metamorphic Drift

Trigger: Confirmed node without a single edge connection (isolated node in the graph). Intervention: Warns: "This node floats in isolation. Consider morphing it into a 'question' or creating an analogical bridge."


Tier 5 Tools — Contextual Actions

Genetic Crossover (🧬 Concept Fusion)

Activation: Select 2+ nodes (Shift+Click). Function: LLM-driven cognitive crossover. Fuses elements from all selected parent concepts into ONE new highly divergent synthesis node. Forces emergent properties (bisociation) rather than simple summarization. The child node is automatically linked to all parents via mutates_from edges.

Source: Holland, J. "Adaptation in Natural and Artificial Systems" (1975) — Genetic algorithms. Adapted for idea-space exploration: Population → Selection → Crossover → Mutation.

Eigen-Shadows (🔭 Blind Spot Scanner)

Activation: Global toolbar execution (requires 2+ confirmed nodes). Function: Extracts 384-dimensional embeddings (via client-side Transformer.js) of all current nodes. Uses Modified Gram-Schmidt (MGS) orthonormalization to construct the current "idea subspace" basis. An LLM generates 10 highly divergent candidate concepts; each is embedded and projected onto the null-space of the current basis. The concept with the maximum residual magnitude (furthest from the current logic) is spawned as an ephemeral disruptor node — making a literal cognitive blind-spot visible.

Source: Null-space projection over traditional cosine similarity to accurately calculate distance from the spanned subspace, rather than just pairwise distance.

Epistemic Erosion & Node Fitness (🛡️ Adversarial Audit)

Activation: Global toolbar execution. Function: Serializes the entire graph topology into a dense, token-efficient tabular format (VACP — a TOON-protocol implementation that reduces token consumption by ~60% compared to standard JSON). An LLM evaluates every single edge (relationship) for logical consistency AND every single node for its foundational fitness.

  • Edges receive an integrity score from 0.0 to 1.0. Edges scoring under 0.5 visually "erode" (fracture/dashed line) on the canvas.
  • Nodes receive a fitness score from 0.0 to 1.0. Nodes scoring under 0.3 are visually dimmed (opacity drop) and marked with a warning badge, whereas foundational "cornerstone" nodes (> 0.8) receive a subtle gold shimmer to indicate structural importance.
  • Proof-Carrying Claims: When a parent node scores below 0.3, all downstream children connected via generates, mutates_from, specifies, or supports edges automatically inherit degraded fitness. This BFS propagation makes the SVG erosion cascade visually through the entire graph — if a foundational thesis crumbles, everything built on it degrades organically.
  • Diversity Nudge: After each audit, a secondary toast reports the graph's epistemische Diversität (type variety × average fitness). This is framed positively — no alarm, only insight — to preserve Brain-Quietness while encouraging metacognitive self-assessment.

Source (TOON/VACP): Token-Oriented Object Notation — deterministic, token-efficient serialization format. Empirical benchmarks show 73.9% comprehension accuracy vs. 69.7% for standard JSON. The VACP header-based serialization eliminates redundant JSON keys while improving LLM structural understanding.

Method-Aware Spatial Analyzer (Methodological Framing)

Activation: DNA-Icon in the global toolbar (Analyze View). Function: Replaces the standard semantic cluster view with a 5-method analytical popover. Applies highly structured, non-destructive topological transformations to the entire graph. All transformations are instantly reversible via the timeline undo mechanism and Ghost Trails (see below).

MethodLayout AlgorithmCognitive Paradigm
KJ-MethodeUMAP clustering (tight minDist: 0.25, spread: 1.5)Bottom-up semantic affinity — groups emerge from data, not from categories
Affinity MappingUMAP clustering (wide minDist: 0.5, spread: 2.0)Pattern recognition across wider thematic clusters
Reframing Matrix4-sector radial layout (90° per sector)Forces 4-perspective analysis: Facts · Exploration · Critical · Creative
SWOT Analysis4-quadrant grid layoutRules-based classification: confidence × epistemic type → Strengths / Weaknesses / Opportunities / Threats
Ishikawa DiagramELK.js layered tree (RIGHT direction)Hierarchical cause-effect decomposition with edge-aware topology

KJ and Affinity both reuse the shared runUmapProjection() UMAP pipeline (extracted from useAutoClustering.ts) but with different parameters — KJ produces tight semantic clusters for grouping, Affinity produces wider separation for pattern discovery. SWOT classification uses a deterministic rules engine: high-confidence facts/synthesis → Strengths, low-confidence assumptions/contradictions → Weaknesses, high-confidence hypotheses/wildcards → Opportunities, provocations/constraints → Threats.

Zone Labels are rendered as floating text overlays for Reframing Matrix and SWOT layouts, indicating the semantic sector/quadrant and the node count within each zone.

Source: Topological constraints force the brain to re-evaluate familiar information from novel perspectives (Divergent Thinking constraint models). Ishikawa: Kaoru Ishikawa, "Introduction to Quality Control" (1990).


Canvas Interaction

Spatial Draft Nodes (Brain-Quietness)

To strictly enforce the "Brain-Quietness" dogma (high signal-to-noise ratio), traditional linear chat input bars have been completely removed from the Spatial Interface. Instead, the Lab relies entirely on Spatial Draft Nodes. Double-clicking anywhere on the canvas immediately spawns a draft locus at exactly that spatial coordinate. Users either type manual input or invoke LLM prompts directly in-situ, preserving their spatial momentum and preventing the gaze from breaking toward a static screen edge.

Meso Action Drawer

Node-level tools (Archive, Generate Seeds, View Context) are grouped into the unified Meso Action Drawer, an absolute-positioned floating toolbar that smoothly deploys upon hover. A crucial architectural decision was decoupling the action tooltips from the container layout: by floating text labels on an absolute Z-axis rather than an inline flex sequence, the UI completely eliminates layout-thrashing and Jitter-loops. This guarantees visual stability and prevents aggressive DOM-reflow memory leaks in WebKit browsers during high-speed ideation.

Semantic Zooming

Progressive disclosure across three zoom levels. The further out the camera, the more compact the display:

Zoom LevelVisible Content
Micro (close)Full card: headline, description, confidence label, reasoning, status bar
Meso (medium)Headline, epistemic type, confidence label
Macro (far)Type color marker and headline in a single line only

Configurable via the Density toggle in the Control Panel (bottom left).

Multi-Selection & Macro Nodes (Group Function)

Shift+Click or Meta+Click for multiple selection. Selected nodes receive a visible ring indicator. Group dragging is supported. When multiple nodes are selected, a floating contextual menu appears offering two structural operations:

  • Merge (Genetic Crossover): Fuses the selected concepts into a single new synthesis node via LLM.
  • Group (Macro Nodes): Wraps the selected nodes into a collapsable Macro-Node. This reduces visual density and cognitive overload by abstracting complex sub-graphs into single named entities while preserving their internal structure. Groups can be expanded or dissolved at any time.

Source: Chunking (Miller, 1956). Grouping disparate elements into higher-level semantic chunks expands the functional capacity of working memory.

Meta-Filter Panel

Floating panel (top left) with three filter dimensions:

  1. Status Filter: Ghost / Confirmed individually toggleable
  2. Type Filter: Each epistemic type individually toggleable
  3. Confidence Slider: Minimum confidence threshold (progressive auto-adjustment at 15+ nodes)
  4. Archive Management: Restore archived nodes to the canvas

Export

4 export formats via Floating Action Button (bottom right):

  • PNG — Retina quality (2x pixel ratio), canvas background without UI overlays
  • JSON — Complete graph with metadata, positions, and edges
  • Markdown Summary — Topologically sorted summary copied to clipboard
  • .canvas — Obsidian-compatible JSON Canvas format

Context Shuttle

Bidirectional data transfer between Brainstorm Reactor and Lab:

  • Brainstorm Reactor → Lab: Seed button transfers the current conversation context as starting material
  • Lab → Brainstorm Reactor: Pin button exports all confirmed nodes as a structured Markdown block back to the Brainstorm Reactor Pool

Smart Export (Wissenslinearisierung)

The standard flat export flattens the 2D graph into a sequential text dump — losing topological structure, causal chains, and contradiction markers. Smart Export solves this by analyzing the graph topology heuristically and suggesting one of 6 structural analysis templates:

TemplateTrigger HeuristicOutput Format
Topological SummaryDefault fallbackNarrative following causal chains with conflict markers
KJ Method (Affinity)Low edge density, many nodes (≥8, density <0.5)Affinity clustering with emergent theme groups
SWOT Analysis4+ distinct epistemic types with facts + constraints + hypothesesStrengths / Weaknesses / Opportunities / Threats quadrant
Ishikawa (Fishbone)Tree structure (≤2 roots, 5+ leaves, density ≥0.8)Root cause analysis with categorized contributing factors
Wardley MapFacts + constraints + wildcards (≥2) mixValue chain evolution from genesis to commodity
TOWS MatrixHigh cross-connections (density ≥1.5) + contradictionsCross-strategy matrix combining internal and external factors

The template suggestion engine runs entirely client-side (zero API calls) in graphTemplates.ts. Graph topology metrics (edge density, in-degree distribution, epistemic type counts, tree shape detection) drive deterministic heuristic scoring. After template selection, the full graph is serialized and sent to the Smart Export API route, which uses generateText() with the chosen template's structural prompt to produce formatted analytical text.

The 2-step flow (Template Selection → Text Preview) is rendered in SmartExportModal.tsx. Users can review, edit, copy to clipboard, or send directly to the Brainstorm Reactor Pool.

Source: The "Linearization Loss" problem — standard LLMs hallucinate structural relationships when flattening 2D chaotic data into sequential text. Template-constrained generation forces the model to respect the graph's inherent logical topology.

Genesis Replay (Time-Lapse for Shared Labs)

When a Lab is shared via public link, external viewers lack the creator's spatial memory — they see the final state but not the cognitive journey. Genesis Replay solves this by auto-playing a 5-second time-lapse animation of the canvas building itself, reconstructed from structural snapshots captured during the creation process.

Snapshot Infrastructure: useCanvasStore maintains an append-only genesisSnapshots[] array (capped at MAX_SNAPSHOTS = 200). Each snapshot records node IDs, positions, and epistemic types at the moment of capture. Snapshots are automatically triggered after every structural mutation: addNodesFromGeneration, addBurstNodes, smeltNodes.

Share Pipeline: When a Lab is shared, the snapshot array is serialized into the canvas JSONB column of spatial_lab_shares. On the public share page (/share/lab/[id]), GenesisReplayOverlay.tsx reads the snapshots and renders a full-screen animated replay using requestAnimationFrame. Each node appears as a color-coded dot (mapped by epistemic type) with spring animations. A progress bar and frame counter provide temporal orientation.

Graceful Degradation: Replays trigger only if 2+ snapshots exist. Users can skip the replay with a single click. The overlay fades automatically after the final frame.

Source: Spatial Memory Disruption (CHI 2025-2026). First-time viewers of complex spatial layouts experience severe disorientation. Animated build-up sequences reconstruct the creator's cognitive provenance, establishing trust and comprehension.

Interactive Lenses (Selective Focus)

4 lens presets temporarily dim unrelated nodes to highlight specific logical patterns across the graph:

LensShortcutHighlights
ConflictsCContradiction and provocation nodes + their connected edges
Weak ArgumentsWNodes with fitnessScore < 0.3 (after Adversarial Audit)
Open QuestionsQQuestion-type nodes and their unresolved edges
AI SuggestionsGGhost nodes (unconfirmed AI-generated suggestions)

Lenses apply "Aerial Perspective" (Z-Axis of Importance): non-matching nodes receive reduced opacity (0.15), while matching nodes retain full visual weight. This reduces Extraneous Cognitive Load by temporarily collapsing the visual complexity to a single analytical dimension.

The 50-Node Barrier (Semantic Compression)

A hard density limit enforces cognitive discipline. When the canvas reaches 50 confirmed nodes, further AI generation is blocked and the system forces a Smelting sequence: the user must select 3-20 related cards and synthesize them into a single high-order "Interface Node" (epistemic type: synthesis).

Smelting Flow:

  1. Density Gate triggers — SmeltingModal appears (400ms entrance delay for smooth UX)
  2. User selects cards — Multi-select via Shift+Click
  3. AI Synthesis — Selected nodes are serialized and sent to /api/reactor/spatial-lab/smelt/route.ts, which produces a single headline + description
  4. Interface Node spawns — Original cards are archived, new synthesis node takes their place
  5. Canvas below limit — User can continue generating

The Smelting mechanism creates a natural Zoomable User Interface: Interface Nodes represent compressed sub-graphs that encode an entire cluster's logic in a single dense card. This mirrors how expert thinkers naturally chunk and abstract complex domains.

Source: Miller's Law (7±2 chunks). Visual Working Memory research shows that beyond ~50 spatially distributed elements, decision quality measurably declines and cognitive surrender ("I'll just go with whatever") replaces deliberate evaluation.

Zen Mode

Hides header, toolbars, and sidebar elements. Full-screen canvas with reduced visual noise for focused work (Shortcut: ⌘.). To prevent users from getting "trapped" without a keyboard, an absolute-positioned floating exit button (Zen-OFF) ensures touch-accessibility. The top header uses no-scrollbar swipeable flex-containers to maintain a premium native-app feel on mobile browsers without layout thrashing.

Temporal Scrubbing (Time-Travel Slider)

A client-side ring buffer (FIFO) maintains up to 50 historical snapshots of the canvas topology. Users can scrub seamlessly backward through the evolution of their ideas via a floating Time-Slider. To enforce "Temporal Anchoring", the entire spatial canvas visually desaturates (saturate() CSS filter) proportional to how deep into the past the user scrubs — from 100% saturation (Present) down to 30% (Past). This provides visceral visual feedback that the past is immutable, leveraging the Sunk Cost Bias to encourage destructive experimentation (users know they can always scrub back).

Source: Loss aversion (Kahneman & Tversky, 1979). Real-time undo histories radically lower the cognitive threshold for destructive, exploratory idea generation.

Ghost Trails (Spatial Memory)

When applying methodological transformations (like the Method-Aware Spatial Analyzer), nodes move radically. To preserve the user's spatial memory, the UI draws SVG "Ghost Trails" (dashed motion paths) connecting the old position to the new position. These trails auto-fade over 1.2 seconds, providing just enough visual persistence to allow the brain to track the transformation without adding permanent UI noise.

Source: Spatial Memory Disruption (CHI 2025-2026). Animated transitions with temporary ghost traces reduce cognitive load during sudden topographical shifts.

Acoustic Cognition (NAL v3 Neuro-Acoustic Engine)

Activation: Accessible via the top global navigation header (GlobalNavbar headphones icon 🎧), /focus, and the universal command palette (⌘K). Persistent across both Reactor Chat and Spatial Lab sessions via the workspace acoustic provider.

Reduced 3-Mode Triade (NAL v3):

  1. Focus: 5.5 Hz Theta-Gamma Phase-Amplitude Coupling (PAC) with Brown Noise. Melody is strictly locked to 0.00 to protect the phonological loop (Baddeley Working Memory Guard).
  2. Ideation: CAD-reactive flow sonification. Dynamic filter opening based on spatial Context-Aware Diversity, polyrhythmic pulse, and subtle harmonic movement.
  3. Power Reset: 20-minute restorative adenosine reset optimizing parasympathetic tone (vagal calm).

Ear Fatigue Prevention & DSP Corridor: A psychoacoustic lowpass filter (1400 Hz, Butterworth response) caps the output spectrum to prevent high-frequency listener irritation during long work sessions. Bass fundamentals (55–110 Hz drone) form the warm backbone of the ambient layer. For dedicated standalone sessions, a direct deep link opens the full Neuro-Acoustic Lab at /focus.

Source (Psychoacoustics): Ziemer & Schultheis — Psychoacoustic Sonification. The 400–1400 Hz frequency band represents the empirically optimal perceptual range for sustained exposure. High-frequency content above this ceiling causes rapid auditory fatigue.

Workshop Intelligence (Audio-AI Co-Facilitator)

When voice input is active in the Spatial Lab, an optional AI co-facilitator monitors the live discourse and contributes ideas to the canvas without interrupting the conversation.

Two operating modes:

ModeContextBehavior
WorkshopGroup setting (2+ participants)AI listens passively, waits for natural breaks (3s silence, topic shifts), then places ghost cards via the Confidence Filter. A 70/30 ratio guard prevents AI-generated cards from exceeding 30% of total canvas content.
SoloIndividual sessionAI follows a 4-phase fading model: actively offers frameworks in the first 5 minutes, asks Socratic questions from 5–15 minutes, then withdraws into silence. When semantic circularity is detected (the user repeats concepts), previously buffered ideas are released as ghost cards.

Vegas Rules: A toggleable privacy mode (🎰 icon next to the microphone) ensures that live transcripts are deleted after each analysis cycle. Only explicitly confirmed cards remain on the canvas.

Consent Ritual: Before the first activation of Audio Intelligence, a full-screen consent dialog clarifies that no audio recordings are stored and no biometric or emotional analysis takes place.

Moderator View: Workshop facilitators access a separate, mobile-optimized analytics page via a time-limited link. The view displays the current discourse phase (divergent → groan zone → convergent), detects circular debates and premature convergence, and shows speaker distribution statistics — without requiring access to the Spatial Lab itself.

Source: Dell'Acqua et al. (HBS, 2023). Kapur, M. "Productive Failure" (Educational Researcher, 2014). The AI intervention timing is based on Turn Floor Offset research — a 3-second silence threshold that corresponds to the empirically measured natural breakpoint in group conversations.


Technical Architecture

Layout Engine: ELK.js with Spatial Memory

The core structural layouts (Layered, Radial, Force) are powered by the Eclipse Layout Kernel (ELK). Architectural shift for Go-to-Market: We explicitly removed elk.layered.incrementalLayout in favor of a deterministic tight-packing algorithm (nodePlacement.strategy: BRANDES_KOEPF). While incremental algorithms attempt to preserve the user's "mental map", they suffer from severe bounding-box inflation (geometric expansion across re-renders) when connected to a reactive ReactFlow store. For a brainstorming tool, a perfectly compact and predictable "Brain-Quietness" graph on every layout shift is prioritized over attempting to patch stateful graph geometry. The Stream layout employs a custom, programmatic Golden Spiral (Fermat's spiral) rather than ELK, keeping spacing mathematically tight (density spacing: 140) for an organic flow.

Streaming Architecture

Nodes are generated via AI SDK streamObject(). The Zod schema (spatial-schema.ts) enforces structured JSON output through constrained decoding — the LLM cannot produce invalid node types or edge types.

Rendering Lifecycle & URL-Synced State

The Lab's open/close state is derived exclusively from the URL search parameter (?view=spatial). When transitioning from the linear Brainstorm Reactor to the Spatial Lab, useSearchParams().get('view') === 'spatial' activates the Lab overlay. The underlying Brainstorm Reactor DOM tree is suppressed (visibility: hidden) to prevent paint events while maintaining React state. Closing the Lab removes the view parameter via router.replace(), and the pure URL-derivation guarantees that the Lab state never latches — forward and backward browser navigation work correctly without stale state.

Client-Side ML: Embedding Pipeline

384-dimensional vectors via Transformer.js (ONNX runtime in a Web Worker). Model: Xenova/all-MiniLM-L6-v2. The embeddings enable:

  • UMAP-based semantic clustering (Cluster view)
  • Cosine distance calculation for Pareidolia Edge Synthesis
  • SIEV Delta Engine (synthesis quality measurement)

Persistence

Auto-save every 30 seconds to the database (JSONB). Session management via LabSessionManager — multiple labs can be named, renamed, and loaded.

Memory Management

WeakMap-based reference caching in the node rendering pipeline prevents Safari OOM crashes during high-frequency token streaming. Position updates are applied synchronously (no startTransition wrapper), as React Flow interprets deferred state updates as layout inconsistencies.


Scientific Foundations

The Spatial Interface Lab architecture is grounded in empirical research from cognitive science, HCI, and creativity research:

PrincipleSourceApplication in the Lab
Distributed CognitionHutchins, E. "Cognition in the Wild" (1995)The canvas as external representation system offloads working memory
Premature Closure PreventionConvergence Gate + Ghost TimerCognitive closure is algorithmically detected and delayed
Algorithmic Cognitive FixationDell'Acqua et al. (HBS, 2023)Ghost status: AI suggestions as ephemeral offers, not facts
Spatial Anchoring BiasTversky, B. "Mind in Motion" (2019)Oblique Strategies + Pareidolia Edges break visual anchoring
Dialectical SynthesisHabermas, J. "Theory of Communicative Action" (1981)Debate Mode enforces structural willingness to revise
Creative Exhaustion ThresholdGuilford, J. P. "Alternate Uses Test" (1967)Density Guard blocks premature convergence
Chance OperationsCage, J. "Music of Changes" (1951)I Ching Mutation Engine: aleatory perspective reversal
Paranoiac-Critical MethodDalí, S. (1930s)Pareidolia Edge Synthesis forces logic between absurdities
Tools for ThoughtMicrosoft Research (2022–2024)"Challenge, not obey": AI as provocateur, not assistant

Strategic Position

The Spatial Interface Lab establishes the structural separation between raw compute (the commoditized LLM) and the value-creation layer (the interactive spatial thinking tool combined with formalized cognitive methodology). Text-based chat interfaces cannot replicate this combination — the canvas is the product.

On this page