Skip to content

Add BSpline support to GcsWrapper#11

Open
sothix wants to merge 11 commits into
Salusoft89:mainfrom
sothix:bspline-fix
Open

Add BSpline support to GcsWrapper#11
sothix wants to merge 11 commits into
Salusoft89:mainfrom
sothix:bspline-fix

Conversation

@sothix

@sothix sothix commented Jun 13, 2026

Copy link
Copy Markdown

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

sothix added 4 commits June 13, 2026 22:31
…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
@thes01

thes01 commented Jul 1, 2026

Copy link
Copy Markdown
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?

@sothix

sothix commented Jul 2, 2026

Copy link
Copy Markdown
Author

No problem, I'll add some tests

@thes01

thes01 commented Jul 4, 2026

Copy link
Copy Markdown
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants