@pascal-app/core 1.0.7 → 1.1.0

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 (176) hide show
  1. package/dist/agent-operations/__fixtures__/native-materials.d.ts +4 -0
  2. package/dist/agent-operations/__fixtures__/native-materials.d.ts.map +1 -1
  3. package/dist/agent-operations/__fixtures__/roof-bearing-cases.d.ts +11283 -11279
  4. package/dist/agent-operations/__fixtures__/roof-bearing-cases.d.ts.map +1 -1
  5. package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts +77 -77
  6. package/dist/agent-operations/author-scene.d.ts.map +1 -1
  7. package/dist/agent-operations/author-scene.js +2 -3
  8. package/dist/agent-operations/circulation-spaces.d.ts +3181 -3180
  9. package/dist/agent-operations/circulation-spaces.d.ts.map +1 -1
  10. package/dist/agent-operations/level-reads.js +1 -1
  11. package/dist/agent-operations/move-plan.d.ts.map +1 -1
  12. package/dist/agent-operations/move-plan.js +11 -9
  13. package/dist/agent-operations/scene-queries.d.ts +2328 -2327
  14. package/dist/agent-operations/scene-queries.d.ts.map +1 -1
  15. package/dist/agent-operations/verify-scene.d.ts.map +1 -1
  16. package/dist/agent-operations/verify-scene.js +4 -2
  17. package/dist/agent-operations/wall-object-observations.d.ts.map +1 -1
  18. package/dist/agent-operations/wall-object-observations.js +1 -1
  19. package/dist/agent-tools/wall-openings.js +2 -2
  20. package/dist/building/__fixtures__/wall-opening-cases.d.ts +229 -228
  21. package/dist/building/__fixtures__/wall-opening-cases.d.ts.map +1 -1
  22. package/dist/building/level-duplication.d.ts +3681 -3679
  23. package/dist/building/level-duplication.d.ts.map +1 -1
  24. package/dist/building/merge-windows.d.ts.map +1 -1
  25. package/dist/building/merge-windows.js +4 -3
  26. package/dist/building/wall-openings.d.ts +20 -6
  27. package/dist/building/wall-openings.d.ts.map +1 -1
  28. package/dist/building/wall-openings.js +74 -25
  29. package/dist/commands/structure/shared.d.ts +1 -0
  30. package/dist/commands/structure/shared.d.ts.map +1 -1
  31. package/dist/commands/structure/zone-wall-merge.d.ts +2351 -2348
  32. package/dist/commands/structure/zone-wall-merge.d.ts.map +1 -1
  33. package/dist/contracts/reference-inventory.d.ts.map +1 -1
  34. package/dist/contracts/reference-inventory.js +0 -1
  35. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +6 -1
  36. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
  37. package/dist/hooks/spatial-grid/spatial-grid-manager.js +30 -9
  38. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +3181 -3180
  39. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
  40. package/dist/hooks/spatial-grid/spatial-grid-sync.js +8 -4
  41. package/dist/index.d.ts +11 -4
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +11 -4
  44. package/dist/lib/__fixtures__/mezzanine.d.ts +8595 -8591
  45. package/dist/lib/__fixtures__/mezzanine.d.ts.map +1 -1
  46. package/dist/lib/absorb-wall-separators.d.ts +1664 -1663
  47. package/dist/lib/absorb-wall-separators.d.ts.map +1 -1
  48. package/dist/lib/build-mode.d.ts +11 -0
  49. package/dist/lib/build-mode.d.ts.map +1 -0
  50. package/dist/lib/build-mode.js +24 -0
  51. package/dist/lib/corner-pair.d.ts +2 -0
  52. package/dist/lib/corner-pair.d.ts.map +1 -1
  53. package/dist/lib/door-interaction.d.ts +14 -0
  54. package/dist/lib/door-interaction.d.ts.map +1 -0
  55. package/dist/lib/door-interaction.js +62 -0
  56. package/dist/lib/elevator-support.d.ts +15 -0
  57. package/dist/lib/elevator-support.d.ts.map +1 -0
  58. package/dist/lib/elevator-support.js +40 -0
  59. package/dist/lib/floor-intent-changes.d.ts.map +1 -1
  60. package/dist/lib/floor-intent-changes.js +6 -4
  61. package/dist/lib/hierarchy.d.ts +19 -0
  62. package/dist/lib/hierarchy.d.ts.map +1 -0
  63. package/dist/lib/hierarchy.js +53 -0
  64. package/dist/lib/opening-floor-datum.d.ts +1 -1
  65. package/dist/lib/opening-floor-datum.d.ts.map +1 -1
  66. package/dist/lib/opening-floor-datum.js +2 -2
  67. package/dist/lib/own-floor-intent.d.ts.map +1 -1
  68. package/dist/lib/own-floor-intent.js +2 -2
  69. package/dist/lib/polygon-boolean.d.ts.map +1 -1
  70. package/dist/lib/polygon-boolean.js +2 -1
  71. package/dist/lib/room-floor-elevation.d.ts +12 -0
  72. package/dist/lib/room-floor-elevation.d.ts.map +1 -0
  73. package/dist/lib/room-floor-elevation.js +41 -0
  74. package/dist/lib/room-floor-feasibility.d.ts.map +1 -1
  75. package/dist/lib/room-floor-feasibility.js +1 -1
  76. package/dist/lib/space-detection.d.ts.map +1 -1
  77. package/dist/lib/space-detection.js +1 -0
  78. package/dist/lib/wall-face-script.d.ts.map +1 -1
  79. package/dist/lib/wall-face-script.js +3 -3
  80. package/dist/lib/window-interaction.d.ts +16 -0
  81. package/dist/lib/window-interaction.d.ts.map +1 -0
  82. package/dist/lib/window-interaction.js +82 -0
  83. package/dist/lib/zone-quantities.js +1 -1
  84. package/dist/node-slots/column.d.ts +5 -0
  85. package/dist/node-slots/column.d.ts.map +1 -1
  86. package/dist/node-slots/column.js +10 -0
  87. package/dist/registry/index.d.ts +1 -1
  88. package/dist/registry/index.d.ts.map +1 -1
  89. package/dist/registry/index.js +1 -1
  90. package/dist/registry/registry.d.ts +5 -0
  91. package/dist/registry/registry.d.ts.map +1 -1
  92. package/dist/registry/registry.js +10 -0
  93. package/dist/registry/types.d.ts +24 -0
  94. package/dist/registry/types.d.ts.map +1 -1
  95. package/dist/schema/index.d.ts +1 -1
  96. package/dist/schema/index.d.ts.map +1 -1
  97. package/dist/schema/index.js +1 -1
  98. package/dist/schema/nodes/roof-segment-resize.d.ts.map +1 -1
  99. package/dist/schema/nodes/roof-segment-resize.js +2 -2
  100. package/dist/schema/nodes/roof-segment.d.ts +2 -0
  101. package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
  102. package/dist/schema/nodes/roof-segment.js +40 -2
  103. package/dist/schema/nodes/wall.d.ts +1 -0
  104. package/dist/schema/nodes/wall.d.ts.map +1 -1
  105. package/dist/schema/nodes/wall.js +6 -0
  106. package/dist/schema/types.d.ts +1 -0
  107. package/dist/schema/types.d.ts.map +1 -1
  108. package/dist/services/index.d.ts +1 -1
  109. package/dist/services/index.d.ts.map +1 -1
  110. package/dist/services/index.js +1 -1
  111. package/dist/services/movement.d.ts +7 -0
  112. package/dist/services/movement.d.ts.map +1 -1
  113. package/dist/services/movement.js +13 -0
  114. package/dist/services/port-connectivity.d.ts +15 -6
  115. package/dist/services/port-connectivity.d.ts.map +1 -1
  116. package/dist/services/port-connectivity.js +83 -17
  117. package/dist/services/roof-bearing.js +2 -1
  118. package/dist/services/storey.d.ts +6 -1
  119. package/dist/services/storey.d.ts.map +1 -1
  120. package/dist/services/storey.js +11 -2
  121. package/dist/spatial/usage-field/swings.d.ts +1 -0
  122. package/dist/spatial/usage-field/swings.d.ts.map +1 -1
  123. package/dist/spatial/usage-field/walls.d.ts +2 -0
  124. package/dist/spatial/usage-field/walls.d.ts.map +1 -1
  125. package/dist/spatial/usage-field/walls.js +18 -4
  126. package/dist/store/actions/node-actions.d.ts +1614 -1613
  127. package/dist/store/actions/node-actions.d.ts.map +1 -1
  128. package/dist/store/actions/node-actions.js +23 -5
  129. package/dist/store/derived-node-guard.d.ts.map +1 -1
  130. package/dist/store/derived-node-guard.js +2 -1
  131. package/dist/store/scene-annotations.d.ts +5033 -5031
  132. package/dist/store/scene-annotations.d.ts.map +1 -1
  133. package/dist/systems/elevator/elevator-geometry.d.ts +25 -0
  134. package/dist/systems/elevator/elevator-geometry.d.ts.map +1 -1
  135. package/dist/systems/elevator/elevator-geometry.js +40 -8
  136. package/dist/systems/elevator/elevator-opening-sync.d.ts.map +1 -1
  137. package/dist/systems/elevator/elevator-opening-sync.js +4 -35
  138. package/dist/systems/elevator/elevator-runtime.d.ts.map +1 -1
  139. package/dist/systems/elevator/elevator-runtime.js +95 -18
  140. package/dist/systems/elevator/elevator-service.d.ts.map +1 -1
  141. package/dist/systems/elevator/elevator-service.js +24 -4
  142. package/dist/systems/roof/roof-elevation.d.ts.map +1 -1
  143. package/dist/systems/roof/roof-elevation.js +2 -1
  144. package/dist/systems/slab/__fixtures__/floor-step.d.ts +1614 -1610
  145. package/dist/systems/slab/__fixtures__/floor-step.d.ts.map +1 -1
  146. package/dist/systems/slab/__fixtures__/raised-room.d.ts +2924 -2920
  147. package/dist/systems/slab/__fixtures__/raised-room.d.ts.map +1 -1
  148. package/dist/systems/stair/stair-opening-preview.d.ts +1147 -1146
  149. package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
  150. package/dist/systems/wall/wall-curve.d.ts +10 -0
  151. package/dist/systems/wall/wall-curve.d.ts.map +1 -1
  152. package/dist/systems/wall/wall-curve.js +38 -0
  153. package/dist/systems/wall/wall-frame.d.ts.map +1 -1
  154. package/dist/systems/wall/wall-frame.js +8 -0
  155. package/dist/systems/wall/wall-merge.d.ts +9 -1
  156. package/dist/systems/wall/wall-merge.d.ts.map +1 -1
  157. package/dist/systems/wall/wall-merge.js +38 -6
  158. package/dist/systems/wall/wall-top.d.ts +10 -3
  159. package/dist/systems/wall/wall-top.d.ts.map +1 -1
  160. package/dist/systems/wall/wall-top.js +24 -8
  161. package/dist/systems/wall/wall-topology.d.ts.map +1 -1
  162. package/dist/systems/wall/wall-topology.js +19 -1
  163. package/dist/utils/ensure-scene-openings.d.ts +4354 -4352
  164. package/dist/utils/ensure-scene-openings.d.ts.map +1 -1
  165. package/dist/utils/floor-plate-migration.d.ts +1664 -1663
  166. package/dist/utils/floor-plate-migration.d.ts.map +1 -1
  167. package/dist/utils/measurement-format.d.ts +27 -0
  168. package/dist/utils/measurement-format.d.ts.map +1 -0
  169. package/dist/utils/measurement-format.js +143 -0
  170. package/dist/utils/owned-floor-opening-migration.d.ts +1147 -1146
  171. package/dist/utils/owned-floor-opening-migration.d.ts.map +1 -1
  172. package/dist/utils/reconcile-structure-on-load.d.ts +439 -438
  173. package/dist/utils/reconcile-structure-on-load.d.ts.map +1 -1
  174. package/dist/validation/validate-build-json.d.ts.map +1 -1
  175. package/dist/validation/validate-build-json.js +3 -1
  176. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scene-queries.d.ts","sourceRoot":"","sources":["../../src/agent-operations/scene-queries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAErE,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAA;AACvD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAOD,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,OAAO,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,CAI3E;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAStE;AAED,kGAAkG;AAClG,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,EAAE,CAetE;AAED,6EAA6E;AAC7E,eAAO,MAAM,YAAY,UAAW,UAAU,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAkC,CAAA;AAEjG,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,aAAa,CAexE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO;;;;EAY1D"}
