Skip to content

[Work in progress] Real-time 3D visualilzer for convolutional neural networks

License

Notifications You must be signed in to change notification settings

rwdr0/neuromancer

Repository files navigation

Neuromancer

👀 Visualize Neural Networks Blazingly Fast Bun Logo in 3D

Preview GIF

What is Neuromancer?

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.

Tech Stack

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

How it works

  • 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.

How it works

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 You Can Visualize

  1. Convolutional neural network for identifying handwritten digits (MNIST dataset)
  2. AlexNet (planned)

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 preview

For active development with hot-module reloading:

bun run dev

Type-check the project:

bun run check

Inspired by


Icons attribution: SVGRepo, Wikimedia Commons