Release 0.14.0

Version 0.14.0; the pending design-format changes are folded into format 25.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bherbruckandClaude Opus 5.5 committed 2026-10-16 09:19:10 +00:00
1 parent 9d82b94469
commit cedb51b8ea
10 files changed
+16 -16

No files matched your search

@@ -0,0 +1,5 @@
//! The Class-A surface pass adds `SurfaceBoundary` (Boundary Surface: `sketch`, `curves`,
//! optional `orders`, `crown`, `samples`), `SurfaceMatch` (Match Surface: `body`, optional
//! `faces`, `target`, `edges`, optional `order`) and `SurfaceFair` (Fair Surface: `body`, optional
//! `faces`, `strength`, `iterations`, `keep_edges`, `tolerance`). Older designs need no
//! transformation; 0.13.x asks for an update instead of meeting a feature it can't read.
@@ -0,0 +1,4 @@
//! Rectangular and circular feature patterns store alignment and reversal, independently for
//! each rectangular direction. Defaults preserve older positive-direction placements.
//! Center retains the source and alternates copies on either side, as sketch patterns do.
//! The last release refuses this pending format and asks for an update instead of losing it.
@@ -0,0 +1,5 @@
//! A sketch can sit on a plane seen from its other side: `{"type": "flipped", "base": <plane>}`
//! (with `"about_y": true` when it turns about the plane's y axis rather than its x axis). New
//! sketches started from behind an origin or construction plane save this, so they face the
//! viewer. Older designs have no flipped planes and open unchanged; the last release refuses a
//! design that has one (it asks for an update) instead of putting the sketch on the wrong side.
@@ -0,0 +1,5 @@
//! A sketch line can be `infinite` (#1359): construction geometry through its two points, drawn
//! across the whole view, a boundary for trim and extend along its whole line. Saved only when
//! set: older designs need no transformation, and a line without it is the line it always was;
//! 0.13.x (which reads up to 24) asks for an update instead of drawing such a line between its
//! two points.
@@ -0,0 +1,6 @@
//! A `Patch` on edges can carry `continuity` (`all`: `g0`, `g1` or `g2`, and `edges`:
//! `[{edge: [x, y, z], g}]` for edges met otherwise; G0 everywhere when absent, and then not
//! saved) and `points` it passes through (none when absent). Older designs need no
//! transformation: a patch without them fills as it always did; a loop that is not a height field
//! over its plane, which 0.13.0 refused, now fills with one face. 0.13.x asks for an update
//! instead of dropping them.
@@ -0,0 +1,4 @@
//! An explicit plane (a mirror's, or any plane reference) can be `placed`: an `origin` of three
//! length expressions with `x_dir` and `y_dir`, so it follows the design's parameters (#1492). A
//! plane whose origin is plain numbers is still saved as `custom`. Older designs need no
//! transformation; 0.13.x asks for an update instead of failing to read the plane.
@@ -0,0 +1,5 @@
//! Sketch linear patterns save two independent live direction-line references and each
//! direction's alignment and reversal. Even centered totals keep the original fixed and use
//! reversal to choose which side receives the extra copy. Older patterns retain their fixed
//! vectors and positive-direction placement through defaulted fields, so no rewrite is needed.
//! The last release refuses this pending format instead of silently losing the references.
@@ -0,0 +1,4 @@
//! A Split Body feature can take a straight sketch line as its tool (`sketch`, the sketch's
//! feature id, and `line`, the line's id), splitting by the plane through the line along the
//! sketch's normal (#1552). Older designs need no transformation: a split without them uses its
//! plane or face as before; 0.13.x asks for an update instead of splitting by the stored plane.