The port challenged the by-size identification: both sweep sprites are the same size, so size cannot separate pteff03 from pteff03a, and the two leaves floor at 128 and 0. They were right, and it is broken a third way. Their discriminator -- the leaves travel in opposite directions -- is in the capture I already had. Both rows drift +2.19 and +2.18 in x, i.e. BOTH LEFT TO RIGHT, so both are pteff03. The 0.7% size difference is per-frame rounding splitting one element across two keys, not two elements. pteff03a does not appear in this capture at all. And my own presentation misled. The "alphas 8 24 33 50 58" I quoted were sorted(set(...))[:9] -- the nine LOWEST DISTINCT values, not the series. Read as a trajectory they look like a ramp from 8. They are a tail. The counts: 9 of 1140 and 5 of 614 samples below 128, so 14 sub-floor samples out of 1754. The bound argument survives in shape and collapses in weight. A sample below 128 is still unexplainable by a leaf flooring at 128, but 14 of 1754 is a thin tail and a tail is where a vertex-grouping slip or a partial frame would show up. Downgraded to amber: not refuted, not established. Settling it needs the same capture read as a SERIES rather than a set -- alpha against frame across t=70..100, where a multiplying parent must produce a monotone ramp on nearly every frame rather than 14 stragglers. One more read of data already on disk. The port was right to hold the renderer. Adopting this would have changed a rendering rule on every screen with a leaf, on 14 samples I had presented as a trajectory. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jc4pciRArGHfxGGhEbwp5t
4.7 KiB
F6 unit 2 — parent alpha multiplying in: 🟡 WEAKENED, not established
🔴 CORRECTION, same day — the identification was wrong, and so was my presentation
The port challenged the by-size identification: both sweep sprites are the same size, so size cannot separate
pteff03frompteff03a, and the two leaves have different alpha floors (128 and 0). They were right that it was broken, and it is broken in a third way neither of us named.Their proposed discriminator — the leaves travel in opposite directions — is in the capture, and it says:
1.38x3.15 n=1140 x centre -1.690 -> +0.500 drift +2.190 LEFT->RIGHT 1.39x3.15 n= 614 x centre -1.685 -> +0.495 drift +2.180 LEFT->RIGHTBoth rows travel the same way, so both are
pteff03. The 0.7 % size difference is per-frame rounding splitting ONE element across two keys — not two elements.pteff03a(declared right-to-left, 800 % scale, AABB ≈ 3.62 NDC) does not appear in this capture at all.🔴 And my own presentation misled. The "alphas 8 24 33 50 58 …" I quoted were
sorted(set(...))[:9]— the nine lowest distinct values, not the series. Read as a trajectory they look like a ramp from 8. They are a tail. The actual counts:below 128: 9 of 1140 and 5 of 614 = 14 sub-floor samples out of 1754So the bound argument survives in shape and collapses in weight. Every sample below 128 is still unexplainable by a leaf that floors at 128 — but 14 of 1754 is a thin tail, and a tail is exactly where a vertex-grouping slip or a partial frame would show up. Downgraded to 🟡: not refuted, not established.
What would settle it: the same capture read as a series rather than a set — alpha against frame across
t=70…100, where a multiplying parent must produce a monotone ramp on nearly every frame, not 14 stragglers. That is one more read of data already on disk, and it is the next unit.The port was right to hold the renderer. Adopting this would have changed a rendering rule on every screen with a leaf, on 14 samples I had presented as a trajectory.
Status: ✅ measured ⟨capture⟩. 2026-09-02.
Question: during the title build-in, does the sweep's drawn alpha follow the
leaf alone, or leaf × parent?
Look at: the sweep quad's drawn alpha. pteff03's leaf never goes below
128 (keys 0:255 150:128 540:255 600:255), so any drawn alpha below 128 can
only come from something else multiplying in.
Not covered: F5; the leaf's clock origin; where the sweep is on screen.
The measurement
One boot, one Ⓐ to skip the attract video, then no input — the title builds in
undisturbed. tools/re-capture/title_sweep_probe.sh.
The sweeps are the two rotated, 600 %-scaled strips, identified by size: NDC
1.38 × 3.15 and 1.39 × 3.15, which is the corpus's own independently
measured AABB height of 1134 px (2 × 1134 / 720 = 3.15).
1.38 x 3.15 n=1140 frames 746..2499 alphas 8 24 33 50 58 74 83 100 107 …
1.39 x 3.15 n= 614 frames 747..2498 alphas 16 41 67 91 116 128 129 130 131 …
Drawn alpha reaches 8.
pteff03's leaf alpha is bounded below by 128.8 < 128, so the leaf cannot produce it alone. The parent's alpha is multiplied in.
🔴 This refutes the port's flagged decode — which is exactly what it asked for
screen_view.gd records as decoded that "the leaf runs on its OWN timeline and
the parent's alpha is NOT multiplied in", and flags honestly that every
observation behind it had parent alpha 0, so "the leaf wins" and "the parent is
ignored because it draws nothing" were never separated — naming t = 100…238 as
the interval that would separate them.
This capture is in that interval and separates them: the parent is not ignored. The port was right that its evidence could not tell the two apart, and right about which measurement would.
📌 And it bears on F6's original report. The parent ramps 0→255 across
t=70→100. If that multiplies in, the sweep is invisible before t≈70 and dim
until 100 — so a human reporting it "starts late" is seeing a real gate, even
though 238…250 is an exit (unit 1). The gate is the parent's entry ramp, not
the 238 cluster.
Reach
⟨capture⟩, one boot, the two sweep quads identified by size against a
previously measured AABB — not by name, since the draw stream carries no names.
The bound argument needs only that pteff03's leaf minimum is 128, which is
⟨disc⟩. ⚠️ It does not establish the multiply is plain leaf × parent rather
than some other combination that also dips below 128; it establishes that the
parent participates.