Skip to content

Releases: cemrehancavdar/marimo-cad

v0.2.0

16 Feb 07:44

Choose a tag to compare

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_distance and reset location updates after updateBounds()

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

30 Jan 17:16

Choose a tag to compare

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-cad

Quick Start

import marimo as mo
from build123d import Box
import marimo_cad as cad

viewer = cad.Viewer()
viewer.render(Box(10, 10, 10))