Laid out by elkjs (algorithm "layered", pinned 0.9.3), node order FORCED
to the causal column below rather than derived from edges, because the graph has a real
cycle (RuggedizedSwitch and MissionProcessor exchange traffic in both directions, and
TelemetryMsg runs backward against the main flow). Counts shown are from fix1-window-4t-traces;
structure is identical across all three runs, checked before this page was built.
Solid edge: observed at the switch, every frame carries src/dst/ethertype.Dashed edge: RF, from the model's wiring, never touches the switch, not
observed in any trace.Curved dashed edge: TelemetryMsg, drawn separately from the forward layout
because it runs against the causal flow, status going back rather than data going
forward.
Loading elkjs and computing layout…
HealthMsg (ethertype 0x88B8) is declared in the model and never sent. No source or
destination for it was found in the model authoring source, so it is named here rather than
drawn: drawing an edge for it would assert an endpoint pair nobody has confirmed, and that
is worse than not drawing it.
Rf_DetectionA and Rf_DetectionB are two separate links here, matching the model's
own wiring. The topology page (ims-twin.html) currently shows one merged Rf_DetectionA bus
carrying both receivers' signals, because the twin's generator merges them; this page reads
the model directly, so the two are kept apart.
Generated by make_elk_flow.py
from message_routes and direct_links in fix1-window-4t-traces/frames.json (innexis-vsi 0e2a6e9). See
also the frame-by-frame timeline (when things happened), the
baseline-vs-fix comparison (what changed and why), and the
physical topology (what is actually wired to what, read from
the model rather than a run).