Skip to content

Towards a more beginner friendly UX - #86

Open
lemmy wants to merge 9 commits into
will62794:masterfrom
lemmy:mku-ux
Open

Towards a more beginner friendly UX#86
lemmy wants to merge 9 commits into
will62794:masterfrom
lemmy:mku-ux

Conversation

@lemmy

@lemmy lemmy commented Jul 13, 2026

Copy link
Copy Markdown
Contributor
  • Optional three-column layout: move Config and Spec/Animation editors into a resizable rightmost column (Actions/Load left, Trace/REPL/Check middle). Toggle via header switch or specColumn URL param.
  • Reorder middle-column tabs to Trace, Animation, REPL, Check.
  • Trace and spec columns show thin scrollbars and are bounded to the visible height; the spec editor scrolls internally with its tab bar pinned. Trace only auto-scrolls to the newest state when it grows.
  • Tri-state next-state view control replacing the binary toggle: "Actions / Parameters", "Full states (diff)", and "Full states". Persisted via nextStateView URL param (back-compat with the old showFullStates boolean).
  • Each action has a stable, name-derived color. Actions, trace states, full-state choices, and the spec-editor definition are all tinted with it.
  • Cross-highlighting: hovering a trace state, an action choice, or a full-state box highlights the matching action definition in the spec editor (scrolled into view) and tints the same action across the trace, Actions tab, and full-state views. The initial state highlights the Init predicate.
  • Carousel-like hover focus: the hovered box scales up and lifts while siblings dim (CSS transforms only, no reflow).
  • "Forward" button simulates random behaviors: when there's no step to redo it becomes "Forward (simulate)" and advances the trace by one uniformly random next step. A numSimSteps URL param simulates a random behavior of that length on load (unless an explicit trace is provided).

lemmy and others added 9 commits July 13, 2026 09:29
Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
Use small, outlined buttons (btn-sm btn-outline-primary / btn-outline-danger)
for Check Invariant and Stop, matching the rest of the UI instead of the
oversized solid variants.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
Group visualizations (Trace, Animation) before tools (REPL, Check) by
moving REPL right of the Animation tab.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
When there is no step to redo, the Forward button becomes "Forward
(simulate)" and advances the trace by one uniformly random next step
instead of being disabled. A numSimSteps URL parameter simulates a
random behavior of the given length on load, unless an explicit trace
is provided.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
Replace the binary "Show full next states" toggle with a tri-state
button offering three ways to display next-state choices:

- Actions / Parameters: action names with their parameter choices.
- Full states (diff): only the variables that changed, with the
  changed names and sub-values highlighted, matching the trace view.
- Full states: every variable with diff highlighting.

The selected mode is persisted to (and restored from) the URL via a
"nextStateView" route parameter, with backwards compatibility for the
old boolean "showFullStates" param.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
Move the Config and Spec/Animation editor tabs into their own resizable
rightmost column, leaving Actions/Load in the left column and
Trace/REPL/Check in the middle. Toggle it via a "Spec column" switch in
the header or the "specColumn" URL parameter (persisted on toggle).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
Hovering a trace state, an Actions-tab action choice, or (for the initial
state) the initial-state box highlights the corresponding definition in the
spec editor and scrolls it into view. Hovering a trace state also tints the
matching action box on the Actions tab, so the same action is highlighted
across all three columns at once. The initial state highlights the Init
predicate. Each action definition is highlighted with a unique background
color. The highlight color is derived from the action name.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
Both columns now show a thin scrollbar when their content overflows.
The trace and spec-editor columns are bounded to the visible height
instead of a fixed 100vh that overshot below the fold, and the spec
editor scrolls internally (CodeMirror native scrollbar) with the tab
bar pinned. The trace only auto-scrolls to the newest state when the
trace grows, so scrolling up no longer snaps back to the end. Columns
use border-box so their widths match despite differing padding.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
On hover, the focused box scales up and lifts to the front while its
siblings dim, in both the trace view and the Actions tab. Uses CSS
transforms only, so no layout reflow.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Markus Alexander Kuppe <github.com@lemmster.de>
@lemmy
lemmy marked this pull request as ready for review July 13, 2026 20:16
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