DenisSergeevitch/desktop-fly: A 3D fruit fly living on your macOS desktop, driven by a live spiking simulation of the real FlyWire connectome ยท GitHub

๐Ÿ’ฅ Explore this trending post from Hacker News ๐Ÿ“–

๐Ÿ“‚ **Category**:

๐Ÿ’ก **What Youโ€™ll Learn**:

DesktopFly โ€” a 3D fruit fly

A 3D fruit fly that lives on your macOS desktop โ€” driven by a live spiking
simulation of the real FlyWire
connectome. It walks across your windows, grooms, sleeps, and decides to flee
your cursor with the same neurons a real fly uses.

Live brain window: 23,210 real neuron positions, spikes flashing


The fly’s brain window: 23,210 real neuron soma positions from FlyWire v783,
with live spikes flashing at real neuron locations. The two glowing yellow
markers are the Giant Fibers โ€” the escape command neurons. Click any region
to stimulate it.

  • 23,210 neuron soma positions (of 139,255 in FlyWire v783) render the
    rotating brain window, colored by super-class (FlyWire’s coarse cell-type
    grouping).
  • A 668-neuron circuit with ~19,000 real synaptic connections (synapse
    counts, signed by neurotransmitter prediction) runs as a 1 kHz
    leaky-integrate-and-fire (LIF) simulation:

    • LC4 (104) + LPLC2 (210) looming-detector visual neurons
    • DNp01 / Giant Fiber (GF) (2) โ€” the escape command neuron
    • DNa01 + DNa02 (4) steering neurons ยท DNp09 (2) forward walking
    • DNg11 (6) grooming ยท MDN (4) backward walking (“moonwalker”)
    • DNp02/DNp04/DNp11 (6) escape-maneuver (wing) neurons
    • their 330 strongest partners, including ascending (proprioceptive) and
      sensory (wind) neurons
  • Escape is not scripted. Your cursor’s approach becomes looming input to
    the real LC4/LPLC2 cells; the fly takes off only when the Giant Fiber
    actually spikes through its real synapses โ€” ~1,200 synapses of feedforward
    inhibition push back, which is why slow approaches are tolerated and fast
    lunges trigger escape in ~4 ms, just like the real animal.

The body itself is procedural (FlyWire is a brain connectome โ€” no body
geometry exists), with a tripod gait, visible wing-beat, altitude-scaled
flight, grooming, and sleep postures.

Requirements: macOS 13+, Xcode Command Line Tools (Swift 5.9+).
No permissions or entitlements needed โ€” everything it senses
(cursor, window frames, clicks-as-taps, thermal state) is permission-free.

git clone https://github.com/DenisSergeevitch/desktop-fly.git
cd desktop-fly
./build.sh
./DesktopFly

A ๐Ÿชฐ item appears in the menu bar; quit from there. The fly wanders your
desktop on a transparent, click-through overlay โ€” it never intercepts your
mouse or keyboard.

item effect
Pause / Resume freeze the world
Show/Hide Brain toggle the live brain window
Escape Test (loom) inject a looming stimulus, watch the GF fire
Move to Next Display hop the fly across monitors (shown when >1 display)
Add / Remove Fly extra flies (only fly #1 carries the brain)
Scare Flies startle everyone

The brain window is interactive: hovering pauses the rotation; clicking a
region “optogenetically” stimulates the ~60 nearest circuit neurons for
400 ms. The fly’s reaction is whatever the real network does downstream โ€”
click the Giant Fiber and it escapes; click DNg11 and it grooms; click one
side’s DNa01/02 and it turns.

How real neurons drive the body

body behavior driven by
escape takeoff DNp01 giant fiber spike
walk vs. rest, walking speed DNp09 rate
steering DNa01+DNa02 leftโˆ’right rate difference
grooming DNg11 rate
backward scoot MDN burst
nervous darting LC4/LPLC2 population rate
wing-beat effort, threat wing-raise DNp02/04/11 rate
spontaneous takeoff whole-population arousal

The loop also closes bodyโ†’brain: the gait rhythm feeds the circuit’s real
ascending (proprioceptive) neurons in phase with the legs, and fast cursor
motion stimulates its sensory (wind) partners.

Desktop ecology (all permission-free macOS senses)

  • Window terrain: window top edges are ledges โ€” the fly lands on them,
    walks along them, rides a window you drag, and startles when one closes
    under its feet.
  • Window looms: a window appearing near the fly feeds the looming
    pathway; the circuit decides whether to flee your dialogs.
  • Clicks are substrate taps; clicking next to the fly startles it through
    the windโ†’GF pathway. Typing is vibration (idle-time API โ€” knows when
    keys were pressed, never which).
  • Circadian rhythm: dawn/dusk activity peaks, midday siesta, night
    quiescence. Sleep: idle at night โ†’ it sleeps, breathing slowly, with
    raised arousal threshold; it grooms after waking.
  • Temperature: flies are ectotherms โ€” a hot Mac is a faster fly.

data/ ships with compact derived files. To rebuild them from the raw
FlyWire Codex dumps (~60 MB download):

mkdir -p /tmp/flywire && cd /tmp/flywire
B=https://storage.googleapis.com/flywire-data/codex/data/fafb/783
curl -O "$B/classification.csv.gz" -O "$B/coordinates.csv.gz" \
     -O "$B/connections.csv.gz" -O "$B/consolidated_cell_types.csv.gz"
cd - && python3 etl.py /tmp/flywire
./DesktopFly --simtest        # circuit invariants: GF silent at rest, 4 ms loom latency, ...
./DesktopFly --behaviortest   # 17 end-to-end checks: stimulate neurons -> body reacts
./DesktopFly --snapshot f.png  # offscreen fly render
./DesktopFly --brainshot b.png # offscreen brain render

What’s modeled vs. measured

Honesty section: the connectome gives wiring, not physiology. The LIF
dynamics, neurotransmitter signs (ACh+, GABAโˆ’, Gluโˆ’), the gap-junction boost
on LCโ†’GF and windโ†’GF (documented electrical coupling), synaptic delays, and
the sensory transduction (cursor โ†’ looming value) are standard modeling
choices layered on the real graph. Everything downstream of the sensory
neurons โ€” who connects to whom, and how strongly โ€” is FlyWire data.

Code is MIT. The files in data/ are derived from FlyWire (FAFB v783) and
are CC BY-NC 4.0 โ€” see data/DATA_LICENSE.md.
If you use this, cite:

๐Ÿ”ฅ **Whatโ€™s your take?**
Share your thoughts in the comments below!

#๏ธโƒฃ **#DenisSergeevitchdesktopfly #fruit #fly #living #macOS #desktop #driven #live #spiking #simulation #real #FlyWire #connectome #GitHub**

๐Ÿ•’ **Posted on**: 1787092151

๐ŸŒŸ **Want more?** Click here for more info! ๐ŸŒŸ

By

Leave a Reply

Your email address will not be published. Required fields are marked *