Neuromancer is a real-time 3D neural network visualizer that runs entirely in your browser. Draw a digit on the canvas and watch a convolutional neural network (CNN) process it live — activation maps, intermediate tensors, and final predictions are all rendered in an interactive 3D scene.
| Layer | Technology |
|---|---|
| Frontend framework | Svelte 5 with TypeScript |
| 3D rendering | Three.js via Threlte |
| ML inference | ONNX Runtime Web (WASM + SIMD) |
| Build tool | Vite |
| Runtime / package manager | Bun |
| Deployment | Cloudflare Pages |
| Model editing | Python + onnx package |
- The neural network runs in a separate Web Worker via ONNX Runtime Web, keeping the UI thread free.
- Models have been modified to expose their internal tensors at every layer. Inference output is transferred to the main thread using zero-copy Transferable
ArrayBuffers. - The 3D scene is updated asynchronously at 30 FPS.
This dual-thread architecture is reflected in the source layout:
./web ├── onnx/ ← Web Worker: model loading, warm-up, inference │ ├── entrypoint.ts │ └── runmodel.ts ├── ui/ ← Main thread: Svelte components, 3D scene │ ├── App.svelte │ ├── components/ │ ├── constants/ │ ├── sharedstate/ │ ├── types/ │ └── utils/ ├── bridge.ts ← Typed message-passing API between threads └── main.ts ← Entry point: mounts Svelte app + spawns worker
Models have been modified using the ONNX python package — see the
modeleditor/directory for the scripts.
Note
Work in progress — more models and features are on the way 🫡
Visit the Live Demo or Run Locally
git clone https://github.com/rwdr0/neuromancer
cd neuromancer
bun install
bun run previewFor active development with hot-module reloading:
bun run devType-check the project:
bun run checkIcons attribution: SVGRepo, Wikimedia Commons

