Repository navigation
feat(family): README preview for each of the four outfits - #66
Conversation
The family README showed the office outfit only, while the suite holds 20 rigs in four outfits (#30). Each outfit now has its own animated WebP at the existing office presentation: 960x832, 67 displayed frames, the original 49/50 ms duration array totalling 3333 ms, quality 80. Every preview carries a metadata JSON recording its frames, timing, sources and loop figures. The office preview is re-rendered by the same recipe. Loop bar: the renderer gives no closure verdict, and a physics idle never returns to a bit-identical first frame (the live track period differs from the nominal 10/3 s by about 8e-8 s per cycle). The bar is therefore the measured wrap: the decoded last-to-first step must be no larger than the largest adjacent-frame step. The one-period endpoint difference is reported, not gated. | Outfit | Bytes | wrap MAE | max adjacent MAE | | --- | ---: | ---: | ---: | | office | 7,402,158 | 1.489 | 2.403 | | homewear | 7,142,300 | 1.642 | 2.544 | | swimwear | 7,390,994 | 2.419 | 2.635 | | uniform | 6,679,726 | 2.439 | 2.616 | Rejected: an exact endpoint equality bar (unreachable for physics), blending or copying endpoint frames, and any change to rigs, physics, art or the viewer. Nova job 20261024T171943Z-779ea2ca passed; frames hashed and deleted after the sheet was read. Closes #30 Co-Authored-By: Jinni <342598851+fj-jinni[bot]@users.noreply.github.com> Co-Authored-By: Naru <342599188+fj-naru[bot]@users.noreply.github.com> Co-Authored-By: Roa <342598975+fj-roa[bot]@users.noreply.github.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const mp4 = option('--mp4', null) === null ? null : path.resolve(option('--mp4')); | ||
| const output = mp4 !== null && option('--out', null) === null ? null : path.resolve(option('--out', path.join(family, 'docs/family-preview.webp'))); | ||
| const outfit = option('--outfit', 'office'); | ||
| const output = mp4 !== null && option('--out', null) === null ? null : path.resolve(option('--out', path.join(family, `docs/family-preview${outfit === 'office' ? '' : '-'+outfit}.webp`))); |
There was a problem hiding this comment.
Keep preflight output separate from published previews
Running --preflight with a fresh evidence directory and no explicit --out still selects the published outfit preview here. Although help describes preflight as a bounded 8×8 reader probe, the script passes this destination to preview-loop.py, which overwrites the WebP with the tiny probe, and then replaces its JSON metadata too. Consequently, checking the renderer setup destroys the existing README preview. Default preflight output to the evidence directory, or require an explicit probe destination.
Useful? React with 👍 / 👎.
AI review on #66 (P2): running --preflight without --out wrote the 8x8 reader probe over the published README preview and its metadata, so checking the renderer setup destroyed the preview. In --preflight mode the default output is now the evidence directory, and an --out that resolves inside family/docs is refused by name before anything is imported or written (PREFLIGHT_OUT_IS_PUBLISHED). Two tests added: preflight without --out leaves family/docs/family- preview.webp byte-identical; preflight with --out into family/docs is refused. Node 5/5 pass. The four committed previews and their JSON are unchanged (hashes verified). Co-Authored-By: Jinni <342598851+fj-jinni[bot]@users.noreply.github.com> Co-Authored-By: Roa <342598975+fj-roa[bot]@users.noreply.github.com>
|
P2 (preflight overwrote the published preview) fixed in 02eed3e: preflight defaults to the evidence directory, and an --out into family/docs is refused as PREFLIGHT_OUT_IS_PUBLISHED. Two regression tests were added. The four previews are byte-unchanged. |
The family README showed the office outfit only, while the suite holds
20 rigs in four outfits (#30). Each outfit now has its own animated
WebP at the existing office presentation: 960x832, 67 displayed frames,
the original 49/50 ms duration array totalling 3333 ms, quality 80.
Every preview carries a metadata JSON recording its frames, timing,
sources and loop figures. The office preview is re-rendered by the
same recipe.
Loop bar: the renderer gives no closure verdict, and a physics idle
never returns to a bit-identical first frame (the live track period
differs from the nominal 10/3 s by about 8e-8 s per cycle). The bar is
therefore the measured wrap: the decoded last-to-first step must be no
larger than the largest adjacent-frame step. The one-period endpoint
difference is reported, not gated.
Rejected: an exact endpoint equality bar (unreachable for physics),
blending or copying endpoint frames, and any change to rigs, physics,
art or the viewer. Nova job 20261024T171943Z-779ea2ca passed; frames
hashed and deleted after the sheet was read.
Closes #30
Verification: targeted Node 3/3 and Python 3/3 tests pass, the whole-chain preflight passes, and Nova job
20261024T171943Z-779ea2ca166a4732afc09061915546c3passed (result sha256f6430ffd…). HQ re-hashed all four WebPs against the job output and read the four-outfit sheet.🤖 Generated with Claude Code