Skip to content

ML Lab: shared buttons, theme tones and the family motion moments - #140

Open
rwetz wants to merge 1 commit into
mainfrom
ml-lab-epoch-look
Open

rwetz wants to merge 1 commit into
mainfrom
ml-lab-epoch-look

Conversation

@rwetz

@rwetz rwetz commented Oct 15, 2026

Copy link
Copy Markdown
Owner

First pass at bringing the ML Lab closer to Epoch's look and feel.

Components and colour

  • 29 hand-rolled buttons now use <Button>. The hero actions (Train model, Train again, Create, download the engine) use the brand variant; the rest use default or outline.
  • Stock emerald/amber/sky/red become success/warning/info/destructive, so they follow all 22 themes. Those tones are ported into globals.css from @nexis/design, where they are the theme's ANSI green, yellow and blue.
  • The ▶ and ⤓ glyphs and the "+" in "+ New" are now <Icon>s.

Motion (all off under reduced motion)

  • The panel body plays the view entrance when its phase changes: no folder, setup, detecting, ready.
  • Charts fade in when the run in view changes, never while live data streams.
  • The setup and create cards rise in (nexis-scene-enter).
  • A live run gets the slow accent scan (nexis-run-live); a finished result lands once (nexis-result-arrival).
  • The indeterminate progress bar sweeps (nexis-shimmer) instead of animate-pulse.
  • globals.css gains the app-shell, view and content entrances, kept in step with Upstream Epoch's shell entrances and docking theme nexis-design#5. @nexis/design is pinned to 0faf638.

Checks

  • tsc --noEmit passes, and the ML Lab and style tests pass (234/234).
  • In a browser, the first screen renders with the view entrance, the shared button and the theme --success.
  • Not checked: the setup, training and result states. Nexis doesn't run past its first screen outside Tauri, so these need checking in a CI build.

Not included: pnpm install added a placeholder allowBuilds entry for the embedded Epoch package to pnpm-workspace.yaml. I left it out because it's an approval decision for you. Nexis still pins Epoch at e03b852; bump it after rwetz/nexis-epoch's design-epoch-look merges.

Before merging: merge rwetz/nexis-design#5, then re-pin to its merge commit on main.

🤖 Generated with Claude Code

- 29 hand-rolled buttons become <Button>; the hero actions (train,
  train again, create, download the engine) use the brand accent.
- Stock emerald/amber/sky/red become success/warning/info/destructive,
  ported here from @nexis/design (the theme's ANSI roles).
- ▶ and ⤓ glyphs become icons.
- Motion: the body plays the view entrance when its phase changes,
  charts fade in when the run in view changes, setup and create cards
  rise in, a live run scans (RunLive), a finished result lands once,
  and the indeterminate bar sweeps instead of pulsing.
- globals.css gains the app-shell, view and content entrances, kept in
  step with @nexis/design, which is bumped to 0faf638.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

React Doctor found no new issues. 🎉

Reviewed by React Doctor for commit ddf8c9c.

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