Spatial Prompt Engineering through Interactive Concept Graphs
NodePrompt decomposes prompts — text, images, or PDFs — into multi-dimensional concept graphs, renders them on a 3D sphere, and lets users spatially reorganize ideas before resynthesizing them into structured prompts for higher-quality AI responses.
"Thinking is non-linear. Language is linear. The sphere bridges that gap."
한국어 README · taewoopark.com — author site

Traditional prompt engineering is a black box: you type text, get a response, and iterate blindly. NodePrompt makes the structure of your prompt visible and editable.
| Traditional Prompting | NodePrompt |
|---|---|
| Linear text in, linear text out | Prompt decomposed into a concept graph |
| Opaque reasoning | Visible node weights, types, and relationships |
| Manual iteration | Spatial editing: drag, reweight, reconnect |
| Single perspective | 6 conceptual dimensions extracted simultaneously |
The core innovation is Human-AI Co-Decomposition: AI proposes a conceptual structure, humans reshape it spatially, then AI resynthesizes — a cyclic collaboration loop grounded in knowledge structure theory.
NodePrompt's design draws from established research in cognitive science, knowledge representation, and information visualization.
min(7, ceil(N^(1/D))).causal, contrast, amplify, suppress, parallel, dependency. [Sphere Mode]
3D overview on sphere
/ | \
Space Double-click Scroll-zoom
\ | /
[Radial Mode] [Interior Mode]
2D concentric Fisheye from
ring editing inside sphere
Sphere Mode — Nodes distributed on a sphere surface via Fibonacci lattice. Orbit, zoom, and click to explore the full concept graph at a glance.
Radial Mode — 2D editing workspace. Nodes arranged in concentric rings by hierarchy depth (max 5 rings). Drag to reposition, scroll to adjust weight, shift-click to create edges.

Interior Mode — Immersive fisheye view from inside the sphere. Hyperbolic scaling (Poincare ball model) magnifies nearby nodes while compressing distant ones.
All transitions are smooth GSAP morphs preserving node identity.
NodePrompt's six node types are Aquinas's six transcendentia from De Veritate q.1 a.1 — the metaphysical modes by which any being (ens) can be considered. Every prompt is read through these six registers, each asking a different question of the same text:
| Latin — UI | Meaning | The question it asks | First-draft mapping |
|---|---|---|---|
| ens — Being | id quod est — what is posited as being | What does this prompt posit as existing? | Core subjects, topics, referents |
| res — Essence | quod habet quidditatem — what has a whatness | What is it, as a formal structure? | Definitions, mechanisms, higher-order patterns |
| unum — Unity | ens indivisum — being as undivided in itself | What holds it together as one? | Situation, audience, unifying frame, context |
| aliquid — Difference | aliud-quid — other-than-other | What distinguishes it from what it is not? | Subtext, contrast, implied tensions, nuance |
| verum — Truth | ens ut cognoscibile — being as knowable to intellect | How is it true to a knower? | Worldviews, ethical/epistemic commitments, philosophy |
| bonum — Value | ens ut appetibile — being as desirable to will | How is it desirable to a will? | Tone, mood, affective charge, values |
The six are not six kinds of being but six aspects of the same being — "convertibilia cum ente" (convertible with being itself). A single concept can be read through any register; the register chosen is the lens, not the content. Each type is distinguished by a unique pattern texture (Lombardi-style: no colors, pattern-only differentiation), and the Help overlay (? button) contains the full mapping with example questions.
Attach images and PDFs directly to the prompt — the extraction pipeline reads them alongside the text. Drag-and-drop, click, or paste into the dropzone below the textarea.
| Use case | What to attach | What you get |
|---|---|---|
| Research paper | Argument decomposed — premises, method, claims as typed nodes | |
| Whiteboard / notebook sketch | Photo | Arrows become edges, clusters become hierarchy, handwriting becomes labels |
| UI mockup or design export | Image / Figma PNG | Design surface sorted through the six transcendental registers |
| Architecture / flow diagram | Image | Structure read as structure, not re-described as prose |
| Chart or plot | Image | Quantities, relationships, and implied claims surfaced as nodes |
Text is optional when an attachment is present — and when text is present, it supplies the angle the attachment should be read from (e.g. "what are the methodological commitments here?" vs. "what would this imply for practice?").
Limits: 5 MB per image (JPEG/PNG/WebP/GIF), 10 MB per PDF. Capability is provider-specific:
| Provider | Image | |
|---|---|---|
| Anthropic Claude | yes | yes |
| Google Gemini | yes | yes |
| OpenAI GPT | yes | no |
| xAI Grok | yes | no |
| DeepSeek | no | no |
| Alibaba Qwen | no | no |
Switching the active provider rewires the dropzone to match the new provider's capabilities. Unsupported files are rejected at the UI layer with a specific error message before any network call.

NodePrompt supports hands-free interaction via webcam using MediaPipe hand tracking. Toggle the gesture button (bottom-left) to activate.
| Gesture | Action |
|---|---|
| Open palm + drag | Rotate the 3D sphere by moving your hand |
| Closed fist | Stop rotation immediately |
| Hand removed | Sphere coasts with momentum decay |
| Hand size change | Zoom in (closer to camera) / zoom out (further away) |
The system runs at ~15 fps inference with 1-Euro filters for smooth, jitter-free tracking. A ring cursor on the sphere surface provides real-time visual feedback. An optional mini webcam preview can be toggled from the overlay.
User's prompt
|
v
[3-Phase AI Extraction]
Scaffold -> Fill -> Validate
|
v
Concept Graph (editable)
- Hierarchy with depths
- Weighted nodes (0-1)
- Typed relationships
|
v
[Prompt Synthesizer]
Graph -> structured prompt preserving:
- Node hierarchy & weights
- Edge relationships
- Deleted perspectives (noted as excluded)
- Cross-branch connections
|
v
[AI Response Generation]
Higher quality, more nuanced output
git clone https://github.com/TaewoooPark/NODEPROMPT.git
cd NODEPROMPT
npm install
npm run dev
NodePrompt speaks to six LLM providers through a unified interface. Pick whichever you have a key for — structured extraction, streaming, and descriptions all work identically across providers.
| Provider | Fast (extraction) | Flagship (generation
$ claude mcp add NODEPROMPT \
-- python -m otcore.mcp_server <graph>