How foamyfsky/branchlab works
BranchLab is a deterministic three-room particle-control research dashboard. The main workflow is to create an experiment, advance and intervene on a cleaner, fork named branches, then compare completed outcomes or export a replay record. A separate batch workflow evaluates fixed placement schedules and writes a CSV. The README documents additional dashboard views and evaluation capabilities; the excerpts do not expose every UI handler, so uncertain internal wiring is omitted.
Main entry points: app.py Streamlit dashboard · session.py Experiment session · experiment.py Batch evaluation · transport.py Piecewise transport
Components 16
Interactive dashboard
- Streamlit dashboard
app.py - Experiment controls
app.py - Branch comparisons
app.py
Experiment sessions
- Experiment session
src/branchlab/session.py - Branch state
src/branchlab/session.py - Versioned replay
src/branchlab/session.py - Worked example
examples/cleaner-relocation.json
Transport model
- Piecewise transport
src/branchlab/transport.py - Exact propagation
src/branchlab/transport.py
Schedule evaluation
- Batch evaluation
src/branchlab/experiment.py - Schedule comparison
src/branchlab/experiment.py - Evaluation results
results/transport.csv - Evaluation figures
results
Other components
- Research user
- Streamlit runtime
- Plotly charts
Connections 18
- Research user → Streamlit dashboard: uses
- Streamlit dashboard → Experiment controls: renders
- Streamlit dashboard → Branch comparisons: renders
- Streamlit dashboard → Experiment session: creates and updates
- Experiment controls → Experiment session: controls
- Branch comparisons → Experiment session: reads summaries
- Streamlit dashboard → Worked example: loads
- Streamlit dashboard → Versioned replay: imports and exports
- Experiment session → Branch state: manages
- Experiment session → Piecewise transport: advances state
- Experiment session → Versioned replay: validates and replays
- Piecewise transport → Exact propagation: propagates with
- Batch evaluation → Schedule comparison: evaluates
- Batch evaluation → Piecewise transport: simulates schedules
- Batch evaluation → Evaluation results: writes
- Batch evaluation → Evaluation figures: writes figure
- Streamlit dashboard → Streamlit runtime: runs on
- Streamlit dashboard → Plotly charts: renders charts with