@pascal-app/core 0.7.0 → 0.9.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 (318) hide show
  1. package/dist/events/bus.d.ts +47 -18
  2. package/dist/events/bus.d.ts.map +1 -1
  3. package/dist/events/bus.js +1 -1
  4. package/dist/hooks/scene-registry/scene-registry.d.ts +6 -22
  5. package/dist/hooks/scene-registry/scene-registry.d.ts.map +1 -1
  6. package/dist/hooks/scene-registry/scene-registry.js +33 -26
  7. package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts +14 -0
  8. package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts.map +1 -0
  9. package/dist/hooks/spatial-grid/floor-placed-elevation.js +51 -0
  10. package/dist/hooks/spatial-grid/floor-placed-elevation.test.d.ts +2 -0
  11. package/dist/hooks/spatial-grid/floor-placed-elevation.test.d.ts.map +1 -0
  12. package/dist/hooks/spatial-grid/floor-placed-elevation.test.js +273 -0
  13. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +13 -2
  14. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
  15. package/dist/hooks/spatial-grid/spatial-grid-manager.js +95 -9
  16. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +28 -1
  17. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
  18. package/dist/hooks/spatial-grid/spatial-grid-sync.js +91 -18
  19. package/dist/index.d.ts +22 -4
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +19 -2
  22. package/dist/lib/polygon-geometry.d.ts.map +1 -1
  23. package/dist/lib/polygon-relations.d.ts +10 -0
  24. package/dist/lib/polygon-relations.d.ts.map +1 -0
  25. package/dist/lib/polygon-relations.js +73 -0
  26. package/dist/lib/space-detection-pause.test.d.ts +2 -0
  27. package/dist/lib/space-detection-pause.test.d.ts.map +1 -0
  28. package/dist/lib/space-detection-pause.test.js +42 -0
  29. package/dist/lib/space-detection.d.ts +30 -1
  30. package/dist/lib/space-detection.d.ts.map +1 -1
  31. package/dist/lib/space-detection.js +222 -41
  32. package/dist/lib/space-detection.test.d.ts +2 -0
  33. package/dist/lib/space-detection.test.d.ts.map +1 -0
  34. package/dist/lib/space-detection.test.js +77 -0
  35. package/dist/material-library.d.ts +1 -1
  36. package/dist/material-library.d.ts.map +1 -1
  37. package/dist/material-library.js +1957 -141
  38. package/dist/registry/__bench__/relations-resolver.bench.d.ts +15 -0
  39. package/dist/registry/__bench__/relations-resolver.bench.d.ts.map +1 -0
  40. package/dist/registry/__bench__/relations-resolver.bench.js +170 -0
  41. package/dist/registry/handles.d.ts +321 -0
  42. package/dist/registry/handles.d.ts.map +1 -0
  43. package/dist/registry/handles.js +24 -0
  44. package/dist/registry/index.d.ts +7 -0
  45. package/dist/registry/index.d.ts.map +1 -0
  46. package/dist/registry/index.js +4 -0
  47. package/dist/registry/registry.d.ts +93 -0
  48. package/dist/registry/registry.d.ts.map +1 -0
  49. package/dist/registry/registry.js +201 -0
  50. package/dist/registry/registry.test.d.ts +2 -0
  51. package/dist/registry/registry.test.d.ts.map +1 -0
  52. package/dist/registry/registry.test.js +183 -0
  53. package/dist/registry/relations-resolver.d.ts +42 -0
  54. package/dist/registry/relations-resolver.d.ts.map +1 -0
  55. package/dist/registry/relations-resolver.js +77 -0
  56. package/dist/registry/relations-resolver.test.d.ts +2 -0
  57. package/dist/registry/relations-resolver.test.d.ts.map +1 -0
  58. package/dist/registry/relations-resolver.test.js +183 -0
  59. package/dist/registry/scene-api.d.ts +44 -0
  60. package/dist/registry/scene-api.d.ts.map +1 -0
  61. package/dist/registry/scene-api.js +111 -0
  62. package/dist/registry/scene-api.test.d.ts +2 -0
  63. package/dist/registry/scene-api.test.d.ts.map +1 -0
  64. package/dist/registry/scene-api.test.js +183 -0
  65. package/dist/registry/subtree.d.ts +67 -0
  66. package/dist/registry/subtree.d.ts.map +1 -0
  67. package/dist/registry/subtree.js +119 -0
  68. package/dist/registry/subtree.test.d.ts +2 -0
  69. package/dist/registry/subtree.test.d.ts.map +1 -0
  70. package/dist/registry/subtree.test.js +133 -0
  71. package/dist/registry/types.d.ts +1420 -0
  72. package/dist/registry/types.d.ts.map +1 -0
  73. package/dist/registry/types.js +1 -0
  74. package/dist/schema/asset-url.test.js +0 -4
  75. package/dist/schema/index.d.ts +17 -2
  76. package/dist/schema/index.d.ts.map +1 -1
  77. package/dist/schema/index.js +17 -3
  78. package/dist/schema/material.d.ts +12 -2
  79. package/dist/schema/material.d.ts.map +1 -1
  80. package/dist/schema/material.js +10 -0
  81. package/dist/schema/nodes/box-vent.d.ts +74 -0
  82. package/dist/schema/nodes/box-vent.d.ts.map +1 -0
  83. package/dist/schema/nodes/box-vent.js +63 -0
  84. package/dist/schema/nodes/building.d.ts +1 -1
  85. package/dist/schema/nodes/building.d.ts.map +1 -1
  86. package/dist/schema/nodes/building.js +3 -2
  87. package/dist/schema/nodes/ceiling.d.ts +3 -1
  88. package/dist/schema/nodes/ceiling.d.ts.map +1 -1
  89. package/dist/schema/nodes/ceiling.js +1 -1
  90. package/dist/schema/nodes/chimney.d.ts +158 -0
  91. package/dist/schema/nodes/chimney.d.ts.map +1 -0
  92. package/dist/schema/nodes/chimney.js +67 -0
  93. package/dist/schema/nodes/column.d.ts +598 -6
  94. package/dist/schema/nodes/column.d.ts.map +1 -1
  95. package/dist/schema/nodes/column.js +586 -6
  96. package/dist/schema/nodes/cupola.d.ts +66 -0
  97. package/dist/schema/nodes/cupola.d.ts.map +1 -0
  98. package/dist/schema/nodes/cupola.js +28 -0
  99. package/dist/schema/nodes/door.d.ts +1 -1
  100. package/dist/schema/nodes/dormer.d.ts +228 -0
  101. package/dist/schema/nodes/dormer.d.ts.map +1 -0
  102. package/dist/schema/nodes/dormer.js +119 -0
  103. package/dist/schema/nodes/downspout.d.ts +75 -0
  104. package/dist/schema/nodes/downspout.d.ts.map +1 -0
  105. package/dist/schema/nodes/downspout.js +63 -0
  106. package/dist/schema/nodes/elevator.d.ts +105 -0
  107. package/dist/schema/nodes/elevator.d.ts.map +1 -0
  108. package/dist/schema/nodes/elevator.js +54 -0
  109. package/dist/schema/nodes/eyebrow-vent.d.ts +68 -0
  110. package/dist/schema/nodes/eyebrow-vent.d.ts.map +1 -0
  111. package/dist/schema/nodes/eyebrow-vent.js +40 -0
  112. package/dist/schema/nodes/fence.d.ts +3 -2
  113. package/dist/schema/nodes/fence.d.ts.map +1 -1
  114. package/dist/schema/nodes/fence.js +4 -2
  115. package/dist/schema/nodes/gutter.d.ts +84 -0
  116. package/dist/schema/nodes/gutter.d.ts.map +1 -0
  117. package/dist/schema/nodes/gutter.js +76 -0
  118. package/dist/schema/nodes/item.d.ts +16 -0
  119. package/dist/schema/nodes/item.d.ts.map +1 -1
  120. package/dist/schema/nodes/item.js +21 -0
  121. package/dist/schema/nodes/level.d.ts +1 -1
  122. package/dist/schema/nodes/level.d.ts.map +1 -1
  123. package/dist/schema/nodes/level.js +2 -0
  124. package/dist/schema/nodes/ridge-vent.d.ts +67 -0
  125. package/dist/schema/nodes/ridge-vent.d.ts.map +1 -0
  126. package/dist/schema/nodes/ridge-vent.js +30 -0
  127. package/dist/schema/nodes/roof-segment.d.ts +198 -4
  128. package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
  129. package/dist/schema/nodes/roof-segment.js +254 -3
  130. package/dist/schema/nodes/roof.d.ts +6 -6
  131. package/dist/schema/nodes/roof.d.ts.map +1 -1
  132. package/dist/schema/nodes/roof.js +9 -21
  133. package/dist/schema/nodes/shelf.d.ts +105 -0
  134. package/dist/schema/nodes/shelf.d.ts.map +1 -0
  135. package/dist/schema/nodes/shelf.js +84 -0
  136. package/dist/schema/nodes/site.d.ts +1 -116
  137. package/dist/schema/nodes/site.d.ts.map +1 -1
  138. package/dist/schema/nodes/site.js +2 -6
  139. package/dist/schema/nodes/skylight.d.ts +279 -0
  140. package/dist/schema/nodes/skylight.d.ts.map +1 -0
  141. package/dist/schema/nodes/skylight.js +152 -0
  142. package/dist/schema/nodes/slab.d.ts +3 -1
  143. package/dist/schema/nodes/slab.d.ts.map +1 -1
  144. package/dist/schema/nodes/slab.js +1 -1
  145. package/dist/schema/nodes/solar-panel.d.ts +117 -0
  146. package/dist/schema/nodes/solar-panel.d.ts.map +1 -0
  147. package/dist/schema/nodes/solar-panel.js +47 -0
  148. package/dist/schema/nodes/stair-segment.d.ts +1 -1
  149. package/dist/schema/nodes/stair.d.ts +6 -6
  150. package/dist/schema/nodes/stair.d.ts.map +1 -1
  151. package/dist/schema/nodes/stair.js +9 -7
  152. package/dist/schema/nodes/surface-hole-metadata.d.ts +2 -0
  153. package/dist/schema/nodes/surface-hole-metadata.d.ts.map +1 -1
  154. package/dist/schema/nodes/surface-hole-metadata.js +3 -1
  155. package/dist/schema/nodes/turbine-vent.d.ts +68 -0
  156. package/dist/schema/nodes/turbine-vent.d.ts.map +1 -0
  157. package/dist/schema/nodes/turbine-vent.js +41 -0
  158. package/dist/schema/nodes/wall.d.ts +3 -3
  159. package/dist/schema/nodes/window.d.ts +1 -1
  160. package/dist/schema/types.d.ts +1448 -236
  161. package/dist/schema/types.d.ts.map +1 -1
  162. package/dist/schema/types.js +26 -0
  163. package/dist/services/alignment-anchors.d.ts +100 -0
  164. package/dist/services/alignment-anchors.d.ts.map +1 -0
  165. package/dist/services/alignment-anchors.js +283 -0
  166. package/dist/services/alignment-anchors.test.d.ts +2 -0
  167. package/dist/services/alignment-anchors.test.d.ts.map +1 -0
  168. package/dist/services/alignment-anchors.test.js +383 -0
  169. package/dist/services/alignment.d.ts +126 -0
  170. package/dist/services/alignment.d.ts.map +1 -0
  171. package/dist/services/alignment.js +169 -0
  172. package/dist/services/alignment.test.d.ts +2 -0
  173. package/dist/services/alignment.test.d.ts.map +1 -0
  174. package/dist/services/alignment.test.js +92 -0
  175. package/dist/services/drag-session.d.ts +47 -0
  176. package/dist/services/drag-session.d.ts.map +1 -0
  177. package/dist/services/drag-session.js +100 -0
  178. package/dist/services/drag-session.test.d.ts +2 -0
  179. package/dist/services/drag-session.test.d.ts.map +1 -0
  180. package/dist/services/drag-session.test.js +219 -0
  181. package/dist/services/hosting.d.ts +80 -0
  182. package/dist/services/hosting.d.ts.map +1 -0
  183. package/dist/services/hosting.js +122 -0
  184. package/dist/services/hosting.test.d.ts +2 -0
  185. package/dist/services/hosting.test.d.ts.map +1 -0
  186. package/dist/services/hosting.test.js +199 -0
  187. package/dist/services/index.d.ts +7 -0
  188. package/dist/services/index.d.ts.map +1 -0
  189. package/dist/services/index.js +6 -0
  190. package/dist/services/movement.d.ts +48 -0
  191. package/dist/services/movement.d.ts.map +1 -0
  192. package/dist/services/movement.js +65 -0
  193. package/dist/services/movement.test.d.ts +2 -0
  194. package/dist/services/movement.test.d.ts.map +1 -0
  195. package/dist/services/movement.test.js +133 -0
  196. package/dist/services/single-undo-dance.test.d.ts +2 -0
  197. package/dist/services/single-undo-dance.test.d.ts.map +1 -0
  198. package/dist/services/single-undo-dance.test.js +210 -0
  199. package/dist/services/snap.d.ts +72 -0
  200. package/dist/services/snap.d.ts.map +1 -0
  201. package/dist/services/snap.js +120 -0
  202. package/dist/services/snap.test.d.ts +2 -0
  203. package/dist/services/snap.test.d.ts.map +1 -0
  204. package/dist/services/snap.test.js +95 -0
  205. package/dist/solar-panel-presets.d.ts +17 -0
  206. package/dist/solar-panel-presets.d.ts.map +1 -0
  207. package/dist/solar-panel-presets.js +43 -0
  208. package/dist/store/actions/node-actions.d.ts +14 -2
  209. package/dist/store/actions/node-actions.d.ts.map +1 -1
  210. package/dist/store/actions/node-actions.js +499 -20
  211. package/dist/store/actions/node-mutation-sanitize.test.d.ts +2 -0
  212. package/dist/store/actions/node-mutation-sanitize.test.d.ts.map +1 -0
  213. package/dist/store/actions/node-mutation-sanitize.test.js +147 -0
  214. package/dist/store/actions/reparent.test.d.ts +2 -0
  215. package/dist/store/actions/reparent.test.d.ts.map +1 -0
  216. package/dist/store/actions/reparent.test.js +212 -0
  217. package/dist/store/use-interactive.d.ts +39 -0
  218. package/dist/store/use-interactive.d.ts.map +1 -1
  219. package/dist/store/use-interactive.js +75 -0
  220. package/dist/store/use-live-node-overrides.d.ts +22 -0
  221. package/dist/store/use-live-node-overrides.d.ts.map +1 -0
  222. package/dist/store/use-live-node-overrides.js +59 -0
  223. package/dist/store/use-scene-elevator-migration.test.d.ts +2 -0
  224. package/dist/store/use-scene-elevator-migration.test.d.ts.map +1 -0
  225. package/dist/store/use-scene-elevator-migration.test.js +109 -0
  226. package/dist/store/use-scene.d.ts +11 -0
  227. package/dist/store/use-scene.d.ts.map +1 -1
  228. package/dist/store/use-scene.js +207 -11
  229. package/dist/systems/elevator/elevator-dispatch.d.ts +12 -0
  230. package/dist/systems/elevator/elevator-dispatch.d.ts.map +1 -0
  231. package/dist/systems/elevator/elevator-dispatch.js +57 -0
  232. package/dist/systems/elevator/elevator-geometry.d.ts +15 -0
  233. package/dist/systems/elevator/elevator-geometry.d.ts.map +1 -0
  234. package/dist/systems/elevator/elevator-geometry.js +50 -0
  235. package/dist/systems/elevator/elevator-opening-sync.d.ts +6 -0
  236. package/dist/systems/elevator/elevator-opening-sync.d.ts.map +1 -0
  237. package/dist/systems/elevator/elevator-opening-sync.js +218 -0
  238. package/dist/systems/elevator/elevator-opening-sync.test.d.ts +2 -0
  239. package/dist/systems/elevator/elevator-opening-sync.test.d.ts.map +1 -0
  240. package/dist/systems/elevator/elevator-opening-sync.test.js +146 -0
  241. package/dist/systems/elevator/elevator-opening-system.d.ts +2 -0
  242. package/dist/systems/elevator/elevator-opening-system.d.ts.map +1 -0
  243. package/dist/systems/elevator/elevator-opening-system.js +48 -0
  244. package/dist/systems/elevator/elevator-runtime-system.d.ts +2 -0
  245. package/dist/systems/elevator/elevator-runtime-system.d.ts.map +1 -0
  246. package/dist/systems/elevator/elevator-runtime-system.js +8 -0
  247. package/dist/systems/elevator/elevator-runtime.d.ts +18 -0
  248. package/dist/systems/elevator/elevator-runtime.d.ts.map +1 -0
  249. package/dist/systems/elevator/elevator-runtime.js +225 -0
  250. package/dist/systems/elevator/elevator-runtime.test.d.ts +2 -0
  251. package/dist/systems/elevator/elevator-runtime.test.d.ts.map +1 -0
  252. package/dist/systems/elevator/elevator-runtime.test.js +64 -0
  253. package/dist/systems/elevator/elevator-service.d.ts +19 -0
  254. package/dist/systems/elevator/elevator-service.d.ts.map +1 -0
  255. package/dist/systems/elevator/elevator-service.js +111 -0
  256. package/dist/systems/stair/stair-footprint.d.ts +44 -0
  257. package/dist/systems/stair/stair-footprint.d.ts.map +1 -0
  258. package/dist/systems/stair/stair-footprint.js +168 -0
  259. package/dist/systems/stair/stair-opening-preview.d.ts +1777 -0
  260. package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -0
  261. package/dist/systems/stair/stair-opening-preview.js +93 -0
  262. package/dist/systems/stair/stair-opening-preview.test.d.ts +2 -0
  263. package/dist/systems/stair/stair-opening-preview.test.d.ts.map +1 -0
  264. package/dist/systems/stair/stair-opening-preview.test.js +80 -0
  265. package/dist/systems/stair/stair-opening-sync.d.ts.map +1 -1
  266. package/dist/systems/stair/stair-opening-sync.js +183 -185
  267. package/dist/systems/stair/stair-opening-sync.test.js +385 -4
  268. package/dist/systems/stair/stair-opening-system.d.ts +2 -0
  269. package/dist/systems/stair/stair-opening-system.d.ts.map +1 -0
  270. package/dist/systems/stair/stair-opening-system.js +104 -0
  271. package/dist/systems/wall/wall-curve.d.ts +1 -1
  272. package/dist/systems/wall/wall-curve.d.ts.map +1 -1
  273. package/dist/systems/wall/wall-curve.js +1 -1
  274. package/dist/systems/wall/wall-mitering.d.ts.map +1 -1
  275. package/dist/systems/wall/wall-mitering.js +2 -6
  276. package/dist/systems/wall/wall-move.d.ts +48 -0
  277. package/dist/systems/wall/wall-move.d.ts.map +1 -0
  278. package/dist/systems/wall/wall-move.js +193 -0
  279. package/dist/utils/clone-scene-graph.d.ts +6 -4
  280. package/dist/utils/clone-scene-graph.d.ts.map +1 -1
  281. package/dist/utils/clone-scene-graph.js +6 -4
  282. package/dist/utils/clone-scene-graph.test.d.ts +2 -0
  283. package/dist/utils/clone-scene-graph.test.d.ts.map +1 -0
  284. package/dist/utils/clone-scene-graph.test.js +59 -0
  285. package/dist/validation/validate-build-json.d.ts +43 -0
  286. package/dist/validation/validate-build-json.d.ts.map +1 -0
  287. package/dist/validation/validate-build-json.js +227 -0
  288. package/package.json +11 -3
  289. package/dist/materials.d.ts +0 -10
  290. package/dist/materials.d.ts.map +0 -1
  291. package/dist/materials.js +0 -22
  292. package/dist/systems/ceiling/ceiling-system.d.ts +0 -8
  293. package/dist/systems/ceiling/ceiling-system.d.ts.map +0 -1
  294. package/dist/systems/ceiling/ceiling-system.js +0 -92
  295. package/dist/systems/door/door-system.d.ts +0 -2
  296. package/dist/systems/door/door-system.d.ts.map +0 -1
  297. package/dist/systems/door/door-system.js +0 -195
  298. package/dist/systems/fence/fence-system.d.ts +0 -2
  299. package/dist/systems/fence/fence-system.d.ts.map +0 -1
  300. package/dist/systems/fence/fence-system.js +0 -187
  301. package/dist/systems/item/item-system.d.ts +0 -2
  302. package/dist/systems/item/item-system.d.ts.map +0 -1
  303. package/dist/systems/item/item-system.js +0 -48
  304. package/dist/systems/roof/roof-system.d.ts +0 -16
  305. package/dist/systems/roof/roof-system.d.ts.map +0 -1
  306. package/dist/systems/roof/roof-system.js +0 -797
  307. package/dist/systems/slab/slab-system.d.ts +0 -8
  308. package/dist/systems/slab/slab-system.d.ts.map +0 -1
  309. package/dist/systems/slab/slab-system.js +0 -214
  310. package/dist/systems/stair/stair-system.d.ts +0 -2
  311. package/dist/systems/stair/stair-system.d.ts.map +0 -1
  312. package/dist/systems/stair/stair-system.js +0 -776
  313. package/dist/systems/wall/wall-system.d.ts +0 -12
  314. package/dist/systems/wall/wall-system.d.ts.map +0 -1
  315. package/dist/systems/wall/wall-system.js +0 -455
  316. package/dist/systems/window/window-system.d.ts +0 -2
  317. package/dist/systems/window/window-system.d.ts.map +0 -1
  318. package/dist/systems/window/window-system.js +0 -131
@@ -46,6 +46,19 @@ export const ColumnCapitalStyle = z.enum([
46
46
  ]);
47
47
  export const ColumnRingPlacement = z.enum(['ends', 'even', 'top', 'bottom']);
48
48
  export const ColumnCarvingPlacement = z.enum(['shaft', 'base', 'capital', 'all']);
49
+ export const ColumnSupportStyle = z.enum([
50
+ 'vertical',
51
+ 'a-frame',
52
+ 'y-frame',
53
+ 'v-frame',
54
+ 'x-brace',
55
+ 'k-brace',
56
+ 'single-strut',
57
+ 'tripod',
58
+ 'trestle',
59
+ 'portal-frame',
60
+ 'box-frame',
61
+ ]);
49
62
  export const ColumnNode = BaseNode.extend({
50
63
  id: objectId('column'),
51
64
  type: nodeType('column'),
@@ -53,7 +66,7 @@ export const ColumnNode = BaseNode.extend({
53
66
  rotation: z.number().default(0),
54
67
  style: ColumnStyle.default('plain'),
55
68
  crossSection: ColumnCrossSection.default('round'),
56
- height: z.number().positive().default(2.8),
69
+ height: z.number().positive().default(2.5),
57
70
  radius: z.number().positive().default(0.22),
58
71
  width: z.number().positive().default(0.44),
59
72
  depth: z.number().positive().default(0.44),
@@ -116,6 +129,12 @@ export const ColumnNode = BaseNode.extend({
116
129
  lowerBandCarvingLevel: z.number().int().min(0).max(4).default(0),
117
130
  dentilCount: z.number().int().min(0).max(48).default(0),
118
131
  beadCount: z.number().int().min(0).max(64).default(0),
132
+ supportStyle: ColumnSupportStyle.default('vertical'),
133
+ braceWidth: z.number().positive().default(0.16),
134
+ braceDepth: z.number().positive().default(0.16),
135
+ braceBottomSpread: z.number().min(0.2).default(1.2),
136
+ braceTopSpread: z.number().min(0).default(0.12),
137
+ bracePlateEnabled: z.boolean().default(true),
119
138
  material: MaterialSchema.optional(),
120
139
  materialPreset: z.string().optional(),
121
140
  }).describe(dedent `
@@ -130,13 +149,14 @@ export const ColumnNode = BaseNode.extend({
130
149
  - baseStyle/capitalStyle: procedural base and top treatment with tier/detail controls
131
150
  - baseHeight/capitalHeight: bottom and top block proportions
132
151
  - ring/flute/spiral/panel/lathe/carving fields: procedural detail controls
152
+ - supportStyle/brace fields: vertical column or procedural support assembly
133
153
  `);
134
154
  export const COLUMN_PRESETS = {
135
155
  basicPillar: {
136
156
  label: 'Straight Round',
137
157
  style: 'plain',
138
158
  crossSection: 'round',
139
- height: 2.9,
159
+ height: 2.5,
140
160
  radius: 0.22,
141
161
  width: 0.44,
142
162
  depth: 0.44,
@@ -186,7 +206,7 @@ export const COLUMN_PRESETS = {
186
206
  label: 'Square Block',
187
207
  style: 'faceted',
188
208
  crossSection: 'square',
189
- height: 2.9,
209
+ height: 2.5,
190
210
  radius: 0.24,
191
211
  width: 0.48,
192
212
  depth: 0.48,
@@ -236,7 +256,7 @@ export const COLUMN_PRESETS = {
236
256
  label: 'Tapered Round',
237
257
  style: 'plain',
238
258
  crossSection: 'round',
239
- height: 3,
259
+ height: 2.5,
240
260
  radius: 0.23,
241
261
  width: 0.46,
242
262
  depth: 0.46,
@@ -286,7 +306,7 @@ export const COLUMN_PRESETS = {
286
306
  label: 'Soft Bulged',
287
307
  style: 'plain',
288
308
  crossSection: 'round',
289
- height: 2.9,
309
+ height: 2.5,
290
310
  radius: 0.22,
291
311
  width: 0.44,
292
312
  depth: 0.44,
@@ -336,7 +356,7 @@ export const COLUMN_PRESETS = {
336
356
  label: 'Hourglass',
337
357
  style: 'plain',
338
358
  crossSection: 'round',
339
- height: 2.9,
359
+ height: 2.5,
340
360
  radius: 0.22,
341
361
  width: 0.44,
342
362
  depth: 0.44,
@@ -382,4 +402,564 @@ export const COLUMN_PRESETS = {
382
402
  dentilCount: 0,
383
403
  beadCount: 0,
384
404
  },
405
+ aFrameSupport: {
406
+ label: 'A-Frame Support',
407
+ supportStyle: 'a-frame',
408
+ style: 'faceted',
409
+ crossSection: 'rectangular',
410
+ height: 2.5,
411
+ radius: 0.08,
412
+ width: 0.16,
413
+ depth: 0.16,
414
+ edgeSoftness: 0.012,
415
+ baseHeight: 0,
416
+ capitalHeight: 0,
417
+ shaftProfile: 'straight',
418
+ shaftTaper: 0,
419
+ shaftBulge: 0,
420
+ shaftStartScale: 1,
421
+ shaftEndScale: 1,
422
+ shaftSegmentCount: 1,
423
+ shaftTwistStep: 0,
424
+ shaftCornerRadius: 0.012,
425
+ shaftDetail: 'none',
426
+ baseStyle: 'none',
427
+ baseWidthScale: 1,
428
+ baseDepthScale: 1,
429
+ baseTierCount: 1,
430
+ baseStepSpread: 0.34,
431
+ basePlinthHeightRatio: 0.44,
432
+ baseRoundBandScale: 0.92,
433
+ baseNeckScale: 0.72,
434
+ baseRoundBandCount: 0,
435
+ baseRibCount: 0,
436
+ baseCarvingLevel: 0,
437
+ capitalStyle: 'none',
438
+ capitalWidthScale: 1,
439
+ capitalDepthScale: 1,
440
+ capitalTierCount: 1,
441
+ capitalStepSpread: 0.34,
442
+ capitalBandCount: 0,
443
+ capitalCarvingLevel: 0,
444
+ ringCount: 0,
445
+ ringSpread: 0.16,
446
+ fluteCount: 0,
447
+ spiralTwist: 0,
448
+ spiralRibCount: 0,
449
+ panelCount: 0,
450
+ latheRingCount: 0,
451
+ carvingLevel: 0,
452
+ lowerBandEnabled: false,
453
+ dentilCount: 0,
454
+ beadCount: 0,
455
+ braceWidth: 0.16,
456
+ braceDepth: 0.16,
457
+ braceBottomSpread: 1.2,
458
+ braceTopSpread: 0.06,
459
+ bracePlateEnabled: false,
460
+ },
461
+ yFrameSupport: {
462
+ label: 'Y Support',
463
+ supportStyle: 'y-frame',
464
+ style: 'faceted',
465
+ crossSection: 'rectangular',
466
+ height: 2.5,
467
+ radius: 0.08,
468
+ width: 0.16,
469
+ depth: 0.16,
470
+ edgeSoftness: 0.012,
471
+ baseHeight: 0,
472
+ capitalHeight: 0,
473
+ shaftProfile: 'straight',
474
+ shaftTaper: 0,
475
+ shaftBulge: 0,
476
+ shaftStartScale: 1,
477
+ shaftEndScale: 1,
478
+ shaftSegmentCount: 1,
479
+ shaftTwistStep: 0,
480
+ shaftCornerRadius: 0.012,
481
+ shaftDetail: 'none',
482
+ baseStyle: 'none',
483
+ baseWidthScale: 1,
484
+ baseDepthScale: 1,
485
+ baseTierCount: 1,
486
+ baseStepSpread: 0.34,
487
+ basePlinthHeightRatio: 0.44,
488
+ baseRoundBandScale: 0.92,
489
+ baseNeckScale: 0.72,
490
+ baseRoundBandCount: 0,
491
+ baseRibCount: 0,
492
+ baseCarvingLevel: 0,
493
+ capitalStyle: 'none',
494
+ capitalWidthScale: 1,
495
+ capitalDepthScale: 1,
496
+ capitalTierCount: 1,
497
+ capitalStepSpread: 0.34,
498
+ capitalBandCount: 0,
499
+ capitalCarvingLevel: 0,
500
+ ringCount: 0,
501
+ ringSpread: 0.16,
502
+ fluteCount: 0,
503
+ spiralTwist: 0,
504
+ spiralRibCount: 0,
505
+ panelCount: 0,
506
+ latheRingCount: 0,
507
+ carvingLevel: 0,
508
+ lowerBandEnabled: false,
509
+ dentilCount: 0,
510
+ beadCount: 0,
511
+ braceWidth: 0.16,
512
+ braceDepth: 0.16,
513
+ braceBottomSpread: 0.2,
514
+ braceTopSpread: 1,
515
+ bracePlateEnabled: false,
516
+ },
517
+ vFrameSupport: {
518
+ label: 'V Support',
519
+ supportStyle: 'v-frame',
520
+ style: 'faceted',
521
+ crossSection: 'rectangular',
522
+ height: 2.5,
523
+ radius: 0.08,
524
+ width: 0.16,
525
+ depth: 0.16,
526
+ edgeSoftness: 0.012,
527
+ baseHeight: 0,
528
+ capitalHeight: 0,
529
+ shaftProfile: 'straight',
530
+ shaftTaper: 0,
531
+ shaftBulge: 0,
532
+ shaftStartScale: 1,
533
+ shaftEndScale: 1,
534
+ shaftSegmentCount: 1,
535
+ shaftTwistStep: 0,
536
+ shaftCornerRadius: 0.012,
537
+ shaftDetail: 'none',
538
+ baseStyle: 'none',
539
+ baseWidthScale: 1,
540
+ baseDepthScale: 1,
541
+ baseTierCount: 1,
542
+ baseStepSpread: 0.34,
543
+ basePlinthHeightRatio: 0.44,
544
+ baseRoundBandScale: 0.92,
545
+ baseNeckScale: 0.72,
546
+ baseRoundBandCount: 0,
547
+ baseRibCount: 0,
548
+ baseCarvingLevel: 0,
549
+ capitalStyle: 'none',
550
+ capitalWidthScale: 1,
551
+ capitalDepthScale: 1,
552
+ capitalTierCount: 1,
553
+ capitalStepSpread: 0.34,
554
+ capitalBandCount: 0,
555
+ capitalCarvingLevel: 0,
556
+ ringCount: 0,
557
+ ringSpread: 0.16,
558
+ fluteCount: 0,
559
+ spiralTwist: 0,
560
+ spiralRibCount: 0,
561
+ panelCount: 0,
562
+ latheRingCount: 0,
563
+ carvingLevel: 0,
564
+ lowerBandEnabled: false,
565
+ dentilCount: 0,
566
+ beadCount: 0,
567
+ braceWidth: 0.16,
568
+ braceDepth: 0.16,
569
+ braceBottomSpread: 0.2,
570
+ braceTopSpread: 1,
571
+ bracePlateEnabled: false,
572
+ },
573
+ xBraceSupport: {
574
+ label: 'X Brace',
575
+ supportStyle: 'x-brace',
576
+ style: 'faceted',
577
+ crossSection: 'rectangular',
578
+ height: 2.5,
579
+ radius: 0.07,
580
+ width: 0.14,
581
+ depth: 0.14,
582
+ edgeSoftness: 0.01,
583
+ baseHeight: 0,
584
+ capitalHeight: 0,
585
+ shaftProfile: 'straight',
586
+ shaftTaper: 0,
587
+ shaftBulge: 0,
588
+ shaftStartScale: 1,
589
+ shaftEndScale: 1,
590
+ shaftSegmentCount: 1,
591
+ shaftTwistStep: 0,
592
+ shaftCornerRadius: 0.01,
593
+ shaftDetail: 'none',
594
+ baseStyle: 'none',
595
+ baseWidthScale: 1,
596
+ baseDepthScale: 1,
597
+ baseTierCount: 1,
598
+ baseStepSpread: 0.34,
599
+ basePlinthHeightRatio: 0.44,
600
+ baseRoundBandScale: 0.92,
601
+ baseNeckScale: 0.72,
602
+ baseRoundBandCount: 0,
603
+ baseRibCount: 0,
604
+ baseCarvingLevel: 0,
605
+ capitalStyle: 'none',
606
+ capitalWidthScale: 1,
607
+ capitalDepthScale: 1,
608
+ capitalTierCount: 1,
609
+ capitalStepSpread: 0.34,
610
+ capitalBandCount: 0,
611
+ capitalCarvingLevel: 0,
612
+ ringCount: 0,
613
+ ringSpread: 0.16,
614
+ fluteCount: 0,
615
+ spiralTwist: 0,
616
+ spiralRibCount: 0,
617
+ panelCount: 0,
618
+ latheRingCount: 0,
619
+ carvingLevel: 0,
620
+ lowerBandEnabled: false,
621
+ dentilCount: 0,
622
+ beadCount: 0,
623
+ braceWidth: 0.14,
624
+ braceDepth: 0.14,
625
+ braceBottomSpread: 1,
626
+ braceTopSpread: 1,
627
+ bracePlateEnabled: false,
628
+ },
629
+ kBraceSupport: {
630
+ label: 'K Brace',
631
+ supportStyle: 'k-brace',
632
+ style: 'faceted',
633
+ crossSection: 'rectangular',
634
+ height: 2.5,
635
+ radius: 0.07,
636
+ width: 0.14,
637
+ depth: 0.14,
638
+ edgeSoftness: 0.01,
639
+ baseHeight: 0,
640
+ capitalHeight: 0,
641
+ shaftProfile: 'straight',
642
+ shaftTaper: 0,
643
+ shaftBulge: 0,
644
+ shaftStartScale: 1,
645
+ shaftEndScale: 1,
646
+ shaftSegmentCount: 1,
647
+ shaftTwistStep: 0,
648
+ shaftCornerRadius: 0.01,
649
+ shaftDetail: 'none',
650
+ baseStyle: 'none',
651
+ baseWidthScale: 1,
652
+ baseDepthScale: 1,
653
+ baseTierCount: 1,
654
+ baseStepSpread: 0.34,
655
+ basePlinthHeightRatio: 0.44,
656
+ baseRoundBandScale: 0.92,
657
+ baseNeckScale: 0.72,
658
+ baseRoundBandCount: 0,
659
+ baseRibCount: 0,
660
+ baseCarvingLevel: 0,
661
+ capitalStyle: 'none',
662
+ capitalWidthScale: 1,
663
+ capitalDepthScale: 1,
664
+ capitalTierCount: 1,
665
+ capitalStepSpread: 0.34,
666
+ capitalBandCount: 0,
667
+ capitalCarvingLevel: 0,
668
+ ringCount: 0,
669
+ ringSpread: 0.16,
670
+ fluteCount: 0,
671
+ spiralTwist: 0,
672
+ spiralRibCount: 0,
673
+ panelCount: 0,
674
+ latheRingCount: 0,
675
+ carvingLevel: 0,
676
+ lowerBandEnabled: false,
677
+ dentilCount: 0,
678
+ beadCount: 0,
679
+ braceWidth: 0.14,
680
+ braceDepth: 0.14,
681
+ braceBottomSpread: 1,
682
+ braceTopSpread: 1,
683
+ bracePlateEnabled: false,
684
+ },
685
+ singleStrutSupport: {
686
+ label: 'Single Strut',
687
+ supportStyle: 'single-strut',
688
+ style: 'faceted',
689
+ crossSection: 'rectangular',
690
+ height: 2.5,
691
+ radius: 0.07,
692
+ width: 0.14,
693
+ depth: 0.14,
694
+ edgeSoftness: 0.01,
695
+ baseHeight: 0,
696
+ capitalHeight: 0,
697
+ shaftProfile: 'straight',
698
+ shaftTaper: 0,
699
+ shaftBulge: 0,
700
+ shaftStartScale: 1,
701
+ shaftEndScale: 1,
702
+ shaftSegmentCount: 1,
703
+ shaftTwistStep: 0,
704
+ shaftCornerRadius: 0.01,
705
+ shaftDetail: 'none',
706
+ baseStyle: 'none',
707
+ baseWidthScale: 1,
708
+ baseDepthScale: 1,
709
+ baseTierCount: 1,
710
+ baseStepSpread: 0.34,
711
+ basePlinthHeightRatio: 0.44,
712
+ baseRoundBandScale: 0.92,
713
+ baseNeckScale: 0.72,
714
+ baseRoundBandCount: 0,
715
+ baseRibCount: 0,
716
+ baseCarvingLevel: 0,
717
+ capitalStyle: 'none',
718
+ capitalWidthScale: 1,
719
+ capitalDepthScale: 1,
720
+ capitalTierCount: 1,
721
+ capitalStepSpread: 0.34,
722
+ capitalBandCount: 0,
723
+ capitalCarvingLevel: 0,
724
+ ringCount: 0,
725
+ ringSpread: 0.16,
726
+ fluteCount: 0,
727
+ spiralTwist: 0,
728
+ spiralRibCount: 0,
729
+ panelCount: 0,
730
+ latheRingCount: 0,
731
+ carvingLevel: 0,
732
+ lowerBandEnabled: false,
733
+ dentilCount: 0,
734
+ beadCount: 0,
735
+ braceWidth: 0.14,
736
+ braceDepth: 0.14,
737
+ braceBottomSpread: 1,
738
+ braceTopSpread: 1,
739
+ bracePlateEnabled: false,
740
+ },
741
+ tripodSupport: {
742
+ label: 'Tripod Support',
743
+ supportStyle: 'tripod',
744
+ style: 'faceted',
745
+ crossSection: 'rectangular',
746
+ height: 2.5,
747
+ radius: 0.07,
748
+ width: 0.14,
749
+ depth: 0.14,
750
+ edgeSoftness: 0.01,
751
+ baseHeight: 0,
752
+ capitalHeight: 0,
753
+ shaftProfile: 'straight',
754
+ shaftTaper: 0,
755
+ shaftBulge: 0,
756
+ shaftStartScale: 1,
757
+ shaftEndScale: 1,
758
+ shaftSegmentCount: 1,
759
+ shaftTwistStep: 0,
760
+ shaftCornerRadius: 0.01,
761
+ shaftDetail: 'none',
762
+ baseStyle: 'none',
763
+ baseWidthScale: 1,
764
+ baseDepthScale: 1,
765
+ baseTierCount: 1,
766
+ baseStepSpread: 0.34,
767
+ basePlinthHeightRatio: 0.44,
768
+ baseRoundBandScale: 0.92,
769
+ baseNeckScale: 0.72,
770
+ baseRoundBandCount: 0,
771
+ baseRibCount: 0,
772
+ baseCarvingLevel: 0,
773
+ capitalStyle: 'none',
774
+ capitalWidthScale: 1,
775
+ capitalDepthScale: 1,
776
+ capitalTierCount: 1,
777
+ capitalStepSpread: 0.34,
778
+ capitalBandCount: 0,
779
+ capitalCarvingLevel: 0,
780
+ ringCount: 0,
781
+ ringSpread: 0.16,
782
+ fluteCount: 0,
783
+ spiralTwist: 0,
784
+ spiralRibCount: 0,
785
+ panelCount: 0,
786
+ latheRingCount: 0,
787
+ carvingLevel: 0,
788
+ lowerBandEnabled: false,
789
+ dentilCount: 0,
790
+ beadCount: 0,
791
+ braceWidth: 0.14,
792
+ braceDepth: 0.14,
793
+ braceBottomSpread: 1.1,
794
+ braceTopSpread: 1.1,
795
+ bracePlateEnabled: false,
796
+ },
797
+ trestleSupport: {
798
+ label: 'Trestle Frame',
799
+ supportStyle: 'trestle',
800
+ style: 'faceted',
801
+ crossSection: 'rectangular',
802
+ height: 2.5,
803
+ radius: 0.07,
804
+ width: 0.14,
805
+ depth: 0.14,
806
+ edgeSoftness: 0.01,
807
+ baseHeight: 0,
808
+ capitalHeight: 0,
809
+ shaftProfile: 'straight',
810
+ shaftTaper: 0,
811
+ shaftBulge: 0,
812
+ shaftStartScale: 1,
813
+ shaftEndScale: 1,
814
+ shaftSegmentCount: 1,
815
+ shaftTwistStep: 0,
816
+ shaftCornerRadius: 0.01,
817
+ shaftDetail: 'none',
818
+ baseStyle: 'none',
819
+ baseWidthScale: 1,
820
+ baseDepthScale: 1,
821
+ baseTierCount: 1,
822
+ baseStepSpread: 0.34,
823
+ basePlinthHeightRatio: 0.44,
824
+ baseRoundBandScale: 0.92,
825
+ baseNeckScale: 0.72,
826
+ baseRoundBandCount: 0,
827
+ baseRibCount: 0,
828
+ baseCarvingLevel: 0,
829
+ capitalStyle: 'none',
830
+ capitalWidthScale: 1,
831
+ capitalDepthScale: 1,
832
+ capitalTierCount: 1,
833
+ capitalStepSpread: 0.34,
834
+ capitalBandCount: 0,
835
+ capitalCarvingLevel: 0,
836
+ ringCount: 0,
837
+ ringSpread: 0.16,
838
+ fluteCount: 0,
839
+ spiralTwist: 0,
840
+ spiralRibCount: 0,
841
+ panelCount: 0,
842
+ latheRingCount: 0,
843
+ carvingLevel: 0,
844
+ lowerBandEnabled: false,
845
+ dentilCount: 0,
846
+ beadCount: 0,
847
+ braceWidth: 0.14,
848
+ braceDepth: 0.14,
849
+ braceBottomSpread: 1.2,
850
+ braceTopSpread: 1,
851
+ bracePlateEnabled: false,
852
+ },
853
+ portalFrameSupport: {
854
+ label: 'Portal Frame',
855
+ supportStyle: 'portal-frame',
856
+ style: 'faceted',
857
+ crossSection: 'rectangular',
858
+ height: 2.5,
859
+ radius: 0.08,
860
+ width: 0.16,
861
+ depth: 0.16,
862
+ edgeSoftness: 0.012,
863
+ baseHeight: 0,
864
+ capitalHeight: 0,
865
+ shaftProfile: 'straight',
866
+ shaftTaper: 0,
867
+ shaftBulge: 0,
868
+ shaftStartScale: 1,
869
+ shaftEndScale: 1,
870
+ shaftSegmentCount: 1,
871
+ shaftTwistStep: 0,
872
+ shaftCornerRadius: 0.012,
873
+ shaftDetail: 'none',
874
+ baseStyle: 'none',
875
+ baseWidthScale: 1,
876
+ baseDepthScale: 1,
877
+ baseTierCount: 1,
878
+ baseStepSpread: 0.34,
879
+ basePlinthHeightRatio: 0.44,
880
+ baseRoundBandScale: 0.92,
881
+ baseNeckScale: 0.72,
882
+ baseRoundBandCount: 0,
883
+ baseRibCount: 0,
884
+ baseCarvingLevel: 0,
885
+ capitalStyle: 'none',
886
+ capitalWidthScale: 1,
887
+ capitalDepthScale: 1,
888
+ capitalTierCount: 1,
889
+ capitalStepSpread: 0.34,
890
+ capitalBandCount: 0,
891
+ capitalCarvingLevel: 0,
892
+ ringCount: 0,
893
+ ringSpread: 0.16,
894
+ fluteCount: 0,
895
+ spiralTwist: 0,
896
+ spiralRibCount: 0,
897
+ panelCount: 0,
898
+ latheRingCount: 0,
899
+ carvingLevel: 0,
900
+ lowerBandEnabled: false,
901
+ dentilCount: 0,
902
+ beadCount: 0,
903
+ braceWidth: 0.16,
904
+ braceDepth: 0.16,
905
+ braceBottomSpread: 1.4,
906
+ braceTopSpread: 0.2,
907
+ bracePlateEnabled: false,
908
+ },
909
+ boxFrameSupport: {
910
+ label: 'Box Frame',
911
+ supportStyle: 'box-frame',
912
+ style: 'faceted',
913
+ crossSection: 'rectangular',
914
+ height: 2.5,
915
+ radius: 0.07,
916
+ width: 0.14,
917
+ depth: 0.14,
918
+ edgeSoftness: 0.01,
919
+ baseHeight: 0,
920
+ capitalHeight: 0,
921
+ shaftProfile: 'straight',
922
+ shaftTaper: 0,
923
+ shaftBulge: 0,
924
+ shaftStartScale: 1,
925
+ shaftEndScale: 1,
926
+ shaftSegmentCount: 1,
927
+ shaftTwistStep: 0,
928
+ shaftCornerRadius: 0.01,
929
+ shaftDetail: 'none',
930
+ baseStyle: 'none',
931
+ baseWidthScale: 1,
932
+ baseDepthScale: 1,
933
+ baseTierCount: 1,
934
+ baseStepSpread: 0.34,
935
+ basePlinthHeightRatio: 0.44,
936
+ baseRoundBandScale: 0.92,
937
+ baseNeckScale: 0.72,
938
+ baseRoundBandCount: 0,
939
+ baseRibCount: 0,
940
+ baseCarvingLevel: 0,
941
+ capitalStyle: 'none',
942
+ capitalWidthScale: 1,
943
+ capitalDepthScale: 1,
944
+ capitalTierCount: 1,
945
+ capitalStepSpread: 0.34,
946
+ capitalBandCount: 0,
947
+ capitalCarvingLevel: 0,
948
+ ringCount: 0,
949
+ ringSpread: 0.16,
950
+ fluteCount: 0,
951
+ spiralTwist: 0,
952
+ spiralRibCount: 0,
953
+ panelCount: 0,
954
+ latheRingCount: 0,
955
+ carvingLevel: 0,
956
+ lowerBandEnabled: false,
957
+ dentilCount: 0,
958
+ beadCount: 0,
959
+ braceWidth: 0.14,
960
+ braceDepth: 0.14,
961
+ braceBottomSpread: 1.4,
962
+ braceTopSpread: 1,
963
+ bracePlateEnabled: false,
964
+ },
385
965
  };
@@ -0,0 +1,66 @@
1
+ import { z } from 'zod';
2
+ export declare const CupolaNode: z.ZodObject<{
3
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
4
+ name: z.ZodOptional<z.ZodString>;
5
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
6
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
7
+ camera: z.ZodOptional<z.ZodObject<{
8
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
9
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
10
+ mode: z.ZodDefault<z.ZodEnum<{
11
+ perspective: "perspective";
12
+ orthographic: "orthographic";
13
+ }>>;
14
+ fov: z.ZodOptional<z.ZodNumber>;
15
+ zoom: z.ZodOptional<z.ZodNumber>;
16
+ }, z.core.$strip>>;
17
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
18
+ id: z.ZodDefault<z.ZodTemplateLiteral<`cupola_${string}`>>;
19
+ type: z.ZodDefault<z.ZodLiteral<"cupola">>;
20
+ material: z.ZodOptional<z.ZodObject<{
21
+ id: z.ZodOptional<z.ZodString>;
22
+ preset: z.ZodOptional<z.ZodEnum<{
23
+ custom: "custom";
24
+ white: "white";
25
+ brick: "brick";
26
+ concrete: "concrete";
27
+ wood: "wood";
28
+ glass: "glass";
29
+ metal: "metal";
30
+ plaster: "plaster";
31
+ tile: "tile";
32
+ marble: "marble";
33
+ }>>;
34
+ properties: z.ZodOptional<z.ZodObject<{
35
+ color: z.ZodDefault<z.ZodString>;
36
+ roughness: z.ZodDefault<z.ZodNumber>;
37
+ metalness: z.ZodDefault<z.ZodNumber>;
38
+ opacity: z.ZodDefault<z.ZodNumber>;
39
+ transparent: z.ZodDefault<z.ZodBoolean>;
40
+ side: z.ZodDefault<z.ZodEnum<{
41
+ front: "front";
42
+ back: "back";
43
+ double: "double";
44
+ }>>;
45
+ }, z.core.$strip>>;
46
+ texture: z.ZodOptional<z.ZodObject<{
47
+ url: z.ZodString;
48
+ repeat: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
49
+ scale: z.ZodOptional<z.ZodNumber>;
50
+ }, z.core.$strip>>;
51
+ }, z.core.$strip>>;
52
+ materialPreset: z.ZodDefault<z.ZodString>;
53
+ roofSegmentId: z.ZodOptional<z.ZodString>;
54
+ position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
55
+ rotation: z.ZodDefault<z.ZodNumber>;
56
+ width: z.ZodDefault<z.ZodNumber>;
57
+ depth: z.ZodDefault<z.ZodNumber>;
58
+ height: z.ZodDefault<z.ZodNumber>;
59
+ roofStyle: z.ZodDefault<z.ZodEnum<{
60
+ dome: "dome";
61
+ pyramid: "pyramid";
62
+ }>>;
63
+ finial: z.ZodDefault<z.ZodBoolean>;
64
+ }, z.core.$strip>;
65
+ export type CupolaNode = z.infer<typeof CupolaNode>;
66
+ //# sourceMappingURL=cupola.d.ts.map