@snaptrude/plugin-client 0.9.6 → 0.11.0-rc.1
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 +11 -0
- package/package.json +2 -2
- package/upgrade-notes/0.9.0-to-0.9.6.md +30 -0
- package/upgrade-notes/0.9.6-to-0.11.0.md +33 -0
- package/upgrade-notes/index.json +13 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @snaptrude/plugin-client
|
|
2
2
|
|
|
3
|
+
## 0.11.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 13c1fb5: 0.11.0 — version lockstep with `@snaptrude/plugin-core` 0.11.0 (PG2 remediation additive types). No client code changes: the client is a generic RPC proxy, so the new methods and fields are reachable without per-method code. Note: plugin-core 0.10.0 on npm was the smart-layout types published from a separate branch (no matching plugin-client release); this line goes 0.9.6 → 0.11.0 directly.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [13c1fb5]
|
|
12
|
+
- @snaptrude/plugin-core@0.11.0
|
|
13
|
+
|
|
3
14
|
## 0.9.6
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snaptrude/plugin-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0-rc.1",
|
|
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.
|
|
26
|
+
"@snaptrude/plugin-core": "0.11.0-rc.1"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"tsup": "^8.5.1",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
from: 0.9.0
|
|
3
|
+
to: 0.9.6
|
|
4
|
+
breaking: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
0.9.6 adds five small APIs the plugin agent repeatedly reached for but that did not exist — a project-identity read, two missing getters, a targeted un-hide, and a catalog-group listing that aligns the furniture surface with doors and windows. Nothing breaks; every existing call is unchanged. The 0.9.0 → 0.9.6 span also contains the patch releases 0.9.1–0.9.4 (terrain mesh replacement, the Present-mode styling/labels/shapes lane, the OCC brep-constructor batch, and loft/sweep upgrades) — patch-level and strictly additive; see the `@snaptrude/plugin-core` CHANGELOG for those details.
|
|
10
|
+
|
|
11
|
+
## Breaking changes
|
|
12
|
+
|
|
13
|
+
_None._
|
|
14
|
+
|
|
15
|
+
## New APIs
|
|
16
|
+
|
|
17
|
+
- **`core.project.getInfo()`** — project id, display name, unit type, storey count (scoped to the active building), active storey, and site location in one call. Closes a genuine capability gap: nothing previously returned the current project's identity.
|
|
18
|
+
- **`core.storeys.getActive()`** — `setActive` had no getter, unlike `core.buildings`, `core.layers` and `core.proposals`.
|
|
19
|
+
- **`core.camera.getMode()`** — `setMode` had no getter, while `getProjection`/`setProjection` on the same class were paired.
|
|
20
|
+
- **`design.visibility.show(components)`** — `hide` previously had only `showAll` as its inverse, so specific components could not be revealed.
|
|
21
|
+
- **`design.furniture.listCatalogGroups()`** — matches `design.doors` and `design.windows`, so all three catalog surfaces are named alike.
|
|
22
|
+
|
|
23
|
+
## Behavior changes
|
|
24
|
+
|
|
25
|
+
- `design.furniture.listCategories()` is **deprecated** (still supported) in favour of `design.furniture.listCatalogGroups()`.
|
|
26
|
+
- From the span's patch releases: `brepFromLoft` defaults to auto edge-count matching and auto seam alignment (pass `options: { compatibility: "strict", seamAlignment: "authored" }` to restore pre-0.9.4 lofting); `brepFromSweep` accepts closed (ring) paths and taper scale laws.
|
|
27
|
+
|
|
28
|
+
## No action needed
|
|
29
|
+
|
|
30
|
+
Existing plugins compile and run unchanged. Adopt the new getters and `listCatalogGroups` at your own pace.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
from: 0.9.6
|
|
3
|
+
to: 0.11.0
|
|
4
|
+
breaking: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
0.11.0 is the ParametricGraphsV2 (PG2) remediation's additive-types release: new optional result fields that report what the parametric engine did (delete cascades, space rebuilds, visibility), four new error codes for parametric outcomes, engine-resolution semantics on wall creation, grounded furniture placement, a derived-BIM query, and the placed-view LOD surface. One breaking change (design.create.floor now returns an array — see below); everything else is strictly additive. Version note: plugin-core 0.10.0 on npm was the smart-layout types published from a separate branch and is skipped by this host line (no plugin-client 0.10.0 exists) — this line goes 0.9.6 → 0.11.0 directly.
|
|
10
|
+
|
|
11
|
+
## Breaking changes
|
|
12
|
+
|
|
13
|
+
- **`design.create.floor` returns `ComponentHandle[]`** (was a single `ComponentHandle`). The parametric engine owns floor topology and may split the requested footprint into several floors or merge it into a pre-existing neighbour; the call now honors that resolution and returns **every floor covering the requested footprint after the operation** — created floor(s) and/or the absorbing floor. A simple independent create returns `[floor]`. Migration: `const floor = await …floor(c, t)` → `const [floor] = await …floor(c, t)` (destructure the first element for the old behavior); inspect the full array to handle splits/merges.
|
|
14
|
+
|
|
15
|
+
## New APIs
|
|
16
|
+
|
|
17
|
+
- **`design.query.spaces.listGeneratedBim(space)`** — the space's engine-derived BIM component handles as `{ walls, floors, slabs }` (`PluginSpaceGeneratedBim`). The set changes on merge/split — re-query after writes; this is the churn-recovery anchor for stale derived handles.
|
|
18
|
+
- **`presentation.placedViews.setLod(shapeId, lod)`** — set the level of detail a placed view renders at (`PluginViewLod`: `"design"` massing / `"bim"` detail). The placed-view record gains matching optional `lod` and `inactiveBuildingMask` fields.
|
|
19
|
+
- **`presentation.sheets.place` `options.lod`** — the LOD of the placed view (default: the product's Design default).
|
|
20
|
+
- **`design.create.walls` honors the engine's resolution** — curves touching existing walls may merge into or split against them; the call returns the actually-created set (its count can differ from the input curve count; profile-ordered matches first). The former hard requirement of exactly one new wall per curve is gone — re-query rather than index-pairing input curves to output walls.
|
|
21
|
+
- **`design.create.furniture` placement is grounded** — `position.y` is the placed instance's bounding-box bottom (the surface it stands on). Plugins that encoded origin-relative Y values must recompute placements against the grounded contract (no legacy option is kept).
|
|
22
|
+
- **`design.delete.entities` cascade report** — returns `PluginDesignDeleteResult`: the shared change-result shape plus optional `cascaded` handles (components PG2 removed as a consequence — derived walls/floors/slabs of deleted spaces; for cache invalidation).
|
|
23
|
+
- **`design.update.space` / `.spaces` `rebuilt`** — `PluginSpaceUpdateResult` gains an optional `rebuilt` boolean: a geometry update rebuilt the space's derived BIM (hosted children re-created, previous derived handles retired).
|
|
24
|
+
- **`design.query.getProperties` `isVisible`** — optional read-only property: whether the entity currently has a visible representation on canvas (user hide flag AND LOD/mode gating both considered). Not a filter field.
|
|
25
|
+
- **Error codes** — `HANDLE_STALE` (a legitimately held handle retired by a parametric merge/split/rebuild — the one deliberate exception to the `HANDLE_INVALID` collapse; forged ids still collapse), `KIND_HIDDEN_IN_MODE`, `MERGED_INTO_EXISTING`, `BLOCKED_IN_BIM`. Wrong-kind targets keep the existing `HANDLE_KIND_MISMATCH` — no new code.
|
|
26
|
+
|
|
27
|
+
## Behavior changes
|
|
28
|
+
|
|
29
|
+
_None._ Every addition is an optional field, optional trailing argument, new method, or appended error code. New optional result fields (`cascaded`, `rebuilt`, `lod`, `inactiveBuildingMask`, `isVisible`) appear only on hosts that emit them — treat absence as "not reported".
|
|
30
|
+
|
|
31
|
+
## No action needed
|
|
32
|
+
|
|
33
|
+
Existing plugins compile and run unchanged. If you cache handles to a space's derived walls/floors/slabs, adopt `listGeneratedBim` + the `cascaded`/`rebuilt` signals to invalidate them after writes.
|
package/upgrade-notes/index.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "@snaptrude/plugin-client",
|
|
3
|
-
"latest": "0.
|
|
3
|
+
"latest": "0.11.0",
|
|
4
4
|
"spans": [
|
|
5
5
|
{
|
|
6
6
|
"from": "0.4.0",
|
|
@@ -37,6 +37,18 @@
|
|
|
37
37
|
"to": "0.9.0",
|
|
38
38
|
"file": "0.8.0-to-0.9.0.md",
|
|
39
39
|
"breaking": false
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"from": "0.9.0",
|
|
43
|
+
"to": "0.9.6",
|
|
44
|
+
"file": "0.9.0-to-0.9.6.md",
|
|
45
|
+
"breaking": false
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"from": "0.9.6",
|
|
49
|
+
"to": "0.11.0",
|
|
50
|
+
"file": "0.9.6-to-0.11.0.md",
|
|
51
|
+
"breaking": false
|
|
40
52
|
}
|
|
41
53
|
]
|
|
42
54
|
}
|