Spawn: A node-based IDE on an infinite canvas
View sourceEvery creative tool gives you a canvas. Code editors give you tabs. Spawn puts your entire workspace on an infinite canvas. Terminals, editors, file browsers, live previews, all draggable, resizable, and connected as nodes. Open a project. Edit code. Launch a live preview. Spin up as many terminals as you want. Everything visible at once, nothing hidden behind a tab bar.
How I built it
Rust-based native shell over Electron. Fraction of the memory cost. Handles PTY sessions, file system watching, workspace persistence. Browser previews via native child webviews, not iframes.
GPU-accelerated WebGL canvas. Nodes, bezier connections, and zoom (0.1x–5x) stay smooth regardless of workspace size.
Real terminal emulation backed by Rust PTY processes via portable-pty. Full interactive shells, not simulated.
Direct DOM for overlays, PixiJS for the canvas. Less abstraction, faster execution, smaller bundle.
Sub-second HMR during development. TypeScript and bundling in one tool.
What I'd change
The node connection system works but the UX for wiring things together needs another pass. And the file editor is functional but basic compared to what people expect from a code editor now (LSP support, inline diagnostics). Those are next.