Sea Select glow: defer sea-btn reopen + glow handoff past parse time; pulse the glow-handoff — TDD
room.html includes _sea_overlay.html (~L77) BEFORE _burger.html (~L167, which holds #id_burger_btn + #id_sea_btn), so the overlay's two inline scripts captured those btns at parse time → null → both bindings silently no-op'd: the sea btn (active post-completion) did nothing on click + the burger stayed stuck --priId because its glow-handoff transfer listener never bound. Defer both the sea-btn REOPEN binding (_bindSeaReopen) & the burger→sea_btn→.sea-select GLOW chain (_bindGlowHandoff) to DOMContentLoaded so the burger fan exists first. Also make the glow-handoff halo PULSE (quick ease-in swell, slow ease-out decay via per-segment timing fns + a lopsided 22/78 keystop split) instead of a flat glow — the burger, then the sea btn after the handoff click, keep cueing "click me to reopen your sea". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -183,13 +183,39 @@
|
||||
// the burger. AUTO DRAW's guard-OK ends the cycle permanently (the user
|
||||
// has actually drawn — they've found the path). Owner: my_sea.html +
|
||||
// _sea_overlay.html JS.
|
||||
// The --priId border/color stays steady; the --ninUser halo PULSES — a quick
|
||||
// ease-IN swell then a slow ease-OUT decay (user-spec 2026-06-08) so the burger
|
||||
// (and, after the handoff click, the sea btn) keeps cueing "click me to reopen
|
||||
// your sea" rather than sitting as a flat glow. Rides until the chain advances.
|
||||
#id_burger_btn.glow-handoff,
|
||||
#id_sea_btn.glow-handoff {
|
||||
color: rgba(var(--priId), 1);
|
||||
border-color: rgba(var(--priId), 1);
|
||||
box-shadow:
|
||||
0 0 0.5rem 0.1rem rgba(var(--ninUser), 0.75),
|
||||
0 0 1.2rem 0.3rem rgba(var(--ninUser), 0.35);
|
||||
animation: glow-handoff-pulse 1.8s infinite;
|
||||
}
|
||||
|
||||
// Quick ease-IN to the bright peak over the first ~22% of the cycle, then a slow
|
||||
// ease-OUT fade back to the dim trough across the remaining ~78%. The per-segment
|
||||
// timing fns set the in/out asymmetry; the lopsided keystop split makes the swell
|
||||
// feel snappy and the decay linger.
|
||||
@keyframes glow-handoff-pulse {
|
||||
0% {
|
||||
box-shadow:
|
||||
0 0 0.35rem 0.05rem rgba(var(--ninUser), 0.25),
|
||||
0 0 0.7rem 0.1rem rgba(var(--ninUser), 0.12);
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
22% {
|
||||
box-shadow:
|
||||
0 0 0.6rem 0.15rem rgba(var(--ninUser), 0.95),
|
||||
0 0 1.4rem 0.4rem rgba(var(--ninUser), 0.55);
|
||||
animation-timing-function: ease-out;
|
||||
}
|
||||
100% {
|
||||
box-shadow:
|
||||
0 0 0.35rem 0.05rem rgba(var(--ninUser), 0.25),
|
||||
0 0 0.7rem 0.1rem rgba(var(--ninUser), 0.12);
|
||||
}
|
||||
}
|
||||
|
||||
// ── Sky-saved glow (CAST SKY → SAVE SKY) ──────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user