@snaptrude/plugin-core 1.1.0-pbr-20261028.1 → 1.1.0-pbr-20261102.2

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.
Files changed (43) hide show
  1. package/AGENTS.md +18 -0
  2. package/CHANGELOG.md +6 -0
  3. package/api-manifest.json +139 -2
  4. package/dist/api/design/create/bulk-items.d.ts +4 -1
  5. package/dist/api/design/create/bulk-items.d.ts.map +1 -1
  6. package/dist/api/design/doors/index.d.ts +12 -0
  7. package/dist/api/design/doors/index.d.ts.map +1 -1
  8. package/dist/api/design/index.d.ts +5 -0
  9. package/dist/api/design/index.d.ts.map +1 -1
  10. package/dist/api/design/text.d.ts +400 -0
  11. package/dist/api/design/text.d.ts.map +1 -0
  12. package/dist/api/presentation/drawings.d.ts +45 -0
  13. package/dist/api/presentation/drawings.d.ts.map +1 -1
  14. package/dist/api/presentation/graphics.d.ts +4 -0
  15. package/dist/api/presentation/graphics.d.ts.map +1 -1
  16. package/dist/api/presentation/index.d.ts +9 -0
  17. package/dist/api/presentation/index.d.ts.map +1 -1
  18. package/dist/api/presentation/lighting.d.ts +469 -0
  19. package/dist/api/presentation/lighting.d.ts.map +1 -0
  20. package/dist/api/presentation/placedViews.d.ts +29 -1
  21. package/dist/api/presentation/placedViews.d.ts.map +1 -1
  22. package/dist/api/presentation/standards.d.ts +14 -0
  23. package/dist/api/presentation/standards.d.ts.map +1 -1
  24. package/dist/errors/codes.d.ts +1 -1
  25. package/dist/errors/codes.d.ts.map +1 -1
  26. package/dist/index.cjs +2321 -2097
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.js +2299 -2097
  29. package/dist/index.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/api/design/create/bulk-items.ts +4 -1
  32. package/src/api/design/doors/index.ts +12 -0
  33. package/src/api/design/index.ts +5 -0
  34. package/src/api/design/text.ts +394 -0
  35. package/src/api/presentation/graphics.ts +4 -1
  36. package/src/api/presentation/index.ts +9 -0
  37. package/src/api/presentation/lighting.ts +436 -0
  38. package/src/api/presentation/placedViews.ts +12 -0
  39. package/src/api/presentation/standards.ts +6 -0
  40. package/src/errors/codes.ts +6 -0
  41. package/test/designText.test.mjs +72 -0
  42. package/test/errors.test.mjs +1 -0
  43. package/test/paperPensContract.test.mjs +39 -0
package/AGENTS.md CHANGED
@@ -169,6 +169,7 @@ These are in-browser integration tests that exercise the plugin API end-to-end.
169
169
  | `design/query/*` | `tests/designQuery.ts` |
170
170
  | `design/selection/*` | `tests/designSelection.ts` |
171
171
  | `design/lock.ts` | `tests/designLock.ts` |
172
+ | `design/text.ts` | `tests/designText.ts` |
172
173
  | `design/delete/*` | `tests/delete.ts` |
173
174
  | `design/erase/*` | `tests/erase.ts` |
174
175
  | `design/doors/*` | `tests/doors.ts` |
@@ -213,6 +214,23 @@ check **all** consumers of `@snaptrude/plugin-client` or `@snaptrude/plugin-core
213
214
 
214
215
  Search these directories for usage of the changed API and update accordingly.
215
216
 
217
+ ### 8. snapagents (every API change, breaking or not)
218
+
219
+ The Snap agent (`snapagents` repo) does not install this package. It keeps a synced copy of the
220
+ built `dist/**/*.d.ts` under `plugin-types/plugin-core/` and compiles every script the
221
+ agent writes against them before it runs, so a stale copy means the agent is held
222
+ to an old API. After a plugin-core release, in the snapagents checkout run:
223
+
224
+ ```bash
225
+ npm run sync:plugin-core -- <path to packages/plugin-core>
226
+ ```
227
+
228
+ It copies new and changed declaration files, keeps snapagents' agent-only files,
229
+ refuses to overwrite its hand-merged files (and prints what to merge), and stamps
230
+ `plugin-types/plugin-core/.synced.json` with the version. Where the editor validates a
231
+ parameter against a fixed list, declare it as that literal union here, not as
232
+ `string`: the agent's type-check can only reject what the type names.
233
+
216
234
  ## Adding a new API namespace (end-to-end)
217
235
 
218
236
  When adding an entirely new namespace (e.g. `snaptrude.materials`):
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @snaptrude/plugin-core
2
2
 
3
+ ## 1.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - c05661a: Add `design.text` — authored text and annotations (Text / Annotate tools): `create`, `list`, `get`, `update`, `setLeader`; texts are `ComponentHandle`s, so delete / move / rotate / copy / hide / lock use the generic design APIs. Paper Pens gains a `"Text"` annotation category (projection pen = leader weight, `annotationText.Text.textMm` size, resolved `text.annotationMm`; no per-view override), and `presentation.placedViews.updateStyles` gains the `"Text"` and `"Annotation"` categories with `textFontFamily`, `textFontStyle` and `leaderVisible`.
8
+
3
9
  ## 1.0.1
4
10
 
5
11
  ### Patch Changes
package/api-manifest.json CHANGED
@@ -5310,7 +5310,8 @@
5310
5310
  "Which way does this door swing?",
5311
5311
  "Is the selected door left-handed or right-handed?",
5312
5312
  "Check the hinge side of this door",
5313
- "Does the entrance door open to the left or the right?\n\n# Example\n```ts\nconst [door] = await snaptrude.design.query.listDoors({ isSelected: true })\nconst swing = await snaptrude.design.doors.getSwingDirection(door)\nif (swing) console.log(\"opens as a\", swing, \"hand door\")\n```"
5313
+ "Does the entrance door open to the left or the right?",
5314
+ "Which room does this door open into?\n\n# Example\n```ts\nconst [door] = await snaptrude.design.query.listDoors({ isSelected: true })\nconst swing = await snaptrude.design.doors.getSwingDirection(door)\nif (swing) console.log(\"opens as a\", swing, \"hand door\")\n// Which room it opens into\nconst { topology } = await snaptrude.design.validation.access()\nconst side = topology.rooms.flatMap((r) => r.doors).find((d) => d.door === door)?.opensInto\n```"
5314
5315
  ],
5315
5316
  "argsType": "ComponentHandle",
5316
5317
  "resultType": "\"left\" | \"right\" | null"
@@ -5370,7 +5371,7 @@
5370
5371
  {
5371
5372
  "path": "design.doors.mirror",
5372
5373
  "namespace": "design.doors",
5373
- "summary": "Change authored controls in one undo step: x (default) toggles swing front/back; z toggles hand left/right. The recipe must declare these enums. Axis y rejects. No mesh reflection occurs. Recipes use outputs.swingSide (1 or -1) for the adjoining room's floor ownership. A door between two room floors requires this output; a missing or invalid report rejects the cut.",
5374
+ "summary": "Change authored controls in one undo step: x (default) toggles swing front/back; z toggles hand left/right. The recipe must declare these enums. Axis y rejects. No mesh reflection occurs. Recipes use outputs.swingSide (1 or -1) for the adjoining room's floor ownership. A door between two room floors requires this output; a missing or invalid report rejects the cut. The same side decides `opensInto` in `design.validation.access()`; read it there to confirm which room the door now opens into.",
5374
5375
  "examplePrompts": [
5375
5376
  "Flip this door's swing",
5376
5377
  "Mirror the selected door",
@@ -6777,6 +6778,66 @@
6777
6778
  "argsType": "PluginSelectionFilter",
6778
6779
  "resultType": "PluginDesignChangeResult"
6779
6780
  },
6781
+ {
6782
+ "path": "design.text.create",
6783
+ "namespace": "design.text",
6784
+ "summary": "Place a text, or an annotation when `options.arrowhead` is given.",
6785
+ "examplePrompts": [
6786
+ "Label the living room \"LIVING\" on the plan",
6787
+ "Add an annotation pointing at this column saying \"RCC 300x300\"",
6788
+ "Write \"NORTH ENTRY\" in red bold text at the entrance on level 2\n\n# Example\n```ts\nconst { design, core } = snaptrude\nconst v = core.math.vec3\n// A plain label on storey 1.\nawait design.text.create(await v.new(10, 0, 20), \"LIVING\", { storey: 1 })\n// An annotation whose leader points at a wall corner.\nawait design.text.create(await v.new(30, 0, 40), \"Shear wall\", {\narrowhead: await v.new(22, 0, 32),\ncolor: \"#c62828\",\nfontStyle: \"Bold\",\n})\n```"
6789
+ ],
6790
+ "argsType": "Vec3Handle",
6791
+ "resultType": "ComponentHandle"
6792
+ },
6793
+ {
6794
+ "path": "design.text.get",
6795
+ "namespace": "design.text",
6796
+ "summary": "Read one text by handle.",
6797
+ "examplePrompts": [
6798
+ "What does this text say?",
6799
+ "Read the annotation I just placed\n\n# Example\n```ts\nconst t = await snaptrude.design.text.get(handle)\nif (t?.leader) console.log(t.content, \"points at\", t.leader.arrowhead)\n```"
6800
+ ],
6801
+ "argsType": "ComponentHandle",
6802
+ "resultType": "PluginText | null"
6803
+ },
6804
+ {
6805
+ "path": "design.text.list",
6806
+ "namespace": "design.text",
6807
+ "summary": "List the texts and annotations of every building in the active design option as full records (each carries its `buildingId`).",
6808
+ "examplePrompts": [
6809
+ "List all the text labels on level 1",
6810
+ "Which annotations are in this model?",
6811
+ "Find the text that says \"LOBBY\""
6812
+ ],
6813
+ "argsType": "{\n storeys?: number[]\n kind?: PluginTextKind\n isHidden?: boolean\n }",
6814
+ "resultType": "PluginText[]",
6815
+ "performance": "Array read — one host round-trip returns every record. Filter in one call rather than calling `get` per text. # Example ```ts const texts = await snaptrude.design.text.list({ storeys: [1] }) const lobby = texts.find((t) => t.content === \"LOBBY\") ```"
6816
+ },
6817
+ {
6818
+ "path": "design.text.setLeader",
6819
+ "namespace": "design.text",
6820
+ "summary": "Point a text's leader at a new place — the same edit as dragging an annotation's arrowhead with the Edit tool. Passing `null` removes the leader (the annotation becomes a plain text); giving a plain text an arrowhead turns it into an annotation. The text itself does not move. To move the text while its arrowhead stays put, move it with `design.transform.move`, then call this with the old `leader.arrowhead`.",
6821
+ "examplePrompts": [
6822
+ "Point this annotation at the door instead",
6823
+ "Remove the leader from this label\n\n# Example\n```ts\nconst { design, core } = snaptrude\nawait design.text.setLeader(handle, await core.math.vec3.new(12, 0, 8))\n```"
6824
+ ],
6825
+ "argsType": "ComponentHandle",
6826
+ "resultType": "PluginText"
6827
+ },
6828
+ {
6829
+ "path": "design.text.update",
6830
+ "namespace": "design.text",
6831
+ "summary": "Change the words, colour or font of one or more texts — the same edit as the Properties panel. Fields left out keep each text's own value. A font style the (new) family does not have falls back to `\"Regular\"`, as in the panel. One undo entry for the whole batch.",
6832
+ "examplePrompts": [
6833
+ "Make all the room labels bold",
6834
+ "Change this annotation to read \"Fire exit\"",
6835
+ "Use Roboto in blue for every text on level 2"
6836
+ ],
6837
+ "argsType": "ComponentHandle[]",
6838
+ "resultType": "PluginTextChangeResult",
6839
+ "performance": "Array API — pass the whole set in one call (one host round-trip, one undo entry). Never loop this per text. # Example ```ts const text = snaptrude.design.text const level2 = await text.list({ storeys: [2] }) await text.update(level2.map((t) => t.id), { fontFamily: \"Roboto\", color: \"#1565c0\" }) ```"
6840
+ },
6780
6841
  {
6781
6842
  "path": "design.transform.align",
6782
6843
  "namespace": "design.transform",
@@ -8329,6 +8390,82 @@
8329
8390
  "argsType": "{ url?: string; dataUrl?: string }",
8330
8391
  "resultType": "PluginPresentationImportResult"
8331
8392
  },
8393
+ {
8394
+ "path": "presentation.lighting.applyPreset",
8395
+ "namespace": "presentation.lighting",
8396
+ "summary": "Aim the sun and set every light's level from a preset. The sun is turned from the hero facade's outward normal; without `options.heroFacadeNormal` from the facade facing the camera at the time of the call. The preset does not change the environment, exposure or realistic rendering, and a cloud choice made with `set` stays.",
8397
+ "examplePrompts": [
8398
+ "Light the model with golden hour sun",
8399
+ "Use an overcast sky for the render",
8400
+ "Switch to the dusk lighting with the lights on inside",
8401
+ "Put the sun across the south facade\n\n# Example\n```ts\nconst south = await snaptrude.core.math.vec3.new(0, 0, -1)\nawait snaptrude.presentation.lighting.applyPreset(\"golden\", { heroFacadeNormal: south })\n```"
8402
+ ],
8403
+ "argsType": "PluginPresentationLightingPresetId",
8404
+ "resultType": "PluginPresentationLightingState"
8405
+ },
8406
+ {
8407
+ "path": "presentation.lighting.disableRealistic",
8408
+ "namespace": "presentation.lighting",
8409
+ "summary": "Turn realistic rendering off, back to the Design look, as View settings' Realistic toggle does. Always allowed; a no-op when it is already off. Not undoable.",
8410
+ "examplePrompts": [
8411
+ "Turn off realistic rendering",
8412
+ "Go back to the design view look\n\n# Example\n```ts\nawait snaptrude.presentation.lighting.disableRealistic()\n```"
8413
+ ],
8414
+ "argsType": null,
8415
+ "resultType": "PluginPresentationLightingState"
8416
+ },
8417
+ {
8418
+ "path": "presentation.lighting.enableRealistic",
8419
+ "namespace": "presentation.lighting",
8420
+ "summary": "Turn realistic rendering on, as View settings' Realistic toggle does: the 3D view and its captures draw PBR materials under the presentation lighting, with the sky. 2D views keep the drawing look.",
8421
+ "examplePrompts": [
8422
+ "Turn on realistic rendering",
8423
+ "Show the model in realistic mode",
8424
+ "Switch the 3D view to the realistic look with sky and materials\n\n# Example\n```ts\nconst { realisticAvailable } = await snaptrude.presentation.lighting.get()\nif (realisticAvailable) {\nawait snaptrude.presentation.lighting.enableRealistic()\nawait snaptrude.presentation.lighting.applyPreset(\"golden\")\n}\n```"
8425
+ ],
8426
+ "argsType": null,
8427
+ "resultType": "PluginPresentationLightingState"
8428
+ },
8429
+ {
8430
+ "path": "presentation.lighting.get",
8431
+ "namespace": "presentation.lighting",
8432
+ "summary": "Read the lighting: realistic rendering and whether it can be turned on, the preset, who aims the sun and where it points, the environment, exposure, the atmosphere (including cloud shapes), the solar time and the interior light.",
8433
+ "examplePrompts": [
8434
+ "Is realistic rendering on?",
8435
+ "Can I turn on the realistic view?",
8436
+ "Which lighting preset is active?",
8437
+ "Are clouds showing in the sky?\n\n# Example\n```ts\nconst { realistic, realisticAvailable, preset, atmosphere } =\nawait snaptrude.presentation.lighting.get()\n```"
8438
+ ],
8439
+ "argsType": null,
8440
+ "resultType": "PluginPresentationLightingState"
8441
+ },
8442
+ {
8443
+ "path": "presentation.lighting.listPresets",
8444
+ "namespace": "presentation.lighting",
8445
+ "summary": "List the lighting presets with their sun placement and light levels.",
8446
+ "examplePrompts": [
8447
+ "What lighting presets are there?",
8448
+ "List the sun presets for renders",
8449
+ "Which preset gives a low golden-hour sun?\n\n# Example\n```ts\nconst presets = await snaptrude.presentation.lighting.listPresets()\nconsole.log(presets.map((preset) => `${preset.id}: ${preset.elevationDeg}°`))\n```"
8450
+ ],
8451
+ "argsType": null,
8452
+ "resultType": "PluginPresentationLightingPreset[]"
8453
+ },
8454
+ {
8455
+ "path": "presentation.lighting.set",
8456
+ "namespace": "presentation.lighting",
8457
+ "summary": "Change the environment, exposure, atmosphere, solar time and/or interior light. Omitted properties keep their value; within `atmosphere` and `interior` a `null` puts a setting's default back.",
8458
+ "examplePrompts": [
8459
+ "Add clouds to the sky",
8460
+ "Remove the clouds from the render",
8461
+ "Use the procedural sky for lighting",
8462
+ "Make the render half a stop brighter",
8463
+ "Make the sky hazy",
8464
+ "Set the sun to 4 pm on 21 June\n\n# Example\n```ts\nawait snaptrude.presentation.lighting.set({\nenvironment: \"procedural\",\natmosphere: { clouds: true, turbidity: 3 },\n})\n```"
8465
+ ],
8466
+ "argsType": "PluginPresentationLightingSetArgs",
8467
+ "resultType": "PluginPresentationLightingState"
8468
+ },
8332
8469
  {
8333
8470
  "path": "presentation.placedViews.deleteShapes",
8334
8471
  "namespace": "presentation.placedViews",
@@ -116,6 +116,9 @@ export type PluginCreateFloorItems = z.infer<typeof PluginCreateFloorItems>;
116
116
  * Values are evaluated before cutting. Numeric lengths use SU; unit strings
117
117
  * are accepted in values. `facing` selects local +Z; `hinge` sets the declared
118
118
  * hand enum (left = local -X, right = +X). Both are world points.
119
+ * A door between a room and a corridor, lobby or hall swings into the room:
120
+ * pass `facing` inside the room it serves, never in the corridor. Toilets,
121
+ * cupboards, shafts and exits on an escape route open outward instead.
119
122
  *
120
123
  * | Property | Type | Description |
121
124
  * |---|---|---|
@@ -124,7 +127,7 @@ export type PluginCreateFloorItems = z.infer<typeof PluginCreateFloorItems>;
124
127
  * | `values` | `Record<string, number \| string>`? | Authored parameter overrides |
125
128
  * | `hostWall` | {@linkcode ComponentHandle} | The wall to host the door |
126
129
  * | `position` | {@linkcode Vec3Handle} | World point projected onto the wall |
127
- * | `facing` | {@linkcode Vec3Handle}? | World point on the side the door swings open to (default engine-chosen) |
130
+ * | `facing` | {@linkcode Vec3Handle}? | World point on the side the door swings open to: inside the room it serves (default engine-chosen) |
128
131
  * | `hinge` | {@linkcode Vec3Handle}? | World point near the hinged jamb; requires hand control |
129
132
  * | `label` | `string`? | Instance name (optional) |
130
133
  * | `width` | `number`? | Declared width parameter (SU, > 0), not evaluated hole width |
@@ -1 +1 @@
1
- {"version":3,"file":"bulk-items.d.ts","sourceRoot":"","sources":["../../../../src/api/design/create/bulk-items.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EACL,eAAe,EAIhB,MAAM,kBAAkB,CAAA;AAKzB;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,OAAO,CAAA;AAM7C;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB;;;kBA0B7B,CAAA;AACJ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAMvE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;iBASlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,gFAAgF;AAChF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;kBAGJ,CAAA;AACjC,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAM/E;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB;;;;kBAGF,CAAA;AACjC,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAM3E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;kBAEtB,CAAA;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB;;;;;;;;;;;mBAGD,CAAA;AACjC,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;kBAKxB,CAAA;AACX,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;mBAGH,CAAA;AACjC,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAM7E;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,yBAAyB;;;;;iBAKpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;kBAGN,CAAA;AACjC,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;kBAKtB,CAAA;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,sHAAsH;AACtH,eAAO,MAAM,qBAAqB;;;mBAGD,CAAA;AACjC,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
1
+ {"version":3,"file":"bulk-items.d.ts","sourceRoot":"","sources":["../../../../src/api/design/create/bulk-items.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EACL,eAAe,EAIhB,MAAM,kBAAkB,CAAA;AAKzB;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,OAAO,CAAA;AAM7C;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB;;;kBA0B7B,CAAA;AACJ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAMvE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;iBASlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,gFAAgF;AAChF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;kBAGJ,CAAA;AACjC,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAM/E;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB;;;;kBAGF,CAAA;AACjC,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAM3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;kBAEtB,CAAA;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB;;;;;;;;;;;mBAGD,CAAA;AACjC,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;kBAKxB,CAAA;AACX,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;mBAGH,CAAA;AACjC,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAM7E;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,yBAAyB;;;;;iBAKpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;kBAGN,CAAA;AACjC,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;kBAKtB,CAAA;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,sHAAsH;AACtH,eAAO,MAAM,qBAAqB;;;mBAGD,CAAA;AACjC,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -145,6 +145,12 @@ export declare abstract class PluginDesignDoorsApi {
145
145
  * Read the saved hand parameter. left means local -X; right means local +X.
146
146
  * Returns null when the recipe does not declare that control.
147
147
  *
148
+ * Hand is the hinge side, not the room the leaf swings into. For that, read
149
+ * `(await design.validation.access()).topology.rooms[].doors[].opensInto`: a
150
+ * converted room or `"outside"`. A door whose wall is not a room edge is listed
151
+ * in `topology.unresolvedDoors` instead. To make it open into the other room,
152
+ * call {@linkcode mirror} (axis `x`) and read access again.
153
+ *
148
154
  * @param door The door to query
149
155
  * @returns `'left'` / `'right'`, or `null` if indeterminate
150
156
  *
@@ -152,12 +158,16 @@ export declare abstract class PluginDesignDoorsApi {
152
158
  * @examplePrompt Is the selected door left-handed or right-handed?
153
159
  * @examplePrompt Check the hinge side of this door
154
160
  * @examplePrompt Does the entrance door open to the left or the right?
161
+ * @examplePrompt Which room does this door open into?
155
162
  *
156
163
  * # Example
157
164
  * ```ts
158
165
  * const [door] = await snaptrude.design.query.listDoors({ isSelected: true })
159
166
  * const swing = await snaptrude.design.doors.getSwingDirection(door)
160
167
  * if (swing) console.log("opens as a", swing, "hand door")
168
+ * // Which room it opens into
169
+ * const { topology } = await snaptrude.design.validation.access()
170
+ * const side = topology.rooms.flatMap((r) => r.doors).find((d) => d.door === door)?.opensInto
161
171
  * ```
162
172
  */
163
173
  abstract getSwingDirection(door: ComponentHandle): PluginApiReturn<"left" | "right" | null>;
@@ -167,6 +177,8 @@ export declare abstract class PluginDesignDoorsApi {
167
177
  * Axis y rejects. No mesh reflection occurs. Recipes use outputs.swingSide
168
178
  * (1 or -1) for the adjoining room's floor ownership. A door between two
169
179
  * room floors requires this output; a missing or invalid report rejects the cut.
180
+ * The same side decides `opensInto` in `design.validation.access()`; read it
181
+ * there to confirm which room the door now opens into.
170
182
  *
171
183
  * @param door The door to mirror
172
184
  * @param axis Reflection axis (optional; default `'x'` — the swing-flip axis; `'z'` — the hinge-jamb axis)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/doors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/doors/index.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ import { PluginDesignEditApi } from "./edit";
15
15
  import { PluginDesignUpdateApi } from "./update";
16
16
  import { PluginDesignVisibilityApi } from "./visibility";
17
17
  import { PluginDesignDimensionsApi } from "./dimensions";
18
+ import { PluginDesignTextApi } from "./text";
18
19
  import { PluginDesignTypesApi } from "./types";
19
20
  import { PluginDesignFamilyApi } from "./family";
20
21
  import { PluginDesignGridsApi } from "./grids";
@@ -36,6 +37,7 @@ import { PluginElectricalApi, PluginPlumbingApi, PluginMechanicalApi } from "./n
36
37
  * - {@linkcode PluginDesignApi.delete} — hard entity removal
37
38
  * - {@linkcode PluginDesignApi.visibility} — hide / isolate / reveal entities
38
39
  * - {@linkcode PluginDesignApi.dimensions} — dimension lines (Measuring Tape): create / list / delete / hide
40
+ * - {@linkcode PluginDesignApi.text} — authored text and annotations (Text / Annotate tools): create / list / get / update / setLeader
39
41
  * - {@linkcode PluginDesignApi.types} — read-only building type / assembly reference
40
42
  * - {@linkcode PluginDesignApi.family} — author parametric families from a JSON spec
41
43
  * - {@linkcode PluginDesignApi.lock} / {@linkcode PluginDesignApi.unlock} / {@linkcode PluginDesignApi.isLocked} / {@linkcode PluginDesignApi.listLocked} — lock state (top-level design verbs, §2A.1)
@@ -74,6 +76,8 @@ export declare abstract class PluginDesignApi {
74
76
  abstract visibility: PluginDesignVisibilityApi;
75
77
  /** Dimension lines (Measuring Tape). See {@linkcode PluginDesignDimensionsApi}. */
76
78
  abstract dimensions: PluginDesignDimensionsApi;
79
+ /** Authored text and annotations (Text / Annotate tools). See {@linkcode PluginDesignTextApi}. */
80
+ abstract text: PluginDesignTextApi;
77
81
  /** Read-only building type / assembly reference. See {@linkcode PluginDesignTypesApi}. */
78
82
  abstract types: PluginDesignTypesApi;
79
83
  /** Author parametric families from a JSON spec. See {@linkcode PluginDesignFamilyApi}. */
@@ -267,6 +271,7 @@ export * from "./edit";
267
271
  export * from "./update";
268
272
  export * from "./visibility";
269
273
  export * from "./dimensions";
274
+ export * from "./text";
270
275
  export * from "./types";
271
276
  export * from "./family";
272
277
  export * from "./grids";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/design/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/design/index.ts"],"names":[],"mappings":"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"}