@ifc-lite/viewer 1.28.0 → 1.29.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.
- package/.turbo/turbo-build.log +38 -45
- package/CHANGELOG.md +66 -0
- package/dist/assets/{arrow-CXWhTnNT.js → arrow-fie-E7fe.js} +1 -1
- package/dist/assets/{basketViewActivator-BNRDNuUJ.js → basketViewActivator-BSRgF1Hw.js} +10 -10
- package/dist/assets/{bcf-DCwCuP7n.js → bcf-3uE1MvcT.js} +2 -2
- package/dist/assets/{cesium-CzZn5yVA.js → cesium-DezSO2mp.js} +658 -597
- package/dist/assets/{deflate-DNGgs8Ur.js → deflate-BLlUfw9-.js} +1 -1
- package/dist/assets/drawing-2d-CLn7Mtj8.js +257 -0
- package/dist/assets/{exporters-B9v81gi9.js → exporters-BL6UmxRa.js} +1724 -1533
- package/dist/assets/geometry.worker-DVwFYHTq.js +1 -0
- package/dist/assets/{geotiff-D-YCLS4g.js → geotiff-BydcIud8.js} +12 -12
- package/dist/assets/{ids-CCpq-5d3.js → ids-DFl74rTt.js} +6 -6
- package/dist/assets/{ifc-lite_bg-DbgS5EUA.wasm → ifc-lite_bg-FPffpFK_.wasm} +0 -0
- package/dist/assets/{index-Bgb3_Pu_.js → index-BNTlm2lP.js} +36770 -38098
- package/dist/assets/index-DpoJvkdg.css +1 -0
- package/dist/assets/{index.es-CWfqZyyr.js → index.es-Bk4nLsyS.js} +11 -11
- package/dist/assets/{jpeg-DGOAeUqU.js → jpeg-BvMO8-Tc.js} +1 -1
- package/dist/assets/{jspdf.es.min-XPLU2Wkq.js → jspdf.es.min-BZ_ed66E.js} +5 -5
- package/dist/assets/{lens-C4p1kQ0p.js → lens-DMnqMXpz.js} +1 -1
- package/dist/assets/{lerc-1PMSCHwX.js → lerc-CNnDpLpV.js} +1 -1
- package/dist/assets/{lzw-C65U9lNM.js → lzw-DBaPrGGZ.js} +1 -1
- package/dist/assets/{native-bridge-XxXos6yI.js → native-bridge-DFOoBvTg.js} +6 -3
- package/dist/assets/{packbits-BdMWXC3m.js → packbits-C7uyD2Bi.js} +1 -1
- package/dist/assets/{parser.worker-Ddwo3_06.js → parser.worker-U_PVhLNi.js} +3 -3
- package/dist/assets/{pdf-CRwaZf3s.js → pdf-DlqdjX9e.js} +12 -12
- package/dist/assets/raw-p_2cfl6T.js +1 -0
- package/dist/assets/{sandbox-0sDo3g3m.js → sandbox-0Z2NzeOJ.js} +3446 -2881
- package/dist/assets/{server-client-cTCJ-853.js → server-client-DUMy2mXg.js} +4 -4
- package/dist/assets/{three-CQBzFWY2.js → three-SQm7uqwa.js} +1 -1
- package/dist/assets/{webimage-BtakWX7W.js → webimage-zN-oCabb.js} +1 -1
- package/dist/assets/{xlsx-B1YOg2QB.js → xlsx-N2LbIR1G.js} +10 -10
- package/dist/assets/{zstd-CmwsbxmM.js → zstd-Jk3QKIeb.js} +1 -1
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-Z2M4BF4E.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-35LM35A5.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-I5NKQIWE.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-3R3BCVRR.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VCOHJNKB.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-44VKZ44M.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-J6BM74AD.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-4LOVZYQ2.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-LYLRYC4L.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-55KTRCCC.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-Z4ERBZFB.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-5AJUPXGZ.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-LBZ34MHQ.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-5EEMCPIO.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-5HZ2G332.js +26 -0
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-5XHUDY37.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-6K4BWAPV.js} +1 -1
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-FC6IYMYF.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-6LZUEMFX.js} +1 -1
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-LOQDTQMX.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-6NPJZ3PS.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-6WMLAJJP.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-A3K5FM7E.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-FB7UV5BI.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-AP7AMWJA.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-U3YGOX3C.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-AZCCS55A.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-PPFUDJN4.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-BXPFAIYZ.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VXCJOT4W.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-C4NHPSO2.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-DRBPXGI7.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-CJGWLCOV.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-TSGIJVWH.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-E4MSZ45D.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XR7MN4PJ.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-FCRW2AGG.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-2ZYB3DYT.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-FMWRN5G2.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-5BC2Q3QW.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-FXWI4VL7.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XU6O4MRS.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-FYQCPFNB.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-L7UE5MMF.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-G46AR6KP.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-AXNBHUAG.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-GS4ZGDWD.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VXAZXMUX.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-GZABERXA.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EZSKHVA2.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-H6AHPUMX.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-72KUXMWU.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-IPQQ2USK.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-T3ZGSZKA.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-ITSDUOWL.js} +1 -1
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-KG2GJUJT.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-J6WO2HA5.js} +1 -1
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-IYRGNBSH.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-K3YIAZU7.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-7NQYTTAU.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-K72DPWBT.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-DC3K7YTH.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-LKQXJXNV.js} +1 -1
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-MGPRMLLW.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-LTHJTGXC.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-4M56RRIL.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-LUECBOIT.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-236YIEYT.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-MUI5QV7K.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XEC656IT.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-OS2CBN2U.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-IH7GXIUB.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-R5DFAOJG.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-X4D5KUN5.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-R7QNYLFY.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-WPD3MB6X.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-RH3WVPDR.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EYZUSGKM.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-RI3TXBVT.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-ZY2KCIWI.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-RU2T2U4O.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XR53QRQS.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-SSYRCXAV.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-TM6SYYHO.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-U4VWQPTS.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-GXEQRH2R.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-UHTXIDKA.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XZBHEBLF.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-V74K6IQF.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-OMUAZ3NM.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-VELRZYUL.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-PQ3V63XF.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-VXS2FTO4.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-PWBQN4GK.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-VZ4ER5HI.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EARRZPMO.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-WC7WZIXH.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-GF67PEXE.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-WM6AKY6B.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VBYOXOSM.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-WTIPXHS3.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-IPP3UFGH.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-WZYIA4NB.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-A35GG5WJ.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-XEBZTQHW.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-QOTMLO2T.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-XFWEZBPW.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-NP26LKQA.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-YLWWFMFQ.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-F3WJIFOO.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-YNBY2HFD.js} +1 -1
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EHC3BDVP.js → cesium@1.142.0/node_modules/cesium/Build/Cesium/Workers/chunk-ZQTDDQLY.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/combineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createBoxGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createBoxOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createCircleGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createCircleOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createCoplanarPolygonGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createCorridorGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createCorridorOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createCylinderGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createCylinderOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createEllipseGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createEllipseOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createEllipsoidGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createEllipsoidOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createFrustumGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createFrustumOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createGroundPolylineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createPlaneGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createPlaneOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createPolygonGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createPolygonOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createPolylineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createPolylineVolumeGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createRectangleGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createRectangleOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createSimplePolylineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createSphereGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createSphereOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createTaskProcessorWorker.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createVectorTileClampedPolylines.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createVectorTileGeometries.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createVectorTilePoints.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createVectorTilePolygons.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createVectorTilePolylines.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createVerticesFromCesium3DTilesTerrain.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createVerticesFromHeightmap.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createWallGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/createWallOutlineGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/decodeDraco.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/decodeI3S.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/gaussianSplatSorter.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/gaussianSplatTextureGenerator.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/incrementallyBuildTerrainPicker.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/transcodeKTX2.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/transferTypedArrayTest.js +1 -1
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/upsampleQuantizedTerrainMesh.js +2 -2
- package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +2 -2
- package/dist/index.html +11 -11
- package/package.json +35 -35
- package/src/App.tsx +1 -3
- package/src/components/viewer/BCFPanel.tsx +1 -16
- package/src/components/viewer/ChatPanel.tsx +11 -46
- package/src/components/viewer/HierarchyPanel.tsx +2 -176
- package/src/components/viewer/IDSPanel.tsx +1 -26
- package/src/components/viewer/MainToolbar.tsx +104 -187
- package/src/components/viewer/MobileToolbar.tsx +1 -9
- package/src/components/viewer/PropertiesPanel.tsx +28 -126
- package/src/components/viewer/ScriptPanel.tsx +8 -34
- package/src/components/viewer/Section2DPanel.tsx +32 -1
- package/src/components/viewer/ToolOverlays.tsx +5 -0
- package/src/components/viewer/ViewerLayout.tsx +0 -2
- package/src/components/viewer/ViewportContainer.tsx +71 -42
- package/src/components/viewer/ViewportOverlays.tsx +1 -4
- package/src/components/viewer/tools/SpaceSketchOverlay.tsx +872 -0
- package/src/components/viewer/useGeometryStreaming.ts +0 -2
- package/src/hooks/ingest/federationAlign.ts +7 -0
- package/src/hooks/useConstructionUnderlay.ts +94 -0
- package/src/hooks/useDrawingGeneration.ts +307 -14
- package/src/hooks/useIfcCache.ts +94 -41
- package/src/hooks/useIfcFederation.ts +2 -3
- package/src/hooks/useIfcLoader.ts +10 -1051
- package/src/services/cacheService.ts +9 -25
- package/src/services/desktop-export.ts +2 -59
- package/src/services/file-dialog.ts +8 -142
- package/src/store/constants.ts +23 -0
- package/src/store/index.ts +3 -5
- package/src/store/slices/drawing2DSlice.ts +8 -0
- package/src/store/slices/mutationSlice.ts +21 -0
- package/src/store/slices/uiSlice.ts +1 -0
- package/src/store/slices/visibilitySlice.ts +42 -1
- package/src/store/types.ts +1 -71
- package/src/utils/ifcConfig.ts +0 -12
- package/vite.config.ts +6 -3
- package/DESKTOP_CONTRACT_VERSION +0 -1
- package/dist/assets/drawing-2d-D0dDf6Lh.js +0 -257
- package/dist/assets/event-B0kAzHa-.js +0 -1
- package/dist/assets/geometry.worker-Bpa3115V.js +0 -1
- package/dist/assets/index-BtbXFKsX.css +0 -1
- package/dist/assets/raw-CJgQdyuZ.js +0 -1
- package/dist/assets/tauri-core-stub-D8Fa-u43.js +0 -1
- package/dist/assets/tauri-dialog-stub-r7Wksg7o.js +0 -1
- package/dist/assets/tauri-fs-stub-BdeRC7aK.js +0 -1
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-SP35IT73.js +0 -26
- package/src/components/viewer/DesktopEntitlementBanner.tsx +0 -74
- package/src/components/viewer/SettingsPage.tsx +0 -581
- package/src/lib/desktop/desktopEntitlementEvents.ts +0 -39
- package/src/lib/desktop-entitlement.ts +0 -43
- package/src/lib/desktop-product.ts +0 -130
- package/src/lib/platform.ts +0 -23
- package/src/services/desktop-cache.ts +0 -186
- package/src/services/desktop-harness.ts +0 -196
- package/src/services/desktop-logger.ts +0 -20
- package/src/services/desktop-native-metadata.ts +0 -230
- package/src/services/desktop-panel-actions.ts +0 -43
- package/src/services/desktop-preferences.ts +0 -44
- package/src/services/fs-cache.ts +0 -212
- package/src/services/tauri-core-stub.ts +0 -7
- package/src/services/tauri-dialog-stub.ts +0 -7
- package/src/services/tauri-fs-stub.ts +0 -7
- package/src/services/tauri-modules.d.ts +0 -50
- package/src/store/slices/desktopEntitlementSlice.ts +0 -86
- package/src/utils/desktopModelSnapshot.ts +0 -359
- package/src/utils/nativeSpatialDataStore.ts +0 -277
- package/src-tauri/Cargo.toml +0 -29
- package/src-tauri/build.rs +0 -7
- package/src-tauri/capabilities/default.json +0 -18
- package/src-tauri/icons/128x128.png +0 -0
- package/src-tauri/icons/128x128@2x.png +0 -0
- package/src-tauri/icons/32x32.png +0 -0
- package/src-tauri/icons/Square107x107Logo.png +0 -0
- package/src-tauri/icons/Square142x142Logo.png +0 -0
- package/src-tauri/icons/Square150x150Logo.png +0 -0
- package/src-tauri/icons/Square284x284Logo.png +0 -0
- package/src-tauri/icons/Square30x30Logo.png +0 -0
- package/src-tauri/icons/Square310x310Logo.png +0 -0
- package/src-tauri/icons/Square44x44Logo.png +0 -0
- package/src-tauri/icons/Square71x71Logo.png +0 -0
- package/src-tauri/icons/Square89x89Logo.png +0 -0
- package/src-tauri/icons/StoreLogo.png +0 -0
- package/src-tauri/icons/icon.icns +0 -0
- package/src-tauri/icons/icon.ico +0 -0
- package/src-tauri/icons/icon.png +0 -0
- package/src-tauri/src/lib.rs +0 -21
- package/src-tauri/src/main.rs +0 -10
- package/src-tauri/tauri.conf.json +0 -39
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Images/bing_maps_credit.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Images/cesium_credit.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Images/google_earth_credit.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Images/ion-credit.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/airfield.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/airport.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/alcohol-shop.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/america-football.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/art-gallery.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/bakery.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/bank.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/bar.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/baseball.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/basketball.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/beer.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/bicycle.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/building.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/bus.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/cafe.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/camera.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/campsite.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/car.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/cemetery.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/cesium.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/chemist.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/cinema.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/circle-stroked.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/circle.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/city.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/clothing-store.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/college.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/commercial.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/cricket.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/cross.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/dam.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/danger.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/disability.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/dog-park.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/embassy.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/emergency-telephone.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/entrance.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/farm.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/fast-food.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/ferry.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/fire-station.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/fuel.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/garden.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/gift.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/golf.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/grocery.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/hairdresser.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/harbor.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/heart.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/heliport.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/hospital.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/ice-cream.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/industrial.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/land-use.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/laundry.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/library.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/lighthouse.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/lodging.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/logging.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/london-underground.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/marker-stroked.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/marker.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/minefield.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/mobilephone.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/monument.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/museum.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/music.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/oil-well.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/park.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/park2.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/parking-garage.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/parking.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/pharmacy.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/pitch.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/place-of-worship.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/playground.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/police.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/polling-place.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/post.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/prison.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/rail-above.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/rail-light.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/rail-metro.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/rail-underground.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/rail.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/religious-christian.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/religious-jewish.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/religious-muslim.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/restaurant.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/roadblock.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/rocket.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/school.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/scooter.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/shop.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/skiing.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/slaughterhouse.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/soccer.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/square-stroked.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/square.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/star-stroked.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/star.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/suitcase.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/swimming.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/telephone.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/tennis.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/theatre.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/toilets.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/town-hall.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/town.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/triangle-stroked.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/triangle.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/village.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/warehouse.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/waste-basket.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/water.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/wetland.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/maki/zoo.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/moonSmall.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/pin.svg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/waterNormals.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/Textures/waterNormalsSmall.jpg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Assets/approximateTerrainHeights.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/ThirdParty/Workers/package.json +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/ThirdParty/Workers/zip-web-worker.js +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/ThirdParty/basis_transcoder.wasm +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/ThirdParty/draco_decoder.wasm +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/ThirdParty/google-earth-dbroot-parser.js +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/ThirdParty/wasm_splats_bg.wasm +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/ThirdParty/zip-module.wasm +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Animation/Animation.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Animation/lighter.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/BaseLayerPicker/BaseLayerPicker.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/BaseLayerPicker/lighter.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/CesiumInspector/CesiumInspector.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/CesiumWidget/CesiumWidget.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/CesiumWidget/lighter.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/FullscreenButton/FullscreenButton.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Geocoder/Geocoder.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Geocoder/lighter.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/I3SBuildingSceneLayerExplorer/I3SBuildingSceneLayerExplorer.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/azureAerial.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/azureRoads.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/bingAerial.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/bingAerialLabels.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/bingRoads.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/blueMarble.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/earthAtNight.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/googleContour.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/googleRoadmap.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/googleSatellite.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/googleSatelliteLabels.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/mapboxSatellite.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/mapboxStreets.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/mapboxTerrain.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/naturalEarthII.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/openStreetMap.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/sentinel-2.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/stamenToner.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/ImageryProviders/stamenWatercolor.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/NavigationHelp/Mouse.svg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/NavigationHelp/MouseLeft.svg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/NavigationHelp/MouseMiddle.svg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/NavigationHelp/MouseRight.svg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/NavigationHelp/Touch.svg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/NavigationHelp/TouchDrag.svg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/NavigationHelp/TouchRotate.svg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/NavigationHelp/TouchTilt.svg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/NavigationHelp/TouchZoom.svg +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/TerrainProviders/Ellipsoid.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/TimelineIcons.png +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Images/info-loading.gif +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/InfoBox/InfoBox.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/InfoBox/InfoBoxDescription.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/NavigationHelpButton/NavigationHelpButton.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/NavigationHelpButton/lighter.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/PerformanceWatchdog/PerformanceWatchdog.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/ProjectionPicker/ProjectionPicker.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/SceneModePicker/SceneModePicker.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/SelectionIndicator/SelectionIndicator.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Timeline/Timeline.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Timeline/lighter.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/VRButton/VRButton.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/Viewer/Viewer.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/VoxelInspector/VoxelInspector.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/lighter.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/lighterShared.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/shared.css +0 -0
- /package/dist/cesium/node_modules/.pnpm/{cesium@1.141.0 → cesium@1.142.0}/node_modules/cesium/Build/Cesium/Widgets/widgets.css +0 -0
|
@@ -3,16 +3,11 @@
|
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
* Dynamically loads the appropriate cache implementation based on platform:
|
|
8
|
-
* - Tauri (desktop): Uses native filesystem via desktop-cache.ts
|
|
9
|
-
* - Web: Uses IndexedDB via ifc-cache.ts
|
|
6
|
+
* Cache service — IndexedDB-backed cache (ifc-cache.ts) for the web build.
|
|
10
7
|
*
|
|
11
8
|
* Extracted from useIfc.ts for reusability and testability
|
|
12
9
|
*/
|
|
13
10
|
|
|
14
|
-
import { isTauri } from '../utils/ifcConfig.js';
|
|
15
|
-
|
|
16
11
|
// ============================================================================
|
|
17
12
|
// Types
|
|
18
13
|
// ============================================================================
|
|
@@ -65,29 +60,18 @@ export interface ICacheService {
|
|
|
65
60
|
let cacheService: ICacheService | null = null;
|
|
66
61
|
|
|
67
62
|
/**
|
|
68
|
-
* Get the cache service
|
|
69
|
-
* Lazily loads the
|
|
63
|
+
* Get the cache service.
|
|
64
|
+
* Lazily loads the IndexedDB implementation.
|
|
70
65
|
*/
|
|
71
66
|
export async function getCacheService(): Promise<ICacheService> {
|
|
72
67
|
if (cacheService) return cacheService;
|
|
73
68
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
deleteCached: mod.deleteCached,
|
|
81
|
-
};
|
|
82
|
-
} else {
|
|
83
|
-
// Web: Use IndexedDB
|
|
84
|
-
const mod = await import('./ifc-cache.js');
|
|
85
|
-
cacheService = {
|
|
86
|
-
getCached: mod.getCached,
|
|
87
|
-
setCached: mod.setCached,
|
|
88
|
-
deleteCached: mod.deleteCached,
|
|
89
|
-
};
|
|
90
|
-
}
|
|
69
|
+
const mod = await import('./ifc-cache.js');
|
|
70
|
+
cacheService = {
|
|
71
|
+
getCached: mod.getCached,
|
|
72
|
+
setCached: mod.setCached,
|
|
73
|
+
deleteCached: mod.deleteCached,
|
|
74
|
+
};
|
|
91
75
|
|
|
92
76
|
return cacheService;
|
|
93
77
|
}
|
|
@@ -2,34 +2,8 @@
|
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { type IfcDataStore } from '@ifc-lite/parser';
|
|
6
6
|
import { getViewerStoreApi } from '@/store';
|
|
7
|
-
import { toast } from '@/components/ui/toast';
|
|
8
|
-
import { readNativeFile } from '@/services/file-dialog';
|
|
9
|
-
|
|
10
|
-
const exportHydrationByModel = new Map<string, Promise<IfcDataStore | null>>();
|
|
11
|
-
|
|
12
|
-
function isDesktopRuntime(): boolean {
|
|
13
|
-
// `globalThis` and `Window` aren't structurally compatible per TS, so
|
|
14
|
-
// route through `unknown` first — the cast is intentional.
|
|
15
|
-
const win = globalThis as unknown as Window & { __TAURI_INTERNALS__?: { invoke?: unknown } };
|
|
16
|
-
return typeof win.__TAURI_INTERNALS__?.invoke === 'function';
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function hasFullStepSource(dataStore: IfcDataStore | null | undefined): dataStore is IfcDataStore {
|
|
20
|
-
return Boolean(dataStore?.source?.length && dataStore.entityIndex?.byId?.size);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function toExactArrayBuffer(bytes: Uint8Array): ArrayBuffer {
|
|
24
|
-
if (
|
|
25
|
-
bytes.buffer instanceof ArrayBuffer
|
|
26
|
-
&& bytes.byteOffset === 0
|
|
27
|
-
&& bytes.byteLength === bytes.buffer.byteLength
|
|
28
|
-
) {
|
|
29
|
-
return bytes.buffer;
|
|
30
|
-
}
|
|
31
|
-
return bytes.slice().buffer;
|
|
32
|
-
}
|
|
33
7
|
|
|
34
8
|
export async function ensureModelExportReady(modelId: string): Promise<IfcDataStore | null> {
|
|
35
9
|
const store = getViewerStoreApi();
|
|
@@ -44,36 +18,5 @@ export async function ensureModelExportReady(modelId: string): Promise<IfcDataSt
|
|
|
44
18
|
return null;
|
|
45
19
|
}
|
|
46
20
|
|
|
47
|
-
|
|
48
|
-
return model.ifcDataStore;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (!isDesktopRuntime() || !model.nativeMetadata?.filePath) {
|
|
52
|
-
return model.ifcDataStore;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const pending = exportHydrationByModel.get(modelId);
|
|
56
|
-
if (pending) {
|
|
57
|
-
return pending;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const hydrationPromise = (async () => {
|
|
61
|
-
toast.info(`Preparing ${model.name} for IFC export...`);
|
|
62
|
-
const bytes = await readNativeFile(model.nativeMetadata!.filePath);
|
|
63
|
-
const parser = new IfcParser();
|
|
64
|
-
const hydratedStore = await parser.parseColumnar(toExactArrayBuffer(bytes));
|
|
65
|
-
|
|
66
|
-
store.getState().updateModel(modelId, {
|
|
67
|
-
ifcDataStore: hydratedStore,
|
|
68
|
-
schemaVersion: hydratedStore.schemaVersion,
|
|
69
|
-
metadataLoadState: 'complete',
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
return hydratedStore;
|
|
73
|
-
})().finally(() => {
|
|
74
|
-
exportHydrationByModel.delete(modelId);
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
exportHydrationByModel.set(modelId, hydrationPromise);
|
|
78
|
-
return hydrationPromise;
|
|
21
|
+
return model.ifcDataStore;
|
|
79
22
|
}
|
|
@@ -2,151 +2,17 @@
|
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
|
|
5
|
-
type InvokeFn = <T>(cmd: string, args?: Record<string, unknown>) => Promise<T>;
|
|
6
|
-
|
|
7
|
-
export interface NativeFileHandle {
|
|
8
|
-
path: string;
|
|
9
|
-
name: string;
|
|
10
|
-
size: number;
|
|
11
|
-
modifiedMs?: number | null;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
5
|
export interface GenericFileDialogOptions {
|
|
15
6
|
title?: string;
|
|
16
7
|
filters?: Array<{ name: string; extensions: string[] }>;
|
|
17
8
|
}
|
|
18
9
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
async function loadDialogModule(): Promise<{
|
|
29
|
-
open: (options?: {
|
|
30
|
-
multiple?: boolean;
|
|
31
|
-
directory?: boolean;
|
|
32
|
-
filters?: Array<{ name: string; extensions: string[] }>;
|
|
33
|
-
title?: string;
|
|
34
|
-
}) => Promise<string | string[] | null>;
|
|
35
|
-
} | null> {
|
|
36
|
-
try {
|
|
37
|
-
return await import('@tauri-apps/plugin-dialog');
|
|
38
|
-
} catch {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async function loadFsModule(): Promise<{
|
|
44
|
-
stat: (path: string) => Promise<{ size: number }>;
|
|
45
|
-
} | null> {
|
|
46
|
-
try {
|
|
47
|
-
return await import('@tauri-apps/plugin-fs');
|
|
48
|
-
} catch {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
async function getInvoke(): Promise<InvokeFn> {
|
|
54
|
-
const win = globalThis as unknown as { __TAURI_INTERNALS__?: { invoke: InvokeFn } };
|
|
55
|
-
if (win.__TAURI_INTERNALS__?.invoke) {
|
|
56
|
-
return win.__TAURI_INTERNALS__.invoke;
|
|
57
|
-
}
|
|
58
|
-
const moduleInvoke = await loadInvokeFromTauriModule();
|
|
59
|
-
if (moduleInvoke) {
|
|
60
|
-
return moduleInvoke;
|
|
61
|
-
}
|
|
62
|
-
throw new Error('Tauri API not available');
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export async function openIfcFileDialog(): Promise<NativeFileHandle | null> {
|
|
66
|
-
try {
|
|
67
|
-
const invoke = await getInvoke();
|
|
68
|
-
return await invoke<NativeFileHandle | null>('open_ifc_file');
|
|
69
|
-
} catch {
|
|
70
|
-
// Expected in browser builds — fall through to plugin fallback, then browser file input.
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
try {
|
|
74
|
-
const dialog = await loadDialogModule();
|
|
75
|
-
const fs = await loadFsModule();
|
|
76
|
-
if (!dialog || !fs) {
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
const selected = await dialog.open({
|
|
81
|
-
multiple: false,
|
|
82
|
-
directory: false,
|
|
83
|
-
title: 'Open IFC, Mesh or Point Cloud File',
|
|
84
|
-
filters: [
|
|
85
|
-
{ name: 'IFC Files', extensions: ['ifc', 'ifczip', 'ifcxml', 'ifcx'] },
|
|
86
|
-
{ name: 'Mesh Files', extensions: ['glb'] },
|
|
87
|
-
{ name: 'Point Clouds', extensions: ['las', 'laz', 'ply', 'pcd', 'e57'] },
|
|
88
|
-
{ name: 'All Files', extensions: ['*'] },
|
|
89
|
-
],
|
|
90
|
-
});
|
|
91
|
-
if (!selected || Array.isArray(selected)) {
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
const metadata = await fs.stat(selected);
|
|
96
|
-
const normalizedPath = selected.toString();
|
|
97
|
-
const pathSegments = normalizedPath.split(/[\\/]/);
|
|
98
|
-
const name = pathSegments[pathSegments.length - 1] || 'unknown.ifc';
|
|
99
|
-
|
|
100
|
-
return {
|
|
101
|
-
path: normalizedPath,
|
|
102
|
-
name,
|
|
103
|
-
size: metadata.size,
|
|
104
|
-
};
|
|
105
|
-
} catch {
|
|
106
|
-
// No Tauri plugin available — caller falls back to browser <input type="file">.
|
|
107
|
-
return null;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
export async function readNativeFile(path: string): Promise<Uint8Array> {
|
|
112
|
-
try {
|
|
113
|
-
const invoke = await getInvoke();
|
|
114
|
-
const bytes = await invoke<number[]>('read_native_file', { path });
|
|
115
|
-
return Uint8Array.from(bytes);
|
|
116
|
-
} catch (error) {
|
|
117
|
-
console.warn('[FileDialog] Falling back to plugin-fs read for native file:', error);
|
|
118
|
-
const fs = await import('@tauri-apps/plugin-fs');
|
|
119
|
-
return fs.readFile(path);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export async function openGenericFileDialog(options: GenericFileDialogOptions = {}): Promise<File | null> {
|
|
124
|
-
try {
|
|
125
|
-
const dialog = await loadDialogModule();
|
|
126
|
-
if (!dialog) {
|
|
127
|
-
return null;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
const selected = await dialog.open({
|
|
131
|
-
multiple: false,
|
|
132
|
-
directory: false,
|
|
133
|
-
title: options.title,
|
|
134
|
-
filters: options.filters,
|
|
135
|
-
});
|
|
136
|
-
if (!selected || Array.isArray(selected)) {
|
|
137
|
-
return null;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
const normalizedPath = selected.toString();
|
|
141
|
-
const bytes = await readNativeFile(normalizedPath);
|
|
142
|
-
const pathSegments = normalizedPath.split(/[\\/]/);
|
|
143
|
-
const name = pathSegments[pathSegments.length - 1] || 'document';
|
|
144
|
-
// Slice to a fresh ArrayBuffer view — TS5+ narrows `Uint8Array` to
|
|
145
|
-
// `Uint8Array<ArrayBufferLike>` which `BlobPart` doesn't accept.
|
|
146
|
-
const blobPart = new Uint8Array(bytes.buffer, bytes.byteOffset, bytes.byteLength).slice();
|
|
147
|
-
return new File([blobPart], name, { type: 'application/octet-stream' });
|
|
148
|
-
} catch (error) {
|
|
149
|
-
console.warn('[FileDialog] Failed to open generic native file dialog:', error);
|
|
150
|
-
return null;
|
|
151
|
-
}
|
|
10
|
+
/**
|
|
11
|
+
* Browser-only build: there is no native OS file dialog, so this resolves to
|
|
12
|
+
* `null` and callers fall back to a browser `<input type="file">`. (ifc-lite no
|
|
13
|
+
* longer ships a desktop app; third parties building their own desktop shell on
|
|
14
|
+
* the published packages supply native file access in their own host layer.)
|
|
15
|
+
*/
|
|
16
|
+
export async function openGenericFileDialog(_options: GenericFileDialogOptions = {}): Promise<null> {
|
|
17
|
+
return null;
|
|
152
18
|
}
|
package/src/store/constants.ts
CHANGED
|
@@ -222,6 +222,29 @@ export function getPersistedTypeVisibility(): TypeVisibility {
|
|
|
222
222
|
};
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
+
/**
|
|
226
|
+
* The 3D view mode for the Model/Types switch (#957 follow-up).
|
|
227
|
+
* 'model' — show placed occurrences (the default; the building as designed).
|
|
228
|
+
* 'types' — show the type-library shapes (each IfcTypeProduct's
|
|
229
|
+
* RepresentationMap at its MappingOrigin), hiding occurrences.
|
|
230
|
+
* Orphan type geometry (a type with no occurrence, e.g. annex-E showcase files)
|
|
231
|
+
* shows in BOTH modes since it is the only geometry the file has.
|
|
232
|
+
*/
|
|
233
|
+
export type TypeViewMode = 'model' | 'types';
|
|
234
|
+
|
|
235
|
+
export const TYPE_VIEW_MODE_STORAGE_KEY = 'ifc-lite-type-view-mode';
|
|
236
|
+
export const TYPE_VIEW_MODE_DEFAULT: TypeViewMode = 'model';
|
|
237
|
+
|
|
238
|
+
/** Resolve the persisted Model/Types view mode (read fresh, like type visibility). */
|
|
239
|
+
export function getPersistedTypeViewMode(): TypeViewMode {
|
|
240
|
+
if (typeof window === 'undefined') return TYPE_VIEW_MODE_DEFAULT;
|
|
241
|
+
try {
|
|
242
|
+
return localStorage.getItem(TYPE_VIEW_MODE_STORAGE_KEY) === 'types' ? 'types' : 'model';
|
|
243
|
+
} catch {
|
|
244
|
+
return TYPE_VIEW_MODE_DEFAULT;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
225
248
|
// ============================================================================
|
|
226
249
|
// Data Defaults
|
|
227
250
|
// ============================================================================
|
package/src/store/index.ts
CHANGED
|
@@ -38,7 +38,6 @@ import { createCompareSlice, type CompareSlice } from './slices/compareSlice.js'
|
|
|
38
38
|
import { createScriptSlice, type ScriptSlice } from './slices/scriptSlice.js';
|
|
39
39
|
import { createChatSlice, type ChatSlice } from './slices/chatSlice.js';
|
|
40
40
|
import { createCesiumSlice, type CesiumSlice } from './slices/cesiumSlice.js';
|
|
41
|
-
import { createDesktopEntitlementSlice, type DesktopEntitlementSlice } from './slices/desktopEntitlementSlice.js';
|
|
42
41
|
import { createScheduleSlice, type ScheduleSlice } from './slices/scheduleSlice.js';
|
|
43
42
|
import { createPlaybackSlice, type PlaybackSlice } from './slices/playbackSlice.js';
|
|
44
43
|
import { createOverlaySlice, type OverlaySlice } from './slices/overlaySlice.js';
|
|
@@ -51,7 +50,7 @@ import { createPointCloudSlice, type PointCloudSlice, POINT_CLOUD_DEFAULTS } fro
|
|
|
51
50
|
import { invalidateVisibleBasketCache } from './basketVisibleSet.js';
|
|
52
51
|
|
|
53
52
|
// Import constants for reset function
|
|
54
|
-
import { CAMERA_DEFAULTS, SECTION_PLANE_DEFAULTS, UI_DEFAULTS, getPersistedTypeVisibility } from './constants.js';
|
|
53
|
+
import { CAMERA_DEFAULTS, SECTION_PLANE_DEFAULTS, UI_DEFAULTS, getPersistedTypeVisibility, getPersistedTypeViewMode } from './constants.js';
|
|
55
54
|
|
|
56
55
|
// Re-export types for consumers
|
|
57
56
|
export type * from './types.js';
|
|
@@ -93,7 +92,6 @@ export type { ScriptSlice } from './slices/scriptSlice.js';
|
|
|
93
92
|
|
|
94
93
|
// Re-export Chat types
|
|
95
94
|
export type { ChatSlice } from './slices/chatSlice.js';
|
|
96
|
-
export type { DesktopEntitlementSlice } from './slices/desktopEntitlementSlice.js';
|
|
97
95
|
|
|
98
96
|
// Re-export Cesium types
|
|
99
97
|
export type { CesiumSlice, CesiumDataSource, CesiumPlacementDraft } from './slices/cesiumSlice.js';
|
|
@@ -137,7 +135,6 @@ export type ViewerState = LoadingSlice &
|
|
|
137
135
|
ScriptSlice &
|
|
138
136
|
ChatSlice &
|
|
139
137
|
CesiumSlice &
|
|
140
|
-
DesktopEntitlementSlice &
|
|
141
138
|
ScheduleSlice &
|
|
142
139
|
PlaybackSlice &
|
|
143
140
|
OverlaySlice &
|
|
@@ -189,7 +186,6 @@ const createViewerStore = () => create<ViewerState>()((...args) => ({
|
|
|
189
186
|
...createScriptSlice(...args),
|
|
190
187
|
...createChatSlice(...args),
|
|
191
188
|
...createCesiumSlice(...args),
|
|
192
|
-
...createDesktopEntitlementSlice(...args),
|
|
193
189
|
...createScheduleSlice(...args),
|
|
194
190
|
...createPlaybackSlice(...args),
|
|
195
191
|
...createOverlaySlice(...args),
|
|
@@ -225,6 +221,7 @@ const createViewerStore = () => create<ViewerState>()((...args) => ({
|
|
|
225
221
|
// Re-read persisted toggles on every file load so a new model never
|
|
226
222
|
// reverts the user's visibility choices (e.g. "Show Annotations").
|
|
227
223
|
typeVisibility: getPersistedTypeVisibility(),
|
|
224
|
+
typeViewMode: getPersistedTypeViewMode(),
|
|
228
225
|
|
|
229
226
|
// Visibility (multi-model)
|
|
230
227
|
hiddenEntitiesByModel: new Map(),
|
|
@@ -330,6 +327,7 @@ const createViewerStore = () => create<ViewerState>()((...args) => ({
|
|
|
330
327
|
scale: 100,
|
|
331
328
|
useSymbolicRepresentations: false,
|
|
332
329
|
showIfcAnnotations: true,
|
|
330
|
+
showConstructionProjection: false,
|
|
333
331
|
},
|
|
334
332
|
// Graphic overrides (keep presets, reset active and custom)
|
|
335
333
|
activePresetId: 'preset-3d-colors',
|
|
@@ -98,6 +98,13 @@ export interface Drawing2DState {
|
|
|
98
98
|
* to the IfcAnnotation text feature).
|
|
99
99
|
*/
|
|
100
100
|
showIfcAnnotations: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Construction projection (issue #979): project geometry beyond the cut
|
|
103
|
+
* as reference lines — thin solid for the visible floor side, dashed for
|
|
104
|
+
* overhead elements (beams, roofs, eaves). Plan ('down') sections only.
|
|
105
|
+
* Off by default; the section view stays cut-only until enabled.
|
|
106
|
+
*/
|
|
107
|
+
showConstructionProjection: boolean;
|
|
101
108
|
};
|
|
102
109
|
/** Available graphic override presets */
|
|
103
110
|
graphicOverridePresets: GraphicOverridePreset[];
|
|
@@ -244,6 +251,7 @@ const getDefaultDisplayOptions = (): Drawing2DState['drawing2DDisplayOptions'] =
|
|
|
244
251
|
scale: 100, // 1:100 default
|
|
245
252
|
useSymbolicRepresentations: false, // Default to section cut (Body geometry)
|
|
246
253
|
showIfcAnnotations: true, // Mirror the 3D Class Visibility default
|
|
254
|
+
showConstructionProjection: false, // Optional reference projection (issue #979), off by default
|
|
247
255
|
});
|
|
248
256
|
|
|
249
257
|
const getDefaultState = (): Drawing2DState => ({
|
|
@@ -47,6 +47,7 @@ import { getEntityBounds } from '@/utils/viewportUtils';
|
|
|
47
47
|
import { toGlobalIdFromModels } from '../globalId.js';
|
|
48
48
|
import { buildElementMesh, type ElementMeshPayload } from './addElementMeshes.js';
|
|
49
49
|
import type { AddElementType } from './addElementSlice.js';
|
|
50
|
+
import type { TypeViewMode } from '../constants.js';
|
|
50
51
|
import {
|
|
51
52
|
resolvePlacementChain,
|
|
52
53
|
resolveRotationState,
|
|
@@ -92,6 +93,23 @@ export const DUPLICATE_DEFAULT_DIRECTION: DuplicateDirection = '+X';
|
|
|
92
93
|
/** Fallback step in metres when the source has no mesh in geometry. */
|
|
93
94
|
const DUPLICATE_FALLBACK_STEP = 1;
|
|
94
95
|
|
|
96
|
+
/**
|
|
97
|
+
* New occurrence geometry from an authoring action (add element, duplicate,
|
|
98
|
+
* split) is a class-0 mesh, which the 3D "Types" view deliberately hides. If
|
|
99
|
+
* the user is in Types view when they commit such an action, flip back to
|
|
100
|
+
* Model so the element they just created actually renders — otherwise the
|
|
101
|
+
* toast says "added" but nothing appears. No-op when already in Model view
|
|
102
|
+
* (so it never needlessly overwrites the persisted preference). Reads the
|
|
103
|
+
* live store via the cross-slice `get()`.
|
|
104
|
+
*/
|
|
105
|
+
function revealAddedGeometryInModelView(get: () => unknown): void {
|
|
106
|
+
const cross = get() as {
|
|
107
|
+
typeViewMode?: TypeViewMode;
|
|
108
|
+
setTypeViewMode?: (mode: TypeViewMode) => void;
|
|
109
|
+
};
|
|
110
|
+
if (cross.typeViewMode === 'types') cross.setTypeViewMode?.('model');
|
|
111
|
+
}
|
|
112
|
+
|
|
95
113
|
interface ViewerBox {
|
|
96
114
|
/** Per-axis sizes in viewer scene coordinates. */
|
|
97
115
|
size: { x: number; y: number; z: number };
|
|
@@ -921,6 +939,7 @@ function runInStoreElementBuilder(
|
|
|
921
939
|
appendGeometryBatch?: (batch: MeshData[]) => void;
|
|
922
940
|
};
|
|
923
941
|
cross.appendGeometryBatch?.([mesh]);
|
|
942
|
+
revealAddedGeometryInModelView(get);
|
|
924
943
|
}
|
|
925
944
|
}
|
|
926
945
|
|
|
@@ -2104,6 +2123,7 @@ export const createMutationSlice: StateCreator<
|
|
|
2104
2123
|
appendGeometryBatch?: (batch: MeshData[]) => void;
|
|
2105
2124
|
};
|
|
2106
2125
|
cross.appendGeometryBatch?.([columnMesh]);
|
|
2126
|
+
revealAddedGeometryInModelView(get);
|
|
2107
2127
|
}
|
|
2108
2128
|
|
|
2109
2129
|
set((s) => {
|
|
@@ -2352,6 +2372,7 @@ export const createMutationSlice: StateCreator<
|
|
|
2352
2372
|
appendGeometryBatch?: (batch: MeshData[]) => void;
|
|
2353
2373
|
};
|
|
2354
2374
|
cross.appendGeometryBatch?.(clonedMeshes);
|
|
2375
|
+
revealAddedGeometryInModelView(get);
|
|
2355
2376
|
}
|
|
2356
2377
|
|
|
2357
2378
|
return { expressId: newId, globalId: newGlobalId };
|
|
@@ -11,7 +11,14 @@
|
|
|
11
11
|
|
|
12
12
|
import type { StateCreator } from 'zustand';
|
|
13
13
|
import type { TypeVisibility, EntityRef } from '../types.js';
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
getPersistedTypeVisibility,
|
|
16
|
+
TYPE_VISIBILITY_STORAGE_KEYS,
|
|
17
|
+
TYPE_VISIBILITY_SEMANTIC_DEFAULTS,
|
|
18
|
+
getPersistedTypeViewMode,
|
|
19
|
+
TYPE_VIEW_MODE_STORAGE_KEY,
|
|
20
|
+
type TypeViewMode,
|
|
21
|
+
} from '../constants.js';
|
|
15
22
|
|
|
16
23
|
export interface VisibilitySlice {
|
|
17
24
|
// State (legacy - single model)
|
|
@@ -20,6 +27,15 @@ export interface VisibilitySlice {
|
|
|
20
27
|
/** Class-level filter (from Class tab type-group clicks) — independent of isolatedEntities */
|
|
21
28
|
classFilter: { ids: Set<number>; label: string } | null;
|
|
22
29
|
typeVisibility: TypeVisibility;
|
|
30
|
+
/** 3D view mode for the Model/Types switch (#957 follow-up). 'model' shows
|
|
31
|
+
* placed occurrences (default); 'types' shows the type-library shapes. */
|
|
32
|
+
typeViewMode: TypeViewMode;
|
|
33
|
+
/** True when the rendered geometry contains any type-library geometry
|
|
34
|
+
* (geometryClass 1 = orphan type, 2 = instanced type) — i.e. the Model/Types
|
|
35
|
+
* switch has something to reveal in "Types" mode. Derived from the merged
|
|
36
|
+
* mesh set by ViewportContainer; most models carry only occurrence geometry
|
|
37
|
+
* (class 0), so the switch stays hidden for them. */
|
|
38
|
+
hasTypeGeometry: boolean;
|
|
23
39
|
|
|
24
40
|
// State (multi-model)
|
|
25
41
|
/** Hidden entities per model */
|
|
@@ -46,6 +62,12 @@ export interface VisibilitySlice {
|
|
|
46
62
|
toggleTypeVisibility: (type: 'spaces' | 'openings' | 'site' | 'ifcAnnotations' | 'ifcGrid') => void;
|
|
47
63
|
/** Restore every type-visibility toggle to its semantic default (and persist). */
|
|
48
64
|
resetTypeVisibility: () => void;
|
|
65
|
+
/** Set the Model/Types 3D view mode (and persist). */
|
|
66
|
+
setTypeViewMode: (mode: TypeViewMode) => void;
|
|
67
|
+
/** Set whether the current geometry contains type-library geometry — drives
|
|
68
|
+
* whether the Model/Types switch renders at all. Runtime-only (not persisted);
|
|
69
|
+
* re-derived from geometry on every load. */
|
|
70
|
+
setHasTypeGeometry: (value: boolean) => void;
|
|
49
71
|
/** Set all hidden entities at once (for BCF viewpoint application) */
|
|
50
72
|
setHiddenEntities: (ids: Set<number>) => void;
|
|
51
73
|
/** Set all isolated entities at once (for BCF viewpoint with defaultVisibility=false) */
|
|
@@ -79,6 +101,9 @@ export const createVisibilitySlice: StateCreator<VisibilitySlice, [], [], Visibi
|
|
|
79
101
|
classFilter: null,
|
|
80
102
|
// Read persisted toggles fresh so the user's choices survive reloads.
|
|
81
103
|
typeVisibility: getPersistedTypeVisibility(),
|
|
104
|
+
typeViewMode: getPersistedTypeViewMode(),
|
|
105
|
+
// Derived from geometry at load time — no model is open yet, so default false.
|
|
106
|
+
hasTypeGeometry: false,
|
|
82
107
|
|
|
83
108
|
// Initial state (multi-model)
|
|
84
109
|
hiddenEntitiesByModel: new Map(),
|
|
@@ -221,6 +246,22 @@ export const createVisibilitySlice: StateCreator<VisibilitySlice, [], [], Visibi
|
|
|
221
246
|
return { typeVisibility: { ...TYPE_VISIBILITY_SEMANTIC_DEFAULTS } };
|
|
222
247
|
}),
|
|
223
248
|
|
|
249
|
+
setTypeViewMode: (mode) => set(() => {
|
|
250
|
+
if (typeof window !== 'undefined') {
|
|
251
|
+
try { localStorage.setItem(TYPE_VIEW_MODE_STORAGE_KEY, mode); }
|
|
252
|
+
catch { /* private-mode storage rejection — non-fatal */ }
|
|
253
|
+
}
|
|
254
|
+
return { typeViewMode: mode };
|
|
255
|
+
}),
|
|
256
|
+
|
|
257
|
+
setHasTypeGeometry: (value) => set((state) => (
|
|
258
|
+
// Return the SAME state reference when unchanged — a fresh `{}` would still
|
|
259
|
+
// merge into a new state object and notify every subscriber (incl. the
|
|
260
|
+
// whole-state useSyncExternalStore in ViewportContainer). Same ref → Zustand
|
|
261
|
+
// skips the notification entirely.
|
|
262
|
+
state.hasTypeGeometry === value ? state : { hasTypeGeometry: value }
|
|
263
|
+
)),
|
|
264
|
+
|
|
224
265
|
// Actions (multi-model)
|
|
225
266
|
hideEntityInModel: (modelId, expressId) => set((state) => {
|
|
226
267
|
const newMap = new Map(state.hiddenEntitiesByModel);
|
package/src/store/types.ts
CHANGED
|
@@ -298,75 +298,7 @@ export type MetadataLoadState =
|
|
|
298
298
|
| 'complete'
|
|
299
299
|
| 'error';
|
|
300
300
|
|
|
301
|
-
export
|
|
302
|
-
name: string;
|
|
303
|
-
value: string | number | boolean | null;
|
|
304
|
-
type?: number;
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
export interface NativeMetadataPropertySet {
|
|
308
|
-
name: string;
|
|
309
|
-
globalId?: string;
|
|
310
|
-
properties: NativeMetadataProperty[];
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
export interface NativeMetadataQuantity {
|
|
314
|
-
name: string;
|
|
315
|
-
value: number;
|
|
316
|
-
type?: number;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
export interface NativeMetadataQuantitySet {
|
|
320
|
-
name: string;
|
|
321
|
-
quantities: NativeMetadataQuantity[];
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
export interface NativeMetadataEntitySummary {
|
|
325
|
-
expressId: number;
|
|
326
|
-
type: string;
|
|
327
|
-
name: string;
|
|
328
|
-
globalId?: string | null;
|
|
329
|
-
kind: 'spatial' | 'element';
|
|
330
|
-
hasChildren: boolean;
|
|
331
|
-
elementCount?: number;
|
|
332
|
-
elevation?: number | null;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
export interface NativeMetadataSpatialNode extends NativeMetadataEntitySummary {
|
|
336
|
-
children: NativeMetadataSpatialNode[];
|
|
337
|
-
elements: NativeMetadataEntitySummary[];
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
export interface NativeMetadataSpatialInfo {
|
|
341
|
-
storeyId?: number | null;
|
|
342
|
-
storeyName?: string | null;
|
|
343
|
-
elevation?: number | null;
|
|
344
|
-
height?: number | null;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
export interface NativeMetadataEntityDetails {
|
|
348
|
-
summary: NativeMetadataEntitySummary;
|
|
349
|
-
typeSummary?: NativeMetadataEntitySummary | null;
|
|
350
|
-
spatial?: NativeMetadataSpatialInfo | null;
|
|
351
|
-
properties: NativeMetadataPropertySet[];
|
|
352
|
-
quantities: NativeMetadataQuantitySet[];
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
export interface NativeMetadataSnapshot {
|
|
356
|
-
mode: 'desktop-lazy';
|
|
357
|
-
cacheKey: string;
|
|
358
|
-
filePath: string;
|
|
359
|
-
schemaVersion: SchemaVersion;
|
|
360
|
-
entityCount: number;
|
|
361
|
-
spatialTree: NativeMetadataSpatialNode | null;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
export type ModelSourceFile = File | {
|
|
365
|
-
path: string;
|
|
366
|
-
name: string;
|
|
367
|
-
size: number;
|
|
368
|
-
modifiedMs?: number | null;
|
|
369
|
-
};
|
|
301
|
+
export type ModelSourceFile = File;
|
|
370
302
|
|
|
371
303
|
/** Complete model container for federation */
|
|
372
304
|
export interface FederatedModel {
|
|
@@ -406,8 +338,6 @@ export interface FederatedModel {
|
|
|
406
338
|
metadataLoadState?: MetadataLoadState;
|
|
407
339
|
/** True once the model is visibly interactive in the viewport. */
|
|
408
340
|
interactiveReady?: boolean;
|
|
409
|
-
/** Optional sparse desktop metadata snapshot for huge native loads. */
|
|
410
|
-
nativeMetadata?: NativeMetadataSnapshot | null;
|
|
411
341
|
/** Cache state for the current load session. */
|
|
412
342
|
cacheState?: 'none' | 'hit' | 'miss' | 'writing';
|
|
413
343
|
/** Optional load error for this model. */
|
package/src/utils/ifcConfig.ts
CHANGED
|
@@ -46,9 +46,6 @@ export const CACHE_SIZE_THRESHOLD = 10 * 1024 * 1024;
|
|
|
46
46
|
* and including it would make the IndexedDB write prohibitively large. */
|
|
47
47
|
export const CACHE_MAX_SOURCE_SIZE = 150 * 1024 * 1024;
|
|
48
48
|
|
|
49
|
-
/** Route desktop IFCs above this threshold through the bounded-memory path. */
|
|
50
|
-
export const HUGE_NATIVE_FILE_THRESHOLD = 128 * 1024 * 1024;
|
|
51
|
-
|
|
52
49
|
/**
|
|
53
50
|
* File size at which the browser-File-API entry path streams directly into a
|
|
54
51
|
* `SharedArrayBuffer` instead of going through `await file.arrayBuffer()`.
|
|
@@ -87,15 +84,6 @@ export const THRESHOLDS = {
|
|
|
87
84
|
CACHE_MIN_MB: 10,
|
|
88
85
|
} as const;
|
|
89
86
|
|
|
90
|
-
// ============================================================================
|
|
91
|
-
// Platform Detection
|
|
92
|
-
// ============================================================================
|
|
93
|
-
|
|
94
|
-
/** Detect if running in Tauri (desktop) environment */
|
|
95
|
-
export function isTauri(): boolean {
|
|
96
|
-
return typeof window !== 'undefined' && '__TAURI_INTERNALS__' in window;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
87
|
// ============================================================================
|
|
100
88
|
// Dynamic Batch Configuration
|
|
101
89
|
// ============================================================================
|
package/vite.config.ts
CHANGED
|
@@ -267,9 +267,6 @@ export default defineConfig({
|
|
|
267
267
|
'@ifc-lite/encoding': path.resolve(__dirname, '../../packages/encoding/src'),
|
|
268
268
|
'@ifc-lite/ids': path.resolve(__dirname, '../../packages/ids/src'),
|
|
269
269
|
'@ifc-lite/lists': path.resolve(__dirname, '../../packages/lists/src'),
|
|
270
|
-
'@tauri-apps/api/core': path.resolve(__dirname, './src/services/tauri-core-stub.ts'),
|
|
271
|
-
'@tauri-apps/plugin-dialog': path.resolve(__dirname, './src/services/tauri-dialog-stub.ts'),
|
|
272
|
-
'@tauri-apps/plugin-fs': path.resolve(__dirname, './src/services/tauri-fs-stub.ts'),
|
|
273
270
|
},
|
|
274
271
|
},
|
|
275
272
|
server: {
|
|
@@ -301,6 +298,12 @@ export default defineConfig({
|
|
|
301
298
|
target: 'esnext',
|
|
302
299
|
chunkSizeWarningLimit: 6000,
|
|
303
300
|
rollupOptions: {
|
|
301
|
+
// @ifc-lite/geometry's NativeBridge does a dynamic `import('@tauri-apps/api/event')`
|
|
302
|
+
// (under isTauri(), never reached on web). Rollup still resolves it
|
|
303
|
+
// statically, so externalize it to prevent a build failure. ifc-lite no
|
|
304
|
+
// longer ships a desktop app; downstream desktop builders supply
|
|
305
|
+
// @tauri-apps in their own host layer.
|
|
306
|
+
external: ['@tauri-apps/api/event'],
|
|
304
307
|
output: {
|
|
305
308
|
manualChunks(id) {
|
|
306
309
|
if (id.includes('/packages/sandbox/')) return 'sandbox';
|
package/DESKTOP_CONTRACT_VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2
|