Skip to content

Data Flow Summary

Vicious Squid edited this page Feb 24, 2026 · 7 revisions

Data Flow Summary

Game LoopTamagotchiLogic feeds stats → BrainWidget.update_brain_state()


Central Hub: BrainWidget

Component Description
state dict Neuron activations
weights dict Connection strengths
Coordinates All subsystems

Worker Threads

Worker Responsibility Output
BrainWorker Hebbian learning, Neurogenesis Signals → BrainWidget
BrainRenderWorker Offscreen painting QImage → paintEvent
NeuronOutputMonitor Threshold checks Hooks → Squid behaviors

Signal Flow

BrainWorker ──────────┐
                      │
                      ▼
                 BrainWidget ──────▶ Squid
                      ▲
                      │
BrainRenderWorker ────┘

Complete Pipeline

  1. Input Stage

    • BrainNeuronHooks converts game events → neuron activations
    • Sensors: can_see_food, plant_proximity, is_fleeing, etc.
  2. Processing Stage

  3. Output Stage

    • NeuronOutputMonitor checks activation thresholds
    • Fires output hooks → game behaviours
    • Actions: flee, seek_food, sleep, change_colour, etc.
  4. Rendering Stage

    • BrainRenderWorker receives state snapshot
    • Renders to offscreen QImage
    • Main thread blits cached image

Clone this wiki locally