research(layout): preserve corridor cohort planning checkpoint - #1743
Draft
pinin4fjords wants to merge 159 commits into
Draft
research(layout): preserve corridor cohort planning checkpoint#1743pinin4fjords wants to merge 159 commits into
pinin4fjords wants to merge 159 commits into
Conversation
Narrow the optional openings, offsets and radii at their use sites, give the two distinctly-typed move keys distinct names, and read the exit-turn query off the attribute rather than through getattr so its None arm is visible.
A merge junction seated off its entry port is placed relative to that port, so nothing keeps it clear of a feeder's column. Where the feeder is itself a divergence, landing inside its near-vertical band leaves that feeder's members no run along their exit's own axis, and one such member costs the whole exit group its planned turn. Step the merge outward until it owns its column. Bundle the feeders landing in one flow entry by that port rather than by the sign of each hop, so a merge seated on the far side of the port from a sibling descent no longer splits one corridor into two single-line bundles.
Contributor
|
Render preview is ready for review: This preview shows only the renders that changed compared to |
Two trunk-band slots whose members share one planned exit turn are lanes of one frame the plan already nested, so the band packer may compress them onto the stack's pitch but not swap them. A swap seated the frame's reference on the band's content-side lane, and re-imposing the planned offsets on that anchor drew the top lane through clearance the corridor's reservation had spent. (cherry picked from commit 407fc28962b77785d7c5477cea765c54e5ae7c85)
A typed geometry warning from a rendered seed is a drawn corridor taking clearance a reservation spent; the render must emit none. Gate coverage follows the band packer's planned-order arms. (cherry picked from commit cdcf804f45bad92a578d318ced1945e39628404d)
…s by A left exit whose line splits toward two right entries a row below plans one corridor for both members. It reached that corridor around the far side of the section it had just left - out through the header band above, down the outer canvas margin, and back - so the stroke enclosed three sides of its own box before turning toward targets that were beside it all along. The detour bought nothing but the avoidance of a merge trunk lying across the way, which the map already draws as a bridged crossing. The corridor now drops straight down the column the exit port faces, keeping the barrier trunk only as the measure of how far down both members must part. tests/test_source_section_wrap_invariant.py sweeps the render corpus for the shape: a route whose destination lies on the side its exit port faces never reaches past the section's opposite edge. (cherry picked from commit 50c6a2556da8d0f8d4e14a3854677f91a2ffd30e)
…s into The opening measured its branch corridor as a full turn radius below every trunk it had to pass, so the pair landed in a band of its own beneath the whole bottom-corridor stack. That band deepens the corridor for every route sharing it and re-packs the columns feeding it: risers that had been seated outside an exempt trunk's reach were pushed inside it, and one of them then crossed the trunk it was cleared off instead of running parallel to it. The corridor the pair parts on now sits one lane pitch under the deepest trunk it passes, which is the pitch that stack is already packed on; the full radius is kept only against a section box, which is what needs the room. (cherry picked from commit 68c399c57f79bc7087dd4a7e274709d90c376389)
…led corridor The pair parts one lane pitch under the trunks it passes rather than a turn radius below them, so its branch corridor and the bypass sharing that gap both sit a band higher. (cherry picked from commit c905cc573676f00fb1002fe1d6ac7d6d7cda1235)
This was referenced Aug 17, 2026
This was referenced Aug 17, 2026
15 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Status: non-mergeable research checkpoint
This draft preserves the investigation for #1671, but it is not ready to merge. The implementation deliberately stops before member and convergence ownership are unified, and CI is skipped on checkpoint commit
3f11f175.The clean continuation is tracked by #1745 as a bounded stacked-PR programme from
main.Aggregate contents
GENERAL -> cohort intent -> one APERTURE batch -> final solve/freezerender-stage scaffolding and self-contained deferred-final-guard validation._shared_left_exit_opening, and snapshot_landing_domainspath in favor of the footprint model under development.Why it must not merge
_move_trunk_axis, which can infer ownership and direction.finalized_owned_segments, replay compilation, reserved-trunk setters, and other competing ownership paths remain live.Merging this aggregate would leave old and new planners sharing coordinates. Use it as prototype code and evidence only.
Checkpoint verification
Passing:
Expected failing checkpoint evidence:
No behavioral failure should be fixed on this draft branch. Continue through the child issues under #1745 in fresh worktrees and stacked draft PRs.
Restart from the commit-pinned solver, typed witness, component, convergence recipe, persistence, and replay links in #1745 and its ordered child checklist. The early children establish reusable scalar and ownership foundations; later children replace proximity grant application, persist the accepted plan, delete replay ownership, and run the aggregate #1653/render/CI gate.
Ordered restart programme
Rejected directions
Exact restart points are commit-pinned in the child issues. In particular,
corridor_cohorts.pyand its pure tests are reusable;_component_plan/_scalar_component_plan,_move_trunk_axisgrant application,finalized_owned_segments,_settle_reserved_trunk_axes, and render replay compilation are provisional or negative evidence. The target final order isfinal solve -> typed materialization -> cohort-final freeze -> validation only; “mechanical replay” is not an allowed post-freeze phase.