port: the plate pulses -- restore the looping record, over the base rather than instead of it
Ask #1 measured: held at the title with no input the plate oscillates ~23 cycles per window with no decay and NEVER goes off -- floor 159 thresholded pixels, pulse bottoming at 714. A glow alone cannot do that (0 -> 80 -> 0); a steady base plus a pulsing glow can, and 714/1520 are base-only and base-plus-glow. The port already had the base right: ptbtn00's fade to 0 at t=244 is its EXIT ramp, and while held the base sits at alpha 255. The glow was missing. The defect was in the renderer, not the entry I deleted on 2026-08-29. _draw treated a looping record like a focused one -- drawn INSTEAD of the base, which is right for a focused button and wrong here. I deleted the right thing for the wrong reason. A looping record now draws OVER the base and the entry is restored. Rendered: 95.68 base only, 115.52 at peak, period 1.980 s against a declared 120 units = 2.000 s, ratio 0.990. Visible on the boot path; not under --screen --overlay, where a static overlay poses at its arrival by design. Authored in UNITS on their instruction, with their three limits verbatim: one boot, does not distinguish boot from attract title, and 714/1520 is not an alpha ratio so no duty cycle is inferred. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
@@ -73,37 +73,50 @@
|
||||
],
|
||||
"looping_focus_records": {
|
||||
"_": [
|
||||
"WHICH focus records the port draws unconditionally, and loops.",
|
||||
"WHICH focus records the port draws, unconditionally and on a loop, OVER the",
|
||||
"element's own sprite rather than instead of it.",
|
||||
"",
|
||||
"🔴 EMPTY AS OF 2026-08-30, and the deletion is the finding.",
|
||||
"",
|
||||
"The one entry here -- `press_start/ptbtn00`, period 120 -- was AUTHORED to",
|
||||
"give the PRESS (A) plate a glow on a screen that has no buttons and focuses",
|
||||
"nothing. Measured, it did the opposite: it made the plate INVISIBLE.",
|
||||
"",
|
||||
"`_draw` treats a looping focus record the way it treats a focused button --",
|
||||
"it draws the focus record INSTEAD of the base sprite and moves on. For a",
|
||||
"focused button that is right and measured (the focused sprite covers the",
|
||||
"base at 100.0 % of base-visible pixels). For the plate it substituted a dim",
|
||||
"glow at the wrong phase for the element's own bright sprite:",
|
||||
"",
|
||||
" with the entry without it",
|
||||
" press_start t=236 max 0 max 252.5",
|
||||
" press_start t=240 max 0 max 252.5",
|
||||
" press_start t=250 max 15.3 max 252.5",
|
||||
"",
|
||||
"So the plate could not be seen at any instant, on the screen whose entire",
|
||||
"content is the plate. The element's own fade is DECODED -- alpha 255 at",
|
||||
"t=236-238 -- and this authored guess was overriding decoded data with a",
|
||||
"worse answer. That is the wrong way round, and an authored entry that",
|
||||
"suppresses a decode is deleted rather than tuned.",
|
||||
"",
|
||||
"⚠️ What is NOT claimed: that the plate has no glow. The focus record",
|
||||
"`ptbtn00f.rat` exists and may well be drawn ON TOP of the base in the real",
|
||||
"game. Drawing both would be a rendering rule nobody has measured, so the",
|
||||
"port draws what the disc's own fade says and leaves the glow out. See",
|
||||
"docs/port/BLOCKED.md -- a capture of the idle title settles it."
|
||||
]
|
||||
"RESTORED 2026-08-30 on a MEASUREMENT, having been deleted on 2026-08-29 for",
|
||||
"a real defect that was in the RENDERER, not in this table. The old entry made",
|
||||
"`_draw` substitute the glow for the plate's own bright sprite, so the plate",
|
||||
"was invisible at every instant (max 0 against max 252.5). `ScreenView` now",
|
||||
"draws the base and the record over it, and the entry comes back."
|
||||
],
|
||||
"press_start/ptbtn00": {
|
||||
"record_element": "ptbtn00f",
|
||||
"period_units": 120,
|
||||
"kind": "measured",
|
||||
"source": "docs/re/structures/plate-pulse-measured.md, RE agent 2026-08-30",
|
||||
"why": [
|
||||
"MEASURED off the running game, held at the title with NO INPUT: the plate",
|
||||
"oscillates continuously -- two windows in one boot of 58 s and 57 s, about",
|
||||
"23 cycles each, with no decay and no settling.",
|
||||
"",
|
||||
"🔴 IT NEVER GOES OFF. The plate-absent floor is 159 thresholded green",
|
||||
"pixels -- the title art's own, measured on live-title-build4-no-plate.png --",
|
||||
"and the pulse bottoms at 714, four and a half times that. So `ptbtn00`",
|
||||
"going transparent at t=244 is not the end of the plate; that is its EXIT",
|
||||
"ramp, which plays when the screen leaves. While the screen is held the base",
|
||||
"sits at its own hold (alpha 255 at t=238) and `ptbtn00f`'s cycle runs over",
|
||||
"it. Base-only and base-plus-glow are what the 714 and the 1520 are.",
|
||||
"",
|
||||
"⚠️ 120 UNITS, NOT SECONDS, and that is the RE agent's own instruction. Their",
|
||||
"run measured 2.530 and 2.540 s; an earlier corpus run measured 2.24 s. Same",
|
||||
"declared number, different emulator pacing -- x1.27 and x1.12 against a",
|
||||
"nominal 2.000 s, which IS 120 units at 60 units/s. Hardcoding 2.5 s would",
|
||||
"author one loaded container's clock."
|
||||
],
|
||||
"limits": [
|
||||
"ONE BOOT. Two windows inside it are not two boots.",
|
||||
"It does NOT distinguish the boot title from an attract-loop title: run 1",
|
||||
"opens at t~255 s against Q9's ~193 s no-input baseline, so it may already",
|
||||
"be the attract title. Both are 'the title, held, no input' -- which is what",
|
||||
"was asked -- but it is not proof about the first appearance.",
|
||||
"🔴 714/1520 IS NOT AN ALPHA RATIO. The counter is thresholded pixels, so dim",
|
||||
"pixels drop out first. No duty cycle and no ramp shape may be read off it;",
|
||||
"the port draws the record's own declared alpha ramp and infers nothing."
|
||||
]
|
||||
}
|
||||
},
|
||||
"exit_ramp_deleted_why": [
|
||||
"DELETED 2026-08-29, and the deletion is the point.",
|
||||
|
||||
Reference in New Issue
Block a user