An offline simulation and method-development workspace for Tecan FluentControl 3.7 liquid-handling robots — with a cross-machine sync pipeline that lets me author methods at home and ship them to the locked-down work laptop over a LAN bridge.
Tecan FluentControl is the runtime for a family of liquid-handling robots — think a mechanical arm that moves plates and pipettes across a fixed worktable, executing methods (scripts) authored in Tecan's Windows-only GUI. In simulation mode you can develop methods without touching the physical hardware, but the tooling and file layout still lock you into their workflow.
Fluent turns that into a normal software project. Canonical methods, worktable definitions, labware defaults, and version-compat rules (3.7 vs 3.8, Patch 1, etc.) live in a version-controlled workspace. Simulation output and ephemeral logs are quarantined under _local/ so they never pollute the sync. A DSL v2 translator lets me author methods as plain text; XML schema inspection tools let me poke at the underlying .xscr and .zeia formats when I need to understand what FluentControl is actually persisting.
The interesting piece is the deploy path. My dev box is at home; the FluentControl install lives on a locked-down work laptop that can't run modern dev tooling. So the flow is:
author method (home)
↓
fluent_ship.py — bundles the method into a Pass LAN bridge lane
↓
[LAN transfer]
↓
pass fluent-inject (PowerShell verb on work laptop)
· pulls the bundle
· renames to Tecan's GUID convention
· svn add into the FC method database
· ready to open in FluentControl
The sync boundary is enforced by hand-drawn rules: everything under _local/ is machine-specific and stays out of git; everything else is canonical and roundtrips cleanly between the two machines.