The Brain Visualizer is an open-source Godot based client of FEAGI that lets users interact with Genomes. It can both to modify various neural structures, and visualize the neuronal activity happening within.
- Standalone Mode (recommended): Connect to a running FEAGI instance via WebSocket
- Integrated Desktop Suite: Available separately for unified desktop experience
BV-demo.mp4
Please see our tutorial for how to use Brain Visualizer here.
Neurorobotics Studio is our cloud-based solution for the fastest and easiest way to load FEAGI services within the FEAGI playground, including the brain visualizer!
Brain Visualizer can be deployed locally as part of FEAGI Playground.
Please see here: DEPLOY.md
This optional feature shows a live raw video feed (from video_agent) inside Brain Visualizer without going through FEAGI. It uses a cross‑platform memory‑mapped file.
Workflow:
- Python
video_agent: publishes raw RGB frames to a memory‑mapped file - Godot:
SharedMemVideoGDExtension reads the file and displays it in View Previews
macOS (Apple Silicon or Intel):
- From
brain-visualizer/rust_extensions/feagi_shared_video:- Debug build:
cargo build - Universal debug (arm64 + x86_64):
rustup target add aarch64-apple-darwin x86_64-apple-darwincargo build --target aarch64-apple-darwin && cargo build --target x86_64-apple-darwinlipo -create -output target/universal_debug.dylib target/aarch64-apple-darwin/debug/libfeagi_shared_video.dylib target/x86_64-apple-darwin/debug/libfeagi_shared_video.dylib- Copy to Godot addon path:
cp target/universal_debug.dylib ../../godot_source/addons/feagi_shared_video/target/debug/libfeagi_shared_video.dylib
- Debug build:
Windows:
cargo buildto producetarget\debug\feagi_shared_video.dll- Place it under
godot_source\addons\feagi_shared_video\target\debug\feagi_shared_video.dll - Update
feagi_shared_video.gdextensionwindows entries if needed
Linux:
cargo buildto producetarget/debug/libfeagi_shared_video.so- Place it under
godot_source/addons/feagi_shared_video/target/debug/libfeagi_shared_video.so - Update
feagi_shared_video.gdextensionlinux entries if needed
Ensure godot_source/addons/feagi_shared_video/feagi_shared_video.gdextension points to your platform paths.
- Activate the
video_agentvenv and run:- File input example:
python agent.py path/to/video.mp4 --shared-mem --shared-mem-path /tmp/feagi_video_shm.bin
- Webcam example (preview‑only requires FEAGI disabled, see note below):
python agent.py --webcam --shared-mem --shared-mem-path /tmp/feagi_video_shm.bin
- File input example:
Notes:
- The file is removed when the agent stops.
- Default path if not provided: OS temp dir with name
feagi_video_shm--temp.bin.
- Open the project:
brain-visualizer/godot_source/project.godot - Top‑bar → “View Previews”
- In the window:
- Paste the shared memory path (e.g.,
/tmp/feagi_video_shm.bin) into the path field - Click “Open SHM”
- The label should show
SHM: opened, thenSHM: tick <frame_seq> - The frame should render
- Paste the shared memory path (e.g.,
Troubleshooting:
- If no logs: the extension may not be loading; verify the
.gdextensionlibrary paths and the built library exists at those paths. - If header shows zeros or no ticks: ensure the agent is running and writing to the same path.
- Launch Godot from a terminal to see logs (macOS example):
open -a Godot --args --path /Users/…/brain-visualizer/godot_source --verbose
Feel free to reach out to us on one of our various platforms!
Please see our general contribution guide here.
For Brain Visualizer specifically, please download the appropriate Godot editor version here and open a cloned copy of this repository with it. Keep in mind you will require an instance of FEAGI running.
See our developer notes for Brain Visualizer here.
Brain Visualizer is distributed under the terms of the Apache 2.0 License.