Skip to content

v0.7.0 — UI Foundation & Customization - #230

Merged
raiseCatError merged 15 commits into
masterfrom
dev
Sep 30, 2026
Merged

raiseCatError merged 15 commits into
masterfrom
dev

Conversation

@raiseCatError

Copy link
Copy Markdown
Owner

UI Foundation & Customization: a shared internal UI toolkit (notMyUI), Chroma color roles, reduced-presentation modes, Markdown-authored help, and Settings v2.

Added

  • notMyUI toolkit: an internal presentation and interaction foundation for NMSh-owned surfaces (not a published package). docs/architecture/notmyui.md maps each primitive to its real consumers and lists what is deliberately not built.
  • Shared actions and contextual help: panel and palette actions share one model (identity, label, key, enabled state), and footer help is derived from it, so it stays in step with what a panel can actually do.
  • Shared form controls: toggles, selects, multi-selects, text fields and confirmations are reusable controls that report proposals while the feature layer persists. Settings rows and Settings search use them.
  • Accessibility baseline: NO_COLOR (or TERM=dumb) stops NMSh-generated color escapes while bold, inverse and glyphs remain. NMSH_COLOR=none|256|truecolor overrides the color level explicitly. NMSH_REDUCED_MOTION=1 holds the shimmer and the welcome blink still while durations keep counting. Focus, changed and error states are also carried by text or glyphs, not color alone. See docs/accessibility/baseline.md for criteria and known gaps.
  • Deterministic presentation: NMSH_DETERMINISTIC=1 fixes the displayed completion time, the shimmer and activity phase, and the welcome blink for repeatable captures, and implies reduced motion. Shell behavior, PTY output and measured durations stay real. See docs/testing/deterministic-presentation.md.
  • Chroma: shared color roles for NMSh-owned UI in three distinct categories (semantic status, theme and identity colors), plus gradients and curves, with truecolor, 256-color and no-color fallback.
  • Surface primitives: frames, fills, padding, insets, width and alignment, used by the shared panel frame.
  • Semantic motion engine: a pure engine of motion profiles per state, sampled at an elapsed time. It owns no timers and never changes width. The existing running-command shimmer and activity glyph now run on it.
  • Authored Markdown and /help: /help renders NMSh-authored Markdown (headings, tables, code fences, tips, links). Through the transcript, links appear as text (url) rather than clickable hyperlinks.
  • Settings v2: a simple and an advanced view, a changed marker on settings that differ from their defaults, reset of the current setting, search, and a remembered position within a run.

Notes

@raiseCatError
raiseCatError merged commit b42aa40 into master Sep 30, 2026
4 checks passed
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