Respect supplied symbol geometry and preserve external terminals - #1283
Open
imrishabh18 wants to merge 10 commits into
Open
imrishabh18 wants to merge 10 commits into
imrishabh18 wants to merge 10 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…ture-alarm-buzzer-trace # Conflicts: # tests/repros/repro-rp2040-temperature-alarm.test.ts
…ture-alarm-buzzer-trace
…zer-trace' into fix/rp2040-temperature-alarm-buzzer-trace
This branch was successfully deployed
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.
The Temperature Alarm buzzer loses its lower-port wire because the pipeline expands the custom-symbol body to include distant terminals, then projects the connected terminals onto the enlarged rectangle. This turns empty space into an obstacle and moves the connection points.
Treat supplied component bounds as authoritative. Remove pin-based expansion and
boundsMode; keep every pipeline stage's existinginputProblem: this.inputProbleminterface. The pipeline still clones the caller's input and derives body-edge escape points only for interior terminals. External terminal coordinates and directions stay unchanged.Core supplies drawn body bounds, text boxes, and actual terminal/stem geometry in core #4314. Optional
InputPin.stemEnddescribes the inner endpoint of a drawn stem. Stems are separate collision obstacles, so detours cannot cross leads and empty space around asymmetric symbols stays routable. The solver never invents a stem from a terminal's distance to the body.Two assumptions hidden by inflated boxes are also corrected: Z-shape balancing preserves U-shaped terminal approaches, and perpendicular rail labels at external pins get an outward connector.
Stacked on reproduction #1282. Tests cover the actual lower buzzer/drain connection, asymmetric no-connect terminals and rotations, outward trace/rail approaches, and a label detour through an explicitly supplied stem. Removing the stem data makes that last regression fail.
Archived fixture migration: existing pipeline fixtures explicitly record the obstacle/escape geometry previously supplied by implicit normalization; their assertions and snapshots remain unchanged. The raw Temperature Alarm fixture is excluded. See
tests/fixtures/README.md.Validation: 675 tests pass, 4 existing skips; build, typecheck, and isolated Node/browser/TypeScript package consumers pass. The full-project core preview joins both emitted buzzer/drain terminals. Core remains draft pending a published solver version containing this change.