Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 12 additions & 18 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,7 @@ All notable changes to the `opengeometry` package are in this file. The format f
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the package follows
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- Solid primitives `OG_PRIMITIVE_SLOT_PRISM`, `OG_PRIMITIVE_ROUNDED_BOX` and
`OG_PRIMITIVE_PIPE_SEGMENT`, with their `OG_PRIMITIVE_PARAMS_*` helpers and the
`SlotPrismParams`, `RoundedBoxParams` and `PipeSegmentParams` types.
- `OG_PRIMITIVE_POLYSOLID`: a solid wall of constant width and height along a path of straight
legs, with `justify` `'centre'`, `'left'` or `'right'`, mitred corners and an open or closed
path. `OG_PRIMITIVE_PARAMS_POLYSOLID` and the type `PolysolidParams` give it a
type.
- Wire primitives `OG_PRIMITIVE_REGULAR_POLYGON`, `OG_PRIMITIVE_SLOT` and
`OG_PRIMITIVE_ROUNDED_RECTANGLE`, with their `OG_PRIMITIVE_PARAMS_*` helpers and the
`RegularPolygonParams`, `SlotParams` and `RoundedRectangleParams` types.
- `OG_PRIMITIVE_POLYSOLID` paths take arc segments that join their neighbours tangentially. A
joint where an arc meets a segment at an angle throws `InvalidParameter` that names the joint.

## [3.0.0] - 2026-11-09
## [3.0.0] - 2026-11-10

3.0 is a new API. Code written for 2.0 does not run without changes. Version 2.5 was not
published. Follow [MIGRATION.md](./MIGRATION.md): it gives every change with code before and after.
Expand Down Expand Up @@ -83,6 +66,17 @@ published. Follow [MIGRATION.md](./MIGRATION.md): it gives every change with cod
report.
- `OpenGeometry.insetCurvedRegion2D` and `OpenGeometry.offsetCurvedRingVariable` inset a
line-and-arc region exactly, with one distance, or one distance per edge.
- Solid primitives `OG_PRIMITIVE_SLOT_PRISM`, `OG_PRIMITIVE_ROUNDED_BOX` and
`OG_PRIMITIVE_PIPE_SEGMENT`, with their `OG_PRIMITIVE_PARAMS_*` helpers and the
`SlotPrismParams`, `RoundedBoxParams` and `PipeSegmentParams` types.
- `OG_PRIMITIVE_POLYSOLID`: a solid wall of constant width and height along a path of straight
legs and tangent arcs, with `justify` `'centre'`, `'left'` or `'right'`, mitred corners and an
open or closed path. A joint where an arc meets a segment at an angle throws `InvalidParameter`
that names the joint. `OG_PRIMITIVE_PARAMS_POLYSOLID` and the type `PolysolidParams` give it a
type.
- Wire primitives `OG_PRIMITIVE_REGULAR_POLYGON`, `OG_PRIMITIVE_SLOT` and
`OG_PRIMITIVE_ROUNDED_RECTANGLE`, with their `OG_PRIMITIVE_PARAMS_*` helpers and the
`RegularPolygonParams`, `SlotParams` and `RoundedRectangleParams` types.

### Removed

Expand Down
16 changes: 4 additions & 12 deletions docs/opengeometry/changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,7 @@ icon: clock-rotate-left
rss: true
---

<Update label="Unreleased" description="Not yet released">

### Added

- Solid primitives: slot prism, rounded box and pipe segment. See [Primitives](/opengeometry/guides/primitives).
- **Polysolid.** `OG_PRIMITIVE_POLYSOLID` makes a solid wall of constant width and height along a path of straight legs, justified `'centre'`, `'left'` or `'right'`, with mitred corners. See [Primitives](/opengeometry/guides/primitives).
- Wire primitives: regular polygon, slot and rounded rectangle. See [Primitives](/opengeometry/guides/primitives).
- **Polysolid arcs.** A polysolid path takes arc segments that join their neighbours tangentially. A joint where an arc meets a segment at an angle throws `InvalidParameter` that names the joint. See [Primitives](/opengeometry/guides/primitives).

</Update>

<Update label="3.0.0" description="2026-11-09">
<Update label="3.0.0" description="2026-11-10">

3.0 is a new API. Code written for 2.0 does not run without changes. Follow [Migrate from 2.0](/opengeometry/migrate-from-2-0).

Expand Down Expand Up @@ -44,6 +33,9 @@ rss: true
- [Display for Three.js](/opengeometry/concepts/display), [picking](/opengeometry/guides/picking) and [host-drawn layers](/opengeometry/guides/use-your-threejs-scene).
- [STEP export](/opengeometry/guides/export-step) and the [IFC exchange body](/opengeometry/guides/ifc-exchange-body).
- Exact curved insets: `OpenGeometry.insetCurvedRegion2D` and `OpenGeometry.offsetCurvedRingVariable`. See [Regions and offsets](/opengeometry/guides/regions-and-offsets).
- Solid primitives: slot prism, rounded box and pipe segment. See [Primitives](/opengeometry/guides/primitives).
- **Polysolid.** `OG_PRIMITIVE_POLYSOLID` makes a solid wall of constant width and height along a path of straight legs and tangent arcs, justified `'centre'`, `'left'` or `'right'`, with mitred corners. A joint where an arc meets a segment at an angle throws `InvalidParameter` that names the joint. See [Primitives](/opengeometry/guides/primitives).
- Wire primitives: regular polygon, slot and rounded rectangle. See [Primitives](/opengeometry/guides/primitives).

### Fixed

Expand Down
Loading