experiment(layout): diagnose mandatory leads and test bounded flat separation

This commit is contained in:
2026-09-24 20:38:33 -07:00
parent 2850b915d6
commit 2be8c7f292
6 changed files with 898 additions and 41 deletions
@@ -0,0 +1,43 @@
# Placement clearance experiment
Continuation of issue32 from connection-layout-reference results at2850b915.
The sparse external placement leaves20 units between rectangles where its
final Rust top port needs18 units of outward lead plus12 units of unrelated
obstacle clearance. This experiment addresses that necessary placement
condition. It does not adopt either previous placement candidate.
Use the router's actual endpoint selection, promotion/attachment policy and
lead collision predicate in a narrow read-only diagnostic. Preserve existing
router guard order, search, costs and fallback. Compare the five-case frozen
route output exactly with the released-router control, and exercise targeted
lead, alternative-endpoint and folded/ancestor tests.
First consumer is an isolated example-only flat repair: at most256 nodes,
1024 edges and four separation rounds. Freeze axis order and initial coordinate
floors; seed separation inequalities from every initially disjoint node pair.
Add a31-unit boundary gap (18+12+1 margin) for unambiguous cardinal singleton
lead blockers and recompute monotone coordinates. Reproject actual automatic
ports each round. Reject overlapping input, unsupported nested/folded/omitted
topology, conflicting order, projection size changes, excessive extent/work,
or unresolved constraints. No mutation escapes on failure. This narrower
first experiment deliberately leaves subtree/compound coordinate assignment
for a later planner increment.
Evaluate all five frozen original and Arrange-reset scenes, all four supported
old native candidates, and all three prior ELK geometry transfers, unchanged.
Keep unsupported cases and failures explicit. Reconstruct route reset/retained
translation once from input to final geometry using the audited import helper.
Check semantic/anchor/other-view conservation, round trips, repeat determinism
and ten repeated repair calls. Report all existing quality measures, actual
port changes, warnings and unrelated-node penetrations. Require the exact sparse
terminal conflict to disappear without introducing a new node overlap or routing
failure before calling this compatibility increment successful. Lead clearance
alone is not complete routability or readability acceptance.
Stop after one bounded candidate and independent review. If the sparse witness
cannot be repaired under frozen orders, retain the counterexample and move
constraints into initial coordinate assignment; do not increase iteration
counts or tune the corpus. Even success leaves prior shared-run, area,
compound/undirected and native usability limitations unresolved.
Windows only. No Linux build, release change or production Arrange adoption.