"""SITL replay fixture builder (AZ-598). Vertical-slice tooling that produces the `outbound_messages__.json` + `observer__.json` fixtures consumed by the b75 sitl_observer in offline FDR-replay mode. Strategy: reuse the production `gps-denied-replay` CLI + `ReplayInputAdapter` to drive the SUT pipeline against a 1 fps MP4 encoded from the FT-P-01 still image set and a synthetic stationary tlog. Read the resulting FDR JSONL and project each per-frame outbound estimate into the fixture schema. This avoids building new SUT-side frame ingestion infrastructure. Only the FT-P-01 still-image variant is supported in this batch; FT-P-02 etc. will land as follow-up tickets. Public symbols live on the submodule `build_p01_fixtures`; we deliberately do NOT re-export them on the package namespace because the function and the submodule share the name `build_p01_fixtures` and the function would shadow the submodule for `import …build_p01_fixtures as bp` callers. """