@ifc-lite/viewer 1.25.2 → 1.27.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 (116) hide show
  1. package/.turbo/turbo-build.log +40 -30
  2. package/CHANGELOG.md +110 -0
  3. package/dist/assets/{basketViewActivator-CTgyKI3U.js → basketViewActivator-B3CdrLsb.js} +7 -7
  4. package/dist/assets/{bcf-7jQby1qi.js → bcf-QeHK_Aud.js} +5 -5
  5. package/dist/assets/{browser-DXS29_v9.js → browser-BIoDDfBW.js} +1 -1
  6. package/dist/assets/{cesium-BoVuJvTC.js → cesium-CzZn5yVA.js} +319 -319
  7. package/dist/assets/{deflate-Cfp9t1Df.js → deflate-B-d0SYQM.js} +1 -1
  8. package/dist/assets/exceljs.min-DsuzKYnj.js +29 -0
  9. package/dist/assets/{exporters-DfSvJPi4.js → exporters-B4LbZFeT.js} +1434 -1179
  10. package/dist/assets/geometry.worker-BdH-E6NB.js +1 -0
  11. package/dist/assets/{geotiff-xZoE8BkO.js → geotiff-CrVtDRFq.js} +10 -10
  12. package/dist/assets/html2canvas.esm-Ge7aVWlp.js +5 -0
  13. package/dist/assets/{ids-Cu73hD0Y.js → ids-DjsGFN10.js} +21 -21
  14. package/dist/assets/ifc-lite_bg-DsYUIHm3.wasm +0 -0
  15. package/dist/assets/{index-WSbA5iy6.js → index-COYokSKc.js} +44122 -38782
  16. package/dist/assets/index-ajK6D32J.css +1 -0
  17. package/dist/assets/index.es-CY202jA3.js +6866 -0
  18. package/dist/assets/{jpeg-DhwFEbqb.js → jpeg-D4wOkf5h.js} +1 -1
  19. package/dist/assets/jspdf.es.min-DIGb9BHN.js +19571 -0
  20. package/dist/assets/jspdf.plugin.autotable-BBLUVd7n.js +2 -0
  21. package/dist/assets/{lerc-Dz6BXOVb.js → lerc-DmW0_tgf.js} +1 -1
  22. package/dist/assets/{lzw-C9z0fG2o.js → lzw-oWetY-d6.js} +1 -1
  23. package/dist/assets/{maplibre-gl-Do6O5tDc.js → maplibre-gl-BF3Z0idw.js} +1 -1
  24. package/dist/assets/{native-bridge-RvDmzO-2.js → native-bridge-BX8_tHXE.js} +1 -1
  25. package/dist/assets/{packbits-jfwifz7C.js → packbits-F8Nkp4NY.js} +1 -1
  26. package/dist/assets/{pako.esm-Cram60i4.js → pako.esm-n3Pgozwg.js} +1 -1
  27. package/dist/assets/{parser.worker-C594dWxH.js → parser.worker-D591Zu_-.js} +3 -3
  28. package/dist/assets/pdf-Dsh3HPZB.js +135 -0
  29. package/dist/assets/raw-D9iw0tmc.js +1 -0
  30. package/dist/assets/{sandbox-DDSZ7rek.js → sandbox-BAC3a-eN.js} +4235 -2716
  31. package/dist/assets/server-client-Cjwnm7il.js +706 -0
  32. package/dist/assets/{webimage-XFHVyVtC.js → webimage-BLV1dgmd.js} +1 -1
  33. package/dist/assets/xlsx-Bc2HTrjC.js +142 -0
  34. package/dist/assets/{zip-BJqVbRkU.js → zip-DFgP-l20.js} +1 -1
  35. package/dist/assets/{zstd-3q5qcl5V.js → zstd-C_1HxVrA.js} +1 -1
  36. package/dist/index.html +8 -8
  37. package/package.json +13 -9
  38. package/src/components/extensions/FlavorDialog.tsx +18 -2
  39. package/src/components/extensions/FlavorListView.tsx +12 -3
  40. package/src/components/mcp/PlaygroundChat.tsx +1 -0
  41. package/src/components/mcp/data.ts +6 -0
  42. package/src/components/mcp/playground-dispatcher.ts +277 -0
  43. package/src/components/mcp/types.ts +2 -1
  44. package/src/components/ui/combo-input.tsx +163 -0
  45. package/src/components/ui/tabs.tsx +1 -1
  46. package/src/components/viewer/ClashBcfExportDialog.tsx +271 -0
  47. package/src/components/viewer/ClashPanel.tsx +370 -0
  48. package/src/components/viewer/ClashSettingsDialog.tsx +407 -0
  49. package/src/components/viewer/CommandPalette.tsx +14 -15
  50. package/src/components/viewer/MainToolbar.tsx +155 -175
  51. package/src/components/viewer/PropertiesPanel.tsx +13 -6
  52. package/src/components/viewer/SearchInline.tsx +62 -2
  53. package/src/components/viewer/SearchModal.filter.builder.tsx +24 -393
  54. package/src/components/viewer/SearchModal.filter.editors.tsx +503 -0
  55. package/src/components/viewer/SearchModal.filter.tsx +64 -1
  56. package/src/components/viewer/SearchModal.tsx +19 -6
  57. package/src/components/viewer/ViewerLayout.tsx +5 -0
  58. package/src/components/viewer/Viewport.tsx +64 -9
  59. package/src/components/viewer/ViewportContainer.tsx +45 -3
  60. package/src/components/viewer/bcf/BCFOverlay.tsx +5 -4
  61. package/src/components/viewer/lists/ColumnHeaderMenu.tsx +84 -0
  62. package/src/components/viewer/lists/ListBuilder.tsx +789 -280
  63. package/src/components/viewer/lists/ListGroupingBar.tsx +72 -0
  64. package/src/components/viewer/lists/ListPanel.tsx +49 -5
  65. package/src/components/viewer/lists/ListResultsTable.tsx +270 -176
  66. package/src/components/viewer/lists/list-table-utils.ts +123 -0
  67. package/src/components/viewer/useGeometryStreaming.ts +21 -1
  68. package/src/generated/mcp-catalog.json +4 -0
  69. package/src/hooks/ingest/streamCleanup.test.ts +41 -0
  70. package/src/hooks/ingest/streamCleanup.ts +45 -0
  71. package/src/hooks/ingest/viewerModelIngest.ts +64 -42
  72. package/src/hooks/ingest/watchedGeometryStream.test.ts +78 -0
  73. package/src/hooks/ingest/watchedGeometryStream.ts +76 -0
  74. package/src/hooks/source-key.ts +35 -0
  75. package/src/hooks/useAlignmentLines3D.ts +139 -0
  76. package/src/hooks/useClash.ts +420 -0
  77. package/src/hooks/useGridLines3D.ts +140 -0
  78. package/src/hooks/useIfcFederation.ts +16 -2
  79. package/src/hooks/useIfcLoader.ts +5 -7
  80. package/src/lib/clash/persistence.ts +308 -0
  81. package/src/lib/geo/effective-georef.test.ts +66 -0
  82. package/src/lib/length-unit-scale.ts +41 -0
  83. package/src/lib/lists/adapter.ts +136 -11
  84. package/src/lib/lists/export/csv.ts +47 -0
  85. package/src/lib/lists/export/index.ts +49 -0
  86. package/src/lib/lists/export/model.ts +111 -0
  87. package/src/lib/lists/export/pdf.ts +67 -0
  88. package/src/lib/lists/export/xlsx.ts +83 -0
  89. package/src/lib/lists/index.ts +2 -0
  90. package/src/lib/search/filter-evaluate.test.ts +81 -0
  91. package/src/lib/search/filter-evaluate.ts +59 -87
  92. package/src/lib/search/filter-match.ts +167 -0
  93. package/src/lib/search/filter-rules.test.ts +25 -0
  94. package/src/lib/search/filter-rules.ts +75 -2
  95. package/src/lib/search/filter-schema.ts +0 -0
  96. package/src/lib/slab-edit.test.ts +72 -0
  97. package/src/lib/slab-edit.ts +159 -19
  98. package/src/sdk/adapters/export-adapter.ts +3 -3
  99. package/src/sdk/adapters/query-adapter.ts +3 -3
  100. package/src/services/extensions/host.ts +13 -0
  101. package/src/store/constants.ts +33 -25
  102. package/src/store/index.ts +29 -8
  103. package/src/store/slices/clashSlice.ts +251 -0
  104. package/src/store/slices/listSlice.ts +6 -0
  105. package/src/store/slices/mutationSlice.ts +14 -6
  106. package/src/store/slices/searchSlice.ts +29 -3
  107. package/src/store/slices/visibilitySlice.test.ts +23 -5
  108. package/src/store/slices/visibilitySlice.ts +18 -8
  109. package/src/utils/nativeSpatialDataStore.ts +6 -0
  110. package/src/utils/serverDataModel.test.ts +6 -0
  111. package/src/utils/serverDataModel.ts +7 -0
  112. package/dist/assets/geometry.worker-Cyn5BybV.js +0 -1
  113. package/dist/assets/ifc-lite_bg-ksLBP5cA.wasm +0 -0
  114. package/dist/assets/index-Bws3UAkj.css +0 -1
  115. package/dist/assets/raw-R2QfzPAR.js +0 -1
  116. package/dist/assets/server-client-Ctk8_Bof.js +0 -626
