Skip to content

feat(core): Full reworked, Prompt on the theme's ground, the switch knob (#154) - #155

Open
Maxaubert wants to merge 4 commits into
mainfrom
feat/154-full-style
Open

Maxaubert wants to merge 4 commits into
mainfrom
feat/154-full-style

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Closes #154. Follow-up to #143 (PR #147), from the mockup and plan the owner approved on 2026-10-10 (research/prism-terminal/mockups/2026-10-10-full-style/). Spec: docs/superpowers/specs/2026-10-10-full-style-rework-design.md.

What changes

Full (choice 1A, choice 2 as the owner changed it)

  • Finished: the icon's rainbow, solid, flowing slowly across the whole tab (p-mark-flow-fill, 228 px tile, 14 s). The dark badge and its foot line are gone. Its name ink is judged on the rainbow's worst colour (rainbowInk): black on Volt, the text on Paper.
  • Working: the fill carries Minimal's own working mark on top. On Classic the run is the name's ink, so it is black on Volt's yellow-green (owner: "should be black and not like a faded arc yellow"). On Prompt the growing arrow edge sits in the ground-coloured gap, where black would disappear on a dark theme, so it keeps the shade that clears 3:1 on the fill and the ground (shadeOn: Volt #798f15, Paper #1c3e59). The spec records this split. The ride is gone.

Prompt on the theme's ground (choice 3A)

  • An idle segment paints nothing, and the tab in front is --p-tab-active, the same as Classic. --p-seg and --p-seg-on are removed, along with their :root fallbacks and tests.
  • The edge band tucks 1 px only under a segment that paints. A tuck under a see-through segment would widen the edge to 4.5 px.

Settings switches

  • The ON knob is the new --p-switch-knob: black on a dark theme and white on a light one (measured from the ground). It flips to the other colour only where the default reads under 2:1 on the ON track (owner: "keep that to being black on dark themes and white on light themes ... only when the color is very close"). The rule is in core/renderer/lib/switchKnob.ts and is computed in chromeTokens. The track is unchanged.
  • An opaque accent is held to 3:1 on the ground, which also keeps it clear of the default knob. So the flip only shows with a see-through accent: a pale one on Paper gives a black knob, a deep one on PT Default gives a white knob. The e2e measures both.

Core / Prism

This changes core/ (0.28.1 -> 0.30.0, above #153's 0.29.0), so merging ships it to Prism too. Prism is unaffected: its strip does not use resolveTabMark, markPalette or marks.css, and SWITCH_KNOB_ON is var(--p-switch-knob, var(--p-on-accent)). Prism keeps its current knob until it defines the token. App 0.35.1 -> 0.36.0.

Gates

  • typecheck, lint (0 errors), unit 1611/1611
  • e2e, one at a time: indicatorStyles, tabStyle, indicator, attention, accent, themeSwitch
  • Screenshots in .e2e-shots/marks-* (Volt and Paper, Classic and Prompt), checked against the mockup's overview.png.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t

Maxaubert and others added 4 commits October 10, 2026 06:01
…nob (#154)

Full: finished is the icon's rainbow flowing across the whole tab; a working
fill carries Minimal's mark on top, the run in the name's ink on Classic
(owner: black on Volt's yellow, not a faded yellow) and the growing edge in a
shade clearing 3:1 on fill and ground on Prompt. The badge and the ride go.

Prompt segments are the theme's own ground: idle paints nothing, the tab in
front is --p-tab-active; --p-seg and --p-seg-on are removed. The edge band
tucks only under a segment that paints.

Switches: the ON knob is --p-switch-knob, black on a dark theme and white on
a light one, flipped only under 2:1 on the track. Core falls back to
--p-on-accent, so Prism is unchanged.

Core 0.30.0, app 0.36.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t
The owner's pick. The stored id stays 'prompt' so saved choices survive.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t
#154)

Owner: the pulsing edge belongs to the tab in front; a working Full fill on
Powerline is the fill alone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t
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.

Full style rework, Prompt on the theme's ground, switch knob ink

1 participant