AAA-02: Fit-to-view and adaptive viewport behavior that maximizes schematic focus #16

Closed
opened 2026-02-18 21:51:13 -05:00 by Rbanh · 1 comment
Owner

Objective

Ensure the schematic dominates the viewport by default with minimal wasted canvas.

Scope

  • Rework initial zoom and auto-fit to aggressively frame diagram bounds.
  • Add reliable zoom-to-selection and reset-view interactions.
  • Improve pan/zoom smoothness and precision at different scale levels.
  • Add optional minimap and view bounds indicator for large schematics.

Acceptance Criteria

  • Initial open/load places schematic at an immediately usable zoom.
  • Auto-layout/auto-tidy preserve sensible framing after operations.
  • Navigation interactions (wheel/pan/fit) feel responsive and deterministic.
  • Browser QA includes viewport behavior assertions for desktop and laptop sizes.
## Objective Ensure the schematic dominates the viewport by default with minimal wasted canvas. ## Scope - Rework initial zoom and auto-fit to aggressively frame diagram bounds. - Add reliable zoom-to-selection and reset-view interactions. - Improve pan/zoom smoothness and precision at different scale levels. - Add optional minimap and view bounds indicator for large schematics. ## Acceptance Criteria - Initial open/load places schematic at an immediately usable zoom. - Auto-layout/auto-tidy preserve sensible framing after operations. - Navigation interactions (wheel/pan/fit) feel responsive and deterministic. - Browser QA includes viewport behavior assertions for desktop and laptop sizes.
Rbanh added this to the Phase 4 - AAA SaaS Productization and UX Polish milestone 2026-02-18 21:51:30 -05:00
Author
Owner

Completed in commit 570e89c.

Delivered:

  • Added improved fit framing logic with explicit layout bounds + consistent margins.
  • Added selection focus behavior (Focus toolbar button + F shortcut) for component/net/pin contexts.
  • Changed reset-view behavior to return to fitted view rather than arbitrary fixed pan.
  • Added non-intrusive viewport resize handling that preserves fitted framing when user has not manually adjusted view.
  • Extended browser regression to assert focus/zoom behavior and laptop viewport usability.
  • Added new visual baseline scene: tests/baselines/ui/laptop-viewport.png.

Validation:

  • node --check frontend/app.js
  • node --check tests/ui-regression-runner.js
  • npm test
  • npm run test:ui
Completed in commit `570e89c`. Delivered: - Added improved fit framing logic with explicit layout bounds + consistent margins. - Added selection focus behavior (`Focus` toolbar button + `F` shortcut) for component/net/pin contexts. - Changed reset-view behavior to return to fitted view rather than arbitrary fixed pan. - Added non-intrusive viewport resize handling that preserves fitted framing when user has not manually adjusted view. - Extended browser regression to assert focus/zoom behavior and laptop viewport usability. - Added new visual baseline scene: `tests/baselines/ui/laptop-viewport.png`. Validation: - `node --check frontend/app.js` - `node --check tests/ui-regression-runner.js` - `npm test` - `npm run test:ui`
Rbanh closed this issue 2026-02-18 22:01:54 -05:00
Sign in to join this conversation.
No Label
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Rbanh/schemeta#16
No description provided.