Repository navigation
Replace model geometry enums with boolean flags - #117
Merged
Merged
Conversation
|
Thank you for your contribution! 🎉 PR Rating: ⭐ Track your contributions and see the leaderboard at: tscircuit Contribution Tracker |
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.
Geometry, placement, and handedness selectors now use bare flags and boolean JSON properties across 23 existing models. For example,
plainbushing_id8mm_od12mm_l20mm_plainclosedresolves toplainClosed: true, whilehexbolt_m4_l20mm_hex_fullthread_lefthandedexposeshex,fullThread, andleftHandedbooleans.This removes the old enum selector tokens and JSON properties for bushings, extrusion profiles, screw drives, mounting styles, spring construction, gasket/strip profiles, gear handedness, FlexScreen placement, NEMA geometry/wire modes, and sheet metal forms/hole shapes. Repeated, valued, and conflicting flags are rejected. Defaults, dimensions, catalog/standard identifiers, and coordinate arguments retain their meanings. The flag-to-enum expansion hooks are removed.
Validation: 301 tests pass, including standalone retired-selector rejection, direct-parser boundaries, boolean defaults/schema roundtrips, and conflicts.
bun run typecheck,bun run format:check, andbun run buildpass.Paired renderer PR: tscircuit/jscad-electronics#501