Skip to content

feat(tui): stack the sky over the log at 2:1, retire the starfield [spec 10] - #127

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

feat(tui): stack the sky over the log at 2:1, retire the starfield [spec 10]#127
wine-fall merged 1 commit into
mainfrom
zachg-0812--tui-stacked-layout

Conversation

@wine-fall

Copy link
Copy Markdown
Owner

Implements specs/spec10/10-tui.md §3.3 (stacked recomposition) / §3.6.

What changed

  • Wide composition stacks: the sky is now a full-width scene band over
    the program log at scene:log ≈ 2:1 (sceneSplit, log floored at six
    rows), replacing the side-by-side split. Now-playing keeps its centred
    tricolor line, directly under the scene.
  • Overlays reclaim the band: while a spotlight card or the settings
    pane is open, the scene steps off the stage (and the raster figure/wave
    leave with it), so a 24-row terminal keeps every interactive row —
    found by the closing peer review, verified by a 100x24 /settings pty
    smoke.
  • Starfield retired: character-cell scatter read as noise (design
    session 2026-08-12, real-frame previews). The night behind the wave and
    the figure stays empty; the wave's particle treatment (arc bases, heat
    tiers, frayed tips, ghost echoes) and the raster figure/ripple pipeline
    are untouched — geometry re-anchored to the full-width band only.
  • Narrow (<96 col) terminals keep the classic bottom band, bit for bit.

Evidence

  • Unit gate: 768 passed / 1 skipped; typecheck + oxlint green.
  • Real-frame smoke (pty, STUB engine, 200x50 + 100x24): scene owns rows
    3..32, log confined below, figure raster centered on the frame
    (anchor 12,93 for a 126px sprite), full-width rule transmitted
    (byte-level, identical to a main-branch A/B capture), /settings pane
    fully visible on 24 rows. Raster wave is a mechanical skip under the
    pty (no pixel-size report — identical on main).
  • Peer review (codex gpt-5.5 xhigh): 2 findings, 2 applied (overlay row
    reclaim; comment hygiene), 0 dismissed.

Owed to the by-ear pass (issue #79 checklist)

Real-ghostty look of the stacked band: raster ripple geometry at full
width, scene/log ratio feel, the scene-yield transition when a card or
/settings opens, and the (replay-artifact-suspected) strip rule.

AI coding brief

  • Original request: rearrange the existing TUI elements — the right
    panel's pet + particle wave move to a top band, dialogue shrinks to a
    ~2:1 picture:transcript split — keeping every existing animation and
    effect; only the layout moves. Preceded by four design-mockup rounds
    that settled the direction (starfield out, particle wave and raster
    figure sacred).
  • Manual interventions: the user rejected two mockup rounds (dialogue
    must shrink, not the scene; keep the settled particle effect; logo must
    not blur) — the lesson folded in was to preview with the real render
    pipeline instead of HTML approximations before asking for approval.
  • Retro: pinning "which pixels are sacred" (wave algorithm, raster
    pipeline) in the first prompt would have saved two mockup rounds; the
    pty+pyte smoke caught a real yoga-shrink layout bug a hand mockup never
    would.

🤖 Generated with Claude Code

…pec 10]

The wide composition rearranges: the scene band (radial wave + raster
figure + now-playing) spans the frame's top and the program log sits
beneath it at scene:log ~= 2:1 (sceneSplit, log floored at six rows) --
the listener is here for the radio, not the transcript. While a
spotlight card or the settings pane is up, the band steps off the stage
so short terminals keep every interactive row. The starfield goes: at
character resolution the scatter read as noise, so the night stays
empty and the wave keeps its full particle treatment (arc bases,
heat tiers, frayed tips, ghost echoes) untouched. Narrow terminals
keep the classic bottom band unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@wine-fall
wine-fall force-pushed the zachg-0812--tui-stacked-layout branch from 053501f to 4834d98 Compare August 12, 2026 09:28
@wine-fall
wine-fall merged commit d50c522 into main Aug 12, 2026
3 checks passed
@wine-fall
wine-fall deleted the zachg-0812--tui-stacked-layout branch August 12, 2026 09:30
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