Introduction
EXEPERT is a browser-based brain research visualizer. It renders a live neural-network simulation over a low-poly brain mesh: the mesh vertices become neurons, nearby neurons are wired together with curved axons, and animated signal particles travel across those connections. A surrounding dashboard turns the running simulation into research-style telemetry: a cortical response index, per-region activation, and rolling activity windows: and lets you inject stimulus from uploaded images or video.
What's under the hood
EXEPERT is two cooperating layers:
- A Rust simulation core compiled to WebAssembly (
rust/brain_sim). It owns all the state: neurons, axons, the signal pool, and the telemetry math. - A TypeScript + Three.js front end (
src/) that renders the simulation and hosts the UI. The Three.js geometry buffers point straight into the WASM linear memory, so each frame is read without copying.
The renderer is a classic Three.js WebGLRenderer (WebGL2) driving GLSL
ShaderMaterial shaders. The simulation advances on the CPU each frame via the
WASM World.step_cpu(dt) call.
The repository's Plans/ folder and the root README.md describe earlier
designs: a Grunt/WebGL1 stack and a later WebGPU + TSL compute path. The
shipped code reverted to the classic WebGL2 + CPU approach described above
(referred to in the source comments as "Path B"). This documentation describes
the code as it currently runs; treat Plans/ as history.
How these docs are organized
- Getting Started: prerequisites, installation, the dev loop, and builds.
- Architecture: how the TypeScript app and the WASM core fit together, the boot sequence, and the rendering pipeline.
- Simulation Core: the Rust
World: neuron/axon generation, the signal pool, cortical regions, stimulus, and the telemetry contract. - Frontend Modules: a reference for the modules under
src/. - Diagnostics Logger: the in-app log capture and viewer.
- UI Guide: the on-screen controls and panels.
- Development: project layout, testing, CI, and the reference pages.
If you just want to see it running, jump to Installation and Development.