P9-02: Incremental routing that never triggers global component drift #50

Closed
opened 2026-02-19 23:28:01 -05:00 by Rbanh · 3 comments
Owner

Scope:

  • Decouple reroute from placement moves by default.
  • Recompute only impacted nets after drag/edit, with local channel reservation.
  • Preserve locked component coordinates strictly.
  • Keep tie-net fallback deterministic under congestion.

Acceptance:

  • Dragging one component never moves unrelated components unless explicit auto-layout/tidy is invoked.
  • Route updates remain local and visually stable.
  • Congested cases prefer tie-nets/net stubs over spaghetti detours.
Scope: - Decouple reroute from placement moves by default. - Recompute only impacted nets after drag/edit, with local channel reservation. - Preserve locked component coordinates strictly. - Keep tie-net fallback deterministic under congestion. Acceptance: - Dragging one component never moves unrelated components unless explicit auto-layout/tidy is invoked. - Route updates remain local and visually stable. - Congested cases prefer tie-nets/net stubs over spaghetti detours.
Rbanh added this to the Phase 9 - Layout & Readability Production Hardening milestone 2026-02-19 23:28:18 -05:00
Author
Owner

Progress update (77f63a6):

  • Local drag behavior changed to single-component by default.
  • Explicit modifier (Alt) required for group drag.

This is a first hardening step for the no-global-drift objective; routing/locality work remains open.

Progress update (`77f63a6`): - Local drag behavior changed to single-component by default. - Explicit modifier (`Alt`) required for group drag. This is a first hardening step for the no-global-drift objective; routing/locality work remains open.
Author
Owner

Stability note after fc5f2fe:

  • Improved placement seeding reduced long-route detour spikes that were surfacing as post-edit instability and poor tidy outcomes.
  • Local drag behavior fix (77f63a6) + preserve-placement compile behavior (5f31542) remains in effect.

Routing-locality work still open, but this improves baseline behavior before deeper incremental reroute changes.

Stability note after `fc5f2fe`: - Improved placement seeding reduced long-route detour spikes that were surfacing as post-edit instability and poor tidy outcomes. - Local drag behavior fix (`77f63a6`) + preserve-placement compile behavior (`5f31542`) remains in effect. Routing-locality work still open, but this improves baseline behavior before deeper incremental reroute changes.
Author
Owner

Completed by commits 5f31542, 77f63a6, cf3e64e, and 128c5c6.

Delivered:

  • Default compile path preserves placement (preserve_placement: true) so local edits do not trigger global movement.
  • Drag behavior defaults to single-component move; group drag is explicit.
  • /layout/tidy and /layout/auto are the only intended global relayout actions.
  • UI regression runner hardened with compile-status settle checks to eliminate race-induced snapshot drift.

Validation:

  • npm test pass
  • npm run test:ui pass
  • UI metrics report shows 0 crossings/0 overlaps across initial/drag/tidy canonical states.

Closing issue as accepted.

Completed by commits `5f31542`, `77f63a6`, `cf3e64e`, and `128c5c6`. Delivered: - Default compile path preserves placement (`preserve_placement: true`) so local edits do not trigger global movement. - Drag behavior defaults to single-component move; group drag is explicit. - `/layout/tidy` and `/layout/auto` are the only intended global relayout actions. - UI regression runner hardened with compile-status settle checks to eliminate race-induced snapshot drift. Validation: - `npm test` pass - `npm run test:ui` pass - UI metrics report shows 0 crossings/0 overlaps across initial/drag/tidy canonical states. Closing issue as accepted.
Rbanh closed this issue 2026-02-20 01:25:19 -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#50
No description provided.