@pascal-app/core 1.1.0 → 1.1.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 (124) hide show
  1. package/dist/agent-operations/__fixtures__/cases.d.ts +3 -2
  2. package/dist/agent-operations/__fixtures__/cases.d.ts.map +1 -1
  3. package/dist/agent-operations/__fixtures__/place-items-cases.d.ts.map +1 -1
  4. package/dist/agent-operations/__fixtures__/place-items-cases.js +28 -0
  5. package/dist/agent-operations/__fixtures__/roof-bearing-cases.d.ts +12209 -12209
  6. package/dist/agent-operations/asset-catalog.d.ts +21 -11
  7. package/dist/agent-operations/asset-catalog.d.ts.map +1 -1
  8. package/dist/agent-operations/asset-catalog.js +28 -10
  9. package/dist/agent-operations/asset-views.d.ts +8 -3
  10. package/dist/agent-operations/asset-views.d.ts.map +1 -1
  11. package/dist/agent-operations/asset-views.js +19 -3
  12. package/dist/agent-operations/batch.d.ts +7 -1
  13. package/dist/agent-operations/batch.d.ts.map +1 -1
  14. package/dist/agent-operations/batch.js +17 -2
  15. package/dist/agent-operations/catalog-asset.d.ts +15 -0
  16. package/dist/agent-operations/catalog-asset.d.ts.map +1 -0
  17. package/dist/agent-operations/catalog-asset.js +4 -0
  18. package/dist/agent-operations/circulation-spaces.d.ts +2963 -2963
  19. package/dist/agent-operations/design-brief.d.ts.map +1 -1
  20. package/dist/agent-operations/design-brief.js +2 -0
  21. package/dist/agent-operations/furnish-room.d.ts.map +1 -1
  22. package/dist/agent-operations/furnish-room.js +2 -1
  23. package/dist/agent-operations/index.d.ts +3 -0
  24. package/dist/agent-operations/index.d.ts.map +1 -1
  25. package/dist/agent-operations/index.js +4 -1
  26. package/dist/agent-operations/level-reads.d.ts.map +1 -1
  27. package/dist/agent-operations/level-reads.js +4 -1
  28. package/dist/agent-operations/place-in-room.d.ts.map +1 -1
  29. package/dist/agent-operations/place-in-room.js +2 -1
  30. package/dist/agent-operations/place-items.d.ts.map +1 -1
  31. package/dist/agent-operations/place-items.js +2 -1
  32. package/dist/agent-operations/scene-queries.d.ts +585 -585
  33. package/dist/agent-operations/scene-view.d.ts.map +1 -1
  34. package/dist/agent-operations/scene-view.js +38 -13
  35. package/dist/agent-operations/search-assets.d.ts.map +1 -1
  36. package/dist/agent-operations/search-assets.js +6 -0
  37. package/dist/agent-operations/types.d.ts +3 -2
  38. package/dist/agent-operations/types.d.ts.map +1 -1
  39. package/dist/agent-operations/usage-checks.js +18 -3
  40. package/dist/agent-tools/assets.js +1 -1
  41. package/dist/building/__fixtures__/wall-opening-cases.d.ts +234 -234
  42. package/dist/building/level-duplication.d.ts +3516 -3516
  43. package/dist/building/level-duplication.d.ts.map +1 -1
  44. package/dist/building/level-duplication.js +3 -1
  45. package/dist/building/wall-openings.d.ts +75 -75
  46. package/dist/commands/structure/shared.d.ts +3407 -3407
  47. package/dist/commands/structure/zone-wall-merge.d.ts +566 -566
  48. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +585 -585
  49. package/dist/index.d.ts +2 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +2 -0
  52. package/dist/lib/__fixtures__/mezzanine.d.ts +9262 -9262
  53. package/dist/lib/absorb-wall-separators.d.ts +1344 -1344
  54. package/dist/lib/asset-storage.d.ts.map +1 -1
  55. package/dist/lib/asset-storage.js +3 -0
  56. package/dist/lib/floor-foundation-datum.d.ts.map +1 -1
  57. package/dist/lib/floor-foundation-datum.js +5 -1
  58. package/dist/lib/floorplan/context.d.ts +95 -0
  59. package/dist/lib/floorplan/context.d.ts.map +1 -0
  60. package/dist/lib/floorplan/context.js +155 -0
  61. package/dist/lib/floorplan/index.d.ts +6 -0
  62. package/dist/lib/floorplan/index.d.ts.map +1 -0
  63. package/dist/lib/floorplan/index.js +5 -0
  64. package/dist/lib/floorplan/marks.d.ts +71 -0
  65. package/dist/lib/floorplan/marks.d.ts.map +1 -0
  66. package/dist/lib/floorplan/marks.js +157 -0
  67. package/dist/lib/floorplan/plan-math.d.ts +18 -0
  68. package/dist/lib/floorplan/plan-math.d.ts.map +1 -0
  69. package/dist/lib/floorplan/plan-math.js +82 -0
  70. package/dist/lib/floorplan/svg-paths.d.ts +17 -0
  71. package/dist/lib/floorplan/svg-paths.d.ts.map +1 -0
  72. package/dist/lib/floorplan/svg-paths.js +92 -0
  73. package/dist/lib/floorplan/wall-affordances.d.ts +31 -0
  74. package/dist/lib/floorplan/wall-affordances.d.ts.map +1 -0
  75. package/dist/lib/floorplan/wall-affordances.js +24 -0
  76. package/dist/registry/__fixtures__/roof-planes.d.ts +69 -0
  77. package/dist/registry/__fixtures__/roof-planes.d.ts.map +1 -0
  78. package/dist/registry/__fixtures__/roof-planes.js +59 -0
  79. package/dist/registry/index.d.ts +2 -1
  80. package/dist/registry/index.d.ts.map +1 -1
  81. package/dist/registry/index.js +1 -0
  82. package/dist/registry/roofs.d.ts +34 -0
  83. package/dist/registry/roofs.d.ts.map +1 -0
  84. package/dist/registry/roofs.js +61 -0
  85. package/dist/registry/types.d.ts +30 -0
  86. package/dist/registry/types.d.ts.map +1 -1
  87. package/dist/registry/validate-relations.d.ts +5 -1
  88. package/dist/registry/validate-relations.d.ts.map +1 -1
  89. package/dist/registry/validate-relations.js +6 -2
  90. package/dist/schema/asset-url.d.ts +8 -0
  91. package/dist/schema/asset-url.d.ts.map +1 -1
  92. package/dist/schema/asset-url.js +17 -0
  93. package/dist/schema/nodes/roof.d.ts +1 -1
  94. package/dist/schema/nodes/roof.d.ts.map +1 -1
  95. package/dist/schema/nodes/roof.js +13 -8
  96. package/dist/schema/types.d.ts +1 -1
  97. package/dist/services/roof-level.d.ts.map +1 -1
  98. package/dist/services/roof-level.js +12 -2
  99. package/dist/services/roof-move.d.ts +4 -2
  100. package/dist/services/roof-move.d.ts.map +1 -1
  101. package/dist/services/roof-move.js +21 -9
  102. package/dist/spatial/usage-field/findings.d.ts +7 -1
  103. package/dist/spatial/usage-field/findings.d.ts.map +1 -1
  104. package/dist/spatial/usage-field/findings.js +42 -10
  105. package/dist/spatial/usage-field/path.d.ts.map +1 -1
  106. package/dist/spatial/usage-field/path.js +28 -18
  107. package/dist/store/actions/node-actions.d.ts +1641 -1641
  108. package/dist/store/scene-annotations.d.ts +1778 -1778
  109. package/dist/systems/document-reconcile.d.ts.map +1 -1
  110. package/dist/systems/document-reconcile.js +1 -2
  111. package/dist/systems/roof/roof-elevation.d.ts +11 -6
  112. package/dist/systems/roof/roof-elevation.d.ts.map +1 -1
  113. package/dist/systems/roof/roof-elevation.js +24 -11
  114. package/dist/systems/slab/__fixtures__/floor-step.d.ts +1622 -1622
  115. package/dist/systems/slab/__fixtures__/raised-room.d.ts +585 -585
  116. package/dist/systems/stair/stair-opening-preview.d.ts +1919 -1919
  117. package/dist/utils/ensure-scene-openings.d.ts +3409 -3409
  118. package/dist/utils/floor-plate-migration.d.ts +1344 -1344
  119. package/dist/utils/owned-floor-opening-migration.d.ts +1344 -1344
  120. package/dist/utils/reconcile-structure-on-load.d.ts +1641 -1641
  121. package/dist/utils/scene-bounds.d.ts +32 -0
  122. package/dist/utils/scene-bounds.d.ts.map +1 -0
  123. package/dist/utils/scene-bounds.js +201 -0
  124. package/package.json +1 -1
