Liking cljdoc? Tell your friends :D

Changelog

2.0.0 — 2026-09-24

Plexus now supports Clojure, ClojureScript/WASM, and optional SCI interpretation with a source-aware macro DSL.

  • Move the modeling runtime, schemas, transforms, and helpers to .cljc.
  • Expose validated operation functions with keyword or map options, nested sequences, higher-order composition, and CSG result expressions.
  • Add plexus.source macros for compiled Clojure/ClojureScript and SCI hosts. Errors retain the offending expression, filename, line, and column through nested operations, result expressions, and deferred rebuilding.
  • Add plexus.sci/config and exported clj-kondo checks. SCI remains optional.
  • Preserve forward sampling defaults, including explicit nil step counts, and document the comparison with existing scad-etc models.
  • Test JavaScript against the published geometry dependency and its bundled WASM assets; no sibling checkout is required.

Migration

Operation arguments are now evaluated once when the form is constructed. To recompute values during rebuild, wrap forms in p/deferred:

(p/deferred #(p/forward :length @length))

The internal callable Form type and defop macro are removed. Use operation functions and form data instead. For automatic source locations, use the optional plexus.source macros. defmodel and export-models remain JVM-only.

Dependencies

All direct Maven dependencies and development tools in deps.edn use the latest stable versions available when this release was prepared:

DependencyVersion
Clojure1.12.6
clj-manifold3d1.2.0
Malli0.20.1
Native Manifold (JVM development alias)2.2.0
SCI (optional)0.15.58
Shadow CLJS3.5.3
Kaocha1.91.1392
Badigeon1.7 (unchanged)

JVM consumers still add the native Manifold artifact for their platform separately. The :local-dev alias retains sibling checkout overrides.

Validation

  • JVM: 39 tests, 111 assertions, no failures.
  • JavaScript/WASM: 31 tests, 92 assertions, no failures or errors.
  • Advanced JavaScript compilation: no warnings.
  • Static option checks: valid fixture accepted; eight invalid options located.

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close