Repository navigation
Support independent and nested flex PCB folds - #4301
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
seveibar
marked this pull request as ready for review
October 2, 2026 05:07
seveibar
marked this pull request as draft
October 2, 2026 05:21
Contributor
|
Thank you for your contribution! 🎉 PR Rating: ⭐⭐ Track your contributions and see the leaderboard at: tscircuit Contribution Tracker |
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.
Flex boards with finite bends on different arms currently report a placement error and remain flat. Adopt the shared finite-region fold implementation so independent nonparallel arms fold successfully. Nested regions fold the child before carrying it with the parent. The original two-arm example with both
bendSide="left"values also folds correctly: its vertical chord moves the body, while the right tip stays flat.Add numeric CAD regressions and actual PCB/GLB snapshots for both arrangements, with explanatory PCB notes and optional finite bend lines. PCB placements remain flat, repeated rendering leaves Circuit JSON unchanged, and inverse CAD transforms recover the flat positions and orientations. Replace the obsolete all-nonparallel fallback fixture with crossing bend regions on a rectangle; that case retains the flat board, CAD, and schematic and shows its canonical placement error through published PoppyGL's existing labels.
The bend examples already declare
material="flex". Adopt the exporter material fix so their 3D surfaces and edges use the default polyimide palette, with dark markings for contrast. Refresh six existing default-color flex PNGs without adding explicit color overrides. Existing explicit colors and all PCB/schematic snapshots remain unchanged.Flex-utils #7, GLTF #232, and GLTF #233 are merged. Core uses published flex-utils
0.0.8for its bundled fold implementation and published GLTF0.0.141for its 3D snapshot exporter. Both preview pins are replaced, with no remaining dependency prerequisite. PoppyGL remains published0.0.29. Addresses tscircuit #5277, item 2.Validation:
0.0.7.0.0.141package has all five distribution files byte-identical to the tested preview. All 15 flex snapshots remain byte-for-byte unchanged when replacing that preview with the published release. The material refresh changes exactly six default-color PNGs; existing explicit colors and all PCB/schematic snapshots stay unchanged.3e11388: all ten test shards, TypeScript, formatting, distribution smoke tests, package preview, and Vercel deployment.