@snaptrude/plugin-core 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 CHANGED
@@ -1,5 +1,22 @@
1
1
  # @snaptrude/plugin-core
2
2
 
3
+ ## 0.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - **BREAKING — `design.create.floor` returns `ComponentHandle[]`** (was a single handle): the engine may split the footprint into several floors or merge it into a pre-existing neighbour; the call returns every floor covering the requested footprint after parametric resolution (created and/or absorbing; `[floor]` for a simple create). Destructure the first element for the previous single-floor behavior.
8
+
9
+ - 13c1fb5: Plugin API 0.11.0 — additive types for the ParametricGraphsV2 (PG2) remediation. Strictly additive: no existing signature or result shape changes; deployed plugins are unaffected.
10
+ - **`design.query.getProperties` — `isVisible`**: new optional read-only property — whether the entity currently has a visible representation on canvas (user hide flag AND LOD/mode gating both considered). Read-only: it is deliberately NOT a `PluginEntityFilter` field.
11
+ - **Error codes — four appended**: `HANDLE_STALE` (a handle the caller legitimately held that a parametric resolution — merge/split/rebuild — has since retired; the one deliberate exception to the `HANDLE_INVALID` collapse, which forged/never-issued ids still get), `KIND_HIDDEN_IN_MODE` (the entity kind has no representation in the current mode/LOD), `MERGED_INTO_EXISTING` (created geometry merged into an existing entity — use the surviving handles), `BLOCKED_IN_BIM` (operation unavailable in BIM mode). Wrong-kind targets deliberately did NOT get a new code — the existing `HANDLE_KIND_MISMATCH` already covers them.
12
+ - **`design.delete.entities` — cascade report**: now returns `PluginDesignDeleteResult` — the shared change-result shape plus an optional `cascaded` `ComponentHandle[]`: components PG2 removed as a consequence (derived walls/floors/slabs of deleted spaces), returned for cache invalidation. The shared `PluginDesignChangeResult` used by lock/selection/visibility is unchanged.
13
+ - **`design.create.furniture` placement is grounded**: `position.y` = bounding-box bottom, always; origin-relative placement removed (plugins recompute during the fleet upgrade).
14
+ - **`design.create.walls` honors the engine's resolution**: touching curves may merge/split against existing walls; returns the actually-created set (count may differ from input curves). The 1:1-per-curve abort is removed; no `strict` flag.
15
+ - **`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).
16
+ - **`design.query.spaces.listGeneratedBim(space)`**: new read — 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.
17
+ - **`presentation.placedViews`**: the placed-view record gains optional `lod` (`PluginViewLod`: `"design" | "bim"`) and `inactiveBuildingMask` fields; new `setLod(shapeId, lod)` sets the level of detail a placed view renders at.
18
+ - **`presentation.sheets.place` — `options.lod`**: optional `PluginViewLod` — the LOD of the placed view (default: the product's Design default).
19
+
3
20
  ## 0.9.6
4
21
 
5
22
  ### Patch Changes