@snaptrude/plugin-client 0.9.1 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -1
- package/package.json +2 -2
- package/upgrade-notes/0.8.0-to-0.9.0.md +26 -20
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @snaptrude/plugin-client
|
|
2
2
|
|
|
3
|
+
## 0.9.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 3584bde: Expose configured BIM creation and Site Analysis sheet APIs: `design.create.opening` (catalog door/window with width/height/sillHeight), staircase `dimensions` overrides (strict-validated, quarter-turn rotation), and `program.site.getSiteAnalysis`/`updateSiteAnalysis` with merge/append semantics. `PluginSiteAnalysisUpdateOptions` accepts `null` as "no options".
|
|
8
|
+
- Updated dependencies [3584bde]
|
|
9
|
+
- @snaptrude/plugin-core@0.9.3
|
|
10
|
+
|
|
11
|
+
## 0.9.2
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- 5b91c7b: OCC geometry batch: new `core.geom.create` brep constructors — `brepFromFillet`, `brepFromChamfer`, `brepFromOffset`, `brepFromShell`, `brepsFromSplit`, `brepFromSweep`, `brepFromRevolution`; `brepFromLoft` widened with optional `intermediateContours` (multi-section lofts); new `core.geom.query.brep.getDistance` (minimum distance between two solids with witness points).
|
|
16
|
+
- Updated dependencies [5b91c7b]
|
|
17
|
+
- @snaptrude/plugin-core@0.9.2
|
|
18
|
+
|
|
3
19
|
## 0.9.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
|
@@ -12,7 +28,6 @@
|
|
|
12
28
|
|
|
13
29
|
- More additions to the APIs, infra changes.
|
|
14
30
|
- Plugin API 0.8.0 — the 0.8 API wave, handle lifecycle, and worker events.
|
|
15
|
-
|
|
16
31
|
- **Events** — `PluginWorker.subscribe("model:changed", handler)`: debounced model-change notifications delivered to the worker for user and plugin edits alike; subscriptions live for the plugin's lifetime and are cleared automatically on stop.
|
|
17
32
|
- **The 0.8 API wave** — client types/passthrough for export, element editing, camera, storey management, visibility, dimensions, locale/user reads, and the behavior corrections in the host (world-unit `program.site` footprints, real beam/column geometry, live-only `design.query.list*`); see `@snaptrude/plugin-core@0.8.0` and `upgrade-notes/0.7.1-to-0.8.0.md`.
|
|
18
33
|
- **Handle lifecycle (`core.handles.*`) + GC-backed `Handle` objects** — `Handle` is now a class wrapping the wire id (public type names unchanged): `handle.id`, `toString()` stays the bare id, `equals()` compares by id, and `toJSON()` emits the `{__h: id}` wire tag — `JSON.stringify` output containing handles changes shape. New namespace: `core.handles.release(handles[])` (batched, arena-agnostic, silent no-op on unknown/released ids), `core.handles.releaseAll(kind?)`, mint-recording scopes `beginScope()` / `endScope(scope, retain?)` (token-addressed, retain promotes to the enclosing scope), and `core.handles.stats()`. The client runs a FinalizationRegistry-backed auto-release queue, so unreferenced handles are reclaimed host-side without explicit code. `core.geom.delete.profile/contour` are retained as deprecated aliases of `core.handles.release`. Entity-style kinds (component/material/underlay/terrain/importJob) remain branded strings.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snaptrude/plugin-client",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"comlink": "^4.4.2",
|
|
26
|
-
"@snaptrude/plugin-core": "0.9.
|
|
26
|
+
"@snaptrude/plugin-core": "0.9.3"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"tsup": "^8.5.1",
|
|
@@ -10,26 +10,7 @@ breaking: false
|
|
|
10
10
|
|
|
11
11
|
## Breaking changes
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
## Moved paths (deprecated → canonical)
|
|
16
|
-
|
|
17
|
-
- `entity.story.get` → `core.storeys.get`
|
|
18
|
-
- `entity.story.getAll` → `core.storeys.list` — the canonical result names the field `storeys` where `getAll` named it `stories`; the records are identical
|
|
19
|
-
- `entity.story.create` → `core.storeys.create`
|
|
20
|
-
- `entity.story.update` → `core.storeys.update`
|
|
21
|
-
- `entity.story.delete` → `core.storeys.delete`
|
|
22
|
-
- `entity.story.duplicate` → `core.storeys.copy`
|
|
23
|
-
- `entity.story.setActive` → `core.storeys.setActive`
|
|
24
|
-
- `entity.referenceLine.createMulti` → `design.create.referenceLines` — adds optional styling args and returns a `ComponentHandle[]` where `createMulti` returned `{ referenceLineIds }`
|
|
25
|
-
- `entity.referenceLine.get` → `design.query.referenceLines.get`
|
|
26
|
-
- `entity.referenceLine.getAll` → `design.query.listReferenceLines` — returns a filterable `ComponentHandle[]` where `getAll` returned `{ referenceLineIds }`
|
|
27
|
-
- `entity.referenceLine.delete` → `design.delete.entities`
|
|
28
|
-
- `entity.buildableEnvelope.create` → `design.create.buildableEnvelope`
|
|
29
|
-
- `entity.buildableEnvelope.update` → `design.update.buildableEnvelope`
|
|
30
|
-
- `core.zoom.extents` → `core.camera.zoomExtents`
|
|
31
|
-
- `core.zoom.selection` → `core.camera.zoomSelection`
|
|
32
|
-
- `core.tags.getTagsForComponent` → `core.tags.listForComponent`
|
|
13
|
+
_None._
|
|
33
14
|
|
|
34
15
|
## New APIs
|
|
35
16
|
|
|
@@ -56,6 +37,31 @@ None. All 0.9.0 moves are deprecate-in-place aliases; no signatures or result sh
|
|
|
56
37
|
- **`design.create.massFromBrep(brep, label?)`** — commit a mass from any `core.geom.create` brep constructor's handle (scene-derived `getBrep` breps stay read-only → `PRECONDITION_FAILED`): generic mass at the authored coordinates, single undo step, collab-synced. Together with the constructors this closes the loop — author faces / extrude / loft / boolean, then place the result in the scene.
|
|
57
38
|
- **`presentation.placedViews` — layout control over placed views.** Inspect and edit the LAYOUT of view shapes already placed on Present sheets (content refresh stays on `sheets.updatePlacedView`): `list(sheetId?)` / `get(shapeId)` return sheet, sheet-local position, size, architectural scale (`null` for 3D), rotation, crop and link state; `move(shapeId, position, { sheetId? })` repositions or reparents across sheets; `scale(shapeId, factor)` is a uniform corner-drag-equivalent resize; `setScale(shapeId, scale)` sets a standard architectural scale (2D views only); `setCrop(shapeId, crop | null)` crops with native tldraw fractions, keeping the visible region page-anchored — and the crop survives `updatePlacedView` refreshes. Identity is the shape id `sheets.place` returns.
|
|
58
39
|
|
|
40
|
+
## Behavior changes
|
|
41
|
+
|
|
42
|
+
All 0.9.0 namespace moves are deprecate-in-place aliases — no signatures or
|
|
43
|
+
result shapes changed on existing paths; each deprecated path delegates to the
|
|
44
|
+
same implementation as its canonical replacement.
|
|
45
|
+
|
|
46
|
+
### Moved paths (deprecated → canonical)
|
|
47
|
+
|
|
48
|
+
- `entity.story.get` → `core.storeys.get`
|
|
49
|
+
- `entity.story.getAll` → `core.storeys.list` — the canonical result names the field `storeys` where `getAll` named it `stories`; the records are identical
|
|
50
|
+
- `entity.story.create` → `core.storeys.create`
|
|
51
|
+
- `entity.story.update` → `core.storeys.update`
|
|
52
|
+
- `entity.story.delete` → `core.storeys.delete`
|
|
53
|
+
- `entity.story.duplicate` → `core.storeys.copy`
|
|
54
|
+
- `entity.story.setActive` → `core.storeys.setActive`
|
|
55
|
+
- `entity.referenceLine.createMulti` → `design.create.referenceLines` — adds optional styling args and returns a `ComponentHandle[]` where `createMulti` returned `{ referenceLineIds }`
|
|
56
|
+
- `entity.referenceLine.get` → `design.query.referenceLines.get`
|
|
57
|
+
- `entity.referenceLine.getAll` → `design.query.listReferenceLines` — returns a filterable `ComponentHandle[]` where `getAll` returned `{ referenceLineIds }`
|
|
58
|
+
- `entity.referenceLine.delete` → `design.delete.entities`
|
|
59
|
+
- `entity.buildableEnvelope.create` → `design.create.buildableEnvelope`
|
|
60
|
+
- `entity.buildableEnvelope.update` → `design.update.buildableEnvelope`
|
|
61
|
+
- `core.zoom.extents` → `core.camera.zoomExtents`
|
|
62
|
+
- `core.zoom.selection` → `core.camera.zoomSelection`
|
|
63
|
+
- `core.tags.getTagsForComponent` → `core.tags.listForComponent`
|
|
64
|
+
|
|
59
65
|
## No action needed
|
|
60
66
|
|
|
61
67
|
All 0.9.0 changes are additive. Deprecated paths remain until at least the next major version, and removal is gated on call metrics showing zero live traffic plus a consumer sweep. To modernize a plugin: rename calls per the moved-paths list above (only `core.storeys.list` and the two reference-line list/create reads have different result shapes from their predecessors — everything else is a pure rename).
|