1
+ {"version":3,"file":"scene-queries.d.ts","sourceRoot":"","sources":["../../src/agent-operations/scene-queries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAErE,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAA;AACvD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAOD,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,OAAO,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,CAI3E;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAStE;AAED,kGAAkG;AAClG,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,EAAE,CAetE;AAED,6EAA6E;AAC7E,eAAO,MAAM,YAAY,UAAW,UAAU,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAkC,CAAA;AAEjG,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,aAAa,CAexE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO;;;;EAY1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify-scene.d.ts","sourceRoot":"","sources":["../../src/agent-operations/verify-scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-scene.d.ts","sourceRoot":"","sources":["../../src/agent-operations/verify-scene.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { levelBuildingId } from '../building/level-duplication.js';
2
2
  import { levelGradeStanding } from '../lib/grade-standing.js';
3
3
  import { groundSeat } from '../lib/ground-seat.js';
4
+ import { hierarchyCycleErrors } from '../lib/hierarchy.js';
4
5
  import { getLevelDisplayName } from '../lib/level-name.js';
5
6
  import { HIDDEN_SITE_NOTE } from '../lib/node-visibility.js';
6
7
  import { wallSupportForNodes } from '../lib/opening-floor-datum.js';
@@ -167,7 +168,7 @@ function withDefaults(node, parsed) {
167
168
  * kind's, else core's. The checks that measure read each node with its defaults filled. A node its schema
168
169
  * rejects is listed field by field and left `unread`: they could not read it. A node of a kind no
169
170
  * schema here knows (a plugin's, where the plugin is not loaded) is counted by kind and kept as
170
- * stored: the checks never read it.
171
+ * stored: the checks never read it. Each node on a parent cycle is listed by its `parentId`.
171
172
  */
172
173
  function checkSchemas(scene, hostSchema) {
173
174
  const errors = [];
@@ -193,6 +194,7 @@ function checkSchemas(scene, hostSchema) {
193
194
  errors.push({ nodeId: id, path: issue.path.join('.'), message: issue.message });
194
195
  unread.add(id);
195
196
  }
197
+ errors.push(...hierarchyCycleErrors(scene));
196
198
  return { errors, unknownKinds, unread, measured };
197
199
  }
198
200
  /**
@@ -319,7 +321,7 @@ export const verifyScene = (scene, input, context) => {
319
321
  for (const level of levels) {
320
322
  for (const wall of ofType(onLevel(level.levelId), 'wall')) {
321
323
  const base = wallSupportForNodes(wall, nodes).elevation;
322
- const wallTop = getWallTop(wall, level.levelId, nodes, base);
324
+ const wallTop = Math.max(getWallTop(wall, level.levelId, nodes, base, 0), getWallTop(wall, level.levelId, nodes, base, 1));
323
325
  for (const { slab, top: slabTop, underside: slabUnderside } of getWallCoveringSlabs(wall, level.levelId, nodes)) {
324
326
  const penetration = Math.max(0, Math.min(wallTop, slabTop) - Math.max(base, slabUnderside));
325
327
  const coplanar = Math.abs(wallTop - slabTop) <= 1e-6;
@@ -1 +1 @@
1
- {"version":3,"file":"wall-object-observations.d.ts","sourceRoot":"","sources":["../../src/agent-operations/wall-object-observations.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,IAAI,EAEV,MAAM,wBAAwB,CAAA;AAQ/B,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,WAAW,CAAA;AAK5D,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AACpC,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAAA;AAC3E,+FAA+F;AAC/F,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAAC,KAAK,EAAE,cAAc,EAAE,CAAA;CAAE,CAAA;AAC7E,KAAK,QAAQ,GAAG;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,GAAG,MAAM,CAAA;IACtB,eAAe,EAAE,UAAU,CAAA;IAC3B,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAA;IACjC,QAAQ,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,CAAA;CACvF,CAAA;AACD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG;IAC7C,IAAI,EACA,wBAAwB,GACxB,mBAAmB,GACnB,iBAAiB,GACjB,yBAAyB,GACzB,gCAAgC,CAAA;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAgID,4GAA4G;AAC5G,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM,GAC1D,qBAAqB,EAAE,CAmJzB"}
1
+ {"version":3,"file":"wall-object-observations.d.ts","sourceRoot":"","sources":["../../src/agent-operations/wall-object-observations.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,IAAI,EAEV,MAAM,wBAAwB,CAAA;AAQ/B,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,WAAW,CAAA;AAK5D,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AACpC,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAAA;AAC3E,+FAA+F;AAC/F,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAAC,KAAK,EAAE,cAAc,EAAE,CAAA;CAAE,CAAA;AAC7E,KAAK,QAAQ,GAAG;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,GAAG,MAAM,CAAA;IACtB,eAAe,EAAE,UAAU,CAAA;IAC3B,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAA;IACjC,QAAQ,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,CAAA;CACvF,CAAA;AACD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG;IAC7C,IAAI,EACA,wBAAwB,GACxB,mBAAmB,GACnB,iBAAiB,GACjB,yBAAyB,GACzB,gCAAgC,CAAA;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAoID,4GAA4G;AAC5G,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM,GAC1D,qBAAqB,EAAE,CAmJzB"}
@@ -61,7 +61,7 @@ function scriptGeometry(item, wall) {
61
61
  }
62
62
  function wallSolid(wall, nodes) {
63
63
  const support = wallSupportForNodes(wall, nodes).elevation;
64
- const height = getWallTop(wall, wall.parentId, nodes, support) - support;
64
+ const height = Math.max(getWallTop(wall, wall.parentId, nodes, support, 0), getWallTop(wall, wall.parentId, nodes, support, 1)) - support;
65
65
  const length = Math.hypot(wall.end[0] - wall.start[0], wall.end[1] - wall.start[1]);
66
66
  if (![height, length, support, wall.thickness ?? 0.1].every(Number.isFinite) ||
67
67
  height <= 0 ||
@@ -70,7 +70,7 @@ export const doorDetailFields = {
70
70
  export const addDoorTool = {
71
71
  name: 'add_door',
72
72
  title: 'Add door',
73
- description: 'Add a door to an existing straight wall at t (0..1 along it), or a passage with no leaf (openingKind opening: a cased opening, an arch). The door slides to stay on the wall and reports clamped. On a railing (wallType railing) it is a gap in the guard as tall as the railing, with no leaf, casing or threshold. Refused with a code, as in the editor: curved walls, walls shorter than the door, and overlapping another door, window or wall item unless force is set. Match the reference with the outline (rectangle, rounded, arch), doorType and style; what they cannot express (glass strips, a pattern of lites, carved panels) is written as a script in code, never left as not possible. Not available in run_batch: the host opening executor prepares scripted creation and rebuilds, which a batch does not prepare.',
73
+ description: 'Add a door to an existing straight wall at t (0..1 along it), or a passage with no leaf (openingKind opening: a cased opening, an arch). The door slides to stay on the wall and reports clamped. On a railing (wallType railing) it is a gap in the guard as tall as the railing, with no leaf, casing or threshold. Refused with a code, as in the editor: curved walls, walls shorter than the door, a door taller than the wall top where it stands or anywhere along a sloped wall (wall_too_low), and overlapping another door, window or wall item unless force is set. Match the reference with the outline (rectangle, rounded, arch), doorType and style; what they cannot express (glass strips, a pattern of lites, carved panels) is written as a script in code, never left as not possible. Not available in run_batch: the host opening executor prepares scripted creation and rebuilds, which a batch does not prepare.',
74
74
  input: {
75
75
  wallId: NodeId.optional().describe('The wall to add the door to.'),
76
76
  nodeId: NodeId.optional().describe('Rebuild this door instead of adding one: new code and/or params (get_source provides current code when needed). Its native fields change with update_node.'),
@@ -199,7 +199,7 @@ export const windowDetailFields = {
199
199
  export const addWindowTool = {
200
200
  name: 'add_window',
201
201
  title: 'Add window',
202
- description: "Add a window to an existing straight wall at t (0..1 along it), centred vertically on the wall, or on sillHeight above the floor when given. It slides to stay on the wall and under the wall's ceiling, and reports clamped. Refused with a code, as in the editor: curved walls, railings (railing_window: a railing takes a door, a gap in its guard), walls shorter than the window, overlapping another door, window or wall item unless force is set, and a style on a window that is not Fixed (style_needs_fixed_window). Match the reference with the outline (rectangle, rounded, arch), windowType and panes (columns × rows, or a style); what they cannot express (glass strips, leaded lites, a feature frame) is written as a script in code, never left as not possible. Not available in run_batch: the host opening executor prepares scripted creation and rebuilds, which a batch does not prepare.",
202
+ description: "Add a window to an existing straight wall at t (0..1 along it), centred vertically on the wall, or on sillHeight above the floor when given. It slides to stay on the wall and under the wall's ceiling, and reports clamped. Refused with a code, as in the editor: curved walls, railings (railing_window: a railing takes a door, a gap in its guard), walls shorter than the window, a window that fits nowhere under a sloped wall's top (wall_too_low), overlapping another door, window or wall item unless force is set, and a style on a window that is not Fixed (style_needs_fixed_window). Match the reference with the outline (rectangle, rounded, arch), windowType and panes (columns × rows, or a style); what they cannot express (glass strips, leaded lites, a feature frame) is written as a script in code, never left as not possible. Not available in run_batch: the host opening executor prepares scripted creation and rebuilds, which a batch does not prepare.",
203
203
  input: {
204
204
  wallId: NodeId.optional().describe('The wall to add the window to.'),
205
205
  nodeId: NodeId.optional().describe('Rebuild this window instead of adding one: new code and/or params (get_source provides current code when needed). Its native fields change with update_node.'),
@@ -33,234 +33,6 @@ 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
- } | {
264
36
  object: "node";
265
37
  name?: string | undefined;
266
38
  parentId: string | null;
@@ -499,6 +271,7 @@ export declare function openingScene(): {
499
271
  } | undefined;
500
272
  justification?: "a" | "b" | undefined;
501
273
  height?: number | undefined;
274
+ endHeightOffset?: number | undefined;
502
275
  curveOffset?: number | undefined;
503
276
  supportSlabId?: string | undefined;
504
277
  supportOffset?: number | undefined;
@@ -1059,6 +832,234 @@ export declare function openingScene(): {
1059
832
  position: [number, number, number];
1060
833
  rotation: [number, number, number];
1061
834
  groundLevelId?: `level_${string}` | undefined;
835
+ } | {
836
+ object: "node";
837
+ name?: string | undefined;
838
+ parentId: string | null;
839
+ visible: boolean;
840
+ camera?: {
841
+ position: [number, number, number];
842
+ target: [number, number, number];
843
+ mode: "orthographic" | "perspective";
844
+ fov?: number | undefined;
845
+ zoom?: number | undefined;
846
+ } | undefined;
847
+ metadata: Record<string, unknown>;
848
+ provenance?: {
849
+ refs: {
850
+ ns?: string | undefined;
851
+ id: string;
852
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
853
+ }[];
854
+ lineage?: {
855
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
856
+ fromIds: string[];
857
+ } | undefined;
858
+ } | 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;
1062
1063
  };
1063
1064
  };
1064
1065
  rootNodeIds: `building_${string}`[];
@@ -1 +1 @@
1
- {"version":3,"file":"wall-opening-cases.d.ts","sourceRoot":"","sources":["../../../src/building/__fixtures__/wall-opening-cases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wall-opening-cases.d.ts","sourceRoot":"","sources":["../../../src/building/__fixtures__/wall-opening-cases.ts"],"names":[],"mappings":"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"}