@snaptrude/plugin-core 0.9.8 → 0.9.9

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/AGENTS.md CHANGED
@@ -180,6 +180,10 @@ These are in-browser integration tests that exercise the plugin API end-to-end.
180
180
  | `entity/referenceLine.ts` | `tests/referenceLines.ts` |
181
181
  | `entity/department.ts` | `tests/departments.ts` |
182
182
  | `entity/buildableEnvelope.ts` | `tests/buildableEnvelope.ts` |
183
+ | `program/metadata.ts` | `tests/programMetadata.ts` |
184
+ | `program/labels.ts` | `tests/programLabels.ts` |
185
+ | `program/spreadsheet.ts` (custom sheets) | `tests/spreadsheetCustomSheets.ts` |
186
+ | `core/tags.ts` (`listForComponents`) | `tests/tagsBulk.ts` |
183
187
  | `tools/selection.ts` | `tests/selection.ts` |
184
188
  | `tools/transform.ts` | `tests/transform.ts` |
185
189
  | `tools/copy.ts` | `tests/copy.ts` |
package/CHANGELOG.md CHANGED
@@ -1,14 +1,15 @@
1
1
  # @snaptrude/plugin-core
2
2
 
3
- ## 0.9.8
3
+ ## 0.9.9
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - 7fd374e: Add `hinge` to `design.create.door` / `window` (in `options`), `doors[]` / `windows[]` items and `opening`: a world point near the jamb the leaf is hinged on; the placed item is reflected along the wall when the catalog item's authored hinge side would land on the other jamb — one undo entry, no extra command.
8
-
9
- **BEHAVIOUR FIX`facing`.** The host placed the swing on the side OPPOSITE the `facing` point (the interactive tool's cursor convention) while the contract said "the room it opens into". The host now matches the contract: the leaf swings open toward `facing`. Callers that passed a point on the room side get the documented result; nothing in the contract changed shape.
10
-
11
- `design.doors.getSwingDirection` is now derived from the placed mesh's orientation (hand as seen standing on the swing side facing the door); it previously read a scaling sign that placement never sets and reported `"left"` for every door. `mirror` axis docs now say what each axis does to a door (`'x'` swing side, `'z'` hinged jamb, `'y'` upside down); behaviour unchanged.
7
+ - Program-mode additions requested by the healthcare programming pilot (all additive; no signature changes):
8
+ - `program.metadata` — the Program Data sheet's custom columns and per-space values: `listHeaders`, `createHeader` (reuse-by-name), `get`, `list`, `update`, `updateMany`. Writes are undoable and work with the Program tab closed.
9
+ - `program.labels`the program rows (space types) with targets: `list`, `get`, `create` (optionally `createSpaces`), `setTargetArea`, `setTargetCount`. Covers "target area of non-departments": a space inherits its label's target; departments keep `program.departments.setTargetArea`.
10
+ - `program.spreadsheet` — custom program sheets with a group-by hierarchy: `createCustomSheet`, `updateCustomSheet`, `getCustomSheet`, `listCustomSheets`, `listCustomSheetProperties`.
11
+ - `core.tags.listForComponents(componentIds?)` every space's tags + colors in one round-trip.
12
+ - `program.departments` — `targetCount` on the department record and `setTargetCount(departmentId, targetCount)`, the count twin of `setTargetArea` (the engine stores both on the department, like on labels).
12
13
 
13
14
  ## 0.9.7
14
15
 
package/api-manifest.json CHANGED
@@ -4038,6 +4038,19 @@
4038
4038
  "argsType": "ComponentHandle",
4039
4039
  "resultType": "PluginCoreTagsGetTagsForComponentResult"
4040
4040
  },
4041
+ {
4042
+ "path": "core.tags.listForComponents",
4043
+ "namespace": "core.tags",
4044
+ "summary": "List the tags carried by many components in one call.",
4045
+ "examplePrompts": [
4046
+ "Get the tags of every space with their colors",
4047
+ "List the tags on all rooms so I can color them by Occupancy",
4048
+ "Which tag does each selected space carry?\n\n# Example\n```ts\nconst { components } = await snaptrude.core.tags.listForComponents()\nfor (const c of components) {\nconst occupancy = c.tags.find((t) => t.categoryName === \"Occupancy\")\nif (occupancy) paint(c.componentId, occupancy.color)\n}\n```"
4049
+ ],
4050
+ "argsType": "ComponentHandle[]",
4051
+ "resultType": "PluginCoreTagsListForComponentsResult",
4052
+ "performance": "One round-trip for any number of components — use this instead of a `listForComponent` loop."
4053
+ },
4041
4054
  {
4042
4055
  "path": "core.tags.unassign",
4043
4056
  "namespace": "core.tags",
@@ -7662,6 +7675,18 @@
7662
7675
  "argsType": "string",
7663
7676
  "resultType": "PluginProgramDepartmentsSetTargetAreaResult"
7664
7677
  },
7678
+ {
7679
+ "path": "program.departments.setTargetCount",
7680
+ "namespace": "program.departments",
7681
+ "summary": "Set a department's target unit count.",
7682
+ "examplePrompts": [
7683
+ "Set the Bedrooms department unit count to 12",
7684
+ "The program needs 4 clinic blocks — update the department count",
7685
+ "Update the target count for department dep_123\n\n# Example\n```ts\nawait snaptrude.program.departments.setTargetCount(\"dep_123\", 12)\n```"
7686
+ ],
7687
+ "argsType": "string",
7688
+ "resultType": "PluginProgramDepartmentsSetTargetCountResult"
7689
+ },
7665
7690
  {
7666
7691
  "path": "program.departments.unassign",
7667
7692
  "namespace": "program.departments",
@@ -7688,6 +7713,65 @@
7688
7713
  "argsType": "string",
7689
7714
  "resultType": "PluginProgramDepartmentsUpdateResult"
7690
7715
  },
7716
+ {
7717
+ "path": "program.labels.create",
7718
+ "namespace": "program.labels",
7719
+ "summary": "Create labels (program rows), optionally creating their spaces too.",
7720
+ "examplePrompts": [
7721
+ "Add program rows for 4 exam rooms of 120 sqft each",
7722
+ "Create the labels from this interpreted program",
7723
+ "Add an Office label with a 2000 sqft target to the Admin department",
7724
+ "Create program rows and their spaces on the canvas\n\n# Example\n```ts\nconst { labelIds } = await snaptrude.program.labels.create(\n[{ name: \"Exam Room\", targetArea: 480, targetCount: 4, departmentName: \"Clinic\" }],\n{ units: \"ft2\" },\n)\n```"
7725
+ ],
7726
+ "argsType": "PluginProgramLabelCreateItem[]",
7727
+ "resultType": "PluginProgramLabelsCreateResult"
7728
+ },
7729
+ {
7730
+ "path": "program.labels.get",
7731
+ "namespace": "program.labels",
7732
+ "summary": "Get a single label by id.",
7733
+ "examplePrompts": [
7734
+ "Get the label with id lbl_12",
7735
+ "What is the target area of this program row?\n\n# Example\n```ts\nconst label = await snaptrude.program.labels.get(\"lbl_12\")\nif (label) console.log(label.name, label.targetArea, label.units)\n```"
7736
+ ],
7737
+ "argsType": "string",
7738
+ "resultType": "PluginProgramLabelsGetResult"
7739
+ },
7740
+ {
7741
+ "path": "program.labels.list",
7742
+ "namespace": "program.labels",
7743
+ "summary": "List the labels (program rows) of the active program.",
7744
+ "examplePrompts": [
7745
+ "List all the program rows with their target areas",
7746
+ "What space labels are in the program and how many of each?",
7747
+ "Show every label with its department and target\n\n# Example\n```ts\nconst { units, labels } = await snaptrude.program.labels.list()\nfor (const l of labels) console.log(l.name, l.targetArea, units, l.targetCount)\n```"
7748
+ ],
7749
+ "argsType": null,
7750
+ "resultType": "PluginProgramLabelsListResult"
7751
+ },
7752
+ {
7753
+ "path": "program.labels.setTargetArea",
7754
+ "namespace": "program.labels",
7755
+ "summary": "Set a label's total target area.",
7756
+ "examplePrompts": [
7757
+ "Set the Exam Room target area to 480 sqft",
7758
+ "Give the Corridor program row a 150 sqm target",
7759
+ "Update the area target for label lbl_12\n\n# Example\n```ts\nawait snaptrude.program.labels.setTargetArea(\"lbl_12\", 480, \"ft2\")\n```"
7760
+ ],
7761
+ "argsType": "string",
7762
+ "resultType": "PluginProgramLabelsSetTargetAreaResult"
7763
+ },
7764
+ {
7765
+ "path": "program.labels.setTargetCount",
7766
+ "namespace": "program.labels",
7767
+ "summary": "Set a label's target unit count (how many of this space the program calls for).",
7768
+ "examplePrompts": [
7769
+ "Set the Exam Room count to 6",
7770
+ "The program needs 12 patient rooms — update the count\n\n# Example\n```ts\nawait snaptrude.program.labels.setTargetCount(\"lbl_12\", 6)\n```"
7771
+ ],
7772
+ "argsType": "string",
7773
+ "resultType": "PluginProgramLabelsSetTargetCountResult"
7774
+ },
7691
7775
  {
7692
7776
  "path": "program.layout.applySolution",
7693
7777
  "namespace": "program.layout",
@@ -7761,6 +7845,81 @@
7761
7845
  "argsType": null,
7762
7846
  "resultType": "PluginProgramLayoutStackResult"
7763
7847
  },
7848
+ {
7849
+ "path": "program.metadata.createHeader",
7850
+ "namespace": "program.metadata",
7851
+ "summary": "Create a metadata header (a custom column on the Program Data sheet).",
7852
+ "examplePrompts": [
7853
+ "Add a custom column called Occupancy to the program sheet",
7854
+ "Create a metadata header named Department Code",
7855
+ "Make a new program-mode column for Finish Level\n\n# Example\n```ts\nconst header = await snaptrude.program.metadata.createHeader(\"Occupancy\", {\ndescription: \"People per room\",\n})\n```"
7856
+ ],
7857
+ "argsType": "string",
7858
+ "resultType": "PluginProgramMetadataCreateHeaderResult"
7859
+ },
7860
+ {
7861
+ "path": "program.metadata.get",
7862
+ "namespace": "program.metadata",
7863
+ "summary": "Get one space's metadata values, keyed by header id.",
7864
+ "examplePrompts": [
7865
+ "Get the metadata on this space",
7866
+ "Read the custom column values for space sp_12",
7867
+ "What is this room's Occupancy metadata?\n\n# Example\n```ts\nconst record = await snaptrude.program.metadata.get(\"sp_12\")\nif (record) console.log(record.values)\n```"
7868
+ ],
7869
+ "argsType": "ComponentHandle",
7870
+ "resultType": "PluginProgramMetadataGetResult"
7871
+ },
7872
+ {
7873
+ "path": "program.metadata.list",
7874
+ "namespace": "program.metadata",
7875
+ "summary": "List metadata values for many spaces at once.",
7876
+ "examplePrompts": [
7877
+ "List the metadata of every space",
7878
+ "Read the custom column values for all rooms",
7879
+ "Get the metadata for these three spaces in one call\n\n# Example\n```ts\nconst { records } = await snaptrude.program.metadata.list()\nconst byId = Object.fromEntries(records.map((r) => [r.spaceId, r.values]))\n```"
7880
+ ],
7881
+ "argsType": "ComponentHandle[]",
7882
+ "resultType": "PluginProgramMetadataListResult",
7883
+ "performance": "One round-trip for any number of spaces — use this instead of a `get` loop."
7884
+ },
7885
+ {
7886
+ "path": "program.metadata.listHeaders",
7887
+ "namespace": "program.metadata",
7888
+ "summary": "List the metadata headers (custom columns) of the Program Data sheet.",
7889
+ "examplePrompts": [
7890
+ "List the custom metadata columns in program mode",
7891
+ "What metadata headers does the program sheet have?",
7892
+ "Show every custom column with its id\n\n# Example\n```ts\nconst { headers } = await snaptrude.program.metadata.listHeaders()\nfor (const h of headers) console.log(h.headerId, h.name)\n```"
7893
+ ],
7894
+ "argsType": null,
7895
+ "resultType": "PluginProgramMetadataListHeadersResult"
7896
+ },
7897
+ {
7898
+ "path": "program.metadata.update",
7899
+ "namespace": "program.metadata",
7900
+ "summary": "Update a space's metadata values (sparse).",
7901
+ "examplePrompts": [
7902
+ "Set the Occupancy metadata of this space to 4",
7903
+ "Store a department code on the selected rooms",
7904
+ "Write custom column values onto space sp_12",
7905
+ "Clear the Finish Level metadata on this space\n\n# Example\n```ts\nconst header = await snaptrude.program.metadata.createHeader(\"Occupancy\")\nawait snaptrude.program.metadata.update(\"sp_12\", { [header.headerId]: 4 })\n```"
7906
+ ],
7907
+ "argsType": "ComponentHandle",
7908
+ "resultType": "PluginProgramMetadataUpdateResult"
7909
+ },
7910
+ {
7911
+ "path": "program.metadata.updateMany",
7912
+ "namespace": "program.metadata",
7913
+ "summary": "Update metadata values on many spaces in one undoable step.",
7914
+ "examplePrompts": [
7915
+ "Fill the Occupancy column for all bedrooms",
7916
+ "Write metadata onto every selected space at once",
7917
+ "Bulk-update custom column values\n\n# Example\n```ts\nawait snaptrude.program.metadata.updateMany([\n{ spaceId: \"sp_12\", values: { [headerId]: 4 } },\n{ spaceId: \"sp_13\", values: { [headerId]: 2 } },\n])\n```"
7918
+ ],
7919
+ "argsType": "PluginProgramMetadataUpdateItem[]",
7920
+ "resultType": "PluginProgramMetadataUpdateManyResult",
7921
+ "performance": "One round-trip and one undo step for up to 1000 spaces — use this instead of an `update` loop."
7922
+ },
7764
7923
  {
7765
7924
  "path": "program.metrics.get",
7766
7925
  "namespace": "program.metrics",
@@ -7999,6 +8158,19 @@
7999
8158
  "argsType": "{\n name?: string\n }",
8000
8159
  "resultType": "PluginProgramSpreadsheetBindingsRefreshResult"
8001
8160
  },
8161
+ {
8162
+ "path": "program.spreadsheet.createCustomSheet",
8163
+ "namespace": "program.spreadsheet",
8164
+ "summary": "Create a **custom program sheet** — a live view of the program grouped by a configurable hierarchy (the Program tab's \"Custom\" sheet with *Organize → Group by*).",
8165
+ "examplePrompts": [
8166
+ "Create a custom sheet grouped by department then sub-department",
8167
+ "Make a program view grouped by storey and label",
8168
+ "Build a grouped program sheet for the healthcare hierarchy",
8169
+ "Add a custom sheet with a department → room type group-by\n\n# Example\n```ts\nconst { headers } = await snaptrude.program.metadata.listHeaders()\nconst subDept = headers.find((h) => h.name === \"Sub-department\")\nawait snaptrude.program.spreadsheet.createCustomSheet(\"Clinical Program\", {\ngroupBy: [\"departmentName\", subDept.headerId, \"label\"],\nproperties: [\"label\", \"count\", \"areas\", \"netAreaAchieved\"],\n})\n```"
8170
+ ],
8171
+ "argsType": "string",
8172
+ "resultType": "PluginProgramSpreadsheetCustomSheetResult"
8173
+ },
8002
8174
  {
8003
8175
  "path": "program.spreadsheet.createSheet",
8004
8176
  "namespace": "program.spreadsheet",
@@ -8064,6 +8236,17 @@
8064
8236
  "argsType": "{\n limit?: number\n }",
8065
8237
  "resultType": "PluginProgramSpreadsheetGetAuditLogResult"
8066
8238
  },
8239
+ {
8240
+ "path": "program.spreadsheet.getCustomSheet",
8241
+ "namespace": "program.spreadsheet",
8242
+ "summary": "Get a custom program sheet's configuration.",
8243
+ "examplePrompts": [
8244
+ "How is the Clinical Program sheet grouped?",
8245
+ "Get the group-by configuration of this custom sheet\n\n# Example\n```ts\nconst cfg = await snaptrude.program.spreadsheet.getCustomSheet(\"Clinical Program\")\nif (cfg) console.log(cfg.groupBy, cfg.properties)\n```"
8246
+ ],
8247
+ "argsType": "string",
8248
+ "resultType": "PluginProgramSpreadsheetGetCustomSheetResult"
8249
+ },
8067
8250
  {
8068
8251
  "path": "program.spreadsheet.getMaterialTakeoff",
8069
8252
  "namespace": "program.spreadsheet",
@@ -8130,6 +8313,28 @@
8130
8313
  "argsType": "string",
8131
8314
  "resultType": "PluginProgramSpreadsheetHighlightCellsResult"
8132
8315
  },
8316
+ {
8317
+ "path": "program.spreadsheet.listCustomSheetProperties",
8318
+ "namespace": "program.spreadsheet",
8319
+ "summary": "List the property ids a custom program sheet can show as columns or group by.",
8320
+ "examplePrompts": [
8321
+ "What can I group a custom program sheet by?",
8322
+ "List the columns available for a custom sheet\n\n# Example\n```ts\nconst { properties } = await snaptrude.program.spreadsheet.listCustomSheetProperties()\nconst groupable = properties.filter((p) => p.groupable).map((p) => p.id)\n```"
8323
+ ],
8324
+ "argsType": null,
8325
+ "resultType": "PluginProgramSpreadsheetListCustomSheetPropertiesResult"
8326
+ },
8327
+ {
8328
+ "path": "program.spreadsheet.listCustomSheets",
8329
+ "namespace": "program.spreadsheet",
8330
+ "summary": "List the custom program sheets in the workbook with their configurations.",
8331
+ "examplePrompts": [
8332
+ "List the custom program sheets",
8333
+ "Which sheets are grouped program views?\n\n# Example\n```ts\nconst { sheets } = await snaptrude.program.spreadsheet.listCustomSheets()\n```"
8334
+ ],
8335
+ "argsType": null,
8336
+ "resultType": "PluginProgramSpreadsheetListCustomSheetsResult"
8337
+ },
8133
8338
  {
8134
8339
  "path": "program.spreadsheet.listSheets",
8135
8340
  "namespace": "program.spreadsheet",
@@ -8306,6 +8511,18 @@
8306
8511
  "argsType": "PluginSpreadsheetTransactionOp[]",
8307
8512
  "resultType": "PluginProgramSpreadsheetTransactionResult"
8308
8513
  },
8514
+ {
8515
+ "path": "program.spreadsheet.updateCustomSheet",
8516
+ "namespace": "program.spreadsheet",
8517
+ "summary": "Update a custom program sheet's group-by hierarchy, columns, or group colors.",
8518
+ "examplePrompts": [
8519
+ "Change the custom sheet to group by storey first",
8520
+ "Add the Occupancy column to my grouped program sheet",
8521
+ "Regroup the Clinical Program sheet by department only\n\n# Example\n```ts\nawait snaptrude.program.spreadsheet.updateCustomSheet(\"Clinical Program\", {\ngroupBy: [\"storey\", \"departmentName\"],\n})\n```"
8522
+ ],
8523
+ "argsType": "string",
8524
+ "resultType": "PluginProgramSpreadsheetCustomSheetResult"
8525
+ },
8309
8526
  {
8310
8527
  "path": "workspace.closePresentMode",
8311
8528
  "namespace": "workspace",
@@ -145,6 +145,37 @@ export declare abstract class PluginCoreTagsApi {
145
145
  * ```
146
146
  */
147
147
  abstract listForComponent(componentId: ComponentHandle): PluginApiReturn<PluginCoreTagsGetTagsForComponentResult>;
148
+ /**
149
+ * List the tags carried by many components in one call.
150
+ *
151
+ * The plural of {@linkcode PluginCoreTagsApi.listForComponent}: pass
152
+ * `componentIds` to read specific components (unknown ids are skipped), or
153
+ * omit it to read **every** taggable component (Mass/Floor space) in the
154
+ * project. Each entry carries the component id and its tags — one per tagged
155
+ * category, with the tag's `color` — so a plugin can color every space by a
156
+ * chosen category's tag in a single round-trip.
157
+ *
158
+ * @param componentIds - Optional `Component.id`s to read; omit for all spaces.
159
+ * @returns A {@linkcode PluginCoreTagsListForComponentsResult} with a
160
+ * `components` array, one entry per component (in input order when
161
+ * `componentIds` is given).
162
+ *
163
+ * @performance One round-trip for any number of components — use this instead of a `listForComponent` loop.
164
+ *
165
+ * @examplePrompt Get the tags of every space with their colors
166
+ * @examplePrompt List the tags on all rooms so I can color them by Occupancy
167
+ * @examplePrompt Which tag does each selected space carry?
168
+ *
169
+ * # Example
170
+ * ```ts
171
+ * const { components } = await snaptrude.core.tags.listForComponents()
172
+ * for (const c of components) {
173
+ * const occupancy = c.tags.find((t) => t.categoryName === "Occupancy")
174
+ * if (occupancy) paint(c.componentId, occupancy.color)
175
+ * }
176
+ * ```
177
+ */
178
+ abstract listForComponents(componentIds?: ComponentHandle[]): PluginApiReturn<PluginCoreTagsListForComponentsResult>;
148
179
  /**
149
180
  * List the components carrying a given tag or category.
150
181
  *
@@ -546,6 +577,56 @@ export declare const PluginCoreTagsGetTagsForComponentResult: z.ZodObject<{
546
577
  }, z.core.$strip>>;
547
578
  }, z.core.$strip>;
548
579
  export type PluginCoreTagsGetTagsForComponentResult = z.infer<typeof PluginCoreTagsGetTagsForComponentResult>;
580
+ /**
581
+ * Arguments for {@linkcode PluginCoreTagsApi.listForComponents}.
582
+ *
583
+ * | Property | Type | Description |
584
+ * |---|---|---|
585
+ * | `componentIds` | `ComponentHandle[]?` | Components to read; omit for every taggable component |
586
+ */
587
+ export declare const PluginCoreTagsListForComponentsArgs: z.ZodObject<{
588
+ componentIds: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>>;
589
+ }, z.core.$strip>;
590
+ export type PluginCoreTagsListForComponentsArgs = z.infer<typeof PluginCoreTagsListForComponentsArgs>;
591
+ /**
592
+ * One component's tags, for {@linkcode PluginCoreTagsApi.listForComponents}.
593
+ *
594
+ * | Property | Type | Description |
595
+ * |---|---|---|
596
+ * | `componentId` | `ComponentHandle` | The component's id |
597
+ * | `tags` | {@linkcode PluginCoreComponentTag}`[]` | Its tags, one per tagged category (empty when none) |
598
+ */
599
+ export declare const PluginCoreComponentTags: z.ZodObject<{
600
+ componentId: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
601
+ tags: z.ZodArray<z.ZodObject<{
602
+ categoryId: z.ZodString;
603
+ categoryName: z.ZodString;
604
+ tagId: z.ZodString;
605
+ tagName: z.ZodString;
606
+ color: z.ZodString;
607
+ }, z.core.$strip>>;
608
+ }, z.core.$strip>;
609
+ export type PluginCoreComponentTags = z.infer<typeof PluginCoreComponentTags>;
610
+ /**
611
+ * Result of {@linkcode PluginCoreTagsApi.listForComponents}.
612
+ *
613
+ * | Property | Type | Description |
614
+ * |---|---|---|
615
+ * | `components` | {@linkcode PluginCoreComponentTags}`[]` | One entry per component |
616
+ */
617
+ export declare const PluginCoreTagsListForComponentsResult: z.ZodObject<{
618
+ components: z.ZodArray<z.ZodObject<{
619
+ componentId: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
620
+ tags: z.ZodArray<z.ZodObject<{
621
+ categoryId: z.ZodString;
622
+ categoryName: z.ZodString;
623
+ tagId: z.ZodString;
624
+ tagName: z.ZodString;
625
+ color: z.ZodString;
626
+ }, z.core.$strip>>;
627
+ }, z.core.$strip>>;
628
+ }, z.core.$strip>;
629
+ export type PluginCoreTagsListForComponentsResult = z.infer<typeof PluginCoreTagsListForComponentsResult>;
549
630
  /**
550
631
  * Arguments for {@linkcode PluginCoreTagsApi.listComponents}. Provide exactly one
551
632
  * of `tagId`, `categoryId`. `untagged` is valid only with `categoryId`.
@@ -1 +1 @@
1
- {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/api/core/tags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/api/core/tags.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { ComponentHandle } from "../../handles";
6
6
  * Program departments — read the department groupings of the active program.
7
7
  *
8
8
  * In program mode a **department** is a named, colored grouping of spaces with an
9
- * optional area **target**. This is the program-planning view of departments
9
+ * optional gross area **target** and a unit **count** target. This is the program-planning view of departments
10
10
  * (their identity, color, and target area); the underlying space geometry is read
11
11
  * and edited through the geometry namespaces, not here.
12
12
  *
@@ -180,6 +180,29 @@ export declare abstract class PluginProgramDepartmentsApi {
180
180
  * ```
181
181
  */
182
182
  abstract setTargetArea(departmentId: string, targetArea: number, units?: PluginAreaUnit): PluginApiReturn<PluginProgramDepartmentsSetTargetAreaResult>;
183
+ /**
184
+ * Set a department's target unit count.
185
+ *
186
+ * The number of units (program blocks) the department is planned for — the
187
+ * count twin of {@linkcode PluginProgramDepartmentsApi.setTargetArea}, stored
188
+ * beside the gross area target on the department. Read it back from
189
+ * {@linkcode PluginProgramDepartmentsApi.get} (`targetCount`).
190
+ *
191
+ * @param departmentId - The id of the department whose count to set.
192
+ * @param targetCount - The target number of units (a non-negative integer).
193
+ * @returns The updated {@linkcode PluginProgramDepartment} with its `units`.
194
+ * @throws If no department has the given id.
195
+ *
196
+ * @examplePrompt Set the Bedrooms department unit count to 12
197
+ * @examplePrompt The program needs 4 clinic blocks — update the department count
198
+ * @examplePrompt Update the target count for department dep_123
199
+ *
200
+ * # Example
201
+ * ```ts
202
+ * await snaptrude.program.departments.setTargetCount("dep_123", 12)
203
+ * ```
204
+ */
205
+ abstract setTargetCount(departmentId: string, targetCount: number): PluginApiReturn<PluginProgramDepartmentsSetTargetCountResult>;
183
206
  /**
184
207
  * Delete a department.
185
208
  *
@@ -213,13 +236,15 @@ export declare abstract class PluginProgramDepartmentsApi {
213
236
  * | `id` | `string` | Unique department id |
214
237
  * | `name` | `string` | Display name |
215
238
  * | `color` | `string` | CSS hex color string (e.g. `"#b5e1dc"`) |
216
- * | `targetArea` | `number \| null` | Target area in the response's `units`, or `null` if no target is set |
239
+ * | `targetArea` | `number \| null` | Gross target area in the response's `units`, or `null` if no target is set |
240
+ * | `targetCount` | `number` | Target number of units / program blocks (`0` when unset) |
217
241
  */
218
242
  export declare const PluginProgramDepartment: z.ZodObject<{
219
243
  id: z.ZodString;
220
244
  name: z.ZodString;
221
245
  color: z.ZodString;
222
246
  targetArea: z.ZodNullable<z.ZodNumber>;
247
+ targetCount: z.ZodNumber;
223
248
  }, z.core.$strip>;
224
249
  export type PluginProgramDepartment = z.infer<typeof PluginProgramDepartment>;
225
250
  /**
@@ -241,6 +266,7 @@ export declare const PluginProgramDepartmentsListResult: z.ZodObject<{
241
266
  name: z.ZodString;
242
267
  color: z.ZodString;
243
268
  targetArea: z.ZodNullable<z.ZodNumber>;
269
+ targetCount: z.ZodNumber;
244
270
  }, z.core.$strip>>;
245
271
  }, z.core.$strip>;
246
272
  export type PluginProgramDepartmentsListResult = z.infer<typeof PluginProgramDepartmentsListResult>;
@@ -265,6 +291,7 @@ export declare const PluginProgramDepartmentsGetResult: z.ZodNullable<z.ZodObjec
265
291
  name: z.ZodString;
266
292
  color: z.ZodString;
267
293
  targetArea: z.ZodNullable<z.ZodNumber>;
294
+ targetCount: z.ZodNumber;
268
295
  units: z.ZodEnum<{
269
296
  ft2: "ft2";
270
297
  m2: "m2";
@@ -281,6 +308,7 @@ export declare const PluginProgramDepartmentRecord: z.ZodObject<{
281
308
  name: z.ZodString;
282
309
  color: z.ZodString;
283
310
  targetArea: z.ZodNullable<z.ZodNumber>;
311
+ targetCount: z.ZodNumber;
284
312
  units: z.ZodEnum<{
285
313
  ft2: "ft2";
286
314
  m2: "m2";
@@ -330,6 +358,7 @@ export declare const PluginProgramDepartmentsUpdateResult: z.ZodObject<{
330
358
  name: z.ZodString;
331
359
  color: z.ZodString;
332
360
  targetArea: z.ZodNullable<z.ZodNumber>;
361
+ targetCount: z.ZodNumber;
333
362
  units: z.ZodEnum<{
334
363
  ft2: "ft2";
335
364
  m2: "m2";
@@ -398,12 +427,39 @@ export declare const PluginProgramDepartmentsSetTargetAreaResult: z.ZodObject<{
398
427
  name: z.ZodString;
399
428
  color: z.ZodString;
400
429
  targetArea: z.ZodNullable<z.ZodNumber>;
430
+ targetCount: z.ZodNumber;
401
431
  units: z.ZodEnum<{
402
432
  ft2: "ft2";
403
433
  m2: "m2";
404
434
  }>;
405
435
  }, z.core.$strip>;
406
436
  export type PluginProgramDepartmentsSetTargetAreaResult = z.infer<typeof PluginProgramDepartmentsSetTargetAreaResult>;
437
+ /**
438
+ * Arguments for {@linkcode PluginProgramDepartmentsApi.setTargetCount}.
439
+ *
440
+ * | Property | Type | Description |
441
+ * |---|---|---|
442
+ * | `departmentId` | `string` | The id of the department whose count to set |
443
+ * | `targetCount` | `number` | Target number of units (non-negative integer) |
444
+ */
445
+ export declare const PluginProgramDepartmentsSetTargetCountArgs: z.ZodObject<{
446
+ departmentId: z.ZodString;
447
+ targetCount: z.ZodNumber;
448
+ }, z.core.$strip>;
449
+ export type PluginProgramDepartmentsSetTargetCountArgs = z.infer<typeof PluginProgramDepartmentsSetTargetCountArgs>;
450
+ /** Result of {@linkcode PluginProgramDepartmentsApi.setTargetCount} — the updated record with `units`. */
451
+ export declare const PluginProgramDepartmentsSetTargetCountResult: z.ZodObject<{
452
+ id: z.ZodString;
453
+ name: z.ZodString;
454
+ color: z.ZodString;
455
+ targetArea: z.ZodNullable<z.ZodNumber>;
456
+ targetCount: z.ZodNumber;
457
+ units: z.ZodEnum<{
458
+ ft2: "ft2";
459
+ m2: "m2";
460
+ }>;
461
+ }, z.core.$strip>;
462
+ export type PluginProgramDepartmentsSetTargetCountResult = z.infer<typeof PluginProgramDepartmentsSetTargetCountResult>;
407
463
  /**
408
464
  * Arguments for {@linkcode PluginProgramDepartmentsApi.delete}.
409
465
  *
@@ -1 +1 @@
1
- {"version":3,"file":"departments.d.ts","sourceRoot":"","sources":["../../../src/api/program/departments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"departments.d.ts","sourceRoot":"","sources":["../../../src/api/program/departments.ts"],"names":[],"mappings":"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"}
@@ -7,21 +7,25 @@ import { PluginProgramSiteApi } from "./site";
7
7
  import { PluginProgramCoresApi } from "./cores";
8
8
  import { PluginProgramClassificationApi } from "./classification";
9
9
  import { PluginProgramAreasApi } from "./areas";
10
+ import { PluginProgramMetadataApi } from "./metadata";
11
+ import { PluginProgramLabelsApi } from "./labels";
10
12
  /**
11
13
  * Program-mode planning APIs.
12
14
  *
13
15
  * The program is the space-planning layer: department groupings with area targets,
14
- * the metrics that track allocated area against those targets, and the reports
15
- * that render program/takeoff data to spreadsheet sheets. Reads describe the
16
- * *plan* (intent + targets); the geometry that realizes the plan is authored
17
- * through the geometry namespaces.
16
+ * the labels (program rows) inside them, the metrics that track allocated area
17
+ * against those targets, and the reports that render program/takeoff data to
18
+ * spreadsheet sheets. Reads describe the *plan* (intent + targets); the geometry
19
+ * that realizes the plan is authored through the geometry namespaces.
18
20
  *
19
21
  * - {@linkcode PluginProgramApi.departments} — Read & edit program departments (groupings + targets)
22
+ * - {@linkcode PluginProgramApi.labels} — Read & edit program labels (program rows: per-type area/count targets)
23
+ * - {@linkcode PluginProgramApi.metadata} — Read & edit program metadata (custom columns) on spaces
20
24
  * - {@linkcode PluginProgramApi.adjacency} — Read & compute the department/space adjacency matrix
21
25
  * - {@linkcode PluginProgramApi.layout} — Arrange/pack spaces in the envelope
22
26
  * - {@linkcode PluginProgramApi.metrics} — Read the area-program summary
23
27
  * - {@linkcode PluginProgramApi.areas} — FAR / built-up-area rollup and groupings
24
- * - {@linkcode PluginProgramApi.spreadsheet} — Render program data to sheets and read it back
28
+ * - {@linkcode PluginProgramApi.spreadsheet} — Render program data to sheets, custom grouped sheets, read back
25
29
  * - {@linkcode PluginProgramApi.site} — Read site/plot context and read/update Site Analysis
26
30
  * - {@linkcode PluginProgramApi.cores} — Read & predicate vertical-circulation cores (reads only)
27
31
  * - {@linkcode PluginProgramApi.classification} — Classification catalog + display tags
@@ -31,6 +35,10 @@ import { PluginProgramAreasApi } from "./areas";
31
35
  export declare abstract class PluginProgramApi {
32
36
  /** Program departments — groupings, area targets, and space assignment. See {@linkcode PluginProgramDepartmentsApi}. */
33
37
  abstract departments: PluginProgramDepartmentsApi;
38
+ /** Program labels — the program rows with per-type area/count targets. See {@linkcode PluginProgramLabelsApi}. */
39
+ abstract labels: PluginProgramLabelsApi;
40
+ /** Program metadata — custom columns and their per-space values. See {@linkcode PluginProgramMetadataApi}. */
41
+ abstract metadata: PluginProgramMetadataApi;
34
42
  /** Adjacency matrix — read & compute proximity relationships. See {@linkcode PluginProgramAdjacencyApi}. */
35
43
  abstract adjacency: PluginProgramAdjacencyApi;
36
44
  /** Arrange/pack spaces in the envelope (async job family). See {@linkcode PluginProgramLayoutApi}. */
@@ -39,7 +47,7 @@ export declare abstract class PluginProgramApi {
39
47
  abstract metrics: PluginProgramMetricsApi;
40
48
  /** FAR / built-up-area rollup and groupings. See {@linkcode PluginProgramAreasApi}. */
41
49
  abstract areas: PluginProgramAreasApi;
42
- /** Spreadsheet reports — render tables to sheets, export, list, read back. See {@linkcode PluginProgramSpreadsheetApi}. */
50
+ /** Spreadsheet reports — render tables to sheets, custom grouped sheets, export, read back. See {@linkcode PluginProgramSpreadsheetApi}. */
43
51
  abstract spreadsheet: PluginProgramSpreadsheetApi;
44
52
  /** Site/plot context and persisted Site Analysis. See {@linkcode PluginProgramSiteApi}. */
45
53
  abstract site: PluginProgramSiteApi;
@@ -58,4 +66,6 @@ export * from "./site";
58
66
  export * from "./cores";
59
67
  export * from "./classification";
60
68
  export * from "./areas";
69
+ export * from "./metadata";
70
+ export * from "./labels";
61
71
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/program/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,8BAAsB,gBAAgB;IACpC,wHAAwH;IACxH,SAAgB,WAAW,EAAE,2BAA2B,CAAA;IACxD,4GAA4G;IAC5G,SAAgB,SAAS,EAAE,yBAAyB,CAAA;IACpD,sGAAsG;IACtG,SAAgB,MAAM,EAAE,sBAAsB,CAAA;IAC9C,iGAAiG;IACjG,SAAgB,OAAO,EAAE,uBAAuB,CAAA;IAChD,uFAAuF;IACvF,SAAgB,KAAK,EAAE,qBAAqB,CAAA;IAC5C,2HAA2H;IAC3H,SAAgB,WAAW,EAAE,2BAA2B,CAAA;IACxD,2FAA2F;IAC3F,SAAgB,IAAI,EAAE,oBAAoB,CAAA;IAC1C,yGAAyG;IACzG,SAAgB,KAAK,EAAE,qBAAqB,CAAA;IAC5C,qHAAqH;IACrH,SAAgB,cAAc,EAAE,8BAA8B,CAAA;;CAG/D;AAED,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/program/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,8BAAsB,gBAAgB;IACpC,wHAAwH;IACxH,SAAgB,WAAW,EAAE,2BAA2B,CAAA;IACxD,kHAAkH;IAClH,SAAgB,MAAM,EAAE,sBAAsB,CAAA;IAC9C,8GAA8G;IAC9G,SAAgB,QAAQ,EAAE,wBAAwB,CAAA;IAClD,4GAA4G;IAC5G,SAAgB,SAAS,EAAE,yBAAyB,CAAA;IACpD,sGAAsG;IACtG,SAAgB,MAAM,EAAE,sBAAsB,CAAA;IAC9C,iGAAiG;IACjG,SAAgB,OAAO,EAAE,uBAAuB,CAAA;IAChD,uFAAuF;IACvF,SAAgB,KAAK,EAAE,qBAAqB,CAAA;IAC5C,4IAA4I;IAC5I,SAAgB,WAAW,EAAE,2BAA2B,CAAA;IACxD,2FAA2F;IAC3F,SAAgB,IAAI,EAAE,oBAAoB,CAAA;IAC1C,yGAAyG;IACzG,SAAgB,KAAK,EAAE,qBAAqB,CAAA;IAC5C,qHAAqH;IACrH,SAAgB,cAAc,EAAE,8BAA8B,CAAA;;CAG/D;AAED,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}