@snaptrude/plugin-core 0.9.18-voids-20261016.1 → 0.10.0-pbr-20261021.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.
Files changed (43) hide show
  1. package/api-manifest.json +154 -7
  2. package/dist/api/core/storeys/index.d.ts +5 -2
  3. package/dist/api/core/storeys/index.d.ts.map +1 -1
  4. package/dist/api/design/bim.d.ts +91 -1
  5. package/dist/api/design/bim.d.ts.map +1 -1
  6. package/dist/api/design/create/index.d.ts +27 -1
  7. package/dist/api/design/create/index.d.ts.map +1 -1
  8. package/dist/api/design/dimensions.d.ts +2 -2
  9. package/dist/api/design/family.d.ts +28 -9
  10. package/dist/api/design/family.d.ts.map +1 -1
  11. package/dist/api/design/index.d.ts +5 -0
  12. package/dist/api/design/index.d.ts.map +1 -1
  13. package/dist/api/design/lights/index.d.ts +504 -0
  14. package/dist/api/design/lights/index.d.ts.map +1 -0
  15. package/dist/api/design/materials/index.d.ts +63 -7
  16. package/dist/api/design/materials/index.d.ts.map +1 -1
  17. package/dist/api/design/query/grids.d.ts +2 -2
  18. package/dist/api/design/update/index.d.ts +68 -3
  19. package/dist/api/design/update/index.d.ts.map +1 -1
  20. package/dist/api/design/windows/index.d.ts +34 -1
  21. package/dist/api/design/windows/index.d.ts.map +1 -1
  22. package/dist/api/entity/buildableEnvelope.d.ts +84 -2
  23. package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
  24. package/dist/api/presentation/views.d.ts +38 -3
  25. package/dist/api/presentation/views.d.ts.map +1 -1
  26. package/dist/index.cjs +2504 -2273
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.js +2481 -2273
  29. package/dist/index.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/api/core/storeys/index.ts +5 -2
  32. package/src/api/design/bim.ts +113 -24
  33. package/src/api/design/create/index.ts +30 -0
  34. package/src/api/design/family.ts +28 -9
  35. package/src/api/design/index.ts +5 -0
  36. package/src/api/design/lights/index.ts +406 -0
  37. package/src/api/design/materials/index.ts +58 -7
  38. package/src/api/design/update/index.ts +74 -2
  39. package/src/api/design/windows/index.ts +38 -1
  40. package/src/api/entity/buildableEnvelope.ts +77 -2
  41. package/src/api/presentation/views.ts +32 -3
  42. package/test/presentationViewSettings.test.mjs +85 -0
  43. package/api-manifest.full.json +0 -10406
package/api-manifest.json CHANGED
@@ -4242,7 +4242,7 @@
4242
4242
  {
4243
4243
  "path": "core.storeys.setActive",
4244
4244
  "namespace": "core.storeys",
4245
- "summary": "Make a storey the active storey — the same as clicking it in the storey/layer panel. Subsequent draws and creates target this storey, and in 2D the viewport switches to it. This is a view/navigation change: it is **not** undoable and commits nothing to the model.",
4245
+ "summary": "Make a storey the active storey — the same as clicking it in the storey/layer panel. Subsequent draws and creates target this storey, and in 2D the viewport switches to that storey's plan (and its cut range), unless the active view is already a plan on it. This is a view/navigation change: it is **not** undoable and commits nothing to the model.",
4246
4246
  "examplePrompts": [
4247
4247
  "Switch to the second floor",
4248
4248
  "Make the ground storey active",
@@ -4596,6 +4596,16 @@
4596
4596
  "argsType": "PluginBimPrepareArgs",
4597
4597
  "resultType": "PluginBimPreparation"
4598
4598
  },
4599
+ {
4600
+ "path": "design.bim.update",
4601
+ "namespace": "design.bim",
4602
+ "summary": "Add a partition graph with explicit connectivity and chosen wall families in one undo step. Validation is part of this call. PG2 splits intersections and generates floors with native lineage. Does not move/delete existing edges, infer face snapping, or change catalogue definitions.",
4603
+ "examplePrompts": [
4604
+ "Add bathroom partitions attached to these existing graph boundaries"
4605
+ ],
4606
+ "argsType": "string",
4607
+ "resultType": "PluginBimUpdateResult"
4608
+ },
4599
4609
  {
4600
4610
  "path": "design.boolean.intersect",
4601
4611
  "namespace": "design.boolean",
@@ -4695,6 +4705,17 @@
4695
4705
  "argsType": "PluginBuildableEnvelopePolygonVertex[]",
4696
4706
  "resultType": "PluginBuildableEnvelopeCreateResult"
4697
4707
  },
4708
+ {
4709
+ "path": "design.create.buildableEnvelopeFromSite",
4710
+ "namespace": "design.create",
4711
+ "summary": "Create a default buildable envelope for an existing site — the same as the right panel's \"Create Buildable Envelope\" button. Front, side and rear distances are seeded from Site Analysis or the Program sheet, with a 10 ft fallback, and the envelope is linked to the site. Call it only after the user agrees (for example when `design.update.siteEdge` throws `NO_BUILDABLE_ENVELOPE`).",
4712
+ "examplePrompts": [
4713
+ "Create a buildable envelope for this site with default setbacks",
4714
+ "Add the zoning envelope to my site\n\n# Example\n```ts\nconst [{ siteId }] = (await snaptrude.program.site.listEdges()).sites\nconst { buildableEnvelopeId } =\nawait snaptrude.design.create.buildableEnvelopeFromSite(siteId)\n```"
4715
+ ],
4716
+ "argsType": "string",
4717
+ "resultType": "PluginDesignCreateBuildableEnvelopeFromSiteResult"
4718
+ },
4698
4719
  {
4699
4720
  "path": "design.create.ceiling",
4700
4721
  "namespace": "design.create",
@@ -5471,7 +5492,7 @@
5471
5492
  {
5472
5493
  "path": "design.family.create",
5473
5494
  "namespace": "design.family",
5474
- "summary": "Save the prepared bundle to the library — the user's personal library unless `teamId` is given. {@linkcode PluginDesignFamilyApi.place} already saves generic components. Hosted doors/windows save without placement; they need a wall and position through `design.create.door` / `design.create.window`. For a non-hosted family with no placed instance, saving also drops one standalone sample at the current view centre on the active storey (`placed: true`). This includes architectural families: the sample does not assign a family to a native host.",
5495
+ "summary": "Save the prepared bundle to the library: the open project's team library in a team project, else the user's personal library. `teamId` picks another team, and `null` the personal library. {@linkcode PluginDesignFamilyApi.place} already saves generic components. Hosted doors/windows save without placement; they need a wall and position through `design.create.door` / `design.create.window`. For a non-hosted family with no placed instance, saving also drops one standalone sample at the current view centre on the active storey (`placed: true`). This includes architectural families: the sample does not assign a family to a native host.",
5475
5496
  "examplePrompts": [
5476
5497
  "Save this as a family called Vertical Louvre",
5477
5498
  "Add it to my library\n\n# Example\n```ts\nconst { definitionId } = await snaptrude.design.family.create({ name: \"Louvre Screen\" })\n```"
@@ -5594,7 +5615,7 @@
5594
5615
  "examplePrompts": [
5595
5616
  "Place it in the model",
5596
5617
  "Put a louvre screen at the origin",
5597
- "Copy that table two metres to the right\n\n# Example\n```ts\n// positioned — geometry exists when this resolves\nconst { component } = await snaptrude.design.family.place({\nid: \"revit:gypsum-stud-partition~90ad72\",\nposition: { x: 0, y: 0, z: 0 },\nrotation: 90,\n})\nawait snaptrude.design.transform.move([component], { x: 2, y: 0, z: 0 })\n\n// interactive — the user clicks\nawait snaptrude.design.family.place()\n\n// hosted — a door in a wall, near a point along it\nawait snaptrude.design.family.place({ id: doorId, host: wall, position: { x: 3, y: 0, z: 0 } })\n```"
5618
+ "Copy that table two metres to the right\n\n# Example\n```ts\n// positioned — geometry exists when this resolves\nconst { component } = await snaptrude.design.family.place({\nid: \"revit:gypsum-stud-partition~90ad72\",\nposition: { x: 0, y: 0, z: 0 },\nrotation: 90,\n})\nawait snaptrude.design.transform.move([component], { x: 2, y: 0, z: 0 })\n\n// on the first floor — position.y is an offset above storey 2's base\nawait snaptrude.design.family.place({ id: familyId, position: { x: 4, y: 0, z: 0 }, storey: 2 })\n\n// interactive — the user clicks\nawait snaptrude.design.family.place()\n\n// hosted — a door in a wall, near a point along it\nawait snaptrude.design.family.place({ id: doorId, host: wall, position: { x: 3, y: 0, z: 0 } })\n```"
5598
5619
  ],
5599
5620
  "argsType": "PluginDesignFamilyPlaceArgs",
5600
5621
  "resultType": "PluginFamilyPlaceResult"
@@ -5784,6 +5805,84 @@
5784
5805
  "argsType": "ComponentHandle",
5785
5806
  "resultType": "boolean"
5786
5807
  },
5808
+ {
5809
+ "path": "design.lights.effective",
5810
+ "namespace": "design.lights",
5811
+ "summary": "Read what a component lights the model with: its stored lights when it has a stored list (an empty one included), else the default lights of the light fitting it is (a floor lamp, a pendant, a downlight...), else none. Defaults are derived, never stored. Read-only.",
5812
+ "examplePrompts": [
5813
+ "Does this lamp light the room?",
5814
+ "What light does the pendant give off by default?",
5815
+ "Which lights in this room come from the fittings' defaults?",
5816
+ "Show the effective lighting of the selected fixture\n\n# Example\n```ts\nconst { source, fitting, lights } = await snaptrude.design.lights.effective(lamp)\nconsole.log(source, fitting, lights.length)\n```"
5817
+ ],
5818
+ "argsType": "ComponentHandle",
5819
+ "resultType": "PluginEffectiveLights"
5820
+ },
5821
+ {
5822
+ "path": "design.lights.get",
5823
+ "namespace": "design.lights",
5824
+ "summary": "Read the lights stored on a component, exactly as written (`[]` when it has none).",
5825
+ "examplePrompts": [
5826
+ "What lights does this lamp have?",
5827
+ "Show me the light settings on the pendant I just built",
5828
+ "Is there a light attached to this fixture?",
5829
+ "Read the lighting of the selected furniture\n\n# Example\n```ts\nconst lights = await snaptrude.design.lights.get(lamp)\nconsole.log(lights.map((l) => l.key))\n```"
5830
+ ],
5831
+ "argsType": "ComponentHandle",
5832
+ "resultType": "PluginFixtureLight[]"
5833
+ },
5834
+ {
5835
+ "path": "design.lights.list",
5836
+ "namespace": "design.lights",
5837
+ "summary": "List every component that has lights, with its lights. Disabled lights are included unless `includeDisabled` is `false`.",
5838
+ "examplePrompts": [
5839
+ "Which fixtures in the model have lights?",
5840
+ "List all the lamps that are switched on",
5841
+ "How many lights are in this project?",
5842
+ "Show every light fixture and its settings\n\n# Example\n```ts\nconst lit = await snaptrude.design.lights.list({ includeDisabled: false })\nconsole.log(lit.length, \"components are lighting the model\")\n```"
5843
+ ],
5844
+ "argsType": "PluginDesignLightsListOptions",
5845
+ "resultType": "PluginComponentLights[]"
5846
+ },
5847
+ {
5848
+ "path": "design.lights.reset",
5849
+ "namespace": "design.lights",
5850
+ "summary": "Remove all lights from the given components. Every component is checked first and recipe-owned fixture sources reject the entire batch before any component changes. nothing changes if any is invalid; components without lights are skipped. One undo step for the whole call.",
5851
+ "examplePrompts": [
5852
+ "Remove the lights from this fixture",
5853
+ "Clear all the lamps' lighting",
5854
+ "Take the light off the selected pendants",
5855
+ "Reset the lights on these components\n\n# Example\n```ts\nconst lit = await snaptrude.design.lights.list()\nawait snaptrude.design.lights.reset(lit.map((e) => e.component))\n```"
5856
+ ],
5857
+ "argsType": "ComponentHandle[]",
5858
+ "resultType": "PluginDesignChangeResult"
5859
+ },
5860
+ {
5861
+ "path": "design.lights.set",
5862
+ "namespace": "design.lights",
5863
+ "summary": "Replace a component's lights with `lights` (replace-all; `[]` removes them all). Recipe-owned fixture sources reject this operation; edit the family parameters instead. One undo step. Writing the list already stored does nothing. The whole list is validated first; on any problem nothing changes.",
5864
+ "examplePrompts": [
5865
+ "Add a warm 1600 lumen bulb to the pendant lamp",
5866
+ "Put a 38 degree downlight spot in this ceiling fixture",
5867
+ "Make this lamp glow at 3000K",
5868
+ "Give the table lamp a shadow-casting point light\n\n# Example\n```ts\nawait snaptrude.design.lights.set(pendant, [\n{\nkey: \"bulb\",\nkind: \"point\",\noffsetMeters: [0, -0.3, 0],\nintensity: { luminousFluxLm: 1600 },\ncolorTemperatureK: 2700,\n},\n])\n```"
5869
+ ],
5870
+ "argsType": "ComponentHandle",
5871
+ "resultType": "PluginDesignChangeResult"
5872
+ },
5873
+ {
5874
+ "path": "design.lights.setEnabled",
5875
+ "namespace": "design.lights",
5876
+ "summary": "Switch one light on or off without resending its description. One undo step; a no-op when it already has that state.",
5877
+ "examplePrompts": [
5878
+ "Turn off the bulb in this lamp",
5879
+ "Switch the downlight back on",
5880
+ "Dim the room by turning off the pendant light",
5881
+ "Toggle the lamp\n\n# Example\n```ts\nawait snaptrude.design.lights.setEnabled(pendant, \"bulb\", false)\n```"
5882
+ ],
5883
+ "argsType": "ComponentHandle",
5884
+ "resultType": "PluginDesignChangeResult"
5885
+ },
5787
5886
  {
5788
5887
  "path": "design.listAreaLocked",
5789
5888
  "namespace": "design",
@@ -5862,6 +5961,16 @@
5862
5961
  "argsType": "ComponentHandle",
5863
5962
  "resultType": "PluginMaterialResult"
5864
5963
  },
5964
+ {
5965
+ "path": "design.materials.applyToSlot",
5966
+ "namespace": "design.materials",
5967
+ "summary": "Paint only glazing or frame slots, never the whole window/door. This preserves clear panes when painting metal frames. Families change with their linked copies; legacy instanced types change every instance of that type. BREP components are refused (use applyToFaces), as are locked targets or locked linked/type members. Slot roles come from the authored appearance, not a previously applied paint. Always one undo step. Catalogue selectors use the exact listPresets name.",
5968
+ "examplePrompts": [
5969
+ "Paint only the window frames with a catalogue metal finish"
5970
+ ],
5971
+ "argsType": "ComponentHandle[]",
5972
+ "resultType": "PluginMaterialResult"
5973
+ },
5865
5974
  {
5866
5975
  "path": "design.materials.create",
5867
5976
  "namespace": "design.materials",
@@ -5870,7 +5979,8 @@
5870
5979
  "Create a new red material called Accent",
5871
5980
  "Make a material from this texture image URL",
5872
5981
  "Add a semi-transparent glass material to the project",
5873
- "Define a dark grey concrete finish I can reuse\n\n# Example\n```ts\nconst glass = await snaptrude.design.materials.create({ name: \"Frosted Glass\", color: \"#cfe4e8\", alpha: 0.4 })\nconst walls = await snaptrude.design.query.listWalls({ storeys: [1] })\nawait snaptrude.design.materials.apply(walls, glass)\n```"
5982
+ "Define a dark grey concrete finish I can reuse",
5983
+ "Make the lampshade a linen that glows when the lamp is on\n\n# Example\n```ts\nconst linen = await snaptrude.design.materials.create({ name: \"Linen Shade\", color: \"#efe6d4\", transmission: 0.3 })\nconst glass = await snaptrude.design.materials.create({ name: \"Frosted Glass\", color: \"#cfe4e8\", alpha: 0.4 })\nconst walls = await snaptrude.design.query.listWalls({ storeys: [1] })\nawait snaptrude.design.materials.apply(walls, glass)\n```"
5874
5984
  ],
5875
5985
  "argsType": "PluginMaterialSpec",
5876
5986
  "resultType": "MaterialHandle"
@@ -5994,7 +6104,7 @@
5994
6104
  {
5995
6105
  "path": "design.materials.listPresets",
5996
6106
  "namespace": "design.materials",
5997
- "summary": "List the preset material library — the catalog the app's material browser shows (the built-in finishes plus the workspace's uploaded materials), fetched from the material library service. Library entries are **not** scene materials and carry no {@linkcode MaterialHandle}; each is a named texture record. To use one, feed it to {@linkcode PluginDesignMaterialsApi.create} / {@linkcode PluginDesignMaterialsApi.apply} as a {@linkcode PluginMaterialSpec}: `{ name, textureUrl, materialType: category }`.",
6107
+ "summary": "List the preset material library — the catalog the app's material browser shows: the deployment PBR catalogue plus the server library and workspace uploads. Library entries are **not** scene materials and carry no {@linkcode MaterialHandle}. PBR names include an identity-qualified suffix `[catalogId@catalogVersion]`: preserve the EXACT returned name and pass `{ name: preset.name }` to create/apply. The host resolves all authored PBR maps, physical coverage and glass properties; do not strip the suffix, substitute an image-only finish, or override color/alpha. Scalar paints and clear glass can have an empty textureUrl and are still valid. For legacy image entries, feed the returned record to {@linkcode PluginDesignMaterialsApi.create} / {@linkcode PluginDesignMaterialsApi.apply} as a {@linkcode PluginMaterialSpec}: `{ name, textureUrl, materialType: category }`.",
5998
6108
  "examplePrompts": [
5999
6109
  "Show me the preset materials library",
6000
6110
  "What wood finishes are available in the material library?",
@@ -6993,6 +7103,18 @@
6993
7103
  "argsType": "ComponentHandle[]",
6994
7104
  "resultType": "PluginDesignChangeResult"
6995
7105
  },
7106
+ {
7107
+ "path": "design.update.siteEdge",
7108
+ "namespace": "design.update",
7109
+ "summary": "Change one site edge's type (front / side / rear) and/or give that edge its own setback distance, the same as editing a setback pill on the canvas. One undo step; the pills and Site Analysis sheet refresh.",
7110
+ "examplePrompts": [
7111
+ "Make edge 2 the front",
7112
+ "Set just the north edge setback to 8 m",
7113
+ "Remove the custom setback on edge 3\n\n# Example\n```ts\nconst [{ siteId }] = (await snaptrude.program.site.listEdges()).sites\nawait snaptrude.design.update.siteEdge(siteId, 2, { role: \"front\" })\nawait snaptrude.design.update.siteEdge(siteId, 3, { setback: 8, lengthUnit: \"m\" })\nawait snaptrude.design.update.siteEdge(siteId, 3, { setback: null })\n```"
7114
+ ],
7115
+ "argsType": "string",
7116
+ "resultType": "PluginDesignUpdateSiteEdgeResult"
7117
+ },
6996
7118
  {
6997
7119
  "path": "design.update.slab",
6998
7120
  "namespace": "design.update",
@@ -7219,6 +7341,26 @@
7219
7341
  "argsType": null,
7220
7342
  "resultType": "PluginObjectCatalogGroup[]"
7221
7343
  },
7344
+ {
7345
+ "path": "design.windows.setFrame",
7346
+ "namespace": "design.windows",
7347
+ "summary": "Paint only non-glazing slots (frames, sashes, hardware), never the clear panes. Scope, locking and undo match setGlazing and design.materials.applyToSlot.",
7348
+ "examplePrompts": [
7349
+ "Use brushed metal for this window's frame without changing the glass"
7350
+ ],
7351
+ "argsType": "ComponentHandle",
7352
+ "resultType": "PluginDesignChangeResult"
7353
+ },
7354
+ {
7355
+ "path": "design.windows.setGlazing",
7356
+ "namespace": "design.windows",
7357
+ "summary": "Paint only the window's authored glazing, preserving its frame. Families change with linked copies; legacy catalogue types change every instance of that type. Undoable; refuses locked linked/type members or out-of-proposal targets.",
7358
+ "examplePrompts": [
7359
+ "Use clear glass for this window without changing its frame"
7360
+ ],
7361
+ "argsType": "ComponentHandle",
7362
+ "resultType": "PluginDesignChangeResult"
7363
+ },
7222
7364
  {
7223
7365
  "path": "design.windows.setHeight",
7224
7366
  "namespace": "design.windows",
@@ -8906,7 +9048,9 @@
8906
9048
  "What color mode is the Ground Floor view using?",
8907
9049
  "Get the display settings for this view",
8908
9050
  "Does the site plan view show axes and labels?",
8909
- "Read the background color of the active view\n\n# Example\n```ts\nconst settings = await snaptrude.presentation.views.getSettings(\"view_123\")\nif (settings) console.log(settings.colorMode, settings.backgroundColor)\n```"
9051
+ "Read the background color of the active view",
9052
+ "What is the cut height of this plan?",
9053
+ "How deep does this plan look below the cut?\n\n# Example\n```ts\nconst settings = await snaptrude.presentation.views.getSettings(\"view_123\")\nif (settings) console.log(settings.colorMode, settings.backgroundColor)\n```"
8910
9054
  ],
8911
9055
  "argsType": "string",
8912
9056
  "resultType": "PluginPresentationViewsGetSettingsResult"
@@ -8960,7 +9104,10 @@
8960
9104
  "Set the background of the active view to white",
8961
9105
  "Show area labels on this view",
8962
9106
  "Enable hidden-line mode for the section view",
8963
- "Make the 3D view orthographic instead of perspective\n\n# Example\n```ts\nawait snaptrude.presentation.views.updateSettings(\"view_123\", {\ncolorMode: \"monochrome\",\nshowAxis: false,\n})\n// switch a 3D view to an isometric (orthographic) projection\nawait snaptrude.presentation.views.updateSettings(\"view_123\", {\nviewMode: \"isometric\",\n})\n```"
9107
+ "Make the 3D view orthographic instead of perspective",
9108
+ "Raise the cut plane of the Ground Floor plan to 1.8 m",
9109
+ "Show the basement below in this plan",
9110
+ "Hide the overhead objects in this plan\n\n# Example\n```ts\nawait snaptrude.presentation.views.updateSettings(\"view_123\", {\ncolorMode: \"monochrome\",\nshowAxis: false,\n})\n// switch a 3D view to an isometric (orthographic) projection\nawait snaptrude.presentation.views.updateSettings(\"view_123\", {\nviewMode: \"isometric\",\n})\n// set a plan's range: cut 1.2 m up, show the basement below, no overhead\nawait snaptrude.presentation.views.updateSettings(\"plan_1\", {\ncutPlaneHeight: 4.72,\nviewDepthStorey: -1,\nshowOverheadObjects: false,\n})\n```"
8964
9111
  ],
8965
9112
  "argsType": "string",
8966
9113
  "resultType": "PluginPresentationViewsUpdateSettingsResult"
@@ -165,12 +165,15 @@ export declare abstract class PluginCoreStoreysApi {
165
165
  /**
166
166
  * Make a storey the active storey — the same as clicking it in the storey/layer
167
167
  * panel. Subsequent draws and creates target this storey, and in 2D the
168
- * viewport switches to it. This is a view/navigation change: it is **not**
168
+ * viewport switches to that storey's plan (and its cut range), unless the
169
+ * active view is already a plan on it.
170
+ * This is a view/navigation change: it is **not**
169
171
  * undoable and commits nothing to the model.
170
172
  *
171
173
  * @param storyValue - Integer storey number to activate
172
174
  * @returns A {@linkcode PluginStorySetActiveResult} echoing the now-active `storyValue`
173
- * @throws `PRECONDITION_FAILED` if no storey has the given value
175
+ * @throws `PRECONDITION_FAILED` if no storey has the given value, or in 2D if
176
+ * the storey has no plan
174
177
  *
175
178
  * @examplePrompt Switch to the second floor
176
179
  * @examplePrompt Make the ground storey active
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/storeys/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EAEpB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AAErD;;;;;;;;;;;;;;;;;GAiBG;AACH,8BAAsB,oBAAoB;;IAGxC;;;;OAIG;IACH,SAAgB,MAAM,EAAE,0BAA0B,CAAA;IAElD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;aACa,GAAG,CACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,sBAAsB,EAAE,GACnC,eAAe,CAAC,oBAAoB,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,IAAI,IAAI,eAAe,CAAC,2BAA2B,CAAC;IAEpE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;OAYG;aACa,SAAS,IAAI,eAAe,CAAC,MAAM,CAAC;IAEpD;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,SAAS,CACvB,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,0BAA0B,CAAC;IAE9C;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;aACa,IAAI,CAClB,SAAS,EAAE,IAAI,GAAG,MAAM,EACxB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7D,eAAe,CAAC,0BAA0B,CAAC;CAC/C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B;;;;;;iBAEtC,CAAA;AAEF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,2BAA2B,CACnC,CAAA;AAED,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/storeys/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EAEpB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AAErD;;;;;;;;;;;;;;;;;GAiBG;AACH,8BAAsB,oBAAoB;;IAGxC;;;;OAIG;IACH,SAAgB,MAAM,EAAE,0BAA0B,CAAA;IAElD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;aACa,GAAG,CACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,sBAAsB,EAAE,GACnC,eAAe,CAAC,oBAAoB,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,IAAI,IAAI,eAAe,CAAC,2BAA2B,CAAC;IAEpE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;OAYG;aACa,SAAS,IAAI,eAAe,CAAC,MAAM,CAAC;IAEpD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,SAAS,CACvB,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,0BAA0B,CAAC;IAE9C;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;aACa,IAAI,CAClB,SAAS,EAAE,IAAI,GAAG,MAAM,EACxB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7D,eAAe,CAAC,0BAA0B,CAAC;CAC/C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B;;;;;;iBAEtC,CAAA;AAEF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,2BAA2B,CACnC,CAAA;AAED,cAAc,UAAU,CAAA"}
@@ -11,6 +11,8 @@ export type PluginBimContextArgs = z.infer<typeof PluginBimContextArgs>;
11
11
  */
12
12
  export declare const PluginBimEdge: z.ZodObject<{
13
13
  id: z.ZodString;
14
+ startNodeId: z.ZodNullable<z.ZodString>;
15
+ endNodeId: z.ZodNullable<z.ZodString>;
14
16
  startMm: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
15
17
  endMm: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
16
18
  lengthMm: z.ZodNumber;
@@ -37,8 +39,14 @@ export declare const PluginBimContext: z.ZodObject<{
37
39
  id: z.ZodString;
38
40
  spaces: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
39
41
  }, z.core.$strip>>;
42
+ nodes: z.ZodArray<z.ZodObject<{
43
+ id: z.ZodString;
44
+ positionMm: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
45
+ }, z.core.$strip>>;
40
46
  edges: z.ZodArray<z.ZodObject<{
41
47
  id: z.ZodString;
48
+ startNodeId: z.ZodNullable<z.ZodString>;
49
+ endNodeId: z.ZodNullable<z.ZodString>;
42
50
  startMm: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
43
51
  endMm: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
44
52
  lengthMm: z.ZodNumber;
@@ -184,7 +192,80 @@ export declare const PluginBimResult: z.ZodObject<{
184
192
  }, z.core.$strip>>;
185
193
  }, z.core.$strip>;
186
194
  export type PluginBimResult = z.infer<typeof PluginBimResult>;
187
- /** Agent-driven Sketch-to-BIM. Uses PG2 topology; never redraws routes or publishes library families. */
195
+ /** Plan-local vertex. Attach to a context node or to a fraction of a directed straight edge.
196
+ * New positions use world mm, Y-up. Attachments resolve on graph axes, not visible wall faces.
197
+ */
198
+ export declare const PluginBimUpdateNode: z.ZodUnion<readonly [z.ZodObject<{
199
+ id: z.ZodString;
200
+ positionMm: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
201
+ }, z.core.$strict>, z.ZodObject<{
202
+ id: z.ZodString;
203
+ attach: z.ZodObject<{
204
+ nodeId: z.ZodString;
205
+ }, z.core.$strict>;
206
+ }, z.core.$strict>, z.ZodObject<{
207
+ id: z.ZodString;
208
+ attach: z.ZodObject<{
209
+ edgeId: z.ZodString;
210
+ t: z.ZodNumber;
211
+ }, z.core.$strict>;
212
+ }, z.core.$strict>]>;
213
+ export type PluginBimUpdateNode = z.infer<typeof PluginBimUpdateNode>;
214
+ /** Additive partition graph, not replacement or raw PG2 CRUD. Endpoints reference plan-local nodes.
215
+ * Each free node must meet at least two planned walls; an open end requires an explicit attachment.
216
+ * Heights and positions use mm. All recipes, endpoints and revisions resolve before any mutation.
217
+ */
218
+ export declare const PluginBimUpdateGraph: z.ZodObject<{
219
+ revision: z.ZodString;
220
+ proposalId: z.ZodString;
221
+ nodes: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
222
+ id: z.ZodString;
223
+ positionMm: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
224
+ }, z.core.$strict>, z.ZodObject<{
225
+ id: z.ZodString;
226
+ attach: z.ZodObject<{
227
+ nodeId: z.ZodString;
228
+ }, z.core.$strict>;
229
+ }, z.core.$strict>, z.ZodObject<{
230
+ id: z.ZodString;
231
+ attach: z.ZodObject<{
232
+ edgeId: z.ZodString;
233
+ t: z.ZodNumber;
234
+ }, z.core.$strict>;
235
+ }, z.core.$strict>]>>;
236
+ walls: z.ZodArray<z.ZodObject<{
237
+ id: z.ZodString;
238
+ start: z.ZodString;
239
+ end: z.ZodString;
240
+ family: z.ZodUnion<readonly [z.ZodObject<{
241
+ id: z.ZodString;
242
+ version: z.ZodNumber;
243
+ }, z.core.$strict>, z.ZodString]>;
244
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>;
245
+ heightMm: z.ZodNumber;
246
+ reversed: z.ZodBoolean;
247
+ alignment: z.ZodLiteral<"coreCentre">;
248
+ }, z.core.$strict>>;
249
+ }, z.core.$strict>;
250
+ export type PluginBimUpdateGraph = z.infer<typeof PluginBimUpdateGraph>;
251
+ /** One native transaction. Regions are the final active-proposal regions, not predicted contours.
252
+ * Commands queue persistence; success is not a durable server-save acknowledgement.
253
+ */
254
+ export declare const PluginBimUpdateResult: z.ZodObject<{
255
+ created: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
256
+ updated: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
257
+ removed: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
258
+ walls: z.ZodArray<z.ZodObject<{
259
+ id: z.ZodString;
260
+ components: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
261
+ }, z.core.$strip>>;
262
+ regions: z.ZodArray<z.ZodObject<{
263
+ id: z.ZodString;
264
+ floor: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
265
+ }, z.core.$strip>>;
266
+ }, z.core.$strip>;
267
+ export type PluginBimUpdateResult = z.infer<typeof PluginBimUpdateResult>;
268
+ /** Agent-driven BIM construction and partition updates through native PG2 topology. */
188
269
  export declare abstract class PluginDesignBimApi {
189
270
  /** Read room adjacency and native conversion eligibility in the active proposal.
190
271
  * @param options Optional explicit spaces; filters edges but keeps adjacent room metadata.
@@ -205,5 +286,14 @@ export declare abstract class PluginDesignBimApi {
205
286
  * @examplePrompt Convert these sketch rooms to BIM with wall layers chosen for each room boundary
206
287
  */
207
288
  abstract create(preparationId: string): PluginApiReturn<PluginBimResult>;
289
+ /** Add a partition graph with explicit connectivity and chosen wall families in one undo step.
290
+ * Validation is part of this call. PG2 splits intersections and generates floors with native lineage.
291
+ * Does not move/delete existing edges, infer face snapping, or change catalogue definitions.
292
+ * @param graphJson JSON-encoded PluginBimUpdateGraph from the latest getContext revision.
293
+ * @returns Created/updated/removed components, wall mappings and resulting regions. Invalid or stale
294
+ * plans throw before mutation; failed construction rolls back. Read context after an unknown result.
295
+ * @examplePrompt Add bathroom partitions attached to these existing graph boundaries
296
+ */
297
+ abstract update(graphJson: string): PluginApiReturn<PluginBimUpdateResult>;
208
298
  }
209
299
  //# sourceMappingURL=bim.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bim.d.ts","sourceRoot":"","sources":["../../../src/api/design/bim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAOlD,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB;;kBAAmD,CAAA;AACpF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;iBAUxB,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEzD,wGAAwG;AACxG,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAGhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;kBAMzB,CAAA;AACX,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKtB,CAAA;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,uGAAuG;AACvG,eAAO,MAAM,oBAAoB;;;;;;;iBAI/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACvE,eAAO,MAAM,mBAAmB;;kBAA2C,CAAA;AAE3E;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;iBAK1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D,yGAAyG;AACzG,8BAAsB,kBAAkB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,eAAe,CAAC,gBAAgB,CAAC;IAEtF;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,eAAe,CAAC,oBAAoB,CAAC;IAEnF;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe,CAAC,eAAe,CAAC;CACzE"}
1
+ {"version":3,"file":"bim.d.ts","sourceRoot":"","sources":["../../../src/api/design/bim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAYlD,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB;;kBAEtB,CAAA;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;iBAYxB,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEzD,wGAAwG;AACxG,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgB3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAGhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;kBAQzB,CAAA;AACX,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAOtB,CAAA;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,uGAAuG;AACvG,eAAO,MAAM,oBAAoB;;;;;;;iBAI/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACvE,eAAO,MAAM,mBAAmB;;kBAA2C,CAAA;AAE3E;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;iBAK1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;oBAW9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuBtB,CAAA;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;iBAMhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,uFAAuF;AACvF,8BAAsB,kBAAkB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CACjB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,eAAe,CAAC,gBAAgB,CAAC;IAEpC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CACd,IAAI,EAAE,oBAAoB,GACzB,eAAe,CAAC,oBAAoB,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe,CAAC,eAAe,CAAC;IAExE;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC,qBAAqB,CAAC;CAC3E"}
@@ -3,7 +3,7 @@ import { PluginApiReturn } from "../../../types";
3
3
  import { BrepHandle, ComponentHandle, ContourHandle, LineHandle, CurveHandle, ProfileHandle, Vec3Handle } from "../../../handles";
4
4
  import { PluginGridStyleOptions } from "./grids";
5
5
  import { PluginSpaceType, PluginMassType, PluginDepartmentId } from "../../entity/space";
6
- import { PluginBuildableEnvelopePolygonVertex, PluginBuildableEnvelopeSetbackTier, PluginBuildableEnvelopeVerticalCap, PluginBuildableEnvelopeCreateResult } from "../../entity/buildableEnvelope";
6
+ import { PluginBuildableEnvelopePolygonVertex, PluginBuildableEnvelopeSetbackTier, PluginBuildableEnvelopeVerticalCap, PluginBuildableEnvelopeCreateResult, PluginDesignCreateBuildableEnvelopeFromSiteResult } from "../../entity/buildableEnvelope";
7
7
  import type { PluginCreateDoorItem, PluginCreateFloorItem, PluginCreateFurnitureItem, PluginCreateVoidItem, PluginCreateWallRunItem, PluginCreateWindowItem } from "./bulk-items";
8
8
  import { PluginWallTopProfile } from "./bulk-items";
9
9
  import { PluginWallType } from "../types";
@@ -1341,6 +1341,32 @@ export declare abstract class PluginDesignCreateApi {
1341
1341
  * ```
1342
1342
  */
1343
1343
  abstract buildableEnvelope(sitePolygon: PluginBuildableEnvelopePolygonVertex[], lengthUnit: "ft" | "m", setbacks: PluginBuildableEnvelopeSetbackTier[], verticalCap: PluginBuildableEnvelopeVerticalCap, floorToFloor: number, farRatio?: number, lotCoverageMaxPct?: number): PluginApiReturn<PluginBuildableEnvelopeCreateResult>;
1344
+ /**
1345
+ * Create a default buildable envelope for an existing site — the same as the
1346
+ * right panel's "Create Buildable Envelope" button. Front, side and rear
1347
+ * distances are seeded from Site Analysis or the Program sheet, with a 10 ft
1348
+ * fallback, and the envelope is linked to the site. Call it only after the
1349
+ * user agrees (for example when `design.update.siteEdge` throws
1350
+ * `NO_BUILDABLE_ENVELOPE`).
1351
+ *
1352
+ * @param siteId - Site component id, from `program.site.listEdges()`.
1353
+ * @returns A {@linkcode PluginDesignCreateBuildableEnvelopeFromSiteResult}
1354
+ * with the `buildableEnvelopeId` of the created envelope.
1355
+ * @throws `HANDLE_INVALID` for an unknown `siteId`. `PRECONDITION_FAILED`
1356
+ * (`details.reason: "SITE_HAS_ENVELOPE"`) when the site already has an
1357
+ * envelope.
1358
+ *
1359
+ * @examplePrompt Create a buildable envelope for this site with default setbacks
1360
+ * @examplePrompt Add the zoning envelope to my site
1361
+ *
1362
+ * # Example
1363
+ * ```ts
1364
+ * const [{ siteId }] = (await snaptrude.program.site.listEdges()).sites
1365
+ * const { buildableEnvelopeId } =
1366
+ * await snaptrude.design.create.buildableEnvelopeFromSite(siteId)
1367
+ * ```
1368
+ */
1369
+ abstract buildableEnvelopeFromSite(siteId: string): PluginApiReturn<PluginDesignCreateBuildableEnvelopeFromSiteResult>;
1344
1370
  }
1345
1371
  /**
1346
1372
  * Line style of a reference line (mirrors the engine `ReferenceLineMode` verbatim).
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/create/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/create/index.ts"],"names":[],"mappings":"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"}
@@ -260,8 +260,8 @@ export declare const PluginDimensionPlacement: z.ZodEnum<{
260
260
  x: "x";
261
261
  y: "y";
262
262
  z: "z";
263
- across: "across";
264
263
  none: "none";
264
+ across: "across";
265
265
  }>;
266
266
  export type PluginDimensionPlacement = z.infer<typeof PluginDimensionPlacement>;
267
267
  /**
@@ -308,8 +308,8 @@ export declare const PluginDimensionLine: z.ZodObject<{
308
308
  x: "x";
309
309
  y: "y";
310
310
  z: "z";
311
- across: "across";
312
311
  none: "none";
312
+ across: "across";
313
313
  }>;
314
314
  anchor: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
315
315
  anchorTo: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
@@ -12,6 +12,17 @@ import { NetworkFamilyContract } from "./networks";
12
12
  * compiles that into a live parametric definition the user can place, flex and
13
13
  * save to their library.
14
14
  *
15
+ * New light fittings use schema 1.2, category `Lighting Fixtures`, and
16
+ * `root.fixture.emitters`. A tube declaration generates its no-cap cylindrical emitting side
17
+ * and physical light together: key, kind:"tube", expression-valued center/axis/length/radius/
18
+ * luminousFluxLm, optional colorTemperatureK/enabled; optional numeric tint and material key.
19
+ * Read getReference() for exact grammar and a runnable example. A glowing finish alone is
20
+ * not an emitter and incomplete 1.2 fixture definitions fail before scene mutation. Existing
21
+ * 1.0/1.1 retain legacy semantics; changing only the marker is not a conversion.
22
+ * Per-instance lights.setEnabled overrides survive flex/save/reload; set/reset reject generated
23
+ * sources. Edit geometry/output using setParameters. V1 excludes end-cap emission, rectangles,
24
+ * elliptical/sheared transforms, and complete transport through a surrounding shade.
25
+ *
15
26
  * ## Generic component workflow
16
27
  *
17
28
  * ```
@@ -25,8 +36,9 @@ import { NetworkFamilyContract } from "./networks";
25
36
  * create({ teamId }) share with a team; a save with nothing placed also drops one instance
26
37
  * ```
27
38
  *
28
- * `place` saves the prepared family to the user's personal library, so it
29
- * survives reload with no extra step; finish a NEW generic component on
39
+ * `place` saves the prepared family to the library, so it survives reload with no extra step:
40
+ * the open project's team library in a team project, else the user's personal library
41
+ * (`teamId` picks another: a team's id, or `null` for the personal library); finish a NEW generic component on
30
42
  * `place`, not on `create` (`create` ends only an edit of a saved family, below).
31
43
  *
32
44
  * Architectural types use `create({ name })` to save the prepared recipe.
@@ -287,8 +299,9 @@ export declare abstract class PluginDesignFamilyApi {
287
299
  * Put a family into the model — either the prepared draft or any family from
288
300
  * {@linkcode PluginDesignFamilyApi.list}.
289
301
  *
290
- * Placing the prepared draft saves it to the user's personal library first,
291
- * so its instances survive reload.
302
+ * Placing the prepared draft saves it to the library first, so its instances survive
303
+ * reload: the open project's team library in a team project, else the user's personal
304
+ * library. `teamId` picks another (`null` is the personal library).
292
305
  *
293
306
  * Two modes, chosen by whether you pass `position`:
294
307
  *
@@ -329,6 +342,9 @@ export declare abstract class PluginDesignFamilyApi {
329
342
  * })
330
343
  * await snaptrude.design.transform.move([component], { x: 2, y: 0, z: 0 })
331
344
  *
345
+ * // on the first floor — position.y is an offset above storey 2's base
346
+ * await snaptrude.design.family.place({ id: familyId, position: { x: 4, y: 0, z: 0 }, storey: 2 })
347
+ *
332
348
  * // interactive — the user clicks
333
349
  * await snaptrude.design.family.place()
334
350
  *
@@ -425,8 +441,9 @@ export declare abstract class PluginDesignFamilyApi {
425
441
  */
426
442
  abstract setParameters(args: PluginDesignFamilySetParametersArgs): PluginApiReturn<PluginFamilyInstanceParameters>;
427
443
  /**
428
- * Save the prepared bundle to the library — the user's personal library
429
- * unless `teamId` is given. {@linkcode PluginDesignFamilyApi.place} already
444
+ * Save the prepared bundle to the library: the open project's team library in a team
445
+ * project, else the user's personal library. `teamId` picks another team, and `null` the
446
+ * personal library. {@linkcode PluginDesignFamilyApi.place} already
430
447
  * saves generic components. Hosted doors/windows save without placement;
431
448
  * they need a wall and position through `design.create.door` / `design.create.window`.
432
449
  * For a non-hosted family with no placed instance, saving also drops one
@@ -1325,11 +1342,11 @@ export interface PluginFamilyTemplateResult {
1325
1342
  * | Property | Type | Description |
1326
1343
  * |---|---|---|
1327
1344
  * | `name` | `string` | Library name; defaults to the spec's own label |
1328
- * | `teamId` | `string` | Team library to save into; omit for personal |
1345
+ * | `teamId` | `string \| null` | Library to save into: a team's id, or `null` for the personal library. Omit for the open project's team library (personal in a personal project) |
1329
1346
  */
1330
1347
  export declare const PluginDesignFamilyCreateArgs: z.ZodObject<{
1331
1348
  name: z.ZodOptional<z.ZodString>;
1332
- teamId: z.ZodOptional<z.ZodString>;
1349
+ teamId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1333
1350
  }, z.core.$strip>;
1334
1351
  export type PluginDesignFamilyCreateArgs = z.infer<typeof PluginDesignFamilyCreateArgs>;
1335
1352
  /**
@@ -1355,7 +1372,8 @@ export type PluginDesignFamilyDeleteArgs = z.infer<typeof PluginDesignFamilyDele
1355
1372
  * | `position` | `Vec3Handle` or `{ x, y, z }` | Place here in SU. Prefer a vec3 handle; coordinates remain for existing callers. Omit to arm the cursor |
1356
1373
  * | `rotation` | `number` | Yaw in degrees about +Y. Only with `position` |
1357
1374
  * | `values` | `Record<string, number \| string>` | Parameter values for THIS instance |
1358
- * | `storey` | `number` | Storey to place on; defaults to the active one |
1375
+ * | `storey` | `number` | Target storey (integer: 1 ground, 2 first floor, -1 basement; must already exist). The family is lifted to that storey's base and `position.y` is an offset above it, like `design.create.walls`. Without it, `position` is absolute and the storey is derived from where the family's geometry sits. Ignored with `host`: a hosted family follows its host |
1376
+ * | `teamId` | `string \| null` | Library an unsaved draft saves to before it is placed: a team's id, or `null` for the personal library. Omit for the open project's team library (personal in a personal project). Ignored for a family already in a library |
1359
1377
  */
1360
1378
  export declare const PluginDesignFamilyPlaceArgs: z.ZodObject<{
1361
1379
  id: z.ZodOptional<z.ZodString>;
@@ -1369,6 +1387,7 @@ export declare const PluginDesignFamilyPlaceArgs: z.ZodObject<{
1369
1387
  values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
1370
1388
  storey: z.ZodOptional<z.ZodNumber>;
1371
1389
  host: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
1390
+ teamId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1372
1391
  }, z.core.$strip>;
1373
1392
  export type PluginDesignFamilyPlaceArgs = z.infer<typeof PluginDesignFamilyPlaceArgs>;
1374
1393
  /**