v0.0.29
Release Notes — v0.0.29
Covers changes from v0.0.28 to v0.0.29.
Features
Ellipse 2D feature
New ellipse(...) 2D feature for sketching ellipses, alongside the existing circle/arc/rectangle primitives.
from() selection filter
New from(...) selection filter to scope a selection to the shapes of specific objects, instead of searching the whole scene.
select(face().from(myPart));Closing an open offset wire
Open offset wires can now be closed, completing the shape into a closed region.
Breaking Changes
Plane-first signature for standalone 2D features
Standalone 2D features (used outside a sketch) now take the plane as their first argument instead of the last.
Sketch / part return values are namespaced
Values returned from sketch(...) and part(...) callbacks are now namespaced under regions / features on the returned scene object, so they can no longer accidentally overwrite internal scene-object properties.
Bug Fixes
- VSCode keybindings did not work when the viewer was in focus.
- Guide shapes were not visible in rollback.
- The current-position indicator did not render in rollback.
- Switching between Neovim-opened buffers did not update the scene.
- Neovim showed all scene objects from cache on first render.
revolvecap faces returned the wrong faces.mirrorperformed an unintended axis-to-plane conversion; mirror now also validates its 2D/3D context #47.- 2D
rotatecalled in a 3D context now throws a clear error (#47).
Performance
- Faster fusion history recording — skips empty color-bleed and unused additions.
- Faster edge classification using
TopTools_MapOfShapefor dedup. - Added a scene-object profiler with custom profiling categories, plus more profiling coverage across features.
Internal
- Refactored extrude base classes for clearer logic branches.
Docs
- Updated color documentation.
- Documented the new
from()filter, offset updates, and the new 2D feature signatures.
Commits
eb93461chore: release v0.0.29ace94a7feature: add new ellipse 2d featuref686415bug fix: vscode keybindings not working when the viewer is in focus0ece120refactor: namespace sketch/part callback returns under regions/features to prevent overwriting scene-object internals562af2bdocs: update 2d features signaturec572488update all standalone 2d features (outside sketch) to accept the plane as first argument instead of last3efb529bug fix: guide shapes not visible in rollback4520756bug fix: current position indicator not rendering in rollbackaaae9fedocs: add new offset updatesda79aeefeature: allow closing an open offseted wiredde685edocs: add new from() filter69f9718feature: add new from() selection filter to scope the selection to specific object shapes7364225speed up Record fusion history by skipping empty color bleed and unused additions5c70e18speed up edge classification by switching to TopTools_MapOfShape dedup4250ec9add more profiling informationa22370ebug fix: switching between neovim opened buffers does not update the scene1e2d4c4disable axis to plane conversion in mirror86895aevalidate 2d and 3d context in mirror function7ef8588throw an error when 2d rotate is called in 3d context #4773026f9bug fix: revolve cap faces returning wrong faces6f93b2frefactor extrude base classes to better organize the logic branches2e48009bug fix: neovim showing all scene objects served from cache on first renderd0b2423add more profiling information to more featuresadccce0feature: add profiler for scene objects to add custom profiling categoriesdffa1b7docs: update color documentation