re: F6 unit 2 -- the parent's alpha IS multiplied into the sweep leaf
Question, look-at and not-covered written before the work, per PROTOCOL's units section. One boot, one A to skip the attract video, then no input so the title builds in undisturbed. The sweeps are the two rotated 600%-scaled strips, identified by size: NDC 1.38x3.15 and 1.39x3.15, matching the corpus's own independently measured AABB height of 1134 px (2*1134/720 = 3.15). Drawn alphas run 8, 24, 33, 50, 58, 74, 83, 100, 107 and 16, 41, 67, 91, 116, 128... pteff03's LEAF alpha is bounded below by 128 (keys 0:255 150:128 540:255 600:255). 8 < 128, so the leaf cannot produce it alone. The parent's alpha is multiplied in. That refutes the port's screen_view.gd decode that "the leaf runs on its OWN timeline and the parent's alpha is NOT multiplied in" -- which is exactly what that file asked for. It flagged 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, and named t=100..238 as the separating interval. This capture is in that interval. Bears on F6's original report: the parent ramps 0->255 across t=70..100, so if it multiplies in the sweep is invisible before ~70 and dim until 100. A human reporting it starts late is seeing a real gate -- the parent's ENTRY ramp, not the 238 cluster, which unit 1 showed is an exit. Reach: one boot; 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 the leaf minimum is 128, which is from the disc. It does NOT establish the combination is plain leaf x parent rather than some other one that also dips below 128 -- only that the parent participates. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jc4pciRArGHfxGGhEbwp5t
This commit is contained in:
57
docs/re/f6-unit2-parent-alpha-multiplies.md
Normal file
57
docs/re/f6-unit2-parent-alpha-multiplies.md
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
# F6 unit 2 — the parent's alpha **IS** multiplied into the sweep leaf
|
||||||
|
|
||||||
|
**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.
|
||||||
30
tools/re-capture/title_sweep_probe.sh
Executable file
30
tools/re-capture/title_sweep_probe.sh
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# F6 unit 2 -- capture the TITLE's build-in and read the sweep's drawn alpha.
|
||||||
|
#
|
||||||
|
# Discriminator: pteff03's LEAF declares alpha 255 from its own t=0, while its
|
||||||
|
# PARENT ramps 0->255 across t=70..100. So in the drawn vertex colour:
|
||||||
|
# flat 255 throughout => the parent is NOT multiplied in
|
||||||
|
# a ramp 0->255 => it IS
|
||||||
|
# That also settles the port's own flagged ambiguity, whose stated separating
|
||||||
|
# interval (t=100..238) is the same one F6 is about.
|
||||||
|
#
|
||||||
|
# Simpler than the menu probe on purpose: ONE A press to skip the attract video,
|
||||||
|
# then no further input, so the title builds in undisturbed and stays.
|
||||||
|
set -u
|
||||||
|
export HOME=/sylph-home/re SDL_AUDIODRIVER=dummy DISPLAY=:98
|
||||||
|
export XENIA_PAD_FILE=/tmp/xenia_pad.txt
|
||||||
|
OUT="${1:-/sylph-home/re/f6}"; mkdir -p "$OUT"; rm -f "$OUT"/xenia_re_ui_draws_*.log
|
||||||
|
pad(){ printf '%s' "$1" > "$XENIA_PAD_FILE.tmp"; mv "$XENIA_PAD_FILE.tmp" "$XENIA_PAD_FILE"; }
|
||||||
|
pad ""
|
||||||
|
( cd "$OUT" && nohup run-canary --log_ui_draws=true \
|
||||||
|
--ui_draw_capture_frames=2500 --ui_draw_capture_max=600000 \
|
||||||
|
>"$OUT/canary.stdout" 2>"$OUT/canary.stderr" & )
|
||||||
|
sleep 8
|
||||||
|
win="$(xdotool search --name "Xenia-canary" | tail -1)"
|
||||||
|
[ -n "$win" ] || { echo "FATAL: no Xenia window"; pkill -x xenia_canary; exit 1; }
|
||||||
|
xdotool windowactivate "$win" 2>/dev/null; xdotool key --window "$win" F10; xdotool key F10
|
||||||
|
echo "armed at ${SECONDS}s"
|
||||||
|
sleep 12; pad "press=A"; sleep 0.4; pad ""; echo "A (skip video) at ${SECONDS}s"
|
||||||
|
sleep 45 # let the title build in and settle, no further input
|
||||||
|
pkill -x xenia_canary
|
||||||
|
echo "done at ${SECONDS}s"; ls -la "$OUT"/*.log 2>/dev/null
|
||||||
Reference in New Issue
Block a user