Table of Contents

Namespace DotFly

Classes

BrainExtensions

Factory methods on Brain.

InputPort

K floats in: one value per neuron of a NeuronSet, in set order. Writes are thread-safe and take effect from the next simulation step; converting sensor data (pixels, sound, game state) into these values is the caller's encoder.

OutputFrame

One published readout: K values in set order, with the neural time it describes.

OutputPort

K floats out: a per-neuron readout of a NeuronSet, published every PublishEvery of neural time into an immutable Snapshot that any thread may read without blocking the simulation.

RealtimeDriver

Runs a Simulation on its own thread, keeping neural time in step with the wall clock (times Ratio). The game or UI thread writes input ports and reads output snapshots; it never touches the simulation directly. BehindBy tells the host how far the network lags, so it can degrade honestly (e.g. switch to a smaller checkpoint) instead of pretending.

RealtimeOptions

Options for RealtimeDriver.

RecordedInjection

An injection as recorded.

RecordedInput

An input-port write as recorded.

RecordedOutput

A published output frame as recorded.

RecordedPort

A port as recorded.

Recorder

Writes a .dfs recording: a little-endian stream of tagged records after a JSON header that pins the checkpoint, seed and options. Spikes, inputs and output frames carry the step they belong to, so a run can be replayed (Replay(Simulation)) or exported.

Recording

A parsed .dfs recording.

RecordingHeader

Header of a .dfs recording.

Simulation

A running network: one Brain, one backend, the input/output ports bound to neuron sets, the clock, the recorder and the causal switches. All members are meant to be called from one thread (the caller of Run(TimeSpan)/Advance(int), or the RealtimeDriver's thread) except Write(ReadOnlySpan<float>), Snapshot, the switches and the read-only properties, which are safe from any thread.

SimulationClock

Keeps neural time, simulated duration and wall time apart. Wall time accumulates only while the simulation is advancing, so the real-time factor measures the engine, not the caller's pauses.

SimulationOptions

Options for CreateSimulation(Brain, SimulationOptions?).

SimulationSnapshot

An opaque copy of a simulation's dynamic state.

Units

Readable time literals for engine calls: 50.Ms(), 1.5.Seconds().

Structs

OutputKind

What an output port publishes per neuron.

Enums

Backend

Which backend runs the network.

InputKind

How an input port's values act on its neurons.

OutputKind.Readout

Kind of readout.

RecordFlags

What a recording captures.

Delegates

SpikeHandler

Receives the spikes of one step (neuron indices ascending). Do not retain the span.