@@ -0,0 +1 @@
1
+ let n;function l(e){C===y.length&&y.push(y.length+1);const t=C;return C=y[t],y[t]=e,t}function Xt(e){if(H==1)throw new Error("out of js stack");return y[--H]=e,H}const it=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>e.dtor(e.a,e.b));function Ht(e){e<132||(y[e]=C,C=e)}function et(e,t){return e=e>>>0,$t().subarray(e/4,e/4+t)}function Zt(e,t){return e=e>>>0,qt().subarray(e/8,e/8+t)}function It(e,t){return e=e>>>0,St().subarray(e/4,e/4+t)}function Kt(e,t){return e=e>>>0,A().subarray(e/1,e/1+t)}let I=null;function a(){return(I===null||I.buffer.detached===!0||I.buffer.detached===void 0&&I.buffer!==n.memory.buffer)&&(I=new DataView(n.memory.buffer)),I}let j=null;function $t(){return(j===null||j.byteLength===0)&&(j=new Float32Array(n.memory.buffer)),j}let k=null;function qt(){return(k===null||k.byteLength===0)&&(k=new Float64Array(n.memory.buffer)),k}function f(e,t){return e=e>>>0,Qt(e,t)}let R=null;function St(){return(R===null||R.byteLength===0)&&(R=new Uint32Array(n.memory.buffer)),R}let M=null;function A(){return(M===null||M.byteLength===0)&&(M=new Uint8Array(n.memory.buffer)),M}function d(e){return y[e]}function Q(e,t){try{return e.apply(this,t)}catch(r){n.__wbindgen_export(l(r))}}let y=new Array(128).fill(void 0);y.push(void 0,null,!0,!1);let C=y.length;function X(e){return e==null}function Jt(e,t,r,_){const i={a:e,b:t,cnt:1,dtor:r},s=(...c)=>{i.cnt++;const o=i.a;i.a=0;try{return _(o,i.b,...c)}finally{i.a=o,s._wbg_cb_unref()}};return s._wbg_cb_unref=()=>{--i.cnt===0&&(i.dtor(i.a,i.b),i.a=0,it.unregister(i))},it.register(s,i,i),s}function x(e,t){const r=t(e.length*4,4)>>>0;return St().set(e,r/4),p=e.length,r}function v(e,t){const r=t(e.length*1,1)>>>0;return A().set(e,r/1),p=e.length,r}function h(e,t,r){if(r===void 0){const o=T.encode(e),b=t(o.length,1)>>>0;return A().subarray(b,b+o.length).set(o),p=o.length,b}let _=e.length,i=t(_,1)>>>0;const s=A();let c=0;for(;c<_;c++){const o=e.charCodeAt(c);if(o>127)break;s[i+c]=o}if(c!==_){c!==0&&(e=e.slice(c)),i=r(i,_,_=c+e.length*3,1)>>>0;const o=A().subarray(i+c,i+_),b=T.encodeInto(e,o);c+=b.written,i=r(i,_,c,1)>>>0}return p=c,i}let H=128;function g(e){const t=d(e);return Ht(e),t}let Z=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});Z.decode();const Nt=2146435072;let tt=0;function Qt(e,t){return tt+=t,tt>=Nt&&(Z=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),Z.decode(),tt=t),Z.decode(A().subarray(e,e+t))}const T=new TextEncoder;"encodeInto"in T||(T.encodeInto=function(e,t){const r=T.encode(e);return t.set(r),{read:e.length,written:r.length}});let p=0;function te(e,t,r){n.__wasm_bindgen_func_elem_654(e,t,l(r))}function ee(e,t,r,_){n.__wasm_bindgen_func_elem_688(e,t,l(r),l(_))}typeof FinalizationRegistry>"u"||new FinalizationRegistry(e=>n.__wbg_clashrunresult_free(e>>>0,1));typeof FinalizationRegistry>"u"||new FinalizationRegistry(e=>n.__wbg_clashsession_free(e>>>0,1));const st=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_gridaxiscollection_free(e>>>0,1)),ot=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_gridaxisjs_free(e>>>0,1)),at=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_ifcapi_free(e>>>0,1)),ct=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_meshcollection_free(e>>>0,1)),lt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_meshdatajs_free(e>>>0,1)),gt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_profilecollection_free(e>>>0,1)),pt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_profileentryjs_free(e>>>0,1)),dt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_symboliccircle_free(e>>>0,1)),bt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_symbolicfillarea_free(e>>>0,1)),ft=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_symbolicpolyline_free(e>>>0,1)),ut=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_symbolicrepresentationcollection_free(e>>>0,1)),wt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>n.__wbg_symbolictext_free(e>>>0,1));class E{static __wrap(t){t=t>>>0;const r=Object.create(E.prototype);return r.__wbg_ptr=t,st.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,st.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_gridaxiscollection_free(t,0)}get length(){return n.gridaxiscollection_length(this.__wbg_ptr)>>>0}getAxis(t){const r=n.gridaxiscollection_getAxis(this.__wbg_ptr,t);return r===0?void 0:P.__wrap(r)}get isEmpty(){return n.gridaxiscollection_isEmpty(this.__wbg_ptr)!==0}}Symbol.dispose&&(E.prototype[Symbol.dispose]=E.prototype.free);class P{static __wrap(t){t=t>>>0;const r=Object.create(P.prototype);return r.__wbg_ptr=t,ot.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,ot.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_gridaxisjs_free(t,0)}get end(){const t=n.gridaxisjs_end(this.__wbg_ptr);return g(t)}get tag(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.gridaxisjs_tag(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get start(){const t=n.gridaxisjs_start(this.__wbg_ptr);return g(t)}get axisId(){return n.gridaxisjs_axisId(this.__wbg_ptr)>>>0}get gridId(){return n.gridaxisjs_gridId(this.__wbg_ptr)>>>0}}Symbol.dispose&&(P.prototype[Symbol.dispose]=P.prototype.free);class ${__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,at.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_ifcapi_free(t,0)}buildPrePassFast(t){const r=v(t,n.__wbindgen_export3),_=p,i=n.ifcapi_buildPrePassFast(this.__wbg_ptr,r,_);return g(i)}buildPrePassOnce(t){const r=v(t,n.__wbindgen_export3),_=p,i=n.ifcapi_buildPrePassOnce(this.__wbg_ptr,r,_);return g(i)}processGeometryBatch(t,r,_,i,s,c,o,b,w,q,J,N){const F=v(t,n.__wbindgen_export3),Ct=p,Tt=x(r,n.__wbindgen_export3),Et=p,Pt=x(b,n.__wbindgen_export3),Bt=p,Ot=x(w,n.__wbindgen_export3),zt=p,Lt=x(q,n.__wbindgen_export3),Wt=p,Ut=x(J,n.__wbindgen_export3),Yt=p,Dt=v(N,n.__wbindgen_export3),Gt=p,Vt=n.ifcapi_processGeometryBatch(this.__wbg_ptr,F,Ct,Tt,Et,_,i,s,c,o,Pt,Bt,Ot,zt,Lt,Wt,Ut,Yt,Dt,Gt);return B.__wrap(Vt)}buildPrePassStreaming(t,r,_){try{const o=n.__wbindgen_add_to_stack_pointer(-16),b=v(t,n.__wbindgen_export3),w=p;n.ifcapi_buildPrePassStreaming(o,this.__wbg_ptr,b,w,Xt(r),_);var i=a().getInt32(o+0,!0),s=a().getInt32(o+4,!0),c=a().getInt32(o+8,!0);if(c)throw g(s);return g(i)}finally{n.__wbindgen_add_to_stack_pointer(16),y[H++]=void 0}}parseGridAxes(t){const r=h(t,n.__wbindgen_export3,n.__wbindgen_export4),_=p,i=n.ifcapi_parseGridAxes(this.__wbg_ptr,r,_);return E.__wrap(i)}parseGridLines(t){const r=h(t,n.__wbindgen_export3,n.__wbindgen_export4),_=p,i=n.ifcapi_parseGridLines(this.__wbg_ptr,r,_);return g(i)}parseAlignmentLines(t){const r=h(t,n.__wbindgen_export3,n.__wbindgen_export4),_=p,i=n.ifcapi_parseAlignmentLines(this.__wbg_ptr,r,_);return g(i)}extractProfiles(t,r){const _=h(t,n.__wbindgen_export3,n.__wbindgen_export4),i=p,s=n.ifcapi_extractProfiles(this.__wbg_ptr,_,i,r);return z.__wrap(s)}getMemory(){const t=n.ifcapi_getMemory(this.__wbg_ptr);return g(t)}setEntityIndex(t,r,_){const i=x(t,n.__wbindgen_export3),s=p,c=x(r,n.__wbindgen_export3),o=p,b=x(_,n.__wbindgen_export3),w=p;n.ifcapi_setEntityIndex(this.__wbg_ptr,i,s,c,o,b,w)}setMergeLayers(t){n.ifcapi_setMergeLayers(this.__wbg_ptr,t)}clearPrePassCache(){n.ifcapi_clearPrePassCache(this.__wbg_ptr)}constructor(){const t=n.ifcapi_new();return this.__wbg_ptr=t>>>0,at.register(this,this.__wbg_ptr,this),this}get version(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.ifcapi_version(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get is_ready(){return n.ifcapi_is_ready(this.__wbg_ptr)!==0}parseStreaming(t,r){const _=h(t,n.__wbindgen_export3,n.__wbindgen_export4),i=p,s=n.ifcapi_parseStreaming(this.__wbg_ptr,_,i,l(r));return g(s)}scanEntitiesFast(t){const r=h(t,n.__wbindgen_export3,n.__wbindgen_export4),_=p,i=n.ifcapi_scanEntitiesFast(this.__wbg_ptr,r,_);return g(i)}scanEntitiesFastBytes(t){const r=v(t,n.__wbindgen_export3),_=p,i=n.ifcapi_scanEntitiesFastBytes(this.__wbg_ptr,r,_);return g(i)}scanGeometryEntitiesFast(t){const r=h(t,n.__wbindgen_export3,n.__wbindgen_export4),_=p,i=n.ifcapi_scanGeometryEntitiesFast(this.__wbg_ptr,r,_);return g(i)}scanRelevantEntitiesFastBytes(t){const r=v(t,n.__wbindgen_export3),_=p,i=n.ifcapi_scanRelevantEntitiesFastBytes(this.__wbg_ptr,r,_);return g(i)}parse(t){const r=h(t,n.__wbindgen_export3,n.__wbindgen_export4),_=p,i=n.ifcapi_parse(this.__wbg_ptr,r,_);return g(i)}parseSymbolicRepresentations(t){const r=h(t,n.__wbindgen_export3,n.__wbindgen_export4),_=p,i=n.ifcapi_parseSymbolicRepresentations(this.__wbg_ptr,r,_);return D.__wrap(i)}}Symbol.dispose&&($.prototype[Symbol.dispose]=$.prototype.free);class B{static __wrap(t){t=t>>>0;const r=Object.create(B.prototype);return r.__wbg_ptr=t,ct.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,ct.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_meshcollection_free(t,0)}get rtcOffsetX(){return n.meshcollection_rtcOffsetX(this.__wbg_ptr)}get rtcOffsetY(){return n.meshcollection_rtcOffsetY(this.__wbg_ptr)}get rtcOffsetZ(){return n.meshcollection_rtcOffsetZ(this.__wbg_ptr)}hasRtcOffset(){return n.meshcollection_hasRtcOffset(this.__wbg_ptr)!==0}localToWorld(t,r,_){try{const o=n.__wbindgen_add_to_stack_pointer(-16);n.meshcollection_localToWorld(o,this.__wbg_ptr,t,r,_);var i=a().getInt32(o+0,!0),s=a().getInt32(o+4,!0),c=Zt(i,s).slice();return n.__wbindgen_export2(i,s*8,8),c}finally{n.__wbindgen_add_to_stack_pointer(16)}}get totalVertices(){return n.meshcollection_totalVertices(this.__wbg_ptr)>>>0}get totalTriangles(){return n.meshcollection_totalTriangles(this.__wbg_ptr)>>>0}get buildingRotation(){try{const _=n.__wbindgen_add_to_stack_pointer(-16);n.meshcollection_buildingRotation(_,this.__wbg_ptr);var t=a().getInt32(_+0,!0),r=a().getFloat64(_+8,!0);return t===0?void 0:r}finally{n.__wbindgen_add_to_stack_pointer(16)}}get(t){const r=n.meshcollection_get(this.__wbg_ptr,t);return r===0?void 0:O.__wrap(r)}get length(){return n.meshcollection_length(this.__wbg_ptr)>>>0}}Symbol.dispose&&(B.prototype[Symbol.dispose]=B.prototype.free);class O{static __wrap(t){t=t>>>0;const r=Object.create(O.prototype);return r.__wbg_ptr=t,lt.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,lt.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_meshdatajs_free(t,0)}get expressId(){return n.meshdatajs_expressId(this.__wbg_ptr)>>>0}get hasTexture(){return n.meshdatajs_hasTexture(this.__wbg_ptr)!==0}get textureRgba(){const t=n.meshdatajs_textureRgba(this.__wbg_ptr);return g(t)}get vertexCount(){return n.meshdatajs_vertexCount(this.__wbg_ptr)>>>0}get shadingColor(){try{const _=n.__wbindgen_add_to_stack_pointer(-16);n.meshdatajs_shadingColor(_,this.__wbg_ptr);var t=a().getInt32(_+0,!0),r=a().getInt32(_+4,!0);let i;return t!==0&&(i=et(t,r).slice(),n.__wbindgen_export2(t,r*4,4)),i}finally{n.__wbindgen_add_to_stack_pointer(16)}}get textureWidth(){return n.meshdatajs_textureWidth(this.__wbg_ptr)>>>0}get textureHeight(){return n.meshdatajs_textureHeight(this.__wbg_ptr)>>>0}get triangleCount(){return n.meshdatajs_triangleCount(this.__wbg_ptr)>>>0}get textureRepeatS(){return n.meshdatajs_textureRepeatS(this.__wbg_ptr)!==0}get textureRepeatT(){return n.meshdatajs_textureRepeatT(this.__wbg_ptr)!==0}get uvs(){const t=n.meshdatajs_uvs(this.__wbg_ptr);return g(t)}get color(){try{const i=n.__wbindgen_add_to_stack_pointer(-16);n.meshdatajs_color(i,this.__wbg_ptr);var t=a().getInt32(i+0,!0),r=a().getInt32(i+4,!0),_=et(t,r).slice();return n.__wbindgen_export2(t,r*4,4),_}finally{n.__wbindgen_add_to_stack_pointer(16)}}get indices(){const t=n.meshdatajs_indices(this.__wbg_ptr);return g(t)}get normals(){const t=n.meshdatajs_normals(this.__wbg_ptr);return g(t)}get ifcType(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.meshdatajs_ifcType(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get positions(){const t=n.meshdatajs_positions(this.__wbg_ptr);return g(t)}}Symbol.dispose&&(O.prototype[Symbol.dispose]=O.prototype.free);class z{static __wrap(t){t=t>>>0;const r=Object.create(z.prototype);return r.__wbg_ptr=t,gt.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,gt.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_profilecollection_free(t,0)}get(t){const r=n.profilecollection_get(this.__wbg_ptr,t);return r===0?void 0:L.__wrap(r)}get length(){return n.profilecollection_length(this.__wbg_ptr)>>>0}}Symbol.dispose&&(z.prototype[Symbol.dispose]=z.prototype.free);class L{static __wrap(t){t=t>>>0;const r=Object.create(L.prototype);return r.__wbg_ptr=t,pt.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,pt.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_profileentryjs_free(t,0)}get expressId(){return n.profileentryjs_expressId(this.__wbg_ptr)>>>0}get holeCounts(){const t=n.profileentryjs_holeCounts(this.__wbg_ptr);return g(t)}get holePoints(){const t=n.profileentryjs_holePoints(this.__wbg_ptr);return g(t)}get modelIndex(){return n.profileentryjs_modelIndex(this.__wbg_ptr)>>>0}get outerPoints(){const t=n.profileentryjs_outerPoints(this.__wbg_ptr);return g(t)}get extrusionDir(){const t=n.profileentryjs_extrusionDir(this.__wbg_ptr);return g(t)}get extrusionDepth(){return n.profileentryjs_extrusionDepth(this.__wbg_ptr)}get ifcType(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.profileentryjs_ifcType(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get transform(){const t=n.profileentryjs_transform(this.__wbg_ptr);return g(t)}}Symbol.dispose&&(L.prototype[Symbol.dispose]=L.prototype.free);class W{static __wrap(t){t=t>>>0;const r=Object.create(W.prototype);return r.__wbg_ptr=t,dt.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,dt.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_symboliccircle_free(t,0)}get expressId(){return n.symboliccircle_expressId(this.__wbg_ptr)>>>0}get startAngle(){return n.symboliccircle_startAngle(this.__wbg_ptr)}get isFullCircle(){return n.symboliccircle_isFullCircle(this.__wbg_ptr)!==0}get repIdentifier(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.symboliccircle_repIdentifier(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get radius(){return n.symboliccircle_radius(this.__wbg_ptr)}get worldY(){return n.symboliccircle_worldY(this.__wbg_ptr)}get centerX(){return n.symboliccircle_centerX(this.__wbg_ptr)}get centerY(){return n.symboliccircle_centerY(this.__wbg_ptr)}get ifcType(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.symboliccircle_ifcType(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get endAngle(){return n.symboliccircle_endAngle(this.__wbg_ptr)}}Symbol.dispose&&(W.prototype[Symbol.dispose]=W.prototype.free);class U{static __wrap(t){t=t>>>0;const r=Object.create(U.prototype);return r.__wbg_ptr=t,bt.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,bt.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_symbolicfillarea_free(t,0)}get expressId(){return n.profileentryjs_expressId(this.__wbg_ptr)>>>0}get holeCount(){return n.symbolicfillarea_holeCount(this.__wbg_ptr)>>>0}get hatchAngle(){return n.symbolicfillarea_hatchAngle(this.__wbg_ptr)}get pointCount(){return n.symbolicfillarea_pointCount(this.__wbg_ptr)>>>0}get hasHatching(){return n.symbolicfillarea_hasHatching(this.__wbg_ptr)!==0}get hatchSpacing(){return n.symbolicfillarea_hatchSpacing(this.__wbg_ptr)}get holesOffsets(){const t=n.symbolicfillarea_holesOffsets(this.__wbg_ptr);return g(t)}get repIdentifier(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.symbolicfillarea_repIdentifier(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get hatchLineWidth(){return n.symbolicfillarea_hatchLineWidth(this.__wbg_ptr)}get hatchAngleSecondary(){return n.symbolicfillarea_hatchAngleSecondary(this.__wbg_ptr)}get fillA(){return n.symbolicfillarea_fillA(this.__wbg_ptr)}get fillB(){return n.symbolicfillarea_fillB(this.__wbg_ptr)}get fillG(){return n.symbolicfillarea_fillG(this.__wbg_ptr)}get fillR(){return n.symbolicfillarea_fillR(this.__wbg_ptr)}get points(){const t=n.symbolicfillarea_points(this.__wbg_ptr);return g(t)}get worldY(){return n.symbolicfillarea_worldY(this.__wbg_ptr)}get ifcType(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.symbolicfillarea_ifcType(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}}Symbol.dispose&&(U.prototype[Symbol.dispose]=U.prototype.free);class Y{static __wrap(t){t=t>>>0;const r=Object.create(Y.prototype);return r.__wbg_ptr=t,ft.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,ft.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_symbolicpolyline_free(t,0)}get expressId(){return n.symbolicpolyline_expressId(this.__wbg_ptr)>>>0}get pointCount(){return n.symbolicfillarea_pointCount(this.__wbg_ptr)>>>0}get repIdentifier(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.symbolicpolyline_repIdentifier(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get points(){const t=n.symbolicpolyline_points(this.__wbg_ptr);return g(t)}get worldY(){return n.symboliccircle_worldY(this.__wbg_ptr)}get ifcType(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.symbolicpolyline_ifcType(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get isClosed(){return n.symbolicpolyline_isClosed(this.__wbg_ptr)!==0}}Symbol.dispose&&(Y.prototype[Symbol.dispose]=Y.prototype.free);class D{static __wrap(t){t=t>>>0;const r=Object.create(D.prototype);return r.__wbg_ptr=t,ut.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,ut.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_symbolicrepresentationcollection_free(t,0)}get fillCount(){return n.symbolicrepresentationcollection_fillCount(this.__wbg_ptr)>>>0}getCircle(t){const r=n.symbolicrepresentationcollection_getCircle(this.__wbg_ptr,t);return r===0?void 0:W.__wrap(r)}get textCount(){return n.symbolicrepresentationcollection_textCount(this.__wbg_ptr)>>>0}get totalCount(){return n.symbolicrepresentationcollection_totalCount(this.__wbg_ptr)>>>0}get circleCount(){return n.symbolicrepresentationcollection_circleCount(this.__wbg_ptr)>>>0}getPolyline(t){const r=n.symbolicrepresentationcollection_getPolyline(this.__wbg_ptr,t);return r===0?void 0:Y.__wrap(r)}get polylineCount(){return n.symbolicrepresentationcollection_polylineCount(this.__wbg_ptr)>>>0}getExpressIds(){try{const i=n.__wbindgen_add_to_stack_pointer(-16);n.symbolicrepresentationcollection_getExpressIds(i,this.__wbg_ptr);var t=a().getInt32(i+0,!0),r=a().getInt32(i+4,!0),_=It(t,r).slice();return n.__wbindgen_export2(t,r*4,4),_}finally{n.__wbindgen_add_to_stack_pointer(16)}}getFill(t){const r=n.symbolicrepresentationcollection_getFill(this.__wbg_ptr,t);return r===0?void 0:U.__wrap(r)}getText(t){const r=n.symbolicrepresentationcollection_getText(this.__wbg_ptr,t);return r===0?void 0:G.__wrap(r)}get isEmpty(){return n.symbolicrepresentationcollection_isEmpty(this.__wbg_ptr)!==0}}Symbol.dispose&&(D.prototype[Symbol.dispose]=D.prototype.free);class G{static __wrap(t){t=t>>>0;const r=Object.create(G.prototype);return r.__wbg_ptr=t,wt.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,wt.unregister(this),t}free(){const t=this.__destroy_into_raw();n.__wbg_symbolictext_free(t,0)}get expressId(){return n.profileentryjs_expressId(this.__wbg_ptr)>>>0}get repIdentifier(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.symbolictext_repIdentifier(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get x(){return n.symbolicfillarea_fillR(this.__wbg_ptr)}get y(){return n.symbolicfillarea_fillG(this.__wbg_ptr)}get dirX(){return n.symbolicfillarea_fillB(this.__wbg_ptr)}get dirY(){return n.symbolicfillarea_fillA(this.__wbg_ptr)}get height(){return n.symbolicfillarea_hatchSpacing(this.__wbg_ptr)}get colorA(){return n.symbolictext_colorA(this.__wbg_ptr)}get colorB(){return n.symbolicfillarea_worldY(this.__wbg_ptr)}get colorG(){return n.symbolicfillarea_hatchLineWidth(this.__wbg_ptr)}get colorR(){return n.symbolicfillarea_hatchAngleSecondary(this.__wbg_ptr)}get content(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.symbolictext_content(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get worldY(){return n.symbolicfillarea_hatchAngle(this.__wbg_ptr)}get ifcType(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.symbolictext_ifcType(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get alignment(){let t,r;try{const s=n.__wbindgen_add_to_stack_pointer(-16);n.symbolictext_alignment(s,this.__wbg_ptr);var _=a().getInt32(s+0,!0),i=a().getInt32(s+4,!0);return t=_,r=i,f(_,i)}finally{n.__wbindgen_add_to_stack_pointer(16),n.__wbindgen_export2(t,r,1)}}get targetPx(){return n.symbolictext_targetPx(this.__wbg_ptr)}}Symbol.dispose&&(G.prototype[Symbol.dispose]=G.prototype.free);const re=new Set(["basic","cors","default"]);async function ne(e,t){if(typeof Response=="function"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(e,t)}catch(_){if(e.ok&&re.has(e.type)&&e.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",_);else throw _}const r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{const r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function At(){const e={};return e.wbg={},e.wbg.__wbg_Error_52673b7de5a0ca89=function(t,r){const _=Error(f(t,r));return l(_)},e.wbg.__wbg___wbindgen_is_function_8d400b8b1af978cd=function(t){return typeof d(t)=="function"},e.wbg.__wbg___wbindgen_is_undefined_f6b95eab589e0269=function(t){return d(t)===void 0},e.wbg.__wbg___wbindgen_memory_a342e963fbcabd68=function(){const t=n.memory;return l(t)},e.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e=function(t,r){throw new Error(f(t,r))},e.wbg.__wbg__wbg_cb_unref_87dfb5aaa0cbcea7=function(t){d(t)._wbg_cb_unref()},e.wbg.__wbg_call_3020136f7a2d6e44=function(){return Q(function(t,r,_){const i=d(t).call(d(r),d(_));return l(i)},arguments)},e.wbg.__wbg_call_abb4ff46ce38be40=function(){return Q(function(t,r){const _=d(t).call(d(r));return l(_)},arguments)},e.wbg.__wbg_error_7534b8e9a36f1ab4=function(t,r){let _,i;try{_=t,i=r,console.error(f(t,r))}finally{n.__wbindgen_export2(_,i,1)}},e.wbg.__wbg_info_ce6bcc489c22f6f0=function(t){console.info(d(t))},e.wbg.__wbg_new_1ba21ce319a06297=function(){const t=new Object;return l(t)},e.wbg.__wbg_new_25f239778d6112b9=function(){const t=new Array;return l(t)},e.wbg.__wbg_new_8a6f238a6ece86ea=function(){const t=new Error;return l(t)},e.wbg.__wbg_new_ff12d2b041fb48f1=function(t,r){try{var _={a:t,b:r},i=(c,o)=>{const b=_.a;_.a=0;try{return ee(b,_.b,c,o)}finally{_.a=b}};const s=new Promise(i);return l(s)}finally{_.a=_.b=0}},e.wbg.__wbg_new_from_slice_41e2764a343e3cb1=function(t,r){const _=new Float32Array(et(t,r));return l(_)},e.wbg.__wbg_new_from_slice_db0691b69e9d3891=function(t,r){const _=new Uint32Array(It(t,r));return l(_)},e.wbg.__wbg_new_from_slice_f9c22b9153b26992=function(t,r){const _=new Uint8Array(Kt(t,r));return l(_)},e.wbg.__wbg_new_no_args_cb138f77cf6151ee=function(t,r){const _=new Function(f(t,r));return l(_)},e.wbg.__wbg_new_with_length_202b3db94ba5fc86=function(t){const r=new Uint32Array(t>>>0);return l(r)},e.wbg.__wbg_new_with_length_806b9e5b8290af7c=function(t){const r=new Float64Array(t>>>0);return l(r)},e.wbg.__wbg_new_with_length_aa5eaf41d35235e5=function(t){const r=new Uint8Array(t>>>0);return l(r)},e.wbg.__wbg_queueMicrotask_9b549dfce8865860=function(t){const r=d(t).queueMicrotask;return l(r)},e.wbg.__wbg_queueMicrotask_fca69f5bfad613a5=function(t){queueMicrotask(d(t))},e.wbg.__wbg_resolve_fd5bfbaa4ce36e1e=function(t){const r=Promise.resolve(d(t));return l(r)},e.wbg.__wbg_set_3f1d0b984ed272ed=function(t,r,_){d(t)[g(r)]=g(_)},e.wbg.__wbg_set_781438a03c0c3c81=function(){return Q(function(t,r,_){return Reflect.set(d(t),d(r),d(_))},arguments)},e.wbg.__wbg_set_7df433eea03a5c14=function(t,r,_){d(t)[r>>>0]=g(_)},e.wbg.__wbg_set_index_021489b2916af13e=function(t,r,_){d(t)[r>>>0]=_},e.wbg.__wbg_set_index_04c4b93e64d08a52=function(t,r,_){d(t)[r>>>0]=_},e.wbg.__wbg_set_index_42abe35f117e614e=function(t,r,_){d(t)[r>>>0]=_>>>0},e.wbg.__wbg_stack_0ed75d68575b0f3c=function(t,r){const _=d(r).stack,i=h(_,n.__wbindgen_export3,n.__wbindgen_export4),s=p;a().setInt32(t+4,s,!0),a().setInt32(t+0,i,!0)},e.wbg.__wbg_static_accessor_GLOBAL_769e6b65d6557335=function(){const t=typeof global>"u"?null:global;return X(t)?0:l(t)},e.wbg.__wbg_static_accessor_GLOBAL_THIS_60cf02db4de8e1c1=function(){const t=typeof globalThis>"u"?null:globalThis;return X(t)?0:l(t)},e.wbg.__wbg_static_accessor_SELF_08f5a74c69739274=function(){const t=typeof self>"u"?null:self;return X(t)?0:l(t)},e.wbg.__wbg_static_accessor_WINDOW_a8924b26aa92d024=function(){const t=typeof window>"u"?null:window;return X(t)?0:l(t)},e.wbg.__wbg_then_4f95312d68691235=function(t,r){const _=d(t).then(d(r));return l(_)},e.wbg.__wbg_warn_6e567d0d926ff881=function(t){console.warn(d(t))},e.wbg.__wbindgen_cast_2241b6af4c4b2941=function(t,r){const _=f(t,r);return l(_)},e.wbg.__wbindgen_cast_257c51b8abf9285e=function(t,r){const _=Jt(t,r,n.__wasm_bindgen_func_elem_653,te);return l(_)},e.wbg.__wbindgen_cast_4625c577ab2ec9ee=function(t){const r=BigInt.asUintN(64,t);return l(r)},e.wbg.__wbindgen_cast_d6cd19b81560fd6e=function(t){return l(t)},e.wbg.__wbindgen_object_clone_ref=function(t){const r=d(t);return l(r)},e.wbg.__wbindgen_object_drop_ref=function(t){g(t)},e}function Ft(e,t){return n=e.exports,jt.__wbindgen_wasm_module=t,I=null,j=null,k=null,R=null,M=null,n.__wbindgen_start(),n}function _e(e){if(n!==void 0)return n;typeof e<"u"&&(Object.getPrototypeOf(e)===Object.prototype?{module:e}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));const t=At();e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e));const r=new WebAssembly.Instance(e,t);return Ft(r,e)}async function jt(e){if(n!==void 0)return n;typeof e<"u"&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),typeof e>"u"&&(e=new URL("/assets/ifc-lite_bg-DsYUIHm3.wasm",import.meta.url));const t=At();(typeof e=="string"||typeof Request=="function"&&e instanceof Request||typeof URL=="function"&&e instanceof URL)&&(e=fetch(e));const{instance:r,module:_}=await ne(await e,t);return Ft(r,_)}let m=null,kt;async function S(){return m||(await jt(kt),m=new $,V=!1,rt(),m)}let Rt=!1,V=!1;function rt(){if(!m||V)return;const e=m;typeof e.setMergeLayers=="function"&&e.setMergeLayers(Rt),V=!0}function nt(e){return new Uint8Array(e)}function _t(e){const t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t}let u=null;const yt=1e6;function ht(e){return{sharedBuffer:e.sharedBuffer,localBytes:nt(e.sharedBuffer),sabFallbackTaken:!1,unitScale:e.unitScale,rtcX:e.rtcX,rtcY:e.rtcY,rtcZ:e.rtcZ,needsShift:e.needsShift,voidKeys:e.voidKeys,voidCounts:e.voidCounts,voidValues:e.voidValues,styleIds:e.styleIds,styleColors:e.styleColors,pendingMeshes:[],pendingTransfers:[],totalMeshesEmitted:0,cumulativeMeshBytes:0}}function Mt(e){if(e.pendingMeshes.length===0)return;const t=e.pendingMeshes,r=e.pendingTransfers;e.pendingMeshes=[],e.pendingTransfers=[],e.totalMeshesEmitted+=t.length,self.postMessage({type:"batch",meshes:t},r)}function ie(e,t){for(let r=0;r<t.length;r++){const _=t.get(r);if(!_)continue;const i=new Float32Array(_.positions),s=new Float32Array(_.normals),c=new Uint32Array(_.indices),o={expressId:_.expressId,ifcType:_.ifcType,positions:i,normals:s,indices:c,color:[_.color[0],_.color[1],_.color[2],_.color[3]]};if(e.pendingTransfers.push(i.buffer,s.buffer,c.buffer),e.cumulativeMeshBytes+=i.byteLength+s.byteLength+c.byteLength,_.hasTexture){const b=new Float32Array(_.uvs),w=new Uint8Array(_.textureRgba);o.uvs=b,o.texture={rgba:w,width:_.textureWidth,height:_.textureHeight,repeatS:_.textureRepeatS,repeatT:_.textureRepeatT},e.pendingTransfers.push(b.buffer,w.buffer),e.cumulativeMeshBytes+=b.byteLength+w.byteLength}e.pendingMeshes.push(o),_.free()}t.free()}async function K(e,t){const r=Math.floor(t.length/3);if(r!==0)try{const i=(await S()).processGeometryBatch(e.localBytes,t,e.unitScale,e.rtcX,e.rtcY,e.rtcZ,e.needsShift,e.voidKeys,e.voidCounts,e.voidValues,e.styleIds,e.styleColors);ie(e,i)}catch(_){const i=_.message;if(!e.sabFallbackTaken&&e.localBytes.buffer instanceof SharedArrayBuffer){e.sabFallbackTaken=!0,console.warn(`[Worker] processGeometryBatch rejected SAB view (${i}), falling back to copy`),e.localBytes=_t(e.sharedBuffer),await K(e,t);return}if(r===1){console.warn(`[Worker] Skipping entity #${t[0]}: ${i}`),m=null;return}console.warn(`[Worker] Batch of ${r} entities failed (${i}), splitting…`),m=null;const s=Math.floor(r/2)*3;await K(e,t.slice(0,s)),await K(e,t.slice(s))}}async function mt(e,t){const r=Math.floor(t.length/3);for(let _=0;_<r;_+=yt){const i=_*3,s=Math.min(i+yt*3,t.length);await K(e,t.subarray(i,s)),Mt(e)}}function xt(e){Mt(e);let t=0;try{t=m?.getMemory()?.buffer?.byteLength??0}catch{}self.postMessage({type:"memory",meshBytes:e.cumulativeMeshBytes,wasmHeapBytes:t}),self.postMessage({type:"complete",totalMeshes:e.totalMeshesEmitted})}let vt=Promise.resolve();self.onmessage=e=>{vt=vt.then(()=>se(e)).catch(t=>{self.postMessage({type:"error",message:t instanceof Error?t.message:String(t)})})};async function se(e){try{if(e.data.type==="prepass-streaming"){const t=await S();self.postMessage({type:"prepass-progress",phase:"parsing"});const r=e.data.sharedBuffer,_=e.data.chunkSize??5e4;let i=nt(r),s=!1;const c=o=>{self.postMessage({type:"prepass-stream",event:o})};try{t.buildPrePassStreaming(i,c,_)}catch(o){const b=o instanceof Error?o.message:String(o);if(!s)s=!0,console.warn(`[Worker] Streaming prepass with SAB view failed (${b}), retrying with copy`),i=_t(r),t.buildPrePassStreaming(i,c,_);else throw o}return}if(e.data.type==="prepass"||e.data.type==="prepass-fast"){const t=await S();self.postMessage({type:"prepass-progress",phase:"parsing"});const r=e.data.sharedBuffer,_=e.data.type==="prepass-fast";let i;try{const s=nt(r);i=_?t.buildPrePassFast(s):t.buildPrePassOnce(s)}catch(s){const c=s instanceof Error?s.message:String(s);console.warn(`[Worker] Prepass with SAB view failed (${c}), retrying with copy`);const o=_t(r);i=_?t.buildPrePassFast(o):t.buildPrePassOnce(o)}self.postMessage({type:"prepass-result",result:i});return}if(e.data.type==="init"){e.data.wasmUrl&&(kt=e.data.wasmUrl),e.data.wasmModule?(_e({module_or_path:e.data.wasmModule}),m=new $,V=!1,rt()):await S(),self.postMessage({type:"ready"});return}if(e.data.type==="process"){await S();const{sharedBuffer:t,jobsFlat:r,unitScale:_,rtcX:i,rtcY:s,rtcZ:c,needsShift:o,voidKeys:b,voidCounts:w,voidValues:q,styleIds:J,styleColors:N}=e.data,F=ht({sharedBuffer:t,unitScale:_,rtcX:i,rtcY:s,rtcZ:c,needsShift:o,voidKeys:b,voidCounts:w,voidValues:q,styleIds:J,styleColors:N});u=F,await mt(F,r),xt(F),u=null;return}if(e.data.type==="stream-start"){await S(),u=ht({sharedBuffer:e.data.sharedBuffer,unitScale:e.data.unitScale,rtcX:e.data.rtcX,rtcY:e.data.rtcY,rtcZ:e.data.rtcZ,needsShift:e.data.needsShift,voidKeys:e.data.voidKeys,voidCounts:e.data.voidCounts,voidValues:e.data.voidValues,styleIds:e.data.styleIds,styleColors:e.data.styleColors});return}if(e.data.type==="stream-chunk"){if(!u)throw new Error("stream-chunk received before stream-start");await mt(u,e.data.jobsFlat);return}if(e.data.type==="set-styles"){if(!u)return;u.styleIds=e.data.styleIds,u.styleColors=e.data.styleColors,u.voidKeys=e.data.voidKeys,u.voidCounts=e.data.voidCounts,u.voidValues=e.data.voidValues;return}if(e.data.type==="set-entity-index"){(await S()).setEntityIndex(e.data.ids,e.data.starts,e.data.lengths);return}if(e.data.type==="set-merge-layers"){Rt=e.data.enabled===!0,V=!1,rt();return}if(e.data.type==="stream-end"){if(!u)throw new Error("stream-end received before stream-start");xt(u),u=null;return}}catch(t){self.postMessage({type:"error",message:t instanceof Error?t.message:String(t)})}}
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/raw-R2QfzPAR.js","assets/sandbox-DDSZ7rek.js","assets/lens-PYsLu_MA.js","assets/__vite-browser-external-B1O5LaIO.js","assets/lzw-C9z0fG2o.js","assets/jpeg-DhwFEbqb.js","assets/deflate-Cfp9t1Df.js","assets/pako.esm-Cram60i4.js","assets/packbits-jfwifz7C.js","assets/lerc-Dz6BXOVb.js","assets/zip-BJqVbRkU.js","assets/zstd-3q5qcl5V.js","assets/webimage-XFHVyVtC.js"])))=>i.map(i=>d[i]);
2
- import { _ as H, __tla as __tla_0 } from "./sandbox-DDSZ7rek.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/raw-D9iw0tmc.js","assets/sandbox-BAC3a-eN.js","assets/lens-PYsLu_MA.js","assets/__vite-browser-external-B1O5LaIO.js","assets/lzw-oWetY-d6.js","assets/jpeg-D4wOkf5h.js","assets/deflate-B-d0SYQM.js","assets/pako.esm-n3Pgozwg.js","assets/packbits-F8Nkp4NY.js","assets/lerc-DmW0_tgf.js","assets/zip-DFgP-l20.js","assets/zstd-C_1HxVrA.js","assets/webimage-BLV1dgmd.js"])))=>i.map(i=>d[i]);
2
+ import { _ as H, __tla as __tla_0 } from "./sandbox-BAC3a-eN.js";
3
3
  import P from "./__vite-browser-external-B1O5LaIO.js";
4
4
  let Se, II, gI, Ye;
5
5
  let __tla = Promise.all([
@@ -953,12 +953,12 @@ let __tla = Promise.all([
953
953
  void 0,
954
954
  1
955
955
  ],
956
- importFn: ()=>H(()=>import("./raw-R2QfzPAR.js"), __vite__mapDeps([0,1,2,3])).then((I)=>I.default),
956
+ importFn: ()=>H(()=>import("./raw-D9iw0tmc.js"), __vite__mapDeps([0,1,2,3])).then((I)=>I.default),
957
957
  preferWorker: !1
958
958
  },
959
959
  {
960
960
  cases: 5,
961
- importFn: ()=>H(()=>import("./lzw-C9z0fG2o.js"), __vite__mapDeps([4,1,2,3])).then((I)=>I.default)
961
+ importFn: ()=>H(()=>import("./lzw-oWetY-d6.js"), __vite__mapDeps([4,1,2,3])).then((I)=>I.default)
962
962
  },
963
963
  {
964
964
  cases: 6,
@@ -968,7 +968,7 @@ let __tla = Promise.all([
968
968
  },
969
969
  {
970
970
  cases: 7,
971
- importFn: ()=>H(()=>import("./jpeg-DhwFEbqb.js"), __vite__mapDeps([5,1,2,3])).then((I)=>I.default),
971
+ importFn: ()=>H(()=>import("./jpeg-D4wOkf5h.js"), __vite__mapDeps([5,1,2,3])).then((I)=>I.default),
972
972
  decoderParameterFn: async (I)=>({
973
973
  ...await rA(I),
974
974
  JPEGTables: await I.loadValue("JPEGTables")
@@ -979,15 +979,15 @@ let __tla = Promise.all([
979
979
  8,
980
980
  32946
981
981
  ],
982
- importFn: ()=>H(()=>import("./deflate-Cfp9t1Df.js"), __vite__mapDeps([6,7,1,2,3])).then((I)=>I.default)
982
+ importFn: ()=>H(()=>import("./deflate-B-d0SYQM.js"), __vite__mapDeps([6,7,1,2,3])).then((I)=>I.default)
983
983
  },
984
984
  {
985
985
  cases: 32773,
986
- importFn: ()=>H(()=>import("./packbits-jfwifz7C.js"), __vite__mapDeps([8,1,2,3])).then((I)=>I.default)
986
+ importFn: ()=>H(()=>import("./packbits-F8Nkp4NY.js"), __vite__mapDeps([8,1,2,3])).then((I)=>I.default)
987
987
  },
988
988
  {
989
989
  cases: 34887,
990
- importFn: ()=>H(()=>import("./lerc-Dz6BXOVb.js"), __vite__mapDeps([9,7,10,1,2,3])).then(async (I)=>(await I.zstd.init(), I)).then((I)=>I.default),
990
+ importFn: ()=>H(()=>import("./lerc-DmW0_tgf.js"), __vite__mapDeps([9,7,10,1,2,3])).then(async (I)=>(await I.zstd.init(), I)).then((I)=>I.default),
991
991
  decoderParameterFn: async (I)=>({
992
992
  ...await rA(I),
993
993
  LercParameters: await I.loadValue("LercParameters")
@@ -995,11 +995,11 @@ let __tla = Promise.all([
995
995
  },
996
996
  {
997
997
  cases: 5e4,
998
- importFn: ()=>H(()=>import("./zstd-3q5qcl5V.js"), __vite__mapDeps([11,1,2,3])).then(async (I)=>(await I.zstd.init(), I)).then((I)=>I.default)
998
+ importFn: ()=>H(()=>import("./zstd-C_1HxVrA.js"), __vite__mapDeps([11,1,2,3])).then(async (I)=>(await I.zstd.init(), I)).then((I)=>I.default)
999
999
  },
1000
1000
  {
1001
1001
  cases: 50001,
1002
- importFn: ()=>H(()=>import("./webimage-XFHVyVtC.js"), __vite__mapDeps([12,1,2,3])).then((I)=>I.default),
1002
+ importFn: ()=>H(()=>import("./webimage-BLV1dgmd.js"), __vite__mapDeps([12,1,2,3])).then((I)=>I.default),
1003
1003
  decoderParameterFn: async (I)=>({
1004
1004
  ...await rA(I),
1005
1005
  samplesPerPixel: Number(await I.loadValue("SamplesPerPixel")) || 4