Skip to content

Playground: compare selected systems - #1056

Merged
alexey-milovidov merged 1 commit into
mainfrom
playground-compare-systems
Jul 23, 2026
Merged

Playground: compare selected systems#1056
alexey-milovidov merged 1 commit into
mainfrom
playground-compare-systems

Conversation

@alexey-milovidov

Copy link
Copy Markdown
Member

Summary

Adds a compare selected systems feature to the playground, plus a set of usability fixes discovered while building it.

Compare selected systems

  • Shift / Ctrl / Cmd-click, right-click, or long-press (touch) a system to toggle it into a multi-selection, highlighted bright blue. A plain click/tap clears the selection.
  • When a selection exists, Run all arms yellow as "Run selected (N)" and the competition runs only among the selected systems.
  • The selection is remembered in the URL (?compare=a,b,c), so a shared link reopens with the same systems highlighted and the button armed.
  • A discoverability hint explains the gestures — a top-right pill on hover (pointer devices) and a static caption on touch devices.

Other improvements

  • Remember the selected example query in the URL (?example=N), restored on reload / shared links.
  • Scroll to results on Run / Run all — smooth-scrolls to the output or leaderboard (mobile usability).
  • Competition results panel fits its content, growing up to the viewport height then scrolling inside the rail (no more forced full-height / page-level vertical scroll).
  • Fix a persistent horizontal scrollbar: the per-slab uptime balloons were laid out (visibility:hidden) at all times, inflating the page scroll width; they're now rendered only on hover (display:none). Also stopped flex from shrinking slabs and capped the example <select> width.
  • file:// fallback: when opened directly from disk, fall back to the production API if no local dev server is running.

All changes are confined to playground/ (app.js, index.html, style.css), with cache-busting versions bumped.

Test plan

  • Multi-select via all four gestures; verify bright-blue highlight, armed "Run selected (N)", and competition running only the selection.
  • Reload with ?compare=…&example=… and confirm the systems + query are restored.
  • Verify no horizontal/vertical scrollbars across widths (mobile → desktop) and that the competition rail fits content / scrolls internally when long.
  • Run / Run all and confirm the page scrolls to the results.

🤖 Generated with Claude Code

Add a "compare selected systems" feature to the playground and fix
several usability issues found along the way.

Compare selected systems:
- Shift/Ctrl/Cmd-click, right-click, or long-press (touch) a system to
  toggle it into a multi-selection, highlighted bright blue. A plain
  click/tap clears the selection.
- When a selection exists, "Run all" arms yellow as "Run selected (N)"
  and the competition runs only among the selected systems.
- The selection is remembered in the URL (?compare=a,b,c) so a link
  reopens with the same systems highlighted.
- A hint (top-right on hover, static caption on touch) explains the
  gestures.

Other improvements:
- Remember the selected example query in the URL (?example=N).
- On Run / Run all, smooth-scroll to the results (mobile usability).
- Competition results panel now fits its content, growing up to the
  viewport height then scrolling inside the rail.
- Fix a persistent horizontal scrollbar: the per-slab uptime balloons
  were laid out (visibility:hidden) at all times; render them only on
  hover (display:none). Also stop flex from shrinking slabs and cap the
  example <select> width.
- When opened from file://, fall back to the production API if no local
  dev server is running.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@alexey-milovidov alexey-milovidov self-assigned this Jul 23, 2026
@alexey-milovidov
alexey-milovidov merged commit 609c09f into main Jul 23, 2026
3 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