Add BSpline support to GcsWrapper#11
Open
sothix wants to merge 11 commits into
Open
Conversation
…ts, separate start/end params; disable memory growth and assertions in WASM build
…try, optional module param - Add SketchBSpline interface with pole_ids, weights, knots, mult, degree, periodic - Add bspline to SketchGeometry union and GEOMETRY_TYPES - Add bspline entry to property_offsets in geom_params - GcsWrapper: push_bspline, pull_bspline, bspline case in sketch_primitive_to_gcs - Deletable guard for bspline geometries (persist for solver) - Optional ModuleStatic parameter for test compatibility - Fix process_all.sh CRLF line endings for Docker builds
Collaborator
|
Hi, thanks for the PR! Sorry for the late response, I have been away for a while. I'll look at it tomorrow. Would you also mind adding some basic test for a b spline? |
Author
|
No problem, I'll add some tests |
Collaborator
|
Hi @sothix. I added some tests and updated the readme (with Claude :)). Please have a look at the changes. I also found out there was an issue with some constraints' parameters (knotindex). I'll probably add some tests for all constraints later. Thanks again, this was long overdue. |
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.
Adds BSpline geometry support to the GCS wrapper layer. BSplines are handled as composite primitives — poles are pushed as individual points, and the bspline case in sketch_primitive_to_gcs creates the GCS geometry with proper p-param handling for weights, knots, multiplicities, and start/end evaluator points.
ModuleStatic is optional (defaults to undefined ) so existing tests pass without changes
BSpline GCS geometries are excluded from the deletable array to persist for the solver
The bspline case caches GCS geometry to avoid re-creation when referenced by multiple constraints