virtual-fly-lab
Full-CNS MaleCNS fly living in a Godot 4 sandbox.
Neurons are simulated — leaky integrate-and-fire or better — with documented, tuned parameters.
Dispute this rating →The evidence
No evidence, no level.The simulation step is a documented LIF update - synaptic inflow, membrane leak, threshold crossing, post-spike hyperpolarisation as refractory - which is what earns L1.
https://github.com/Leon-Av/virtual-fly-lab/blob/0221edce5acbd625baa5f60b5797813a7577f384/sim/brain.py#L107-L131Weight normalisation happens once in the constructor at graph load time, not during the run, so it is a preprocessing step rather than plasticity.
https://github.com/Leon-Av/virtual-fly-lab/blob/0221edce5acbd625baa5f60b5797813a7577f384/sim/brain.py#L61-L70The homeostat and the adaptive threshold both act on membrane potential and spike threshold, never on a synaptic weight - this is what rules out L2.
https://github.com/Leon-Av/virtual-fly-lab/blob/0221edce5acbd625baa5f60b5797813a7577f384/sim/brain.py#L116-L125
A real-time integrate-and-fire kernel over the full MaleCNS v1.0 CNS (165,122 neurons, 25.56M connections) driving a fly in a Godot sandbox: membrane potentials integrate signed synaptic inflow, cross a threshold of 1.0 raised by a per-neuron rate EMA, and are hyperpolarised to -0.3 as a short refractory, with synapse counts log1p-compressed and signed by the presynaptic transmitter. Persistent membrane state with stated parameters earns L1. One caveat a reader should know: the exponential membrane decay constant self.leak = exp(-dt/tau) is computed at brain.py L75 and never applied, so subthreshold charge accumulates until the neuron fires or a global homeostatic brake pulls it down - the stated tau of 20 ms only enters through that brake's dt/tau scaling. Not L2, and the near-miss is worth being precise about, because the README advertises weight normalisation, an adaptive threshold and a homeostat, which reads like plasticity: the divisive normalisation is applied once in the constructor when the graph is loaded and never again; the homeostat subtracts a global brake from the membrane potential self.v, not from any weight; and the adaptive threshold raises a neuron's firing threshold from its own rate EMA. All three are intrinsic excitability and gain control. The sparse matrix self.w is only ever read after construction - no line in the repo writes a synaptic weight during a run, and there is no reward, learning rule or trained readout at all (the motor output is a hand-wired optomotor tract).
Record
Nearby
All projects →Research code for the Shiu et al. connectome-based leaky integrate-and-fire model, including activation/silencing experiments, notebooks, and FlyWire data configuration.
FlyWire whole-brain LIF implementation based on Shiu et al., with multiple simulation backends and benchmarking tools. This repository supplies the neural model; it is not a complete embodied demo package.
Ratings on thelearningfly.com are proposals, not verdicts. Every one of them is arguable in public.