FlowTopo animations
Full-size versions of the clips in the README. Play them here, or use the fullscreen button in the player.
Orderings
Topological sort from the sources — ordering="topo"
A cell is appended once all its donors are done.
Breadth-first from the pit — ordering="bfs"
Cells in order of hop count from the pit.
Depth-first from the pit — ordering="dfs"
One tributary subtree at a time.
Layerings
As soon as possible — layering="asap"
Every cell in the earliest layer its donors allow.
Conflict-free downstream — layering="cfds"
As soon as possible, plus one rule: no two cells in a layer share a receiver.
As late as possible — layering="alap"
Every cell in the latest layer possible.
Propagation manners
Pull
Each receiver reads its donors; needs the upstream table.
Atomic push
Donors write through atomics; correct, but float sums are not reproducible.
Push
Donors write directly; deterministic, no locks; requires the conflict-free layering.