Skip to content

v0.0.29

Choose a tag to compare

@marwndev marwndev released this 26 Apr 10:24

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.
  • revolve cap faces returned the wrong faces.
  • mirror performed an unintended axis-to-plane conversion; mirror now also validates its 2D/3D context #47.
  • 2D rotate called 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_MapOfShape for 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

  • eb93461 chore: release v0.0.29
  • ace94a7 feature: add new ellipse 2d feature
  • f686415 bug fix: vscode keybindings not working when the viewer is in focus
  • 0ece120 refactor: namespace sketch/part callback returns under regions/features to prevent overwriting scene-object internals
  • 562af2b docs: update 2d features signature
  • c572488 update all standalone 2d features (outside sketch) to accept the plane as first argument instead of last
  • 3efb529 bug fix: guide shapes not visible in rollback
  • 4520756 bug fix: current position indicator not rendering in rollback
  • aaae9fe docs: add new offset updates
  • da79aee feature: allow closing an open offseted wire
  • dde685e docs: add new from() filter
  • 69f9718 feature: add new from() selection filter to scope the selection to specific object shapes
  • 7364225 speed up Record fusion history by skipping empty color bleed and unused additions
  • 5c70e18 speed up edge classification by switching to TopTools_MapOfShape dedup
  • 4250ec9 add more profiling information
  • a22370e bug fix: switching between neovim opened buffers does not update the scene
  • 1e2d4c4 disable axis to plane conversion in mirror
  • 86895ae validate 2d and 3d context in mirror function
  • 7ef8588 throw an error when 2d rotate is called in 3d context #47
  • 73026f9 bug fix: revolve cap faces returning wrong faces
  • 6f93b2f refactor extrude base classes to better organize the logic branches
  • 2e48009 bug fix: neovim showing all scene objects served from cache on first render
  • d0b2423 add more profiling information to more features
  • adccce0 feature: add profiler for scene objects to add custom profiling categories
  • dffa1b7 docs: update color documentation