salvage: the video renderer, its trace evidence, and the AADL model from #382 - #394
Merged
Conversation
…rom #382 #382 is superseded by #393 — both bump the WIT to 0.8.0 and rewrite the same three files, as competing implementations of one version bump. But #382 also carried work that exists NOWHERE else, and closing it would have taken that with it: examples/falcon-sitl-gz/tools/plot-trace-video.py the v1.137 video renderer bench-evidence/wasm-sitl/* the CSVs it plots channel-metadata.md the v1.137 channel entry spar/falcon_types.aadl + SensorFrame, Vec3 spar/falcon_cascade.aadl EkfThread takes a frame I had believed the video work landed with #387. It did not: #387 was the CI recording job and touched only gazebo.yml. The renderer and every trace it plots were sitting on a branch about to be closed — the same post-squash stranding that hid the equivalence test (#392), now the fourth occurrence. The AADL changes remain correct under #393. AADL models THREADS, not components, so EkfThread taking a SensorFrame is still the right architecture even though the five stage interfaces are no longer composed at the wasm level. `spar parse` clean, `spar analyze --root Falcon_System::Falcon.Quad` 0 errors. The README is corrected rather than copied: it referenced the retired compose-cascade.sh, and it now says plainly that these traces measure the v0.7 five-stage cascade whose defect #393 removed by a different route. Kept as the RECORD that found it — the video was rendered from exactly these numbers — not as a description of current behaviour. Refs #382, #393, #387 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvusAXYbHLyv3uTzfBcMbG
avrabe
enabled auto-merge (squash)
September 11, 2026 10:45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Verify-Filter: (has-tag "v1.137")
#382 is superseded by #393 — both bump the WIT to 0.8.0 and rewrite the same
three files, as competing implementations of one version bump. But #382 also
carried work that exists nowhere else, and closing it would have taken that
with it.
tools/plot-trace-video.pybench-evidence/wasm-sitl/*channel-metadata.mdspar/falcon_types.aadl+ SensorFrame,+ Vec3spar/falcon_cascade.aadlEkfThreadtakes a frameI'd believed the video work landed with #387
It didn't. #387 was the CI recording job and touched only
gazebo.yml. Therenderer and every trace it plots were sitting on a branch about to be closed —
the same post-squash stranding that hid the equivalence test (#392). Fourth
occurrence.
The AADL is still correct under #393
AADL models threads, not components.
EkfThreadtaking aSensorFrameremainsthe right architecture even though the five stage interfaces are no longer composed
at the wasm level.
The README is corrected, not copied
It referenced the retired
compose-cascade.sh, and now says plainly that thesetraces measure the v0.7 five-stage cascade whose defect #393 removed by a
different route (one clock, no rate dependence at all: 0.22 m at 100/250/1000 Hz).
Kept as the record that found it — the video was rendered from exactly these
numbers — not as a description of current behaviour.
Refs #382, #393, #387
🤖 Generated with Claude Code
https://claude.ai/code/session_01HvusAXYbHLyv3uTzfBcMbG