Skip to content

Conversation

@seveibar
Copy link
Contributor

@seveibar seveibar commented Jan 3, 2026

Motivation

  • Provide a compact context menu to the left of the breadcrumbs exposing renderer, debug and animation controls.
  • Allow switching between the vector viewer and a Canvas-based viewer for the interactive graphics.
  • Expose an action to download the current visualization and make animation speed selectable.
  • Keep animation behavior consistent when the animation speed changes.

Description

  • Add lib/react/SolverContextMenu.tsx which implements the Renderer, Debug and Animation dropdowns and local click-outside handling.
  • Wire the new SolverContextMenu into GenericSolverToolbar and add new toolbar props: renderer, onRendererChange, onAnimationSpeedChange, and onDownloadVisualization.
  • Update GenericSolverDebugger to track renderer and currentAnimationSpeed, import InteractiveGraphicsCanvas from graphics-debug/react, switch rendering between InteractiveGraphics and InteractiveGraphicsCanvas, and implement the visualization download blob logic.
  • Refactor animation start/cleanup logic in the toolbar so re-starting/clearing respects animationSpeed changes.

Testing

  • Ran typecheck with bunx tsc --noEmit and it completed successfully.
  • Ran formatting with bun run format which formatted files successfully.
  • Started the local Cosmos dev server with bun run start and exercised the UI, and captured a screenshot of the toolbar (playwright run) to validate placement and menus.
  • No unit tests were added or modified in this change.

Codex Task

@vercel
Copy link

vercel bot commented Jan 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
solver-utils Ready Ready Preview, Comment Jan 3, 2026 6:59pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants