@ifc-lite/viewer 1.22.0 → 1.23.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 (566) hide show
  1. package/.turbo/turbo-build.log +71 -44
  2. package/CHANGELOG.md +73 -0
  3. package/dist/assets/__vite-browser-external-B1O5LaIO.js +1 -0
  4. package/dist/assets/{arrow-fie-E7fe.js → arrow-CXWhTnNT.js} +1 -1
  5. package/dist/assets/{basketViewActivator-EHAhHlwN.js → basketViewActivator-Dn_bHUl2.js} +10 -10
  6. package/dist/assets/{bcf-Bhx-K17f.js → bcf-B9SFl84i.js} +2 -2
  7. package/dist/assets/browser-DXS29_v9.js +695 -0
  8. package/dist/assets/{cesium-B4ZIU9jS.js → cesium-BoVuJvTC.js} +5838 -5730
  9. package/dist/assets/{decode-worker-CYqSjk1n.js → decode-worker-CgM1iNSK.js} +1 -1
  10. package/dist/assets/deflate-yMpdCIqk.js +1 -0
  11. package/dist/assets/{drawing-2d-Bjy8YPrg.js → drawing-2d-C71b8Ugx.js} +1 -1
  12. package/dist/assets/emscripten-module-B1g2L2eS.wasm +0 -0
  13. package/dist/assets/emscripten-module-DHbYPfAp.wasm +0 -0
  14. package/dist/assets/emscripten-module-ZrHFMo7O.wasm +0 -0
  15. package/dist/assets/emscripten-module-uFzwHH0Y.wasm +0 -0
  16. package/dist/assets/emscripten-module.browser-BLJD5hhE.js +1 -0
  17. package/dist/assets/{esbuild-Cpd5nU_H.wasm → esbuild-CzsZLPr0.wasm} +0 -0
  18. package/dist/assets/esbuild-FgU11_Eg.js +1 -0
  19. package/dist/assets/event-B0kAzHa-.js +1 -0
  20. package/dist/assets/{exporters-KTio0Tdm.js → exporters-D-BvrNIg.js} +1361 -1330
  21. package/dist/assets/ffi-Boa1QuFa.js +1 -0
  22. package/dist/assets/{geometry-controller.worker-Cm2P_EJr.js → geometry-controller.worker-Cm5pvyR6.js} +2 -2
  23. package/dist/assets/geometry.worker-ClNvXIrj.js +1 -0
  24. package/dist/assets/geotiff-D1tvcDCb.js +3354 -0
  25. package/dist/assets/{ids-CS7VCFin.js → ids-DZLs0snJ.js} +6 -6
  26. package/dist/assets/{ifc-lite-C6wEhXa6.js → ifc-lite-BDg0iIbj.js} +2 -2
  27. package/dist/assets/ifc-lite_bg-BIryVCXQ.wasm +0 -0
  28. package/dist/assets/ifc-lite_bg-DyHX37GQ.wasm +0 -0
  29. package/dist/assets/{index-8k9h-ANq.js → index-CXSBhkcJ.js} +64181 -52931
  30. package/dist/assets/index-DMho-JA0.js +6 -0
  31. package/dist/assets/index-DS_xJQfP.css +1 -0
  32. package/dist/assets/jpeg-DUMcZp24.js +1 -0
  33. package/dist/assets/{laz-perf-DnSyzVYH.wasm → laz-perf-CFJp03W6.wasm} +0 -0
  34. package/dist/assets/laz-perf-DgUOSLeU.js +1 -0
  35. package/dist/assets/{laz-source-jj3xI5Y4.js → laz-source-BWjza0Iw.js} +2 -2
  36. package/dist/assets/{lens-CSASnhAL.js → lens-CpjUdqpw.js} +1 -1
  37. package/dist/assets/lerc-IN4uWojP.js +1 -0
  38. package/dist/assets/lzw-Cnw0hH-m.js +1 -0
  39. package/dist/assets/maplibre-gl-Do6O5tDc.js +800 -0
  40. package/dist/assets/{native-bridge-DNrEhx2R.js → native-bridge-BVf2uzoH.js} +3 -3
  41. package/dist/assets/packbits-BskJCwk0.js +1 -0
  42. package/dist/assets/pako.esm-Cram60i4.js +1 -0
  43. package/dist/assets/parquet_wasm_bg-DcKVfvto.wasm +0 -0
  44. package/dist/assets/{parser.worker-BcjkIo89.js → parser.worker-BdtkkaGf.js} +3 -3
  45. package/dist/assets/raw-DzTtEZIY.js +1 -0
  46. package/dist/assets/{sandbox-BSn5MyEJ.js → sandbox-VLI_y7cl.js} +1664 -1542
  47. package/dist/assets/{server-client-D-kU2XAF.js → server-client-BLcKaWQB.js} +4 -4
  48. package/dist/assets/three-CQBzFWY2.js +4104 -0
  49. package/dist/assets/wasm-bridge-BAfZh7YT.js +1 -0
  50. package/dist/assets/webimage-Db2xzze3.js +1 -0
  51. package/dist/assets/{workerHelpers-pUUnk9Wc.js → workerHelpers--sAYm9yN.js} +1 -1
  52. package/dist/assets/zstd-BDToOQyD.js +1 -0
  53. package/dist/cesium/{Workers/chunk-V7QEYVP3.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-236YIEYT.js} +2 -2
  54. package/dist/cesium/{Workers/chunk-5TJMAQVL.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-2ZYB3DYT.js} +2 -2
  55. package/dist/cesium/{Workers/chunk-UBOGZS7F.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-4M56RRIL.js} +2 -2
  56. package/dist/cesium/{Workers/chunk-OCWJRAXS.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-5BC2Q3QW.js} +2 -2
  57. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-5XHUDY37.js +26 -0
  58. package/dist/cesium/{Workers/chunk-Z3QF2EHT.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-6WMLAJJP.js} +2 -2
  59. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-72KUXMWU.js +26 -0
  60. package/dist/cesium/{Workers/chunk-EQ4YRVWL.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-7NQYTTAU.js} +2 -2
  61. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-A35GG5WJ.js +26 -0
  62. package/dist/cesium/{Workers/chunk-FC4ZZ65J.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-AXNBHUAG.js} +2 -2
  63. package/dist/cesium/{Workers/chunk-BTSYJ5XU.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-DC3K7YTH.js} +2 -2
  64. package/dist/cesium/{Workers/chunk-SLT4J352.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-DRBPXGI7.js} +2 -2
  65. package/dist/cesium/{Workers/chunk-2MJIIVP4.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EARRZPMO.js} +2 -2
  66. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EHC3BDVP.js +26 -0
  67. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EYZUSGKM.js +26 -0
  68. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EZSKHVA2.js +26 -0
  69. package/dist/cesium/{Workers/chunk-ICALLYLG.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-F3WJIFOO.js} +2 -2
  70. package/dist/cesium/{Workers/chunk-LSLE2RL4.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-FB7UV5BI.js} +2 -2
  71. package/dist/cesium/{Workers/chunk-CUUSNIVQ.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-FC6IYMYF.js} +2 -2
  72. package/dist/cesium/{Workers/chunk-TNSUQXWK.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-GF67PEXE.js} +2 -2
  73. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-GXEQRH2R.js +26 -0
  74. package/dist/cesium/{Workers/chunk-M4HLDBCG.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-I5NKQIWE.js} +2 -2
  75. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-IH7GXIUB.js +26 -0
  76. package/dist/cesium/{Workers/chunk-OIT7J4IC.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-IPP3UFGH.js} +2 -2
  77. package/dist/cesium/{Workers/chunk-WWWZVEEH.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-IYRGNBSH.js} +2 -2
  78. package/dist/cesium/{Workers/chunk-WPMZLB3Y.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-J6BM74AD.js} +2 -2
  79. package/dist/cesium/{Workers/chunk-QFM5DCMQ.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-KG2GJUJT.js} +1 -1
  80. package/dist/cesium/{Workers/chunk-XQHLGIO7.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-L7UE5MMF.js} +2 -2
  81. package/dist/cesium/{Workers/chunk-EFBN7QNX.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-LBZ34MHQ.js} +2 -2
  82. package/dist/cesium/{Workers/chunk-YP7I5QBZ.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-LOQDTQMX.js} +2 -2
  83. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-LYLRYC4L.js +29 -0
  84. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-MGPRMLLW.js +26 -0
  85. package/dist/cesium/{Workers/chunk-LI2ZSORM.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-NP26LKQA.js} +2 -2
  86. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-OMUAZ3NM.js +26 -0
  87. package/dist/cesium/{Workers/chunk-S44JILQT.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-PPFUDJN4.js} +2 -2
  88. package/dist/cesium/{Workers/chunk-EDVBB7SS.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-PQ3V63XF.js} +2 -2
  89. package/dist/cesium/{Workers/chunk-Q5BPHJQF.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-PWBQN4GK.js} +2 -2
  90. package/dist/cesium/{Workers/chunk-E7KYDCM5.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-QOTMLO2T.js} +2 -2
  91. package/dist/cesium/{Workers/chunk-XUSCFAVF.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-SP35IT73.js} +2 -2
  92. package/dist/cesium/{Workers/chunk-6BD4U3VO.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-T3ZGSZKA.js} +2 -2
  93. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-TM6SYYHO.js +28 -0
  94. package/dist/cesium/{Workers/chunk-VUKYSU4H.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-TSGIJVWH.js} +2 -2
  95. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-U3YGOX3C.js +63 -0
  96. package/dist/cesium/{Workers/chunk-7TVGLKQF.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VBYOXOSM.js} +2 -2
  97. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VCOHJNKB.js +26 -0
  98. package/dist/cesium/{Workers/chunk-WBOV35NL.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VXAZXMUX.js} +2 -2
  99. package/dist/cesium/{Workers/chunk-IX4VMHEV.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VXCJOT4W.js} +2 -2
  100. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-WPD3MB6X.js +26 -0
  101. package/dist/cesium/{Workers/chunk-V3OSTMM6.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-X4D5KUN5.js} +2 -2
  102. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XEC656IT.js +26 -0
  103. package/dist/cesium/{Workers/chunk-MJHHSGEH.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XR53QRQS.js} +2 -2
  104. package/dist/cesium/{Workers/chunk-XFIQ5DEQ.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XR7MN4PJ.js} +2 -2
  105. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XU6O4MRS.js +26 -0
  106. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XZBHEBLF.js +29 -0
  107. package/dist/cesium/{Workers/chunk-OLZ3FYUM.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-Z2M4BF4E.js} +2 -2
  108. package/dist/cesium/{Workers/chunk-2ZBHLJST.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-Z4ERBZFB.js} +2 -2
  109. package/dist/cesium/{Workers/chunk-W37FE5GR.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-ZY2KCIWI.js} +2 -2
  110. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/combineGeometry.js +2 -2
  111. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createBoxGeometry.js +2 -2
  112. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createBoxOutlineGeometry.js +2 -2
  113. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCircleGeometry.js +2 -2
  114. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCircleOutlineGeometry.js +2 -2
  115. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCoplanarPolygonGeometry.js +2 -2
  116. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js +26 -0
  117. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCorridorGeometry.js +2 -2
  118. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCorridorOutlineGeometry.js +2 -2
  119. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCylinderGeometry.js +2 -2
  120. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCylinderOutlineGeometry.js +2 -2
  121. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createEllipseGeometry.js +2 -2
  122. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createEllipseOutlineGeometry.js +2 -2
  123. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createEllipsoidGeometry.js +2 -2
  124. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createEllipsoidOutlineGeometry.js +2 -2
  125. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createFrustumGeometry.js +2 -2
  126. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createFrustumOutlineGeometry.js +2 -2
  127. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createGeometry.js +2 -2
  128. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/createGroundPolylineGeometry.js +26 -0
  129. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPlaneGeometry.js +2 -2
  130. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPlaneOutlineGeometry.js +2 -2
  131. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPolygonGeometry.js +2 -2
  132. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPolygonOutlineGeometry.js +2 -2
  133. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPolylineGeometry.js +2 -2
  134. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPolylineVolumeGeometry.js +2 -2
  135. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPolylineVolumeOutlineGeometry.js +2 -2
  136. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createRectangleGeometry.js +2 -2
  137. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createRectangleOutlineGeometry.js +2 -2
  138. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createSimplePolylineGeometry.js +2 -2
  139. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createSphereGeometry.js +2 -2
  140. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createSphereOutlineGeometry.js +2 -2
  141. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createTaskProcessorWorker.js +2 -2
  142. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVectorTileClampedPolylines.js +2 -2
  143. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVectorTileGeometries.js +2 -2
  144. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVectorTilePoints.js +2 -2
  145. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVectorTilePolygons.js +2 -2
  146. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVectorTilePolylines.js +2 -2
  147. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVerticesFromCesium3DTilesTerrain.js +2 -2
  148. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVerticesFromGoogleEarthEnterpriseBuffer.js +2 -2
  149. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVerticesFromHeightmap.js +2 -2
  150. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVerticesFromQuantizedTerrainMesh.js +2 -2
  151. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createWallGeometry.js +2 -2
  152. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createWallOutlineGeometry.js +2 -2
  153. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/decodeDraco.js +2 -2
  154. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/decodeGoogleEarthEnterprisePacket.js +2 -2
  155. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/decodeI3S.js +2 -2
  156. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/gaussianSplatSorter.js +2 -2
  157. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/gaussianSplatTextureGenerator.js +2 -2
  158. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/incrementallyBuildTerrainPicker.js +2 -2
  159. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/transcodeKTX2.js +56 -0
  160. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/transferTypedArrayTest.js +1 -1
  161. package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/upsampleQuantizedTerrainMesh.js +26 -0
  162. package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/upsampleVerticesFromCesium3DTilesTerrain.js +2 -2
  163. package/dist/index.html +11 -11
  164. package/package.json +52 -45
  165. package/src/components/mcp/McpLanding.tsx +1 -1
  166. package/src/components/mcp/McpPlayground.tsx +1 -1
  167. package/src/components/viewer/AddElementPanel.tsx +2 -2
  168. package/src/components/viewer/BasepointOverlay.tsx +239 -0
  169. package/src/components/viewer/CesiumOverlay.tsx +15 -59
  170. package/src/components/viewer/CesiumPlacementEditor.tsx +16 -1
  171. package/src/components/viewer/CommandPalette.tsx +25 -0
  172. package/src/components/viewer/GLBExportDialog.tsx +389 -0
  173. package/src/components/viewer/GeometryAxisRow.tsx +54 -0
  174. package/src/components/viewer/GeometryEditCard.tsx +392 -0
  175. package/src/components/viewer/HierarchyPanel.tsx +2 -2
  176. package/src/components/viewer/IDSAuditSummary.tsx +2 -2
  177. package/src/components/viewer/KeyboardShortcutsDialog.tsx +58 -4
  178. package/src/components/viewer/MainToolbar.tsx +292 -29
  179. package/src/components/viewer/PropertiesPanel.tsx +28 -31
  180. package/src/components/viewer/StatusBar.tsx +12 -0
  181. package/src/components/viewer/ToolOverlays.tsx +36 -0
  182. package/src/components/viewer/ViewerLayout.tsx +27 -0
  183. package/src/components/viewer/Viewport.tsx +49 -4
  184. package/src/components/viewer/ViewportContainer.tsx +88 -17
  185. package/src/components/viewer/ViewportOverlays.tsx +50 -11
  186. package/src/components/viewer/chat/ByokKeyModal.tsx +1 -1
  187. package/src/components/viewer/properties/FederationAlignmentControls.tsx +180 -0
  188. package/src/components/viewer/properties/GeoreferencingPanel.tsx +6 -0
  189. package/src/components/viewer/properties/PrecisionGridBadge.tsx +125 -0
  190. package/src/components/viewer/properties/raw-step-format.ts +5 -3
  191. package/src/components/viewer/selectionHandlers.ts +301 -10
  192. package/src/components/viewer/tools/GizmoOverlay.tsx +322 -0
  193. package/src/components/viewer/tools/SplitNumericInput.tsx +225 -0
  194. package/src/components/viewer/tools/SplitOverlay.tsx +242 -0
  195. package/src/components/viewer/tools/WallEndpointOverlay.tsx +252 -0
  196. package/src/components/viewer/useGeometryStreaming.ts +100 -1
  197. package/src/components/viewer/useMouseControls.ts +8 -1
  198. package/src/hooks/useBCF.ts +6 -6
  199. package/src/hooks/useCameraTickSubscription.ts +62 -0
  200. package/src/hooks/useIfc.ts +4 -0
  201. package/src/hooks/useIfcFederation.ts +368 -20
  202. package/src/hooks/useKeyboardShortcuts.ts +86 -0
  203. package/src/hooks/useLevelDisplayEffect.ts +160 -0
  204. package/src/hooks/useViewerSelectors.ts +8 -0
  205. package/src/lib/__test__/stubs.ts +110 -0
  206. package/src/lib/geo/cesium-bridge.ts +3 -3
  207. package/src/lib/geo/cesium-placement.test.ts +28 -12
  208. package/src/lib/geo/cesium-placement.ts +16 -10
  209. package/src/lib/geo/effective-georef.test.ts +23 -7
  210. package/src/lib/geo/geo-scale.ts +58 -2
  211. package/src/lib/geo/ifc-origin.test.ts +176 -0
  212. package/src/lib/geo/ifc-origin.ts +144 -0
  213. package/src/lib/geo/precision-grids.ts +444 -0
  214. package/src/lib/geo/reproject.test.ts +88 -0
  215. package/src/lib/geo/reproject.ts +168 -36
  216. package/src/lib/level-offsets.test.ts +153 -0
  217. package/src/lib/level-offsets.ts +140 -0
  218. package/src/lib/linear-element-edit.test.ts +220 -0
  219. package/src/lib/linear-element-edit.ts +327 -0
  220. package/src/lib/metadata-clone.test.ts +173 -0
  221. package/src/lib/metadata-clone.ts +124 -0
  222. package/src/lib/placement-core.ts +340 -0
  223. package/src/lib/placement-edit.boot.ts +21 -0
  224. package/src/lib/placement-edit.test.ts +464 -0
  225. package/src/lib/placement-edit.ts +47 -0
  226. package/src/lib/polygon-clip.test.ts +193 -0
  227. package/src/lib/polygon-clip.ts +199 -0
  228. package/src/lib/slab-edit.test.ts +169 -0
  229. package/src/lib/slab-edit.ts +312 -0
  230. package/src/lib/wall-edit.ts +342 -0
  231. package/src/lib/wall-opening-reassign.test.ts +291 -0
  232. package/src/lib/wall-opening-reassign.ts +241 -0
  233. package/src/main.tsx +4 -0
  234. package/src/store/index.ts +7 -0
  235. package/src/store/slices/cesiumSlice.ts +61 -8
  236. package/src/store/slices/dataSlice.ts +80 -0
  237. package/src/store/slices/levelDisplaySlice.ts +105 -0
  238. package/src/store/slices/modelSlice.test.ts +19 -0
  239. package/src/store/slices/mutationSlice.ts +1138 -1
  240. package/src/store/slices/splitToolSlice.ts +165 -0
  241. package/src/store/slices/uiSlice.edit-mode.test.ts +210 -0
  242. package/src/store/slices/uiSlice.ts +78 -1
  243. package/src/store/types.ts +57 -2
  244. package/src/utils/createBlankIfc.ts +37 -0
  245. package/tsconfig.json +1 -0
  246. package/.turbo/turbo-typecheck.log +0 -4
  247. package/dist/assets/arrow2_bg-BoXCojjR.wasm +0 -0
  248. package/dist/assets/browser-CVf8ATeW.js +0 -694
  249. package/dist/assets/emscripten-module-BTRCZGcB.wasm +0 -0
  250. package/dist/assets/emscripten-module-CGIn_cMh.wasm +0 -0
  251. package/dist/assets/emscripten-module-DYvzWiHh.wasm +0 -0
  252. package/dist/assets/emscripten-module-NWak2PoB.wasm +0 -0
  253. package/dist/assets/emscripten-module.browser-DcFZLAUx.js +0 -1
  254. package/dist/assets/esbuild-COv63sf-.js +0 -1
  255. package/dist/assets/event-DIOks52T.js +0 -1
  256. package/dist/assets/ffi-DlhRHxHv.js +0 -1
  257. package/dist/assets/geometry.worker-DchLBqZ8.js +0 -1
  258. package/dist/assets/ifc-lite_bg-CSeT3fNI.wasm +0 -0
  259. package/dist/assets/ifc-lite_bg-ns4cSnX2.wasm +0 -0
  260. package/dist/assets/index-BZC2YaOP.css +0 -1
  261. package/dist/assets/index-HqAIQkr6.js +0 -22
  262. package/dist/assets/laz-perf-Cvr_Lepg.js +0 -1
  263. package/dist/assets/maplibre-gl-C4LXKM6c.js +0 -808
  264. package/dist/assets/three-DwNDHx9-.js +0 -4049
  265. package/dist/assets/wasm-bridge-Cha08LdC.js +0 -1
  266. package/dist/cesium/Workers/chunk-23ZQ2IVV.js +0 -29
  267. package/dist/cesium/Workers/chunk-2EQO3Q56.js +0 -26
  268. package/dist/cesium/Workers/chunk-2TE5NTVD.js +0 -26
  269. package/dist/cesium/Workers/chunk-BXMEEOCS.js +0 -63
  270. package/dist/cesium/Workers/chunk-BYLCY7GP.js +0 -29
  271. package/dist/cesium/Workers/chunk-CTHM3W6I.js +0 -26
  272. package/dist/cesium/Workers/chunk-E3JOOS3S.js +0 -26
  273. package/dist/cesium/Workers/chunk-F6PRE7D6.js +0 -26
  274. package/dist/cesium/Workers/chunk-FFBVWF2L.js +0 -26
  275. package/dist/cesium/Workers/chunk-GBAA6GVX.js +0 -26
  276. package/dist/cesium/Workers/chunk-ILRYTWTP.js +0 -26
  277. package/dist/cesium/Workers/chunk-IRNLBSEJ.js +0 -26
  278. package/dist/cesium/Workers/chunk-L6QHHACZ.js +0 -26
  279. package/dist/cesium/Workers/chunk-NMVKML6W.js +0 -26
  280. package/dist/cesium/Workers/chunk-OIRKANTH.js +0 -26
  281. package/dist/cesium/Workers/chunk-QKUIYMGC.js +0 -28
  282. package/dist/cesium/Workers/chunk-SQMIIXB7.js +0 -26
  283. package/dist/cesium/Workers/chunk-TJ4XLGBQ.js +0 -26
  284. package/dist/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +0 -26
  285. package/dist/cesium/Workers/createGroundPolylineGeometry.js +0 -26
  286. package/dist/cesium/Workers/transcodeKTX2.js +0 -56
  287. package/dist/cesium/Workers/upsampleQuantizedTerrainMesh.js +0 -26
  288. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_0.json +0 -0
  289. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_1.json +0 -0
  290. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_10.json +0 -0
  291. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_11.json +0 -0
  292. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_12.json +0 -0
  293. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_13.json +0 -0
  294. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_14.json +0 -0
  295. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_15.json +0 -0
  296. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_16.json +0 -0
  297. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_17.json +0 -0
  298. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_18.json +0 -0
  299. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_19.json +0 -0
  300. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_2.json +0 -0
  301. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_20.json +0 -0
  302. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_21.json +0 -0
  303. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_22.json +0 -0
  304. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_23.json +0 -0
  305. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_24.json +0 -0
  306. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_25.json +0 -0
  307. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_26.json +0 -0
  308. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_27.json +0 -0
  309. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_3.json +0 -0
  310. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_4.json +0 -0
  311. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_5.json +0 -0
  312. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_6.json +0 -0
  313. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_7.json +0 -0
  314. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_8.json +0 -0
  315. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_9.json +0 -0
  316. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Images/bing_maps_credit.png +0 -0
  317. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Images/cesium_credit.png +0 -0
  318. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Images/google_earth_credit.png +0 -0
  319. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Images/ion-credit.png +0 -0
  320. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/LensFlare/DirtMask.jpg +0 -0
  321. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/LensFlare/StarBurst.jpg +0 -0
  322. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/0/0/0.jpg +0 -0
  323. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/0/1/0.jpg +0 -0
  324. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/0/0.jpg +0 -0
  325. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/0/1.jpg +0 -0
  326. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/1/0.jpg +0 -0
  327. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/1/1.jpg +0 -0
  328. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/2/0.jpg +0 -0
  329. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/2/1.jpg +0 -0
  330. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/3/0.jpg +0 -0
  331. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/3/1.jpg +0 -0
  332. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/0/0.jpg +0 -0
  333. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/0/1.jpg +0 -0
  334. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/0/2.jpg +0 -0
  335. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/0/3.jpg +0 -0
  336. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/1/0.jpg +0 -0
  337. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/1/1.jpg +0 -0
  338. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/1/2.jpg +0 -0
  339. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/1/3.jpg +0 -0
  340. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/2/0.jpg +0 -0
  341. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/2/1.jpg +0 -0
  342. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/2/2.jpg +0 -0
  343. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/2/3.jpg +0 -0
  344. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/3/0.jpg +0 -0
  345. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/3/1.jpg +0 -0
  346. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/3/2.jpg +0 -0
  347. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/3/3.jpg +0 -0
  348. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/4/0.jpg +0 -0
  349. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/4/1.jpg +0 -0
  350. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/4/2.jpg +0 -0
  351. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/4/3.jpg +0 -0
  352. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/5/0.jpg +0 -0
  353. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/5/1.jpg +0 -0
  354. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/5/2.jpg +0 -0
  355. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/5/3.jpg +0 -0
  356. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/6/0.jpg +0 -0
  357. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/6/1.jpg +0 -0
  358. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/6/2.jpg +0 -0
  359. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/6/3.jpg +0 -0
  360. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/7/0.jpg +0 -0
  361. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/7/1.jpg +0 -0
  362. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/7/2.jpg +0 -0
  363. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/7/3.jpg +0 -0
  364. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/tilemapresource.xml +0 -0
  365. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
  366. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
  367. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
  368. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
  369. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
  370. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
  371. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/airfield.png +0 -0
  372. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/airport.png +0 -0
  373. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/alcohol-shop.png +0 -0
  374. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/america-football.png +0 -0
  375. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/art-gallery.png +0 -0
  376. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/bakery.png +0 -0
  377. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/bank.png +0 -0
  378. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/bar.png +0 -0
  379. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/baseball.png +0 -0
  380. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/basketball.png +0 -0
  381. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/beer.png +0 -0
  382. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/bicycle.png +0 -0
  383. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/building.png +0 -0
  384. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/bus.png +0 -0
  385. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cafe.png +0 -0
  386. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/camera.png +0 -0
  387. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/campsite.png +0 -0
  388. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/car.png +0 -0
  389. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cemetery.png +0 -0
  390. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cesium.png +0 -0
  391. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/chemist.png +0 -0
  392. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cinema.png +0 -0
  393. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/circle-stroked.png +0 -0
  394. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/circle.png +0 -0
  395. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/city.png +0 -0
  396. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/clothing-store.png +0 -0
  397. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/college.png +0 -0
  398. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/commercial.png +0 -0
  399. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cricket.png +0 -0
  400. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cross.png +0 -0
  401. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/dam.png +0 -0
  402. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/danger.png +0 -0
  403. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/disability.png +0 -0
  404. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/dog-park.png +0 -0
  405. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/embassy.png +0 -0
  406. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/emergency-telephone.png +0 -0
  407. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/entrance.png +0 -0
  408. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/farm.png +0 -0
  409. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/fast-food.png +0 -0
  410. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/ferry.png +0 -0
  411. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/fire-station.png +0 -0
  412. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/fuel.png +0 -0
  413. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/garden.png +0 -0
  414. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/gift.png +0 -0
  415. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/golf.png +0 -0
  416. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/grocery.png +0 -0
  417. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/hairdresser.png +0 -0
  418. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/harbor.png +0 -0
  419. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/heart.png +0 -0
  420. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/heliport.png +0 -0
  421. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/hospital.png +0 -0
  422. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/ice-cream.png +0 -0
  423. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/industrial.png +0 -0
  424. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/land-use.png +0 -0
  425. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/laundry.png +0 -0
  426. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/library.png +0 -0
  427. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/lighthouse.png +0 -0
  428. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/lodging.png +0 -0
  429. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/logging.png +0 -0
  430. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/london-underground.png +0 -0
  431. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/marker-stroked.png +0 -0
  432. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/marker.png +0 -0
  433. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/minefield.png +0 -0
  434. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/mobilephone.png +0 -0
  435. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/monument.png +0 -0
  436. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/museum.png +0 -0
  437. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/music.png +0 -0
  438. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/oil-well.png +0 -0
  439. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/park.png +0 -0
  440. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/park2.png +0 -0
  441. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/parking-garage.png +0 -0
  442. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/parking.png +0 -0
  443. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/pharmacy.png +0 -0
  444. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/pitch.png +0 -0
  445. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/place-of-worship.png +0 -0
  446. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/playground.png +0 -0
  447. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/police.png +0 -0
  448. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/polling-place.png +0 -0
  449. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/post.png +0 -0
  450. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/prison.png +0 -0
  451. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rail-above.png +0 -0
  452. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rail-light.png +0 -0
  453. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rail-metro.png +0 -0
  454. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rail-underground.png +0 -0
  455. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rail.png +0 -0
  456. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/religious-christian.png +0 -0
  457. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/religious-jewish.png +0 -0
  458. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/religious-muslim.png +0 -0
  459. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/restaurant.png +0 -0
  460. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/roadblock.png +0 -0
  461. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rocket.png +0 -0
  462. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/school.png +0 -0
  463. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/scooter.png +0 -0
  464. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/shop.png +0 -0
  465. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/skiing.png +0 -0
  466. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/slaughterhouse.png +0 -0
  467. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/soccer.png +0 -0
  468. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/square-stroked.png +0 -0
  469. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/square.png +0 -0
  470. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/star-stroked.png +0 -0
  471. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/star.png +0 -0
  472. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/suitcase.png +0 -0
  473. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/swimming.png +0 -0
  474. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/telephone.png +0 -0
  475. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/tennis.png +0 -0
  476. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/theatre.png +0 -0
  477. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/toilets.png +0 -0
  478. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/town-hall.png +0 -0
  479. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/town.png +0 -0
  480. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/triangle-stroked.png +0 -0
  481. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/triangle.png +0 -0
  482. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/village.png +0 -0
  483. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/warehouse.png +0 -0
  484. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/waste-basket.png +0 -0
  485. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/water.png +0 -0
  486. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/wetland.png +0 -0
  487. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/zoo.png +0 -0
  488. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/moonSmall.jpg +0 -0
  489. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/pin.svg +0 -0
  490. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/waterNormals.jpg +0 -0
  491. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/waterNormalsSmall.jpg +0 -0
  492. /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/approximateTerrainHeights.json +0 -0
  493. /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/Workers/package.json +0 -0
  494. /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/Workers/zip-web-worker.js +0 -0
  495. /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/basis_transcoder.wasm +0 -0
  496. /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/draco_decoder.wasm +0 -0
  497. /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/google-earth-dbroot-parser.js +0 -0
  498. /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/wasm_splats_bg.wasm +0 -0
  499. /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/zip-module.wasm +0 -0
  500. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Animation/Animation.css +0 -0
  501. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Animation/lighter.css +0 -0
  502. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/BaseLayerPicker/BaseLayerPicker.css +0 -0
  503. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/BaseLayerPicker/lighter.css +0 -0
  504. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Cesium3DTilesInspector/Cesium3DTilesInspector.css +0 -0
  505. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/CesiumInspector/CesiumInspector.css +0 -0
  506. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/CesiumWidget/CesiumWidget.css +0 -0
  507. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/CesiumWidget/lighter.css +0 -0
  508. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/FullscreenButton/FullscreenButton.css +0 -0
  509. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Geocoder/Geocoder.css +0 -0
  510. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Geocoder/lighter.css +0 -0
  511. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/I3SBuildingSceneLayerExplorer/I3SBuildingSceneLayerExplorer.css +0 -0
  512. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png +0 -0
  513. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png +0 -0
  514. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png +0 -0
  515. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/azureAerial.png +0 -0
  516. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/azureRoads.png +0 -0
  517. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/bingAerial.png +0 -0
  518. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/bingAerialLabels.png +0 -0
  519. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/bingRoads.png +0 -0
  520. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/blueMarble.png +0 -0
  521. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/earthAtNight.png +0 -0
  522. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/googleContour.png +0 -0
  523. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/googleRoadmap.png +0 -0
  524. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/googleSatellite.png +0 -0
  525. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/googleSatelliteLabels.png +0 -0
  526. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/mapQuestOpenStreetMap.png +0 -0
  527. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/mapboxSatellite.png +0 -0
  528. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/mapboxStreets.png +0 -0
  529. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/mapboxTerrain.png +0 -0
  530. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/naturalEarthII.png +0 -0
  531. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/openStreetMap.png +0 -0
  532. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/sentinel-2.png +0 -0
  533. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/stadiaAlidadeSmooth.png +0 -0
  534. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/stadiaAlidadeSmoothDark.png +0 -0
  535. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/stamenToner.png +0 -0
  536. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/stamenWatercolor.png +0 -0
  537. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/Mouse.svg +0 -0
  538. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/MouseLeft.svg +0 -0
  539. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/MouseMiddle.svg +0 -0
  540. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/MouseRight.svg +0 -0
  541. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/Touch.svg +0 -0
  542. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/TouchDrag.svg +0 -0
  543. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/TouchRotate.svg +0 -0
  544. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/TouchTilt.svg +0 -0
  545. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/TouchZoom.svg +0 -0
  546. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/TerrainProviders/CesiumWorldTerrain.png +0 -0
  547. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/TerrainProviders/Ellipsoid.png +0 -0
  548. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/TimelineIcons.png +0 -0
  549. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/info-loading.gif +0 -0
  550. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/InfoBox/InfoBox.css +0 -0
  551. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/InfoBox/InfoBoxDescription.css +0 -0
  552. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/NavigationHelpButton/NavigationHelpButton.css +0 -0
  553. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/NavigationHelpButton/lighter.css +0 -0
  554. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/PerformanceWatchdog/PerformanceWatchdog.css +0 -0
  555. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/ProjectionPicker/ProjectionPicker.css +0 -0
  556. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/SceneModePicker/SceneModePicker.css +0 -0
  557. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/SelectionIndicator/SelectionIndicator.css +0 -0
  558. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Timeline/Timeline.css +0 -0
  559. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Timeline/lighter.css +0 -0
  560. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/VRButton/VRButton.css +0 -0
  561. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Viewer/Viewer.css +0 -0
  562. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/VoxelInspector/VoxelInspector.css +0 -0
  563. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/lighter.css +0 -0
  564. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/lighterShared.css +0 -0
  565. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/shared.css +0 -0
  566. /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/widgets.css +0 -0
@@ -1,6 +1,6 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-bridge-DNrEhx2R.js","assets/sandbox-BSn5MyEJ.js","assets/lens-CSASnhAL.js","assets/wasm-bridge-Cha08LdC.js"])))=>i.map(i=>d[i]);
2
- import { c as on, _ as Ae, s as bt, e as gn, a as hn, P as tt, Q as Et, b as an, E as In, d as me, f as yn, h as mn, r as bn, i as En, I as be, j as wn, __tla as __tla_0 } from "./sandbox-BSn5MyEJ.js";
3
- let Os, we, Un, Ls, Es, dn, ee, $n, Ee, As, rn, Bs, Ns, xs, Ms;
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-bridge-BVf2uzoH.js","assets/sandbox-VLI_y7cl.js","assets/lens-CpjUdqpw.js","assets/wasm-bridge-BAfZh7YT.js"])))=>i.map(i=>d[i]);
2
+ import { J as on, _ as Ae, aD as tt, a1 as gn, a2 as hn, j as nt, k as Ft, aG as an, E as In, ab as be, af as yn, ac as mn, az as bn, K as En, i as Ee, h as wn, __tla as __tla_0 } from "./sandbox-VLI_y7cl.js";
3
+ let xs, Os, rn, Ls, Es, dn, Ce, $n, Bs, we, Un, se, As, Ms, Ns;
4
4
  let __tla = Promise.all([
5
5
  (()=>{
6
6
  try {
@@ -9,68 +9,68 @@ let __tla = Promise.all([
9
9
  })()
10
10
  ]).then(async ()=>{
11
11
  let o;
12
- function L(i) {
13
- Ut === rt.length && rt.push(rt.length + 1);
14
- const t = Ut;
15
- return Ut = rt[t], rt[t] = i, t;
12
+ function B(i) {
13
+ Gt === ot.length && ot.push(ot.length + 1);
14
+ const t = Gt;
15
+ return Gt = ot[t], ot[t] = i, t;
16
16
  }
17
- function xe(i) {
18
- if (Dt == 1) throw new Error("out of js stack");
19
- return rt[--Dt] = i, Dt;
17
+ function Oe(i) {
18
+ if ($t == 1) throw new Error("out of js stack");
19
+ return ot[--$t] = i, $t;
20
20
  }
21
- const Oe = typeof FinalizationRegistry > "u" ? {
21
+ const xe = typeof FinalizationRegistry > "u" ? {
22
22
  register: ()=>{},
23
23
  unregister: ()=>{}
24
24
  } : new FinalizationRegistry((i)=>i.dtor(i.a, i.b));
25
25
  function Cn(i) {
26
- i < 132 || (rt[i] = Ut, Ut = i);
26
+ i < 132 || (ot[i] = Gt, Gt = i);
27
27
  }
28
- function pt(i, t) {
28
+ function It(i, t) {
29
29
  return i = i >>> 0, Tn().subarray(i / 4, i / 4 + t);
30
30
  }
31
- function Bt(i, t) {
31
+ function vt(i, t) {
32
32
  return i = i >>> 0, Fn().subarray(i / 8, i / 8 + t);
33
33
  }
34
34
  function cn(i, t) {
35
35
  return i = i >>> 0, ln().subarray(i / 4, i / 4 + t);
36
36
  }
37
- let ut = null;
38
- function R() {
39
- return (ut === null || ut.buffer.detached === !0 || ut.buffer.detached === void 0 && ut.buffer !== o.memory.buffer) && (ut = new DataView(o.memory.buffer)), ut;
37
+ let bt = null;
38
+ function F() {
39
+ return (bt === null || bt.buffer.detached === !0 || bt.buffer.detached === void 0 && bt.buffer !== o.memory.buffer) && (bt = new DataView(o.memory.buffer)), bt;
40
40
  }
41
- let xt = null;
41
+ let Lt = null;
42
42
  function Tn() {
43
- return (xt === null || xt.byteLength === 0) && (xt = new Float32Array(o.memory.buffer)), xt;
43
+ return (Lt === null || Lt.byteLength === 0) && (Lt = new Float32Array(o.memory.buffer)), Lt;
44
44
  }
45
- let Ot = null;
45
+ let Bt = null;
46
46
  function Fn() {
47
- return (Ot === null || Ot.byteLength === 0) && (Ot = new Float64Array(o.memory.buffer)), Ot;
47
+ return (Bt === null || Bt.byteLength === 0) && (Bt = new Float64Array(o.memory.buffer)), Bt;
48
48
  }
49
- function K(i, t) {
49
+ function et(i, t) {
50
50
  return i = i >>> 0, Nn(i, t);
51
51
  }
52
- let Mt = null;
52
+ let Pt = null;
53
53
  function ln() {
54
- return (Mt === null || Mt.byteLength === 0) && (Mt = new Uint32Array(o.memory.buffer)), Mt;
54
+ return (Pt === null || Pt.byteLength === 0) && (Pt = new Uint32Array(o.memory.buffer)), Pt;
55
55
  }
56
- let Lt = null;
57
- function Pt() {
58
- return (Lt === null || Lt.byteLength === 0) && (Lt = new Uint8Array(o.memory.buffer)), Lt;
56
+ let Ut = null;
57
+ function Dt() {
58
+ return (Ut === null || Ut.byteLength === 0) && (Ut = new Uint8Array(o.memory.buffer)), Ut;
59
59
  }
60
- function M(i) {
61
- return rt[i];
60
+ function L(i) {
61
+ return ot[i];
62
62
  }
63
- function Nt(i, t) {
63
+ function xt(i, t) {
64
64
  try {
65
65
  return i.apply(this, t);
66
66
  } catch (e) {
67
- o.__wbindgen_export(L(e));
67
+ o.__wbindgen_export(B(e));
68
68
  }
69
69
  }
70
- let rt = new Array(128).fill(void 0);
71
- rt.push(void 0, null, !0, !1);
72
- let Ut = rt.length;
73
- function wt(i) {
70
+ let ot = new Array(128).fill(void 0);
71
+ ot.push(void 0, null, !0, !1);
72
+ let Gt = ot.length;
73
+ function Rt(i) {
74
74
  return i == null;
75
75
  }
76
76
  function Rn(i, t, e, n) {
@@ -90,24 +90,24 @@ let __tla = Promise.all([
90
90
  }
91
91
  };
92
92
  return r._wbg_cb_unref = ()=>{
93
- --s.cnt === 0 && (s.dtor(s.a, s.b), s.a = 0, Oe.unregister(s));
94
- }, Oe.register(r, s, s), r;
93
+ --s.cnt === 0 && (s.dtor(s.a, s.b), s.a = 0, xe.unregister(s));
94
+ }, xe.register(r, s, s), r;
95
95
  }
96
- function at(i, t) {
96
+ function _t(i, t) {
97
97
  const e = t(i.length * 4, 4) >>> 0;
98
98
  return ln().set(i, e / 4), O = i.length, e;
99
99
  }
100
- function ct(i, t) {
100
+ function ft(i, t) {
101
101
  const e = t(i.length * 1, 1) >>> 0;
102
- return Pt().set(i, e / 1), O = i.length, e;
102
+ return Dt().set(i, e / 1), O = i.length, e;
103
103
  }
104
- function q(i, t, e) {
104
+ function Q(i, t, e) {
105
105
  if (e === void 0) {
106
- const c = vt.encode(i), l = t(c.length, 1) >>> 0;
107
- return Pt().subarray(l, l + c.length).set(c), O = c.length, l;
106
+ const c = zt.encode(i), l = t(c.length, 1) >>> 0;
107
+ return Dt().subarray(l, l + c.length).set(c), O = c.length, l;
108
108
  }
109
109
  let n = i.length, s = t(n, 1) >>> 0;
110
- const r = Pt();
110
+ const r = Dt();
111
111
  let a = 0;
112
112
  for(; a < n; a++){
113
113
  const c = i.charCodeAt(a);
@@ -116,32 +116,32 @@ let __tla = Promise.all([
116
116
  }
117
117
  if (a !== n) {
118
118
  a !== 0 && (i = i.slice(a)), s = e(s, n, n = a + i.length * 3, 1) >>> 0;
119
- const c = Pt().subarray(s + a, s + n), l = vt.encodeInto(i, c);
119
+ const c = Dt().subarray(s + a, s + n), l = zt.encodeInto(i, c);
120
120
  a += l.written, s = e(s, n, a, 1) >>> 0;
121
121
  }
122
122
  return O = a, s;
123
123
  }
124
- let Dt = 128;
125
- function v(i) {
126
- const t = M(i);
124
+ let $t = 128;
125
+ function G(i) {
126
+ const t = L(i);
127
127
  return Cn(i), t;
128
128
  }
129
- let se = new TextDecoder("utf-8", {
129
+ let ie = new TextDecoder("utf-8", {
130
130
  ignoreBOM: !0,
131
131
  fatal: !0
132
132
  });
133
- se.decode();
133
+ ie.decode();
134
134
  const Sn = 2146435072;
135
- let ce = 0;
135
+ let le = 0;
136
136
  function Nn(i, t) {
137
- return ce += t, ce >= Sn && (se = new TextDecoder("utf-8", {
137
+ return le += t, le >= Sn && (ie = new TextDecoder("utf-8", {
138
138
  ignoreBOM: !0,
139
139
  fatal: !0
140
- }), se.decode(), ce = t), se.decode(Pt().subarray(i, i + t));
140
+ }), ie.decode(), le = t), ie.decode(Dt().subarray(i, i + t));
141
141
  }
142
- const vt = new TextEncoder;
143
- "encodeInto" in vt || (vt.encodeInto = function(i, t) {
144
- const e = vt.encode(i);
142
+ const zt = new TextEncoder;
143
+ "encodeInto" in zt || (zt.encodeInto = function(i, t) {
144
+ const e = zt.encode(i);
145
145
  return t.set(e), {
146
146
  read: i.length,
147
147
  written: e.length
@@ -149,21 +149,21 @@ let __tla = Promise.all([
149
149
  });
150
150
  let O = 0;
151
151
  function An(i, t, e) {
152
- o.__wasm_bindgen_func_elem_1274(i, t, L(e));
152
+ o.__wasm_bindgen_func_elem_1484(i, t, B(e));
153
153
  }
154
- function xn(i, t, e, n) {
155
- o.__wasm_bindgen_func_elem_1314(i, t, L(e), L(n));
154
+ function On(i, t, e, n) {
155
+ o.__wasm_bindgen_func_elem_1524(i, t, B(e), B(n));
156
156
  }
157
157
  const Me = typeof FinalizationRegistry > "u" ? {
158
158
  register: ()=>{},
159
159
  unregister: ()=>{}
160
- } : new FinalizationRegistry((i)=>o.__wbg_georeferencejs_free(i >>> 0, 1)), le = typeof FinalizationRegistry > "u" ? {
160
+ } : new FinalizationRegistry((i)=>o.__wbg_georeferencejs_free(i >>> 0, 1)), de = typeof FinalizationRegistry > "u" ? {
161
161
  register: ()=>{},
162
162
  unregister: ()=>{}
163
- } : new FinalizationRegistry((i)=>o.__wbg_gpugeometry_free(i >>> 0, 1)), de = typeof FinalizationRegistry > "u" ? {
163
+ } : new FinalizationRegistry((i)=>o.__wbg_gpugeometry_free(i >>> 0, 1)), _e = typeof FinalizationRegistry > "u" ? {
164
164
  register: ()=>{},
165
165
  unregister: ()=>{}
166
- } : new FinalizationRegistry((i)=>o.__wbg_gpuinstancedgeometry_free(i >>> 0, 1)), _e = typeof FinalizationRegistry > "u" ? {
166
+ } : new FinalizationRegistry((i)=>o.__wbg_gpuinstancedgeometry_free(i >>> 0, 1)), fe = typeof FinalizationRegistry > "u" ? {
167
167
  register: ()=>{},
168
168
  unregister: ()=>{}
169
169
  } : new FinalizationRegistry((i)=>o.__wbg_gpuinstancedgeometrycollection_free(i >>> 0, 1)), Le = typeof FinalizationRegistry > "u" ? {
@@ -178,10 +178,10 @@ let __tla = Promise.all([
178
178
  } : new FinalizationRegistry((i)=>o.__wbg_ifcapi_free(i >>> 0, 1)), Ue = typeof FinalizationRegistry > "u" ? {
179
179
  register: ()=>{},
180
180
  unregister: ()=>{}
181
- } : new FinalizationRegistry((i)=>o.__wbg_instancedata_free(i >>> 0, 1)), De = typeof FinalizationRegistry > "u" ? {
181
+ } : new FinalizationRegistry((i)=>o.__wbg_instancedata_free(i >>> 0, 1)), ve = typeof FinalizationRegistry > "u" ? {
182
182
  register: ()=>{},
183
183
  unregister: ()=>{}
184
- } : new FinalizationRegistry((i)=>o.__wbg_instancedgeometry_free(i >>> 0, 1)), ve = typeof FinalizationRegistry > "u" ? {
184
+ } : new FinalizationRegistry((i)=>o.__wbg_instancedgeometry_free(i >>> 0, 1)), De = typeof FinalizationRegistry > "u" ? {
185
185
  register: ()=>{},
186
186
  unregister: ()=>{}
187
187
  } : new FinalizationRegistry((i)=>o.__wbg_instancedmeshcollection_free(i >>> 0, 1)), Ge = typeof FinalizationRegistry > "u" ? {
@@ -205,20 +205,20 @@ let __tla = Promise.all([
205
205
  } : new FinalizationRegistry((i)=>o.__wbg_rtcoffsetjs_free(i >>> 0, 1)), We = typeof FinalizationRegistry > "u" ? {
206
206
  register: ()=>{},
207
207
  unregister: ()=>{}
208
- } : new FinalizationRegistry((i)=>o.__wbg_symboliccircle_free(i >>> 0, 1)), Ye = typeof FinalizationRegistry > "u" ? {
208
+ } : new FinalizationRegistry((i)=>o.__wbg_symboliccircle_free(i >>> 0, 1)), He = typeof FinalizationRegistry > "u" ? {
209
209
  register: ()=>{},
210
210
  unregister: ()=>{}
211
- } : new FinalizationRegistry((i)=>o.__wbg_symbolicpolyline_free(i >>> 0, 1)), He = typeof FinalizationRegistry > "u" ? {
211
+ } : new FinalizationRegistry((i)=>o.__wbg_symbolicpolyline_free(i >>> 0, 1)), Ye = typeof FinalizationRegistry > "u" ? {
212
212
  register: ()=>{},
213
213
  unregister: ()=>{}
214
- } : new FinalizationRegistry((i)=>o.__wbg_symbolicrepresentationcollection_free(i >>> 0, 1)), fe = typeof FinalizationRegistry > "u" ? {
214
+ } : new FinalizationRegistry((i)=>o.__wbg_symbolicrepresentationcollection_free(i >>> 0, 1)), ue = typeof FinalizationRegistry > "u" ? {
215
215
  register: ()=>{},
216
216
  unregister: ()=>{}
217
217
  } : new FinalizationRegistry((i)=>o.__wbg_zerocopymesh_free(i >>> 0, 1));
218
- class Gt {
218
+ class Vt {
219
219
  static __wrap(t) {
220
220
  t = t >>> 0;
221
- const e = Object.create(Gt.prototype);
221
+ const e = Object.create(Vt.prototype);
222
222
  return e.__wbg_ptr = t, Me.register(e, e.__wbg_ptr, e), e;
223
223
  }
224
224
  __destroy_into_raw() {
@@ -233,7 +233,7 @@ let __tla = Promise.all([
233
233
  try {
234
234
  const c = o.__wbindgen_add_to_stack_pointer(-16);
235
235
  o.georeferencejs_localToMap(c, this.__wbg_ptr, t, e, n);
236
- var s = R().getInt32(c + 0, !0), r = R().getInt32(c + 4, !0), a = Bt(s, r).slice();
236
+ var s = F().getInt32(c + 0, !0), r = F().getInt32(c + 4, !0), a = vt(s, r).slice();
237
237
  return o.__wbindgen_export2(s, r * 8, 8), a;
238
238
  } finally{
239
239
  o.__wbindgen_add_to_stack_pointer(16);
@@ -243,7 +243,7 @@ let __tla = Promise.all([
243
243
  try {
244
244
  const c = o.__wbindgen_add_to_stack_pointer(-16);
245
245
  o.georeferencejs_mapToLocal(c, this.__wbg_ptr, t, e, n);
246
- var s = R().getInt32(c + 0, !0), r = R().getInt32(c + 4, !0), a = Bt(s, r).slice();
246
+ var s = F().getInt32(c + 0, !0), r = F().getInt32(c + 4, !0), a = vt(s, r).slice();
247
247
  return o.__wbindgen_export2(s, r * 8, 8), a;
248
248
  } finally{
249
249
  o.__wbindgen_add_to_stack_pointer(16);
@@ -253,9 +253,9 @@ let __tla = Promise.all([
253
253
  try {
254
254
  const n = o.__wbindgen_add_to_stack_pointer(-16);
255
255
  o.georeferencejs_crsName(n, this.__wbg_ptr);
256
- var t = R().getInt32(n + 0, !0), e = R().getInt32(n + 4, !0);
256
+ var t = F().getInt32(n + 0, !0), e = F().getInt32(n + 4, !0);
257
257
  let s;
258
- return t !== 0 && (s = K(t, e).slice(), o.__wbindgen_export2(t, e * 1, 1)), s;
258
+ return t !== 0 && (s = et(t, e).slice(), o.__wbindgen_export2(t, e * 1, 1)), s;
259
259
  } finally{
260
260
  o.__wbindgen_add_to_stack_pointer(16);
261
261
  }
@@ -267,7 +267,7 @@ let __tla = Promise.all([
267
267
  try {
268
268
  const s = o.__wbindgen_add_to_stack_pointer(-16);
269
269
  o.georeferencejs_toMatrix(s, this.__wbg_ptr);
270
- var t = R().getInt32(s + 0, !0), e = R().getInt32(s + 4, !0), n = Bt(t, e).slice();
270
+ var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = vt(t, e).slice();
271
271
  return o.__wbindgen_export2(t, e * 8, 8), n;
272
272
  } finally{
273
273
  o.__wbindgen_add_to_stack_pointer(16);
@@ -310,16 +310,16 @@ let __tla = Promise.all([
310
310
  o.__wbg_set_georeferencejs_scale(this.__wbg_ptr, t);
311
311
  }
312
312
  }
313
- Symbol.dispose && (Gt.prototype[Symbol.dispose] = Gt.prototype.free);
314
- class Tt {
313
+ Symbol.dispose && (Vt.prototype[Symbol.dispose] = Vt.prototype.free);
314
+ class Nt {
315
315
  static __wrap(t) {
316
316
  t = t >>> 0;
317
- const e = Object.create(Tt.prototype);
318
- return e.__wbg_ptr = t, le.register(e, e.__wbg_ptr, e), e;
317
+ const e = Object.create(Nt.prototype);
318
+ return e.__wbg_ptr = t, de.register(e, e.__wbg_ptr, e), e;
319
319
  }
320
320
  __destroy_into_raw() {
321
321
  const t = this.__wbg_ptr;
322
- return this.__wbg_ptr = 0, le.unregister(this), t;
322
+ return this.__wbg_ptr = 0, de.unregister(this), t;
323
323
  }
324
324
  free() {
325
325
  const t = this.__destroy_into_raw();
@@ -359,16 +359,16 @@ let __tla = Promise.all([
359
359
  try {
360
360
  const s = o.__wbindgen_add_to_stack_pointer(-16);
361
361
  o.gpugeometry_getIfcTypeName(s, this.__wbg_ptr, t);
362
- var e = R().getInt32(s + 0, !0), n = R().getInt32(s + 4, !0);
362
+ var e = F().getInt32(s + 0, !0), n = F().getInt32(s + 4, !0);
363
363
  let r;
364
- return e !== 0 && (r = K(e, n).slice(), o.__wbindgen_export2(e, n * 1, 1)), r;
364
+ return e !== 0 && (r = et(e, n).slice(), o.__wbindgen_export2(e, n * 1, 1)), r;
365
365
  } finally{
366
366
  o.__wbindgen_add_to_stack_pointer(16);
367
367
  }
368
368
  }
369
369
  getMeshMetadata(t) {
370
370
  const e = o.gpugeometry_getMeshMetadata(this.__wbg_ptr, t);
371
- return e === 0 ? void 0 : jt.__wrap(e);
371
+ return e === 0 ? void 0 : Ht.__wrap(e);
372
372
  }
373
373
  get totalVertexCount() {
374
374
  return o.gpugeometry_totalVertexCount(this.__wbg_ptr) >>> 0;
@@ -384,22 +384,22 @@ let __tla = Promise.all([
384
384
  }
385
385
  constructor(){
386
386
  const t = o.gpugeometry_new();
387
- return this.__wbg_ptr = t >>> 0, le.register(this, this.__wbg_ptr, this), this;
387
+ return this.__wbg_ptr = t >>> 0, de.register(this, this.__wbg_ptr, this), this;
388
388
  }
389
389
  get isEmpty() {
390
390
  return o.gpugeometry_isEmpty(this.__wbg_ptr) !== 0;
391
391
  }
392
392
  }
393
- Symbol.dispose && (Tt.prototype[Symbol.dispose] = Tt.prototype.free);
394
- class $t {
393
+ Symbol.dispose && (Nt.prototype[Symbol.dispose] = Nt.prototype.free);
394
+ class jt {
395
395
  static __wrap(t) {
396
396
  t = t >>> 0;
397
- const e = Object.create($t.prototype);
398
- return e.__wbg_ptr = t, de.register(e, e.__wbg_ptr, e), e;
397
+ const e = Object.create(jt.prototype);
398
+ return e.__wbg_ptr = t, _e.register(e, e.__wbg_ptr, e), e;
399
399
  }
400
400
  __destroy_into_raw() {
401
401
  const t = this.__wbg_ptr;
402
- return this.__wbg_ptr = 0, de.unregister(this), t;
402
+ return this.__wbg_ptr = 0, _e.unregister(this), t;
403
403
  }
404
404
  free() {
405
405
  const t = this.__destroy_into_raw();
@@ -450,19 +450,19 @@ let __tla = Promise.all([
450
450
  }
451
451
  constructor(t){
452
452
  const e = o.gpuinstancedgeometry_new(t);
453
- return this.__wbg_ptr = e >>> 0, de.register(this, this.__wbg_ptr, this), this;
453
+ return this.__wbg_ptr = e >>> 0, _e.register(this, this.__wbg_ptr, this), this;
454
454
  }
455
455
  }
456
- Symbol.dispose && ($t.prototype[Symbol.dispose] = $t.prototype.free);
457
- class zt {
456
+ Symbol.dispose && (jt.prototype[Symbol.dispose] = jt.prototype.free);
457
+ class kt {
458
458
  static __wrap(t) {
459
459
  t = t >>> 0;
460
- const e = Object.create(zt.prototype);
461
- return e.__wbg_ptr = t, _e.register(e, e.__wbg_ptr, e), e;
460
+ const e = Object.create(kt.prototype);
461
+ return e.__wbg_ptr = t, fe.register(e, e.__wbg_ptr, e), e;
462
462
  }
463
463
  __destroy_into_raw() {
464
464
  const t = this.__wbg_ptr;
465
- return this.__wbg_ptr = 0, _e.unregister(this), t;
465
+ return this.__wbg_ptr = 0, fe.unregister(this), t;
466
466
  }
467
467
  free() {
468
468
  const t = this.__destroy_into_raw();
@@ -470,25 +470,25 @@ let __tla = Promise.all([
470
470
  }
471
471
  get(t) {
472
472
  const e = o.gpuinstancedgeometrycollection_get(this.__wbg_ptr, t);
473
- return e === 0 ? void 0 : $t.__wrap(e);
473
+ return e === 0 ? void 0 : jt.__wrap(e);
474
474
  }
475
475
  constructor(){
476
476
  const t = o.gpuinstancedgeometrycollection_new();
477
- return this.__wbg_ptr = t >>> 0, _e.register(this, this.__wbg_ptr, this), this;
477
+ return this.__wbg_ptr = t >>> 0, fe.register(this, this.__wbg_ptr, this), this;
478
478
  }
479
479
  get length() {
480
480
  return o.gpuinstancedgeometrycollection_length(this.__wbg_ptr) >>> 0;
481
481
  }
482
482
  getRef(t) {
483
483
  const e = o.gpuinstancedgeometrycollection_get(this.__wbg_ptr, t);
484
- return e === 0 ? void 0 : Vt.__wrap(e);
484
+ return e === 0 ? void 0 : Wt.__wrap(e);
485
485
  }
486
486
  }
487
- Symbol.dispose && (zt.prototype[Symbol.dispose] = zt.prototype.free);
488
- class Vt {
487
+ Symbol.dispose && (kt.prototype[Symbol.dispose] = kt.prototype.free);
488
+ class Wt {
489
489
  static __wrap(t) {
490
490
  t = t >>> 0;
491
- const e = Object.create(Vt.prototype);
491
+ const e = Object.create(Wt.prototype);
492
492
  return e.__wbg_ptr = t, Le.register(e, e.__wbg_ptr, e), e;
493
493
  }
494
494
  __destroy_into_raw() {
@@ -537,11 +537,11 @@ let __tla = Promise.all([
537
537
  return o.gpuinstancedgeometry_instanceDataByteLength(this.__wbg_ptr) >>> 0;
538
538
  }
539
539
  }
540
- Symbol.dispose && (Vt.prototype[Symbol.dispose] = Vt.prototype.free);
541
- class jt {
540
+ Symbol.dispose && (Wt.prototype[Symbol.dispose] = Wt.prototype.free);
541
+ class Ht {
542
542
  static __wrap(t) {
543
543
  t = t >>> 0;
544
- const e = Object.create(jt.prototype);
544
+ const e = Object.create(Ht.prototype);
545
545
  return e.__wbg_ptr = t, Be.register(e, e.__wbg_ptr, e), e;
546
546
  }
547
547
  __destroy_into_raw() {
@@ -574,15 +574,15 @@ let __tla = Promise.all([
574
574
  try {
575
575
  const s = o.__wbindgen_add_to_stack_pointer(-16);
576
576
  o.gpumeshmetadata_color(s, this.__wbg_ptr);
577
- var t = R().getInt32(s + 0, !0), e = R().getInt32(s + 4, !0), n = pt(t, e).slice();
577
+ var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = It(t, e).slice();
578
578
  return o.__wbindgen_export2(t, e * 4, 4), n;
579
579
  } finally{
580
580
  o.__wbindgen_add_to_stack_pointer(16);
581
581
  }
582
582
  }
583
583
  }
584
- Symbol.dispose && (jt.prototype[Symbol.dispose] = jt.prototype.free);
585
- Ee = class {
584
+ Symbol.dispose && (Ht.prototype[Symbol.dispose] = Ht.prototype.free);
585
+ we = class {
586
586
  __destroy_into_raw() {
587
587
  const t = this.__wbg_ptr;
588
588
  return this.__wbg_ptr = 0, Pe.unregister(this), t;
@@ -592,90 +592,90 @@ let __tla = Promise.all([
592
592
  o.__wbg_ifcapi_free(t, 0);
593
593
  }
594
594
  parseMeshes(t) {
595
- const e = q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseMeshes(this.__wbg_ptr, e, n);
596
- return dt.__wrap(s);
595
+ const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseMeshes(this.__wbg_ptr, e, n);
596
+ return ht.__wrap(s);
597
597
  }
598
598
  parseMeshesAsync(t, e) {
599
- const n = q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseMeshesAsync(this.__wbg_ptr, n, s, L(e));
600
- return v(r);
599
+ const n = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseMeshesAsync(this.__wbg_ptr, n, s, B(e));
600
+ return G(r);
601
601
  }
602
602
  buildPrePassFast(t) {
603
- const e = ct(t, o.__wbindgen_export3), n = O, s = o.ifcapi_buildPrePassFast(this.__wbg_ptr, e, n);
604
- return v(s);
603
+ const e = ft(t, o.__wbindgen_export3), n = O, s = o.ifcapi_buildPrePassFast(this.__wbg_ptr, e, n);
604
+ return G(s);
605
605
  }
606
606
  buildPrePassOnce(t) {
607
- const e = ct(t, o.__wbindgen_export3), n = O, s = o.ifcapi_buildPrePassOnce(this.__wbg_ptr, e, n);
608
- return v(s);
607
+ const e = ft(t, o.__wbindgen_export3), n = O, s = o.ifcapi_buildPrePassOnce(this.__wbg_ptr, e, n);
608
+ return G(s);
609
609
  }
610
610
  parseMeshesSubset(t, e, n, s) {
611
- const r = q(t, o.__wbindgen_export3, o.__wbindgen_export4), a = O, c = o.ifcapi_parseMeshesSubset(this.__wbg_ptr, r, a, e, n, s);
612
- return dt.__wrap(c);
611
+ const r = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), a = O, c = o.ifcapi_parseMeshesSubset(this.__wbg_ptr, r, a, e, n, s);
612
+ return ht.__wrap(c);
613
613
  }
614
614
  parseToGpuGeometry(t) {
615
- const e = q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseToGpuGeometry(this.__wbg_ptr, e, n);
616
- return Tt.__wrap(s);
615
+ const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseToGpuGeometry(this.__wbg_ptr, e, n);
616
+ return Nt.__wrap(s);
617
617
  }
618
618
  parseMeshesInstanced(t) {
619
- const e = q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseMeshesInstanced(this.__wbg_ptr, e, n);
620
- return Rt.__wrap(s);
619
+ const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseMeshesInstanced(this.__wbg_ptr, e, n);
620
+ return Ot.__wrap(s);
621
621
  }
622
- processGeometryBatch(t, e, n, s, r, a, c, l, d, _, f, p) {
623
- const g = ct(t, o.__wbindgen_export3), u = O, y = at(e, o.__wbindgen_export3), m = O, C = at(l, o.__wbindgen_export3), N = O, T = at(d, o.__wbindgen_export3), B = O, G = at(_, o.__wbindgen_export3), b = O, A = at(f, o.__wbindgen_export3), h = O, F = ct(p, o.__wbindgen_export3), S = O, E = o.ifcapi_processGeometryBatch(this.__wbg_ptr, g, u, y, m, n, s, r, a, c, C, N, T, B, G, b, A, h, F, S);
624
- return dt.__wrap(E);
622
+ processGeometryBatch(t, e, n, s, r, a, c, l, d, f, _, p) {
623
+ const g = ft(t, o.__wbindgen_export3), u = O, h = _t(e, o.__wbindgen_export3), m = O, w = _t(l, o.__wbindgen_export3), C = O, A = _t(d, o.__wbindgen_export3), P = O, z = _t(f, o.__wbindgen_export3), x = O, v = _t(_, o.__wbindgen_export3), E = O, N = ft(p, o.__wbindgen_export3), S = O, b = o.ifcapi_processGeometryBatch(this.__wbg_ptr, g, u, h, m, n, s, r, a, c, w, C, A, P, z, x, v, E, N, S);
624
+ return ht.__wrap(b);
625
625
  }
626
626
  scanEntityIndexShard(t, e, n, s) {
627
627
  try {
628
- const l = o.__wbindgen_add_to_stack_pointer(-16), d = ct(t, o.__wbindgen_export3), _ = O;
629
- o.ifcapi_scanEntityIndexShard(l, this.__wbg_ptr, d, _, xe(e), n, s);
630
- var r = R().getInt32(l + 0, !0), a = R().getInt32(l + 4, !0), c = R().getInt32(l + 8, !0);
631
- if (c) throw v(a);
632
- return v(r);
628
+ const l = o.__wbindgen_add_to_stack_pointer(-16), d = ft(t, o.__wbindgen_export3), f = O;
629
+ o.ifcapi_scanEntityIndexShard(l, this.__wbg_ptr, d, f, Oe(e), n, s);
630
+ var r = F().getInt32(l + 0, !0), a = F().getInt32(l + 4, !0), c = F().getInt32(l + 8, !0);
631
+ if (c) throw G(a);
632
+ return G(r);
633
633
  } finally{
634
- o.__wbindgen_add_to_stack_pointer(16), rt[Dt++] = void 0;
634
+ o.__wbindgen_add_to_stack_pointer(16), ot[$t++] = void 0;
635
635
  }
636
636
  }
637
637
  buildPrePassStreaming(t, e, n) {
638
638
  try {
639
- const c = o.__wbindgen_add_to_stack_pointer(-16), l = ct(t, o.__wbindgen_export3), d = O;
640
- o.ifcapi_buildPrePassStreaming(c, this.__wbg_ptr, l, d, xe(e), n);
641
- var s = R().getInt32(c + 0, !0), r = R().getInt32(c + 4, !0), a = R().getInt32(c + 8, !0);
642
- if (a) throw v(r);
643
- return v(s);
639
+ const c = o.__wbindgen_add_to_stack_pointer(-16), l = ft(t, o.__wbindgen_export3), d = O;
640
+ o.ifcapi_buildPrePassStreaming(c, this.__wbg_ptr, l, d, Oe(e), n);
641
+ var s = F().getInt32(c + 0, !0), r = F().getInt32(c + 4, !0), a = F().getInt32(c + 8, !0);
642
+ if (a) throw G(r);
643
+ return G(s);
644
644
  } finally{
645
- o.__wbindgen_add_to_stack_pointer(16), rt[Dt++] = void 0;
645
+ o.__wbindgen_add_to_stack_pointer(16), ot[$t++] = void 0;
646
646
  }
647
647
  }
648
648
  parseToGpuGeometryAsync(t, e) {
649
- const n = q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseToGpuGeometryAsync(this.__wbg_ptr, n, s, L(e));
650
- return v(r);
649
+ const n = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseToGpuGeometryAsync(this.__wbg_ptr, n, s, B(e));
650
+ return G(r);
651
651
  }
652
652
  parseMeshesInstancedAsync(t, e) {
653
- const n = q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseMeshesInstancedAsync(this.__wbg_ptr, n, s, L(e));
654
- return v(r);
653
+ const n = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseMeshesInstancedAsync(this.__wbg_ptr, n, s, B(e));
654
+ return G(r);
655
655
  }
656
656
  parseToGpuInstancedGeometry(t) {
657
- const e = q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseToGpuInstancedGeometry(this.__wbg_ptr, e, n);
658
- return zt.__wrap(s);
657
+ const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseToGpuInstancedGeometry(this.__wbg_ptr, e, n);
658
+ return kt.__wrap(s);
659
659
  }
660
660
  processInstancedGeometryBatch(t, e, n, s, r, a, c, l, d) {
661
- const _ = ct(t, o.__wbindgen_export3), f = O, p = at(e, o.__wbindgen_export3), g = O, u = at(l, o.__wbindgen_export3), y = O, m = ct(d, o.__wbindgen_export3), C = O, N = o.ifcapi_processInstancedGeometryBatch(this.__wbg_ptr, _, f, p, g, n, s, r, a, c, u, y, m, C);
662
- return Rt.__wrap(N);
661
+ const f = ft(t, o.__wbindgen_export3), _ = O, p = _t(e, o.__wbindgen_export3), g = O, u = _t(l, o.__wbindgen_export3), h = O, m = ft(d, o.__wbindgen_export3), w = O, C = o.ifcapi_processInstancedGeometryBatch(this.__wbg_ptr, f, _, p, g, n, s, r, a, c, u, h, m, w);
662
+ return Ot.__wrap(C);
663
663
  }
664
664
  parseZeroCopy(t) {
665
- const e = q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseZeroCopy(this.__wbg_ptr, e, n);
666
- return Zt.__wrap(s);
665
+ const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseZeroCopy(this.__wbg_ptr, e, n);
666
+ return ee.__wrap(s);
667
667
  }
668
668
  extractProfiles(t, e) {
669
- const n = q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_extractProfiles(this.__wbg_ptr, n, s, e);
670
- return Yt.__wrap(r);
669
+ const n = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_extractProfiles(this.__wbg_ptr, n, s, e);
670
+ return Jt.__wrap(r);
671
671
  }
672
672
  debugProcessEntity953(t) {
673
673
  let e, n;
674
674
  try {
675
- const a = o.__wbindgen_add_to_stack_pointer(-16), c = q(t, o.__wbindgen_export3, o.__wbindgen_export4), l = O;
675
+ const a = o.__wbindgen_add_to_stack_pointer(-16), c = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), l = O;
676
676
  o.ifcapi_debugProcessEntity953(a, this.__wbg_ptr, c, l);
677
- var s = R().getInt32(a + 0, !0), r = R().getInt32(a + 4, !0);
678
- return e = s, n = r, K(s, r);
677
+ var s = F().getInt32(a + 0, !0), r = F().getInt32(a + 4, !0);
678
+ return e = s, n = r, et(s, r);
679
679
  } finally{
680
680
  o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(e, n, 1);
681
681
  }
@@ -683,20 +683,20 @@ let __tla = Promise.all([
683
683
  debugProcessFirstWall(t) {
684
684
  let e, n;
685
685
  try {
686
- const a = o.__wbindgen_add_to_stack_pointer(-16), c = q(t, o.__wbindgen_export3, o.__wbindgen_export4), l = O;
686
+ const a = o.__wbindgen_add_to_stack_pointer(-16), c = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), l = O;
687
687
  o.ifcapi_debugProcessFirstWall(a, this.__wbg_ptr, c, l);
688
- var s = R().getInt32(a + 0, !0), r = R().getInt32(a + 4, !0);
689
- return e = s, n = r, K(s, r);
688
+ var s = F().getInt32(a + 0, !0), r = F().getInt32(a + 4, !0);
689
+ return e = s, n = r, et(s, r);
690
690
  } finally{
691
691
  o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(e, n, 1);
692
692
  }
693
693
  }
694
694
  getMemory() {
695
695
  const t = o.ifcapi_getMemory(this.__wbg_ptr);
696
- return v(t);
696
+ return G(t);
697
697
  }
698
698
  setEntityIndex(t, e, n) {
699
- const s = at(t, o.__wbindgen_export3), r = O, a = at(e, o.__wbindgen_export3), c = O, l = at(n, o.__wbindgen_export3), d = O;
699
+ const s = _t(t, o.__wbindgen_export3), r = O, a = _t(e, o.__wbindgen_export3), c = O, l = _t(n, o.__wbindgen_export3), d = O;
700
700
  o.ifcapi_setEntityIndex(this.__wbg_ptr, s, r, a, c, l, d);
701
701
  }
702
702
  setMergeLayers(t) {
@@ -714,8 +714,8 @@ let __tla = Promise.all([
714
714
  try {
715
715
  const r = o.__wbindgen_add_to_stack_pointer(-16);
716
716
  o.ifcapi_version(r, this.__wbg_ptr);
717
- var n = R().getInt32(r + 0, !0), s = R().getInt32(r + 4, !0);
718
- return t = n, e = s, K(n, s);
717
+ var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
718
+ return t = n, e = s, et(n, s);
719
719
  } finally{
720
720
  o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
721
721
  }
@@ -724,47 +724,47 @@ let __tla = Promise.all([
724
724
  return o.ifcapi_is_ready(this.__wbg_ptr) !== 0;
725
725
  }
726
726
  getGeoReference(t) {
727
- const e = q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_getGeoReference(this.__wbg_ptr, e, n);
728
- return s === 0 ? void 0 : Gt.__wrap(s);
727
+ const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_getGeoReference(this.__wbg_ptr, e, n);
728
+ return s === 0 ? void 0 : Vt.__wrap(s);
729
729
  }
730
730
  parseMeshesWithRtc(t) {
731
- const e = q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseMeshesWithRtc(this.__wbg_ptr, e, n);
732
- return Wt.__wrap(s);
731
+ const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseMeshesWithRtc(this.__wbg_ptr, e, n);
732
+ return Xt.__wrap(s);
733
733
  }
734
734
  parseStreaming(t, e) {
735
- const n = q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseStreaming(this.__wbg_ptr, n, s, L(e));
736
- return v(r);
735
+ const n = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseStreaming(this.__wbg_ptr, n, s, B(e));
736
+ return G(r);
737
737
  }
738
738
  scanEntitiesFast(t) {
739
- const e = q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_scanEntitiesFast(this.__wbg_ptr, e, n);
740
- return v(s);
739
+ const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_scanEntitiesFast(this.__wbg_ptr, e, n);
740
+ return G(s);
741
741
  }
742
742
  scanEntitiesFastBytes(t) {
743
- const e = ct(t, o.__wbindgen_export3), n = O, s = o.ifcapi_scanEntitiesFastBytes(this.__wbg_ptr, e, n);
744
- return v(s);
743
+ const e = ft(t, o.__wbindgen_export3), n = O, s = o.ifcapi_scanEntitiesFastBytes(this.__wbg_ptr, e, n);
744
+ return G(s);
745
745
  }
746
746
  scanGeometryEntitiesFast(t) {
747
- const e = q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_scanGeometryEntitiesFast(this.__wbg_ptr, e, n);
748
- return v(s);
747
+ const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_scanGeometryEntitiesFast(this.__wbg_ptr, e, n);
748
+ return G(s);
749
749
  }
750
750
  scanRelevantEntitiesFastBytes(t) {
751
- const e = ct(t, o.__wbindgen_export3), n = O, s = o.ifcapi_scanRelevantEntitiesFastBytes(this.__wbg_ptr, e, n);
752
- return v(s);
751
+ const e = ft(t, o.__wbindgen_export3), n = O, s = o.ifcapi_scanRelevantEntitiesFastBytes(this.__wbg_ptr, e, n);
752
+ return G(s);
753
753
  }
754
754
  parse(t) {
755
- const e = q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parse(this.__wbg_ptr, e, n);
756
- return v(s);
755
+ const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parse(this.__wbg_ptr, e, n);
756
+ return G(s);
757
757
  }
758
758
  parseSymbolicRepresentations(t) {
759
- const e = q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseSymbolicRepresentations(this.__wbg_ptr, e, n);
760
- return Qt.__wrap(s);
759
+ const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseSymbolicRepresentations(this.__wbg_ptr, e, n);
760
+ return te.__wrap(s);
761
761
  }
762
762
  };
763
- Symbol.dispose && (Ee.prototype[Symbol.dispose] = Ee.prototype.free);
764
- class kt {
763
+ Symbol.dispose && (we.prototype[Symbol.dispose] = we.prototype.free);
764
+ class Yt {
765
765
  static __wrap(t) {
766
766
  t = t >>> 0;
767
- const e = Object.create(kt.prototype);
767
+ const e = Object.create(Yt.prototype);
768
768
  return e.__wbg_ptr = t, Ue.register(e, e.__wbg_ptr, e), e;
769
769
  }
770
770
  __destroy_into_raw() {
@@ -782,7 +782,7 @@ let __tla = Promise.all([
782
782
  try {
783
783
  const s = o.__wbindgen_add_to_stack_pointer(-16);
784
784
  o.instancedata_color(s, this.__wbg_ptr);
785
- var t = R().getInt32(s + 0, !0), e = R().getInt32(s + 4, !0), n = pt(t, e).slice();
785
+ var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = It(t, e).slice();
786
786
  return o.__wbindgen_export2(t, e * 4, 4), n;
787
787
  } finally{
788
788
  o.__wbindgen_add_to_stack_pointer(16);
@@ -790,19 +790,19 @@ let __tla = Promise.all([
790
790
  }
791
791
  get transform() {
792
792
  const t = o.instancedata_transform(this.__wbg_ptr);
793
- return v(t);
793
+ return G(t);
794
794
  }
795
795
  }
796
- Symbol.dispose && (kt.prototype[Symbol.dispose] = kt.prototype.free);
797
- class Ft {
796
+ Symbol.dispose && (Yt.prototype[Symbol.dispose] = Yt.prototype.free);
797
+ class At {
798
798
  static __wrap(t) {
799
799
  t = t >>> 0;
800
- const e = Object.create(Ft.prototype);
801
- return e.__wbg_ptr = t, De.register(e, e.__wbg_ptr, e), e;
800
+ const e = Object.create(At.prototype);
801
+ return e.__wbg_ptr = t, ve.register(e, e.__wbg_ptr, e), e;
802
802
  }
803
803
  __destroy_into_raw() {
804
804
  const t = this.__wbg_ptr;
805
- return this.__wbg_ptr = 0, De.unregister(this), t;
805
+ return this.__wbg_ptr = 0, ve.unregister(this), t;
806
806
  }
807
807
  free() {
808
808
  const t = this.__destroy_into_raw();
@@ -814,34 +814,34 @@ let __tla = Promise.all([
814
814
  }
815
815
  get_instance(t) {
816
816
  const e = o.instancedgeometry_get_instance(this.__wbg_ptr, t);
817
- return e === 0 ? void 0 : kt.__wrap(e);
817
+ return e === 0 ? void 0 : Yt.__wrap(e);
818
818
  }
819
819
  get instance_count() {
820
820
  return o.instancedgeometry_instance_count(this.__wbg_ptr) >>> 0;
821
821
  }
822
822
  get indices() {
823
823
  const t = o.instancedgeometry_indices(this.__wbg_ptr);
824
- return v(t);
824
+ return G(t);
825
825
  }
826
826
  get normals() {
827
827
  const t = o.instancedgeometry_normals(this.__wbg_ptr);
828
- return v(t);
828
+ return G(t);
829
829
  }
830
830
  get positions() {
831
831
  const t = o.instancedgeometry_positions(this.__wbg_ptr);
832
- return v(t);
832
+ return G(t);
833
833
  }
834
834
  }
835
- Symbol.dispose && (Ft.prototype[Symbol.dispose] = Ft.prototype.free);
836
- class Rt {
835
+ Symbol.dispose && (At.prototype[Symbol.dispose] = At.prototype.free);
836
+ class Ot {
837
837
  static __wrap(t) {
838
838
  t = t >>> 0;
839
- const e = Object.create(Rt.prototype);
840
- return e.__wbg_ptr = t, ve.register(e, e.__wbg_ptr, e), e;
839
+ const e = Object.create(Ot.prototype);
840
+ return e.__wbg_ptr = t, De.register(e, e.__wbg_ptr, e), e;
841
841
  }
842
842
  __destroy_into_raw() {
843
843
  const t = this.__wbg_ptr;
844
- return this.__wbg_ptr = 0, ve.unregister(this), t;
844
+ return this.__wbg_ptr = 0, De.unregister(this), t;
845
845
  }
846
846
  free() {
847
847
  const t = this.__destroy_into_raw();
@@ -855,17 +855,17 @@ let __tla = Promise.all([
855
855
  }
856
856
  get(t) {
857
857
  const e = o.instancedmeshcollection_get(this.__wbg_ptr, t);
858
- return e === 0 ? void 0 : Ft.__wrap(e);
858
+ return e === 0 ? void 0 : At.__wrap(e);
859
859
  }
860
860
  get length() {
861
861
  return o.gpuinstancedgeometrycollection_length(this.__wbg_ptr) >>> 0;
862
862
  }
863
863
  }
864
- Symbol.dispose && (Rt.prototype[Symbol.dispose] = Rt.prototype.free);
865
- class dt {
864
+ Symbol.dispose && (Ot.prototype[Symbol.dispose] = Ot.prototype.free);
865
+ class ht {
866
866
  static __wrap(t) {
867
867
  t = t >>> 0;
868
- const e = Object.create(dt.prototype);
868
+ const e = Object.create(ht.prototype);
869
869
  return e.__wbg_ptr = t, Ge.register(e, e.__wbg_ptr, e), e;
870
870
  }
871
871
  __destroy_into_raw() {
@@ -892,7 +892,7 @@ let __tla = Promise.all([
892
892
  try {
893
893
  const c = o.__wbindgen_add_to_stack_pointer(-16);
894
894
  o.meshcollection_localToWorld(c, this.__wbg_ptr, t, e, n);
895
- var s = R().getInt32(c + 0, !0), r = R().getInt32(c + 4, !0), a = Bt(s, r).slice();
895
+ var s = F().getInt32(c + 0, !0), r = F().getInt32(c + 4, !0), a = vt(s, r).slice();
896
896
  return o.__wbindgen_export2(s, r * 8, 8), a;
897
897
  } finally{
898
898
  o.__wbindgen_add_to_stack_pointer(16);
@@ -908,7 +908,7 @@ let __tla = Promise.all([
908
908
  try {
909
909
  const n = o.__wbindgen_add_to_stack_pointer(-16);
910
910
  o.meshcollection_buildingRotation(n, this.__wbg_ptr);
911
- var t = R().getInt32(n + 0, !0), e = R().getFloat64(n + 8, !0);
911
+ var t = F().getInt32(n + 0, !0), e = F().getFloat64(n + 8, !0);
912
912
  return t === 0 ? void 0 : e;
913
913
  } finally{
914
914
  o.__wbindgen_add_to_stack_pointer(16);
@@ -916,17 +916,17 @@ let __tla = Promise.all([
916
916
  }
917
917
  get(t) {
918
918
  const e = o.meshcollection_get(this.__wbg_ptr, t);
919
- return e === 0 ? void 0 : gt.__wrap(e);
919
+ return e === 0 ? void 0 : Et.__wrap(e);
920
920
  }
921
921
  get length() {
922
922
  return o.meshcollection_length(this.__wbg_ptr) >>> 0;
923
923
  }
924
924
  }
925
- Symbol.dispose && (dt.prototype[Symbol.dispose] = dt.prototype.free);
926
- class Wt {
925
+ Symbol.dispose && (ht.prototype[Symbol.dispose] = ht.prototype.free);
926
+ class Xt {
927
927
  static __wrap(t) {
928
928
  t = t >>> 0;
929
- const e = Object.create(Wt.prototype);
929
+ const e = Object.create(Xt.prototype);
930
930
  return e.__wbg_ptr = t, $e.register(e, e.__wbg_ptr, e), e;
931
931
  }
932
932
  __destroy_into_raw() {
@@ -939,25 +939,25 @@ let __tla = Promise.all([
939
939
  }
940
940
  get rtcOffset() {
941
941
  const t = o.meshcollectionwithrtc_rtcOffset(this.__wbg_ptr);
942
- return Xt.__wrap(t);
942
+ return qt.__wrap(t);
943
943
  }
944
944
  get(t) {
945
945
  const e = o.meshcollectionwithrtc_get(this.__wbg_ptr, t);
946
- return e === 0 ? void 0 : gt.__wrap(e);
946
+ return e === 0 ? void 0 : Et.__wrap(e);
947
947
  }
948
948
  get length() {
949
949
  return o.meshcollection_length(this.__wbg_ptr) >>> 0;
950
950
  }
951
951
  get meshes() {
952
952
  const t = o.meshcollectionwithrtc_meshes(this.__wbg_ptr);
953
- return dt.__wrap(t);
953
+ return ht.__wrap(t);
954
954
  }
955
955
  }
956
- Symbol.dispose && (Wt.prototype[Symbol.dispose] = Wt.prototype.free);
957
- class gt {
956
+ Symbol.dispose && (Xt.prototype[Symbol.dispose] = Xt.prototype.free);
957
+ class Et {
958
958
  static __wrap(t) {
959
959
  t = t >>> 0;
960
- const e = Object.create(gt.prototype);
960
+ const e = Object.create(Et.prototype);
961
961
  return e.__wbg_ptr = t, ze.register(e, e.__wbg_ptr, e), e;
962
962
  }
963
963
  __destroy_into_raw() {
@@ -974,6 +974,17 @@ let __tla = Promise.all([
974
974
  get vertexCount() {
975
975
  return o.meshdatajs_vertexCount(this.__wbg_ptr) >>> 0;
976
976
  }
977
+ get shadingColor() {
978
+ try {
979
+ const n = o.__wbindgen_add_to_stack_pointer(-16);
980
+ o.meshdatajs_shadingColor(n, this.__wbg_ptr);
981
+ var t = F().getInt32(n + 0, !0), e = F().getInt32(n + 4, !0);
982
+ let s;
983
+ return t !== 0 && (s = It(t, e).slice(), o.__wbindgen_export2(t, e * 4, 4)), s;
984
+ } finally{
985
+ o.__wbindgen_add_to_stack_pointer(16);
986
+ }
987
+ }
977
988
  get triangleCount() {
978
989
  return o.meshdatajs_triangleCount(this.__wbg_ptr) >>> 0;
979
990
  }
@@ -981,7 +992,7 @@ let __tla = Promise.all([
981
992
  try {
982
993
  const s = o.__wbindgen_add_to_stack_pointer(-16);
983
994
  o.meshdatajs_color(s, this.__wbg_ptr);
984
- var t = R().getInt32(s + 0, !0), e = R().getInt32(s + 4, !0), n = pt(t, e).slice();
995
+ var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = It(t, e).slice();
985
996
  return o.__wbindgen_export2(t, e * 4, 4), n;
986
997
  } finally{
987
998
  o.__wbindgen_add_to_stack_pointer(16);
@@ -989,33 +1000,33 @@ let __tla = Promise.all([
989
1000
  }
990
1001
  get indices() {
991
1002
  const t = o.meshdatajs_indices(this.__wbg_ptr);
992
- return v(t);
1003
+ return G(t);
993
1004
  }
994
1005
  get normals() {
995
1006
  const t = o.meshdatajs_normals(this.__wbg_ptr);
996
- return v(t);
1007
+ return G(t);
997
1008
  }
998
1009
  get ifcType() {
999
1010
  let t, e;
1000
1011
  try {
1001
1012
  const r = o.__wbindgen_add_to_stack_pointer(-16);
1002
1013
  o.meshdatajs_ifcType(r, this.__wbg_ptr);
1003
- var n = R().getInt32(r + 0, !0), s = R().getInt32(r + 4, !0);
1004
- return t = n, e = s, K(n, s);
1014
+ var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
1015
+ return t = n, e = s, et(n, s);
1005
1016
  } finally{
1006
1017
  o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
1007
1018
  }
1008
1019
  }
1009
1020
  get positions() {
1010
1021
  const t = o.meshdatajs_positions(this.__wbg_ptr);
1011
- return v(t);
1022
+ return G(t);
1012
1023
  }
1013
1024
  }
1014
- Symbol.dispose && (gt.prototype[Symbol.dispose] = gt.prototype.free);
1015
- class Yt {
1025
+ Symbol.dispose && (Et.prototype[Symbol.dispose] = Et.prototype.free);
1026
+ class Jt {
1016
1027
  static __wrap(t) {
1017
1028
  t = t >>> 0;
1018
- const e = Object.create(Yt.prototype);
1029
+ const e = Object.create(Jt.prototype);
1019
1030
  return e.__wbg_ptr = t, Ve.register(e, e.__wbg_ptr, e), e;
1020
1031
  }
1021
1032
  __destroy_into_raw() {
@@ -1028,17 +1039,17 @@ let __tla = Promise.all([
1028
1039
  }
1029
1040
  get(t) {
1030
1041
  const e = o.profilecollection_get(this.__wbg_ptr, t);
1031
- return e === 0 ? void 0 : Ht.__wrap(e);
1042
+ return e === 0 ? void 0 : Qt.__wrap(e);
1032
1043
  }
1033
1044
  get length() {
1034
1045
  return o.profilecollection_length(this.__wbg_ptr) >>> 0;
1035
1046
  }
1036
1047
  }
1037
- Symbol.dispose && (Yt.prototype[Symbol.dispose] = Yt.prototype.free);
1038
- class Ht {
1048
+ Symbol.dispose && (Jt.prototype[Symbol.dispose] = Jt.prototype.free);
1049
+ class Qt {
1039
1050
  static __wrap(t) {
1040
1051
  t = t >>> 0;
1041
- const e = Object.create(Ht.prototype);
1052
+ const e = Object.create(Qt.prototype);
1042
1053
  return e.__wbg_ptr = t, je.register(e, e.__wbg_ptr, e), e;
1043
1054
  }
1044
1055
  __destroy_into_raw() {
@@ -1050,26 +1061,26 @@ let __tla = Promise.all([
1050
1061
  o.__wbg_profileentryjs_free(t, 0);
1051
1062
  }
1052
1063
  get expressId() {
1053
- return o.meshdatajs_expressId(this.__wbg_ptr) >>> 0;
1064
+ return o.profileentryjs_expressId(this.__wbg_ptr) >>> 0;
1054
1065
  }
1055
1066
  get holeCounts() {
1056
1067
  const t = o.profileentryjs_holeCounts(this.__wbg_ptr);
1057
- return v(t);
1068
+ return G(t);
1058
1069
  }
1059
1070
  get holePoints() {
1060
1071
  const t = o.profileentryjs_holePoints(this.__wbg_ptr);
1061
- return v(t);
1072
+ return G(t);
1062
1073
  }
1063
1074
  get modelIndex() {
1064
1075
  return o.profileentryjs_modelIndex(this.__wbg_ptr) >>> 0;
1065
1076
  }
1066
1077
  get outerPoints() {
1067
1078
  const t = o.profileentryjs_outerPoints(this.__wbg_ptr);
1068
- return v(t);
1079
+ return G(t);
1069
1080
  }
1070
1081
  get extrusionDir() {
1071
1082
  const t = o.profileentryjs_extrusionDir(this.__wbg_ptr);
1072
- return v(t);
1083
+ return G(t);
1073
1084
  }
1074
1085
  get extrusionDepth() {
1075
1086
  return o.profileentryjs_extrusionDepth(this.__wbg_ptr);
@@ -1079,22 +1090,22 @@ let __tla = Promise.all([
1079
1090
  try {
1080
1091
  const r = o.__wbindgen_add_to_stack_pointer(-16);
1081
1092
  o.profileentryjs_ifcType(r, this.__wbg_ptr);
1082
- var n = R().getInt32(r + 0, !0), s = R().getInt32(r + 4, !0);
1083
- return t = n, e = s, K(n, s);
1093
+ var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
1094
+ return t = n, e = s, et(n, s);
1084
1095
  } finally{
1085
1096
  o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
1086
1097
  }
1087
1098
  }
1088
1099
  get transform() {
1089
1100
  const t = o.profileentryjs_transform(this.__wbg_ptr);
1090
- return v(t);
1101
+ return G(t);
1091
1102
  }
1092
1103
  }
1093
- Symbol.dispose && (Ht.prototype[Symbol.dispose] = Ht.prototype.free);
1094
- class Xt {
1104
+ Symbol.dispose && (Qt.prototype[Symbol.dispose] = Qt.prototype.free);
1105
+ class qt {
1095
1106
  static __wrap(t) {
1096
1107
  t = t >>> 0;
1097
- const e = Object.create(Xt.prototype);
1108
+ const e = Object.create(qt.prototype);
1098
1109
  return e.__wbg_ptr = t, ke.register(e, e.__wbg_ptr, e), e;
1099
1110
  }
1100
1111
  __destroy_into_raw() {
@@ -1112,7 +1123,7 @@ let __tla = Promise.all([
1112
1123
  try {
1113
1124
  const c = o.__wbindgen_add_to_stack_pointer(-16);
1114
1125
  o.rtcoffsetjs_toWorld(c, this.__wbg_ptr, t, e, n);
1115
- var s = R().getInt32(c + 0, !0), r = R().getInt32(c + 4, !0), a = Bt(s, r).slice();
1126
+ var s = F().getInt32(c + 0, !0), r = F().getInt32(c + 4, !0), a = vt(s, r).slice();
1116
1127
  return o.__wbindgen_export2(s, r * 8, 8), a;
1117
1128
  } finally{
1118
1129
  o.__wbindgen_add_to_stack_pointer(16);
@@ -1137,11 +1148,11 @@ let __tla = Promise.all([
1137
1148
  o.__wbg_set_georeferencejs_orthogonal_height(this.__wbg_ptr, t);
1138
1149
  }
1139
1150
  }
1140
- Symbol.dispose && (Xt.prototype[Symbol.dispose] = Xt.prototype.free);
1141
- class Jt {
1151
+ Symbol.dispose && (qt.prototype[Symbol.dispose] = qt.prototype.free);
1152
+ class Kt {
1142
1153
  static __wrap(t) {
1143
1154
  t = t >>> 0;
1144
- const e = Object.create(Jt.prototype);
1155
+ const e = Object.create(Kt.prototype);
1145
1156
  return e.__wbg_ptr = t, We.register(e, e.__wbg_ptr, e), e;
1146
1157
  }
1147
1158
  __destroy_into_raw() {
@@ -1166,8 +1177,8 @@ let __tla = Promise.all([
1166
1177
  try {
1167
1178
  const r = o.__wbindgen_add_to_stack_pointer(-16);
1168
1179
  o.symboliccircle_repIdentifier(r, this.__wbg_ptr);
1169
- var n = R().getInt32(r + 0, !0), s = R().getInt32(r + 4, !0);
1170
- return t = n, e = s, K(n, s);
1180
+ var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
1181
+ return t = n, e = s, et(n, s);
1171
1182
  } finally{
1172
1183
  o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
1173
1184
  }
@@ -1186,8 +1197,8 @@ let __tla = Promise.all([
1186
1197
  try {
1187
1198
  const r = o.__wbindgen_add_to_stack_pointer(-16);
1188
1199
  o.symboliccircle_ifcType(r, this.__wbg_ptr);
1189
- var n = R().getInt32(r + 0, !0), s = R().getInt32(r + 4, !0);
1190
- return t = n, e = s, K(n, s);
1200
+ var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
1201
+ return t = n, e = s, et(n, s);
1191
1202
  } finally{
1192
1203
  o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
1193
1204
  }
@@ -1196,16 +1207,16 @@ let __tla = Promise.all([
1196
1207
  return o.symboliccircle_endAngle(this.__wbg_ptr);
1197
1208
  }
1198
1209
  }
1199
- Symbol.dispose && (Jt.prototype[Symbol.dispose] = Jt.prototype.free);
1200
- class qt {
1210
+ Symbol.dispose && (Kt.prototype[Symbol.dispose] = Kt.prototype.free);
1211
+ class Zt {
1201
1212
  static __wrap(t) {
1202
1213
  t = t >>> 0;
1203
- const e = Object.create(qt.prototype);
1204
- return e.__wbg_ptr = t, Ye.register(e, e.__wbg_ptr, e), e;
1214
+ const e = Object.create(Zt.prototype);
1215
+ return e.__wbg_ptr = t, He.register(e, e.__wbg_ptr, e), e;
1205
1216
  }
1206
1217
  __destroy_into_raw() {
1207
1218
  const t = this.__wbg_ptr;
1208
- return this.__wbg_ptr = 0, Ye.unregister(this), t;
1219
+ return this.__wbg_ptr = 0, He.unregister(this), t;
1209
1220
  }
1210
1221
  free() {
1211
1222
  const t = this.__destroy_into_raw();
@@ -1222,23 +1233,23 @@ let __tla = Promise.all([
1222
1233
  try {
1223
1234
  const r = o.__wbindgen_add_to_stack_pointer(-16);
1224
1235
  o.symbolicpolyline_repIdentifier(r, this.__wbg_ptr);
1225
- var n = R().getInt32(r + 0, !0), s = R().getInt32(r + 4, !0);
1226
- return t = n, e = s, K(n, s);
1236
+ var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
1237
+ return t = n, e = s, et(n, s);
1227
1238
  } finally{
1228
1239
  o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
1229
1240
  }
1230
1241
  }
1231
1242
  get points() {
1232
1243
  const t = o.symbolicpolyline_points(this.__wbg_ptr);
1233
- return v(t);
1244
+ return G(t);
1234
1245
  }
1235
1246
  get ifcType() {
1236
1247
  let t, e;
1237
1248
  try {
1238
1249
  const r = o.__wbindgen_add_to_stack_pointer(-16);
1239
1250
  o.symbolicpolyline_ifcType(r, this.__wbg_ptr);
1240
- var n = R().getInt32(r + 0, !0), s = R().getInt32(r + 4, !0);
1241
- return t = n, e = s, K(n, s);
1251
+ var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
1252
+ return t = n, e = s, et(n, s);
1242
1253
  } finally{
1243
1254
  o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
1244
1255
  }
@@ -1247,16 +1258,16 @@ let __tla = Promise.all([
1247
1258
  return o.symbolicpolyline_isClosed(this.__wbg_ptr) !== 0;
1248
1259
  }
1249
1260
  }
1250
- Symbol.dispose && (qt.prototype[Symbol.dispose] = qt.prototype.free);
1251
- class Qt {
1261
+ Symbol.dispose && (Zt.prototype[Symbol.dispose] = Zt.prototype.free);
1262
+ class te {
1252
1263
  static __wrap(t) {
1253
1264
  t = t >>> 0;
1254
- const e = Object.create(Qt.prototype);
1255
- return e.__wbg_ptr = t, He.register(e, e.__wbg_ptr, e), e;
1265
+ const e = Object.create(te.prototype);
1266
+ return e.__wbg_ptr = t, Ye.register(e, e.__wbg_ptr, e), e;
1256
1267
  }
1257
1268
  __destroy_into_raw() {
1258
1269
  const t = this.__wbg_ptr;
1259
- return this.__wbg_ptr = 0, He.unregister(this), t;
1270
+ return this.__wbg_ptr = 0, Ye.unregister(this), t;
1260
1271
  }
1261
1272
  free() {
1262
1273
  const t = this.__destroy_into_raw();
@@ -1264,7 +1275,7 @@ let __tla = Promise.all([
1264
1275
  }
1265
1276
  getCircle(t) {
1266
1277
  const e = o.symbolicrepresentationcollection_getCircle(this.__wbg_ptr, t);
1267
- return e === 0 ? void 0 : Jt.__wrap(e);
1278
+ return e === 0 ? void 0 : Kt.__wrap(e);
1268
1279
  }
1269
1280
  get totalCount() {
1270
1281
  return o.symbolicrepresentationcollection_totalCount(this.__wbg_ptr) >>> 0;
@@ -1274,7 +1285,7 @@ let __tla = Promise.all([
1274
1285
  }
1275
1286
  getPolyline(t) {
1276
1287
  const e = o.symbolicrepresentationcollection_getPolyline(this.__wbg_ptr, t);
1277
- return e === 0 ? void 0 : qt.__wrap(e);
1288
+ return e === 0 ? void 0 : Zt.__wrap(e);
1278
1289
  }
1279
1290
  get polylineCount() {
1280
1291
  return o.symbolicrepresentationcollection_polylineCount(this.__wbg_ptr) >>> 0;
@@ -1283,7 +1294,7 @@ let __tla = Promise.all([
1283
1294
  try {
1284
1295
  const s = o.__wbindgen_add_to_stack_pointer(-16);
1285
1296
  o.symbolicrepresentationcollection_getExpressIds(s, this.__wbg_ptr);
1286
- var t = R().getInt32(s + 0, !0), e = R().getInt32(s + 4, !0), n = cn(t, e).slice();
1297
+ var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = cn(t, e).slice();
1287
1298
  return o.__wbindgen_export2(t, e * 4, 4), n;
1288
1299
  } finally{
1289
1300
  o.__wbindgen_add_to_stack_pointer(16);
@@ -1293,16 +1304,16 @@ let __tla = Promise.all([
1293
1304
  return o.symbolicrepresentationcollection_isEmpty(this.__wbg_ptr) !== 0;
1294
1305
  }
1295
1306
  }
1296
- Symbol.dispose && (Qt.prototype[Symbol.dispose] = Qt.prototype.free);
1297
- class Zt {
1307
+ Symbol.dispose && (te.prototype[Symbol.dispose] = te.prototype.free);
1308
+ class ee {
1298
1309
  static __wrap(t) {
1299
1310
  t = t >>> 0;
1300
- const e = Object.create(Zt.prototype);
1301
- return e.__wbg_ptr = t, fe.register(e, e.__wbg_ptr, e), e;
1311
+ const e = Object.create(ee.prototype);
1312
+ return e.__wbg_ptr = t, ue.register(e, e.__wbg_ptr, e), e;
1302
1313
  }
1303
1314
  __destroy_into_raw() {
1304
1315
  const t = this.__wbg_ptr;
1305
- return this.__wbg_ptr = 0, fe.unregister(this), t;
1316
+ return this.__wbg_ptr = 0, ue.unregister(this), t;
1306
1317
  }
1307
1318
  free() {
1308
1319
  const t = this.__destroy_into_raw();
@@ -1312,7 +1323,7 @@ let __tla = Promise.all([
1312
1323
  try {
1313
1324
  const s = o.__wbindgen_add_to_stack_pointer(-16);
1314
1325
  o.zerocopymesh_bounds_max(s, this.__wbg_ptr);
1315
- var t = R().getInt32(s + 0, !0), e = R().getInt32(s + 4, !0), n = pt(t, e).slice();
1326
+ var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = It(t, e).slice();
1316
1327
  return o.__wbindgen_export2(t, e * 4, 4), n;
1317
1328
  } finally{
1318
1329
  o.__wbindgen_add_to_stack_pointer(16);
@@ -1322,7 +1333,7 @@ let __tla = Promise.all([
1322
1333
  try {
1323
1334
  const s = o.__wbindgen_add_to_stack_pointer(-16);
1324
1335
  o.zerocopymesh_bounds_min(s, this.__wbg_ptr);
1325
- var t = R().getInt32(s + 0, !0), e = R().getInt32(s + 4, !0), n = pt(t, e).slice();
1336
+ var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = It(t, e).slice();
1326
1337
  return o.__wbindgen_export2(t, e * 4, 4), n;
1327
1338
  } finally{
1328
1339
  o.__wbindgen_add_to_stack_pointer(16);
@@ -1354,14 +1365,14 @@ let __tla = Promise.all([
1354
1365
  }
1355
1366
  constructor(){
1356
1367
  const t = o.zerocopymesh_new();
1357
- return this.__wbg_ptr = t >>> 0, fe.register(this, this.__wbg_ptr, this), this;
1368
+ return this.__wbg_ptr = t >>> 0, ue.register(this, this.__wbg_ptr, this), this;
1358
1369
  }
1359
1370
  get is_empty() {
1360
1371
  return o.zerocopymesh_is_empty(this.__wbg_ptr) !== 0;
1361
1372
  }
1362
1373
  }
1363
- Symbol.dispose && (Zt.prototype[Symbol.dispose] = Zt.prototype.free);
1364
- const On = new Set([
1374
+ Symbol.dispose && (ee.prototype[Symbol.dispose] = ee.prototype.free);
1375
+ const xn = new Set([
1365
1376
  "basic",
1366
1377
  "cors",
1367
1378
  "default"
@@ -1371,7 +1382,7 @@ let __tla = Promise.all([
1371
1382
  if (typeof WebAssembly.instantiateStreaming == "function") try {
1372
1383
  return await WebAssembly.instantiateStreaming(i, t);
1373
1384
  } catch (n) {
1374
- if (i.ok && On.has(i.type) && i.headers.get("Content-Type") !== "application/wasm") console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", n);
1385
+ if (i.ok && xn.has(i.type) && i.headers.get("Content-Type") !== "application/wasm") console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", n);
1375
1386
  else throw n;
1376
1387
  }
1377
1388
  const e = await i.arrayBuffer();
@@ -1387,75 +1398,75 @@ let __tla = Promise.all([
1387
1398
  function Ln() {
1388
1399
  const i = {};
1389
1400
  return i.wbg = {}, i.wbg.__wbg_Error_52673b7de5a0ca89 = function(t, e) {
1390
- const n = Error(K(t, e));
1391
- return L(n);
1401
+ const n = Error(et(t, e));
1402
+ return B(n);
1392
1403
  }, i.wbg.__wbg___wbindgen_is_function_8d400b8b1af978cd = function(t) {
1393
- return typeof M(t) == "function";
1404
+ return typeof L(t) == "function";
1394
1405
  }, i.wbg.__wbg___wbindgen_is_undefined_f6b95eab589e0269 = function(t) {
1395
- return M(t) === void 0;
1406
+ return L(t) === void 0;
1396
1407
  }, i.wbg.__wbg___wbindgen_memory_a342e963fbcabd68 = function() {
1397
1408
  const t = o.memory;
1398
- return L(t);
1409
+ return B(t);
1399
1410
  }, i.wbg.__wbg___wbindgen_number_get_9619185a74197f95 = function(t, e) {
1400
- const n = M(e), s = typeof n == "number" ? n : void 0;
1401
- R().setFloat64(t + 8, wt(s) ? 0 : s, !0), R().setInt32(t + 0, !wt(s), !0);
1411
+ const n = L(e), s = typeof n == "number" ? n : void 0;
1412
+ F().setFloat64(t + 8, Rt(s) ? 0 : s, !0), F().setInt32(t + 0, !Rt(s), !0);
1402
1413
  }, i.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e = function(t, e) {
1403
- throw new Error(K(t, e));
1414
+ throw new Error(et(t, e));
1404
1415
  }, i.wbg.__wbg__wbg_cb_unref_87dfb5aaa0cbcea7 = function(t) {
1405
- M(t)._wbg_cb_unref();
1416
+ L(t)._wbg_cb_unref();
1406
1417
  }, i.wbg.__wbg_call_3020136f7a2d6e44 = function() {
1407
- return Nt(function(t, e, n) {
1408
- const s = M(t).call(M(e), M(n));
1409
- return L(s);
1418
+ return xt(function(t, e, n) {
1419
+ const s = L(t).call(L(e), L(n));
1420
+ return B(s);
1410
1421
  }, arguments);
1411
1422
  }, i.wbg.__wbg_call_abb4ff46ce38be40 = function() {
1412
- return Nt(function(t, e) {
1413
- const n = M(t).call(M(e));
1414
- return L(n);
1423
+ return xt(function(t, e) {
1424
+ const n = L(t).call(L(e));
1425
+ return B(n);
1415
1426
  }, arguments);
1416
1427
  }, i.wbg.__wbg_call_c8baa5c5e72d274e = function() {
1417
- return Nt(function(t, e, n, s) {
1418
- const r = M(t).call(M(e), M(n), M(s));
1419
- return L(r);
1428
+ return xt(function(t, e, n, s) {
1429
+ const r = L(t).call(L(e), L(n), L(s));
1430
+ return B(r);
1420
1431
  }, arguments);
1421
1432
  }, i.wbg.__wbg_debug_9d0c87ddda3dc485 = function(t) {
1422
- console.debug(M(t));
1433
+ console.debug(L(t));
1423
1434
  }, i.wbg.__wbg_error_7534b8e9a36f1ab4 = function(t, e) {
1424
1435
  let n, s;
1425
1436
  try {
1426
- n = t, s = e, console.error(K(t, e));
1437
+ n = t, s = e, console.error(et(t, e));
1427
1438
  } finally{
1428
1439
  o.__wbindgen_export2(n, s, 1);
1429
1440
  }
1430
1441
  }, i.wbg.__wbg_get_af9dab7e9603ea93 = function() {
1431
- return Nt(function(t, e) {
1432
- const n = Reflect.get(M(t), M(e));
1433
- return L(n);
1442
+ return xt(function(t, e) {
1443
+ const n = Reflect.get(L(t), L(e));
1444
+ return B(n);
1434
1445
  }, arguments);
1435
1446
  }, i.wbg.__wbg_gpugeometry_new = function(t) {
1436
- const e = Tt.__wrap(t);
1437
- return L(e);
1447
+ const e = Nt.__wrap(t);
1448
+ return B(e);
1438
1449
  }, i.wbg.__wbg_info_ce6bcc489c22f6f0 = function(t) {
1439
- console.info(M(t));
1450
+ console.info(L(t));
1440
1451
  }, i.wbg.__wbg_instancedgeometry_new = function(t) {
1441
- const e = Ft.__wrap(t);
1442
- return L(e);
1452
+ const e = At.__wrap(t);
1453
+ return B(e);
1443
1454
  }, i.wbg.__wbg_length_86ce4877baf913bb = function(t) {
1444
- return M(t).length;
1455
+ return L(t).length;
1445
1456
  }, i.wbg.__wbg_length_d45040a40c570362 = function(t) {
1446
- return M(t).length;
1457
+ return L(t).length;
1447
1458
  }, i.wbg.__wbg_meshdatajs_new = function(t) {
1448
- const e = gt.__wrap(t);
1449
- return L(e);
1459
+ const e = Et.__wrap(t);
1460
+ return B(e);
1450
1461
  }, i.wbg.__wbg_new_1ba21ce319a06297 = function() {
1451
1462
  const t = new Object;
1452
- return L(t);
1463
+ return B(t);
1453
1464
  }, i.wbg.__wbg_new_25f239778d6112b9 = function() {
1454
1465
  const t = new Array;
1455
- return L(t);
1466
+ return B(t);
1456
1467
  }, i.wbg.__wbg_new_8a6f238a6ece86ea = function() {
1457
1468
  const t = new Error;
1458
- return L(t);
1469
+ return B(t);
1459
1470
  }, i.wbg.__wbg_new_ff12d2b041fb48f1 = function(t, e) {
1460
1471
  try {
1461
1472
  var n = {
@@ -1465,111 +1476,111 @@ let __tla = Promise.all([
1465
1476
  const l = n.a;
1466
1477
  n.a = 0;
1467
1478
  try {
1468
- return xn(l, n.b, a, c);
1479
+ return On(l, n.b, a, c);
1469
1480
  } finally{
1470
1481
  n.a = l;
1471
1482
  }
1472
1483
  };
1473
1484
  const r = new Promise(s);
1474
- return L(r);
1485
+ return B(r);
1475
1486
  } finally{
1476
1487
  n.a = n.b = 0;
1477
1488
  }
1478
1489
  }, i.wbg.__wbg_new_from_slice_41e2764a343e3cb1 = function(t, e) {
1479
- const n = new Float32Array(pt(t, e));
1480
- return L(n);
1490
+ const n = new Float32Array(It(t, e));
1491
+ return B(n);
1481
1492
  }, i.wbg.__wbg_new_from_slice_db0691b69e9d3891 = function(t, e) {
1482
1493
  const n = new Uint32Array(cn(t, e));
1483
- return L(n);
1494
+ return B(n);
1484
1495
  }, i.wbg.__wbg_new_no_args_cb138f77cf6151ee = function(t, e) {
1485
- const n = new Function(K(t, e));
1486
- return L(n);
1496
+ const n = new Function(et(t, e));
1497
+ return B(n);
1487
1498
  }, i.wbg.__wbg_new_with_length_202b3db94ba5fc86 = function(t) {
1488
1499
  const e = new Uint32Array(t >>> 0);
1489
- return L(e);
1500
+ return B(e);
1490
1501
  }, i.wbg.__wbg_new_with_length_806b9e5b8290af7c = function(t) {
1491
1502
  const e = new Float64Array(t >>> 0);
1492
- return L(e);
1503
+ return B(e);
1493
1504
  }, i.wbg.__wbg_new_with_length_aa5eaf41d35235e5 = function(t) {
1494
1505
  const e = new Uint8Array(t >>> 0);
1495
- return L(e);
1506
+ return B(e);
1496
1507
  }, i.wbg.__wbg_prototypesetcall_96cc7097487b926d = function(t, e, n) {
1497
- Float32Array.prototype.set.call(pt(t, e), M(n));
1508
+ Float32Array.prototype.set.call(It(t, e), L(n));
1498
1509
  }, i.wbg.__wbg_push_7d9be8f38fc13975 = function(t, e) {
1499
- return M(t).push(M(e));
1510
+ return L(t).push(L(e));
1500
1511
  }, i.wbg.__wbg_queueMicrotask_9b549dfce8865860 = function(t) {
1501
- const e = M(t).queueMicrotask;
1502
- return L(e);
1512
+ const e = L(t).queueMicrotask;
1513
+ return B(e);
1503
1514
  }, i.wbg.__wbg_queueMicrotask_fca69f5bfad613a5 = function(t) {
1504
- queueMicrotask(M(t));
1515
+ queueMicrotask(L(t));
1505
1516
  }, i.wbg.__wbg_resolve_fd5bfbaa4ce36e1e = function(t) {
1506
- const e = Promise.resolve(M(t));
1507
- return L(e);
1517
+ const e = Promise.resolve(L(t));
1518
+ return B(e);
1508
1519
  }, i.wbg.__wbg_set_3f1d0b984ed272ed = function(t, e, n) {
1509
- M(t)[v(e)] = v(n);
1520
+ L(t)[G(e)] = G(n);
1510
1521
  }, i.wbg.__wbg_set_781438a03c0c3c81 = function() {
1511
- return Nt(function(t, e, n) {
1512
- return Reflect.set(M(t), M(e), M(n));
1522
+ return xt(function(t, e, n) {
1523
+ return Reflect.set(L(t), L(e), L(n));
1513
1524
  }, arguments);
1514
1525
  }, i.wbg.__wbg_set_7df433eea03a5c14 = function(t, e, n) {
1515
- M(t)[e >>> 0] = v(n);
1526
+ L(t)[e >>> 0] = G(n);
1516
1527
  }, i.wbg.__wbg_set_index_021489b2916af13e = function(t, e, n) {
1517
- M(t)[e >>> 0] = n;
1528
+ L(t)[e >>> 0] = n;
1518
1529
  }, i.wbg.__wbg_set_index_04c4b93e64d08a52 = function(t, e, n) {
1519
- M(t)[e >>> 0] = n;
1530
+ L(t)[e >>> 0] = n;
1520
1531
  }, i.wbg.__wbg_set_index_42abe35f117e614e = function(t, e, n) {
1521
- M(t)[e >>> 0] = n >>> 0;
1532
+ L(t)[e >>> 0] = n >>> 0;
1522
1533
  }, i.wbg.__wbg_stack_0ed75d68575b0f3c = function(t, e) {
1523
- const n = M(e).stack, s = q(n, o.__wbindgen_export3, o.__wbindgen_export4), r = O;
1524
- R().setInt32(t + 4, r, !0), R().setInt32(t + 0, s, !0);
1534
+ const n = L(e).stack, s = Q(n, o.__wbindgen_export3, o.__wbindgen_export4), r = O;
1535
+ F().setInt32(t + 4, r, !0), F().setInt32(t + 0, s, !0);
1525
1536
  }, i.wbg.__wbg_static_accessor_GLOBAL_769e6b65d6557335 = function() {
1526
1537
  const t = typeof global > "u" ? null : global;
1527
- return wt(t) ? 0 : L(t);
1538
+ return Rt(t) ? 0 : B(t);
1528
1539
  }, i.wbg.__wbg_static_accessor_GLOBAL_THIS_60cf02db4de8e1c1 = function() {
1529
1540
  const t = typeof globalThis > "u" ? null : globalThis;
1530
- return wt(t) ? 0 : L(t);
1541
+ return Rt(t) ? 0 : B(t);
1531
1542
  }, i.wbg.__wbg_static_accessor_SELF_08f5a74c69739274 = function() {
1532
1543
  const t = typeof self > "u" ? null : self;
1533
- return wt(t) ? 0 : L(t);
1544
+ return Rt(t) ? 0 : B(t);
1534
1545
  }, i.wbg.__wbg_static_accessor_WINDOW_a8924b26aa92d024 = function() {
1535
1546
  const t = typeof window > "u" ? null : window;
1536
- return wt(t) ? 0 : L(t);
1547
+ return Rt(t) ? 0 : B(t);
1537
1548
  }, i.wbg.__wbg_then_4f95312d68691235 = function(t, e) {
1538
- const n = M(t).then(M(e));
1539
- return L(n);
1549
+ const n = L(t).then(L(e));
1550
+ return B(n);
1540
1551
  }, i.wbg.__wbg_warn_6e567d0d926ff881 = function(t) {
1541
- console.warn(M(t));
1552
+ console.warn(L(t));
1542
1553
  }, i.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(t, e) {
1543
- const n = K(t, e);
1544
- return L(n);
1554
+ const n = et(t, e);
1555
+ return B(n);
1545
1556
  }, i.wbg.__wbindgen_cast_4625c577ab2ec9ee = function(t) {
1546
1557
  const e = BigInt.asUintN(64, t);
1547
- return L(e);
1548
- }, i.wbg.__wbindgen_cast_a7f9b7b12781c1bc = function(t, e) {
1549
- const n = Rn(t, e, o.__wasm_bindgen_func_elem_1273, An);
1550
- return L(n);
1558
+ return B(e);
1559
+ }, i.wbg.__wbindgen_cast_73cbb7b49382c492 = function(t, e) {
1560
+ const n = Rn(t, e, o.__wasm_bindgen_func_elem_1483, An);
1561
+ return B(n);
1551
1562
  }, i.wbg.__wbindgen_cast_d6cd19b81560fd6e = function(t) {
1552
- return L(t);
1563
+ return B(t);
1553
1564
  }, i.wbg.__wbindgen_object_clone_ref = function(t) {
1554
- const e = M(t);
1555
- return L(e);
1565
+ const e = L(t);
1566
+ return B(e);
1556
1567
  }, i.wbg.__wbindgen_object_drop_ref = function(t) {
1557
- v(t);
1568
+ G(t);
1558
1569
  }, i;
1559
1570
  }
1560
1571
  function Bn(i, t) {
1561
- return o = i.exports, dn.__wbindgen_wasm_module = t, ut = null, xt = null, Ot = null, Mt = null, Lt = null, o.__wbindgen_start(), o;
1572
+ return o = i.exports, dn.__wbindgen_wasm_module = t, bt = null, Lt = null, Bt = null, Pt = null, Ut = null, o.__wbindgen_start(), o;
1562
1573
  }
1563
1574
  dn = async function(i) {
1564
1575
  if (o !== void 0) return o;
1565
- typeof i < "u" && (Object.getPrototypeOf(i) === Object.prototype ? { module_or_path: i } = i : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), typeof i > "u" && (i = new URL("/assets/ifc-lite_bg-CSeT3fNI.wasm", import.meta.url));
1576
+ typeof i < "u" && (Object.getPrototypeOf(i) === Object.prototype ? { module_or_path: i } = i : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), typeof i > "u" && (i = new URL("/assets/ifc-lite_bg-DyHX37GQ.wasm", import.meta.url));
1566
1577
  const t = Ln();
1567
1578
  (typeof i == "string" || typeof Request == "function" && i instanceof Request || typeof URL == "function" && i instanceof URL) && (i = fetch(i));
1568
1579
  const { instance: e, module: n } = await Mn(await i, t);
1569
1580
  return Bn(e, n);
1570
1581
  };
1571
- const Q = on("Geometry"), Pn = "IFC-Lite WASM cannot recover from a fatal runtime error within the same document lifetime. Reload the page or recreate the worker process before calling init() again.";
1572
- let ue = null;
1582
+ const K = on("Geometry"), Pn = "IFC-Lite WASM cannot recover from a fatal runtime error within the same document lifetime. Reload the page or recreate the worker process before calling init() again.";
1583
+ let pe = null;
1573
1584
  Un = class {
1574
1585
  ifcApi = null;
1575
1586
  initialized = !1;
@@ -1578,15 +1589,15 @@ let __tla = Promise.all([
1578
1589
  return t instanceof WebAssembly.RuntimeError;
1579
1590
  }
1580
1591
  markFatalWasmRuntimeError() {
1581
- ue = new Error(Pn), this.reset();
1592
+ pe = new Error(Pn), this.reset();
1582
1593
  }
1583
1594
  async init() {
1584
1595
  if (!this.initialized) {
1585
- if (ue) throw ue;
1596
+ if (pe) throw pe;
1586
1597
  try {
1587
- await dn(), Q.warn("Geometry processing: single-threaded mode (thread pool disabled for Vite compatibility)"), this.ifcApi = new Ee, this.applyMergeLayers(), this.initialized = !0, Q.info("WASM geometry engine initialized");
1598
+ await dn(), K.warn("Geometry processing: single-threaded mode (thread pool disabled for Vite compatibility)"), this.ifcApi = new we, this.applyMergeLayers(), this.initialized = !0, K.info("WASM geometry engine initialized");
1588
1599
  } catch (t) {
1589
- throw Q.error("Failed to initialize WASM geometry engine", t, {
1600
+ throw K.error("Failed to initialize WASM geometry engine", t, {
1590
1601
  operation: "init"
1591
1602
  }), this.isWasmRuntimeError(t) ? this.markFatalWasmRuntimeError() : this.reset(), t;
1592
1603
  }
@@ -1599,11 +1610,11 @@ let __tla = Promise.all([
1599
1610
  if (!this.ifcApi) throw new Error("IFC-Lite not initialized. Call init() first.");
1600
1611
  try {
1601
1612
  const e = this.ifcApi.parseMeshes(t);
1602
- return Q.debug(`Parsed ${e.length} meshes`, {
1613
+ return K.debug(`Parsed ${e.length} meshes`, {
1603
1614
  operation: "parseMeshes"
1604
1615
  }), e;
1605
1616
  } catch (e) {
1606
- throw Q.error("Failed to parse IFC geometry", e, {
1617
+ throw K.error("Failed to parse IFC geometry", e, {
1607
1618
  operation: "parseMeshes",
1608
1619
  data: {
1609
1620
  contentLength: t.length
@@ -1615,11 +1626,11 @@ let __tla = Promise.all([
1615
1626
  if (!this.ifcApi) throw new Error("IFC-Lite not initialized. Call init() first.");
1616
1627
  try {
1617
1628
  const e = this.ifcApi.parseMeshesInstanced(t);
1618
- return Q.debug(`Parsed ${e.length} instanced geometries`, {
1629
+ return K.debug(`Parsed ${e.length} instanced geometries`, {
1619
1630
  operation: "parseMeshesInstanced"
1620
1631
  }), e;
1621
1632
  } catch (e) {
1622
- throw Q.error("Failed to parse instanced IFC geometry", e, {
1633
+ throw K.error("Failed to parse instanced IFC geometry", e, {
1623
1634
  operation: "parseMeshesInstanced",
1624
1635
  data: {
1625
1636
  contentLength: t.length
@@ -1632,7 +1643,7 @@ let __tla = Promise.all([
1632
1643
  try {
1633
1644
  return await this.ifcApi.parseMeshesAsync(t, e);
1634
1645
  } catch (n) {
1635
- throw Q.error("Failed to parse IFC geometry (streaming)", n, {
1646
+ throw K.error("Failed to parse IFC geometry (streaming)", n, {
1636
1647
  operation: "parseMeshesAsync",
1637
1648
  data: {
1638
1649
  contentLength: t.length
@@ -1645,7 +1656,7 @@ let __tla = Promise.all([
1645
1656
  try {
1646
1657
  return await this.ifcApi.parseMeshesInstancedAsync(t, e);
1647
1658
  } catch (n) {
1648
- throw Q.error("Failed to parse instanced IFC geometry (streaming)", n, {
1659
+ throw K.error("Failed to parse instanced IFC geometry (streaming)", n, {
1649
1660
  operation: "parseMeshesInstancedAsync",
1650
1661
  data: {
1651
1662
  contentLength: t.length
@@ -1657,11 +1668,11 @@ let __tla = Promise.all([
1657
1668
  if (!this.ifcApi) throw new Error("IFC-Lite not initialized. Call init() first.");
1658
1669
  try {
1659
1670
  const e = this.ifcApi.parseSymbolicRepresentations(t);
1660
- return Q.debug(`Parsed ${e.totalCount} symbolic items (${e.polylineCount} polylines, ${e.circleCount} circles)`, {
1671
+ return K.debug(`Parsed ${e.totalCount} symbolic items (${e.polylineCount} polylines, ${e.circleCount} circles)`, {
1661
1672
  operation: "parseSymbolicRepresentations"
1662
1673
  }), e;
1663
1674
  } catch (e) {
1664
- throw Q.error("Failed to parse symbolic representations", e, {
1675
+ throw K.error("Failed to parse symbolic representations", e, {
1665
1676
  operation: "parseSymbolicRepresentations",
1666
1677
  data: {
1667
1678
  contentLength: t.length
@@ -1673,11 +1684,11 @@ let __tla = Promise.all([
1673
1684
  if (!this.ifcApi) throw new Error("IFC-Lite not initialized. Call init() first.");
1674
1685
  try {
1675
1686
  const n = this.ifcApi.extractProfiles(t, e);
1676
- return Q.debug(`Extracted ${n.length} profiles`, {
1687
+ return K.debug(`Extracted ${n.length} profiles`, {
1677
1688
  operation: "extractProfiles"
1678
1689
  }), n;
1679
1690
  } catch (n) {
1680
- throw Q.error("Failed to extract profiles", n, {
1691
+ throw K.error("Failed to extract profiles", n, {
1681
1692
  operation: "extractProfiles",
1682
1693
  data: {
1683
1694
  contentLength: t.length
@@ -1689,11 +1700,11 @@ let __tla = Promise.all([
1689
1700
  if (!this.ifcApi) throw new Error("IFC-Lite not initialized. Call init() first.");
1690
1701
  try {
1691
1702
  const r = this.ifcApi.parseMeshesSubset(t, e, n, s);
1692
- return Q.debug(`Parsed subset [${e}, ${n}) → ${r.length} meshes`, {
1703
+ return K.debug(`Parsed subset [${e}, ${n}) → ${r.length} meshes`, {
1693
1704
  operation: "parseMeshesSubset"
1694
1705
  }), r;
1695
1706
  } catch (r) {
1696
- throw Q.error("Failed to parse IFC geometry subset", r, {
1707
+ throw K.error("Failed to parse IFC geometry subset", r, {
1697
1708
  operation: "parseMeshesSubset",
1698
1709
  data: {
1699
1710
  contentLength: t.length,
@@ -1723,7 +1734,7 @@ let __tla = Promise.all([
1723
1734
  if (!this.ifcApi) return;
1724
1735
  const t = this.ifcApi;
1725
1736
  if (typeof t.setMergeLayers != "function") {
1726
- Q.warn("setMergeLayers not present on WASM API — flag tracked but suppression is a no-op until WASM is rebuilt", {
1737
+ K.warn("setMergeLayers not present on WASM API — flag tracked but suppression is a no-op until WASM is rebuilt", {
1727
1738
  operation: "setMergeLayers",
1728
1739
  data: {
1729
1740
  requested: this.mergeLayers
@@ -1731,13 +1742,13 @@ let __tla = Promise.all([
1731
1742
  });
1732
1743
  return;
1733
1744
  }
1734
- t.setMergeLayers(this.mergeLayers), Q.debug(`mergeLayers=${this.mergeLayers}`, {
1745
+ t.setMergeLayers(this.mergeLayers), K.debug(`mergeLayers=${this.mergeLayers}`, {
1735
1746
  operation: "setMergeLayers"
1736
1747
  });
1737
1748
  }
1738
1749
  };
1739
- const it = on("MeshCollector");
1740
- ee = class {
1750
+ const ct = on("MeshCollector");
1751
+ se = class {
1741
1752
  ifcApi;
1742
1753
  content;
1743
1754
  _buildingRotation;
@@ -1772,7 +1783,7 @@ let __tla = Promise.all([
1772
1783
  try {
1773
1784
  t = this.ifcApi.parseMeshes(this.content);
1774
1785
  } catch (r) {
1775
- throw it.error("WASM mesh parsing failed", r, {
1786
+ throw ct.error("WASM mesh parsing failed", r, {
1776
1787
  operation: "collectMeshes"
1777
1788
  }), r;
1778
1789
  }
@@ -1790,17 +1801,25 @@ let __tla = Promise.all([
1790
1801
  c[1],
1791
1802
  c[2],
1792
1803
  c[3]
1793
- ];
1804
+ ], d = a.shadingColor, f = d && d.length === 4 ? [
1805
+ d[0],
1806
+ d[1],
1807
+ d[2],
1808
+ d[3]
1809
+ ] : void 0;
1794
1810
  e.push({
1795
1811
  expressId: a.expressId,
1796
1812
  ifcType: a.ifcType,
1797
1813
  positions: a.positions,
1798
1814
  normals: a.normals,
1799
1815
  indices: a.indices,
1800
- color: l
1816
+ color: l,
1817
+ ...f ? {
1818
+ shadingColor: f
1819
+ } : {}
1801
1820
  }), a.free(), a = null;
1802
1821
  } catch (c) {
1803
- if (n++, it.caught(`Failed to process mesh ${r}`, c, {
1822
+ if (n++, ct.caught(`Failed to process mesh ${r}`, c, {
1804
1823
  operation: "collectMeshes"
1805
1824
  }), a) try {
1806
1825
  a.free();
@@ -1808,9 +1827,9 @@ let __tla = Promise.all([
1808
1827
  }
1809
1828
  }
1810
1829
  const s = t.buildingRotation ?? void 0;
1811
- return t.free(), n > 0 && it.warn(`Skipped ${n} meshes due to errors`, {
1830
+ return t.free(), n > 0 && ct.warn(`Skipped ${n} meshes due to errors`, {
1812
1831
  operation: "collectMeshes"
1813
- }), it.debug(`Collected ${e.length} meshes`, {
1832
+ }), ct.debug(`Collected ${e.length} meshes`, {
1814
1833
  operation: "collectMeshes"
1815
1834
  }), this._buildingRotation = s, e;
1816
1835
  }
@@ -1825,43 +1844,43 @@ let __tla = Promise.all([
1825
1844
  let c = 0, l = 0;
1826
1845
  const d = this.ifcApi.parseMeshesAsync(this.content, {
1827
1846
  batchSize: t,
1828
- onRtcOffset: (f)=>{
1847
+ onRtcOffset: (_)=>{
1829
1848
  e.push({
1830
1849
  type: "rtcOffset",
1831
1850
  rtcOffset: {
1832
- x: f.x,
1833
- y: f.y,
1834
- z: f.z
1851
+ x: _.x,
1852
+ y: _.y,
1853
+ z: _.z
1835
1854
  },
1836
- hasRtc: f.hasRtc
1855
+ hasRtc: _.hasRtc
1837
1856
  }), n && (n(), n = null);
1838
1857
  },
1839
- onColorUpdate: (f)=>{
1840
- for (const [p, g] of f)a.set(p, g);
1858
+ onColorUpdate: (_)=>{
1859
+ for (const [p, g] of _)a.set(p, g);
1841
1860
  e.push({
1842
1861
  type: "colorUpdate",
1843
- updates: new Map(f)
1862
+ updates: new Map(_)
1844
1863
  }), n && (n(), n = null);
1845
1864
  },
1846
- onBatch: (f, p)=>{
1865
+ onBatch: (_, p)=>{
1847
1866
  const g = [];
1848
- for (const u of f)try {
1849
- const y = u.expressId, m = a.get(y) ?? [
1867
+ for (const u of _)try {
1868
+ const h = u.expressId, m = a.get(h) ?? [
1850
1869
  u.color[0],
1851
1870
  u.color[1],
1852
1871
  u.color[2],
1853
1872
  u.color[3]
1854
1873
  ];
1855
1874
  g.push({
1856
- expressId: y,
1875
+ expressId: h,
1857
1876
  ifcType: u.ifcType,
1858
1877
  positions: u.positions,
1859
1878
  normals: u.normals,
1860
1879
  indices: u.indices,
1861
1880
  color: m
1862
1881
  }), u.free(), c++;
1863
- } catch (y) {
1864
- l++, it.caught(`Failed to process mesh #${u.expressId}`, y, {
1882
+ } catch (h) {
1883
+ l++, ct.caught(`Failed to process mesh #${u.expressId}`, h, {
1865
1884
  operation: "collectMeshesStreaming",
1866
1885
  entityId: u.expressId
1867
1886
  });
@@ -1871,13 +1890,13 @@ let __tla = Promise.all([
1871
1890
  }
1872
1891
  g.length > 0 && e.push(g), n && (n(), n = null);
1873
1892
  },
1874
- onComplete: (f)=>{
1875
- s = !0, f.buildingRotation !== void 0 && (this._buildingRotation = f.buildingRotation), it.debug(`Streaming complete: ${f.totalMeshes} meshes, ${f.totalVertices} vertices, ${f.totalTriangles} triangles`, {
1893
+ onComplete: (_)=>{
1894
+ s = !0, _.buildingRotation !== void 0 && (this._buildingRotation = _.buildingRotation), ct.debug(`Streaming complete: ${_.totalMeshes} meshes, ${_.totalVertices} vertices, ${_.totalTriangles} triangles`, {
1876
1895
  operation: "collectMeshesStreaming"
1877
- }), l > 0 && it.warn(`Skipped ${l} meshes due to errors`, {
1896
+ }), l > 0 && ct.warn(`Skipped ${l} meshes due to errors`, {
1878
1897
  operation: "collectMeshesStreaming"
1879
1898
  });
1880
- const p = f.csgDiagnostics;
1899
+ const p = _.csgDiagnostics;
1881
1900
  if (p) {
1882
1901
  const g = p.totalFailures ?? 0;
1883
1902
  if (g > 0) {
@@ -1887,23 +1906,23 @@ let __tla = Promise.all([
1887
1906
  }
1888
1907
  n && (n(), n = null);
1889
1908
  }
1890
- }).catch((f)=>{
1891
- r = f instanceof Error ? f : new Error(String(f)), it.error("WASM streaming parsing failed", r, {
1909
+ }).catch((_)=>{
1910
+ r = _ instanceof Error ? _ : new Error(String(_)), ct.error("WASM streaming parsing failed", r, {
1892
1911
  operation: "collectMeshesStreaming"
1893
1912
  }), s = !0, n && (n(), n = null);
1894
1913
  });
1895
- let _ = 0;
1914
+ let f = 0;
1896
1915
  for(;;){
1897
- for(; e.length > 0;)_++, yield e.shift();
1916
+ for(; e.length > 0;)f++, yield e.shift();
1898
1917
  if (r) throw r;
1899
1918
  if (s && e.length === 0) break;
1900
- await new Promise((f)=>{
1901
- n = f;
1919
+ await new Promise((_)=>{
1920
+ n = _;
1902
1921
  });
1903
1922
  }
1904
- if (_ === 0 && this.content.length > 1e3) {
1905
- const f = (this.content.length / 1048576).toFixed(1);
1906
- it.warn(`WASM streaming returned 0 batches for ${f}MB file - this may indicate insufficient memory for large file processing`, {
1923
+ if (f === 0 && this.content.length > 1e3) {
1924
+ const _ = (this.content.length / 1048576).toFixed(1);
1925
+ ct.warn(`WASM streaming returned 0 batches for ${_}MB file - this may indicate insufficient memory for large file processing`, {
1907
1926
  operation: "collectMeshesStreaming",
1908
1927
  data: {
1909
1928
  contentLength: this.content.length
@@ -1936,7 +1955,7 @@ let __tla = Promise.all([
1936
1955
  s = !0, n && (n(), n = null);
1937
1956
  }
1938
1957
  }).catch((l)=>{
1939
- r = l instanceof Error ? l : new Error(String(l)), it.error("WASM instanced streaming parsing failed", r, {
1958
+ r = l instanceof Error ? l : new Error(String(l)), ct.error("WASM instanced streaming parsing failed", r, {
1940
1959
  operation: "collectInstancedGeometryStreaming"
1941
1960
  }), s = !0, n && (n(), n = null);
1942
1961
  });
@@ -1951,7 +1970,7 @@ let __tla = Promise.all([
1951
1970
  }
1952
1971
  if (c === 0 && this.content.length > 1e3) {
1953
1972
  const l = (this.content.length / 1048576).toFixed(1);
1954
- it.warn(`WASM instanced streaming returned 0 batches for ${l}MB file - this may indicate insufficient memory for large file processing`, {
1973
+ ct.warn(`WASM instanced streaming returned 0 batches for ${l}MB file - this may indicate insufficient memory for large file processing`, {
1955
1974
  operation: "collectInstancedGeometryStreaming",
1956
1975
  data: {
1957
1976
  contentLength: this.content.length
@@ -1964,10 +1983,10 @@ let __tla = Promise.all([
1964
1983
  function _n() {
1965
1984
  return typeof window < "u" && "__TAURI_INTERNALS__" in window;
1966
1985
  }
1967
- async function Dn() {
1986
+ async function vn() {
1968
1987
  if (_n()) {
1969
1988
  const { NativeBridge: i } = await Ae(async ()=>{
1970
- const { NativeBridge: t } = await import("./native-bridge-DNrEhx2R.js").then(async (m)=>{
1989
+ const { NativeBridge: t } = await import("./native-bridge-BVf2uzoH.js").then(async (m)=>{
1971
1990
  await m.__tla;
1972
1991
  return m;
1973
1992
  });
@@ -1978,7 +1997,7 @@ let __tla = Promise.all([
1978
1997
  return new i;
1979
1998
  } else {
1980
1999
  const { WasmBridge: i } = await Ae(async ()=>{
1981
- const { WasmBridge: t } = await import("./wasm-bridge-Cha08LdC.js");
2000
+ const { WasmBridge: t } = await import("./wasm-bridge-BAfZh7YT.js");
1982
2001
  return {
1983
2002
  WasmBridge: t
1984
2003
  };
@@ -1986,7 +2005,7 @@ let __tla = Promise.all([
1986
2005
  return new i;
1987
2006
  }
1988
2007
  }
1989
- class vn {
2008
+ class Dn {
1990
2009
  buildInterleavedBuffer(t) {
1991
2010
  const e = t.positions.length / 3, n = new Float32Array(e * 6);
1992
2011
  for(let s = 0; s < e; s++){
@@ -2038,8 +2057,8 @@ let __tla = Promise.all([
2038
2057
  for (const r of t){
2039
2058
  const a = r.positions;
2040
2059
  for(let c = 0; c < a.length; c += 3){
2041
- const l = a[c], d = a[c + 1], _ = a[c + 2];
2042
- Number.isFinite(l) && Number.isFinite(d) && Number.isFinite(_) && Math.abs(l) < s && Math.abs(d) < s && Math.abs(_) < s && (n.min.x = Math.min(n.min.x, l), n.min.y = Math.min(n.min.y, d), n.min.z = Math.min(n.min.z, _), n.max.x = Math.max(n.max.x, l), n.max.y = Math.max(n.max.y, d), n.max.z = Math.max(n.max.z, _));
2060
+ const l = a[c], d = a[c + 1], f = a[c + 2];
2061
+ Number.isFinite(l) && Number.isFinite(d) && Number.isFinite(f) && Math.abs(l) < s && Math.abs(d) < s && Math.abs(f) < s && (n.min.x = Math.min(n.min.x, l), n.min.y = Math.min(n.min.y, d), n.min.z = Math.min(n.min.z, f), n.max.x = Math.max(n.max.x, l), n.max.y = Math.max(n.max.y, d), n.max.z = Math.max(n.max.z, f));
2043
2062
  }
2044
2063
  }
2045
2064
  return n;
@@ -2047,12 +2066,12 @@ let __tla = Promise.all([
2047
2066
  calculateBoundsFast(t) {
2048
2067
  let e = 1 / 0, n = 1 / 0, s = 1 / 0, r = -1 / 0, a = -1 / 0, c = -1 / 0;
2049
2068
  for (const l of t){
2050
- const d = l.positions, _ = d.length;
2051
- if (_ < 3) continue;
2052
- const f = d[0], p = d[1], g = d[2];
2053
- if (f < e && (e = f), p < n && (n = p), g < s && (s = g), f > r && (r = f), p > a && (a = p), g > c && (c = g), _ >= 6) {
2054
- const u = d[_ - 3], y = d[_ - 2], m = d[_ - 1];
2055
- u < e && (e = u), y < n && (n = y), m < s && (s = m), u > r && (r = u), y > a && (a = y), m > c && (c = m);
2069
+ const d = l.positions, f = d.length;
2070
+ if (f < 3) continue;
2071
+ const _ = d[0], p = d[1], g = d[2];
2072
+ if (_ < e && (e = _), p < n && (n = p), g < s && (s = g), _ > r && (r = _), p > a && (a = p), g > c && (c = g), f >= 6) {
2073
+ const u = d[f - 3], h = d[f - 2], m = d[f - 1];
2074
+ u < e && (e = u), h < n && (n = h), m < s && (s = m), u > r && (r = u), h > a && (a = h), m > c && (c = m);
2056
2075
  }
2057
2076
  }
2058
2077
  return {
@@ -2190,15 +2209,15 @@ let __tla = Promise.all([
2190
2209
  z: this.accumulatedBounds.max.z - this.accumulatedBounds.min.z
2191
2210
  }, r = Math.max(s.x, s.y, s.z), a = this.calculateCentroid(this.accumulatedBounds), c = Math.sqrt(a.x ** 2 + a.y ** 2 + a.z ** 2);
2192
2211
  let l = 0, d = 0;
2193
- const _ = this.THRESHOLD;
2212
+ const f = this.THRESHOLD;
2194
2213
  for (const g of t){
2195
2214
  const u = g.positions;
2196
2215
  if (u.length >= 3) {
2197
- const y = Math.abs(u[0]), m = Math.abs(u[1]), C = Math.abs(u[2]);
2198
- Math.max(y, m, C) < _ ? l++ : d++;
2216
+ const h = Math.abs(u[0]), m = Math.abs(u[1]), w = Math.abs(u[2]);
2217
+ Math.max(h, m, w) < f ? l++ : d++;
2199
2218
  }
2200
2219
  }
2201
- const f = l + d, p = f > 0 && l / f > .5;
2220
+ const _ = l + d, p = _ > 0 && l / _ > .5;
2202
2221
  p && (this.wasmRtcDetected = !0, this.accumulatedBounds = this.calculateBounds(t, this.NORMAL_COORD_THRESHOLD)), (c > this.THRESHOLD || r > this.THRESHOLD) && !p && (this.originShift = a);
2203
2222
  }
2204
2223
  this.shiftCalculated = !0;
@@ -2279,7 +2298,7 @@ let __tla = Promise.all([
2279
2298
  };
2280
2299
  let l;
2281
2300
  e >= 16 && s >= 16 ? l = Math.min(c, Math.floor(e / 2)) : e >= 12 && s >= 8 ? l = t > 512 ? 4 : 5 : e >= 10 && s >= 8 ? l = t > 512 ? 3 : 4 : e >= 8 && s >= 8 ? l = t > 512 ? 2 : 3 : l = Math.max(1, Math.min(2, Math.floor(e / 2)));
2282
- const d = s * 1024, _ = Math.max(1024, d * .25), f = t * 2.5, p = Math.max(64, t * 1.5), g = d - _ - f, u = g > 0 ? Math.max(1, Math.floor(g / p)) : 1, y = [
2301
+ const d = s * 1024, f = Math.max(1024, d * .25), _ = t * 2.5, p = Math.max(64, t * 1.5), g = d - f - _, u = g > 0 ? Math.max(1, Math.floor(g / p)) : 1, h = [
2283
2302
  {
2284
2303
  value: l,
2285
2304
  reason: "cores"
@@ -2297,8 +2316,8 @@ let __tla = Promise.all([
2297
2316
  reason: "max"
2298
2317
  }
2299
2318
  ];
2300
- let m = y[0];
2301
- for(let C = 1; C < y.length; C++)y[C].value < m.value && (m = y[C]);
2319
+ let m = h[0];
2320
+ for(let w = 1; w < h.length; w++)h[w].value < m.value && (m = h[w]);
2302
2321
  return m.value < a ? {
2303
2322
  count: a,
2304
2323
  reason: "min"
@@ -2310,12 +2329,12 @@ let __tla = Promise.all([
2310
2329
  function Vn(i) {
2311
2330
  return zn(i).count;
2312
2331
  }
2313
- const jn = 3e4, kn = 15e3, Wn = 15e3, Yn = 5e3, Hn = 60, Xn = 30, Jn = 30, qn = 15;
2332
+ const jn = 3e4, kn = 15e3, Wn = 15e3, Hn = 5e3, Yn = 60, Xn = 30, Jn = 30, Qn = 15;
2314
2333
  Ns = function(i) {
2315
- const t = i.desktopStableWasm === !0, e = Math.max(0, Math.floor(i.batchCount)), n = Math.max(0, i.fileSizeMB), s = e > 0 ? t ? Yn : Wn : t ? kn : jn, r = e > 0 ? t ? qn : Jn : t ? Xn : Hn;
2334
+ const t = i.desktopStableWasm === !0, e = Math.max(0, Math.floor(i.batchCount)), n = Math.max(0, i.fileSizeMB), s = e > 0 ? t ? Hn : Wn : t ? kn : jn, r = e > 0 ? t ? Qn : Jn : t ? Xn : Yn;
2316
2335
  return Math.max(s, Math.round(s + n * r));
2317
2336
  };
2318
- function Qn(i, t) {
2337
+ function qn(i, t) {
2319
2338
  const e = [
2320
2339
  i.length,
2321
2340
  t.length
@@ -2332,7 +2351,7 @@ let __tla = Promise.all([
2332
2351
  As = function(i) {
2333
2352
  const t = new Map;
2334
2353
  for (const e of i){
2335
- const n = Qn(e.positions, e.indices), s = t.get(n);
2354
+ const n = qn(e.positions, e.indices), s = t.get(n);
2336
2355
  s ? s.instances.push({
2337
2356
  expressId: e.expressId,
2338
2357
  color: e.color
@@ -2351,17 +2370,23 @@ let __tla = Promise.all([
2351
2370
  }
2352
2371
  return Array.from(t.values());
2353
2372
  };
2354
- function pe(i, t) {
2373
+ function ge(i, t) {
2355
2374
  if (typeof t == "number") return t;
2356
2375
  const e = t.fileSizeMB ? t.fileSizeMB : i.length / (1024 * 1024);
2357
2376
  return e < 10 ? 100 : e < 50 ? 200 : e < 100 ? 300 : e < 300 ? 500 : e < 500 ? 1500 : 3e3;
2358
2377
  }
2359
- function Zn(i) {
2378
+ function Kn(i) {
2360
2379
  const t = [];
2361
2380
  try {
2362
2381
  for(let e = 0; e < i.length; e++){
2363
2382
  const n = i.get(e);
2364
2383
  if (n) try {
2384
+ const s = n.shadingColor, r = s && s.length === 4 ? [
2385
+ s[0],
2386
+ s[1],
2387
+ s[2],
2388
+ s[3]
2389
+ ] : void 0;
2365
2390
  t.push({
2366
2391
  expressId: n.expressId,
2367
2392
  ifcType: n.ifcType,
@@ -2373,7 +2398,10 @@ let __tla = Promise.all([
2373
2398
  n.color[1],
2374
2399
  n.color[2],
2375
2400
  n.color[3]
2376
- ]
2401
+ ],
2402
+ ...r ? {
2403
+ shadingColor: r
2404
+ } : {}
2377
2405
  });
2378
2406
  } finally{
2379
2407
  n.free();
@@ -2384,7 +2412,7 @@ let __tla = Promise.all([
2384
2412
  }
2385
2413
  return t;
2386
2414
  }
2387
- function Kn(i) {
2415
+ function Zn(i) {
2388
2416
  const t = [];
2389
2417
  try {
2390
2418
  for(let e = 0; e < i.length; e++){
@@ -2396,7 +2424,7 @@ let __tla = Promise.all([
2396
2424
  }
2397
2425
  return t;
2398
2426
  }
2399
- function Ct(i, t) {
2427
+ function St(i, t) {
2400
2428
  return t !== void 0 ? {
2401
2429
  ...i,
2402
2430
  buildingRotation: t
@@ -2426,7 +2454,7 @@ let __tla = Promise.all([
2426
2454
  } else i.push(t);
2427
2455
  e.queuedMeshes += t.meshes.length;
2428
2456
  }
2429
- async function* qe(i, t, e, n) {
2457
+ async function* Qe(i, t, e, n) {
2430
2458
  e.reset(), yield {
2431
2459
  type: "start",
2432
2460
  totalEstimate: t
@@ -2438,8 +2466,8 @@ let __tla = Promise.all([
2438
2466
  queuedMeshes: 0,
2439
2467
  coalescedBatchCount: 0
2440
2468
  };
2441
- let a = null, c = !1, l = null, d, _ = 0;
2442
- const f = ()=>{
2469
+ let a = null, c = !1, l = null, d, f = 0;
2470
+ const _ = ()=>{
2443
2471
  a && (a(), a = null);
2444
2472
  }, p = i({
2445
2473
  onBatch: (u)=>{
@@ -2447,52 +2475,52 @@ let __tla = Promise.all([
2447
2475
  type: "batch",
2448
2476
  meshes: u.meshes,
2449
2477
  nativeTelemetry: u.nativeTelemetry
2450
- }, r), f();
2478
+ }, r), _();
2451
2479
  },
2452
2480
  onColorUpdate: (u)=>{
2453
2481
  Je(s, {
2454
2482
  type: "colorUpdate",
2455
2483
  updates: new Map(u)
2456
- }, r), f();
2484
+ }, r), _();
2457
2485
  },
2458
2486
  onComplete: (u)=>{
2459
- n(u), d = u.totalMeshes, c = !0, f();
2487
+ n(u), d = u.totalMeshes, c = !0, _();
2460
2488
  },
2461
2489
  onError: (u)=>{
2462
- l = u, c = !0, f();
2490
+ l = u, c = !0, _();
2463
2491
  }
2464
2492
  });
2465
2493
  for(; !c || s.length > 0;){
2466
- let u = 0, y = 0, m = performance.now();
2494
+ let u = 0, h = 0, m = performance.now();
2467
2495
  for(; s.length > 0;){
2468
- const C = s.shift();
2469
- if (C.type === "colorUpdate") {
2496
+ const w = s.shift();
2497
+ if (w.type === "colorUpdate") {
2470
2498
  yield {
2471
2499
  type: "colorUpdate",
2472
- updates: C.updates
2500
+ updates: w.updates
2473
2501
  };
2474
2502
  continue;
2475
2503
  }
2476
- r.queuedMeshes = Math.max(0, r.queuedMeshes - C.meshes.length), e.processTrustedMeshesIncremental(C.meshes), _ += C.meshes.length;
2477
- const N = e.getCurrentCoordinateInfo();
2504
+ r.queuedMeshes = Math.max(0, r.queuedMeshes - w.meshes.length), e.processTrustedMeshesIncremental(w.meshes), f += w.meshes.length;
2505
+ const C = e.getCurrentCoordinateInfo();
2478
2506
  yield {
2479
2507
  type: "batch",
2480
- meshes: C.meshes,
2481
- totalSoFar: _,
2482
- coordinateInfo: N || void 0,
2483
- nativeTelemetry: C.nativeTelemetry
2484
- }, u += 1, y += C.meshes.length, s.length > 0 && (u >= ns || y >= ss || performance.now() - m >= rs) && (await Xe(), u = 0, y = 0, m = performance.now());
2508
+ meshes: w.meshes,
2509
+ totalSoFar: f,
2510
+ coordinateInfo: C || void 0,
2511
+ nativeTelemetry: w.nativeTelemetry
2512
+ }, u += 1, h += w.meshes.length, s.length > 0 && (u >= ns || h >= ss || performance.now() - m >= rs) && (await Xe(), u = 0, h = 0, m = performance.now());
2485
2513
  }
2486
2514
  if (l) throw l;
2487
- c || await new Promise((C)=>{
2488
- a = C;
2515
+ c || await new Promise((w)=>{
2516
+ a = w;
2489
2517
  });
2490
2518
  }
2491
2519
  await p, r.coalescedBatchCount > 0 && console.info(`[GeometryProcessor] Coalesced ${r.coalescedBatchCount} native batches while JS drained the queue`);
2492
2520
  const g = e.getFinalCoordinateInfo();
2493
2521
  yield {
2494
2522
  type: "complete",
2495
- totalMeshes: d ?? _,
2523
+ totalMeshes: d ?? f,
2496
2524
  coordinateInfo: g
2497
2525
  };
2498
2526
  }
@@ -2507,39 +2535,39 @@ let __tla = Promise.all([
2507
2535
  let r;
2508
2536
  const a = i.buffer;
2509
2537
  n && n.byteLength === i.byteLength ? r = n : typeof SharedArrayBuffer < "u" && a instanceof SharedArrayBuffer && i.byteOffset === 0 && i.byteLength === a.byteLength ? r = a : (r = new SharedArrayBuffer(i.byteLength), new Uint8Array(r).set(i));
2510
- const c = s?.useSingleController === !0, l = ()=>c ? new Worker(new URL("/assets/geometry-controller.worker-Cm2P_EJr.js", import.meta.url), {
2538
+ const c = s?.useSingleController === !0, l = ()=>c ? new Worker(new URL("/assets/geometry-controller.worker-Cm5pvyR6.js", import.meta.url), {
2511
2539
  type: "module"
2512
- }) : new Worker(new URL("/assets/geometry.worker-DchLBqZ8.js", import.meta.url), {
2540
+ }) : new Worker(new URL("/assets/geometry.worker-ClNvXIrj.js", import.meta.url), {
2513
2541
  type: "module"
2514
- }), d = ()=>new Worker(new URL("/assets/geometry.worker-DchLBqZ8.js", import.meta.url), {
2542
+ }), d = ()=>new Worker(new URL("/assets/geometry.worker-ClNvXIrj.js", import.meta.url), {
2515
2543
  type: "module"
2516
- }), _ = [];
2517
- let f = null;
2544
+ }), f = [];
2545
+ let _ = null;
2518
2546
  const p = ()=>{
2519
- f && (f(), f = null);
2547
+ _ && (_(), _ = null);
2520
2548
  };
2521
- let g = null, u = 0, y = !1, m = null, C = null, N = 0, T = 0, B = !1, G = !1;
2522
- const b = [];
2523
- let A = !1, h = !1;
2524
- const F = [], S = (U, j)=>{
2549
+ let g = null, u = 0, h = !1, m = null, w = null, C = 0, A = 0, P = !1, z = !1;
2550
+ const x = [];
2551
+ let v = !1, E = !1;
2552
+ const N = [], S = (U, X)=>{
2525
2553
  U.onmessage = ($)=>{
2526
2554
  const D = $.data;
2527
2555
  if (D.type === "ready") {
2528
- console.log(`[stream] worker[${j}] WASM ready @ ${nt()}ms`);
2556
+ console.log(`[stream] worker[${X}] WASM ready @ ${q()}ms`);
2529
2557
  return;
2530
2558
  }
2531
2559
  if (D.type === "memory") {
2532
- _.push({
2560
+ f.push({
2533
2561
  type: "workerMemory",
2534
- workerIndex: j,
2562
+ workerIndex: X,
2535
2563
  wasmHeapBytes: D.wasmHeapBytes,
2536
2564
  meshBytes: D.meshBytes
2537
2565
  }), p();
2538
2566
  return;
2539
2567
  }
2540
2568
  if (D.type === "batch") {
2541
- F[j] === void 0 && (F[j] = nt(), console.log(`[stream] worker[${j}] first batch @ ${nt()}ms (${D.meshes?.length ?? 0} meshes)`));
2542
- const Y = D.meshes.map((V)=>({
2569
+ N[X] === void 0 && (N[X] = q(), console.log(`[stream] worker[${X}] first batch @ ${q()}ms (${D.meshes?.length ?? 0} meshes)`));
2570
+ const J = D.meshes.map((V)=>({
2543
2571
  expressId: V.expressId,
2544
2572
  ifcType: V.ifcType,
2545
2573
  positions: V.positions instanceof Float32Array ? V.positions : new Float32Array(V.positions),
@@ -2547,244 +2575,244 @@ let __tla = Promise.all([
2547
2575
  indices: V.indices instanceof Uint32Array ? V.indices : new Uint32Array(V.indices),
2548
2576
  color: V.color
2549
2577
  }));
2550
- if (Y.length > 0) {
2551
- T += Y.length, t.processMeshesIncremental(Y);
2578
+ if (J.length > 0) {
2579
+ A += J.length, t.processMeshesIncremental(J);
2552
2580
  const V = t.getCurrentCoordinateInfo();
2553
- _.push({
2581
+ f.push({
2554
2582
  type: "batch",
2555
- meshes: Y,
2556
- totalSoFar: T,
2583
+ meshes: J,
2584
+ totalSoFar: A,
2557
2585
  coordinateInfo: V || void 0
2558
2586
  }), p();
2559
2587
  }
2560
2588
  return;
2561
2589
  }
2562
2590
  if (D.type === "complete") {
2563
- N++, U.terminate(), p();
2591
+ C++, U.terminate(), p();
2564
2592
  return;
2565
2593
  }
2566
2594
  if (D.type === "error") {
2567
- C = new Error(`Geometry worker error: ${D.message}`), N++, U.terminate(), p();
2595
+ w = new Error(`Geometry worker error: ${D.message}`), C++, U.terminate(), p();
2568
2596
  return;
2569
2597
  }
2570
2598
  }, U.onerror = ($)=>{
2571
- C = new Error(`Geometry worker failed: ${$.message}`), N++, U.terminate(), p();
2599
+ w = new Error(`Geometry worker failed: ${$.message}`), C++, U.terminate(), p();
2572
2600
  };
2573
- }, E = typeof navigator < "u" ? navigator.hardwareConcurrency ?? 2 : 2, I = typeof navigator < "u" ? navigator.deviceMemory ?? 8 : 8, w = i.byteLength / (1024 * 1024), x = Math.max(1, Math.ceil(w * 100)), z = c ? 1 : Vn({
2574
- fileSizeMB: w,
2575
- cores: E,
2576
- deviceMemoryGB: I,
2577
- totalJobs: x
2578
- }), P = [];
2579
- for(let U = 0; U < z; U++){
2580
- const j = l();
2581
- P.push(j), S(j, U);
2601
+ }, b = typeof navigator < "u" ? navigator.hardwareConcurrency ?? 2 : 2, y = typeof navigator < "u" ? navigator.deviceMemory ?? 8 : 8, T = i.byteLength / (1024 * 1024), I = Math.max(1, Math.ceil(T * 100)), M = c ? 1 : Vn({
2602
+ fileSizeMB: T,
2603
+ cores: b,
2604
+ deviceMemoryGB: y,
2605
+ totalJobs: I
2606
+ }), R = [];
2607
+ for(let U = 0; U < M; U++){
2608
+ const X = l();
2609
+ R.push(X), S(X, U);
2582
2610
  const $ = c ? s?.wasmUrls?.wasmThreaded : s?.wasmUrls?.wasm;
2583
- j.postMessage({
2611
+ X.postMessage({
2584
2612
  type: "init",
2585
2613
  ...$ ? {
2586
2614
  wasmUrl: $
2587
2615
  } : {}
2588
- }), j.postMessage({
2616
+ }), X.postMessage({
2589
2617
  type: "set-merge-layers",
2590
2618
  enabled: s?.mergeLayers === !0
2591
2619
  });
2592
2620
  }
2593
- const H = ()=>{
2594
- if (!B) {
2595
- B = !0;
2596
- for (const U of P)try {
2621
+ const j = ()=>{
2622
+ if (!P) {
2623
+ P = !0;
2624
+ for (const U of R)try {
2597
2625
  U.postMessage({
2598
2626
  type: "stream-end"
2599
2627
  });
2600
2628
  } catch {}
2601
2629
  }
2602
- }, X = ()=>{
2603
- if (G || !g) return;
2604
- G = !0;
2605
- const U = e != null, j = U ? e.x : g.rtcOffset[0], $ = U ? e.y : g.rtcOffset[1], D = U ? e.z : g.rtcOffset[2], Y = U ? !0 : g.needsShift;
2606
- _.push({
2630
+ }, H = ()=>{
2631
+ if (z || !g) return;
2632
+ z = !0;
2633
+ const U = e != null, X = U ? e.x : g.rtcOffset[0], $ = U ? e.y : g.rtcOffset[1], D = U ? e.z : g.rtcOffset[2], J = U ? !0 : g.needsShift;
2634
+ f.push({
2607
2635
  type: "rtcOffset",
2608
2636
  rtcOffset: {
2609
- x: j,
2637
+ x: X,
2610
2638
  y: $,
2611
2639
  z: D
2612
2640
  },
2613
- hasRtc: Y
2641
+ hasRtc: J
2614
2642
  }), p();
2615
- const V = new Uint32Array(0), st = new Uint8Array(0);
2616
- for (const ft of P)ft.postMessage({
2643
+ const V = new Uint32Array(0), it = new Uint8Array(0);
2644
+ for (const mt of R)mt.postMessage({
2617
2645
  type: "stream-start",
2618
2646
  sharedBuffer: r,
2619
2647
  unitScale: g.unitScale,
2620
- rtcX: j,
2648
+ rtcX: X,
2621
2649
  rtcY: $,
2622
2650
  rtcZ: D,
2623
- needsShift: Y,
2651
+ needsShift: J,
2624
2652
  voidKeys: V,
2625
2653
  voidCounts: V,
2626
2654
  voidValues: V,
2627
2655
  styleIds: V,
2628
- styleColors: st
2656
+ styleColors: it
2629
2657
  });
2630
2658
  };
2631
2659
  function k(U) {
2632
- if (P.length === 0 || U.length === 0) return;
2633
- const j = Math.floor(U.length / 3);
2634
- if (j === 0) return;
2635
- const $ = Math.ceil(j / P.length);
2660
+ if (R.length === 0 || U.length === 0) return;
2661
+ const X = Math.floor(U.length / 3);
2662
+ if (X === 0) return;
2663
+ const $ = Math.ceil(X / R.length);
2636
2664
  try {
2637
- for(let D = 0; D < P.length; D++){
2638
- const Y = D * $ * 3, V = Math.min(Y + $ * 3, U.length);
2639
- if (Y >= V) continue;
2640
- const st = U.slice(Y, V);
2641
- P[D].postMessage({
2665
+ for(let D = 0; D < R.length; D++){
2666
+ const J = D * $ * 3, V = Math.min(J + $ * 3, U.length);
2667
+ if (J >= V) continue;
2668
+ const it = U.slice(J, V);
2669
+ R[D].postMessage({
2642
2670
  type: "stream-chunk",
2643
- jobsFlat: st
2671
+ jobsFlat: it
2644
2672
  }, [
2645
- st.buffer
2673
+ it.buffer
2646
2674
  ]);
2647
2675
  }
2648
2676
  } catch (D) {
2649
- C = new Error(`Failed to dispatch jobs chunk: ${D instanceof Error ? D.message : String(D)}`), p();
2677
+ w = new Error(`Failed to dispatch jobs chunk: ${D instanceof Error ? D.message : String(D)}`), p();
2650
2678
  }
2651
2679
  }
2652
- const W = (U)=>{
2653
- if (!G || !A || !h) {
2654
- b.push(U);
2680
+ const Y = (U)=>{
2681
+ if (!z || !v || !E) {
2682
+ x.push(U);
2655
2683
  return;
2656
2684
  }
2657
2685
  k(U);
2658
- }, J = ()=>{
2659
- if (!(!G || !A || !h)) for(; b.length > 0;)k(b.shift());
2660
- }, _t = performance.now(), nt = ()=>Math.round(performance.now() - _t);
2661
- console.log(`[stream] processParallel start, fileSizeMB=${w.toFixed(1)} workerCount=${z}`);
2662
- const ot = d();
2663
- s?.wasmUrls?.wasm && ot.postMessage({
2686
+ }, W = ()=>{
2687
+ if (!(!z || !v || !E)) for(; x.length > 0;)k(x.shift());
2688
+ }, at = performance.now(), q = ()=>Math.round(performance.now() - at);
2689
+ console.log(`[stream] processParallel start, fileSizeMB=${T.toFixed(1)} workerCount=${M}`);
2690
+ const st = d();
2691
+ s?.wasmUrls?.wasm && st.postMessage({
2664
2692
  type: "init",
2665
2693
  wasmUrl: s.wasmUrls.wasm
2666
2694
  });
2667
- let ht = 0, Kt = 0, St = -1;
2668
- ot.onmessage = (U)=>{
2669
- const j = U.data;
2670
- if (j.type === "prepass-progress") {
2671
- _.push({
2695
+ let ut = 0, lt = 0, dt = -1;
2696
+ st.onmessage = (U)=>{
2697
+ const X = U.data;
2698
+ if (X.type === "prepass-progress") {
2699
+ f.push({
2672
2700
  type: "progress",
2673
2701
  phase: "prepass"
2674
2702
  }), p();
2675
2703
  return;
2676
2704
  }
2677
- if (j.type === "prepass-stream") {
2678
- const $ = j.event;
2705
+ if (X.type === "prepass-stream") {
2706
+ const $ = X.event;
2679
2707
  if ($.type === "meta") g = {
2680
2708
  unitScale: $.unitScale,
2681
2709
  rtcOffset: $.rtcOffset,
2682
2710
  needsShift: $.needsShift,
2683
2711
  buildingRotation: $.buildingRotation ?? null
2684
- }, console.log(`[stream] meta @ ${nt()}ms unitScale=${g.unitScale} rtc=[${g.rtcOffset[0].toFixed(0)},${g.rtcOffset[1].toFixed(0)},${g.rtcOffset[2].toFixed(0)}]`), X(), p();
2712
+ }, console.log(`[stream] meta @ ${q()}ms unitScale=${g.unitScale} rtc=[${g.rtcOffset[0].toFixed(0)},${g.rtcOffset[1].toFixed(0)},${g.rtcOffset[2].toFixed(0)}]`), H(), p();
2685
2713
  else if ($.type === "jobs") {
2686
- const D = $.jobs, Y = Math.floor(D.length / 3);
2687
- ht++, Kt += Y, St < 0 && (St = nt(), console.log(`[stream] first jobs chunk @ ${St}ms (${Y} jobs)`)), (ht % 10 === 1 || Y < 1e3) && console.log(`[stream] chunk #${ht} @ ${nt()}ms (+${Y} jobs, total ${Kt})`), W(D);
2714
+ const D = $.jobs, J = Math.floor(D.length / 3);
2715
+ ut++, lt += J, dt < 0 && (dt = q(), console.log(`[stream] first jobs chunk @ ${dt}ms (${J} jobs)`)), (ut % 10 === 1 || J < 1e3) && console.log(`[stream] chunk #${ut} @ ${q()}ms (+${J} jobs, total ${lt})`), Y(D);
2688
2716
  } else if ($.type === "styles") {
2689
- const D = $.styleIds, Y = $.styleColors, V = $.voidKeys, st = $.voidCounts, ft = $.voidValues;
2690
- console.log(`[stream] styles @ ${nt()}ms (${D.length} styled, ${V.length} void hosts), draining ${b.length} queued chunks`);
2691
- for (const ae of P)try {
2692
- const lt = D.slice(), It = Y.slice(), yt = V.slice(), mt = st.slice(), te = ft.slice();
2693
- ae.postMessage({
2717
+ const D = $.styleIds, J = $.styleColors, V = $.voidKeys, it = $.voidCounts, mt = $.voidValues;
2718
+ console.log(`[stream] styles @ ${q()}ms (${D.length} styled, ${V.length} void hosts), draining ${x.length} queued chunks`);
2719
+ for (const ce of R)try {
2720
+ const gt = D.slice(), wt = J.slice(), Ct = V.slice(), Tt = it.slice(), ne = mt.slice();
2721
+ ce.postMessage({
2694
2722
  type: "set-styles",
2695
- styleIds: lt,
2696
- styleColors: It,
2697
- voidKeys: yt,
2698
- voidCounts: mt,
2699
- voidValues: te
2723
+ styleIds: gt,
2724
+ styleColors: wt,
2725
+ voidKeys: Ct,
2726
+ voidCounts: Tt,
2727
+ voidValues: ne
2700
2728
  }, [
2701
- lt.buffer,
2702
- It.buffer,
2703
- yt.buffer,
2704
- mt.buffer,
2705
- te.buffer
2729
+ gt.buffer,
2730
+ wt.buffer,
2731
+ Ct.buffer,
2732
+ Tt.buffer,
2733
+ ne.buffer
2706
2734
  ]);
2707
- } catch (lt) {
2708
- console.warn("[stream] set-styles dispatch failed:", lt);
2735
+ } catch (gt) {
2736
+ console.warn("[stream] set-styles dispatch failed:", gt);
2709
2737
  }
2710
- A = !0, J();
2738
+ v = !0, W();
2711
2739
  } else if ($.type === "entity-index") {
2712
- const D = $.ids, Y = $.starts, V = $.lengths;
2713
- if (console.log(`[stream] entity-index @ ${nt()}ms (${D.length} entries)`), typeof SharedArrayBuffer < "u") {
2714
- const st = D.byteLength, ft = Y.byteLength, ae = V.byteLength, lt = new SharedArrayBuffer(st), It = new SharedArrayBuffer(ft), yt = new SharedArrayBuffer(ae);
2715
- new Uint32Array(lt).set(D), new Uint32Array(It).set(Y), new Uint32Array(yt).set(V);
2716
- for (const mt of P)try {
2717
- mt.postMessage({
2740
+ const D = $.ids, J = $.starts, V = $.lengths;
2741
+ if (console.log(`[stream] entity-index @ ${q()}ms (${D.length} entries)`), typeof SharedArrayBuffer < "u") {
2742
+ const it = D.byteLength, mt = J.byteLength, ce = V.byteLength, gt = new SharedArrayBuffer(it), wt = new SharedArrayBuffer(mt), Ct = new SharedArrayBuffer(ce);
2743
+ new Uint32Array(gt).set(D), new Uint32Array(wt).set(J), new Uint32Array(Ct).set(V);
2744
+ for (const Tt of R)try {
2745
+ Tt.postMessage({
2718
2746
  type: "set-entity-index",
2719
- ids: new Uint32Array(lt),
2720
- starts: new Uint32Array(It),
2721
- lengths: new Uint32Array(yt)
2747
+ ids: new Uint32Array(gt),
2748
+ starts: new Uint32Array(wt),
2749
+ lengths: new Uint32Array(Ct)
2722
2750
  });
2723
- } catch (te) {
2724
- console.warn("[stream] set-entity-index dispatch failed:", te);
2751
+ } catch (ne) {
2752
+ console.warn("[stream] set-entity-index dispatch failed:", ne);
2725
2753
  }
2726
2754
  if (s?.onEntityIndex) try {
2727
- s.onEntityIndex(new Uint32Array(lt), new Uint32Array(It), new Uint32Array(yt));
2728
- } catch (mt) {
2729
- console.warn("[stream] onEntityIndex callback failed:", mt);
2755
+ s.onEntityIndex(new Uint32Array(gt), new Uint32Array(wt), new Uint32Array(Ct));
2756
+ } catch (Tt) {
2757
+ console.warn("[stream] onEntityIndex callback failed:", Tt);
2730
2758
  }
2731
2759
  } else {
2732
- for (const st of P)try {
2733
- st.postMessage({
2760
+ for (const it of R)try {
2761
+ it.postMessage({
2734
2762
  type: "set-entity-index",
2735
2763
  ids: D.slice(),
2736
- starts: Y.slice(),
2764
+ starts: J.slice(),
2737
2765
  lengths: V.slice()
2738
2766
  });
2739
- } catch (ft) {
2740
- console.warn("[stream] set-entity-index dispatch failed:", ft);
2767
+ } catch (mt) {
2768
+ console.warn("[stream] set-entity-index dispatch failed:", mt);
2741
2769
  }
2742
2770
  if (s?.onEntityIndex) try {
2743
- s.onEntityIndex(D.slice(), Y.slice(), V.slice());
2744
- } catch (st) {
2745
- console.warn("[stream] onEntityIndex callback failed:", st);
2771
+ s.onEntityIndex(D.slice(), J.slice(), V.slice());
2772
+ } catch (it) {
2773
+ console.warn("[stream] onEntityIndex callback failed:", it);
2746
2774
  }
2747
2775
  }
2748
- h = !0, J();
2749
- } else $.type === "complete" && (u = $.totalJobs, console.log(`[stream] prepass complete @ ${nt()}ms totalJobs=${u} chunks=${ht}`), Ne || (Ne = !0, oe()));
2776
+ E = !0, W();
2777
+ } else $.type === "complete" && (u = $.totalJobs, console.log(`[stream] prepass complete @ ${q()}ms totalJobs=${u} chunks=${ut}`), yt || (yt = !0, pt()));
2750
2778
  return;
2751
2779
  }
2752
- if (j.type === "error") {
2753
- m = new Error(j.message), y = !0, ot.terminate(), p();
2780
+ if (X.type === "error") {
2781
+ m = new Error(X.message), h = !0, st.terminate(), p();
2754
2782
  return;
2755
2783
  }
2756
- }, ot.onerror = (U)=>{
2757
- m = new Error(`Pre-pass worker failed: ${U.message}`), y = !0, ot.terminate(), p();
2784
+ }, st.onerror = (U)=>{
2785
+ m = new Error(`Pre-pass worker failed: ${U.message}`), h = !0, st.terminate(), p();
2758
2786
  };
2759
- const oe = ()=>{
2760
- y = !0, G && H(), ot.terminate(), p();
2787
+ const pt = ()=>{
2788
+ h = !0, z && j(), st.terminate(), p();
2761
2789
  };
2762
- ot.postMessage({
2790
+ st.postMessage({
2763
2791
  type: "prepass-streaming",
2764
2792
  sharedBuffer: r,
2765
2793
  chunkSize: 5e4
2766
2794
  });
2767
- let Ne = !1;
2795
+ let yt = !1;
2768
2796
  for(;;){
2769
- for(; _.length > 0;)yield _.shift();
2770
- if (C) {
2771
- for (const U of P)try {
2797
+ for(; f.length > 0;)yield f.shift();
2798
+ if (w) {
2799
+ for (const U of R)try {
2772
2800
  U.terminate();
2773
2801
  } catch {}
2774
2802
  try {
2775
- ot.terminate();
2803
+ st.terminate();
2776
2804
  } catch {}
2777
- throw C;
2805
+ throw w;
2778
2806
  }
2779
2807
  if (m) {
2780
- for (const U of P)try {
2808
+ for (const U of R)try {
2781
2809
  U.terminate();
2782
2810
  } catch {}
2783
2811
  throw m;
2784
2812
  }
2785
- if (y && !G && u === 0) {
2786
- for (const j of P)try {
2787
- j.terminate();
2813
+ if (h && !z && u === 0) {
2814
+ for (const X of R)try {
2815
+ X.terminate();
2788
2816
  } catch {}
2789
2817
  yield {
2790
2818
  type: "complete",
@@ -2793,26 +2821,26 @@ let __tla = Promise.all([
2793
2821
  };
2794
2822
  return;
2795
2823
  }
2796
- if (y && G && N >= P.length && _.length === 0) break;
2824
+ if (h && z && C >= R.length && f.length === 0) break;
2797
2825
  await new Promise((U)=>{
2798
- f = U;
2826
+ _ = U;
2799
2827
  });
2800
2828
  }
2801
2829
  const pn = t.getFinalCoordinateInfo();
2802
2830
  yield {
2803
2831
  type: "complete",
2804
- totalMeshes: T,
2832
+ totalMeshes: A,
2805
2833
  coordinateInfo: pn
2806
2834
  };
2807
2835
  }
2808
- let At = null;
2809
- function Qe(i) {
2810
- if (At) throw new Error(`GeometryProcessor ${i} cannot start while ${At} is still running. Wait for the active stream to finish, or cancel it before starting another geometry operation.`);
2811
- return At = i, ()=>{
2812
- At === i && (At = null);
2836
+ let Mt = null;
2837
+ function qe(i) {
2838
+ if (Mt) throw new Error(`GeometryProcessor ${i} cannot start while ${Mt} is still running. Wait for the active stream to finish, or cancel it before starting another geometry operation.`);
2839
+ return Mt = i, ()=>{
2840
+ Mt === i && (Mt = null);
2813
2841
  };
2814
2842
  }
2815
- we = class {
2843
+ Ce = class {
2816
2844
  static largeFileByteStreamingThreshold = 256 * 1024 * 1024;
2817
2845
  bridge = null;
2818
2846
  platformBridge = null;
@@ -2822,10 +2850,10 @@ let __tla = Promise.all([
2822
2850
  lastNativeStats = null;
2823
2851
  mergeLayers;
2824
2852
  constructor(t = {}){
2825
- this.bufferBuilder = new vn, this.coordinateHandler = new Gn, this.isNative = t.preferNative !== !1 && _n(), this.mergeLayers = t.mergeLayers === !0, t.quality, this.isNative || (this.bridge = new Un, this.bridge.setMergeLayers(this.mergeLayers));
2853
+ this.bufferBuilder = new Dn, this.coordinateHandler = new Gn, this.isNative = t.preferNative !== !1 && _n(), this.mergeLayers = t.mergeLayers === !0, t.quality, this.isNative || (this.bridge = new Un, this.bridge.setMergeLayers(this.mergeLayers));
2826
2854
  }
2827
2855
  async init() {
2828
- this.isNative ? (this.platformBridge = await Dn(), await this.platformBridge.init(), console.log("[GeometryProcessor] Native bridge initialized")) : this.bridge && await this.bridge.init();
2856
+ this.isNative ? (this.platformBridge = await vn(), await this.platformBridge.init(), console.log("[GeometryProcessor] Native bridge initialized")) : this.bridge && await this.bridge.init();
2829
2857
  }
2830
2858
  async process(t, e) {
2831
2859
  let n;
@@ -2834,15 +2862,15 @@ let __tla = Promise.all([
2834
2862
  this.bridge?.isInitialized() || await this.init();
2835
2863
  const c = await this.collectMeshesMainThread(t);
2836
2864
  n = c.meshes;
2837
- const l = this.coordinateHandler.processMeshes(n), d = c.buildingRotation, _ = {
2865
+ const l = this.coordinateHandler.processMeshes(n), d = c.buildingRotation, f = {
2838
2866
  ...l,
2839
2867
  buildingRotation: d
2840
- }, f = this.bufferBuilder.processMeshes(n);
2868
+ }, _ = this.bufferBuilder.processMeshes(n);
2841
2869
  return {
2842
- meshes: f.meshes,
2843
- totalTriangles: f.totalTriangles,
2844
- totalVertices: f.totalVertices,
2845
- coordinateInfo: _
2870
+ meshes: _.meshes,
2871
+ totalTriangles: _.totalTriangles,
2872
+ totalVertices: _.totalVertices,
2873
+ coordinateInfo: f
2846
2874
  };
2847
2875
  }
2848
2876
  const s = this.coordinateHandler.processMeshes(n), r = this.bufferBuilder.processMeshes(n);
@@ -2866,7 +2894,7 @@ let __tla = Promise.all([
2866
2894
  }
2867
2895
  async collectMeshesMainThread(t, e) {
2868
2896
  if (!this.bridge) throw new Error("WASM bridge not initialized");
2869
- const n = bt(t), s = new ee(this.bridge.getApi(), n, {
2897
+ const n = tt(t), s = new se(this.bridge.getApi(), n, {
2870
2898
  mergeLayers: this.mergeLayers
2871
2899
  }), r = s.collectMeshes(), a = s.getBuildingRotation();
2872
2900
  return {
@@ -2894,33 +2922,33 @@ let __tla = Promise.all([
2894
2922
  yield {
2895
2923
  type: "complete",
2896
2924
  totalMeshes: 0,
2897
- coordinateInfo: Ct(this.coordinateHandler.getFinalCoordinateInfo(), r)
2925
+ coordinateInfo: St(this.coordinateHandler.getFinalCoordinateInfo(), r)
2898
2926
  };
2899
2927
  return;
2900
2928
  }
2901
- const a = pe(t, e), l = Math.max(a, Math.ceil(s.totalJobs / 30));
2929
+ const a = ge(t, e), l = Math.max(a, Math.ceil(s.totalJobs / 30));
2902
2930
  let d = 0;
2903
- for(let f = 0; f < s.totalJobs; f += l){
2904
- const p = Math.min(f + l, s.totalJobs), g = s.jobs.slice(f * 3, p * 3), u = n.processGeometryBatch(t, g, s.unitScale, s.rtcOffset?.[0] ?? 0, s.rtcOffset?.[1] ?? 0, s.rtcOffset?.[2] ?? 0, s.needsShift, s.voidKeys, s.voidCounts, s.voidValues, s.styleIds, s.styleColors), y = Zn(u);
2905
- if (y.length === 0) {
2906
- await new Promise((N)=>setTimeout(N, 0));
2931
+ for(let _ = 0; _ < s.totalJobs; _ += l){
2932
+ const p = Math.min(_ + l, s.totalJobs), g = s.jobs.slice(_ * 3, p * 3), u = n.processGeometryBatch(t, g, s.unitScale, s.rtcOffset?.[0] ?? 0, s.rtcOffset?.[1] ?? 0, s.rtcOffset?.[2] ?? 0, s.needsShift, s.voidKeys, s.voidCounts, s.voidValues, s.styleIds, s.styleColors), h = Kn(u);
2933
+ if (h.length === 0) {
2934
+ await new Promise((C)=>setTimeout(C, 0));
2907
2935
  continue;
2908
2936
  }
2909
- this.coordinateHandler.processMeshesIncremental(y), d += y.length;
2910
- const m = this.coordinateHandler.getCurrentCoordinateInfo(), C = m ? Ct(m, r) : null;
2937
+ this.coordinateHandler.processMeshesIncremental(h), d += h.length;
2938
+ const m = this.coordinateHandler.getCurrentCoordinateInfo(), w = m ? St(m, r) : null;
2911
2939
  yield {
2912
2940
  type: "batch",
2913
- meshes: y,
2941
+ meshes: h,
2914
2942
  totalSoFar: d,
2915
- coordinateInfo: C || void 0
2916
- }, await new Promise((N)=>setTimeout(N, 0));
2943
+ coordinateInfo: w || void 0
2944
+ }, await new Promise((C)=>setTimeout(C, 0));
2917
2945
  }
2918
2946
  n.clearPrePassCache?.();
2919
- const _ = Ct(this.coordinateHandler.getFinalCoordinateInfo(), r);
2947
+ const f = St(this.coordinateHandler.getFinalCoordinateInfo(), r);
2920
2948
  yield {
2921
2949
  type: "complete",
2922
2950
  totalMeshes: d,
2923
- coordinateInfo: _
2951
+ coordinateInfo: f
2924
2952
  };
2925
2953
  }
2926
2954
  async *processInstancedStreamingBytes(t, e) {
@@ -2934,60 +2962,60 @@ let __tla = Promise.all([
2934
2962
  type: "complete",
2935
2963
  totalGeometries: 0,
2936
2964
  totalInstances: 0,
2937
- coordinateInfo: Ct(this.coordinateHandler.getFinalCoordinateInfo(), r)
2965
+ coordinateInfo: St(this.coordinateHandler.getFinalCoordinateInfo(), r)
2938
2966
  };
2939
2967
  return;
2940
2968
  }
2941
2969
  let a = 0, c = 0;
2942
2970
  const d = Math.max(e, Math.ceil(s.totalJobs / 30));
2943
- for(let f = 0; f < s.totalJobs; f += d){
2944
- const p = Math.min(f + d, s.totalJobs), g = s.jobs.slice(f * 3, p * 3), u = n.processInstancedGeometryBatch(t, g, s.unitScale, s.rtcOffset?.[0] ?? 0, s.rtcOffset?.[1] ?? 0, s.rtcOffset?.[2] ?? 0, s.needsShift, s.styleIds, s.styleColors), y = Kn(u);
2945
- if (y.length === 0) {
2946
- await new Promise((T)=>setTimeout(T, 0));
2971
+ for(let _ = 0; _ < s.totalJobs; _ += d){
2972
+ const p = Math.min(_ + d, s.totalJobs), g = s.jobs.slice(_ * 3, p * 3), u = n.processInstancedGeometryBatch(t, g, s.unitScale, s.rtcOffset?.[0] ?? 0, s.rtcOffset?.[1] ?? 0, s.rtcOffset?.[2] ?? 0, s.needsShift, s.styleIds, s.styleColors), h = Zn(u);
2973
+ if (h.length === 0) {
2974
+ await new Promise((A)=>setTimeout(A, 0));
2947
2975
  continue;
2948
2976
  }
2949
2977
  const m = [];
2950
- for (const T of y){
2951
- const B = T.positions, G = T.normals, b = T.indices;
2952
- if (T.instance_count > 0) {
2953
- const A = T.get_instance(0);
2954
- if (A) {
2955
- const h = A.color;
2978
+ for (const A of h){
2979
+ const P = A.positions, z = A.normals, x = A.indices;
2980
+ if (A.instance_count > 0) {
2981
+ const v = A.get_instance(0);
2982
+ if (v) {
2983
+ const E = v.color;
2956
2984
  m.push({
2957
- expressId: A.expressId,
2958
- positions: B,
2959
- normals: G,
2960
- indices: b,
2985
+ expressId: v.expressId,
2986
+ positions: P,
2987
+ normals: z,
2988
+ indices: x,
2961
2989
  color: [
2962
- h[0],
2963
- h[1],
2964
- h[2],
2965
- h[3]
2990
+ E[0],
2991
+ E[1],
2992
+ E[2],
2993
+ E[3]
2966
2994
  ]
2967
2995
  });
2968
2996
  }
2969
2997
  }
2970
2998
  }
2971
- m.length > 0 && this.coordinateHandler.processMeshesIncremental(m), a += y.length, c += y.reduce((T, B)=>T + B.instance_count, 0);
2972
- const C = this.coordinateHandler.getCurrentCoordinateInfo(), N = C ? Ct(C, r) : null;
2999
+ m.length > 0 && this.coordinateHandler.processMeshesIncremental(m), a += h.length, c += h.reduce((A, P)=>A + P.instance_count, 0);
3000
+ const w = this.coordinateHandler.getCurrentCoordinateInfo(), C = w ? St(w, r) : null;
2973
3001
  yield {
2974
3002
  type: "batch",
2975
- geometries: y,
3003
+ geometries: h,
2976
3004
  totalSoFar: a,
2977
- coordinateInfo: N || void 0
2978
- }, await new Promise((T)=>setTimeout(T, 0));
3005
+ coordinateInfo: C || void 0
3006
+ }, await new Promise((A)=>setTimeout(A, 0));
2979
3007
  }
2980
3008
  n.clearPrePassCache?.();
2981
- const _ = Ct(this.coordinateHandler.getFinalCoordinateInfo(), r);
3009
+ const f = St(this.coordinateHandler.getFinalCoordinateInfo(), r);
2982
3010
  yield {
2983
3011
  type: "complete",
2984
3012
  totalGeometries: a,
2985
3013
  totalInstances: c,
2986
- coordinateInfo: _
3014
+ coordinateInfo: f
2987
3015
  };
2988
3016
  }
2989
3017
  async *processStreaming(t, e, n = 25, s) {
2990
- const r = this.isNative ? null : Qe("processStreaming");
3018
+ const r = this.isNative ? null : qe("processStreaming");
2991
3019
  try {
2992
3020
  yield* this.processStreamingUnlocked(t, e, n, s);
2993
3021
  } finally{
@@ -3004,8 +3032,8 @@ let __tla = Promise.all([
3004
3032
  modelID: 0
3005
3033
  }, console.time("[GeometryProcessor] native-streaming");
3006
3034
  const r = [];
3007
- let a = null, c = !1, l = null, d, _ = 0;
3008
- const f = ()=>{
3035
+ let a = null, c = !1, l = null, d, f = 0;
3036
+ const _ = ()=>{
3009
3037
  a && (a(), a = null);
3010
3038
  }, p = this.platformBridge.processGeometryStreaming(t, {
3011
3039
  onBatch: (u)=>{
@@ -3013,19 +3041,19 @@ let __tla = Promise.all([
3013
3041
  type: "batch",
3014
3042
  meshes: u.meshes,
3015
3043
  nativeTelemetry: u.nativeTelemetry
3016
- }), f();
3044
+ }), _();
3017
3045
  },
3018
3046
  onColorUpdate: (u)=>{
3019
3047
  r.push({
3020
3048
  type: "colorUpdate",
3021
3049
  updates: new Map(u)
3022
- }), f();
3050
+ }), _();
3023
3051
  },
3024
3052
  onComplete: (u)=>{
3025
- this.lastNativeStats = u, d = u.totalMeshes, c = !0, f();
3053
+ this.lastNativeStats = u, d = u.totalMeshes, c = !0, _();
3026
3054
  },
3027
3055
  onError: (u)=>{
3028
- l = u, c = !0, f();
3056
+ l = u, c = !0, _();
3029
3057
  }
3030
3058
  });
3031
3059
  for(; !c || r.length > 0;){
@@ -3038,13 +3066,13 @@ let __tla = Promise.all([
3038
3066
  };
3039
3067
  continue;
3040
3068
  }
3041
- this.coordinateHandler.processMeshesIncremental(u.meshes), _ += u.meshes.length;
3042
- const y = this.coordinateHandler.getCurrentCoordinateInfo();
3069
+ this.coordinateHandler.processMeshesIncremental(u.meshes), f += u.meshes.length;
3070
+ const h = this.coordinateHandler.getCurrentCoordinateInfo();
3043
3071
  yield {
3044
3072
  type: "batch",
3045
3073
  meshes: u.meshes,
3046
- totalSoFar: _,
3047
- coordinateInfo: y || void 0,
3074
+ totalSoFar: f,
3075
+ coordinateInfo: h || void 0,
3048
3076
  nativeTelemetry: u.nativeTelemetry
3049
3077
  };
3050
3078
  }
@@ -3057,25 +3085,25 @@ let __tla = Promise.all([
3057
3085
  const g = this.coordinateHandler.getFinalCoordinateInfo();
3058
3086
  yield {
3059
3087
  type: "complete",
3060
- totalMeshes: d ?? _,
3088
+ totalMeshes: d ?? f,
3061
3089
  coordinateInfo: g
3062
3090
  }, console.timeEnd("[GeometryProcessor] native-streaming");
3063
3091
  } else {
3064
3092
  if (!this.bridge) throw new Error("WASM bridge not initialized");
3065
- if (t.length >= we.largeFileByteStreamingThreshold) {
3093
+ if (t.length >= Ce.largeFileByteStreamingThreshold) {
3066
3094
  yield* this.processStreamingBytes(t, n);
3067
3095
  return;
3068
3096
  }
3069
- const r = bt(t);
3097
+ const r = tt(t);
3070
3098
  yield {
3071
3099
  type: "model-open",
3072
3100
  modelID: 0
3073
3101
  };
3074
- const a = new ee(this.bridge.getApi(), r, {
3102
+ const a = new se(this.bridge.getApi(), r, {
3075
3103
  mergeLayers: this.mergeLayers
3076
3104
  });
3077
3105
  let c = 0, l;
3078
- const d = pe(t, n);
3106
+ const d = ge(t, n);
3079
3107
  for await (const p of a.collectMeshesStreaming(d)){
3080
3108
  if (p && typeof p == "object" && "type" in p && p.type === "colorUpdate") {
3081
3109
  yield {
@@ -3095,7 +3123,7 @@ let __tla = Promise.all([
3095
3123
  }
3096
3124
  const g = p;
3097
3125
  this.coordinateHandler.processMeshesIncremental(g), c += g.length;
3098
- const u = this.coordinateHandler.getCurrentCoordinateInfo(), y = u && l !== void 0 ? {
3126
+ const u = this.coordinateHandler.getCurrentCoordinateInfo(), h = u && l !== void 0 ? {
3099
3127
  ...u,
3100
3128
  buildingRotation: l
3101
3129
  } : u;
@@ -3103,37 +3131,37 @@ let __tla = Promise.all([
3103
3131
  type: "batch",
3104
3132
  meshes: g,
3105
3133
  totalSoFar: c,
3106
- coordinateInfo: y || void 0
3134
+ coordinateInfo: h || void 0
3107
3135
  };
3108
3136
  }
3109
3137
  l = a.getBuildingRotation();
3110
- const _ = this.coordinateHandler.getFinalCoordinateInfo(), f = l !== void 0 ? {
3111
- ..._,
3138
+ const f = this.coordinateHandler.getFinalCoordinateInfo(), _ = l !== void 0 ? {
3139
+ ...f,
3112
3140
  buildingRotation: l
3113
- } : _;
3141
+ } : f;
3114
3142
  yield {
3115
3143
  type: "complete",
3116
3144
  totalMeshes: c,
3117
- coordinateInfo: f
3145
+ coordinateInfo: _
3118
3146
  };
3119
3147
  }
3120
3148
  }
3121
3149
  async *processStreamingPath(t, e = 0, n) {
3122
3150
  if (!this.isNative) throw new Error("File-path geometry streaming is only available in native desktop builds");
3123
3151
  if (this.platformBridge || await this.init(), !this.platformBridge?.processGeometryStreamingPath) throw new Error("Native platform bridge does not support file-path streaming");
3124
- yield* qe((s)=>this.platformBridge.processGeometryStreamingPath(t, s, n), e > 0 ? e / 1e3 : 0, this.coordinateHandler, (s)=>{
3152
+ yield* Qe((s)=>this.platformBridge.processGeometryStreamingPath(t, s, n), e > 0 ? e / 1e3 : 0, this.coordinateHandler, (s)=>{
3125
3153
  this.lastNativeStats = s;
3126
3154
  });
3127
3155
  }
3128
3156
  async *processStreamingCache(t) {
3129
3157
  if (!this.isNative) throw new Error("Native cached geometry streaming is only available in native desktop builds");
3130
3158
  if (this.platformBridge || await this.init(), !this.platformBridge?.processGeometryStreamingCache) throw new Error("Native platform bridge does not support cached geometry streaming");
3131
- yield* qe((e)=>this.platformBridge.processGeometryStreamingCache(t, e), 0, this.coordinateHandler, (e)=>{
3159
+ yield* Qe((e)=>this.platformBridge.processGeometryStreamingCache(t, e), 0, this.coordinateHandler, (e)=>{
3132
3160
  this.lastNativeStats = e;
3133
3161
  });
3134
3162
  }
3135
3163
  async *processInstancedStreaming(t, e = 25) {
3136
- const n = this.isNative ? null : Qe("processInstancedStreaming");
3164
+ const n = this.isNative ? null : qe("processInstancedStreaming");
3137
3165
  try {
3138
3166
  yield* this.processInstancedStreamingUnlocked(t, e);
3139
3167
  } finally{
@@ -3145,58 +3173,58 @@ let __tla = Promise.all([
3145
3173
  type: "start",
3146
3174
  totalEstimate: t.length / 1e3
3147
3175
  };
3148
- const n = t.length / (1024 * 1024), s = n < 50 ? e : n < 200 ? Math.max(e, 50) : n < 300 ? Math.max(e, 100) : Math.max(e, 200), r = Math.max(s, pe(t, e));
3149
- if (t.length >= we.largeFileByteStreamingThreshold) {
3176
+ const n = t.length / (1024 * 1024), s = n < 50 ? e : n < 200 ? Math.max(e, 50) : n < 300 ? Math.max(e, 100) : Math.max(e, 200), r = Math.max(s, ge(t, e));
3177
+ if (t.length >= Ce.largeFileByteStreamingThreshold) {
3150
3178
  yield* this.processInstancedStreamingBytes(t, r);
3151
3179
  return;
3152
3180
  }
3153
- const a = bt(t);
3181
+ const a = tt(t);
3154
3182
  yield {
3155
3183
  type: "model-open",
3156
3184
  modelID: 0
3157
3185
  };
3158
- const c = new ee(this.bridge.getApi(), a, {
3186
+ const c = new se(this.bridge.getApi(), a, {
3159
3187
  mergeLayers: this.mergeLayers
3160
3188
  });
3161
3189
  let l = 0, d = 0;
3162
- for await (const f of c.collectInstancedGeometryStreaming(s)){
3190
+ for await (const _ of c.collectInstancedGeometryStreaming(s)){
3163
3191
  const p = [];
3164
- for (const u of f){
3165
- const y = u.positions, m = u.normals, C = u.indices;
3192
+ for (const u of _){
3193
+ const h = u.positions, m = u.normals, w = u.indices;
3166
3194
  if (u.instance_count > 0) {
3167
- const N = u.get_instance(0);
3168
- if (N) {
3169
- const T = N.color;
3195
+ const C = u.get_instance(0);
3196
+ if (C) {
3197
+ const A = C.color;
3170
3198
  p.push({
3171
- expressId: N.expressId,
3172
- positions: y,
3199
+ expressId: C.expressId,
3200
+ positions: h,
3173
3201
  normals: m,
3174
- indices: C,
3202
+ indices: w,
3175
3203
  color: [
3176
- T[0],
3177
- T[1],
3178
- T[2],
3179
- T[3]
3204
+ A[0],
3205
+ A[1],
3206
+ A[2],
3207
+ A[3]
3180
3208
  ]
3181
3209
  });
3182
3210
  }
3183
3211
  }
3184
3212
  }
3185
- p.length > 0 && this.coordinateHandler.processMeshesIncremental(p), l += f.length, d += f.reduce((u, y)=>u + y.instance_count, 0);
3213
+ p.length > 0 && this.coordinateHandler.processMeshesIncremental(p), l += _.length, d += _.reduce((u, h)=>u + h.instance_count, 0);
3186
3214
  const g = this.coordinateHandler.getCurrentCoordinateInfo();
3187
3215
  yield {
3188
3216
  type: "batch",
3189
- geometries: f,
3217
+ geometries: _,
3190
3218
  totalSoFar: l,
3191
3219
  coordinateInfo: g || void 0
3192
3220
  };
3193
3221
  }
3194
- const _ = this.coordinateHandler.getFinalCoordinateInfo();
3222
+ const f = this.coordinateHandler.getFinalCoordinateInfo();
3195
3223
  yield {
3196
3224
  type: "complete",
3197
3225
  totalGeometries: l,
3198
3226
  totalInstances: d,
3199
- coordinateInfo: _
3227
+ coordinateInfo: f
3200
3228
  };
3201
3229
  }
3202
3230
  async *processParallel(t, e, n, s, r, a) {
@@ -3220,8 +3248,8 @@ let __tla = Promise.all([
3220
3248
  let r;
3221
3249
  if (this.isNative && this.platformBridge) console.time("[GeometryProcessor] native-adaptive-sync"), r = (await this.platformBridge.processGeometry(t)).meshes, console.timeEnd("[GeometryProcessor] native-adaptive-sync");
3222
3250
  else {
3223
- const c = bt(t);
3224
- r = new ee(this.bridge.getApi(), c, {
3251
+ const c = tt(t);
3252
+ r = new se(this.bridge.getApi(), c, {
3225
3253
  mergeLayers: this.mergeLayers
3226
3254
  }).collectMeshes();
3227
3255
  }
@@ -3247,17 +3275,17 @@ let __tla = Promise.all([
3247
3275
  }
3248
3276
  parseSymbolicRepresentations(t) {
3249
3277
  if (!this.bridge || !this.bridge.isInitialized()) return null;
3250
- const e = bt(t);
3278
+ const e = tt(t);
3251
3279
  return this.bridge.parseSymbolicRepresentations(e);
3252
3280
  }
3253
3281
  extractProfiles(t, e = 0) {
3254
3282
  if (!this.bridge || !this.bridge.isInitialized()) return null;
3255
- const n = bt(t);
3283
+ const n = tt(t);
3256
3284
  return this.bridge.extractProfiles(n, e);
3257
3285
  }
3258
3286
  dispose() {}
3259
3287
  };
3260
- xs = class {
3288
+ Os = class {
3261
3289
  geometryResult;
3262
3290
  constructor(t){
3263
3291
  this.geometryResult = t;
@@ -3274,7 +3302,7 @@ let __tla = Promise.all([
3274
3302
  };
3275
3303
  }
3276
3304
  buildGLTF(t) {
3277
- const e = this.geometryResult.meshes, n = {
3305
+ const e = this.geometryResult.meshes, n = t.colorSource ?? "rendering", s = t.visibleOnly === !0, r = t.hiddenEntityIds ?? null, a = t.isolatedEntityIds ?? null, c = a !== null && a.size > 0, l = t.hiddenIfcTypes ?? null, d = (I)=>s ? !(l && I.ifcType && l.has(I.ifcType) || c && !a.has(I.expressId) || r && r.has(I.expressId)) : !0, f = (I)=>n === "shading" ? I.shadingColor ?? I.color : I.color, _ = {
3278
3306
  asset: {
3279
3307
  version: "2.0",
3280
3308
  generator: "IFC-Lite"
@@ -3295,23 +3323,23 @@ let __tla = Promise.all([
3295
3323
  }
3296
3324
  ]
3297
3325
  };
3298
- t.includeMetadata && (n.asset.extras = {
3326
+ t.includeMetadata && (_.asset.extras = {
3299
3327
  meshCount: e.length,
3300
3328
  vertexCount: this.geometryResult.totalVertices,
3301
3329
  triangleCount: this.geometryResult.totalTriangles
3302
3330
  });
3303
- const s = new Map, r = [];
3304
- function a(b) {
3305
- const A = `${Math.round(b[0] * 100)},${Math.round(b[1] * 100)},${Math.round(b[2] * 100)},${Math.round(b[3] * 100)}`, h = s.get(A);
3306
- if (h !== void 0) return h;
3307
- const F = r.length;
3308
- return r.push({
3331
+ const p = new Map, g = [];
3332
+ function u(I) {
3333
+ const M = `${Math.round(I[0] * 100)},${Math.round(I[1] * 100)},${Math.round(I[2] * 100)},${Math.round(I[3] * 100)}`, R = p.get(M);
3334
+ if (R !== void 0) return R;
3335
+ const j = g.length;
3336
+ return g.push({
3309
3337
  pbrMetallicRoughness: {
3310
3338
  baseColorFactor: [
3311
- b[0],
3312
- b[1],
3313
- b[2],
3314
- b[3]
3339
+ I[0],
3340
+ I[1],
3341
+ I[2],
3342
+ I[3]
3315
3343
  ],
3316
3344
  metallicFactor: 0,
3317
3345
  roughnessFactor: 1
@@ -3319,147 +3347,150 @@ let __tla = Promise.all([
3319
3347
  extensions: {
3320
3348
  KHR_materials_unlit: {}
3321
3349
  },
3322
- ...b[3] < 1 ? {
3350
+ ...I[3] < 1 ? {
3323
3351
  alphaMode: "BLEND"
3324
3352
  } : {}
3325
- }), s.set(A, F), F;
3326
- }
3327
- const c = [];
3328
- let l = 0, d = 0, _ = 0;
3329
- for(let b = 0; b < e.length; b++){
3330
- const A = e[b], h = A.positions, F = A.normals, S = A.indices;
3331
- if (!h.length || !F.length || !S.length || h.length % 3 !== 0 || F.length % 3 !== 0 || h.length !== F.length) continue;
3332
- let E = h[0], I = h[1], w = h[2], x = h[0], z = h[1], P = h[2];
3333
- for(let H = 3; H < h.length; H += 3){
3334
- const X = h[H], k = h[H + 1], W = h[H + 2];
3335
- X < E && (E = X), X > x && (x = X), k < I && (I = k), k > z && (z = k), W < w && (w = W), W > P && (P = W);
3353
+ }), p.set(M, j), j;
3354
+ }
3355
+ const h = [];
3356
+ let m = 0, w = 0, C = 0;
3357
+ for(let I = 0; I < e.length; I++){
3358
+ const M = e[I];
3359
+ if (!d(M)) continue;
3360
+ const R = M.positions, j = M.normals, H = M.indices;
3361
+ if (!R.length || !j.length || !H.length || R.length % 3 !== 0 || j.length % 3 !== 0 || R.length !== j.length) continue;
3362
+ let k = R[0], Y = R[1], W = R[2], at = R[0], q = R[1], st = R[2];
3363
+ for(let lt = 3; lt < R.length; lt += 3){
3364
+ const dt = R[lt], pt = R[lt + 1], yt = R[lt + 2];
3365
+ dt < k && (k = dt), dt > at && (at = dt), pt < Y && (Y = pt), pt > q && (q = pt), yt < W && (W = yt), yt > st && (st = yt);
3336
3366
  }
3337
- c.push({
3338
- meshIndex: b,
3339
- posCount: h.length,
3340
- normCount: F.length,
3341
- idxCount: S.length,
3342
- posByteOffset: l * 4,
3343
- normByteOffset: d * 4,
3344
- idxByteOffset: _ * 4,
3367
+ const ut = f(M);
3368
+ h.push({
3369
+ meshIndex: I,
3370
+ posCount: R.length,
3371
+ normCount: j.length,
3372
+ idxCount: H.length,
3373
+ posByteOffset: m * 4,
3374
+ normByteOffset: w * 4,
3375
+ idxByteOffset: C * 4,
3345
3376
  bounds: {
3346
3377
  min: [
3347
- E,
3348
- I,
3349
- w
3378
+ k,
3379
+ Y,
3380
+ W
3350
3381
  ],
3351
3382
  max: [
3352
- x,
3353
- z,
3354
- P
3383
+ at,
3384
+ q,
3385
+ st
3355
3386
  ]
3356
3387
  },
3357
- materialIdx: A.color ? a(A.color) : void 0
3358
- }), l += h.length, d += F.length, _ += S.length;
3359
- }
3360
- if (l === 0 || d === 0 || _ === 0) throw new Error("Cannot export GLB: no valid geometry data found");
3361
- const f = new Float32Array(l), p = new Float32Array(d), g = new Uint32Array(_);
3362
- let u = 0, y = 0, m = 0;
3363
- const C = [];
3364
- for (const b of c){
3365
- const A = e[b.meshIndex];
3366
- f.set(A.positions, u), p.set(A.normals, y), g.set(A.indices, m), u += b.posCount, y += b.normCount, m += b.idxCount;
3367
- const h = n.accessors.length;
3368
- n.accessors.push({
3388
+ materialIdx: ut ? u(ut) : void 0
3389
+ }), m += R.length, w += j.length, C += H.length;
3390
+ }
3391
+ if (m === 0 || w === 0 || C === 0) throw new Error("Cannot export GLB: no valid geometry data found");
3392
+ const A = new Float32Array(m), P = new Float32Array(w), z = new Uint32Array(C);
3393
+ let x = 0, v = 0, E = 0;
3394
+ const N = [];
3395
+ for (const I of h){
3396
+ const M = e[I.meshIndex];
3397
+ A.set(M.positions, x), P.set(M.normals, v), z.set(M.indices, E), x += I.posCount, v += I.normCount, E += I.idxCount;
3398
+ const R = _.accessors.length;
3399
+ _.accessors.push({
3369
3400
  bufferView: 0,
3370
- byteOffset: b.posByteOffset,
3401
+ byteOffset: I.posByteOffset,
3371
3402
  componentType: 5126,
3372
- count: b.posCount / 3,
3403
+ count: I.posCount / 3,
3373
3404
  type: "VEC3",
3374
- min: b.bounds.min,
3375
- max: b.bounds.max
3405
+ min: I.bounds.min,
3406
+ max: I.bounds.max
3376
3407
  });
3377
- const F = n.accessors.length;
3378
- n.accessors.push({
3408
+ const j = _.accessors.length;
3409
+ _.accessors.push({
3379
3410
  bufferView: 1,
3380
- byteOffset: b.normByteOffset,
3411
+ byteOffset: I.normByteOffset,
3381
3412
  componentType: 5126,
3382
- count: b.normCount / 3,
3413
+ count: I.normCount / 3,
3383
3414
  type: "VEC3"
3384
3415
  });
3385
- const S = n.accessors.length;
3386
- n.accessors.push({
3416
+ const H = _.accessors.length;
3417
+ _.accessors.push({
3387
3418
  bufferView: 2,
3388
- byteOffset: b.idxByteOffset,
3419
+ byteOffset: I.idxByteOffset,
3389
3420
  componentType: 5125,
3390
- count: b.idxCount,
3421
+ count: I.idxCount,
3391
3422
  type: "SCALAR"
3392
3423
  });
3393
- const E = n.meshes.length;
3394
- n.meshes.push({
3424
+ const k = _.meshes.length;
3425
+ _.meshes.push({
3395
3426
  primitives: [
3396
3427
  {
3397
3428
  attributes: {
3398
- POSITION: h,
3399
- NORMAL: F
3429
+ POSITION: R,
3430
+ NORMAL: j
3400
3431
  },
3401
- indices: S,
3402
- ...b.materialIdx !== void 0 ? {
3403
- material: b.materialIdx
3432
+ indices: H,
3433
+ ...I.materialIdx !== void 0 ? {
3434
+ material: I.materialIdx
3404
3435
  } : {}
3405
3436
  }
3406
3437
  ]
3407
3438
  });
3408
- const I = n.nodes.length, w = {
3409
- mesh: E
3439
+ const Y = _.nodes.length, W = {
3440
+ mesh: k
3410
3441
  };
3411
- t.includeMetadata && A.expressId !== void 0 && (w.extras = A.modelIndex !== void 0 ? {
3412
- expressId: A.expressId,
3413
- modelIndex: A.modelIndex
3442
+ t.includeMetadata && M.expressId !== void 0 && (W.extras = M.modelIndex !== void 0 ? {
3443
+ expressId: M.expressId,
3444
+ modelIndex: M.modelIndex
3414
3445
  } : {
3415
- expressId: A.expressId
3416
- }), n.nodes.push(w), C.push(I);
3446
+ expressId: M.expressId
3447
+ }), _.nodes.push(W), N.push(Y);
3417
3448
  }
3418
- n.scenes[0].nodes = C, r.length > 0 && (n.materials = r, n.extensionsUsed = [
3449
+ _.scenes[0].nodes = N, g.length > 0 && (_.materials = g, _.extensionsUsed = [
3419
3450
  "KHR_materials_unlit"
3420
3451
  ]);
3421
- const N = f.buffer, T = p.buffer, B = g.buffer, G = N.byteLength + T.byteLength + B.byteLength;
3422
- n.bufferViews.push({
3452
+ const S = A.buffer, b = P.buffer, y = z.buffer, T = S.byteLength + b.byteLength + y.byteLength;
3453
+ _.bufferViews.push({
3423
3454
  buffer: 0,
3424
3455
  byteOffset: 0,
3425
- byteLength: N.byteLength,
3456
+ byteLength: S.byteLength,
3426
3457
  byteStride: 12,
3427
3458
  target: 34962
3428
- }), n.bufferViews.push({
3459
+ }), _.bufferViews.push({
3429
3460
  buffer: 0,
3430
- byteOffset: N.byteLength,
3431
- byteLength: T.byteLength,
3461
+ byteOffset: S.byteLength,
3462
+ byteLength: b.byteLength,
3432
3463
  byteStride: 12,
3433
3464
  target: 34962
3434
- }), n.bufferViews.push({
3465
+ }), _.bufferViews.push({
3435
3466
  buffer: 0,
3436
- byteOffset: N.byteLength + T.byteLength,
3437
- byteLength: B.byteLength,
3467
+ byteOffset: S.byteLength + b.byteLength,
3468
+ byteLength: y.byteLength,
3438
3469
  target: 34963
3439
- }), n.buffers[0].byteLength = G;
3440
- for (const b of n.accessors){
3441
- const A = n.bufferViews[b.bufferView];
3442
- if (!A) throw new Error(`Accessor references invalid bufferView ${b.bufferView}`);
3443
- let h = 0;
3444
- if (b.componentType === 5126) h = 4;
3445
- else if (b.componentType === 5125) h = 4;
3446
- else if (b.componentType === 5123) h = 2;
3447
- else if (b.componentType === 5120) h = 1;
3448
- else throw new Error(`Unsupported component type: ${b.componentType}`);
3449
- let F = 1;
3450
- if (b.type === "VEC3") F = 3;
3451
- else if (b.type === "VEC2") F = 2;
3452
- else if (b.type === "SCALAR") F = 1;
3453
- else throw new Error(`Unsupported accessor type: ${b.type}`);
3454
- const S = b.count * F * h, E = (b.byteOffset || 0) + S;
3455
- if (E > A.byteLength) throw new Error(`Accessor exceeds bufferView bounds: accessor byteOffset=${b.byteOffset || 0}, length=${S}, bufferView byteLength=${A.byteLength}, end=${E}`);
3470
+ }), _.buffers[0].byteLength = T;
3471
+ for (const I of _.accessors){
3472
+ const M = _.bufferViews[I.bufferView];
3473
+ if (!M) throw new Error(`Accessor references invalid bufferView ${I.bufferView}`);
3474
+ let R = 0;
3475
+ if (I.componentType === 5126) R = 4;
3476
+ else if (I.componentType === 5125) R = 4;
3477
+ else if (I.componentType === 5123) R = 2;
3478
+ else if (I.componentType === 5120) R = 1;
3479
+ else throw new Error(`Unsupported component type: ${I.componentType}`);
3480
+ let j = 1;
3481
+ if (I.type === "VEC3") j = 3;
3482
+ else if (I.type === "VEC2") j = 2;
3483
+ else if (I.type === "SCALAR") j = 1;
3484
+ else throw new Error(`Unsupported accessor type: ${I.type}`);
3485
+ const H = I.count * j * R, k = (I.byteOffset || 0) + H;
3486
+ if (k > M.byteLength) throw new Error(`Accessor exceeds bufferView bounds: accessor byteOffset=${I.byteOffset || 0}, length=${H}, bufferView byteLength=${M.byteLength}, end=${k}`);
3456
3487
  }
3457
3488
  return {
3458
- json: n,
3489
+ json: _,
3459
3490
  buffers: [
3460
- new Uint8Array(N),
3461
- new Uint8Array(T),
3462
- new Uint8Array(B)
3491
+ new Uint8Array(S),
3492
+ new Uint8Array(b),
3493
+ new Uint8Array(y)
3463
3494
  ]
3464
3495
  };
3465
3496
  }
@@ -3470,14 +3501,14 @@ let __tla = Promise.all([
3470
3501
  return n;
3471
3502
  }
3472
3503
  packGLB(t, e) {
3473
- const n = JSON.stringify(t), s = new TextEncoder().encode(n), r = (4 - s.byteLength % 4) % 4, a = s.byteLength + r, c = this.combineBuffers(e), l = (4 - c.byteLength % 4) % 4, d = c.byteLength + l, _ = 20 + a + 8 + d, f = new ArrayBuffer(_), p = new DataView(f), g = new Uint8Array(f);
3504
+ const n = JSON.stringify(t), s = new TextEncoder().encode(n), r = (4 - s.byteLength % 4) % 4, a = s.byteLength + r, c = this.combineBuffers(e), l = (4 - c.byteLength % 4) % 4, d = c.byteLength + l, f = 20 + a + 8 + d, _ = new ArrayBuffer(f), p = new DataView(_), g = new Uint8Array(_);
3474
3505
  let u = 0;
3475
- p.setUint32(u, 1179937895, !0), u += 4, p.setUint32(u, 2, !0), u += 4, p.setUint32(u, _, !0), u += 4, p.setUint32(u, a, !0), u += 4, p.setUint32(u, 1313821514, !0), u += 4, g.set(s, u), u += s.byteLength;
3476
- for(let y = 0; y < r; y++)g[u++] = 32;
3477
- return p.setUint32(u, d, !0), u += 4, p.setUint32(u, 5130562, !0), u += 4, g.set(c, u), new Uint8Array(f);
3506
+ p.setUint32(u, 1179937895, !0), u += 4, p.setUint32(u, 2, !0), u += 4, p.setUint32(u, f, !0), u += 4, p.setUint32(u, a, !0), u += 4, p.setUint32(u, 1313821514, !0), u += 4, g.set(s, u), u += s.byteLength;
3507
+ for(let h = 0; h < r; h++)g[u++] = 32;
3508
+ return p.setUint32(u, d, !0), u += 4, p.setUint32(u, 5130562, !0), u += 4, g.set(c, u), new Uint8Array(_);
3478
3509
  }
3479
3510
  };
3480
- Os = class {
3511
+ xs = class {
3481
3512
  store;
3482
3513
  constructor(t){
3483
3514
  this.store = t;
@@ -3499,42 +3530,42 @@ let __tla = Promise.all([
3499
3530
  "hasGeometry"
3500
3531
  ], c = new Map;
3501
3532
  if (s && r) {
3502
- const _ = t ?? this.getAllEntityIds();
3503
- for (const f of _){
3504
- const p = this.getPropertiesForEntity(f);
3533
+ const f = t ?? this.getAllEntityIds();
3534
+ for (const _ of f){
3535
+ const p = this.getPropertiesForEntity(_);
3505
3536
  for (const g of p){
3506
3537
  c.has(g.name) || c.set(g.name, new Set);
3507
3538
  for (const u of g.properties)c.get(g.name).add(u.name);
3508
3539
  }
3509
3540
  }
3510
- for (const [f, p] of c)for (const g of p)a.push(`${f}_${g}`);
3541
+ for (const [_, p] of c)for (const g of p)a.push(`${_}_${g}`);
3511
3542
  }
3512
3543
  const l = [
3513
- this.joinRow(a.map((_)=>this.escapeValue(_)), n)
3544
+ this.joinRow(a.map((f)=>this.escapeValue(f)), n)
3514
3545
  ], d = t ?? this.getAllEntityIds();
3515
- for (const _ of d){
3516
- const f = [
3517
- this.escapeValue(_),
3518
- this.escapeValue(this.store.entities.getGlobalId(_) || ""),
3519
- this.escapeValue(this.store.entities.getName(_) || ""),
3520
- this.escapeValue(this.store.entities.getTypeName(_) || ""),
3521
- this.escapeValue(this.store.entities.getDescription(_) || ""),
3522
- this.escapeValue(this.store.entities.getObjectType(_) || ""),
3523
- this.escapeValue(this.store.entities.hasGeometry(_) ? "true" : "false")
3546
+ for (const f of d){
3547
+ const _ = [
3548
+ this.escapeValue(f),
3549
+ this.escapeValue(this.store.entities.getGlobalId(f) || ""),
3550
+ this.escapeValue(this.store.entities.getName(f) || ""),
3551
+ this.escapeValue(this.store.entities.getTypeName(f) || ""),
3552
+ this.escapeValue(this.store.entities.getDescription(f) || ""),
3553
+ this.escapeValue(this.store.entities.getObjectType(f) || ""),
3554
+ this.escapeValue(this.store.entities.hasGeometry(f) ? "true" : "false")
3524
3555
  ];
3525
3556
  if (s && r) {
3526
- const p = this.getPropertiesForEntity(_), g = new Map;
3557
+ const p = this.getPropertiesForEntity(f), g = new Map;
3527
3558
  for (const u of p){
3528
- const y = new Map;
3529
- for (const m of u.properties)y.set(m.name, m.value);
3530
- g.set(u.name, y);
3559
+ const h = new Map;
3560
+ for (const m of u.properties)h.set(m.name, m.value);
3561
+ g.set(u.name, h);
3531
3562
  }
3532
- for (const [u, y] of c)for (const m of y){
3533
- const C = g.get(u)?.get(m) ?? "";
3534
- f.push(this.escapeValue(C));
3563
+ for (const [u, h] of c)for (const m of h){
3564
+ const w = g.get(u)?.get(m) ?? "";
3565
+ _.push(this.escapeValue(w));
3535
3566
  }
3536
3567
  }
3537
- l.push(this.joinRow(f, n));
3568
+ l.push(this.joinRow(_, n));
3538
3569
  }
3539
3570
  return l.join(`
3540
3571
  `);
@@ -3555,13 +3586,13 @@ let __tla = Promise.all([
3555
3586
  for (const c of a){
3556
3587
  const l = this.getPropertiesForEntity(c);
3557
3588
  if (!l || l.length === 0) continue;
3558
- const d = this.store.entities.getGlobalId(c) || "", _ = this.store.entities.getName(c) || "", f = this.store.entities.getTypeName(c) || "";
3589
+ const d = this.store.entities.getGlobalId(c) || "", f = this.store.entities.getName(c) || "", _ = this.store.entities.getTypeName(c) || "";
3559
3590
  for (const p of l)if (!(!p.properties || p.properties.length === 0)) for (const g of p.properties){
3560
3591
  const u = [
3561
3592
  this.escapeValue(c),
3562
3593
  this.escapeValue(d),
3563
- this.escapeValue(_),
3564
3594
  this.escapeValue(f),
3595
+ this.escapeValue(_),
3565
3596
  this.escapeValue(p.name || ""),
3566
3597
  this.escapeValue(g.name || ""),
3567
3598
  this.escapeValue(g.value),
@@ -3589,19 +3620,19 @@ let __tla = Promise.all([
3589
3620
  for (const l of c){
3590
3621
  const d = this.getQuantitiesForEntity(l);
3591
3622
  if (!d || d.length === 0) continue;
3592
- const _ = this.store.entities.getGlobalId(l) || "", f = this.store.entities.getName(l) || "", p = this.store.entities.getTypeName(l) || "";
3623
+ const f = this.store.entities.getGlobalId(l) || "", _ = this.store.entities.getName(l) || "", p = this.store.entities.getTypeName(l) || "";
3593
3624
  for (const g of d)if (!(!g.quantities || g.quantities.length === 0)) for (const u of g.quantities){
3594
- const y = [
3625
+ const h = [
3595
3626
  this.escapeValue(l),
3596
- this.escapeValue(_),
3597
3627
  this.escapeValue(f),
3628
+ this.escapeValue(_),
3598
3629
  this.escapeValue(p),
3599
3630
  this.escapeValue(g.name || ""),
3600
3631
  this.escapeValue(u.name || ""),
3601
3632
  this.escapeValue(u.value),
3602
3633
  this.escapeValue(u.type ?? "")
3603
3634
  ];
3604
- a.push(this.joinRow(y, n));
3635
+ a.push(this.joinRow(h, n));
3605
3636
  }
3606
3637
  }
3607
3638
  return a.join(`
@@ -3620,7 +3651,7 @@ let __tla = Promise.all([
3620
3651
  ], r = this.store.spatialHierarchy;
3621
3652
  if (!r?.project) return s[0];
3622
3653
  const a = (c, l, d)=>{
3623
- const _ = [
3654
+ const f = [
3624
3655
  this.escapeValue(c.expressId),
3625
3656
  this.escapeValue(this.store.entities.getGlobalId(c.expressId) || ""),
3626
3657
  this.escapeValue(c.name || ""),
@@ -3628,7 +3659,7 @@ let __tla = Promise.all([
3628
3659
  this.escapeValue(l ?? ""),
3629
3660
  this.escapeValue(d)
3630
3661
  ];
3631
- if (s.push(this.joinRow(_, e)), c.children) for (const f of c.children)a(f, c.expressId, d + 1);
3662
+ if (s.push(this.joinRow(f, e)), c.children) for (const _ of c.children)a(_, c.expressId, d + 1);
3632
3663
  };
3633
3664
  return a(r.project, null, 0), s.join(`
3634
3665
  `);
@@ -3648,7 +3679,7 @@ let __tla = Promise.all([
3648
3679
  return t.join(e);
3649
3680
  }
3650
3681
  };
3651
- const os = 35, ne = 48, Ze = 57, as = new Set([
3682
+ const os = 35, re = 48, Ke = 57, as = new Set([
3652
3683
  "IFCOWNERHISTORY",
3653
3684
  "IFCAPPLICATION",
3654
3685
  "IFCPERSON",
@@ -3893,37 +3924,37 @@ let __tla = Promise.all([
3893
3924
  "IFCSTRUCTURALSURFACEMEMBERVARYING",
3894
3925
  "IFCSTRUCTURALSURFACEREACTION"
3895
3926
  ]);
3896
- function re(i, t, e, n) {
3927
+ function oe(i, t, e, n) {
3897
3928
  const s = t + e;
3898
3929
  let r = t;
3899
3930
  for(; r < s;)if (i[r] === os) {
3900
- if (r++, r < s && i[r] >= ne && i[r] <= Ze) {
3901
- let a = i[r] - ne;
3902
- for(r++; r < s && i[r] >= ne && i[r] <= Ze;)a = a * 10 + (i[r] - ne), r++;
3931
+ if (r++, r < s && i[r] >= re && i[r] <= Ke) {
3932
+ let a = i[r] - re;
3933
+ for(r++; r < s && i[r] >= re && i[r] <= Ke;)a = a * 10 + (i[r] - re), r++;
3903
3934
  n.push(a);
3904
3935
  }
3905
3936
  } else r++;
3906
3937
  }
3907
- function Ce(i, t, e, n) {
3938
+ function Te(i, t, e, n) {
3908
3939
  const s = new Set, r = [];
3909
3940
  for (const c of i)e.has(c) && !s.has(c) && (s.add(c), r.push(c));
3910
3941
  const a = [];
3911
3942
  for(; r.length > 0;){
3912
3943
  const c = r.pop(), l = e.get(c);
3913
3944
  if (l) {
3914
- a.length = 0, re(t, l.byteOffset, l.byteLength, a);
3945
+ a.length = 0, oe(t, l.byteOffset, l.byteLength, a);
3915
3946
  for(let d = 0; d < a.length; d++){
3916
- const _ = a[d];
3917
- if (!s.has(_) && e.has(_)) {
3918
- if (n && n.has(_)) continue;
3919
- s.add(_), r.push(_);
3947
+ const f = a[d];
3948
+ if (!s.has(f) && e.has(f)) {
3949
+ if (n && n.has(f)) continue;
3950
+ s.add(f), r.push(f);
3920
3951
  }
3921
3952
  }
3922
3953
  }
3923
3954
  }
3924
3955
  return s;
3925
3956
  }
3926
- function Te(i, t, e) {
3957
+ function Fe(i, t, e) {
3927
3958
  const n = new Set, s = new Set;
3928
3959
  for (const [r, a] of i.entityIndex.byId){
3929
3960
  const c = a.type.toUpperCase();
@@ -3970,12 +4001,12 @@ let __tla = Promise.all([
3970
4001
  let l = c.byteOffset;
3971
4002
  const d = c.byteOffset + c.byteLength;
3972
4003
  for(; l < d && n[l] !== 40;)l++;
3973
- if (l >= d || (r.length = 0, re(n, l, d - l, r), r.length < 2)) continue;
3974
- const _ = r[r.length - 2], f = r[r.length - 1];
3975
- e.has(_) && (e.add(f), t.delete(a), t.delete(f));
4004
+ if (l >= d || (r.length = 0, oe(n, l, d - l, r), r.length < 2)) continue;
4005
+ const f = r[r.length - 2], _ = r[r.length - 1];
4006
+ e.has(f) && (e.add(_), t.delete(a), t.delete(_));
3976
4007
  }
3977
4008
  }
3978
- function Fe(i, t, e) {
4009
+ function Re(i, t, e) {
3979
4010
  const n = [], s = [], r = e.byType.get("IFCSTYLEDITEM") ?? [], a = e.byType.get("IFCSTYLEDREPRESENTATION") ?? [];
3980
4011
  for (const c of [
3981
4012
  r,
@@ -3984,26 +4015,26 @@ let __tla = Promise.all([
3984
4015
  if (i.has(l)) continue;
3985
4016
  const d = e.byId.get(l);
3986
4017
  if (!d) continue;
3987
- s.length = 0, re(t, d.byteOffset, d.byteLength, s);
3988
- let _ = !1;
3989
- for(let f = 0; f < s.length; f++)if (i.has(s[f])) {
3990
- _ = !0;
4018
+ s.length = 0, oe(t, d.byteOffset, d.byteLength, s);
4019
+ let f = !1;
4020
+ for(let _ = 0; _ < s.length; _++)if (i.has(s[_])) {
4021
+ f = !0;
3991
4022
  break;
3992
4023
  }
3993
- _ && (i.add(l), n.push(l));
4024
+ f && (i.add(l), n.push(l));
3994
4025
  }
3995
4026
  for(; n.length > 0;){
3996
4027
  const c = n.pop(), l = e.byId.get(c);
3997
4028
  if (l) {
3998
- s.length = 0, re(t, l.byteOffset, l.byteLength, s);
4029
+ s.length = 0, oe(t, l.byteOffset, l.byteLength, s);
3999
4030
  for(let d = 0; d < s.length; d++){
4000
- const _ = s[d];
4001
- !i.has(_) && e.byId.has(_) && (i.add(_), n.push(_));
4031
+ const f = s[d];
4032
+ !i.has(f) && e.byId.has(f) && (i.add(f), n.push(f));
4002
4033
  }
4003
4034
  }
4004
4035
  }
4005
4036
  }
4006
- const Ke = new Map([
4037
+ const Ze = new Map([
4007
4038
  [
4008
4039
  "IFCELECTRICDISTRIBUTIONPOINT",
4009
4040
  "IFCELECTRICDISTRIBUTIONBOARD"
@@ -4109,7 +4140,7 @@ let __tla = Promise.all([
4109
4140
  "IFCBUILTELEMENT",
4110
4141
  "IFCBUILDINGELEMENTPROXY"
4111
4142
  ]
4112
- ]), ge = new Map([]), he = new Map([
4143
+ ]), he = new Map([]), Ie = new Map([
4113
4144
  [
4114
4145
  "IFCFACILITY",
4115
4146
  "IFCBUILDING"
@@ -4382,7 +4413,7 @@ let __tla = Promise.all([
4382
4413
  return fs(t, e)?.get(n) ?? n;
4383
4414
  }
4384
4415
  function fs(i, t) {
4385
- return i === "IFC2X3" && t === "IFC4" ? Ke : i === "IFC4" && t === "IFC2X3" ? tn : i === "IFC4" && t === "IFC4X3" ? ge : i === "IFC4X3" && t === "IFC4" ? he : i === "IFC5" && t === "IFC4X3" || i === "IFC4X3" && t === "IFC5" ? null : i === "IFC5" && t === "IFC4" ? he : i === "IFC4" && t === "IFC5" ? ge : i === "IFC2X3" && (t === "IFC4X3" || t === "IFC5") ? en(Ke, ge) : (i === "IFC4X3" || i === "IFC5") && t === "IFC2X3" ? en(he, tn) : null;
4416
+ return i === "IFC2X3" && t === "IFC4" ? Ze : i === "IFC4" && t === "IFC2X3" ? tn : i === "IFC4" && t === "IFC4X3" ? he : i === "IFC4X3" && t === "IFC4" ? Ie : i === "IFC5" && t === "IFC4X3" || i === "IFC4X3" && t === "IFC5" ? null : i === "IFC5" && t === "IFC4" ? Ie : i === "IFC4" && t === "IFC5" ? he : i === "IFC2X3" && (t === "IFC4X3" || t === "IFC5") ? en(Ze, he) : (i === "IFC4X3" || i === "IFC5") && t === "IFC2X3" ? en(Ie, tn) : null;
4386
4417
  }
4387
4418
  function en(i, t) {
4388
4419
  const e = new Map;
@@ -4390,7 +4421,7 @@ let __tla = Promise.all([
4390
4421
  for (const [n, s] of t)e.has(n) || e.set(n, s);
4391
4422
  return e;
4392
4423
  }
4393
- function ie(i, t, e) {
4424
+ function ae(i, t, e) {
4394
4425
  if (t === e) return i;
4395
4426
  const n = i.match(/^(#\d+=)(\w+)\((.*)?\);?\s*$/);
4396
4427
  if (!n) return i;
@@ -4433,7 +4464,7 @@ let __tla = Promise.all([
4433
4464
  }
4434
4465
  return e.push(r), e.length > t ? e.slice(0, t).join(",") : e.join(",");
4435
4466
  }
4436
- function Re(i, t) {
4467
+ function Se(i, t) {
4437
4468
  return i !== t;
4438
4469
  }
4439
4470
  let gs = 0;
@@ -4443,7 +4474,7 @@ let __tla = Promise.all([
4443
4474
  for(let s = 0; s < 16; s++)e += i[n % 64], n = Math.floor(n / 64) + s;
4444
4475
  return e;
4445
4476
  }
4446
- function et(i) {
4477
+ function rt(i) {
4447
4478
  return i.replace(/\\/g, "\\\\").replace(/'/g, "''");
4448
4479
  }
4449
4480
  function Z(i) {
@@ -4453,17 +4484,17 @@ let __tla = Promise.all([
4453
4484
  }
4454
4485
  function Is(i) {
4455
4486
  switch(i){
4456
- case Et.Length:
4487
+ case Ft.Length:
4457
4488
  return "IFCQUANTITYLENGTH";
4458
- case Et.Area:
4489
+ case Ft.Area:
4459
4490
  return "IFCQUANTITYAREA";
4460
- case Et.Volume:
4491
+ case Ft.Volume:
4461
4492
  return "IFCQUANTITYVOLUME";
4462
- case Et.Count:
4493
+ case Ft.Count:
4463
4494
  return "IFCQUANTITYCOUNT";
4464
- case Et.Weight:
4495
+ case Ft.Weight:
4465
4496
  return "IFCQUANTITYWEIGHT";
4466
- case Et.Time:
4497
+ case Ft.Time:
4467
4498
  return "IFCQUANTITYTIME";
4468
4499
  default:
4469
4500
  return "IFCQUANTITYCOUNT";
@@ -4472,28 +4503,28 @@ let __tla = Promise.all([
4472
4503
  function un(i, t) {
4473
4504
  if (i == null) return "$";
4474
4505
  switch(t){
4475
- case tt.String:
4476
- case tt.Label:
4477
- case tt.Text:
4478
- return `IFCLABEL('${et(String(i))}')`;
4479
- case tt.Identifier:
4480
- return `IFCIDENTIFIER('${et(String(i))}')`;
4481
- case tt.Real:
4506
+ case nt.String:
4507
+ case nt.Label:
4508
+ case nt.Text:
4509
+ return `IFCLABEL('${rt(String(i))}')`;
4510
+ case nt.Identifier:
4511
+ return `IFCIDENTIFIER('${rt(String(i))}')`;
4512
+ case nt.Real:
4482
4513
  {
4483
4514
  const e = Number(i);
4484
4515
  return Number.isFinite(e) ? `IFCREAL(${e.toString().includes(".") ? e : e + "."})` : "$";
4485
4516
  }
4486
- case tt.Integer:
4517
+ case nt.Integer:
4487
4518
  return `IFCINTEGER(${Math.round(Number(i))})`;
4488
- case tt.Boolean:
4489
- case tt.Logical:
4519
+ case nt.Boolean:
4520
+ case nt.Logical:
4490
4521
  return i === !0 ? "IFCBOOLEAN(.T.)" : i === !1 ? "IFCBOOLEAN(.F.)" : "IFCLOGICAL(.U.)";
4491
- case tt.Enum:
4522
+ case nt.Enum:
4492
4523
  return `.${String(i).toUpperCase()}.`;
4493
- case tt.List:
4494
- return Array.isArray(i) ? `(${i.map((n)=>un(n, tt.String)).join(",")})` : "$";
4524
+ case nt.List:
4525
+ return Array.isArray(i) ? `(${i.map((n)=>un(n, nt.String)).join(",")})` : "$";
4495
4526
  default:
4496
- return `IFCLABEL('${et(String(i))}')`;
4527
+ return `IFCLABEL('${rt(String(i))}')`;
4497
4528
  }
4498
4529
  }
4499
4530
  function ys(i, t) {
@@ -4511,16 +4542,16 @@ let __tla = Promise.all([
4511
4542
  }
4512
4543
  return an(i);
4513
4544
  }
4514
- function Se(i) {
4545
+ function Ne(i) {
4515
4546
  if (i == null) return "$";
4516
4547
  if (typeof i == "boolean") return i ? ".T." : ".F.";
4517
4548
  if (typeof i == "number") return Number.isFinite(i) ? Number.isInteger(i) ? String(i) : Z(i) : "$";
4518
- if (Array.isArray(i)) return `(${i.map(Se).join(",")})`;
4549
+ if (Array.isArray(i)) return `(${i.map(Ne).join(",")})`;
4519
4550
  const t = String(i).trim();
4520
- return t === "$" || t === "*" || /^#\d+$/.test(t) ? t : /^\.[A-Z0-9_]+\.$/i.test(t) ? t.toUpperCase() : `'${et(String(i))}'`;
4551
+ return t === "$" || t === "*" || /^#\d+$/.test(t) ? t : /^\.[A-Z0-9_]+\.$/i.test(t) ? t.toUpperCase() : `'${rt(String(i))}'`;
4521
4552
  }
4522
4553
  function ms(i) {
4523
- return i.map(Se).join(",");
4554
+ return i.map(Ne).join(",");
4524
4555
  }
4525
4556
  function nn(i) {
4526
4557
  const t = [];
@@ -4585,187 +4616,187 @@ let __tla = Promise.all([
4585
4616
  export(t) {
4586
4617
  const e = [];
4587
4618
  let n = 0, s = 0;
4588
- const r = t.schema || this.dataStore.schemaVersion || "IFC4", a = this.dataStore.schemaVersion || "IFC4", c = Re(a, r);
4619
+ const r = t.schema || this.dataStore.schemaVersion || "IFC4", a = this.dataStore.schemaVersion || "IFC4", c = Se(a, r);
4589
4620
  if (r === "IFC2X3" && t.applyMutations !== !1 && t.georefMutations && (Object.keys(t.georefMutations.projectedCRS ?? {}).length > 0 || Object.keys(t.georefMutations.mapConversion ?? {}).length > 0)) throw new Error("Georeferencing creation and editing requires IFC4 or newer. IFC2X3 does not support IfcProjectedCRS or IfcMapConversion.");
4590
- const l = me({
4621
+ const l = be({
4591
4622
  schema: r,
4592
4623
  description: t.description || "Exported from ifc-lite",
4593
4624
  author: t.author || "",
4594
4625
  organization: t.organization || "",
4595
4626
  application: t.application || "ifc-lite",
4596
4627
  filename: t.filename || "export.ifc"
4597
- }), d = new Set, _ = new Map, f = new Map, p = [], g = [], u = new Map, y = new Map, m = new Set, C = new Map, N = new Set, T = new Set;
4628
+ }), d = new Set, f = new Map, _ = new Map, p = [], g = [], u = new Map, h = new Map, m = new Set, w = new Map, C = new Set, A = new Set;
4598
4629
  if (this.mutationView && t.applyMutations !== !1) {
4599
- const h = this.mutationView.getMutations(), F = new Map, S = new Map;
4600
- for (const I of h){
4601
- if (I.type === "UPDATE_ATTRIBUTE" && I.attributeName) {
4602
- d.add(I.entityId), f.has(I.entityId) || f.set(I.entityId, new Map), f.get(I.entityId).set(I.attributeName, I.newValue == null ? "" : String(I.newValue));
4630
+ const E = this.mutationView.getMutations(), N = new Map, S = new Map;
4631
+ for (const y of E){
4632
+ if (y.type === "UPDATE_ATTRIBUTE" && y.attributeName) {
4633
+ d.add(y.entityId), _.has(y.entityId) || _.set(y.entityId, new Map), _.get(y.entityId).set(y.attributeName, y.newValue == null ? "" : String(y.newValue));
4603
4634
  continue;
4604
4635
  }
4605
- if (!I.psetName) continue;
4606
- const x = I.type === "CREATE_QUANTITY" || I.type === "UPDATE_QUANTITY" || I.type === "DELETE_QUANTITY" ? S : F;
4607
- x.has(I.entityId) || x.set(I.entityId, new Set), x.get(I.entityId).add(I.psetName);
4636
+ if (!y.psetName) continue;
4637
+ const I = y.type === "CREATE_QUANTITY" || y.type === "UPDATE_QUANTITY" || y.type === "DELETE_QUANTITY" ? S : N;
4638
+ I.has(y.entityId) || I.set(y.entityId, new Set), I.get(y.entityId).add(y.psetName);
4608
4639
  }
4609
- const E = this.buildRelDefinesByPropertiesIndex();
4610
- for (const [I, w] of F){
4611
- d.add(I), _.set(I, w), s++;
4612
- const z = this.mutationView.getForEntity(I).filter((X)=>w.has(X.name)), P = new Set;
4613
- z.length > 0 && p.push({
4614
- entityId: I,
4615
- psets: z
4640
+ const b = this.buildRelDefinesByPropertiesIndex();
4641
+ for (const [y, T] of N){
4642
+ d.add(y), f.set(y, T), s++;
4643
+ const M = this.mutationView.getForEntity(y).filter((H)=>T.has(H.name)), R = new Set;
4644
+ M.length > 0 && p.push({
4645
+ entityId: y,
4646
+ psets: M
4616
4647
  });
4617
- const H = E.get(I);
4618
- if (H) for (const { relId: X, psetId: k } of H){
4619
- const W = this.getPropertySetName(k);
4620
- if (W && P.add(W), W && w.has(W)) {
4621
- T.add(X), N.add(k);
4622
- const J = this.getPropertyIdsInSet(k);
4623
- for (const _t of J)N.add(_t);
4648
+ const j = b.get(y);
4649
+ if (j) for (const { relId: H, psetId: k } of j){
4650
+ const Y = this.getPropertySetName(k);
4651
+ if (Y && R.add(Y), Y && T.has(Y)) {
4652
+ A.add(H), C.add(k);
4653
+ const W = this.getPropertyIdsInSet(k);
4654
+ for (const at of W)C.add(at);
4624
4655
  }
4625
4656
  }
4626
- if (this.isTypeEntity(I)) {
4627
- const X = this.getTypeOwnedHasPropertySetIds(I), k = new Set;
4628
- for (const W of X){
4629
- const J = this.getPropertySetName(W);
4630
- if (!J || !w.has(J)) continue;
4631
- k.add(J), N.add(W);
4632
- const _t = this.getPropertyIdsInSet(W);
4633
- for (const nt of _t)N.add(nt);
4657
+ if (this.isTypeEntity(y)) {
4658
+ const H = this.getTypeOwnedHasPropertySetIds(y), k = new Set;
4659
+ for (const Y of H){
4660
+ const W = this.getPropertySetName(Y);
4661
+ if (!W || !T.has(W)) continue;
4662
+ k.add(W), C.add(Y);
4663
+ const at = this.getPropertyIdsInSet(Y);
4664
+ for (const q of at)C.add(q);
4634
4665
  }
4635
- for (const W of w)P.has(W) || k.add(W);
4636
- k.size > 0 && (u.set(I, k), y.set(I, X), m.add(I));
4666
+ for (const Y of T)R.has(Y) || k.add(Y);
4667
+ k.size > 0 && (u.set(y, k), h.set(y, H), m.add(y));
4637
4668
  }
4638
4669
  }
4639
4670
  t.includeQuantities === !1 && S.clear();
4640
- for (const [I, w] of S){
4641
- d.add(I), _.has(I) || s++;
4642
- const z = this.mutationView.getQuantitiesForEntity(I).filter((H)=>w.has(H.name));
4643
- z.length > 0 && g.push({
4644
- entityId: I,
4645
- qsets: z
4671
+ for (const [y, T] of S){
4672
+ d.add(y), f.has(y) || s++;
4673
+ const M = this.mutationView.getQuantitiesForEntity(y).filter((j)=>T.has(j.name));
4674
+ M.length > 0 && g.push({
4675
+ entityId: y,
4676
+ qsets: M
4646
4677
  });
4647
- const P = E.get(I);
4648
- if (P) for (const { relId: H, psetId: X } of P){
4649
- const k = this.getElementQuantityName(X);
4650
- if (k && w.has(k)) {
4651
- T.add(H), N.add(X);
4652
- const W = this.getPropertyIdsInSet(X);
4653
- for (const J of W)N.add(J);
4678
+ const R = b.get(y);
4679
+ if (R) for (const { relId: j, psetId: H } of R){
4680
+ const k = this.getElementQuantityName(H);
4681
+ if (k && T.has(k)) {
4682
+ A.add(j), C.add(H);
4683
+ const Y = this.getPropertyIdsInSet(H);
4684
+ for (const W of Y)C.add(W);
4654
4685
  }
4655
4686
  }
4656
4687
  }
4657
- for (const [I] of f)!F.has(I) && !S.has(I) && s++;
4688
+ for (const [y] of _)!N.has(y) && !S.has(y) && s++;
4658
4689
  }
4659
- const B = [];
4690
+ const P = [];
4660
4691
  if (t.applyMutations !== !1 && t.georefMutations) {
4661
- const h = t.georefMutations, F = this.dataStore.entityIndex.byType.get("IFCPROJECTEDCRS"), S = this.dataStore.entityIndex.byType.get("IFCMAPCONVERSION");
4662
- if (h.projectedCRS && F?.length) {
4663
- const E = F[0];
4664
- f.has(E) || f.set(E, new Map);
4665
- const I = f.get(E), w = h.projectedCRS;
4666
- let x = !1;
4667
- if (w.name !== void 0 && (I.set("Name", String(w.name)), x = !0), w.description !== void 0 && (I.set("Description", String(w.description)), x = !0), w.geodeticDatum !== void 0 && (I.set("GeodeticDatum", String(w.geodeticDatum)), x = !0), w.verticalDatum !== void 0 && (I.set("VerticalDatum", String(w.verticalDatum)), x = !0), w.mapProjection !== void 0 && (I.set("MapProjection", String(w.mapProjection)), x = !0), w.mapZone !== void 0 && (I.set("MapZone", String(w.mapZone)), x = !0), w.mapUnit !== void 0) {
4668
- const z = this.resolveMapUnitReference(String(w.mapUnit), B);
4669
- I.set("MapUnit", `#${z}`), x = !0;
4692
+ const E = t.georefMutations, N = this.dataStore.entityIndex.byType.get("IFCPROJECTEDCRS"), S = this.dataStore.entityIndex.byType.get("IFCMAPCONVERSION");
4693
+ if (E.projectedCRS && N?.length) {
4694
+ const b = N[0];
4695
+ _.has(b) || _.set(b, new Map);
4696
+ const y = _.get(b), T = E.projectedCRS;
4697
+ let I = !1;
4698
+ if (T.name !== void 0 && (y.set("Name", String(T.name)), I = !0), T.description !== void 0 && (y.set("Description", String(T.description)), I = !0), T.geodeticDatum !== void 0 && (y.set("GeodeticDatum", String(T.geodeticDatum)), I = !0), T.verticalDatum !== void 0 && (y.set("VerticalDatum", String(T.verticalDatum)), I = !0), T.mapProjection !== void 0 && (y.set("MapProjection", String(T.mapProjection)), I = !0), T.mapZone !== void 0 && (y.set("MapZone", String(T.mapZone)), I = !0), T.mapUnit !== void 0) {
4699
+ const M = this.resolveMapUnitReference(String(T.mapUnit), P);
4700
+ y.set("MapUnit", `#${M}`), I = !0;
4670
4701
  }
4671
- x && !d.has(E) && (d.add(E), s++);
4702
+ I && !d.has(b) && (d.add(b), s++);
4672
4703
  }
4673
- if (h.mapConversion && S?.length) {
4674
- const E = S[0];
4675
- f.has(E) || f.set(E, new Map);
4676
- const I = f.get(E), w = h.mapConversion;
4677
- let x = !1;
4678
- w.eastings !== void 0 && (I.set("Eastings", String(w.eastings)), x = !0), w.northings !== void 0 && (I.set("Northings", String(w.northings)), x = !0), w.orthogonalHeight !== void 0 && (I.set("OrthogonalHeight", String(w.orthogonalHeight)), x = !0), w.xAxisAbscissa !== void 0 && (I.set("XAxisAbscissa", String(w.xAxisAbscissa)), x = !0), w.xAxisOrdinate !== void 0 && (I.set("XAxisOrdinate", String(w.xAxisOrdinate)), x = !0), w.scale !== void 0 && (I.set("Scale", String(w.scale)), x = !0), x && !d.has(E) && (d.add(E), s++);
4704
+ if (E.mapConversion && S?.length) {
4705
+ const b = S[0];
4706
+ _.has(b) || _.set(b, new Map);
4707
+ const y = _.get(b), T = E.mapConversion;
4708
+ let I = !1;
4709
+ T.eastings !== void 0 && (y.set("Eastings", String(T.eastings)), I = !0), T.northings !== void 0 && (y.set("Northings", String(T.northings)), I = !0), T.orthogonalHeight !== void 0 && (y.set("OrthogonalHeight", String(T.orthogonalHeight)), I = !0), T.xAxisAbscissa !== void 0 && (y.set("XAxisAbscissa", String(T.xAxisAbscissa)), I = !0), T.xAxisOrdinate !== void 0 && (y.set("XAxisOrdinate", String(T.xAxisOrdinate)), I = !0), T.scale !== void 0 && (y.set("Scale", String(T.scale)), I = !0), I && !d.has(b) && (d.add(b), s++);
4679
4710
  }
4680
- if (h.projectedCRS && !F?.length) {
4681
- const E = h.projectedCRS, I = this.nextExpressId++, w = E.name ? `'${et(String(E.name))}'` : "$", x = E.description ? `'${et(String(E.description))}'` : "$", z = E.geodeticDatum ? `'${et(String(E.geodeticDatum))}'` : "$", P = E.verticalDatum ? `'${et(String(E.verticalDatum))}'` : "$", H = E.mapProjection ? `'${et(String(E.mapProjection))}'` : "$", X = E.mapZone ? `'${et(String(E.mapZone))}'` : "$", k = E.mapUnit ? `#${this.resolveMapUnitReference(String(E.mapUnit), B)}` : "$";
4682
- B.push(`#${I}=IFCPROJECTEDCRS(${w},${x},${z},${P},${H},${X},${k});`), n++;
4683
- const W = this.findPreferredGeometricRepresentationContextId();
4684
- if (W) {
4685
- const J = h.mapConversion || {}, _t = this.nextExpressId++, nt = Z(Number(J.eastings) || 0), ot = Z(Number(J.northings) || 0), ht = Z(Number(J.orthogonalHeight) || 0), Kt = J.xAxisAbscissa !== void 0 ? Z(Number(J.xAxisAbscissa)) : "$", St = J.xAxisOrdinate !== void 0 ? Z(Number(J.xAxisOrdinate)) : "$", oe = J.scale !== void 0 ? Z(Number(J.scale)) : "$";
4686
- B.push(`#${_t}=IFCMAPCONVERSION(#${W},#${I},${nt},${ot},${ht},${Kt},${St},${oe});`), n++;
4711
+ if (E.projectedCRS && !N?.length) {
4712
+ const b = E.projectedCRS, y = this.nextExpressId++, T = b.name ? `'${rt(String(b.name))}'` : "$", I = b.description ? `'${rt(String(b.description))}'` : "$", M = b.geodeticDatum ? `'${rt(String(b.geodeticDatum))}'` : "$", R = b.verticalDatum ? `'${rt(String(b.verticalDatum))}'` : "$", j = b.mapProjection ? `'${rt(String(b.mapProjection))}'` : "$", H = b.mapZone ? `'${rt(String(b.mapZone))}'` : "$", k = b.mapUnit ? `#${this.resolveMapUnitReference(String(b.mapUnit), P)}` : "$";
4713
+ P.push(`#${y}=IFCPROJECTEDCRS(${T},${I},${M},${R},${j},${H},${k});`), n++;
4714
+ const Y = this.findPreferredGeometricRepresentationContextId();
4715
+ if (Y) {
4716
+ const W = E.mapConversion || {}, at = this.nextExpressId++, q = Z(Number(W.eastings) || 0), st = Z(Number(W.northings) || 0), ut = Z(Number(W.orthogonalHeight) || 0), lt = W.xAxisAbscissa !== void 0 ? Z(Number(W.xAxisAbscissa)) : "$", dt = W.xAxisOrdinate !== void 0 ? Z(Number(W.xAxisOrdinate)) : "$", pt = W.scale !== void 0 ? Z(Number(W.scale)) : "$";
4717
+ P.push(`#${at}=IFCMAPCONVERSION(#${Y},#${y},${q},${st},${ut},${lt},${dt},${pt});`), n++;
4687
4718
  } else console.warn("[StepExporter] Cannot create IfcMapConversion: no IfcGeometricRepresentationContext found in source file");
4688
- } else if (h.mapConversion && !S?.length && F?.length) {
4689
- const E = this.findPreferredGeometricRepresentationContextId();
4690
- if (E) {
4691
- const I = h.mapConversion, w = this.nextExpressId++, x = Z(Number(I.eastings) || 0), z = Z(Number(I.northings) || 0), P = Z(Number(I.orthogonalHeight) || 0), H = I.xAxisAbscissa !== void 0 ? Z(Number(I.xAxisAbscissa)) : "$", X = I.xAxisOrdinate !== void 0 ? Z(Number(I.xAxisOrdinate)) : "$", k = I.scale !== void 0 ? Z(Number(I.scale)) : "$";
4692
- B.push(`#${w}=IFCMAPCONVERSION(#${E},#${F[0]},${x},${z},${P},${H},${X},${k});`), n++;
4719
+ } else if (E.mapConversion && !S?.length && N?.length) {
4720
+ const b = this.findPreferredGeometricRepresentationContextId();
4721
+ if (b) {
4722
+ const y = E.mapConversion, T = this.nextExpressId++, I = Z(Number(y.eastings) || 0), M = Z(Number(y.northings) || 0), R = Z(Number(y.orthogonalHeight) || 0), j = y.xAxisAbscissa !== void 0 ? Z(Number(y.xAxisAbscissa)) : "$", H = y.xAxisOrdinate !== void 0 ? Z(Number(y.xAxisOrdinate)) : "$", k = y.scale !== void 0 ? Z(Number(y.scale)) : "$";
4723
+ P.push(`#${T}=IFCMAPCONVERSION(#${b},#${N[0]},${I},${M},${R},${j},${H},${k});`), n++;
4693
4724
  } else console.warn("[StepExporter] Cannot create IfcMapConversion: no IfcGeometricRepresentationContext found in source file");
4694
4725
  }
4695
4726
  }
4696
- const G = this.mutationView && t.applyMutations !== !1 && typeof this.mutationView.getNewEntities == "function" ? this.mutationView.getNewEntities().length : 0;
4697
- if (t.deltaOnly && d.size === 0 && G === 0 && B.length === 0) {
4698
- const h = new TextEncoder().encode(l + `DATA;
4727
+ const z = this.mutationView && t.applyMutations !== !1 && typeof this.mutationView.getNewEntities == "function" ? this.mutationView.getNewEntities().length : 0;
4728
+ if (t.deltaOnly && d.size === 0 && z === 0 && P.length === 0) {
4729
+ const E = new TextEncoder().encode(l + `DATA;
4699
4730
  ENDSEC;
4700
4731
  END-ISO-10303-21;
4701
4732
  `);
4702
4733
  return {
4703
- content: h,
4734
+ content: E,
4704
4735
  stats: {
4705
4736
  entityCount: 0,
4706
4737
  newEntityCount: 0,
4707
4738
  modifiedEntityCount: 0,
4708
- fileSize: h.byteLength
4739
+ fileSize: E.byteLength
4709
4740
  }
4710
4741
  };
4711
4742
  }
4712
- let b = null;
4743
+ let x = null;
4713
4744
  if (t.visibleOnly && this.dataStore.source) {
4714
- const { roots: h, hiddenProductIds: F } = Te(this.dataStore, t.hiddenEntityIds ?? new Set, t.isolatedEntityIds ?? null);
4715
- b = Ce(h, this.dataStore.source, this.dataStore.entityIndex.byId, F), Fe(b, this.dataStore.source, this.dataStore.entityIndex);
4745
+ const { roots: E, hiddenProductIds: N } = Fe(this.dataStore, t.hiddenEntityIds ?? new Set, t.isolatedEntityIds ?? null);
4746
+ x = Te(E, this.dataStore.source, this.dataStore.entityIndex.byId, N), Re(x, this.dataStore.source, this.dataStore.entityIndex);
4716
4747
  }
4717
4748
  if (!t.deltaOnly && this.dataStore.source) {
4718
- const h = new TextDecoder, F = this.dataStore.source, S = !!this.mutationView && t.applyMutations !== !1;
4719
- for (const [E, I] of this.dataStore.entityIndex.byId){
4720
- if (S && typeof this.mutationView.isDeleted == "function" && this.mutationView.isDeleted(E) || I.byteLength === 0 || I.byteOffset < 0 || b !== null && !b.has(E) || N.has(E) || T.has(E) || m.has(E)) continue;
4721
- const w = I.type.toUpperCase();
4722
- if (t.includeGeometry === !1 && this.isGeometryEntity(w)) continue;
4723
- const x = h.decode(F.subarray(I.byteOffset, I.byteOffset + I.byteLength));
4724
- let z = f.has(E) ? this.applyAttributeMutations(x, w, f.get(E)) : x;
4725
- const P = S && typeof this.mutationView.getPositionalMutationsForEntity == "function" ? this.mutationView.getPositionalMutationsForEntity(E) : null;
4726
- if (P && P.size > 0 && (z = this.applyPositionalMutations(z, P), d.has(E) || (d.add(E), s++)), c) {
4727
- const H = ie(z, a, r);
4728
- H !== null && e.push(H);
4729
- } else e.push(z);
4749
+ const E = this.dataStore.source, N = !!this.mutationView && t.applyMutations !== !1;
4750
+ for (const [S, b] of this.dataStore.entityIndex.byId){
4751
+ if (N && typeof this.mutationView.isDeleted == "function" && this.mutationView.isDeleted(S) || b.byteLength === 0 || b.byteOffset < 0 || x !== null && !x.has(S) || C.has(S) || A.has(S) || m.has(S)) continue;
4752
+ const y = b.type.toUpperCase();
4753
+ if (t.includeGeometry === !1 && this.isGeometryEntity(y)) continue;
4754
+ const T = tt(E, b.byteOffset, b.byteOffset + b.byteLength);
4755
+ let I = _.has(S) ? this.applyAttributeMutations(T, y, _.get(S)) : T;
4756
+ const M = N && typeof this.mutationView.getPositionalMutationsForEntity == "function" ? this.mutationView.getPositionalMutationsForEntity(S) : null;
4757
+ if (M && M.size > 0 && (I = this.applyPositionalMutations(I, M), d.has(S) || (d.add(S), s++)), c) {
4758
+ const R = ae(I, a, r);
4759
+ R !== null && e.push(R);
4760
+ } else e.push(I);
4730
4761
  }
4731
4762
  }
4732
- for (const { entityId: h, psets: F } of p){
4733
- const S = this.generatePropertySetEntities(h, F, u.get(h));
4763
+ for (const { entityId: E, psets: N } of p){
4764
+ const S = this.generatePropertySetEntities(E, N, u.get(E));
4734
4765
  e.push(...S.lines), n += S.count;
4735
- const E = u.get(h);
4736
- if (E && E.size > 0) {
4737
- const I = this.rewriteTypeEntityHasPropertySets(h, y.get(h) ?? [], E, S.generatedTypeOwnedPsetIds);
4738
- I && C.set(h, I);
4766
+ const b = u.get(E);
4767
+ if (b && b.size > 0) {
4768
+ const y = this.rewriteTypeEntityHasPropertySets(E, h.get(E) ?? [], b, S.generatedTypeOwnedPsetIds);
4769
+ y && w.set(E, y);
4739
4770
  }
4740
4771
  }
4741
- for (const [h, F] of u){
4742
- if (C.has(h)) continue;
4743
- const S = this.rewriteTypeEntityHasPropertySets(h, y.get(h) ?? [], F, new Map);
4744
- S && C.set(h, S);
4772
+ for (const [E, N] of u){
4773
+ if (w.has(E)) continue;
4774
+ const S = this.rewriteTypeEntityHasPropertySets(E, h.get(E) ?? [], N, new Map);
4775
+ S && w.set(E, S);
4745
4776
  }
4746
- for (const { entityId: h, qsets: F } of g){
4747
- const S = this.generateQuantitySetEntities(h, F);
4777
+ for (const { entityId: E, qsets: N } of g){
4778
+ const S = this.generateQuantitySetEntities(E, N);
4748
4779
  e.push(...S.lines), n += S.count;
4749
4780
  }
4750
- for (const h of C.values())e.push(h);
4751
- for (const h of B)e.push(h);
4752
- if (this.mutationView && t.applyMutations !== !1 && typeof this.mutationView.getNewEntities == "function") for (const h of this.mutationView.getNewEntities()){
4753
- const F = h.type.toUpperCase();
4754
- if (t.includeGeometry === !1 && this.isGeometryEntity(F) || b !== null && !b.has(h.expressId)) continue;
4755
- const S = `#${h.expressId}=${F}(${ms(h.attributes)});`;
4781
+ for (const E of w.values())e.push(E);
4782
+ for (const E of P)e.push(E);
4783
+ if (this.mutationView && t.applyMutations !== !1 && typeof this.mutationView.getNewEntities == "function") for (const E of this.mutationView.getNewEntities()){
4784
+ const N = E.type.toUpperCase();
4785
+ if (t.includeGeometry === !1 && this.isGeometryEntity(N) || x !== null && !x.has(E.expressId)) continue;
4786
+ const S = `#${E.expressId}=${N}(${ms(E.attributes)});`;
4756
4787
  if (c) {
4757
- const E = ie(S, a, r);
4758
- E !== null && (e.push(E), n++);
4788
+ const b = ae(S, a, r);
4789
+ b !== null && (e.push(b), n++);
4759
4790
  } else e.push(S), n++;
4760
4791
  }
4761
- const A = ws(l, e);
4792
+ const v = ws(l, e);
4762
4793
  return {
4763
- content: A,
4794
+ content: v,
4764
4795
  stats: {
4765
4796
  entityCount: e.length,
4766
4797
  newEntityCount: n,
4767
4798
  modifiedEntityCount: s,
4768
- fileSize: A.byteLength
4799
+ fileSize: v.byteLength
4769
4800
  }
4770
4801
  };
4771
4802
  }
@@ -4806,18 +4837,18 @@ END-ISO-10303-21;
4806
4837
  for (const g of c.properties){
4807
4838
  const u = this.nextExpressId++;
4808
4839
  r++;
4809
- const y = un(g.value, g.type), m = g.unit ? this.findUnitId(g.unit) : null, C = m !== null ? bn(m) : null, N = `#${u}=IFCPROPERTYSINGLEVALUE('${et(g.name)}',$,${y},${C ? an(C) : "$"});`;
4810
- s.push(N), l.push(u);
4840
+ const h = un(g.value, g.type), m = g.unit ? this.findUnitId(g.unit) : null, w = m !== null ? bn(m) : null, C = `#${u}=IFCPROPERTYSINGLEVALUE('${rt(g.name)}',$,${h},${w ? an(w) : "$"});`;
4841
+ s.push(C), l.push(u);
4811
4842
  }
4812
4843
  const d = this.nextExpressId++;
4813
4844
  r++;
4814
- const _ = l.map((g)=>`#${g}`).join(","), f = this.generateGlobalId(), p = `#${d}=IFCPROPERTYSET('${f}',$,'${et(c.name)}',$,(${_}));`;
4845
+ const f = l.map((g)=>`#${g}`).join(","), _ = this.generateGlobalId(), p = `#${d}=IFCPROPERTYSET('${_}',$,'${rt(c.name)}',$,(${f}));`;
4815
4846
  if (s.push(p), n?.has(c.name)) a.set(c.name, d);
4816
4847
  else {
4817
4848
  const g = this.nextExpressId++;
4818
4849
  r++;
4819
- const u = this.generateGlobalId(), y = `#${g}=IFCRELDEFINESBYPROPERTIES('${u}',$,$,$,(#${t}),#${d});`;
4820
- s.push(y);
4850
+ const u = this.generateGlobalId(), h = `#${g}=IFCRELDEFINESBYPROPERTIES('${u}',$,$,$,(#${t}),#${d});`;
4851
+ s.push(h);
4821
4852
  }
4822
4853
  }
4823
4854
  return {
@@ -4832,18 +4863,18 @@ END-ISO-10303-21;
4832
4863
  for (const r of e){
4833
4864
  const a = [];
4834
4865
  for (const u of r.quantities){
4835
- const y = this.nextExpressId++;
4866
+ const h = this.nextExpressId++;
4836
4867
  s++;
4837
- const m = Is(u.type), C = Z(u.value), N = `#${y}=${m}('${et(u.name)}',$,$,${C},$);`;
4838
- n.push(N), a.push(y);
4868
+ const m = Is(u.type), w = Z(u.value), C = `#${h}=${m}('${rt(u.name)}',$,$,${w},$);`;
4869
+ n.push(C), a.push(h);
4839
4870
  }
4840
4871
  const c = this.nextExpressId++;
4841
4872
  s++;
4842
- const l = a.map((u)=>`#${u}`).join(","), d = this.generateGlobalId(), _ = `#${c}=IFCELEMENTQUANTITY('${d}',$,'${et(r.name)}',$,$,(${l}));`;
4843
- n.push(_);
4844
- const f = this.nextExpressId++;
4873
+ const l = a.map((u)=>`#${u}`).join(","), d = this.generateGlobalId(), f = `#${c}=IFCELEMENTQUANTITY('${d}',$,'${rt(r.name)}',$,$,(${l}));`;
4874
+ n.push(f);
4875
+ const _ = this.nextExpressId++;
4845
4876
  s++;
4846
- const p = this.generateGlobalId(), g = `#${f}=IFCRELDEFINESBYPROPERTIES('${p}',$,$,$,(#${t}),#${c});`;
4877
+ const p = this.generateGlobalId(), g = `#${_}=IFCRELDEFINESBYPROPERTIES('${p}',$,$,$,(#${t}),#${c});`;
4847
4878
  n.push(g);
4848
4879
  }
4849
4880
  return {
@@ -4858,9 +4889,9 @@ END-ISO-10303-21;
4858
4889
  if (a.length === 0) return t;
4859
4890
  const c = nn(t.slice(s + 1, r));
4860
4891
  let l = !1;
4861
- for (const [d, _] of n){
4862
- const f = a.indexOf(d);
4863
- f < 0 || f >= c.length || (c[f] = ys(_, c[f]), l = !0);
4892
+ for (const [d, f] of n){
4893
+ const _ = a.indexOf(d);
4894
+ _ < 0 || _ >= c.length || (c[_] = ys(f, c[_]), l = !0);
4864
4895
  }
4865
4896
  return l ? `${t.slice(0, s + 1)}${c.join(",")}${t.slice(r)}` : t;
4866
4897
  }
@@ -4869,7 +4900,7 @@ END-ISO-10303-21;
4869
4900
  if (n < 0 || s < n) return t;
4870
4901
  const r = nn(t.slice(n + 1, s));
4871
4902
  let a = !1;
4872
- for (const [c, l] of e)c < 0 || c >= r.length || (r[c] = Se(l), a = !0);
4903
+ for (const [c, l] of e)c < 0 || c >= r.length || (r[c] = Ne(l), a = !0);
4873
4904
  return a ? `${t.slice(0, n + 1)}${r.join(",")}${t.slice(s)}` : t;
4874
4905
  }
4875
4906
  resolveMapUnitReference(t, e) {
@@ -4880,8 +4911,8 @@ END-ISO-10303-21;
4880
4911
  return e.push(`#${a}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`), a;
4881
4912
  }
4882
4913
  if (n === "FOOT" || n === "US SURVEY FOOT") {
4883
- const a = this.nextExpressId++, c = this.nextExpressId++, l = this.nextExpressId++, d = this.nextExpressId++, _ = n === "US SURVEY FOOT" ? 1200 / 3937 : .3048, f = n === "US SURVEY FOOT" ? "US SURVEY FOOT" : "FOOT";
4884
- return e.push(`#${a}=IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0);`), e.push(`#${c}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`), e.push(`#${l}=IFCMEASUREWITHUNIT(IFCLENGTHMEASURE(${Z(_)}),#${c});`), e.push(`#${d}=IFCCONVERSIONBASEDUNIT(#${a},.LENGTHUNIT.,'${f}',#${l});`), d;
4914
+ const a = this.nextExpressId++, c = this.nextExpressId++, l = this.nextExpressId++, d = this.nextExpressId++, f = n === "US SURVEY FOOT" ? 1200 / 3937 : .3048, _ = n === "US SURVEY FOOT" ? "US SURVEY FOOT" : "FOOT";
4915
+ return e.push(`#${a}=IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0);`), e.push(`#${c}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`), e.push(`#${l}=IFCMEASUREWITHUNIT(IFCLENGTHMEASURE(${Z(f)}),#${c});`), e.push(`#${d}=IFCCONVERSIONBASEDUNIT(#${a},.LENGTHUNIT.,'${_}',#${l});`), d;
4885
4916
  }
4886
4917
  const r = this.nextExpressId++;
4887
4918
  return e.push(`#${r}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`), r;
@@ -4898,13 +4929,13 @@ END-ISO-10303-21;
4898
4929
  if (!Array.isArray(l)) return null;
4899
4930
  for (const d of l){
4900
4931
  if (typeof d != "number") continue;
4901
- const _ = this.dataStore.entityIndex.byId.get(d), f = _ ? this.entityExtractor.extractEntity(_) : null;
4902
- if (!f) continue;
4903
- const p = f.type.toUpperCase(), g = f.attributes ?? [];
4932
+ const f = this.dataStore.entityIndex.byId.get(d), _ = f ? this.entityExtractor.extractEntity(f) : null;
4933
+ if (!_) continue;
4934
+ const p = _.type.toUpperCase(), g = _.attributes ?? [];
4904
4935
  if ((typeof g[1] == "string" ? g[1].replace(/\./g, "").toUpperCase() : "") === "LENGTHUNIT") {
4905
4936
  if (p === "IFCSIUNIT") {
4906
- const y = typeof g[2] == "string" ? g[2].replace(/\./g, "").toUpperCase() : "", m = typeof g[3] == "string" ? g[3].replace(/\./g, "").toUpperCase() : "", C = y ? `${y}${m}` : m;
4907
- if (t === "METRE" && (C === "METRE" || C === "METER")) return d;
4937
+ const h = typeof g[2] == "string" ? g[2].replace(/\./g, "").toUpperCase() : "", m = typeof g[3] == "string" ? g[3].replace(/\./g, "").toUpperCase() : "", w = h ? `${h}${m}` : m;
4938
+ if (t === "METRE" && (w === "METRE" || w === "METER")) return d;
4908
4939
  }
4909
4940
  if (p === "IFCCONVERSIONBASEDUNIT" && (typeof g[2] == "string" ? this.normalizeMapUnitName(g[2]) : "") === t) return d;
4910
4941
  }
@@ -4987,38 +5018,38 @@ END-ISO-10303-21;
4987
5018
  getRelatedEntities(t) {
4988
5019
  const e = this.dataStore.entityIndex.byId.get(t);
4989
5020
  if (!e || !this.dataStore.source) return [];
4990
- const r = new TextDecoder().decode(this.dataStore.source.subarray(e.byteOffset, e.byteOffset + e.byteLength)).match(/\(([^)]+)\)\s*,\s*#(\d+)\s*\)\s*;/);
4991
- if (!r) return [];
4992
- const a = r[1], c = [], l = a.matchAll(/#(\d+)/g);
4993
- for (const d of l)c.push(parseInt(d[1], 10));
4994
- return c;
5021
+ const s = tt(this.dataStore.source, e.byteOffset, e.byteOffset + e.byteLength).match(/\(([^)]+)\)\s*,\s*#(\d+)\s*\)\s*;/);
5022
+ if (!s) return [];
5023
+ const r = s[1], a = [], c = r.matchAll(/#(\d+)/g);
5024
+ for (const l of c)a.push(parseInt(l[1], 10));
5025
+ return a;
4995
5026
  }
4996
5027
  getRelatedPropertySet(t) {
4997
5028
  const e = this.dataStore.entityIndex.byId.get(t);
4998
5029
  if (!e || !this.dataStore.source) return null;
4999
- const r = new TextDecoder().decode(this.dataStore.source.subarray(e.byteOffset, e.byteOffset + e.byteLength)).match(/,\s*#(\d+)\s*\)\s*;$/);
5000
- return r ? parseInt(r[1], 10) : null;
5030
+ const s = tt(this.dataStore.source, e.byteOffset, e.byteOffset + e.byteLength).match(/,\s*#(\d+)\s*\)\s*;$/);
5031
+ return s ? parseInt(s[1], 10) : null;
5001
5032
  }
5002
5033
  getPropertySetName(t) {
5003
5034
  const e = this.dataStore.entityIndex.byId.get(t);
5004
5035
  if (!e || !this.dataStore.source) return null;
5005
- const r = new TextDecoder().decode(this.dataStore.source.subarray(e.byteOffset, e.byteOffset + e.byteLength)).match(/IFCPROPERTYSET\s*\([^,]*,[^,]*,'([^']*)'/i);
5006
- return r ? r[1] : null;
5036
+ const s = tt(this.dataStore.source, e.byteOffset, e.byteOffset + e.byteLength).match(/IFCPROPERTYSET\s*\([^,]*,[^,]*,'([^']*)'/i);
5037
+ return s ? s[1] : null;
5007
5038
  }
5008
5039
  getElementQuantityName(t) {
5009
5040
  const e = this.dataStore.entityIndex.byId.get(t);
5010
5041
  if (!e || !this.dataStore.source) return null;
5011
- const r = new TextDecoder().decode(this.dataStore.source.subarray(e.byteOffset, e.byteOffset + e.byteLength)).match(/IFCELEMENTQUANTITY\s*\([^,]*,[^,]*,'([^']*)'/i);
5012
- return r ? r[1] : null;
5042
+ const s = tt(this.dataStore.source, e.byteOffset, e.byteOffset + e.byteLength).match(/IFCELEMENTQUANTITY\s*\([^,]*,[^,]*,'([^']*)'/i);
5043
+ return s ? s[1] : null;
5013
5044
  }
5014
5045
  getPropertyIdsInSet(t) {
5015
5046
  const e = this.dataStore.entityIndex.byId.get(t);
5016
5047
  if (!e || !this.dataStore.source) return [];
5017
- const r = new TextDecoder().decode(this.dataStore.source.subarray(e.byteOffset, e.byteOffset + e.byteLength)).match(/\(\s*(#[^)]+)\s*\)\s*\)\s*;$/);
5018
- if (!r) return [];
5019
- const a = r[1], c = [], l = a.matchAll(/#(\d+)/g);
5020
- for (const d of l)c.push(parseInt(d[1], 10));
5021
- return c;
5048
+ const s = tt(this.dataStore.source, e.byteOffset, e.byteOffset + e.byteLength).match(/\(\s*(#[^)]+)\s*\)\s*\)\s*;$/);
5049
+ if (!s) return [];
5050
+ const r = s[1], a = [], c = r.matchAll(/#(\d+)/g);
5051
+ for (const l of c)a.push(parseInt(l[1], 10));
5052
+ return a;
5022
5053
  }
5023
5054
  isTypeEntity(t) {
5024
5055
  return this.dataStore.entityIndex.byId.get(t)?.type.toUpperCase().endsWith("TYPE") ?? !1;
@@ -5035,8 +5066,8 @@ END-ISO-10303-21;
5035
5066
  for (const l of e){
5036
5067
  const d = this.getPropertySetName(l);
5037
5068
  if (d && n.has(d)) {
5038
- const _ = s.get(d);
5039
- _ !== void 0 && (r.push(_), a.add(d));
5069
+ const f = s.get(d);
5070
+ f !== void 0 && (r.push(f), a.add(d));
5040
5071
  continue;
5041
5072
  }
5042
5073
  r.push(l);
@@ -5048,10 +5079,10 @@ END-ISO-10303-21;
5048
5079
  replaceEntityAttribute(t, e, n) {
5049
5080
  const s = this.dataStore.entityIndex.byId.get(t);
5050
5081
  if (!s || !this.dataStore.source) return null;
5051
- const c = new TextDecoder().decode(this.dataStore.source.subarray(s.byteOffset, s.byteOffset + s.byteLength)).match(/^(#\d+\s*=\s*\w+\()([\s\S]*)(\)\s*;)\s*$/);
5052
- if (!c) return null;
5053
- const [, l, d, _] = c, f = bs(d);
5054
- return e >= f.length ? null : (f[e] = n, `${l}${f.join(",")}${_}`);
5082
+ const a = tt(this.dataStore.source, s.byteOffset, s.byteOffset + s.byteLength).match(/^(#\d+\s*=\s*\w+\()([\s\S]*)(\)\s*;)\s*$/);
5083
+ if (!a) return null;
5084
+ const [, c, l, d] = a, f = bs(l);
5085
+ return e >= f.length ? null : (f[e] = n, `${c}${f.join(",")}${d}`);
5055
5086
  }
5056
5087
  };
5057
5088
  Ms = function(i, t) {
@@ -5069,11 +5100,11 @@ END-ISO-10303-21;
5069
5100
  `);
5070
5101
  let a = n.byteLength + s.byteLength;
5071
5102
  const c = new Array(t.length);
5072
- for(let _ = 0; _ < t.length; _++)c[_] = e.encode(t[_]), a += c[_].byteLength + r.byteLength;
5103
+ for(let f = 0; f < t.length; f++)c[f] = e.encode(t[f]), a += c[f].byteLength + r.byteLength;
5073
5104
  const l = new Uint8Array(a);
5074
5105
  let d = 0;
5075
5106
  l.set(n, d), d += n.byteLength;
5076
- for(let _ = 0; _ < c.length; _++)l.set(c[_], d), d += c[_].byteLength, l.set(r, d), d += r.byteLength;
5107
+ for(let f = 0; f < c.length; f++)l.set(c[f], d), d += c[f].byteLength, l.set(r, d), d += r.byteLength;
5077
5108
  return l.set(s, d), l;
5078
5109
  }
5079
5110
  const Cs = /#(\d+)/g, Ts = new Set([
@@ -5088,55 +5119,55 @@ END-ISO-10303-21;
5088
5119
  this.models = t;
5089
5120
  }
5090
5121
  export(t) {
5091
- const e = t.onProgress, n = t.schema || "IFC4", s = me({
5122
+ const e = t.onProgress, n = t.schema || "IFC4", s = be({
5092
5123
  schema: n,
5093
5124
  description: t.description || `Merged export of ${this.models.length} models from ifc-lite`,
5094
5125
  author: t.author || "",
5095
5126
  organization: t.organization || "",
5096
5127
  application: t.application || "ifc-lite",
5097
5128
  filename: t.filename || "merged.ifc"
5098
- }), r = [], a = new TextDecoder;
5099
- let c = 1;
5100
- const l = new Map;
5101
- for (const m of this.models){
5102
- l.set(m.id, c - 1);
5103
- let C = 0;
5104
- for (const [N] of m.dataStore.entityIndex.byId)N > C && (C = N);
5105
- c += C;
5106
- }
5107
- const d = this.models[0], _ = l.get(d.id), f = this.findInfrastructureEntities(d.dataStore), p = this.findEntitiesByType(d.dataStore, "IFCPROJECT"), g = this.buildSpatialLookup(d.dataStore, a);
5108
- let u = !0;
5109
- for (const m of this.models){
5110
- const C = l.get(m.id), N = m.dataStore.source;
5111
- if (!N || N.length === 0) continue;
5112
- let T = null;
5129
+ }), r = [];
5130
+ let a = 1;
5131
+ const c = new Map;
5132
+ for (const h of this.models){
5133
+ c.set(h.id, a - 1);
5134
+ let m = 0;
5135
+ for (const [w] of h.dataStore.entityIndex.byId)w > m && (m = w);
5136
+ a += m;
5137
+ }
5138
+ const l = this.models[0], d = c.get(l.id), f = this.findInfrastructureEntities(l.dataStore), _ = this.findEntitiesByType(l.dataStore, "IFCPROJECT"), p = this.buildSpatialLookup(l.dataStore);
5139
+ let g = !0;
5140
+ for (const h of this.models){
5141
+ const m = c.get(h.id), w = h.dataStore.source;
5142
+ if (!w || w.length === 0) continue;
5143
+ let C = null;
5113
5144
  if (t.visibleOnly) {
5114
- const b = t.hiddenEntityIdsByModel?.get(m.id) ?? new Set, A = t.isolatedEntityIdsByModel?.get(m.id) ?? null, { roots: h, hiddenProductIds: F } = Te(m.dataStore, b, A);
5115
- T = Ce(h, N, m.dataStore.entityIndex.byId, F), Fe(T, N, m.dataStore.entityIndex);
5145
+ const z = t.hiddenEntityIdsByModel?.get(h.id) ?? new Set, x = t.isolatedEntityIdsByModel?.get(h.id) ?? null, { roots: v, hiddenProductIds: E } = Fe(h.dataStore, z, x);
5146
+ C = Te(v, w, h.dataStore.entityIndex.byId, E), Re(C, w, h.dataStore.entityIndex);
5116
5147
  }
5117
- const B = new Map, G = new Set;
5118
- if (!u) {
5119
- const b = this.findEntitiesByType(m.dataStore, "IFCPROJECT");
5120
- if (p.length > 0) for (const h of b)B.set(h, p[0] + _), G.add(h);
5121
- const A = this.findInfrastructureEntities(m.dataStore);
5122
- for (const [h, F] of f){
5123
- const S = A.get(h);
5124
- S && F.length > 0 && S.length > 0 && (B.set(S[0], F[0] + _), G.add(S[0]));
5148
+ const A = new Map, P = new Set;
5149
+ if (!g) {
5150
+ const z = this.findEntitiesByType(h.dataStore, "IFCPROJECT");
5151
+ if (_.length > 0) for (const v of z)A.set(v, _[0] + d), P.add(v);
5152
+ const x = this.findInfrastructureEntities(h.dataStore);
5153
+ for (const [v, E] of f){
5154
+ const N = x.get(v);
5155
+ N && E.length > 0 && N.length > 0 && (A.set(N[0], E[0] + d), P.add(N[0]));
5125
5156
  }
5126
- this.unifySpatialEntities(m.dataStore, a, g, _, B, G), this.skipRedundantRelAggregates(m.dataStore, a, B, G);
5157
+ this.unifySpatialEntities(h.dataStore, p, d, A, P), this.skipRedundantRelAggregates(h.dataStore, A, P);
5127
5158
  }
5128
- for (const [b, A] of m.dataStore.entityIndex.byId){
5129
- if (T !== null && !T.has(b) || G.has(b)) continue;
5130
- const h = a.decode(N.subarray(A.byteOffset, A.byteOffset + A.byteLength));
5131
- let F;
5132
- C === 0 && B.size === 0 ? F = h : F = this.remapEntityText(h, C, B);
5133
- const S = m.dataStore.schemaVersion || "IFC4";
5134
- if (Re(S, n)) {
5135
- const E = ie(F, S, n);
5136
- E !== null && r.push(E);
5137
- } else r.push(F);
5159
+ for (const [z, x] of h.dataStore.entityIndex.byId){
5160
+ if (C !== null && !C.has(z) || P.has(z)) continue;
5161
+ const v = tt(w, x.byteOffset, x.byteOffset + x.byteLength);
5162
+ let E;
5163
+ m === 0 && A.size === 0 ? E = v : E = this.remapEntityText(v, m, A);
5164
+ const N = h.dataStore.schemaVersion || "IFC4";
5165
+ if (Se(N, n)) {
5166
+ const S = ae(E, N, n);
5167
+ S !== null && r.push(S);
5168
+ } else r.push(E);
5138
5169
  }
5139
- u = !1;
5170
+ g = !1;
5140
5171
  }
5141
5172
  e && e({
5142
5173
  phase: "assembling",
@@ -5144,109 +5175,109 @@ END-ISO-10303-21;
5144
5175
  entitiesProcessed: r.length,
5145
5176
  entitiesTotal: r.length
5146
5177
  });
5147
- const y = sn(s, r);
5178
+ const u = sn(s, r);
5148
5179
  return {
5149
- content: y,
5180
+ content: u,
5150
5181
  stats: {
5151
5182
  modelCount: this.models.length,
5152
5183
  totalEntityCount: r.length,
5153
- fileSize: y.byteLength
5184
+ fileSize: u.byteLength
5154
5185
  }
5155
5186
  };
5156
5187
  }
5157
5188
  async exportAsync(t) {
5158
- const e = t.onProgress, n = t.schema || "IFC4", s = me({
5189
+ const e = t.onProgress, n = t.schema || "IFC4", s = be({
5159
5190
  schema: n,
5160
5191
  description: t.description || `Merged export of ${this.models.length} models from ifc-lite`,
5161
5192
  author: t.author || "",
5162
5193
  organization: t.organization || "",
5163
5194
  application: t.application || "ifc-lite",
5164
5195
  filename: t.filename || "merged.ifc"
5165
- }), r = [], a = new TextDecoder;
5166
- let c = 0;
5167
- for (const T of this.models)c += T.dataStore.entityIndex.byId.size;
5168
- let l = 1;
5169
- const d = new Map;
5170
- for (const T of this.models){
5171
- d.set(T.id, l - 1);
5172
- let B = 0;
5173
- for (const [G] of T.dataStore.entityIndex.byId)G > B && (B = G);
5174
- l += B;
5175
- }
5176
- const _ = this.models[0], f = d.get(_.id), p = this.findInfrastructureEntities(_.dataStore), g = this.findEntitiesByType(_.dataStore, "IFCPROJECT"), u = this.buildSpatialLookup(_.dataStore, a);
5177
- let y = !0, m = 0;
5178
- const C = 2e3;
5196
+ }), r = [];
5197
+ let a = 0;
5198
+ for (const C of this.models)a += C.dataStore.entityIndex.byId.size;
5199
+ let c = 1;
5200
+ const l = new Map;
5201
+ for (const C of this.models){
5202
+ l.set(C.id, c - 1);
5203
+ let A = 0;
5204
+ for (const [P] of C.dataStore.entityIndex.byId)P > A && (A = P);
5205
+ c += A;
5206
+ }
5207
+ const d = this.models[0], f = l.get(d.id), _ = this.findInfrastructureEntities(d.dataStore), p = this.findEntitiesByType(d.dataStore, "IFCPROJECT"), g = this.buildSpatialLookup(d.dataStore);
5208
+ let u = !0, h = 0;
5209
+ const m = 2e3;
5179
5210
  e && e({
5180
5211
  phase: "preparing",
5181
5212
  percent: 0,
5182
5213
  entitiesProcessed: 0,
5183
- entitiesTotal: c
5214
+ entitiesTotal: a
5184
5215
  });
5185
- for (const T of this.models){
5186
- const B = d.get(T.id), G = T.dataStore.source;
5187
- if (!G || G.length === 0) continue;
5216
+ for (const C of this.models){
5217
+ const A = l.get(C.id), P = C.dataStore.source;
5218
+ if (!P || P.length === 0) continue;
5188
5219
  e && e({
5189
5220
  phase: "entities",
5190
- percent: c > 0 ? m / c * .85 : 0,
5191
- entitiesProcessed: m,
5192
- entitiesTotal: c,
5193
- currentModel: T.name
5221
+ percent: a > 0 ? h / a * .85 : 0,
5222
+ entitiesProcessed: h,
5223
+ entitiesTotal: a,
5224
+ currentModel: C.name
5194
5225
  });
5195
- let b = null;
5226
+ let z = null;
5196
5227
  if (t.visibleOnly) {
5197
- const S = t.hiddenEntityIdsByModel?.get(T.id) ?? new Set, E = t.isolatedEntityIdsByModel?.get(T.id) ?? null, { roots: I, hiddenProductIds: w } = Te(T.dataStore, S, E);
5198
- b = Ce(I, G, T.dataStore.entityIndex.byId, w), Fe(b, G, T.dataStore.entityIndex);
5228
+ const N = t.hiddenEntityIdsByModel?.get(C.id) ?? new Set, S = t.isolatedEntityIdsByModel?.get(C.id) ?? null, { roots: b, hiddenProductIds: y } = Fe(C.dataStore, N, S);
5229
+ z = Te(b, P, C.dataStore.entityIndex.byId, y), Re(z, P, C.dataStore.entityIndex);
5199
5230
  }
5200
- const A = new Map, h = new Set;
5201
- if (!y) {
5202
- const S = this.findEntitiesByType(T.dataStore, "IFCPROJECT");
5203
- if (g.length > 0) for (const I of S)A.set(I, g[0] + f), h.add(I);
5204
- const E = this.findInfrastructureEntities(T.dataStore);
5205
- for (const [I, w] of p){
5206
- const x = E.get(I);
5207
- x && w.length > 0 && x.length > 0 && (A.set(x[0], w[0] + f), h.add(x[0]));
5231
+ const x = new Map, v = new Set;
5232
+ if (!u) {
5233
+ const N = this.findEntitiesByType(C.dataStore, "IFCPROJECT");
5234
+ if (p.length > 0) for (const b of N)x.set(b, p[0] + f), v.add(b);
5235
+ const S = this.findInfrastructureEntities(C.dataStore);
5236
+ for (const [b, y] of _){
5237
+ const T = S.get(b);
5238
+ T && y.length > 0 && T.length > 0 && (x.set(T[0], y[0] + f), v.add(T[0]));
5208
5239
  }
5209
- this.unifySpatialEntities(T.dataStore, a, u, f, A, h), this.skipRedundantRelAggregates(T.dataStore, a, A, h);
5240
+ this.unifySpatialEntities(C.dataStore, g, f, x, v), this.skipRedundantRelAggregates(C.dataStore, x, v);
5210
5241
  }
5211
- let F = 0;
5212
- for (const [S, E] of T.dataStore.entityIndex.byId){
5213
- if (b !== null && !b.has(S) || h.has(S)) continue;
5214
- const I = a.decode(G.subarray(E.byteOffset, E.byteOffset + E.byteLength));
5215
- let w;
5216
- B === 0 && A.size === 0 ? w = I : w = this.remapEntityText(I, B, A);
5217
- const x = T.dataStore.schemaVersion || "IFC4";
5218
- if (Re(x, n)) {
5219
- const z = ie(w, x, n);
5220
- z !== null && r.push(z);
5221
- } else r.push(w);
5222
- F++, m++, F % C === 0 && (e && e({
5242
+ let E = 0;
5243
+ for (const [N, S] of C.dataStore.entityIndex.byId){
5244
+ if (z !== null && !z.has(N) || v.has(N)) continue;
5245
+ const b = tt(P, S.byteOffset, S.byteOffset + S.byteLength);
5246
+ let y;
5247
+ A === 0 && x.size === 0 ? y = b : y = this.remapEntityText(b, A, x);
5248
+ const T = C.dataStore.schemaVersion || "IFC4";
5249
+ if (Se(T, n)) {
5250
+ const I = ae(y, T, n);
5251
+ I !== null && r.push(I);
5252
+ } else r.push(y);
5253
+ E++, h++, E % m === 0 && (e && e({
5223
5254
  phase: "entities",
5224
- percent: c > 0 ? m / c * .85 : 0,
5225
- entitiesProcessed: m,
5226
- entitiesTotal: c,
5227
- currentModel: T.name
5228
- }), await new Promise((z)=>setTimeout(z, 0)));
5255
+ percent: a > 0 ? h / a * .85 : 0,
5256
+ entitiesProcessed: h,
5257
+ entitiesTotal: a,
5258
+ currentModel: C.name
5259
+ }), await new Promise((I)=>setTimeout(I, 0)));
5229
5260
  }
5230
- y = !1;
5261
+ u = !1;
5231
5262
  }
5232
5263
  e && e({
5233
5264
  phase: "assembling",
5234
5265
  percent: .9,
5235
- entitiesProcessed: c,
5236
- entitiesTotal: c
5237
- }), await new Promise((T)=>setTimeout(T, 0));
5238
- const N = sn(s, r);
5266
+ entitiesProcessed: a,
5267
+ entitiesTotal: a
5268
+ }), await new Promise((C)=>setTimeout(C, 0));
5269
+ const w = sn(s, r);
5239
5270
  return e && e({
5240
5271
  phase: "assembling",
5241
5272
  percent: 1,
5242
- entitiesProcessed: c,
5243
- entitiesTotal: c
5273
+ entitiesProcessed: a,
5274
+ entitiesTotal: a
5244
5275
  }), {
5245
- content: N,
5276
+ content: w,
5246
5277
  stats: {
5247
5278
  modelCount: this.models.length,
5248
5279
  totalEntityCount: r.length,
5249
- fileSize: N.byteLength
5280
+ fileSize: w.byteLength
5250
5281
  }
5251
5282
  };
5252
5283
  }
@@ -5269,8 +5300,8 @@ END-ISO-10303-21;
5269
5300
  findEntitiesByType(t, e) {
5270
5301
  return t.entityIndex.byType.get(e) ?? [];
5271
5302
  }
5272
- buildSpatialLookup(t, e) {
5273
- const n = {
5303
+ buildSpatialLookup(t) {
5304
+ const e = {
5274
5305
  sitesByName: new Map,
5275
5306
  buildingsByName: new Map,
5276
5307
  storeysByName: new Map,
@@ -5278,116 +5309,116 @@ END-ISO-10303-21;
5278
5309
  siteIds: [],
5279
5310
  buildingIds: []
5280
5311
  };
5281
- for (const s of this.findEntitiesByType(t, "IFCSITE")){
5282
- n.siteIds.push(s);
5283
- const r = this.extractEntityName(s, t, e);
5284
- r && n.sitesByName.set(r.toLowerCase(), s);
5285
- }
5286
- for (const s of this.findEntitiesByType(t, "IFCBUILDING")){
5287
- n.buildingIds.push(s);
5288
- const r = this.extractEntityName(s, t, e);
5289
- r && n.buildingsByName.set(r.toLowerCase(), s);
5290
- }
5291
- for (const s of this.findEntitiesByType(t, "IFCBUILDINGSTOREY")){
5292
- const r = this.extractEntityName(s, t, e);
5293
- r && n.storeysByName.set(r.toLowerCase(), s);
5294
- const a = this.extractStoreyElevation(s, t, e);
5295
- a !== void 0 && n.storeysByElevation.push({
5296
- expressId: s,
5297
- elevation: a
5312
+ for (const n of this.findEntitiesByType(t, "IFCSITE")){
5313
+ e.siteIds.push(n);
5314
+ const s = this.extractEntityName(n, t);
5315
+ s && e.sitesByName.set(s.toLowerCase(), n);
5316
+ }
5317
+ for (const n of this.findEntitiesByType(t, "IFCBUILDING")){
5318
+ e.buildingIds.push(n);
5319
+ const s = this.extractEntityName(n, t);
5320
+ s && e.buildingsByName.set(s.toLowerCase(), n);
5321
+ }
5322
+ for (const n of this.findEntitiesByType(t, "IFCBUILDINGSTOREY")){
5323
+ const s = this.extractEntityName(n, t);
5324
+ s && e.storeysByName.set(s.toLowerCase(), n);
5325
+ const r = this.extractStoreyElevation(n, t);
5326
+ r !== void 0 && e.storeysByElevation.push({
5327
+ expressId: n,
5328
+ elevation: r
5298
5329
  });
5299
5330
  }
5300
- return n;
5331
+ return e;
5301
5332
  }
5302
- unifySpatialEntities(t, e, n, s, r, a) {
5303
- const c = this.findEntitiesByType(t, "IFCSITE");
5304
- for (const _ of c){
5305
- const f = this.extractEntityName(_, t, e);
5306
- let p;
5307
- f && (p = n.sitesByName.get(f.toLowerCase())), p === void 0 && c.length === 1 && n.siteIds.length === 1 && (p = n.siteIds[0]), p !== void 0 && (r.set(_, p + s), a.add(_));
5308
- }
5309
- const l = this.findEntitiesByType(t, "IFCBUILDING");
5310
- for (const _ of l){
5311
- const f = this.extractEntityName(_, t, e);
5312
- let p;
5313
- f && (p = n.buildingsByName.get(f.toLowerCase())), p === void 0 && l.length === 1 && n.buildingIds.length === 1 && (p = n.buildingIds[0]), p !== void 0 && (r.set(_, p + s), a.add(_));
5314
- }
5315
- const d = new Set;
5316
- for (const _ of this.findEntitiesByType(t, "IFCBUILDINGSTOREY")){
5317
- const f = this.extractEntityName(_, t, e);
5318
- let p;
5333
+ unifySpatialEntities(t, e, n, s, r) {
5334
+ const a = this.findEntitiesByType(t, "IFCSITE");
5335
+ for (const d of a){
5336
+ const f = this.extractEntityName(d, t);
5337
+ let _;
5338
+ f && (_ = e.sitesByName.get(f.toLowerCase())), _ === void 0 && a.length === 1 && e.siteIds.length === 1 && (_ = e.siteIds[0]), _ !== void 0 && (s.set(d, _ + n), r.add(d));
5339
+ }
5340
+ const c = this.findEntitiesByType(t, "IFCBUILDING");
5341
+ for (const d of c){
5342
+ const f = this.extractEntityName(d, t);
5343
+ let _;
5344
+ f && (_ = e.buildingsByName.get(f.toLowerCase())), _ === void 0 && c.length === 1 && e.buildingIds.length === 1 && (_ = e.buildingIds[0]), _ !== void 0 && (s.set(d, _ + n), r.add(d));
5345
+ }
5346
+ const l = new Set;
5347
+ for (const d of this.findEntitiesByType(t, "IFCBUILDINGSTOREY")){
5348
+ const f = this.extractEntityName(d, t);
5349
+ let _;
5319
5350
  if (f) {
5320
- const g = n.storeysByName.get(f.toLowerCase());
5321
- g !== void 0 && !d.has(g) && (p = g);
5351
+ const p = e.storeysByName.get(f.toLowerCase());
5352
+ p !== void 0 && !l.has(p) && (_ = p);
5322
5353
  }
5323
- if (p === void 0) {
5324
- const g = this.extractStoreyElevation(_, t, e);
5325
- if (g !== void 0) for (const u of n.storeysByElevation){
5326
- if (d.has(u.expressId)) continue;
5327
- const y = Math.max(.5, Math.abs(u.elevation) * .01);
5328
- if (Math.abs(g - u.elevation) <= y) {
5329
- p = u.expressId;
5354
+ if (_ === void 0) {
5355
+ const p = this.extractStoreyElevation(d, t);
5356
+ if (p !== void 0) for (const g of e.storeysByElevation){
5357
+ if (l.has(g.expressId)) continue;
5358
+ const u = Math.max(.5, Math.abs(g.elevation) * .01);
5359
+ if (Math.abs(p - g.elevation) <= u) {
5360
+ _ = g.expressId;
5330
5361
  break;
5331
5362
  }
5332
5363
  }
5333
5364
  }
5334
- p !== void 0 && (d.add(p), r.set(_, p + s), a.add(_));
5335
- }
5336
- }
5337
- skipRedundantRelAggregates(t, e, n, s) {
5338
- for (const r of this.findEntitiesByType(t, "IFCRELAGGREGATES")){
5339
- const a = this.extractStepAttribute(r, t, e, 4);
5340
- if (!a) continue;
5341
- const c = a.match(/^#(\d+)$/);
5342
- if (!c || !n.has(parseInt(c[1], 10))) continue;
5343
- const l = this.extractStepAttribute(r, t, e, 5);
5344
- if (!l) continue;
5345
- const d = [], _ = /#(\d+)/g;
5365
+ _ !== void 0 && (l.add(_), s.set(d, _ + n), r.add(d));
5366
+ }
5367
+ }
5368
+ skipRedundantRelAggregates(t, e, n) {
5369
+ for (const s of this.findEntitiesByType(t, "IFCRELAGGREGATES")){
5370
+ const r = this.extractStepAttribute(s, t, 4);
5371
+ if (!r) continue;
5372
+ const a = r.match(/^#(\d+)$/);
5373
+ if (!a || !e.has(parseInt(a[1], 10))) continue;
5374
+ const c = this.extractStepAttribute(s, t, 5);
5375
+ if (!c) continue;
5376
+ const l = [], d = /#(\d+)/g;
5346
5377
  let f;
5347
- for(; (f = _.exec(l)) !== null;)d.push(parseInt(f[1], 10));
5348
- d.length !== 0 && d.every((p)=>n.has(p)) && s.add(r);
5378
+ for(; (f = d.exec(c)) !== null;)l.push(parseInt(f[1], 10));
5379
+ l.length !== 0 && l.every((_)=>e.has(_)) && n.add(s);
5349
5380
  }
5350
5381
  }
5351
- extractEntityName(t, e, n) {
5352
- const s = this.extractStepAttribute(t, e, n, 2);
5353
- if (!s || s === "$") return null;
5354
- if (s.startsWith("'") && s.endsWith("'")) {
5355
- const r = s.slice(1, -1).replace(/''/g, "'");
5356
- return En(r);
5382
+ extractEntityName(t, e) {
5383
+ const n = this.extractStepAttribute(t, e, 2);
5384
+ if (!n || n === "$") return null;
5385
+ if (n.startsWith("'") && n.endsWith("'")) {
5386
+ const s = n.slice(1, -1).replace(/''/g, "'");
5387
+ return En(s);
5357
5388
  }
5358
5389
  return null;
5359
5390
  }
5360
- extractStoreyElevation(t, e, n) {
5361
- const s = this.extractStepAttribute(t, e, n, 9);
5362
- if (!s || s === "$") return;
5363
- const r = s.match(/^[A-Z_]+\(([^)]+)\)$/i), a = r ? r[1] : s, c = parseFloat(a);
5364
- return isNaN(c) ? void 0 : c;
5391
+ extractStoreyElevation(t, e) {
5392
+ const n = this.extractStepAttribute(t, e, 9);
5393
+ if (!n || n === "$") return;
5394
+ const s = n.match(/^[A-Z_]+\(([^)]+)\)$/i), r = s ? s[1] : n, a = parseFloat(r);
5395
+ return isNaN(a) ? void 0 : a;
5365
5396
  }
5366
- extractStepAttribute(t, e, n, s) {
5367
- const r = e.source;
5397
+ extractStepAttribute(t, e, n) {
5398
+ const s = e.source;
5399
+ if (!s) return null;
5400
+ const r = e.entityIndex.byId.get(t);
5368
5401
  if (!r) return null;
5369
- const a = e.entityIndex.byId.get(t);
5370
- if (!a) return null;
5371
- const c = n.decode(r.subarray(a.byteOffset, a.byteOffset + a.byteLength)), l = c.indexOf("(");
5372
- if (l === -1) return null;
5373
- let d = 0, _ = 0, f = l + 1, p = !1;
5374
- for(let g = l + 1; g < c.length; g++){
5375
- const u = c[g];
5376
- if (u === "'" && !p) p = !0;
5377
- else if (u === "'" && p) {
5378
- if (g + 1 < c.length && c[g + 1] === "'") {
5379
- g++;
5402
+ const a = tt(s, r.byteOffset, r.byteOffset + r.byteLength), c = a.indexOf("(");
5403
+ if (c === -1) return null;
5404
+ let l = 0, d = 0, f = c + 1, _ = !1;
5405
+ for(let p = c + 1; p < a.length; p++){
5406
+ const g = a[p];
5407
+ if (g === "'" && !_) _ = !0;
5408
+ else if (g === "'" && _) {
5409
+ if (p + 1 < a.length && a[p + 1] === "'") {
5410
+ p++;
5380
5411
  continue;
5381
5412
  }
5382
- p = !1;
5383
- } else if (!p) {
5384
- if (u === "(") d++;
5385
- else if (u === ")") {
5386
- if (d === 0) return _ === s ? c.substring(f, g).trim() : null;
5387
- d--;
5388
- } else if (u === "," && d === 0) {
5389
- if (_ === s) return c.substring(f, g).trim();
5390
- _++, f = g + 1;
5413
+ _ = !1;
5414
+ } else if (!_) {
5415
+ if (g === "(") l++;
5416
+ else if (g === ")") {
5417
+ if (l === 0) return d === n ? a.substring(f, p).trim() : null;
5418
+ l--;
5419
+ } else if (g === "," && l === 0) {
5420
+ if (d === n) return a.substring(f, p).trim();
5421
+ d++, f = p + 1;
5391
5422
  }
5392
5423
  }
5393
5424
  }
@@ -5402,15 +5433,15 @@ END-ISO-10303-21;
5402
5433
  `);
5403
5434
  let a = n.byteLength + s.byteLength;
5404
5435
  const c = new Array(t.length);
5405
- for(let _ = 0; _ < t.length; _++)c[_] = e.encode(t[_]), a += c[_].byteLength + r.byteLength;
5436
+ for(let f = 0; f < t.length; f++)c[f] = e.encode(t[f]), a += c[f].byteLength + r.byteLength;
5406
5437
  const l = new Uint8Array(a);
5407
5438
  let d = 0;
5408
5439
  l.set(n, d), d += n.byteLength;
5409
- for(let _ = 0; _ < c.length; _++)l.set(c[_], d), d += c[_].byteLength, l.set(r, d), d += r.byteLength;
5440
+ for(let f = 0; f < c.length; f++)l.set(c[f], d), d += c[f].byteLength, l.set(r, d), d += r.byteLength;
5410
5441
  return l.set(s, d), l;
5411
5442
  }
5412
- let Ie;
5413
- Ie = {
5443
+ let ye;
5444
+ ye = {
5414
5445
  IFC_CORE: "https://ifcx.dev/@standards.buildingsmart.org/ifc/core/ifc@v5a.ifcx",
5415
5446
  IFC_PROP: "https://ifcx.dev/@standards.buildingsmart.org/ifc/core/prop@v5a.ifcx",
5416
5447
  USD: "https://ifcx.dev/@openusd.org/usd@v1.ifcx"
@@ -5451,51 +5482,51 @@ END-ISO-10303-21;
5451
5482
  this.buildEntityMaps();
5452
5483
  const n = this.buildMeshLookup(t), s = this.buildVisibleSet(t), r = t.onlyTreeEntities !== !1 ? this.buildTreeEntitySet() : null, a = [];
5453
5484
  let c = 0, l = 0;
5454
- const { entities: d, strings: _ } = this.dataStore;
5455
- let f = null;
5456
- for(let y = 0; y < d.count; y++){
5457
- const m = d.expressId[y];
5485
+ const { entities: d, strings: f } = this.dataStore;
5486
+ let _ = null;
5487
+ for(let h = 0; h < d.count; h++){
5488
+ const m = d.expressId[h];
5458
5489
  if (s && !s.has(m) || r && !r.has(m)) continue;
5459
- const C = d.typeEnum[y], N = be(C) || "IfcElement", T = fn(N.toUpperCase(), e, "IFC5"), B = Rs(T);
5460
- B === "IfcProject" && (f = m);
5461
- const G = this.entityUuids.get(m) || ye(m), b = {};
5462
- b["bsi::ifc::class"] = {
5463
- code: B,
5464
- uri: `https://identifier.buildingsmart.org/uri/buildingsmart/ifc/5/class/${B}`
5490
+ const w = d.typeEnum[h], C = Ee(w) || "IfcElement", A = fn(C.toUpperCase(), e, "IFC5"), P = Rs(A);
5491
+ P === "IfcProject" && (_ = m);
5492
+ const z = this.entityUuids.get(m) || me(m), x = {};
5493
+ x["bsi::ifc::class"] = {
5494
+ code: P,
5495
+ uri: `https://identifier.buildingsmart.org/uri/buildingsmart/ifc/5/class/${P}`
5465
5496
  };
5466
- const A = _.get(d.name[y]) || this.spatialNodeNames.get(m);
5467
- A && (b["bsi::ifc::prop::Name"] = A);
5468
- const h = _.get(d.description[y]);
5469
- if (h && (b["bsi::ifc::prop::Description"] = h), t.includeProperties !== !1) {
5470
- const E = this.getPropertiesForEntity(m, t);
5471
- for (const [I, w] of Object.entries(E))b[I] = w, c++;
5497
+ const v = f.get(d.name[h]) || this.spatialNodeNames.get(m);
5498
+ v && (x["bsi::ifc::prop::Name"] = v);
5499
+ const E = f.get(d.description[h]);
5500
+ if (E && (x["bsi::ifc::prop::Description"] = E), t.includeProperties !== !1) {
5501
+ const b = this.getPropertiesForEntity(m, t);
5502
+ for (const [y, T] of Object.entries(b))x[y] = T, c++;
5472
5503
  }
5473
- const F = {
5474
- path: G
5504
+ const N = {
5505
+ path: z
5475
5506
  }, S = this.getChildrenForEntity(m);
5476
- if (Object.keys(S).length > 0 && (F.children = S), t.includeGeometry !== !1) {
5477
- const E = n.get(m);
5478
- if (E && E.length > 0) {
5479
- const I = this.convertToUsdMesh(E);
5480
- b["usd::usdgeom::mesh"] = I;
5481
- const [w, x, z, P] = E[0].color;
5482
- b["bsi::ifc::presentation::diffuseColor"] = [
5483
- w,
5484
- x,
5485
- z
5486
- ], P < 1 && (b["bsi::ifc::presentation::opacity"] = P), l++;
5507
+ if (Object.keys(S).length > 0 && (N.children = S), t.includeGeometry !== !1) {
5508
+ const b = n.get(m);
5509
+ if (b && b.length > 0) {
5510
+ const y = this.convertToUsdMesh(b);
5511
+ x["usd::usdgeom::mesh"] = y;
5512
+ const [T, I, M, R] = b[0].color;
5513
+ x["bsi::ifc::presentation::diffuseColor"] = [
5514
+ T,
5515
+ I,
5516
+ M
5517
+ ], R < 1 && (x["bsi::ifc::presentation::opacity"] = R), l++;
5487
5518
  }
5488
5519
  }
5489
- Object.keys(b).length > 0 && (F.attributes = b), a.push(F);
5520
+ Object.keys(x).length > 0 && (N.attributes = x), a.push(N);
5490
5521
  }
5491
- if (f !== null) {
5492
- const y = this.entityUuids.get(f);
5493
- if (y) {
5494
- const m = this.childNames.get(f) || _.get(d.name[this.findEntityIndex(f)]) || "Project", C = ye(0);
5522
+ if (_ !== null) {
5523
+ const h = this.entityUuids.get(_);
5524
+ if (h) {
5525
+ const m = this.childNames.get(_) || f.get(d.name[this.findEntityIndex(_)]) || "Project", w = me(0);
5495
5526
  a.unshift({
5496
- path: C,
5527
+ path: w,
5497
5528
  children: {
5498
- [m]: y
5529
+ [m]: h
5499
5530
  },
5500
5531
  attributes: {}
5501
5532
  });
@@ -5532,18 +5563,18 @@ END-ISO-10303-21;
5532
5563
  const { spatialHierarchy: t, entities: e, strings: n } = this.dataStore;
5533
5564
  this.entityUuids.clear();
5534
5565
  for(let l = 0; l < e.count; l++){
5535
- const d = e.expressId[l], _ = n.get(e.globalId[l]);
5536
- this.entityUuids.set(d, _ || ye(d));
5566
+ const d = e.expressId[l], f = n.get(e.globalId[l]);
5567
+ this.entityUuids.set(d, f || me(d));
5537
5568
  }
5538
5569
  const s = new Map, r = (l, d)=>{
5539
- if (d) for (const _ of d)s.set(_, l);
5570
+ if (d) for (const f of d)s.set(f, l);
5540
5571
  };
5541
5572
  if (this.spatialChildIds.clear(), this.spatialNodeNames.clear(), t?.project) {
5542
5573
  const l = (d)=>{
5543
5574
  d.name && this.spatialNodeNames.set(d.expressId, d.name);
5544
- const _ = [];
5545
- for (const f of d.children)s.set(f.expressId, d.expressId), _.push(f.expressId), l(f);
5546
- this.spatialChildIds.set(d.expressId, _);
5575
+ const f = [];
5576
+ for (const _ of d.children)s.set(_.expressId, d.expressId), f.push(_.expressId), l(_);
5577
+ this.spatialChildIds.set(d.expressId, f);
5547
5578
  };
5548
5579
  l(t.project);
5549
5580
  }
@@ -5553,17 +5584,17 @@ END-ISO-10303-21;
5553
5584
  t.byBuilding,
5554
5585
  t.byStorey,
5555
5586
  t.bySpace
5556
- ])if (l) for (const [d, _] of l)r(d, _);
5587
+ ])if (l) for (const [d, f] of l)r(d, f);
5557
5588
  }
5558
5589
  const a = new Map;
5559
5590
  for(let l = 0; l < e.count; l++){
5560
5591
  const d = e.expressId[l];
5561
- let _ = n.get(e.name[l]) || "";
5562
- if (_ || (_ = this.spatialNodeNames.get(d) || ""), !_) {
5563
- const f = be(e.typeEnum[l]);
5564
- f !== "Unknown" && (_ = f);
5592
+ let f = n.get(e.name[l]) || "";
5593
+ if (f || (f = this.spatialNodeNames.get(d) || ""), !f) {
5594
+ const _ = Ee(e.typeEnum[l]);
5595
+ _ !== "Unknown" && (f = _);
5565
5596
  }
5566
- a.set(d, _);
5597
+ a.set(d, f);
5567
5598
  }
5568
5599
  const c = new Map;
5569
5600
  for (const [l, d] of s)c.has(d) || c.set(d, []), c.get(d).push(l);
@@ -5574,13 +5605,13 @@ END-ISO-10303-21;
5574
5605
  this.childNames.clear();
5575
5606
  for (const [, l] of c){
5576
5607
  const d = new Map;
5577
- for (const _ of l){
5578
- const p = (a.get(_) || `e${_}`).replace(/[/\\]/g, "_").replace(/\s+/g, "_");
5608
+ for (const f of l){
5609
+ const p = (a.get(f) || `e${f}`).replace(/[/\\]/g, "_").replace(/\s+/g, "_");
5579
5610
  d.set(p, (d.get(p) || 0) + 1);
5580
5611
  }
5581
- for (const _ of l){
5582
- const p = (a.get(_) || `e${_}`).replace(/[/\\]/g, "_").replace(/\s+/g, "_");
5583
- this.childNames.set(_, d.get(p) > 1 ? `${p}_${_}` : p);
5612
+ for (const f of l){
5613
+ const p = (a.get(f) || `e${f}`).replace(/[/\\]/g, "_").replace(/\s+/g, "_");
5614
+ this.childNames.set(f, d.get(p) > 1 ? `${p}_${f}` : p);
5584
5615
  }
5585
5616
  }
5586
5617
  }
@@ -5606,12 +5637,12 @@ END-ISO-10303-21;
5606
5637
  convertPropertyValue(t, e) {
5607
5638
  if (t == null) return null;
5608
5639
  switch(e){
5609
- case tt.Real:
5640
+ case nt.Real:
5610
5641
  return Number(t);
5611
- case tt.Integer:
5642
+ case nt.Integer:
5612
5643
  return Math.round(Number(t));
5613
- case tt.Boolean:
5614
- case tt.Logical:
5644
+ case nt.Boolean:
5645
+ case nt.Logical:
5615
5646
  return !!t;
5616
5647
  default:
5617
5648
  return t;
@@ -5703,21 +5734,21 @@ END-ISO-10303-21;
5703
5734
  }
5704
5735
  const s = [];
5705
5736
  return t && s.push({
5706
- uri: Ie.IFC_CORE
5737
+ uri: ye.IFC_CORE
5707
5738
  }), e && s.push({
5708
- uri: Ie.IFC_PROP
5739
+ uri: ye.IFC_PROP
5709
5740
  }), n && s.push({
5710
- uri: Ie.USD
5741
+ uri: ye.USD
5711
5742
  }), s;
5712
5743
  }
5713
- function ye(i) {
5744
+ function me(i) {
5714
5745
  return `00000000-0000-4000-8000-${i.toString(16).padStart(12, "0")}`;
5715
5746
  }
5716
5747
  function Rs(i) {
5717
- const t = wn(i), e = be(t);
5748
+ const t = wn(i), e = Ee(t);
5718
5749
  if (e !== "Unknown") return e;
5719
5750
  const n = i.toLowerCase();
5720
5751
  return n.startsWith("ifc") ? "Ifc" + n.charAt(3).toUpperCase() + n.slice(4) : i;
5721
5752
  }
5722
5753
  });
5723
- export { Os as C, we as G, Un as I, Ls as M, Es as S, dn as _, ee as a, $n as b, Ee as c, As as d, rn as e, Bs as f, Ns as g, xs as h, Ms as i, __tla };
5754
+ export { xs as C, Os as G, rn as I, Ls as M, Es as S, dn as _, Ce as a, $n as b, Bs as c, we as d, Un as e, se as f, As as g, Ms as h, Ns as i, __tla };