@@ -33,6 +33,234 @@ export declare const OPENING_SCENE: {
33
33
  export declare function openingScene(): {
34
34
  nodes: {
35
35
  [k: string]: {
36
+ object: "node";
37
+ name?: string | undefined;
38
+ parentId: string | null;
39
+ visible: boolean;
40
+ camera?: {
41
+ position: [number, number, number];
42
+ target: [number, number, number];
43
+ mode: "orthographic" | "perspective";
44
+ fov?: number | undefined;
45
+ zoom?: number | undefined;
46
+ } | undefined;
47
+ metadata: Record<string, unknown>;
48
+ provenance?: {
49
+ refs: {
50
+ ns?: string | undefined;
51
+ id: string;
52
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
53
+ }[];
54
+ lineage?: {
55
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
56
+ fromIds: string[];
57
+ } | undefined;
58
+ } | undefined;
59
+ id: `door_${string}`;
60
+ type: "door";
61
+ material?: {
62
+ id?: string | undefined;
63
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
64
+ properties?: {
65
+ color: string;
66
+ roughness: number;
67
+ metalness: number;
68
+ opacity: number;
69
+ transparent: boolean;
70
+ side: "back" | "double" | "front";
71
+ } | undefined;
72
+ texture?: {
73
+ url: string;
74
+ repeat?: [number, number] | undefined;
75
+ scale?: number | undefined;
76
+ offset?: [number, number] | undefined;
77
+ normalMap?: string | undefined;
78
+ normalScale?: number | undefined;
79
+ bumpMap?: string | undefined;
80
+ bumpScale?: number | undefined;
81
+ } | undefined;
82
+ } | undefined;
83
+ slots?: Record<string, string> | undefined;
84
+ source?: {
85
+ kind: "script";
86
+ meta?: {
87
+ description?: string | undefined;
88
+ category?: string | undefined;
89
+ tags?: string[] | undefined;
90
+ parent?: string | undefined;
91
+ } | undefined;
92
+ language: "bpy" | "three";
93
+ script: string;
94
+ params: Record<string, string | number | boolean>;
95
+ artifact: string;
96
+ manifest: {
97
+ bounds: {
98
+ min: [number, number, number];
99
+ max: [number, number, number];
100
+ };
101
+ params: {
102
+ id: string;
103
+ label?: string | undefined;
104
+ kind: "boolean" | "number" | "string";
105
+ default: string | number | boolean;
106
+ min?: number | undefined;
107
+ max?: number | undefined;
108
+ step?: number | undefined;
109
+ unit?: string | undefined;
110
+ options?: string[] | undefined;
111
+ }[];
112
+ parts: {
113
+ id: string;
114
+ label?: string | undefined;
115
+ type?: string | undefined;
116
+ bounds?: {
117
+ min: [number, number, number];
118
+ max: [number, number, number];
119
+ } | undefined;
120
+ }[];
121
+ surfaces: {
122
+ part?: string | undefined;
123
+ y: number;
124
+ polygon: [number, number][];
125
+ }[];
126
+ slots: {
127
+ id: string;
128
+ label?: string | undefined;
129
+ color?: string | undefined;
130
+ roughness?: number | undefined;
131
+ metalness?: number | undefined;
132
+ transparent?: boolean | undefined;
133
+ emissive?: boolean | undefined;
134
+ }[];
135
+ anchors: {
136
+ id: string;
137
+ position: [number, number, number];
138
+ normal?: [number, number, number] | undefined;
139
+ }[];
140
+ lights: {
141
+ id: string;
142
+ position: [number, number, number];
143
+ color: string;
144
+ intensity: number;
145
+ distance?: number | undefined;
146
+ spot?: {
147
+ direction: [number, number, number];
148
+ angle: number;
149
+ softness: number;
150
+ } | undefined;
151
+ shadows?: boolean | undefined;
152
+ glow?: {
153
+ size: number;
154
+ strength: number;
155
+ } | undefined;
156
+ }[];
157
+ undersides: {
158
+ part?: string | undefined;
159
+ polygon: [number, number][];
160
+ plane: [number, number, number, number];
161
+ }[];
162
+ animations: {
163
+ name: string;
164
+ duration: number;
165
+ }[];
166
+ cutters?: {
167
+ host: "ceiling" | "mounted" | "slab" | "wall";
168
+ polygon: number[][];
169
+ minY: number;
170
+ maxY: number;
171
+ }[] | undefined;
172
+ cutout: boolean;
173
+ collider: boolean;
174
+ shape?: {
175
+ tolerance: number;
176
+ bands: {
177
+ y0: number;
178
+ y1: number;
179
+ polygons: {
180
+ outer: [number, number][];
181
+ holes?: [number, number][][] | undefined;
182
+ }[];
183
+ }[];
184
+ } | undefined;
185
+ triangles: number;
186
+ coverage?: number | undefined;
187
+ uncovered?: {
188
+ min: [number, number];
189
+ max: [number, number];
190
+ }[] | undefined;
191
+ };
192
+ images?: {
193
+ artifact: string;
194
+ thumbnail: string;
195
+ floorPlan: string;
196
+ } | undefined;
197
+ } | undefined;
198
+ position: [number, number, number];
199
+ rotation: [number, number, number];
200
+ side?: "back" | "front" | undefined;
201
+ verticalAnchor?: "floor" | "wall" | undefined;
202
+ floorThresholdVersion: 0 | 1;
203
+ wallId?: string | undefined;
204
+ roofSegmentId?: string | undefined;
205
+ roofFace?: "back" | "front" | "left" | "right" | undefined;
206
+ width: number;
207
+ height: number;
208
+ sidelightLeft?: number | undefined;
209
+ sidelightRight?: number | undefined;
210
+ transomHeight?: number | undefined;
211
+ slidingStyle?: "bypass" | "patio" | undefined;
212
+ mark?: string | undefined;
213
+ constructionType: "framed" | "masonry";
214
+ dimensionReference: "finish-opening" | "masonry-opening" | "nominal" | "rough-opening";
215
+ roughOpeningWidth?: number | undefined;
216
+ roughOpeningHeight?: number | undefined;
217
+ masonryOpeningWidth?: number | undefined;
218
+ masonryOpeningHeight?: number | undefined;
219
+ finishOpeningWidth?: number | undefined;
220
+ finishOpeningHeight?: number | undefined;
221
+ doorCategory: "garage" | "interior";
222
+ doorType: "barn" | "double" | "folding" | "french" | "garage-rollup" | "garage-sectional" | "garage-tiltup" | "hinged" | "pocket" | "sliding";
223
+ leafCount: 1 | 2 | 3 | 4 | 6 | 8;
224
+ operationState: number;
225
+ slideDirection: "left" | "right";
226
+ trackStyle: "none" | "overhead" | "pocket" | "visible";
227
+ garagePanelCount: number;
228
+ openingKind: "door" | "opening";
229
+ openingShape: "arch" | "rectangle" | "rounded";
230
+ openingRadiusMode: "all" | "individual";
231
+ openingTopRadii: [number, number];
232
+ cornerRadius: number;
233
+ archHeight: number;
234
+ openingRevealRadius: number;
235
+ frameThickness: number;
236
+ frameDepth?: number | undefined;
237
+ threshold: boolean;
238
+ thresholdHeight: number;
239
+ casingFaceA?: boolean | undefined;
240
+ casingFaceB?: boolean | undefined;
241
+ casingWidth?: number | undefined;
242
+ hingesSide: "left" | "right";
243
+ swingDirection: "inward" | "outward";
244
+ swingAngle: number;
245
+ segments: {
246
+ type: "empty" | "glass" | "panel";
247
+ heightRatio: number;
248
+ columnRatios: number[];
249
+ dividerThickness: number;
250
+ panelDepth: number;
251
+ panelInset: number;
252
+ }[];
253
+ handle: boolean;
254
+ handleStyle?: "bar" | "knob" | "lever" | "lever-curved" | "plate" | undefined;
255
+ handleHeight: number;
256
+ handleSide: "left" | "right";
257
+ contentPadding: [number, number];
258
+ doorCloser: boolean;
259
+ panicBar: boolean;
260
+ panicBarStyle: "crossbar" | "touchbar";
261
+ panicBarRods: boolean;
262
+ panicBarHeight: number;
263
+ } | {
36
264
  object: "node";
37
265
  name?: string | undefined;
38
266
  parentId: string | null;
@@ -772,36 +1000,6 @@ export declare function openingScene(): {
772
1000
  })[];
773
1001
  } | undefined;
774
1002
  };
775
- } | {
776
- object: "node";
777
- name?: string | undefined;
778
- parentId: string | null;
779
- visible: boolean;
780
- camera?: {
781
- position: [number, number, number];
782
- target: [number, number, number];
783
- mode: "orthographic" | "perspective";
784
- fov?: number | undefined;
785
- zoom?: number | undefined;
786
- } | undefined;
787
- metadata: Record<string, unknown>;
788
- provenance?: {
789
- refs: {
790
- ns?: string | undefined;
791
- id: string;
792
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
793
- }[];
794
- lineage?: {
795
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
796
- fromIds: string[];
797
- } | undefined;
798
- } | undefined;
799
- id: `level_${string}`;
800
- type: "level";
801
- children: (`beam_${string}` | `block_${string}` | `ceiling_${string}` | `column_${string}` | `construction-dimension_${string}` | `duct-fitting_${string}` | `duct-segment_${string}` | `duct-terminal_${string}` | `fence_${string}` | `floor-opening_${string}` | `guide_${string}` | `hvac-equipment_${string}` | `imesh_${string}` | `item_${string}` | `lineset_${string}` | `liquid-line_${string}` | `measurement_${string}` | `pipe-fitting_${string}` | `pipe-segment_${string}` | `pipe-trap_${string}` | `procedural-item_${string}` | `roof_${string}` | `scan_${string}` | `separator_${string}` | `shelf_${string}` | `slab_${string}` | `spawn_${string}` | `stair_${string}` | `structural-grid_${string}` | `wall_${string}` | `zone_${string}`)[];
802
- level: number;
803
- baseElevation: number;
804
- height?: number | undefined;
805
1003
  } | {
806
1004
  object: "node";
807
1005
  name?: string | undefined;
@@ -856,210 +1054,12 @@ export declare function openingScene(): {
856
1054
  fromIds: string[];
857
1055
  } | undefined;
858
1056
  } | undefined;
859
- id: `door_${string}`;
860
- type: "door";
861
- material?: {
862
- id?: string | undefined;
863
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
864
- properties?: {
865
- color: string;
866
- roughness: number;
867
- metalness: number;
868
- opacity: number;
869
- transparent: boolean;
870
- side: "back" | "double" | "front";
871
- } | undefined;
872
- texture?: {
873
- url: string;
874
- repeat?: [number, number] | undefined;
875
- scale?: number | undefined;
876
- offset?: [number, number] | undefined;
877
- normalMap?: string | undefined;
878
- normalScale?: number | undefined;
879
- bumpMap?: string | undefined;
880
- bumpScale?: number | undefined;
881
- } | undefined;
882
- } | undefined;
883
- slots?: Record<string, string> | undefined;
884
- source?: {
885
- kind: "script";
886
- meta?: {
887
- description?: string | undefined;
888
- category?: string | undefined;
889
- tags?: string[] | undefined;
890
- parent?: string | undefined;
891
- } | undefined;
892
- language: "bpy" | "three";
893
- script: string;
894
- params: Record<string, string | number | boolean>;
895
- artifact: string;
896
- manifest: {
897
- bounds: {
898
- min: [number, number, number];
899
- max: [number, number, number];
900
- };
901
- params: {
902
- id: string;
903
- label?: string | undefined;
904
- kind: "boolean" | "number" | "string";
905
- default: string | number | boolean;
906
- min?: number | undefined;
907
- max?: number | undefined;
908
- step?: number | undefined;
909
- unit?: string | undefined;
910
- options?: string[] | undefined;
911
- }[];
912
- parts: {
913
- id: string;
914
- label?: string | undefined;
915
- type?: string | undefined;
916
- bounds?: {
917
- min: [number, number, number];
918
- max: [number, number, number];
919
- } | undefined;
920
- }[];
921
- surfaces: {
922
- part?: string | undefined;
923
- y: number;
924
- polygon: [number, number][];
925
- }[];
926
- slots: {
927
- id: string;
928
- label?: string | undefined;
929
- color?: string | undefined;
930
- roughness?: number | undefined;
931
- metalness?: number | undefined;
932
- transparent?: boolean | undefined;
933
- emissive?: boolean | undefined;
934
- }[];
935
- anchors: {
936
- id: string;
937
- position: [number, number, number];
938
- normal?: [number, number, number] | undefined;
939
- }[];
940
- lights: {
941
- id: string;
942
- position: [number, number, number];
943
- color: string;
944
- intensity: number;
945
- distance?: number | undefined;
946
- spot?: {
947
- direction: [number, number, number];
948
- angle: number;
949
- softness: number;
950
- } | undefined;
951
- shadows?: boolean | undefined;
952
- glow?: {
953
- size: number;
954
- strength: number;
955
- } | undefined;
956
- }[];
957
- undersides: {
958
- part?: string | undefined;
959
- polygon: [number, number][];
960
- plane: [number, number, number, number];
961
- }[];
962
- animations: {
963
- name: string;
964
- duration: number;
965
- }[];
966
- cutters?: {
967
- host: "ceiling" | "mounted" | "slab" | "wall";
968
- polygon: number[][];
969
- minY: number;
970
- maxY: number;
971
- }[] | undefined;
972
- cutout: boolean;
973
- collider: boolean;
974
- shape?: {
975
- tolerance: number;
976
- bands: {
977
- y0: number;
978
- y1: number;
979
- polygons: {
980
- outer: [number, number][];
981
- holes?: [number, number][][] | undefined;
982
- }[];
983
- }[];
984
- } | undefined;
985
- triangles: number;
986
- coverage?: number | undefined;
987
- uncovered?: {
988
- min: [number, number];
989
- max: [number, number];
990
- }[] | undefined;
991
- };
992
- images?: {
993
- artifact: string;
994
- thumbnail: string;
995
- floorPlan: string;
996
- } | undefined;
997
- } | undefined;
998
- position: [number, number, number];
999
- rotation: [number, number, number];
1000
- side?: "back" | "front" | undefined;
1001
- verticalAnchor?: "floor" | "wall" | undefined;
1002
- floorThresholdVersion: 0 | 1;
1003
- wallId?: string | undefined;
1004
- roofSegmentId?: string | undefined;
1005
- roofFace?: "back" | "front" | "left" | "right" | undefined;
1006
- width: number;
1007
- height: number;
1008
- sidelightLeft?: number | undefined;
1009
- sidelightRight?: number | undefined;
1010
- transomHeight?: number | undefined;
1011
- slidingStyle?: "bypass" | "patio" | undefined;
1012
- mark?: string | undefined;
1013
- constructionType: "framed" | "masonry";
1014
- dimensionReference: "finish-opening" | "masonry-opening" | "nominal" | "rough-opening";
1015
- roughOpeningWidth?: number | undefined;
1016
- roughOpeningHeight?: number | undefined;
1017
- masonryOpeningWidth?: number | undefined;
1018
- masonryOpeningHeight?: number | undefined;
1019
- finishOpeningWidth?: number | undefined;
1020
- finishOpeningHeight?: number | undefined;
1021
- doorCategory: "garage" | "interior";
1022
- doorType: "barn" | "double" | "folding" | "french" | "garage-rollup" | "garage-sectional" | "garage-tiltup" | "hinged" | "pocket" | "sliding";
1023
- leafCount: 1 | 2 | 3 | 4 | 6 | 8;
1024
- operationState: number;
1025
- slideDirection: "left" | "right";
1026
- trackStyle: "none" | "overhead" | "pocket" | "visible";
1027
- garagePanelCount: number;
1028
- openingKind: "door" | "opening";
1029
- openingShape: "arch" | "rectangle" | "rounded";
1030
- openingRadiusMode: "all" | "individual";
1031
- openingTopRadii: [number, number];
1032
- cornerRadius: number;
1033
- archHeight: number;
1034
- openingRevealRadius: number;
1035
- frameThickness: number;
1036
- frameDepth?: number | undefined;
1037
- threshold: boolean;
1038
- thresholdHeight: number;
1039
- casingFaceA?: boolean | undefined;
1040
- casingFaceB?: boolean | undefined;
1041
- casingWidth?: number | undefined;
1042
- hingesSide: "left" | "right";
1043
- swingDirection: "inward" | "outward";
1044
- swingAngle: number;
1045
- segments: {
1046
- type: "empty" | "glass" | "panel";
1047
- heightRatio: number;
1048
- columnRatios: number[];
1049
- dividerThickness: number;
1050
- panelDepth: number;
1051
- panelInset: number;
1052
- }[];
1053
- handle: boolean;
1054
- handleStyle?: "bar" | "knob" | "lever" | "lever-curved" | "plate" | undefined;
1055
- handleHeight: number;
1056
- handleSide: "left" | "right";
1057
- contentPadding: [number, number];
1058
- doorCloser: boolean;
1059
- panicBar: boolean;
1060
- panicBarStyle: "crossbar" | "touchbar";
1061
- panicBarRods: boolean;
1062
- panicBarHeight: number;
1057
+ id: `level_${string}`;
1058
+ type: "level";
1059
+ children: (`beam_${string}` | `block_${string}` | `ceiling_${string}` | `column_${string}` | `construction-dimension_${string}` | `duct-fitting_${string}` | `duct-segment_${string}` | `duct-terminal_${string}` | `fence_${string}` | `floor-opening_${string}` | `guide_${string}` | `hvac-equipment_${string}` | `imesh_${string}` | `item_${string}` | `lineset_${string}` | `liquid-line_${string}` | `measurement_${string}` | `pipe-fitting_${string}` | `pipe-segment_${string}` | `pipe-trap_${string}` | `procedural-item_${string}` | `roof_${string}` | `scan_${string}` | `separator_${string}` | `shelf_${string}` | `slab_${string}` | `spawn_${string}` | `stair_${string}` | `structural-grid_${string}` | `wall_${string}` | `zone_${string}`)[];
1060
+ level: number;
1061
+ baseElevation: number;
1062
+ height?: number | undefined;
1063
1063
  };
1064
1064
  };
1065
1065
  rootNodeIds: `building_${string}`[];