P9-00: Master tracker for layout/readability production hardening #48

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

Master tracker for Phase 9 milestone.

Goals:

  • Produce consistently readable schematics from realistic JSON inputs.
  • Remove global movement side-effects during local edits.
  • Ensure labels, pins, and annotations remain legible without manual cleanup.
  • Enforce deterministic output with visual quality gates.

Sub-issues will be linked here as they are created.

Done criteria:

  • All P9 sub-issues closed.
  • Visual regression baselines updated and passing.
  • Layout quality thresholds satisfied on canonical fixtures.
Master tracker for Phase 9 milestone. Goals: - Produce consistently readable schematics from realistic JSON inputs. - Remove global movement side-effects during local edits. - Ensure labels, pins, and annotations remain legible without manual cleanup. - Enforce deterministic output with visual quality gates. Sub-issues will be linked here as they are created. Done criteria: - All P9 sub-issues closed. - Visual regression baselines updated and passing. - Layout quality thresholds satisfied on canonical fixtures.
Rbanh added this to the Phase 9 - Layout & Readability Production Hardening milestone 2026-02-19 23:28:18 -05:00
Author
Owner

Sub-issues linked:

  • #49 P9-01 ELK-first placement + flow lanes
  • #50 P9-02 Incremental routing + no global drift
  • #51 P9-03 Text/label compositor rewrite
  • #52 P9-04 Symbol geometry constraints v2
  • #53 P9-05 Canonical fixtures + visual quality gates
  • #54 P9-06 Responsive UX hardening

Execution policy:

  • Ship only against fixture quality thresholds.
  • No milestone close until all six sub-issues pass QA screenshots and automated gates.
Sub-issues linked: - #49 P9-01 ELK-first placement + flow lanes - #50 P9-02 Incremental routing + no global drift - #51 P9-03 Text/label compositor rewrite - #52 P9-04 Symbol geometry constraints v2 - #53 P9-05 Canonical fixtures + visual quality gates - #54 P9-06 Responsive UX hardening Execution policy: - Ship only against fixture quality thresholds. - No milestone close until all six sub-issues pass QA screenshots and automated gates.
Author
Owner

Latest push: 77f63a6.

Included in Phase 9 execution:

  • Drag interaction policy tightened to reduce accidental multi-node moves.
  • This directly addresses the user-reported global movement during local edits.

Next implementation slice will target ELK-first placement quality and label anchoring.

Latest push: `77f63a6`. Included in Phase 9 execution: - Drag interaction policy tightened to reduce accidental multi-node moves. - This directly addresses the user-reported global movement during local edits. Next implementation slice will target ELK-first placement quality and label anchoring.
Author
Owner

Phase 9 execution update:

  • 5f31542 Preserve placement by default on compile/tidy follow-up compiles (prevents relayout thrash).
  • cc20c0c Label readability pass: pin/net label spacing + annotation panel/legend deconfliction.

Current quality direction:

  • Local editing stability improved (reduced unexpected movement).
  • Text clutter reduced in dense scenes.

Next up: tackle placement quality itself (ELK-first laneing and deterministic clustering) under #49.

Phase 9 execution update: - `5f31542` Preserve placement by default on compile/tidy follow-up compiles (prevents relayout thrash). - `cc20c0c` Label readability pass: pin/net label spacing + annotation panel/legend deconfliction. Current quality direction: - Local editing stability improved (reduced unexpected movement). - Text clutter reduced in dense scenes. Next up: tackle placement quality itself (ELK-first laneing and deterministic clustering) under #49.
Author
Owner

Latest incremental push: f0b952e.

What changed:

  • Route-centered net-label anchoring to keep labels visually tied to actual wires.
  • This specifically targets the floating I2C/bus label complaints from recent QA captures.

Still pending for ship-readiness:

  • Placement quality upgrade (P9-01) remains the primary blocker.
Latest incremental push: `f0b952e`. What changed: - Route-centered net-label anchoring to keep labels visually tied to actual wires. - This specifically targets the floating I2C/bus label complaints from recent QA captures. Still pending for ship-readiness: - Placement quality upgrade (P9-01) remains the primary blocker.
Author
Owner

Phase 9 update: fc5f2fe shipped.

Completed in this slice:

  • Rank/lane-driven group origin planner replaced fixed grid-cell origin placement.
  • Deterministic collision-aware group packing introduced.
  • Fanout and lane tuning to avoid single-column collapse while keeping detour within QA thresholds.
  • QA baselines and gates refreshed and passing.

Next target:

  • Continue on routing-locality and tie-net fallback heuristics under P9-02/P9-05 for further readability gains.
Phase 9 update: `fc5f2fe` shipped. Completed in this slice: - Rank/lane-driven group origin planner replaced fixed grid-cell origin placement. - Deterministic collision-aware group packing introduced. - Fanout and lane tuning to avoid single-column collapse while keeping detour within QA thresholds. - QA baselines and gates refreshed and passing. Next target: - Continue on routing-locality and tie-net fallback heuristics under P9-02/P9-05 for further readability gains.
Author
Owner

Progress update (commit 1a9c7b5):

  • Hardened placement compaction balance to reduce collapse while keeping rank/lane coherence.
  • Added rank corridor clamping and moderated passive-adjacency movement.
  • Fixed tie-net metric accounting (direct_length now includes tie stub length), eliminating inflated detour in schematic-stub mode.
  • Added annotation panel word-wrap and dynamic panel width to stop top-left text bleed.
  • Updated render regression hash + UI baselines.

Validation:

  • npm test pass
  • npm run test:ui pass
  • Latest UI report (output/playwright/ui-metrics-report.json) shows:
    • initial: 0 crossings, 0 overlaps, 1.00x detour
    • after drag: 0 crossings, 0 overlaps, 1.11x detour
    • after drag+tidy: 0 crossings, 0 overlaps, 1.00x detour
    • dense analog: 0 crossings, 0 overlaps, 1.19x detour

Remaining in Phase 9: deeper ELK-first lane constraints and symbol-geometry v2 refinements.

Progress update (commit `1a9c7b5`): - Hardened placement compaction balance to reduce collapse while keeping rank/lane coherence. - Added rank corridor clamping and moderated passive-adjacency movement. - Fixed tie-net metric accounting (`direct_length` now includes tie stub length), eliminating inflated detour in schematic-stub mode. - Added annotation panel word-wrap and dynamic panel width to stop top-left text bleed. - Updated render regression hash + UI baselines. Validation: - `npm test` pass - `npm run test:ui` pass - Latest UI report (`output/playwright/ui-metrics-report.json`) shows: - initial: `0 crossings, 0 overlaps, 1.00x detour` - after drag: `0 crossings, 0 overlaps, 1.11x detour` - after drag+tidy: `0 crossings, 0 overlaps, 1.00x detour` - dense analog: `0 crossings, 0 overlaps, 1.19x detour` Remaining in Phase 9: deeper ELK-first lane constraints and symbol-geometry v2 refinements.
Author
Owner

Phase 9 tracker update (commit 128c5c6):

Closed in this sprint:

  • #50 Incremental routing / no global drift
  • #52 Symbol geometry & pin-distribution constraints v2

Still open:

  • #49 ELK-first placement pipeline final step (activate backend ELK coordinate execution path when runtime is available)

Current quality status:

  • npm test pass
  • npm run test:ui pass
  • UI report: all fixture gates pass (crossings/overlaps/detour within threshold).
Phase 9 tracker update (commit `128c5c6`): Closed in this sprint: - #50 Incremental routing / no global drift - #52 Symbol geometry & pin-distribution constraints v2 Still open: - #49 ELK-first placement pipeline final step (activate backend ELK coordinate execution path when runtime is available) Current quality status: - `npm test` pass - `npm run test:ui` pass - UI report: all fixture gates pass (crossings/overlaps/detour within threshold).
Author
Owner

Phase 9 complete with commit 46175ef.

Closed scope:

  • #49 ELK-first placement pipeline
  • #50 Incremental routing / no global drift
  • #51 Text/label compositor rewrite
  • #52 Symbol geometry + pin distribution constraints v2
  • #53 Fixture suite + visual quality gates
  • #54 Responsive UX hardening

Quality gate status:

  • npm test pass
  • npm run test:ui pass
  • Visual QA report thresholds met for sample/drag/tidy/dense/laptop scenarios.

Marking master tracker complete.

Phase 9 complete with commit `46175ef`. Closed scope: - #49 ELK-first placement pipeline - #50 Incremental routing / no global drift - #51 Text/label compositor rewrite - #52 Symbol geometry + pin distribution constraints v2 - #53 Fixture suite + visual quality gates - #54 Responsive UX hardening Quality gate status: - `npm test` pass - `npm run test:ui` pass - Visual QA report thresholds met for sample/drag/tidy/dense/laptop scenarios. Marking master tracker complete.
Rbanh closed this issue 2026-02-20 01:32:26 -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#48
No description provided.