Skip to content

Rounds 20-23 — pure-alpha shells, restored blooms, layout fixes, calm wave bars, tremor fix#30

Merged
YamadaBlog merged 1 commit into
mainfrom
feat/round-20-23-polish-waves
Jun 12, 2026
Merged

Rounds 20-23 — pure-alpha shells, restored blooms, layout fixes, calm wave bars, tremor fix#30
YamadaBlog merged 1 commit into
mainfrom
feat/round-20-23-polish-waves

Conversation

@YamadaBlog

Copy link
Copy Markdown
Owner

User-reported fixes

  • Cards sliced by parent containers (three-widths, 1440-1700px) → wrap + overflow visible
  • Dark corners on shell captures → alpha erosion in the capture pipeline (verified rgba(0,0,0,0) at pixel level), shadow re-created via drop-shadow
  • Square-edged auroras on Pick a mood → blur restored on those STATIC bloom layers (rasterise once; the perf spikes came from moving/one-frame layers, not these)
  • Disliked BG washes (rotate3d halo, phone ambient) → removed
  • Feature cards too small on 2K → fluid clamp() scaling (up to 27/19px)
  • Page tremor → the binary scroll-freeze alternated freeze/catch-up on slow scrolls; now velocity-gated (>1500px/s)
  • Bars consumption + random jitter → three superposed deterministic travelling sine waves, audio-energy modulated, cheaper per frame, idle silhouette preserved

Perf (zone profiling, 2K headed GPU)

content-visibility removed (its one-frame re-renders WERE the hitches): bottom-zone ascent max 236/191 → 109/55 ms · pin-ascent jank 42-59% → 18-24% (scrub 0.75 + velocity-gated act swaps; 0.5 was measured worse and reverted)

Validation

ci exit=0 (88 tests, 0 vulns, lib byte-identical v2.3.5 untouched) · visual 2/2 (bars baselines pass unchanged) · responsive 6/6 · Axe AA 2/2

🤖 Generated with Claude Code

…, tremor fix (rounds 20-23)

Round 20 (user reports) :
- three-widths : the >=1440 row (320+480+720 ~ 1390px) overflowed the
  ~1200px narrow section between 1440-1700px and overflow-x:auto
  SLICED the 720 card -> overflow visible + flex-wrap
- shell captures : hasAlpha=false (the .app background sat behind the
  showcase, omitBackground had nothing to reveal) -> whole ancestor
  chain transparent at capture ; blooms silently dead (the
  :has(.mp[data-variant]) selectors no longer matched) -> PlayerShell
  exposes data-variant + glow selectors extended ; mood captures
  retaken at the real 2K cell width (536px, chrome parity 0.368 vs
  0.369 ratio)

Round 21 (hitch hunting, zone profiling) :
- corner veil : an internal overlay paints alpha~18 black across the
  rect incl. corners beyond the radius -> ALPHA EROSION in the sharp
  pipeline (<32 -> 0), verified rgba(0,0,0,0) at pixel level ;
  box-shadow killed at capture, re-created via drop-shadow (follows
  the radius) ; duplicate frame shadow removed
- 12 decorative gradient-only filter:blur sites removed (orbs, washes,
  floors) ; bottom-zone ascent spikes max 236/191 -> 109/55ms
- content-visibility REMOVED entirely : added in round-13 against 25
  live instances + 74 blur layers ; after shells + blur purge its
  one-frame re-renders WERE the user-reported hitches
- reveal scrub 1 -> 0.75 (0.5 measured WORSE : 42->59% jank) +
  velocity gate on act swaps (>3000px/s ; re-validated by stable
  per-zone runs : pin-ascent jank 42-59% -> 18-24%, act lands correct)

Round 22 (user design feedback) :
- mood blooms had turned into hard rounded RECTANGLES without their
  blur (ellipse gradient overruns the box) -> blur restored on these
  STATIC layers (rasterise once, scroll-safe) ; rotate3d halo + phone
  ambient wash removed outright (user dislike) ; features cards scaled
  with clamp() (17/14px was lost on 2K -> up to 27/19px)

Round 23 (user reports) :
- page tremor : the round-18 binary scroll-freeze alternated
  freeze->catch-up->freeze on slow wheel scrolls -> velocity-gated
  freeze (isScrollingFast >1500px/s) for bars/pump/particles
- AudioBars : per-bar pseudo-random jitter replaced by THREE
  superposed deterministic travelling sine waves (calm, ocean-like,
  never visibly repeating), audio-energy modulated when playing ;
  idle silhouette preserved with a breathing micro-swell ; cheaper
  (3 sin/bar, no hash) ; visual baselines pass unchanged

Validation : ci exit=0 (88 tests, 0 vulns, lib byte-identical v2.3.5
untouched), visual 2/2, responsive 6/6, Axe AA 2/2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@YamadaBlog YamadaBlog merged commit 5d0fc5a into main Jun 12, 2026
17 checks passed
@YamadaBlog YamadaBlog deleted the feat/round-20-23-polish-waves branch June 12, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant