@pascal-app/core 0.8.0 → 0.9.2

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