Reproducible and Reliable Runs
Use the same starting model and run settings when you need to reproduce a result. Diagnostics help you investigate missing progress, while fast-forward lets you reach later simulated times without watching every movement.
Blockage checker
Section titled “Blockage checker”The blockage checker, BlockageWatch, reports stalls, circular vehicle waits (deadlocks) and gaps in observation coverage in Problems while monitoring is on. Monitoring is off by default, and setting a budget does not switch it on. There is no UI switch yet; turn it on with the diag.blockageWatch command ({ on: true }) and read its state with diag.blockageWatchStatus. Stall and deadlock reports include the wait chain, idle time and applicable budgets; coverage reports list only the class and the unobserved units. Where a scene object can be identified, Go to node selects it.
Use Max Idle in the Inspector’s BlockageBudget component to set how long an observed unit may make no progress before it becomes a candidate for checking. The value is in simulated seconds and must be at least Max Wait. Warmup, expected waits and exemptions also affect which units are checked. Exceeding Max Idle alone does not prove a deadlock.
A coverage report means some expected units are not observed. A run without reported blockages therefore does not by itself establish that every unit is progressing.
Randomness and seeds
Section titled “Randomness and seeds”Use a fixed seed to repeat a run, or auto seed for different replications. RNG v2 keeps separate streams for components; experiments retain their generator version so results from different versions are not mixed. See Randomness and seeds for settings, matching seeds and limits.
Fast-forward behaviour
Section titled “Fast-forward behaviour”Use the Fast Forward toolbar button to switch to maximum-throughput processing without animation. Its tooltip reads Fast Forward (max throughput, no animation) — click again to return to the previous speed. Clicking again restores the previous speed. In this mode a pause takes effect before the next event; it does not interrupt an event already being handled.

A fast-forward run to a target time is a separate, asynchronous run. It shows a progress bar and Cancel Fast Forward. This run does not stop on the ordinary pause; use Cancel Fast Forward to interrupt it. The view updates between processing slices, so parts can jump to their current positions instead of moving smoothly.
AGV failure in mid-trip
Section titled “AGV failure in mid-trip”In DES, a Downtime component targeting an AGV can interrupt a trip. The vehicle freezes its work and resumes after repair, replanning its movement from its standstill. Work already in progress retains its remaining service time.
The vehicle keeps all zones it already holds during the failure. Other vehicles can therefore remain blocked during the repair. Do not assume that a failed vehicle releases advance reservations or moves to a parking position.
Known limits
Section titled “Known limits”Blockage findings depend on observation coverage and the configured budgets. RNG v2 preserves random streams only while component addresses and types stay the same; exact alignment also requires equal draw counts per purpose. RNG v1 streams can change after structural changes. AGV failures retain held zones for the repair period.
Models with logic steps, PLC programs or IK paths are refused by the experiment batch: the logic would not advance during the batch, so its results would be wrong. In Fast Forward and Hybrid speed the logic cycles are counted incorrectly, and a warning appears in the Problems panel. Use Animated mode for exact logic timing.
Headless FastForward measurements reached a yard with 24 vehicles and 96 stations without finding a computation performance limit. These results describe the reference machine and do not predict interactive animation speed.
| Measured yard | Vehicles | Stations | Events/s | Sim-h/wall-h |
|---|---|---|---|---|
| n=1, 8 Sim-h | 2 | 6 | 86,298 | 106,944 |
| n=16, 8 Sim-h | 24 | 96 | 116,146 | 11,500 |
| n=8, 80 Sim-h | 12 | 48 | 163,428 | 22,652 |
Reference conditions for this table: CODER, AMD Ryzen 9 9950X (16C/32T), 64 GB RAM, Windows 11, High performance power plan, Node v26.13.0, headless Chromium (Playwright) in the vitest browser harness; WebViewer origin/main 25167f83; 2026-11-02; machine near idle (CPU 0 to 30%, mean about 10%, no test suite or render running). This machine is the reference hardware; other computers will differ. Values are rounded medians; 8 Sim-h = 28,800 Sim-s (3 repeats), 80 Sim-h = 288,000 Sim-s (2 repeats). MB is decimal. Heap peak is sampled; after GC is retained heap.
Vehicle installations can be snapshotted and restored: on the measured yard models saving takes 4 to 40 ms, restoring 6 to 103 ms, and the file is 32 to 396 KB (n=1 to n=16, on the reference machine; measured 2026-11-02). See Model size and limits on the Overview page for the full measured range, criteria and memory results.