Releases: cemrehancavdar/marimo-cad
Releases · cemrehancavdar/marimo-cad
v0.2.0
What's Changed
three-cad-viewer v4 Integration
- Upgraded to three-cad-viewer v4.1.0 from npm registry (previously pinned to git commit)
- Native
addPart()/removePart()API — no more workarounds - Batched updates with
skipBounds+updateBounds()for ~140x faster part operations (50 parts: 7ms vs 1000ms) - Native visibility state preservation across part updates
- Native
camera_distanceand reset location updates afterupdateBounds()
Simplified JS Widget
- Reduced JS from ~1270 lines across 6 files to ~185 lines in a single file
- Deleted
cad-group-factory.js,clipping-extension.js,live-viewer.js,part-manager.js,state-manager.js - Zero workarounds remaining — everything handled natively by TCV
Test Coverage
- Added E2E tests for visibility persistence across slider changes (008, 009)
- Added E2E test for resize object after height change (010)
- Updated all visual regression snapshots for TCV 4.1.0
- 34 unit tests + 10 E2E tests passing
Other
- Version bump to 0.2.0
Full Changelog: v0.1.0...v0.2.0
v0.1.0 - Initial Release
marimo-cad v0.1.0
Reactive Parametric CAD for marimo notebooks.
Features
- Camera preservation - Slider changes update geometry without resetting view
- Named assemblies - Tree view with visibility toggles
- Export - STL, STEP, GLTF formats
- Clipping planes - Slice models along X/Y/Z axes
Install
uv add marimo-cadQuick Start
import marimo as mo
from build123d import Box
import marimo_cad as cad
viewer = cad.Viewer()
viewer.render(Box(10, 10, 10))