Skip to content

fix(tui): the sky dims with the room instead of going dark under the card [spec 10] - #126

Merged
wine-fall merged 1 commit into
mainfrom
zachg-0812--tui-logo-vanish
Aug 12, 2026
Merged

fix(tui): the sky dims with the room instead of going dark under the card [spec 10]#126
wine-fall merged 1 commit into
mainfrom
zachg-0812--tui-logo-vanish

Conversation

@wine-fall

Copy link
Copy Markdown
Owner

Implements specs/spec10/10-tui.md (§3.2-B spotlight amendment — the sky dims with the room).

What

Field report: whenever a consent/question card appears, the pixel figure and the ripple stardust vanish from the sky panel — the raster layer was deleted outright while hushed, because kitty images composite above text cells and could cover the card. A sky that goes dark under every ask reads as the interface breaking.

Now the rasters step down with the room instead of leaving:

  • Figure: repaints faded toward the night by the same 0.55 step as hush() (HUSH_FADE, reusing encodeFigurePng's existing fade channel and cached per pose+state).
  • Ripple: repaints in the hushed accent color, its raster height clipped so it ends above the card (waveRowsFor).
  • Yield only on collision: the card's real footprint is computed by replaying the renderer's own width/wrap/chrome math (cardRows / cardTopRow in dock.ts, wrapping included); a raster is deleted only when the card's rows would actually reach it (stagePlan) — short windows keep the old behavior, everything else keeps the sky.

Verification

  • pnpm test (root, includes the new cardRows/stagePlan/waveRowsFor unit coverage) and the TUI tree's own bun run typecheck (the CI tui job's command) — green; oxlint green.
  • By-eye pass owed (sensory): on the next boot with a pending ask, the figure and ripple should stay visible but dimmed, and the card must stay fully readable — including on a small window, where the rasters yield.
  • Peer review (codex gpt-5.5, xhigh): 1 finding, 1 applied (comment carried edit-history; reworded to current intent).

AI coding brief

  • Original request: after live-testing the onboarding consent card, the user reported that the visuals behind the popup always disappear and asked for it to be handled.
  • Manual interventions: one clarification round — "logo" was ambiguous between the MURMUR wordmark (actually still visible, just dimmed) and the sky rasters; the user confirmed it was the figure/ripple, which redirected the fix from the wordmark path to the raster paint loops.
  • Retro: naming the on-screen regions in the clarifying question (with what the code says each does) resolved the ambiguity in one round; guessing from the screenshot alone would likely have fixed the wrong element.

🤖 Generated with Claude Code

…card [spec 10]

While an ask was on the spotlight card, the kitty raster layer (the
figure and the ripple) was deleted outright - the sky going dark under
every consent read as the interface breaking (user report). The rasters
now step down WITH the room: the figure repaints faded by the same 0.55
as hush(), the ripple repaints in the hushed accent with its height
clipped to end above the card, and either raster leaves only when the
card's own rows would collide with it - a kitty image composites above
text cells and must never cover the card.

The card's footprint is computed from the renderer's own width/chrome
math (cardRows/cardTopRow in dock.ts); stagePlan and waveRowsFor make
the keep/dim/yield decision pure and unit-tested.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@wine-fall
wine-fall merged commit 0a68392 into main Aug 12, 2026
3 checks passed
@wine-fall
wine-fall deleted the zachg-0812--tui-logo-vanish branch August 12, 2026 09:03
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