Skip to content

Prototype premium fast-workflow UX for ESP32-P4 SMV Injector - #55

Closed
masarray wants to merge 24 commits into
feature/smv-injector-guifrom
agent/smv-injector-premium-ux
Closed

masarray wants to merge 24 commits into
feature/smv-injector-guifrom
agent/smv-injector-premium-ux

Conversation

@masarray

@masarray masarray commented Aug 11, 2026 •

Copy link
Copy Markdown
Owner

Purpose

Evaluation-only premium UX prototype for the ESP32-P4 SMV Injector GUI. This PR intentionally targets feature/smv-injector-gui rather than main; it remains Draft and must not be merged until the operator workflow and visual direction are approved.

V3 — calm premium instrument pass

The latest review keeps the keyboard-first V2 workflow and focuses on visual quality and signal readability:

  • calmer spacing rhythm and larger breathing space between work groups;
  • borders demoted to secondary separators instead of framing every control;
  • idle numeric fields use quiet tonal surfaces and become strongly framed only on focus;
  • Current and Voltage remain separate side-by-side engineering matrices;
  • source/runtime metadata is visually quieter than the injection task;
  • frequency / 3-phase link / Live Apply share one restrained tonal command strip;
  • Signal Preview stays beside the injection workspace down to a narrower viewport before stacking;
  • phasor vectors use stronger 1.9–3.5 px strokes, round line caps, clearer labels and higher non-active contrast;
  • waveform traces use stronger 1.75–2.55 px strokes and clearer grid/baseline contrast;
  • no blur, glassmorphism, decorative glow, chart framework, or high-rate UI polling.

Typography

The UI now uses one preferred stack: Inter -> Plus Jakarta Sans -> native system fallback; engineering numbers remain monospace for tabular alignment. The repository currently contains no local Inter/Plus Jakarta font binary, so this PR deliberately does not introduce a CDN/network dependency. Font vendoring can be handled separately once packaging/license policy is chosen.

Fast workflow

  • Arrow Up/Down moves through channels in the same numeric column.
  • Arrow Left/Right moves Magnitude <-> Phase and wraps between rows.
  • Enter commits when Live Apply is paused, then advances.
  • Ctrl+Arrow Up/Down performs fine stepping; Ctrl+Shift adds coarse stepping.
  • Focusing a numeric field selects the whole value for immediate replacement.
  • Navigation wraps Ia -> Ib -> Ic -> In -> Ua -> Ub -> Uc -> Un.
  • 3-phase link can couple A/B/C magnitude and preserve 120-degree phase relationships.

Visualization truthfulness

Phasor and waveform are explicitly generated setpoint previews. They show what the injector is configured to generate and do not claim Ethernet on-wire proof. A later Observed path can be added without changing the cockpit structure.

Performance / validation

The GUI remains dependency-free HTML/CSS/JavaScript. Canvas rendering redraws only on state changes/resizes through requestAnimationFrame. The ESP32-P4 remains the realtime SV authority. CI now syntax-checks both app.js and the V3 preview renderer and verifies the V3 assets are present in the local-server smoke surface.

Review focus

Please judge this PR on:

  1. whether the screen feels calm, premium, professional, and suitable for repeated bench work;
  2. whether many injection values can be changed without reaching for the mouse;
  3. whether Current/Voltage remain the visual center of the workflow;
  4. whether phasor and waveform are immediately readable at normal working distance;
  5. whether the preview remains visible at the browser zoom/viewport actually used on the bench;
  6. whether Start/Stop is obvious without dominating the interface.

See apps/smv_injector_gui/PREMIUM_UX_REVIEW.md for the detailed evaluation checklist.

Scope / safety

  • GUI-only behavior and GUI CI validation
  • no firmware timing changes
  • no SV packet-layout changes
  • no serial protocol changes
  • no merge requested yet

masarray commented Sep 5, 2026

Copy link
Copy Markdown
Owner Author

Closing as superseded by the native desktop SMV Injector direction merged through #57 and then advanced substantially in #65. This browser-based UX prototype remains useful design history, but it is no longer the active product implementation.

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