Skip to content

Appearance, Shader Studio and Welcome Studio redesign in the NMSh style - #526

Draft
raiseCatError wants to merge 5 commits into
fix/native-host-shaders-20261029from
feature/appearance-ui-redesign-20261029
Draft

raiseCatError wants to merge 5 commits into
fix/native-host-shaders-20261029from
feature/appearance-ui-redesign-20261029

Conversation

@raiseCatError

Copy link
Copy Markdown
Owner

Stacked on #525 (fix/native-host-shaders-20261029). Refs #399.

Redesigns the new Appearance, Shader Studio and Welcome Studio interfaces, which read like plain text screens, into the established NMSh look. Behavior and write safety are unchanged.

What changed

  • Shared layout (src/ui/StudioLayout.ts, controls.ts). This extends the existing framePanel, tab strip, grouped list, selected-row band and renderControlRows; there is no new framework or color table.
    • Wide terminals show a list next to details or a preview. Medium sizes stack them. Compact sizes keep the selection and actions ahead of explanations.
    • The footer is always kept.
  • /appearance hub: grouped editor launchers, host window controls, scrollable routing details, and the shared review.
  • Kitty and Ghostty Shader Studios (one shared panel):
    • A header with host, version and capability.
    • Category tabs (Tab and Shift+Tab) and labelled exclusive groups ("Cursor trail (one)").
    • Per-preset state: enabled, and written but unverified (written is never presented as loaded).
    • Distinct slider, toggle, choice and color-swatch controls, and a one-line purpose description.
    • A framed preview, clearly labelled as approximate.
    • Loading, empty, unsupported and refusal states.
  • Review and confirm (host config, Apply, Remove):
    • Every plan line is shown, including the "Also changes /cursor …" lines and the reload notes.
    • Enter writes, Esc cancels.
    • A terminal too small to show the plan offers only Esc; Enter does nothing until the plan has been shown.
  • Welcome Studio: a sectioned editor with tabs for Logo & image, Typography, Layout, Theme & palette, Facts, Animation and Presets.
    • Live preview, focused text/import/export views, the file browser, and logo/layout/animation/preset galleries (G).
    • P still uses startup's own presentation, and the draft and selection return unchanged.
  • Design notes: docs/development/native-appearance-welcome/UI_REDESIGN.md.

Verification

  • Combined related tests: 249/249 through the repo runner's isolation. They include new render tests at 120×40, 80×24, 60×20 and 40×14, NO_COLOR and 16-color, Esc/Enter routing, and the review-fix regressions. tsc is clean.
  • Independent review found no blockers. Its should-fix items are fixed with regressions, in this PR and in Native host fixes: Kitty identity, first-run studio, trails that draw and reload, distinct trail previews #525.
  • Before/after snapshots at all four sizes, truecolor and no-color (304 pairs checked): /Volumes/T7Tmp/ai-dev/nmsh-native-host-fixes-20261029/ui/snapshots (local evidence).
  • NOT RUN: physical QA of the redesigned screens (resize, galleries, P with real images) on Ghostty, Kitty and a fallback host.

… Placement tab order, indented wrap

- A review too small to show its plan ('Resize to review') offers only Esc, and Enter does nothing
  until the plan has been shown at a usable size (shader studios and the host review).
- The studio keeps every notice (result or refusal first, then reload and gate) and ends a notice
  that does not fit with an ellipsis instead of cutting it silently.
- Tab/Shift+Tab from Kitty's Placement row go to the first/last category.
- Wrapping never leaves a row of indentation only; P replay is not advertised while typing RGB;
  the review's guidance heading says 'After Enter' (a plain host write reloads nothing).

This branch has not been deployed

No deployments
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