Turn on the hero mark's pulse #15

Merged
forgejo-admin merged 1 commit from hero-pulse into main 2026-08-04 23:12:09 +00:00

pulse was false in src/nexus-mark.json. It is now a PulseOptions object, so once the mark finishes painting the widget runs its steady-state loop and sends pink traces travelling through the curtain.

field value why
intensity 0.45 a little above the 0.33 preset — the traces sit on a bright magenta curtain, not the dark board the preset assumes
density 0.18 spacing between travelling pulses
color #ffa8ee light pink, to read against the magenta rather than vanish into it
speed 0.18 px/frame at 60fps

flicker stays off. It drops whole neon "tubes" out at once, which reads as a fault rather than a shimmer.

Already on and unchanged: respectReducedMotion (the loop is skipped entirely for reduced-motion users) and pauseWhenOffscreen (it parks when the hero scrolls away or the tab is hidden), so this doesn't burn battery on a page nobody is looking at.

⚠️ Not verified visually

The pulse loop is requestAnimationFrame-driven and only starts after the paint completes (aliveIntended is set at the end of the paint). Neither environment I can drive will get there: a hidden extension tab fires no rAF at all — I measured document.hidden: true, litPixels: 0 — and headless Chrome never finishes the paint even with a 300s virtual-time budget and backgrounding disabled. Three attempts, same wall that has blocked every look at this canvas.

What I could confirm: the config matches the PulseOptions interface exactly (intensity / density / color / speed), and #ffa8ee is present in the built nexus-mark chunk, so the values reach the widget.

The look itself needs your eyes. All four numbers are one-line edits in src/nexus-mark.json if the traces are too subtle, too busy, too fast, or the wrong pink.

🤖 Generated with Claude Code

`pulse` was `false` in `src/nexus-mark.json`. It is now a `PulseOptions` object, so once the mark finishes painting the widget runs its steady-state loop and sends pink traces travelling through the curtain. | field | value | why | | --- | --- | --- | | `intensity` | `0.45` | a little above the `0.33` preset — the traces sit on a bright magenta curtain, not the dark board the preset assumes | | `density` | `0.18` | spacing between travelling pulses | | `color` | `#ffa8ee` | light pink, to read against the magenta rather than vanish into it | | `speed` | `0.18` | px/frame at 60fps | `flicker` stays **off**. It drops whole neon "tubes" out at once, which reads as a fault rather than a shimmer. Already on and unchanged: `respectReducedMotion` (the loop is skipped entirely for reduced-motion users) and `pauseWhenOffscreen` (it parks when the hero scrolls away or the tab is hidden), so this doesn't burn battery on a page nobody is looking at. ## ⚠️ Not verified visually The pulse loop is `requestAnimationFrame`-driven and only starts *after* the paint completes (`aliveIntended` is set at the end of the paint). Neither environment I can drive will get there: a hidden extension tab fires no rAF at all — I measured `document.hidden: true`, `litPixels: 0` — and headless Chrome never finishes the paint even with a 300s virtual-time budget and backgrounding disabled. Three attempts, same wall that has blocked every look at this canvas. What I could confirm: the config matches the `PulseOptions` interface exactly (`intensity` / `density` / `color` / `speed`), and `#ffa8ee` is present in the built `nexus-mark` chunk, so the values reach the widget. **The look itself needs your eyes.** All four numbers are one-line edits in `src/nexus-mark.json` if the traces are too subtle, too busy, too fast, or the wrong pink. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
pulse was false; it is now a PulseOptions object, so once the mark
finishes painting the widget runs its steady-state loop and sends pink
traces through the curtain.

  intensity 0.45  a little above the 0.33 preset, since the traces sit on
                  a bright magenta curtain rather than a dark board
  density   0.18  spacing between travelling pulses
  color     #ffa8ee  light pink, to read against the magenta
  speed     0.18  px/frame at 60fps

flicker stays off — that one drops whole "tubes" out, which reads as a
fault rather than a shimmer. respectReducedMotion and pauseWhenOffscreen
were already on, so the loop is skipped for reduced-motion users and
parked when the hero scrolls away.

NOT verified visually: the loop is rAF-driven and only starts after the
paint completes, which neither a hidden extension tab nor headless
Chrome will do — three attempts, including a 300s virtual-time budget.
The config shape matches PulseOptions and #ffa8ee is in the built
bundle; the look itself needs a real browser.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
forgejo-admin deleted branch hero-pulse 2026-08-04 23:12:09 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
celilo/tango-nexus!15
No description provided.