feat(tui): the quiet-constellation skin — §6.1 art direction lands [spec 10] - #112
Merged
Conversation
…pec 10] The concept session over scratch/ui-concepts/logo-pet picked 04-quiet-constellation; this realizes it without reopening the §3.3 contracts: - palette: one deep night ground, each scene a near-monochrome accent family — the hour changes the light, never the room - constellation.ts (new, pure): seeded starfield, the viz bins as a floating braille mist with a frayed top and sparse fallout, the pet blitted into a cleared halo; everything seeded/hashed so a resize never reshuffles the sky - app.tsx: one breakpoint (≥96 cols) — sky panel beside a poem-spaced log, now-playing as a dim ♪ line under the panel; narrow terminals keep the classic bottom band; the sky paints on its own 12fps clock so it stays alive in silence - spec 10 §3.3/§3.6/§6.1 record the as-built terms; by-eye tuning stays issue #79 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements specs/spec10/10-tui.md §6.1 (art direction) — composition notes written back into §3.3 and §3.6.
What this is
The §6.1 creative session picked its skin: 04-quiet-constellation (from
scratch/ui-concepts/logo-pet, an untracked concept set). This PR realizes it without reopening the §3.3 contracts — same four regions, new composition and light:tui/src/palette.ts): one deep blue-charcoal night ground shared by every scene; each scene is a single near-monochrome accent family (dawn cream / daylight sage / ember / moonlight). The hour changes the warmth of the light, never the room.tui/src/constellation.ts, new, pure): a seeded starfield, the existing 24fps FFT bins re-rendered as a floating braille particle mist (frayed top, sparse fallout under the baseline), and the pet blitted into a cleared halo mid-sky. Deterministic by construction — seeded PRNG + hashed jitter — so a resize never reshuffles the sky and the arithmetic is unit-assertable.tui/src/app.tsx): one breakpoint. At ≥96 columns the alive band recomposes as a sky panel beside a poem-spaced log, with now-playing as a dim♪line under the panel; narrower terminals keep the classic bottom band unchanged. The sky paints on its own 12fps clock — viz frames only feed the smoother — so stars twinkle and the pet animates through silence.Verification
04-quiet-constellation.png, then tuned (floating baseline, mist density, pet position) until the structure matched.Peer review (codex gpt-5.5 xhigh): 1 finding, 0 applied — the one finding was mechanical (the new files were untracked at review time, so its diff view flagged a "missing module"; the commit itself resolves it), 0 genuine defects.
By-eye tuning of the new skin in a real terminal stays issue #79 (the standing §6.1 acceptance pass), now with concrete knobs to judge: mist density/baseline, star density, twinkle rate, pet position, per-scene accents.
AI coding brief
Original request: A TUI redesign session: four concept mockups were compared for terminal feasibility; the user rejected the analog-radio layout as ugly, narrowed to concepts 02/04, and delegated the final pick — 04 won because its atmosphere is procedural (code, fast to iterate) rather than hand-drawn asset work, its quiet sparseness fits murmur's identity, and it needs zero engine changes.
Manual interventions: Mid-build the user added one hard requirement: compare the result against the concept screenshot instead of free-styling. That produced the render-to-HTML comparison loop, which caught the first version's real miss (a dense bottom-glued bar texture instead of a floating mist) and drove two tuning rounds.
Retro: The self-grilling round before building surfaced a contradiction in the original plan (a fixed amber monochrome would have killed the already-built scene tinting) and killed three scope items cheaply. Asking for the mockup-comparison loop up front, rather than mid-build, would have saved one round trip.
🤖 Generated with Claude Code