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.
| Type | Cognitive Function | Color Accent | Shape |
|---|---|---|---|
Fact | Verified information, data point | Blue | Structured (8px radius) |
Hypothesis | Testable claim, working assumption | Green | Exploratory (12px radius) |
Wildcard | High-divergence break, unexpected connection | Fuchsia | Organic (asymmetric) |
Constraint | Hard boundary, limiting factor | Amber | Structured (8px radius) |
Synthesis | Convergence point distilled from multiple sources | Cyan | Exploratory (12px radius) |
Provocation | De Bono "PO" — intentionally absurd, Devil's Advocate | Red | Organic (asymmetric) |
Analogy | Abstracted concept from a foreign domain | Violet | Exploratory (12px radius) |
Contradiction | Two opposing assumptions in direct conflict | Orange | Exploratory (12px radius) |
Assumption | Unchallenged premise — Smart Friction: Assumption Surfacing | Gray | Structured (8px radius) |
Question | Open inquiry, Socratic probing | Sky | Exploratory (12px radius) |
Operator | SCAMPER/TRIZ operator (drag-and-drop onto target node) | Pink | Exploratory (12px radius) |
Snippet | Cut-up micro-fragment from an exploded Fact node | Lime | Organic (asymmetric) |
Disruptor | Oblique Strategy — external perturbation (after Brian Eno) | Rose | Organic (asymmetric) |
Rorschach | Typographic ambiguity — surrealist inkblot concept | Transparent | — |
inference_rule | Logical inference step / S-Node (ASPIC+/AIF standard) | Indigo | Structured (8px radius) |
inference_conflict | Inconsistent inference conflict / S-Node (ASPIC+/AIF standard) | Purple | Structured (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 Type | Semantics | Example |
|---|---|---|
supports | A provides evidence for B | Fact → Hypothesis |
contradicts | A directly conflicts with B | Hypothesis A ↔ Hypothesis B |
inductive_leap | A → B via non-deductive reasoning | Wildcard → Constraint |
analogizes | Structural similarity across domains | Analogy → Hypothesis |
resolves_contradiction | A resolves the contradiction | Synthesis → Contradiction |
challenges | A questions B without refuting it | Provocation → Fact |
transforms_into | SCAMPER operator output | Hypothesis + Operator → Synthesis |
generates | A produces B as a consequence | Fact → Hypothesis |
specifies | A concretizes or narrows B | Hypothesis → Constraint |
pareidolia | Forced absurd connection between maximally divergent nodes | Fact ↔ Wildcard |
obfuscates | Ambiguating Rorschach relation | Rorschach → Concept |
mutates_from | Genetic Algorithm: mutation from parent nodes | Crossover → Child |
optimized_by | Iron Forge (MCTS): selection via pruning optimization | Candidate → Winner |
infers | A → Inference Box (S-Node) → B (Deductive/Inductive step) | Premise → S-Node → Claim |
undercuts | Attacks an inference step (S-Node) rather than the premise | Rebuttal ↔ S-Node |
Node Lifecycle
Every node passes through three states:
| Status | Behavior |
|---|---|
| Ghost | AI-generated, semi-transparent, 6-second countdown to auto-deletion. Click to confirm. |
| Confirmed | User explicitly accepted the node. Triggers incremental ELK layout recalculation. |
| Archived | Soft-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, orsupportsedges 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).
| Method | Layout Algorithm | Cognitive Paradigm |
|---|---|---|
| KJ-Methode | UMAP clustering (tight minDist: 0.25, spread: 1.5) | Bottom-up semantic affinity — groups emerge from data, not from categories |
| Affinity Mapping | UMAP clustering (wide minDist: 0.5, spread: 2.0) | Pattern recognition across wider thematic clusters |
| Reframing Matrix | 4-sector radial layout (90° per sector) | Forces 4-perspective analysis: Facts · Exploration · Critical · Creative |
| SWOT Analysis | 4-quadrant grid layout | Rules-based classification: confidence × epistemic type → Strengths / Weaknesses / Opportunities / Threats |
| Ishikawa Diagram | ELK.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 Level | Visible 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:
- Status Filter: Ghost / Confirmed individually toggleable
- Type Filter: Each epistemic type individually toggleable
- Confidence Slider: Minimum confidence threshold (progressive auto-adjustment at 15+ nodes)
- 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:
| Template | Trigger Heuristic | Output Format |
|---|---|---|
| Topological Summary | Default fallback | Narrative 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 Analysis | 4+ distinct epistemic types with facts + constraints + hypotheses | Strengths / Weaknesses / Opportunities / Threats quadrant |
| Ishikawa (Fishbone) | Tree structure (≤2 roots, 5+ leaves, density ≥0.8) | Root cause analysis with categorized contributing factors |
| Wardley Map | Facts + constraints + wildcards (≥2) mix | Value chain evolution from genesis to commodity |
| TOWS Matrix | High cross-connections (density ≥1.5) + contradictions | Cross-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:
| Lens | Shortcut | Highlights |
|---|---|---|
| Conflicts | C | Contradiction and provocation nodes + their connected edges |
| Weak Arguments | W | Nodes with fitnessScore < 0.3 (after Adversarial Audit) |
| Open Questions | Q | Question-type nodes and their unresolved edges |
| AI Suggestions | G | Ghost 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:
- Density Gate triggers — SmeltingModal appears (400ms entrance delay for smooth UX)
- User selects cards — Multi-select via Shift+Click
- AI Synthesis — Selected nodes are serialized and sent to
/api/reactor/spatial-lab/smelt/route.ts, which produces a single headline + description - Interface Node spawns — Original cards are archived, new synthesis node takes their place
- 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):
- 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).
- Ideation: CAD-reactive flow sonification. Dynamic filter opening based on spatial Context-Aware Diversity, polyrhythmic pulse, and subtle harmonic movement.
- 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:
| Mode | Context | Behavior |
|---|---|---|
| Workshop | Group 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. |
| Solo | Individual session | AI 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:
| Principle | Source | Application in the Lab |
|---|---|---|
| Distributed Cognition | Hutchins, E. "Cognition in the Wild" (1995) | The canvas as external representation system offloads working memory |
| Premature Closure Prevention | Convergence Gate + Ghost Timer | Cognitive closure is algorithmically detected and delayed |
| Algorithmic Cognitive Fixation | Dell'Acqua et al. (HBS, 2023) | Ghost status: AI suggestions as ephemeral offers, not facts |
| Spatial Anchoring Bias | Tversky, B. "Mind in Motion" (2019) | Oblique Strategies + Pareidolia Edges break visual anchoring |
| Dialectical Synthesis | Habermas, J. "Theory of Communicative Action" (1981) | Debate Mode enforces structural willingness to revise |
| Creative Exhaustion Threshold | Guilford, J. P. "Alternate Uses Test" (1967) | Density Guard blocks premature convergence |
| Chance Operations | Cage, J. "Music of Changes" (1951) | I Ching Mutation Engine: aleatory perspective reversal |
| Paranoiac-Critical Method | Dalí, S. (1930s) | Pareidolia Edge Synthesis forces logic between absurdities |
| Tools for Thought | Microsoft 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.