@ifc-lite/viewer 1.28.1 → 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 +37 -37
- package/CHANGELOG.md +56 -0
- package/dist/assets/{arrow-CXWhTnNT.js → arrow-fie-E7fe.js} +1 -1
- package/dist/assets/{basketViewActivator-Ce38DhXd.js → basketViewActivator-BSRgF1Hw.js} +10 -10
- package/dist/assets/{bcf-Cv_O3JfD.js → bcf-3uE1MvcT.js} +2 -2
- package/dist/assets/{cesium-CzZn5yVA.js → cesium-DezSO2mp.js} +658 -597
- package/dist/assets/{deflate-HbyMq59o.js → deflate-BLlUfw9-.js} +1 -1
- package/dist/assets/drawing-2d-CLn7Mtj8.js +257 -0
- package/dist/assets/{exporters-BuD3XRzB.js → exporters-BL6UmxRa.js} +1659 -1515
- package/dist/assets/geometry.worker-DVwFYHTq.js +1 -0
- package/dist/assets/{geotiff-B2HA8Bwm.js → geotiff-BydcIud8.js} +12 -12
- package/dist/assets/{ids-DYUFMd5f.js → ids-DFl74rTt.js} +6 -6
- package/dist/assets/{ifc-lite_bg-BEA5DLmg.wasm → ifc-lite_bg-FPffpFK_.wasm} +0 -0
- package/dist/assets/{index-n5O1QJMM.js → index-BNTlm2lP.js} +37197 -35918
- package/dist/assets/index-DpoJvkdg.css +1 -0
- package/dist/assets/{index.es-BKVIpZgL.js → index.es-Bk4nLsyS.js} +11 -11
- package/dist/assets/{jpeg-C7hjKjPX.js → jpeg-BvMO8-Tc.js} +1 -1
- package/dist/assets/{jspdf.es.min-oWlFc42Y.js → jspdf.es.min-BZ_ed66E.js} +5 -5
- package/dist/assets/{lens-C4p1kQ0p.js → lens-DMnqMXpz.js} +1 -1
- package/dist/assets/{lerc-BfIOGhQz.js → lerc-CNnDpLpV.js} +1 -1
- package/dist/assets/{lzw-B0jRuuW5.js → lzw-DBaPrGGZ.js} +1 -1
- package/dist/assets/{native-bridge-DpB-dtEn.js → native-bridge-DFOoBvTg.js} +2 -2
- package/dist/assets/{packbits-DVvBTC39.js → packbits-C7uyD2Bi.js} +1 -1
- package/dist/assets/{parser.worker-BDsWQ6rc.js → parser.worker-U_PVhLNi.js} +3 -3
- package/dist/assets/{pdf-dVIqI5ac.js → pdf-DlqdjX9e.js} +12 -12
- package/dist/assets/raw-p_2cfl6T.js +1 -0
- package/dist/assets/{sandbox-qpJlrNN0.js → sandbox-0Z2NzeOJ.js} +3444 -2879
- package/dist/assets/{server-client-DVZ2huNS.js → server-client-DUMy2mXg.js} +4 -4
- package/dist/assets/{three-CQBzFWY2.js → three-SQm7uqwa.js} +1 -1
- package/dist/assets/{webimage-B394g0Tw.js → webimage-zN-oCabb.js} +1 -1
- package/dist/assets/{xlsx-D-oHO76J.js → xlsx-N2LbIR1G.js} +10 -10
- package/dist/assets/{zstd-Bf38MwV2.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 +34 -34
- package/src/components/viewer/MainToolbar.tsx +68 -41
- package/src/components/viewer/Section2DPanel.tsx +3 -3
- package/src/components/viewer/ToolOverlays.tsx +5 -0
- package/src/components/viewer/ViewportContainer.tsx +52 -5
- package/src/components/viewer/tools/SpaceSketchOverlay.tsx +872 -0
- package/src/hooks/useConstructionUnderlay.ts +94 -0
- package/src/hooks/useDrawingGeneration.ts +119 -24
- package/src/store/slices/mutationSlice.ts +21 -0
- package/src/store/slices/uiSlice.ts +1 -0
- package/src/store/slices/visibilitySlice.ts +20 -0
- package/dist/assets/drawing-2d-DW98umlt.js +0 -257
- package/dist/assets/geometry.worker-TH3fCCoY.js +0 -1
- package/dist/assets/index-E9wB0zWt.css +0 -1
- package/dist/assets/raw-C0ZJYGmN.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/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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as fe, __tla as __tla_0 } from "./sandbox-
|
|
1
|
+
import { _ as fe, __tla as __tla_0 } from "./sandbox-0Z2NzeOJ.js";
|
|
2
2
|
let et, tt;
|
|
3
3
|
let __tla = Promise.all([
|
|
4
4
|
(()=>{
|
|
@@ -53,7 +53,7 @@ let __tla = Promise.all([
|
|
|
53
53
|
r += i;
|
|
54
54
|
const c = a.getUint32(r, !0);
|
|
55
55
|
r += 4;
|
|
56
|
-
const h = new Uint8Array(s, r, c), g = e.readParquet(t), f = e.readParquet(l), P = e.readParquet(h), p = await fe(()=>import("./arrow-
|
|
56
|
+
const h = new Uint8Array(s, r, c), g = e.readParquet(t), f = e.readParquet(l), P = e.readParquet(h), p = await fe(()=>import("./arrow-fie-E7fe.js").then((w)=>w.A), []), d = p.tableFromIPC(g.intoIPCStream()), x = p.tableFromIPC(f.intoIPCStream()), E = p.tableFromIPC(P.intoIPCStream()), D = d.getChild("express_id")?.toArray(), L = d.getChild("ifc_type"), B = d.getChild("vertex_start")?.toArray(), j = d.getChild("vertex_count")?.toArray(), G = d.getChild("index_start")?.toArray(), $ = d.getChild("index_count")?.toArray(), A = d.getChild("color_r")?.toArray(), I = d.getChild("color_g")?.toArray(), q = d.getChild("color_b")?.toArray(), F = d.getChild("color_a")?.toArray(), v = x.getChild("x")?.toArray(), b = x.getChild("y")?.toArray(), K = x.getChild("z")?.toArray(), Y = x.getChild("nx")?.toArray(), Z = x.getChild("ny")?.toArray(), ee = x.getChild("nz")?.toArray(), T = E.getChild("i0")?.toArray(), Q = E.getChild("i1")?.toArray(), W = E.getChild("i2")?.toArray();
|
|
57
57
|
if (!v || !b || !K || !Y || !Z || !ee || !T || !Q || !W) throw new Error("Malformed Parquet geometry: missing required vertex/index column");
|
|
58
58
|
if (v.length !== b.length || v.length !== K.length || Y.length !== Z.length || Y.length !== ee.length || T.length !== Q.length || T.length !== W.length) throw new Error("Malformed Parquet geometry: inconsistent parallel column lengths");
|
|
59
59
|
const ge = D.length, X = new Array(ge);
|
|
@@ -99,7 +99,7 @@ let __tla = Promise.all([
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
async function Ze(s, e = 1e4) {
|
|
102
|
-
const a = await Ce(), r = await fe(()=>import("./arrow-
|
|
102
|
+
const a = await Ce(), r = await fe(()=>import("./arrow-fie-E7fe.js").then((N)=>N.A), []), n = new DataView(s);
|
|
103
103
|
let t = 0;
|
|
104
104
|
const i = n.getUint8(t);
|
|
105
105
|
if (t += 1, i !== 2) throw new Error(`Unsupported optimized Parquet version: ${i}`);
|
|
@@ -530,7 +530,7 @@ let __tla = Promise.all([
|
|
|
530
530
|
}
|
|
531
531
|
};
|
|
532
532
|
tt = async function(s) {
|
|
533
|
-
const e = await Ce(), a = await fe(()=>import("./arrow-
|
|
533
|
+
const e = await Ce(), a = await fe(()=>import("./arrow-fie-E7fe.js").then((o)=>o.A), []), r = new DataView(s);
|
|
534
534
|
let n = 0;
|
|
535
535
|
const t = r.getUint32(n, !0);
|
|
536
536
|
n += 4;
|
|
@@ -4101,4 +4101,4 @@ void main() {
|
|
|
4101
4101
|
|
|
4102
4102
|
}
|
|
4103
4103
|
|
|
4104
|
-
}`;class xm{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(t,e){if(this.texture===null){const n=new yl(t.texture);(t.depthNear!==e.depthNear||t.depthFar!==e.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=n}}getMesh(t){if(this.texture!==null&&this.mesh===null){const e=t.cameras[0].viewport,n=new on({vertexShader:_m,fragmentShader:gm,uniforms:{depthColor:{value:this.texture},depthWidth:{value:e.z},depthHeight:{value:e.w}}});this.mesh=new Sn(new Gs(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class vm extends On{constructor(t,e){super();const n=this;let s=null,r=1,a=null,o="local-floor",l=1,c=null,f=null,p=null,h=null,m=null,x=null;const S=typeof XRWebGLBinding<"u",d=new xm,u={},E=e.getContextAttributes();let T=null,b=null;const L=[],y=[],P=new Tt;let v=null;const A=new Ye;A.viewport=new he;const N=new Ye;N.viewport=new he;const w=[A,N],z=new Rh;let W=null,Y=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(K){let ft=L[K];return ft===void 0&&(ft=new Qs,L[K]=ft),ft.getTargetRaySpace()},this.getControllerGrip=function(K){let ft=L[K];return ft===void 0&&(ft=new Qs,L[K]=ft),ft.getGripSpace()},this.getHand=function(K){let ft=L[K];return ft===void 0&&(ft=new Qs,L[K]=ft),ft.getHandSpace()};function I(K){const ft=y.indexOf(K.inputSource);if(ft===-1)return;const it=L[ft];it!==void 0&&(it.update(K.inputSource,K.frame,c||a),it.dispatchEvent({type:K.type,data:K.inputSource}))}function V(){s.removeEventListener("select",I),s.removeEventListener("selectstart",I),s.removeEventListener("selectend",I),s.removeEventListener("squeeze",I),s.removeEventListener("squeezestart",I),s.removeEventListener("squeezeend",I),s.removeEventListener("end",V),s.removeEventListener("inputsourceschange",H);for(let K=0;K<L.length;K++){const ft=y[K];ft!==null&&(y[K]=null,L[K].disconnect(ft))}W=null,Y=null,d.reset();for(const K in u)delete u[K];t.setRenderTarget(T),m=null,h=null,p=null,s=null,b=null,Ut.stop(),n.isPresenting=!1,t.setPixelRatio(v),t.setSize(P.width,P.height,!1),n.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(K){r=K,n.isPresenting===!0&&bt("WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(K){o=K,n.isPresenting===!0&&bt("WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return c||a},this.setReferenceSpace=function(K){c=K},this.getBaseLayer=function(){return h!==null?h:m},this.getBinding=function(){return p===null&&S&&(p=new XRWebGLBinding(s,e)),p},this.getFrame=function(){return x},this.getSession=function(){return s},this.setSession=async function(K){if(s=K,s!==null){if(T=t.getRenderTarget(),s.addEventListener("select",I),s.addEventListener("selectstart",I),s.addEventListener("selectend",I),s.addEventListener("squeeze",I),s.addEventListener("squeezestart",I),s.addEventListener("squeezeend",I),s.addEventListener("end",V),s.addEventListener("inputsourceschange",H),E.xrCompatible!==!0&&await e.makeXRCompatible(),v=t.getPixelRatio(),t.getSize(P),S&&"createProjectionLayer"in XRWebGLBinding.prototype){let it=null,At=null,Ct=null;E.depth&&(Ct=E.stencil?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT24,it=E.stencil?Yn:Mn,At=E.stencil?Gi:an);const Rt={colorFormat:e.RGBA8,depthFormat:Ct,scaleFactor:r};p=this.getBinding(),h=p.createProjectionLayer(Rt),s.updateRenderState({layers:[h]}),t.setPixelRatio(1),t.setSize(h.textureWidth,h.textureHeight,!1),b=new rn(h.textureWidth,h.textureHeight,{format:Ze,type:Oe,depthTexture:new Ei(h.textureWidth,h.textureHeight,At,void 0,void 0,void 0,void 0,void 0,void 0,it),stencilBuffer:E.stencil,colorSpace:t.outputColorSpace,samples:E.antialias?4:0,resolveDepthBuffer:h.ignoreDepthValues===!1,resolveStencilBuffer:h.ignoreDepthValues===!1})}else{const it={antialias:E.antialias,alpha:!0,depth:E.depth,stencil:E.stencil,framebufferScaleFactor:r};m=new XRWebGLLayer(s,e,it),s.updateRenderState({baseLayer:m}),t.setPixelRatio(1),t.setSize(m.framebufferWidth,m.framebufferHeight,!1),b=new rn(m.framebufferWidth,m.framebufferHeight,{format:Ze,type:Oe,colorSpace:t.outputColorSpace,stencilBuffer:E.stencil,resolveDepthBuffer:m.ignoreDepthValues===!1,resolveStencilBuffer:m.ignoreDepthValues===!1})}b.isXRRenderTarget=!0,this.setFoveation(l),c=null,a=await s.requestReferenceSpace(o),Ut.setContext(s),Ut.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(s!==null)return s.environmentBlendMode},this.getDepthTexture=function(){return d.getDepthTexture()};function H(K){for(let ft=0;ft<K.removed.length;ft++){const it=K.removed[ft],At=y.indexOf(it);At>=0&&(y[At]=null,L[At].disconnect(it))}for(let ft=0;ft<K.added.length;ft++){const it=K.added[ft];let At=y.indexOf(it);if(At===-1){for(let Rt=0;Rt<L.length;Rt++)if(Rt>=y.length){y.push(it),At=Rt;break}else if(y[Rt]===null){y[Rt]=it,At=Rt;break}if(At===-1)break}const Ct=L[At];Ct&&Ct.connect(it)}}const J=new U,Q=new U;function ct(K,ft,it){J.setFromMatrixPosition(ft.matrixWorld),Q.setFromMatrixPosition(it.matrixWorld);const At=J.distanceTo(Q),Ct=ft.projectionMatrix.elements,Rt=it.projectionMatrix.elements,ae=Ct[14]/(Ct[10]-1),Gt=Ct[14]/(Ct[10]+1),jt=(Ct[9]+1)/Ct[5],se=(Ct[9]-1)/Ct[5],Bt=(Ct[8]-1)/Ct[0],me=(Rt[8]+1)/Rt[0],oe=ae*Bt,Ue=ae*me,C=At/(-Bt+me),_e=C*-Bt;if(ft.matrixWorld.decompose(K.position,K.quaternion,K.scale),K.translateX(_e),K.translateZ(C),K.matrixWorld.compose(K.position,K.quaternion,K.scale),K.matrixWorldInverse.copy(K.matrixWorld).invert(),Ct[10]===-1)K.projectionMatrix.copy(ft.projectionMatrix),K.projectionMatrixInverse.copy(ft.projectionMatrixInverse);else{const Vt=ae+C,ne=Gt+C,ot=oe-_e,le=Ue+(At-_e),M=jt*Gt/ne*Vt,_=se*Gt/ne*Vt;K.projectionMatrix.makePerspective(ot,le,M,_,Vt,ne),K.projectionMatrixInverse.copy(K.projectionMatrix).invert()}}function xt(K,ft){ft===null?K.matrixWorld.copy(K.matrix):K.matrixWorld.multiplyMatrices(ft.matrixWorld,K.matrix),K.matrixWorldInverse.copy(K.matrixWorld).invert()}this.updateCamera=function(K){if(s===null)return;let ft=K.near,it=K.far;d.texture!==null&&(d.depthNear>0&&(ft=d.depthNear),d.depthFar>0&&(it=d.depthFar)),z.near=N.near=A.near=ft,z.far=N.far=A.far=it,(W!==z.near||Y!==z.far)&&(s.updateRenderState({depthNear:z.near,depthFar:z.far}),W=z.near,Y=z.far),z.layers.mask=K.layers.mask|6,A.layers.mask=z.layers.mask&-5,N.layers.mask=z.layers.mask&-3;const At=K.parent,Ct=z.cameras;xt(z,At);for(let Rt=0;Rt<Ct.length;Rt++)xt(Ct[Rt],At);Ct.length===2?ct(z,A,N):z.projectionMatrix.copy(A.projectionMatrix),Et(K,z,At)};function Et(K,ft,it){it===null?K.matrix.copy(ft.matrixWorld):(K.matrix.copy(it.matrixWorld),K.matrix.invert(),K.matrix.multiply(ft.matrixWorld)),K.matrix.decompose(K.position,K.quaternion,K.scale),K.updateMatrixWorld(!0),K.projectionMatrix.copy(ft.projectionMatrix),K.projectionMatrixInverse.copy(ft.projectionMatrixInverse),K.isPerspectiveCamera&&(K.fov=Hi*2*Math.atan(1/K.projectionMatrix.elements[5]),K.zoom=1)}this.getCamera=function(){return z},this.getFoveation=function(){if(!(h===null&&m===null))return l},this.setFoveation=function(K){l=K,h!==null&&(h.fixedFoveation=K),m!==null&&m.fixedFoveation!==void 0&&(m.fixedFoveation=K)},this.hasDepthSensing=function(){return d.texture!==null},this.getDepthSensingMesh=function(){return d.getMesh(z)},this.getCameraTexture=function(K){return u[K]};let Wt=null;function Kt(K,ft){if(f=ft.getViewerPose(c||a),x=ft,f!==null){const it=f.views;m!==null&&(t.setRenderTargetFramebuffer(b,m.framebuffer),t.setRenderTarget(b));let At=!1;it.length!==z.cameras.length&&(z.cameras.length=0,At=!0);for(let Gt=0;Gt<it.length;Gt++){const jt=it[Gt];let se=null;if(m!==null)se=m.getViewport(jt);else{const me=p.getViewSubImage(h,jt);se=me.viewport,Gt===0&&(t.setRenderTargetTextures(b,me.colorTexture,me.depthStencilTexture),t.setRenderTarget(b))}let Bt=w[Gt];Bt===void 0&&(Bt=new Ye,Bt.layers.enable(Gt),Bt.viewport=new he,w[Gt]=Bt),Bt.matrix.fromArray(jt.transform.matrix),Bt.matrix.decompose(Bt.position,Bt.quaternion,Bt.scale),Bt.projectionMatrix.fromArray(jt.projectionMatrix),Bt.projectionMatrixInverse.copy(Bt.projectionMatrix).invert(),Bt.viewport.set(se.x,se.y,se.width,se.height),Gt===0&&(z.matrix.copy(Bt.matrix),z.matrix.decompose(z.position,z.quaternion,z.scale)),At===!0&&z.cameras.push(Bt)}const Ct=s.enabledFeatures;if(Ct&&Ct.includes("depth-sensing")&&s.depthUsage=="gpu-optimized"&&S){p=n.getBinding();const Gt=p.getDepthInformation(it[0]);Gt&&Gt.isValid&&Gt.texture&&d.init(Gt,s.renderState)}if(Ct&&Ct.includes("camera-access")&&S){t.state.unbindTexture(),p=n.getBinding();for(let Gt=0;Gt<it.length;Gt++){const jt=it[Gt].camera;if(jt){let se=u[jt];se||(se=new yl,u[jt]=se);const Bt=p.getCameraImage(jt);se.sourceTexture=Bt}}}}for(let it=0;it<L.length;it++){const At=y[it],Ct=L[it];At!==null&&Ct!==void 0&&Ct.update(At,ft,c||a)}Wt&&Wt(K,ft),ft.detectedPlanes&&n.dispatchEvent({type:"planesdetected",data:ft}),x=null}const Ut=new wl;Ut.setAnimationLoop(Kt),this.setAnimationLoop=function(K){Wt=K},this.dispose=function(){}}}const Mm=new re,Nl=new Pt;Nl.set(-1,0,0,0,1,0,0,0,1);function Sm(i,t){function e(d,u){d.matrixAutoUpdate===!0&&d.updateMatrix(),u.value.copy(d.matrix)}function n(d,u){u.color.getRGB(d.fogColor.value,Tl(i)),u.isFog?(d.fogNear.value=u.near,d.fogFar.value=u.far):u.isFogExp2&&(d.fogDensity.value=u.density)}function s(d,u,E,T,b){u.isNodeMaterial?u.uniformsNeedUpdate=!1:u.isMeshBasicMaterial?r(d,u):u.isMeshLambertMaterial?(r(d,u),u.envMap&&(d.envMapIntensity.value=u.envMapIntensity)):u.isMeshToonMaterial?(r(d,u),p(d,u)):u.isMeshPhongMaterial?(r(d,u),f(d,u),u.envMap&&(d.envMapIntensity.value=u.envMapIntensity)):u.isMeshStandardMaterial?(r(d,u),h(d,u),u.isMeshPhysicalMaterial&&m(d,u,b)):u.isMeshMatcapMaterial?(r(d,u),x(d,u)):u.isMeshDepthMaterial?r(d,u):u.isMeshDistanceMaterial?(r(d,u),S(d,u)):u.isMeshNormalMaterial?r(d,u):u.isLineBasicMaterial?(a(d,u),u.isLineDashedMaterial&&o(d,u)):u.isPointsMaterial?l(d,u,E,T):u.isSpriteMaterial?c(d,u):u.isShadowMaterial?(d.color.value.copy(u.color),d.opacity.value=u.opacity):u.isShaderMaterial&&(u.uniformsNeedUpdate=!1)}function r(d,u){d.opacity.value=u.opacity,u.color&&d.diffuse.value.copy(u.color),u.emissive&&d.emissive.value.copy(u.emissive).multiplyScalar(u.emissiveIntensity),u.map&&(d.map.value=u.map,e(u.map,d.mapTransform)),u.alphaMap&&(d.alphaMap.value=u.alphaMap,e(u.alphaMap,d.alphaMapTransform)),u.bumpMap&&(d.bumpMap.value=u.bumpMap,e(u.bumpMap,d.bumpMapTransform),d.bumpScale.value=u.bumpScale,u.side===Le&&(d.bumpScale.value*=-1)),u.normalMap&&(d.normalMap.value=u.normalMap,e(u.normalMap,d.normalMapTransform),d.normalScale.value.copy(u.normalScale),u.side===Le&&d.normalScale.value.negate()),u.displacementMap&&(d.displacementMap.value=u.displacementMap,e(u.displacementMap,d.displacementMapTransform),d.displacementScale.value=u.displacementScale,d.displacementBias.value=u.displacementBias),u.emissiveMap&&(d.emissiveMap.value=u.emissiveMap,e(u.emissiveMap,d.emissiveMapTransform)),u.specularMap&&(d.specularMap.value=u.specularMap,e(u.specularMap,d.specularMapTransform)),u.alphaTest>0&&(d.alphaTest.value=u.alphaTest);const E=t.get(u),T=E.envMap,b=E.envMapRotation;T&&(d.envMap.value=T,d.envMapRotation.value.setFromMatrix4(Mm.makeRotationFromEuler(b)).transpose(),T.isCubeTexture&&T.isRenderTargetTexture===!1&&d.envMapRotation.value.premultiply(Nl),d.reflectivity.value=u.reflectivity,d.ior.value=u.ior,d.refractionRatio.value=u.refractionRatio),u.lightMap&&(d.lightMap.value=u.lightMap,d.lightMapIntensity.value=u.lightMapIntensity,e(u.lightMap,d.lightMapTransform)),u.aoMap&&(d.aoMap.value=u.aoMap,d.aoMapIntensity.value=u.aoMapIntensity,e(u.aoMap,d.aoMapTransform))}function a(d,u){d.diffuse.value.copy(u.color),d.opacity.value=u.opacity,u.map&&(d.map.value=u.map,e(u.map,d.mapTransform))}function o(d,u){d.dashSize.value=u.dashSize,d.totalSize.value=u.dashSize+u.gapSize,d.scale.value=u.scale}function l(d,u,E,T){d.diffuse.value.copy(u.color),d.opacity.value=u.opacity,d.size.value=u.size*E,d.scale.value=T*.5,u.map&&(d.map.value=u.map,e(u.map,d.uvTransform)),u.alphaMap&&(d.alphaMap.value=u.alphaMap,e(u.alphaMap,d.alphaMapTransform)),u.alphaTest>0&&(d.alphaTest.value=u.alphaTest)}function c(d,u){d.diffuse.value.copy(u.color),d.opacity.value=u.opacity,d.rotation.value=u.rotation,u.map&&(d.map.value=u.map,e(u.map,d.mapTransform)),u.alphaMap&&(d.alphaMap.value=u.alphaMap,e(u.alphaMap,d.alphaMapTransform)),u.alphaTest>0&&(d.alphaTest.value=u.alphaTest)}function f(d,u){d.specular.value.copy(u.specular),d.shininess.value=Math.max(u.shininess,1e-4)}function p(d,u){u.gradientMap&&(d.gradientMap.value=u.gradientMap)}function h(d,u){d.metalness.value=u.metalness,u.metalnessMap&&(d.metalnessMap.value=u.metalnessMap,e(u.metalnessMap,d.metalnessMapTransform)),d.roughness.value=u.roughness,u.roughnessMap&&(d.roughnessMap.value=u.roughnessMap,e(u.roughnessMap,d.roughnessMapTransform)),u.envMap&&(d.envMapIntensity.value=u.envMapIntensity)}function m(d,u,E){d.ior.value=u.ior,u.sheen>0&&(d.sheenColor.value.copy(u.sheenColor).multiplyScalar(u.sheen),d.sheenRoughness.value=u.sheenRoughness,u.sheenColorMap&&(d.sheenColorMap.value=u.sheenColorMap,e(u.sheenColorMap,d.sheenColorMapTransform)),u.sheenRoughnessMap&&(d.sheenRoughnessMap.value=u.sheenRoughnessMap,e(u.sheenRoughnessMap,d.sheenRoughnessMapTransform))),u.clearcoat>0&&(d.clearcoat.value=u.clearcoat,d.clearcoatRoughness.value=u.clearcoatRoughness,u.clearcoatMap&&(d.clearcoatMap.value=u.clearcoatMap,e(u.clearcoatMap,d.clearcoatMapTransform)),u.clearcoatRoughnessMap&&(d.clearcoatRoughnessMap.value=u.clearcoatRoughnessMap,e(u.clearcoatRoughnessMap,d.clearcoatRoughnessMapTransform)),u.clearcoatNormalMap&&(d.clearcoatNormalMap.value=u.clearcoatNormalMap,e(u.clearcoatNormalMap,d.clearcoatNormalMapTransform),d.clearcoatNormalScale.value.copy(u.clearcoatNormalScale),u.side===Le&&d.clearcoatNormalScale.value.negate())),u.dispersion>0&&(d.dispersion.value=u.dispersion),u.iridescence>0&&(d.iridescence.value=u.iridescence,d.iridescenceIOR.value=u.iridescenceIOR,d.iridescenceThicknessMinimum.value=u.iridescenceThicknessRange[0],d.iridescenceThicknessMaximum.value=u.iridescenceThicknessRange[1],u.iridescenceMap&&(d.iridescenceMap.value=u.iridescenceMap,e(u.iridescenceMap,d.iridescenceMapTransform)),u.iridescenceThicknessMap&&(d.iridescenceThicknessMap.value=u.iridescenceThicknessMap,e(u.iridescenceThicknessMap,d.iridescenceThicknessMapTransform))),u.transmission>0&&(d.transmission.value=u.transmission,d.transmissionSamplerMap.value=E.texture,d.transmissionSamplerSize.value.set(E.width,E.height),u.transmissionMap&&(d.transmissionMap.value=u.transmissionMap,e(u.transmissionMap,d.transmissionMapTransform)),d.thickness.value=u.thickness,u.thicknessMap&&(d.thicknessMap.value=u.thicknessMap,e(u.thicknessMap,d.thicknessMapTransform)),d.attenuationDistance.value=u.attenuationDistance,d.attenuationColor.value.copy(u.attenuationColor)),u.anisotropy>0&&(d.anisotropyVector.value.set(u.anisotropy*Math.cos(u.anisotropyRotation),u.anisotropy*Math.sin(u.anisotropyRotation)),u.anisotropyMap&&(d.anisotropyMap.value=u.anisotropyMap,e(u.anisotropyMap,d.anisotropyMapTransform))),d.specularIntensity.value=u.specularIntensity,d.specularColor.value.copy(u.specularColor),u.specularColorMap&&(d.specularColorMap.value=u.specularColorMap,e(u.specularColorMap,d.specularColorMapTransform)),u.specularIntensityMap&&(d.specularIntensityMap.value=u.specularIntensityMap,e(u.specularIntensityMap,d.specularIntensityMapTransform))}function x(d,u){u.matcap&&(d.matcap.value=u.matcap)}function S(d,u){const E=t.get(u).light;d.referencePosition.value.setFromMatrixPosition(E.matrixWorld),d.nearDistance.value=E.shadow.camera.near,d.farDistance.value=E.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:s}}function Em(i,t,e,n){let s={},r={},a=[];const o=i.getParameter(i.MAX_UNIFORM_BUFFER_BINDINGS);function l(E,T){const b=T.program;n.uniformBlockBinding(E,b)}function c(E,T){let b=s[E.id];b===void 0&&(x(E),b=f(E),s[E.id]=b,E.addEventListener("dispose",d));const L=T.program;n.updateUBOMapping(E,L);const y=t.render.frame;r[E.id]!==y&&(h(E),r[E.id]=y)}function f(E){const T=p();E.__bindingPointIndex=T;const b=i.createBuffer(),L=E.__size,y=E.usage;return i.bindBuffer(i.UNIFORM_BUFFER,b),i.bufferData(i.UNIFORM_BUFFER,L,y),i.bindBuffer(i.UNIFORM_BUFFER,null),i.bindBufferBase(i.UNIFORM_BUFFER,T,b),b}function p(){for(let E=0;E<o;E++)if(a.indexOf(E)===-1)return a.push(E),E;return Ht("WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function h(E){const T=s[E.id],b=E.uniforms,L=E.__cache;i.bindBuffer(i.UNIFORM_BUFFER,T);for(let y=0,P=b.length;y<P;y++){const v=Array.isArray(b[y])?b[y]:[b[y]];for(let A=0,N=v.length;A<N;A++){const w=v[A];if(m(w,y,A,L)===!0){const z=w.__offset,W=Array.isArray(w.value)?w.value:[w.value];let Y=0;for(let I=0;I<W.length;I++){const V=W[I],H=S(V);typeof V=="number"||typeof V=="boolean"?(w.__data[0]=V,i.bufferSubData(i.UNIFORM_BUFFER,z+Y,w.__data)):V.isMatrix3?(w.__data[0]=V.elements[0],w.__data[1]=V.elements[1],w.__data[2]=V.elements[2],w.__data[3]=0,w.__data[4]=V.elements[3],w.__data[5]=V.elements[4],w.__data[6]=V.elements[5],w.__data[7]=0,w.__data[8]=V.elements[6],w.__data[9]=V.elements[7],w.__data[10]=V.elements[8],w.__data[11]=0):ArrayBuffer.isView(V)?w.__data.set(new V.constructor(V.buffer,V.byteOffset,w.__data.length)):(V.toArray(w.__data,Y),Y+=H.storage/Float32Array.BYTES_PER_ELEMENT)}i.bufferSubData(i.UNIFORM_BUFFER,z,w.__data)}}}i.bindBuffer(i.UNIFORM_BUFFER,null)}function m(E,T,b,L){const y=E.value,P=T+"_"+b;if(L[P]===void 0)return typeof y=="number"||typeof y=="boolean"?L[P]=y:ArrayBuffer.isView(y)?L[P]=y.slice():L[P]=y.clone(),!0;{const v=L[P];if(typeof y=="number"||typeof y=="boolean"){if(v!==y)return L[P]=y,!0}else{if(ArrayBuffer.isView(y))return!0;if(v.equals(y)===!1)return v.copy(y),!0}}return!1}function x(E){const T=E.uniforms;let b=0;const L=16;for(let P=0,v=T.length;P<v;P++){const A=Array.isArray(T[P])?T[P]:[T[P]];for(let N=0,w=A.length;N<w;N++){const z=A[N],W=Array.isArray(z.value)?z.value:[z.value];for(let Y=0,I=W.length;Y<I;Y++){const V=W[Y],H=S(V),J=b%L,Q=J%H.boundary,ct=J+Q;b+=Q,ct!==0&&L-ct<H.storage&&(b+=L-ct),z.__data=new Float32Array(H.storage/Float32Array.BYTES_PER_ELEMENT),z.__offset=b,b+=H.storage}}}const y=b%L;return y>0&&(b+=L-y),E.__size=b,E.__cache={},this}function S(E){const T={boundary:0,storage:0};return typeof E=="number"||typeof E=="boolean"?(T.boundary=4,T.storage=4):E.isVector2?(T.boundary=8,T.storage=8):E.isVector3||E.isColor?(T.boundary=16,T.storage=12):E.isVector4?(T.boundary=16,T.storage=16):E.isMatrix3?(T.boundary=48,T.storage=48):E.isMatrix4?(T.boundary=64,T.storage=64):E.isTexture?bt("WebGLRenderer: Texture samplers can not be part of an uniforms group."):ArrayBuffer.isView(E)?(T.boundary=16,T.storage=E.byteLength):bt("WebGLRenderer: Unsupported uniform value type.",E),T}function d(E){const T=E.target;T.removeEventListener("dispose",d);const b=a.indexOf(T.__bindingPointIndex);a.splice(b,1),i.deleteBuffer(s[T.id]),delete s[T.id],delete r[T.id]}function u(){for(const E in s)i.deleteBuffer(s[E]);a=[],s={},r={}}return{bind:l,update:c,dispose:u}}const ym=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]);let Qe=null;function bm(){return Qe===null&&(Qe=new hh(ym,16,16,Zn,vn),Qe.name="DFG_LUT",Qe.minFilter=Ae,Qe.magFilter=Ae,Qe.wrapS=mn,Qe.wrapT=mn,Qe.generateMipmaps=!1,Qe.needsUpdate=!0),Qe}class qm{constructor(t={}){const{canvas:e=bc(),context:n=null,depth:s=!0,stencil:r=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:f="default",failIfMajorPerformanceCaveat:p=!1,reversedDepthBuffer:h=!1,outputBufferType:m=Oe}=t;this.isWebGLRenderer=!0;let x;if(n!==null){if(typeof WebGLRenderingContext<"u"&&n instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");x=n.getContextAttributes().alpha}else x=a;const S=m,d=new Set([ba,ya,Ea]),u=new Set([Oe,an,zi,Gi,Ma,Sa]),E=new Uint32Array(4),T=new Int32Array(4),b=new U;let L=null,y=null;const P=[],v=[];let A=null;this.domElement=e,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=sn,this.toneMappingExposure=1,this.transmissionResolutionScale=1;const N=this;let w=!1,z=null;this._outputColorSpace=Ve;let W=0,Y=0,I=null,V=-1,H=null;const J=new he,Q=new he;let ct=null;const xt=new zt(0);let Et=0,Wt=e.width,Kt=e.height,Ut=1,K=null,ft=null;const it=new he(0,0,Wt,Kt),At=new he(0,0,Wt,Kt);let Ct=!1;const Rt=new Pa;let ae=!1,Gt=!1;const jt=new re,se=new U,Bt=new he,me={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let oe=!1;function Ue(){return I===null?Ut:1}let C=n;function _e(g,D){return e.getContext(g,D)}try{const g={alpha:!0,depth:s,stencil:r,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:f,failIfMajorPerformanceCaveat:p};if("setAttribute"in e&&e.setAttribute("data-engine","three.js r184"),e.addEventListener("webglcontextlost",j,!1),e.addEventListener("webglcontextrestored",Mt,!1),e.addEventListener("webglcontextcreationerror",Dt,!1),C===null){const D="webgl2";if(C=_e(D,g),C===null)throw _e(D)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(g){throw Ht("WebGLRenderer: "+g.message),g}let Vt,ne,ot,le,M,_,F,q,$,tt,at,k,Z,dt,_t,st,et,wt,It,Yt,R,nt,X;function pt(){Vt=new bd(C),Vt.init(),R=new mm(C,Vt),ne=new _d(C,Vt,t,R),ot=new dm(C,Vt),ne.reversedDepthBuffer&&h&&ot.buffers.depth.setReversed(!0),le=new Rd(C),M=new Qp,_=new pm(C,Vt,ot,M,ne,R,le),F=new yd(N),q=new Ph(C),nt=new pd(C,q),$=new Td(C,q,le,nt),tt=new Cd(C,$,q,nt,le),wt=new wd(C,ne,_),_t=new gd(M),at=new Jp(N,F,Vt,ne,nt,_t),k=new Sm(N,M),Z=new em,dt=new om(Vt),et=new dd(N,F,ot,tt,x,l),st=new fm(N,tt,ne),X=new Em(C,le,ne,ot),It=new md(C,Vt,le),Yt=new Ad(C,Vt,le),le.programs=at.programs,N.capabilities=ne,N.extensions=Vt,N.properties=M,N.renderLists=Z,N.shadowMap=st,N.state=ot,N.info=le}pt(),S!==Oe&&(A=new Dd(S,e.width,e.height,s,r));const rt=new vm(N,C);this.xr=rt,this.getContext=function(){return C},this.getContextAttributes=function(){return C.getContextAttributes()},this.forceContextLoss=function(){const g=Vt.get("WEBGL_lose_context");g&&g.loseContext()},this.forceContextRestore=function(){const g=Vt.get("WEBGL_lose_context");g&&g.restoreContext()},this.getPixelRatio=function(){return Ut},this.setPixelRatio=function(g){g!==void 0&&(Ut=g,this.setSize(Wt,Kt,!1))},this.getSize=function(g){return g.set(Wt,Kt)},this.setSize=function(g,D,G=!0){if(rt.isPresenting){bt("WebGLRenderer: Can't change size while VR device is presenting.");return}Wt=g,Kt=D,e.width=Math.floor(g*Ut),e.height=Math.floor(D*Ut),G===!0&&(e.style.width=g+"px",e.style.height=D+"px"),A!==null&&A.setSize(e.width,e.height),this.setViewport(0,0,g,D)},this.getDrawingBufferSize=function(g){return g.set(Wt*Ut,Kt*Ut).floor()},this.setDrawingBufferSize=function(g,D,G){Wt=g,Kt=D,Ut=G,e.width=Math.floor(g*G),e.height=Math.floor(D*G),this.setViewport(0,0,g,D)},this.setEffects=function(g){if(S===Oe){Ht("THREE.WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.");return}if(g){for(let D=0;D<g.length;D++)if(g[D].isOutputPass===!0){bt("THREE.WebGLRenderer: OutputPass is not needed in setEffects(). Tone mapping and color space conversion are applied automatically.");break}}A.setEffects(g||[])},this.getCurrentViewport=function(g){return g.copy(J)},this.getViewport=function(g){return g.copy(it)},this.setViewport=function(g,D,G,O){g.isVector4?it.set(g.x,g.y,g.z,g.w):it.set(g,D,G,O),ot.viewport(J.copy(it).multiplyScalar(Ut).round())},this.getScissor=function(g){return g.copy(At)},this.setScissor=function(g,D,G,O){g.isVector4?At.set(g.x,g.y,g.z,g.w):At.set(g,D,G,O),ot.scissor(Q.copy(At).multiplyScalar(Ut).round())},this.getScissorTest=function(){return Ct},this.setScissorTest=function(g){ot.setScissorTest(Ct=g)},this.setOpaqueSort=function(g){K=g},this.setTransparentSort=function(g){ft=g},this.getClearColor=function(g){return g.copy(et.getClearColor())},this.setClearColor=function(){et.setClearColor(...arguments)},this.getClearAlpha=function(){return et.getClearAlpha()},this.setClearAlpha=function(){et.setClearAlpha(...arguments)},this.clear=function(g=!0,D=!0,G=!0){let O=0;if(g){let B=!1;if(I!==null){const ut=I.texture.format;B=d.has(ut)}if(B){const ut=I.texture.type,gt=u.has(ut),ht=et.getClearColor(),vt=et.getClearAlpha(),St=ht.r,Lt=ht.g,Ft=ht.b;gt?(E[0]=St,E[1]=Lt,E[2]=Ft,E[3]=vt,C.clearBufferuiv(C.COLOR,0,E)):(T[0]=St,T[1]=Lt,T[2]=Ft,T[3]=vt,C.clearBufferiv(C.COLOR,0,T))}else O|=C.COLOR_BUFFER_BIT}D&&(O|=C.DEPTH_BUFFER_BIT,this.state.buffers.depth.setMask(!0)),G&&(O|=C.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),O!==0&&C.clear(O)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.setNodesHandler=function(g){g.setRenderer(this),z=g},this.dispose=function(){e.removeEventListener("webglcontextlost",j,!1),e.removeEventListener("webglcontextrestored",Mt,!1),e.removeEventListener("webglcontextcreationerror",Dt,!1),et.dispose(),Z.dispose(),dt.dispose(),M.dispose(),F.dispose(),tt.dispose(),nt.dispose(),X.dispose(),at.dispose(),rt.dispose(),rt.removeEventListener("sessionstart",Ia),rt.removeEventListener("sessionend",Na),Bn.stop()};function j(g){g.preventDefault(),Us("WebGLRenderer: Context Lost."),w=!0}function Mt(){Us("WebGLRenderer: Context Restored."),w=!1;const g=le.autoReset,D=st.enabled,G=st.autoUpdate,O=st.needsUpdate,B=st.type;pt(),le.autoReset=g,st.enabled=D,st.autoUpdate=G,st.needsUpdate=O,st.type=B}function Dt(g){Ht("WebGLRenderer: A WebGL context could not be created. Reason: ",g.statusMessage)}function ue(g){const D=g.target;D.removeEventListener("dispose",ue),$t(D)}function $t(g){ln(g),M.remove(g)}function ln(g){const D=M.get(g).programs;D!==void 0&&(D.forEach(function(G){at.releaseProgram(G)}),g.isShaderMaterial&&at.releaseShaderCache(g))}this.renderBufferDirect=function(g,D,G,O,B,ut){D===null&&(D=me);const gt=B.isMesh&&B.matrixWorld.determinant()<0,ht=zl(g,D,G,O,B);ot.setMaterial(O,gt);let vt=G.index,St=1;if(O.wireframe===!0){if(vt=$.getWireframeAttribute(G),vt===void 0)return;St=2}const Lt=G.drawRange,Ft=G.attributes.position;let yt=Lt.start*St,Jt=(Lt.start+Lt.count)*St;ut!==null&&(yt=Math.max(yt,ut.start*St),Jt=Math.min(Jt,(ut.start+ut.count)*St)),vt!==null?(yt=Math.max(yt,0),Jt=Math.min(Jt,vt.count)):Ft!=null&&(yt=Math.max(yt,0),Jt=Math.min(Jt,Ft.count));const fe=Jt-yt;if(fe<0||fe===1/0)return;nt.setup(B,O,ht,G,vt);let ce,te=It;if(vt!==null&&(ce=q.get(vt),te=Yt,te.setIndex(ce)),B.isMesh)O.wireframe===!0?(ot.setLineWidth(O.wireframeLinewidth*Ue()),te.setMode(C.LINES)):te.setMode(C.TRIANGLES);else if(B.isLine){let ye=O.linewidth;ye===void 0&&(ye=1),ot.setLineWidth(ye*Ue()),B.isLineSegments?te.setMode(C.LINES):B.isLineLoop?te.setMode(C.LINE_LOOP):te.setMode(C.LINE_STRIP)}else B.isPoints?te.setMode(C.POINTS):B.isSprite&&te.setMode(C.TRIANGLES);if(B.isBatchedMesh)if(Vt.get("WEBGL_multi_draw"))te.renderMultiDraw(B._multiDrawStarts,B._multiDrawCounts,B._multiDrawCount);else{const ye=B._multiDrawStarts,mt=B._multiDrawCounts,Ie=B._multiDrawCount,Xt=vt?q.get(vt).bytesPerElement:1,ze=M.get(O).currentProgram.getUniforms();for(let $e=0;$e<Ie;$e++)ze.setValue(C,"_gl_DrawID",$e),te.render(ye[$e]/Xt,mt[$e])}else if(B.isInstancedMesh)te.renderInstances(yt,fe,B.count);else if(G.isInstancedBufferGeometry){const ye=G._maxInstanceCount!==void 0?G._maxInstanceCount:1/0,mt=Math.min(G.instanceCount,ye);te.renderInstances(yt,fe,mt)}else te.render(yt,fe)};function je(g,D,G){g.transparent===!0&&g.side===pn&&g.forceSinglePass===!1?(g.side=Le,g.needsUpdate=!0,Yi(g,D,G),g.side=In,g.needsUpdate=!0,Yi(g,D,G),g.side=pn):Yi(g,D,G)}this.compile=function(g,D,G=null){G===null&&(G=g),y=dt.get(G),y.init(D),v.push(y),G.traverseVisible(function(B){B.isLight&&B.layers.test(D.layers)&&(y.pushLight(B),B.castShadow&&y.pushShadow(B))}),g!==G&&g.traverseVisible(function(B){B.isLight&&B.layers.test(D.layers)&&(y.pushLight(B),B.castShadow&&y.pushShadow(B))}),y.setupLights();const O=new Set;return g.traverse(function(B){if(!(B.isMesh||B.isPoints||B.isLine||B.isSprite))return;const ut=B.material;if(ut)if(Array.isArray(ut))for(let gt=0;gt<ut.length;gt++){const ht=ut[gt];je(ht,G,B),O.add(ht)}else je(ut,G,B),O.add(ut)}),y=v.pop(),O},this.compileAsync=function(g,D,G=null){const O=this.compile(g,D,G);return new Promise(B=>{function ut(){if(O.forEach(function(gt){M.get(gt).currentProgram.isReady()&&O.delete(gt)}),O.size===0){B(g);return}setTimeout(ut,10)}Vt.get("KHR_parallel_shader_compile")!==null?ut():setTimeout(ut,10)})};let ks=null;function Ol(g){ks&&ks(g)}function Ia(){Bn.stop()}function Na(){Bn.start()}const Bn=new wl;Bn.setAnimationLoop(Ol),typeof self<"u"&&Bn.setContext(self),this.setAnimationLoop=function(g){ks=g,rt.setAnimationLoop(g),g===null?Bn.stop():Bn.start()},rt.addEventListener("sessionstart",Ia),rt.addEventListener("sessionend",Na),this.render=function(g,D){if(D!==void 0&&D.isCamera!==!0){Ht("WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(w===!0)return;z!==null&&z.renderStart(g,D);const G=rt.enabled===!0&&rt.isPresenting===!0,O=A!==null&&(I===null||G)&&A.begin(N,I);if(g.matrixWorldAutoUpdate===!0&&g.updateMatrixWorld(),D.parent===null&&D.matrixWorldAutoUpdate===!0&&D.updateMatrixWorld(),rt.enabled===!0&&rt.isPresenting===!0&&(A===null||A.isCompositing()===!1)&&(rt.cameraAutoUpdate===!0&&rt.updateCamera(D),D=rt.getCamera()),g.isScene===!0&&g.onBeforeRender(N,g,D,I),y=dt.get(g,v.length),y.init(D),y.state.textureUnits=_.getTextureUnits(),v.push(y),jt.multiplyMatrices(D.projectionMatrix,D.matrixWorldInverse),Rt.setFromProjectionMatrix(jt,nn,D.reversedDepth),Gt=this.localClippingEnabled,ae=_t.init(this.clippingPlanes,Gt),L=Z.get(g,P.length),L.init(),P.push(L),rt.enabled===!0&&rt.isPresenting===!0){const gt=N.xr.getDepthSensingMesh();gt!==null&&Ws(gt,D,-1/0,N.sortObjects)}Ws(g,D,0,N.sortObjects),L.finish(),N.sortObjects===!0&&L.sort(K,ft),oe=rt.enabled===!1||rt.isPresenting===!1||rt.hasDepthSensing()===!1,oe&&et.addToRenderList(L,g),this.info.render.frame++,ae===!0&&_t.beginShadows();const B=y.state.shadowsArray;if(st.render(B,g,D),ae===!0&&_t.endShadows(),this.info.autoReset===!0&&this.info.reset(),(O&&A.hasRenderPass())===!1){const gt=L.opaque,ht=L.transmissive;if(y.setupLights(),D.isArrayCamera){const vt=D.cameras;if(ht.length>0)for(let St=0,Lt=vt.length;St<Lt;St++){const Ft=vt[St];Oa(gt,ht,g,Ft)}oe&&et.render(g);for(let St=0,Lt=vt.length;St<Lt;St++){const Ft=vt[St];Fa(L,g,Ft,Ft.viewport)}}else ht.length>0&&Oa(gt,ht,g,D),oe&&et.render(g),Fa(L,g,D)}I!==null&&Y===0&&(_.updateMultisampleRenderTarget(I),_.updateRenderTargetMipmap(I)),O&&A.end(N),g.isScene===!0&&g.onAfterRender(N,g,D),nt.resetDefaultState(),V=-1,H=null,v.pop(),v.length>0?(y=v[v.length-1],_.setTextureUnits(y.state.textureUnits),ae===!0&&_t.setGlobalState(N.clippingPlanes,y.state.camera)):y=null,P.pop(),P.length>0?L=P[P.length-1]:L=null,z!==null&&z.renderEnd()};function Ws(g,D,G,O){if(g.visible===!1)return;if(g.layers.test(D.layers)){if(g.isGroup)G=g.renderOrder;else if(g.isLOD)g.autoUpdate===!0&&g.update(D);else if(g.isLightProbeGrid)y.pushLightProbeGrid(g);else if(g.isLight)y.pushLight(g),g.castShadow&&y.pushShadow(g);else if(g.isSprite){if(!g.frustumCulled||Rt.intersectsSprite(g)){O&&Bt.setFromMatrixPosition(g.matrixWorld).applyMatrix4(jt);const gt=tt.update(g),ht=g.material;ht.visible&&L.push(g,gt,ht,G,Bt.z,null)}}else if((g.isMesh||g.isLine||g.isPoints)&&(!g.frustumCulled||Rt.intersectsObject(g))){const gt=tt.update(g),ht=g.material;if(O&&(g.boundingSphere!==void 0?(g.boundingSphere===null&&g.computeBoundingSphere(),Bt.copy(g.boundingSphere.center)):(gt.boundingSphere===null&>.computeBoundingSphere(),Bt.copy(gt.boundingSphere.center)),Bt.applyMatrix4(g.matrixWorld).applyMatrix4(jt)),Array.isArray(ht)){const vt=gt.groups;for(let St=0,Lt=vt.length;St<Lt;St++){const Ft=vt[St],yt=ht[Ft.materialIndex];yt&&yt.visible&&L.push(g,gt,yt,G,Bt.z,Ft)}}else ht.visible&&L.push(g,gt,ht,G,Bt.z,null)}}const ut=g.children;for(let gt=0,ht=ut.length;gt<ht;gt++)Ws(ut[gt],D,G,O)}function Fa(g,D,G,O){const{opaque:B,transmissive:ut,transparent:gt}=g;y.setupLightsView(G),ae===!0&&_t.setGlobalState(N.clippingPlanes,G),O&&ot.viewport(J.copy(O)),B.length>0&&Xi(B,D,G),ut.length>0&&Xi(ut,D,G),gt.length>0&&Xi(gt,D,G),ot.buffers.depth.setTest(!0),ot.buffers.depth.setMask(!0),ot.buffers.color.setMask(!0),ot.setPolygonOffset(!1)}function Oa(g,D,G,O){if((G.isScene===!0?G.overrideMaterial:null)!==null)return;if(y.state.transmissionRenderTarget[O.id]===void 0){const yt=Vt.has("EXT_color_buffer_half_float")||Vt.has("EXT_color_buffer_float");y.state.transmissionRenderTarget[O.id]=new rn(1,1,{generateMipmaps:!0,type:yt?vn:Oe,minFilter:Xn,samples:Math.max(4,ne.samples),stencilBuffer:r,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:kt.workingColorSpace})}const ut=y.state.transmissionRenderTarget[O.id],gt=O.viewport||J;ut.setSize(gt.z*N.transmissionResolutionScale,gt.w*N.transmissionResolutionScale);const ht=N.getRenderTarget(),vt=N.getActiveCubeFace(),St=N.getActiveMipmapLevel();N.setRenderTarget(ut),N.getClearColor(xt),Et=N.getClearAlpha(),Et<1&&N.setClearColor(16777215,.5),N.clear(),oe&&et.render(G);const Lt=N.toneMapping;N.toneMapping=sn;const Ft=O.viewport;if(O.viewport!==void 0&&(O.viewport=void 0),y.setupLightsView(O),ae===!0&&_t.setGlobalState(N.clippingPlanes,O),Xi(g,G,O),_.updateMultisampleRenderTarget(ut),_.updateRenderTargetMipmap(ut),Vt.has("WEBGL_multisampled_render_to_texture")===!1){let yt=!1;for(let Jt=0,fe=D.length;Jt<fe;Jt++){const ce=D[Jt],{object:te,geometry:ye,material:mt,group:Ie}=ce;if(mt.side===pn&&te.layers.test(O.layers)){const Xt=mt.side;mt.side=Le,mt.needsUpdate=!0,Ba(te,G,O,ye,mt,Ie),mt.side=Xt,mt.needsUpdate=!0,yt=!0}}yt===!0&&(_.updateMultisampleRenderTarget(ut),_.updateRenderTargetMipmap(ut))}N.setRenderTarget(ht,vt,St),N.setClearColor(xt,Et),Ft!==void 0&&(O.viewport=Ft),N.toneMapping=Lt}function Xi(g,D,G){const O=D.isScene===!0?D.overrideMaterial:null;for(let B=0,ut=g.length;B<ut;B++){const gt=g[B],{object:ht,geometry:vt,group:St}=gt;let Lt=gt.material;Lt.allowOverride===!0&&O!==null&&(Lt=O),ht.layers.test(G.layers)&&Ba(ht,D,G,vt,Lt,St)}}function Ba(g,D,G,O,B,ut){g.onBeforeRender(N,D,G,O,B,ut),g.modelViewMatrix.multiplyMatrices(G.matrixWorldInverse,g.matrixWorld),g.normalMatrix.getNormalMatrix(g.modelViewMatrix),B.onBeforeRender(N,D,G,O,g,ut),B.transparent===!0&&B.side===pn&&B.forceSinglePass===!1?(B.side=Le,B.needsUpdate=!0,N.renderBufferDirect(G,D,O,B,g,ut),B.side=In,B.needsUpdate=!0,N.renderBufferDirect(G,D,O,B,g,ut),B.side=pn):N.renderBufferDirect(G,D,O,B,g,ut),g.onAfterRender(N,D,G,O,B,ut)}function Yi(g,D,G){D.isScene!==!0&&(D=me);const O=M.get(g),B=y.state.lights,ut=y.state.shadowsArray,gt=B.state.version,ht=at.getParameters(g,B.state,ut,D,G,y.state.lightProbeGridArray),vt=at.getProgramCacheKey(ht);let St=O.programs;O.environment=g.isMeshStandardMaterial||g.isMeshLambertMaterial||g.isMeshPhongMaterial?D.environment:null,O.fog=D.fog;const Lt=g.isMeshStandardMaterial||g.isMeshLambertMaterial&&!g.envMap||g.isMeshPhongMaterial&&!g.envMap;O.envMap=F.get(g.envMap||O.environment,Lt),O.envMapRotation=O.environment!==null&&g.envMap===null?D.environmentRotation:g.envMapRotation,St===void 0&&(g.addEventListener("dispose",ue),St=new Map,O.programs=St);let Ft=St.get(vt);if(Ft!==void 0){if(O.currentProgram===Ft&&O.lightsStateVersion===gt)return Ga(g,ht),Ft}else ht.uniforms=at.getUniforms(g),z!==null&&g.isNodeMaterial&&z.build(g,G,ht),g.onBeforeCompile(ht,N),Ft=at.acquireProgram(ht,vt),St.set(vt,Ft),O.uniforms=ht.uniforms;const yt=O.uniforms;return(!g.isShaderMaterial&&!g.isRawShaderMaterial||g.clipping===!0)&&(yt.clippingPlanes=_t.uniform),Ga(g,ht),O.needsLights=Vl(g),O.lightsStateVersion=gt,O.needsLights&&(yt.ambientLightColor.value=B.state.ambient,yt.lightProbe.value=B.state.probe,yt.directionalLights.value=B.state.directional,yt.directionalLightShadows.value=B.state.directionalShadow,yt.spotLights.value=B.state.spot,yt.spotLightShadows.value=B.state.spotShadow,yt.rectAreaLights.value=B.state.rectArea,yt.ltc_1.value=B.state.rectAreaLTC1,yt.ltc_2.value=B.state.rectAreaLTC2,yt.pointLights.value=B.state.point,yt.pointLightShadows.value=B.state.pointShadow,yt.hemisphereLights.value=B.state.hemi,yt.directionalShadowMatrix.value=B.state.directionalShadowMatrix,yt.spotLightMatrix.value=B.state.spotLightMatrix,yt.spotLightMap.value=B.state.spotLightMap,yt.pointShadowMatrix.value=B.state.pointShadowMatrix),O.lightProbeGrid=y.state.lightProbeGridArray.length>0,O.currentProgram=Ft,O.uniformsList=null,Ft}function za(g){if(g.uniformsList===null){const D=g.currentProgram.getUniforms();g.uniformsList=Rs.seqWithValue(D.seq,g.uniforms)}return g.uniformsList}function Ga(g,D){const G=M.get(g);G.outputColorSpace=D.outputColorSpace,G.batching=D.batching,G.batchingColor=D.batchingColor,G.instancing=D.instancing,G.instancingColor=D.instancingColor,G.instancingMorph=D.instancingMorph,G.skinning=D.skinning,G.morphTargets=D.morphTargets,G.morphNormals=D.morphNormals,G.morphColors=D.morphColors,G.morphTargetsCount=D.morphTargetsCount,G.numClippingPlanes=D.numClippingPlanes,G.numIntersection=D.numClipIntersection,G.vertexAlphas=D.vertexAlphas,G.vertexTangents=D.vertexTangents,G.toneMapping=D.toneMapping}function Bl(g,D){if(g.length===0)return null;if(g.length===1)return g[0].texture!==null?g[0]:null;b.setFromMatrixPosition(D.matrixWorld);for(let G=0,O=g.length;G<O;G++){const B=g[G];if(B.texture!==null&&B.boundingBox.containsPoint(b))return B}return null}function zl(g,D,G,O,B){D.isScene!==!0&&(D=me),_.resetTextureUnits();const ut=D.fog,gt=O.isMeshStandardMaterial||O.isMeshLambertMaterial||O.isMeshPhongMaterial?D.environment:null,ht=I===null?N.outputColorSpace:I.isXRRenderTarget===!0?I.texture.colorSpace:kt.workingColorSpace,vt=O.isMeshStandardMaterial||O.isMeshLambertMaterial&&!O.envMap||O.isMeshPhongMaterial&&!O.envMap,St=F.get(O.envMap||gt,vt),Lt=O.vertexColors===!0&&!!G.attributes.color&&G.attributes.color.itemSize===4,Ft=!!G.attributes.tangent&&(!!O.normalMap||O.anisotropy>0),yt=!!G.morphAttributes.position,Jt=!!G.morphAttributes.normal,fe=!!G.morphAttributes.color;let ce=sn;O.toneMapped&&(I===null||I.isXRRenderTarget===!0)&&(ce=N.toneMapping);const te=G.morphAttributes.position||G.morphAttributes.normal||G.morphAttributes.color,ye=te!==void 0?te.length:0,mt=M.get(O),Ie=y.state.lights;if(ae===!0&&(Gt===!0||g!==H)){const ie=g===H&&O.id===V;_t.setState(O,g,ie)}let Xt=!1;O.version===mt.__version?(mt.needsLights&&mt.lightsStateVersion!==Ie.state.version||mt.outputColorSpace!==ht||B.isBatchedMesh&&mt.batching===!1||!B.isBatchedMesh&&mt.batching===!0||B.isBatchedMesh&&mt.batchingColor===!0&&B.colorTexture===null||B.isBatchedMesh&&mt.batchingColor===!1&&B.colorTexture!==null||B.isInstancedMesh&&mt.instancing===!1||!B.isInstancedMesh&&mt.instancing===!0||B.isSkinnedMesh&&mt.skinning===!1||!B.isSkinnedMesh&&mt.skinning===!0||B.isInstancedMesh&&mt.instancingColor===!0&&B.instanceColor===null||B.isInstancedMesh&&mt.instancingColor===!1&&B.instanceColor!==null||B.isInstancedMesh&&mt.instancingMorph===!0&&B.morphTexture===null||B.isInstancedMesh&&mt.instancingMorph===!1&&B.morphTexture!==null||mt.envMap!==St||O.fog===!0&&mt.fog!==ut||mt.numClippingPlanes!==void 0&&(mt.numClippingPlanes!==_t.numPlanes||mt.numIntersection!==_t.numIntersection)||mt.vertexAlphas!==Lt||mt.vertexTangents!==Ft||mt.morphTargets!==yt||mt.morphNormals!==Jt||mt.morphColors!==fe||mt.toneMapping!==ce||mt.morphTargetsCount!==ye||!!mt.lightProbeGrid!=y.state.lightProbeGridArray.length>0)&&(Xt=!0):(Xt=!0,mt.__version=O.version);let ze=mt.currentProgram;Xt===!0&&(ze=Yi(O,D,B),z&&O.isNodeMaterial&&z.onUpdateProgram(O,ze,mt));let $e=!1,En=!1,jn=!1;const ee=ze.getUniforms(),de=mt.uniforms;if(ot.useProgram(ze.program)&&($e=!0,En=!0,jn=!0),O.id!==V&&(V=O.id,En=!0),mt.needsLights){const ie=Bl(y.state.lightProbeGridArray,B);mt.lightProbeGrid!==ie&&(mt.lightProbeGrid=ie,En=!0)}if($e||H!==g){ot.buffers.depth.getReversed()&&g.reversedDepth!==!0&&(g._reversedDepth=!0,g.updateProjectionMatrix()),ee.setValue(C,"projectionMatrix",g.projectionMatrix),ee.setValue(C,"viewMatrix",g.matrixWorldInverse);const bn=ee.map.cameraPosition;bn!==void 0&&bn.setValue(C,se.setFromMatrixPosition(g.matrixWorld)),ne.logarithmicDepthBuffer&&ee.setValue(C,"logDepthBufFC",2/(Math.log(g.far+1)/Math.LN2)),(O.isMeshPhongMaterial||O.isMeshToonMaterial||O.isMeshLambertMaterial||O.isMeshBasicMaterial||O.isMeshStandardMaterial||O.isShaderMaterial)&&ee.setValue(C,"isOrthographic",g.isOrthographicCamera===!0),H!==g&&(H=g,En=!0,jn=!0)}if(mt.needsLights&&(Ie.state.directionalShadowMap.length>0&&ee.setValue(C,"directionalShadowMap",Ie.state.directionalShadowMap,_),Ie.state.spotShadowMap.length>0&&ee.setValue(C,"spotShadowMap",Ie.state.spotShadowMap,_),Ie.state.pointShadowMap.length>0&&ee.setValue(C,"pointShadowMap",Ie.state.pointShadowMap,_)),B.isSkinnedMesh){ee.setOptional(C,B,"bindMatrix"),ee.setOptional(C,B,"bindMatrixInverse");const ie=B.skeleton;ie&&(ie.boneTexture===null&&ie.computeBoneTexture(),ee.setValue(C,"boneTexture",ie.boneTexture,_))}B.isBatchedMesh&&(ee.setOptional(C,B,"batchingTexture"),ee.setValue(C,"batchingTexture",B._matricesTexture,_),ee.setOptional(C,B,"batchingIdTexture"),ee.setValue(C,"batchingIdTexture",B._indirectTexture,_),ee.setOptional(C,B,"batchingColorTexture"),B._colorsTexture!==null&&ee.setValue(C,"batchingColorTexture",B._colorsTexture,_));const yn=G.morphAttributes;if((yn.position!==void 0||yn.normal!==void 0||yn.color!==void 0)&&wt.update(B,G,ze),(En||mt.receiveShadow!==B.receiveShadow)&&(mt.receiveShadow=B.receiveShadow,ee.setValue(C,"receiveShadow",B.receiveShadow)),(O.isMeshStandardMaterial||O.isMeshLambertMaterial||O.isMeshPhongMaterial)&&O.envMap===null&&D.environment!==null&&(de.envMapIntensity.value=D.environmentIntensity),de.dfgLUT!==void 0&&(de.dfgLUT.value=bm()),En){if(ee.setValue(C,"toneMappingExposure",N.toneMappingExposure),mt.needsLights&&Gl(de,jn),ut&&O.fog===!0&&k.refreshFogUniforms(de,ut),k.refreshMaterialUniforms(de,O,Ut,Kt,y.state.transmissionRenderTarget[g.id]),mt.needsLights&&mt.lightProbeGrid){const ie=mt.lightProbeGrid;de.probesSH.value=ie.texture,de.probesMin.value.copy(ie.boundingBox.min),de.probesMax.value.copy(ie.boundingBox.max),de.probesResolution.value.copy(ie.resolution)}Rs.upload(C,za(mt),de,_)}if(O.isShaderMaterial&&O.uniformsNeedUpdate===!0&&(Rs.upload(C,za(mt),de,_),O.uniformsNeedUpdate=!1),O.isSpriteMaterial&&ee.setValue(C,"center",B.center),ee.setValue(C,"modelViewMatrix",B.modelViewMatrix),ee.setValue(C,"normalMatrix",B.normalMatrix),ee.setValue(C,"modelMatrix",B.matrixWorld),O.uniformsGroups!==void 0){const ie=O.uniformsGroups;for(let bn=0,$n=ie.length;bn<$n;bn++){const Va=ie[bn];X.update(Va,ze),X.bind(Va,ze)}}return ze}function Gl(g,D){g.ambientLightColor.needsUpdate=D,g.lightProbe.needsUpdate=D,g.directionalLights.needsUpdate=D,g.directionalLightShadows.needsUpdate=D,g.pointLights.needsUpdate=D,g.pointLightShadows.needsUpdate=D,g.spotLights.needsUpdate=D,g.spotLightShadows.needsUpdate=D,g.rectAreaLights.needsUpdate=D,g.hemisphereLights.needsUpdate=D}function Vl(g){return g.isMeshLambertMaterial||g.isMeshToonMaterial||g.isMeshPhongMaterial||g.isMeshStandardMaterial||g.isShadowMaterial||g.isShaderMaterial&&g.lights===!0}this.getActiveCubeFace=function(){return W},this.getActiveMipmapLevel=function(){return Y},this.getRenderTarget=function(){return I},this.setRenderTargetTextures=function(g,D,G){const O=M.get(g);O.__autoAllocateDepthBuffer=g.resolveDepthBuffer===!1,O.__autoAllocateDepthBuffer===!1&&(O.__useRenderToTexture=!1),M.get(g.texture).__webglTexture=D,M.get(g.depthTexture).__webglTexture=O.__autoAllocateDepthBuffer?void 0:G,O.__hasExternalTextures=!0},this.setRenderTargetFramebuffer=function(g,D){const G=M.get(g);G.__webglFramebuffer=D,G.__useDefaultFramebuffer=D===void 0};const Hl=C.createFramebuffer();this.setRenderTarget=function(g,D=0,G=0){I=g,W=D,Y=G;let O=null,B=!1,ut=!1;if(g){const ht=M.get(g);if(ht.__useDefaultFramebuffer!==void 0){ot.bindFramebuffer(C.FRAMEBUFFER,ht.__webglFramebuffer),J.copy(g.viewport),Q.copy(g.scissor),ct=g.scissorTest,ot.viewport(J),ot.scissor(Q),ot.setScissorTest(ct),V=-1;return}else if(ht.__webglFramebuffer===void 0)_.setupRenderTarget(g);else if(ht.__hasExternalTextures)_.rebindTextures(g,M.get(g.texture).__webglTexture,M.get(g.depthTexture).__webglTexture);else if(g.depthBuffer){const Lt=g.depthTexture;if(ht.__boundDepthTexture!==Lt){if(Lt!==null&&M.has(Lt)&&(g.width!==Lt.image.width||g.height!==Lt.image.height))throw new Error("WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.");_.setupDepthRenderbuffer(g)}}const vt=g.texture;(vt.isData3DTexture||vt.isDataArrayTexture||vt.isCompressedArrayTexture)&&(ut=!0);const St=M.get(g).__webglFramebuffer;g.isWebGLCubeRenderTarget?(Array.isArray(St[D])?O=St[D][G]:O=St[D],B=!0):g.samples>0&&_.useMultisampledRTT(g)===!1?O=M.get(g).__webglMultisampledFramebuffer:Array.isArray(St)?O=St[G]:O=St,J.copy(g.viewport),Q.copy(g.scissor),ct=g.scissorTest}else J.copy(it).multiplyScalar(Ut).floor(),Q.copy(At).multiplyScalar(Ut).floor(),ct=Ct;if(G!==0&&(O=Hl),ot.bindFramebuffer(C.FRAMEBUFFER,O)&&ot.drawBuffers(g,O),ot.viewport(J),ot.scissor(Q),ot.setScissorTest(ct),B){const ht=M.get(g.texture);C.framebufferTexture2D(C.FRAMEBUFFER,C.COLOR_ATTACHMENT0,C.TEXTURE_CUBE_MAP_POSITIVE_X+D,ht.__webglTexture,G)}else if(ut){const ht=D;for(let vt=0;vt<g.textures.length;vt++){const St=M.get(g.textures[vt]);C.framebufferTextureLayer(C.FRAMEBUFFER,C.COLOR_ATTACHMENT0+vt,St.__webglTexture,G,ht)}}else if(g!==null&&G!==0){const ht=M.get(g.texture);C.framebufferTexture2D(C.FRAMEBUFFER,C.COLOR_ATTACHMENT0,C.TEXTURE_2D,ht.__webglTexture,G)}V=-1},this.readRenderTargetPixels=function(g,D,G,O,B,ut,gt,ht=0){if(!(g&&g.isWebGLRenderTarget)){Ht("WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let vt=M.get(g).__webglFramebuffer;if(g.isWebGLCubeRenderTarget&>!==void 0&&(vt=vt[gt]),vt){ot.bindFramebuffer(C.FRAMEBUFFER,vt);try{const St=g.textures[ht],Lt=St.format,Ft=St.type;if(g.textures.length>1&&C.readBuffer(C.COLOR_ATTACHMENT0+ht),!ne.textureFormatReadable(Lt)){Ht("WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!ne.textureTypeReadable(Ft)){Ht("WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}D>=0&&D<=g.width-O&&G>=0&&G<=g.height-B&&C.readPixels(D,G,O,B,R.convert(Lt),R.convert(Ft),ut)}finally{const St=I!==null?M.get(I).__webglFramebuffer:null;ot.bindFramebuffer(C.FRAMEBUFFER,St)}}},this.readRenderTargetPixelsAsync=async function(g,D,G,O,B,ut,gt,ht=0){if(!(g&&g.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let vt=M.get(g).__webglFramebuffer;if(g.isWebGLCubeRenderTarget&>!==void 0&&(vt=vt[gt]),vt)if(D>=0&&D<=g.width-O&&G>=0&&G<=g.height-B){ot.bindFramebuffer(C.FRAMEBUFFER,vt);const St=g.textures[ht],Lt=St.format,Ft=St.type;if(g.textures.length>1&&C.readBuffer(C.COLOR_ATTACHMENT0+ht),!ne.textureFormatReadable(Lt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!ne.textureTypeReadable(Ft))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");const yt=C.createBuffer();C.bindBuffer(C.PIXEL_PACK_BUFFER,yt),C.bufferData(C.PIXEL_PACK_BUFFER,ut.byteLength,C.STREAM_READ),C.readPixels(D,G,O,B,R.convert(Lt),R.convert(Ft),0);const Jt=I!==null?M.get(I).__webglFramebuffer:null;ot.bindFramebuffer(C.FRAMEBUFFER,Jt);const fe=C.fenceSync(C.SYNC_GPU_COMMANDS_COMPLETE,0);return C.flush(),await Tc(C,fe,4),C.bindBuffer(C.PIXEL_PACK_BUFFER,yt),C.getBufferSubData(C.PIXEL_PACK_BUFFER,0,ut),C.deleteBuffer(yt),C.deleteSync(fe),ut}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")},this.copyFramebufferToTexture=function(g,D=null,G=0){const O=Math.pow(2,-G),B=Math.floor(g.image.width*O),ut=Math.floor(g.image.height*O),gt=D!==null?D.x:0,ht=D!==null?D.y:0;_.setTexture2D(g,0),C.copyTexSubImage2D(C.TEXTURE_2D,G,0,0,gt,ht,B,ut),ot.unbindTexture()};const kl=C.createFramebuffer(),Wl=C.createFramebuffer();this.copyTextureToTexture=function(g,D,G=null,O=null,B=0,ut=0){let gt,ht,vt,St,Lt,Ft,yt,Jt,fe;const ce=g.isCompressedTexture?g.mipmaps[ut]:g.image;if(G!==null)gt=G.max.x-G.min.x,ht=G.max.y-G.min.y,vt=G.isBox3?G.max.z-G.min.z:1,St=G.min.x,Lt=G.min.y,Ft=G.isBox3?G.min.z:0;else{const de=Math.pow(2,-B);gt=Math.floor(ce.width*de),ht=Math.floor(ce.height*de),g.isDataArrayTexture?vt=ce.depth:g.isData3DTexture?vt=Math.floor(ce.depth*de):vt=1,St=0,Lt=0,Ft=0}O!==null?(yt=O.x,Jt=O.y,fe=O.z):(yt=0,Jt=0,fe=0);const te=R.convert(D.format),ye=R.convert(D.type);let mt;D.isData3DTexture?(_.setTexture3D(D,0),mt=C.TEXTURE_3D):D.isDataArrayTexture||D.isCompressedArrayTexture?(_.setTexture2DArray(D,0),mt=C.TEXTURE_2D_ARRAY):(_.setTexture2D(D,0),mt=C.TEXTURE_2D),ot.activeTexture(C.TEXTURE0),ot.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,D.flipY),ot.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,D.premultiplyAlpha),ot.pixelStorei(C.UNPACK_ALIGNMENT,D.unpackAlignment);const Ie=ot.getParameter(C.UNPACK_ROW_LENGTH),Xt=ot.getParameter(C.UNPACK_IMAGE_HEIGHT),ze=ot.getParameter(C.UNPACK_SKIP_PIXELS),$e=ot.getParameter(C.UNPACK_SKIP_ROWS),En=ot.getParameter(C.UNPACK_SKIP_IMAGES);ot.pixelStorei(C.UNPACK_ROW_LENGTH,ce.width),ot.pixelStorei(C.UNPACK_IMAGE_HEIGHT,ce.height),ot.pixelStorei(C.UNPACK_SKIP_PIXELS,St),ot.pixelStorei(C.UNPACK_SKIP_ROWS,Lt),ot.pixelStorei(C.UNPACK_SKIP_IMAGES,Ft);const jn=g.isDataArrayTexture||g.isData3DTexture,ee=D.isDataArrayTexture||D.isData3DTexture;if(g.isDepthTexture){const de=M.get(g),yn=M.get(D),ie=M.get(de.__renderTarget),bn=M.get(yn.__renderTarget);ot.bindFramebuffer(C.READ_FRAMEBUFFER,ie.__webglFramebuffer),ot.bindFramebuffer(C.DRAW_FRAMEBUFFER,bn.__webglFramebuffer);for(let $n=0;$n<vt;$n++)jn&&(C.framebufferTextureLayer(C.READ_FRAMEBUFFER,C.COLOR_ATTACHMENT0,M.get(g).__webglTexture,B,Ft+$n),C.framebufferTextureLayer(C.DRAW_FRAMEBUFFER,C.COLOR_ATTACHMENT0,M.get(D).__webglTexture,ut,fe+$n)),C.blitFramebuffer(St,Lt,gt,ht,yt,Jt,gt,ht,C.DEPTH_BUFFER_BIT,C.NEAREST);ot.bindFramebuffer(C.READ_FRAMEBUFFER,null),ot.bindFramebuffer(C.DRAW_FRAMEBUFFER,null)}else if(B!==0||g.isRenderTargetTexture||M.has(g)){const de=M.get(g),yn=M.get(D);ot.bindFramebuffer(C.READ_FRAMEBUFFER,kl),ot.bindFramebuffer(C.DRAW_FRAMEBUFFER,Wl);for(let ie=0;ie<vt;ie++)jn?C.framebufferTextureLayer(C.READ_FRAMEBUFFER,C.COLOR_ATTACHMENT0,de.__webglTexture,B,Ft+ie):C.framebufferTexture2D(C.READ_FRAMEBUFFER,C.COLOR_ATTACHMENT0,C.TEXTURE_2D,de.__webglTexture,B),ee?C.framebufferTextureLayer(C.DRAW_FRAMEBUFFER,C.COLOR_ATTACHMENT0,yn.__webglTexture,ut,fe+ie):C.framebufferTexture2D(C.DRAW_FRAMEBUFFER,C.COLOR_ATTACHMENT0,C.TEXTURE_2D,yn.__webglTexture,ut),B!==0?C.blitFramebuffer(St,Lt,gt,ht,yt,Jt,gt,ht,C.COLOR_BUFFER_BIT,C.NEAREST):ee?C.copyTexSubImage3D(mt,ut,yt,Jt,fe+ie,St,Lt,gt,ht):C.copyTexSubImage2D(mt,ut,yt,Jt,St,Lt,gt,ht);ot.bindFramebuffer(C.READ_FRAMEBUFFER,null),ot.bindFramebuffer(C.DRAW_FRAMEBUFFER,null)}else ee?g.isDataTexture||g.isData3DTexture?C.texSubImage3D(mt,ut,yt,Jt,fe,gt,ht,vt,te,ye,ce.data):D.isCompressedArrayTexture?C.compressedTexSubImage3D(mt,ut,yt,Jt,fe,gt,ht,vt,te,ce.data):C.texSubImage3D(mt,ut,yt,Jt,fe,gt,ht,vt,te,ye,ce):g.isDataTexture?C.texSubImage2D(C.TEXTURE_2D,ut,yt,Jt,gt,ht,te,ye,ce.data):g.isCompressedTexture?C.compressedTexSubImage2D(C.TEXTURE_2D,ut,yt,Jt,ce.width,ce.height,te,ce.data):C.texSubImage2D(C.TEXTURE_2D,ut,yt,Jt,gt,ht,te,ye,ce);ot.pixelStorei(C.UNPACK_ROW_LENGTH,Ie),ot.pixelStorei(C.UNPACK_IMAGE_HEIGHT,Xt),ot.pixelStorei(C.UNPACK_SKIP_PIXELS,ze),ot.pixelStorei(C.UNPACK_SKIP_ROWS,$e),ot.pixelStorei(C.UNPACK_SKIP_IMAGES,En),ut===0&&D.generateMipmaps&&C.generateMipmap(mt),ot.unbindTexture()},this.initRenderTarget=function(g){M.get(g).__webglFramebuffer===void 0&&_.setupRenderTarget(g)},this.initTexture=function(g){g.isCubeTexture?_.setTextureCube(g,0):g.isData3DTexture?_.setTexture3D(g,0):g.isDataArrayTexture||g.isCompressedArrayTexture?_.setTexture2DArray(g,0):_.setTexture2D(g,0),ot.unbindTexture()},this.resetState=function(){W=0,Y=0,I=null,ot.reset(),nt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return nn}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(t){this._outputColorSpace=t;const e=this.getContext();e.drawingBufferColorSpace=kt._getDrawingBufferColorSpace(t),e.unpackColorSpace=kt._getUnpackColorSpace()}}const Ko={type:"change"},Ua={type:"start"},Fl={type:"end"},Ss=new zs,jo=new Dn,Tm=Math.cos(70*kc.DEG2RAD),ge=new U,De=2*Math.PI,Qt={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},Tr=1e-6;class Zm extends wh{constructor(t,e=null){super(t,e),this.state=Qt.NONE,this.target=new U,this.cursor=new U,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:gi.ROTATE,MIDDLE:gi.DOLLY,RIGHT:gi.PAN},this.touches={ONE:_i.ROTATE,TWO:_i.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._cursorStyle="auto",this._domElementKeyEvents=null,this._lastPosition=new U,this._lastQuaternion=new Nn,this._lastTargetPosition=new U,this._quat=new Nn().setFromUnitVectors(t.up,new U(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new bo,this._sphericalDelta=new bo,this._scale=1,this._panOffset=new U,this._rotateStart=new Tt,this._rotateEnd=new Tt,this._rotateDelta=new Tt,this._panStart=new Tt,this._panEnd=new Tt,this._panDelta=new Tt,this._dollyStart=new Tt,this._dollyEnd=new Tt,this._dollyDelta=new Tt,this._dollyDirection=new U,this._mouse=new Tt,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=Rm.bind(this),this._onPointerDown=Am.bind(this),this._onPointerUp=wm.bind(this),this._onContextMenu=Nm.bind(this),this._onMouseWheel=Dm.bind(this),this._onKeyDown=Lm.bind(this),this._onTouchStart=Um.bind(this),this._onTouchMove=Im.bind(this),this._onMouseDown=Cm.bind(this),this._onMouseMove=Pm.bind(this),this._interceptControlDown=Fm.bind(this),this._interceptControlUp=Om.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}set cursorStyle(t){this._cursorStyle=t,t==="grab"?this.domElement.style.cursor="grab":this.domElement.style.cursor="auto"}get cursorStyle(){return this._cursorStyle}connect(t){super.connect(t),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction=""}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(t){t.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=t}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(Ko),this.update(),this.state=Qt.NONE}pan(t,e){this._pan(t,e),this.update()}dollyIn(t){this._dollyIn(t),this.update()}dollyOut(t){this._dollyOut(t),this.update()}rotateLeft(t){this._rotateLeft(t),this.update()}rotateUp(t){this._rotateUp(t),this.update()}update(t=null){const e=this.object.position;ge.copy(e).sub(this.target),ge.applyQuaternion(this._quat),this._spherical.setFromVector3(ge),this.autoRotate&&this.state===Qt.NONE&&this._rotateLeft(this._getAutoRotationAngle(t)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let n=this.minAzimuthAngle,s=this.maxAzimuthAngle;isFinite(n)&&isFinite(s)&&(n<-Math.PI?n+=De:n>Math.PI&&(n-=De),s<-Math.PI?s+=De:s>Math.PI&&(s-=De),n<=s?this._spherical.theta=Math.max(n,Math.min(s,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(n+s)/2?Math.max(n,this._spherical.theta):Math.min(s,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let r=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const a=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),r=a!=this._spherical.radius}if(ge.setFromSpherical(this._spherical),ge.applyQuaternion(this._quatInverse),e.copy(this.target).add(ge),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let a=null;if(this.object.isPerspectiveCamera){const o=ge.length();a=this._clampDistance(o*this._scale);const l=o-a;this.object.position.addScaledVector(this._dollyDirection,l),this.object.updateMatrixWorld(),r=!!l}else if(this.object.isOrthographicCamera){const o=new U(this._mouse.x,this._mouse.y,0);o.unproject(this.object);const l=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),r=l!==this.object.zoom;const c=new U(this._mouse.x,this._mouse.y,0);c.unproject(this.object),this.object.position.sub(c).add(o),this.object.updateMatrixWorld(),a=ge.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;a!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(a).add(this.object.position):(Ss.origin.copy(this.object.position),Ss.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(Ss.direction))<Tm?this.object.lookAt(this.target):(jo.setFromNormalAndCoplanarPoint(this.object.up,this.target),Ss.intersectPlane(jo,this.target))))}else if(this.object.isOrthographicCamera){const a=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),a!==this.object.zoom&&(this.object.updateProjectionMatrix(),r=!0)}return this._scale=1,this._performCursorZoom=!1,r||this._lastPosition.distanceToSquared(this.object.position)>Tr||8*(1-this._lastQuaternion.dot(this.object.quaternion))>Tr||this._lastTargetPosition.distanceToSquared(this.target)>Tr?(this.dispatchEvent(Ko),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(t){return t!==null?De/60*this.autoRotateSpeed*t:De/60/60*this.autoRotateSpeed}_getZoomScale(t){const e=Math.abs(t*.01);return Math.pow(.95,this.zoomSpeed*e)}_rotateLeft(t){this._sphericalDelta.theta-=t}_rotateUp(t){this._sphericalDelta.phi-=t}_panLeft(t,e){ge.setFromMatrixColumn(e,0),ge.multiplyScalar(-t),this._panOffset.add(ge)}_panUp(t,e){this.screenSpacePanning===!0?ge.setFromMatrixColumn(e,1):(ge.setFromMatrixColumn(e,0),ge.crossVectors(this.object.up,ge)),ge.multiplyScalar(t),this._panOffset.add(ge)}_pan(t,e){const n=this.domElement;if(this.object.isPerspectiveCamera){const s=this.object.position;ge.copy(s).sub(this.target);let r=ge.length();r*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*t*r/n.clientHeight,this.object.matrix),this._panUp(2*e*r/n.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(t*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(e*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(t,e){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const n=this.domElement.getBoundingClientRect(),s=t-n.left,r=e-n.top,a=n.width,o=n.height;this._mouse.x=s/a*2-1,this._mouse.y=-(r/o)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(t){return Math.max(this.minDistance,Math.min(this.maxDistance,t))}_handleMouseDownRotate(t){this._rotateStart.set(t.clientX,t.clientY)}_handleMouseDownDolly(t){this._updateZoomParameters(t.clientX,t.clientX),this._dollyStart.set(t.clientX,t.clientY)}_handleMouseDownPan(t){this._panStart.set(t.clientX,t.clientY)}_handleMouseMoveRotate(t){this._rotateEnd.set(t.clientX,t.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(De*this._rotateDelta.x/e.clientHeight),this._rotateUp(De*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(t){this._dollyEnd.set(t.clientX,t.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(t){this._panEnd.set(t.clientX,t.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(t){this._updateZoomParameters(t.clientX,t.clientY),t.deltaY<0?this._dollyIn(this._getZoomScale(t.deltaY)):t.deltaY>0&&this._dollyOut(this._getZoomScale(t.deltaY)),this.update()}_handleKeyDown(t){let e=!1;switch(t.code){case this.keys.UP:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(De*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),e=!0;break;case this.keys.BOTTOM:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(-De*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),e=!0;break;case this.keys.LEFT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(De*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),e=!0;break;case this.keys.RIGHT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(-De*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),e=!0;break}e&&(t.preventDefault(),this.update())}_handleTouchStartRotate(t){if(this._pointers.length===1)this._rotateStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),n=.5*(t.pageX+e.x),s=.5*(t.pageY+e.y);this._rotateStart.set(n,s)}}_handleTouchStartPan(t){if(this._pointers.length===1)this._panStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),n=.5*(t.pageX+e.x),s=.5*(t.pageY+e.y);this._panStart.set(n,s)}}_handleTouchStartDolly(t){const e=this._getSecondPointerPosition(t),n=t.pageX-e.x,s=t.pageY-e.y,r=Math.sqrt(n*n+s*s);this._dollyStart.set(0,r)}_handleTouchStartDollyPan(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enablePan&&this._handleTouchStartPan(t)}_handleTouchStartDollyRotate(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enableRotate&&this._handleTouchStartRotate(t)}_handleTouchMoveRotate(t){if(this._pointers.length==1)this._rotateEnd.set(t.pageX,t.pageY);else{const n=this._getSecondPointerPosition(t),s=.5*(t.pageX+n.x),r=.5*(t.pageY+n.y);this._rotateEnd.set(s,r)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(De*this._rotateDelta.x/e.clientHeight),this._rotateUp(De*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(t){if(this._pointers.length===1)this._panEnd.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),n=.5*(t.pageX+e.x),s=.5*(t.pageY+e.y);this._panEnd.set(n,s)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(t){const e=this._getSecondPointerPosition(t),n=t.pageX-e.x,s=t.pageY-e.y,r=Math.sqrt(n*n+s*s);this._dollyEnd.set(0,r),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const a=(t.pageX+e.x)*.5,o=(t.pageY+e.y)*.5;this._updateZoomParameters(a,o)}_handleTouchMoveDollyPan(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enablePan&&this._handleTouchMovePan(t)}_handleTouchMoveDollyRotate(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enableRotate&&this._handleTouchMoveRotate(t)}_addPointer(t){this._pointers.push(t.pointerId)}_removePointer(t){delete this._pointerPositions[t.pointerId];for(let e=0;e<this._pointers.length;e++)if(this._pointers[e]==t.pointerId){this._pointers.splice(e,1);return}}_isTrackingPointer(t){for(let e=0;e<this._pointers.length;e++)if(this._pointers[e]==t.pointerId)return!0;return!1}_trackPointer(t){let e=this._pointerPositions[t.pointerId];e===void 0&&(e=new Tt,this._pointerPositions[t.pointerId]=e),e.set(t.pageX,t.pageY)}_getSecondPointerPosition(t){const e=t.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[e]}_customWheelEvent(t){const e=t.deltaMode,n={clientX:t.clientX,clientY:t.clientY,deltaY:t.deltaY};switch(e){case 1:n.deltaY*=16;break;case 2:n.deltaY*=100;break}return t.ctrlKey&&!this._controlActive&&(n.deltaY*=10),n}}function Am(i){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(i.pointerId),this.domElement.ownerDocument.addEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(i)&&(this._addPointer(i),i.pointerType==="touch"?this._onTouchStart(i):this._onMouseDown(i),this._cursorStyle==="grab"&&(this.domElement.style.cursor="grabbing")))}function Rm(i){this.enabled!==!1&&(i.pointerType==="touch"?this._onTouchMove(i):this._onMouseMove(i))}function wm(i){switch(this._removePointer(i),this._pointers.length){case 0:this.domElement.releasePointerCapture(i.pointerId),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(Fl),this.state=Qt.NONE,this._cursorStyle==="grab"&&(this.domElement.style.cursor="grab");break;case 1:const t=this._pointers[0],e=this._pointerPositions[t];this._onTouchStart({pointerId:t,pageX:e.x,pageY:e.y});break}}function Cm(i){let t;switch(i.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=-1}switch(t){case gi.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(i),this.state=Qt.DOLLY;break;case gi.ROTATE:if(i.ctrlKey||i.metaKey||i.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(i),this.state=Qt.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(i),this.state=Qt.ROTATE}break;case gi.PAN:if(i.ctrlKey||i.metaKey||i.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(i),this.state=Qt.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(i),this.state=Qt.PAN}break;default:this.state=Qt.NONE}this.state!==Qt.NONE&&this.dispatchEvent(Ua)}function Pm(i){switch(this.state){case Qt.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(i);break;case Qt.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(i);break;case Qt.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(i);break}}function Dm(i){this.enabled===!1||this.enableZoom===!1||this.state!==Qt.NONE||(i.preventDefault(),this.dispatchEvent(Ua),this._handleMouseWheel(this._customWheelEvent(i)),this.dispatchEvent(Fl))}function Lm(i){this.enabled!==!1&&this._handleKeyDown(i)}function Um(i){switch(this._trackPointer(i),this._pointers.length){case 1:switch(this.touches.ONE){case _i.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(i),this.state=Qt.TOUCH_ROTATE;break;case _i.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(i),this.state=Qt.TOUCH_PAN;break;default:this.state=Qt.NONE}break;case 2:switch(this.touches.TWO){case _i.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(i),this.state=Qt.TOUCH_DOLLY_PAN;break;case _i.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(i),this.state=Qt.TOUCH_DOLLY_ROTATE;break;default:this.state=Qt.NONE}break;default:this.state=Qt.NONE}this.state!==Qt.NONE&&this.dispatchEvent(Ua)}function Im(i){switch(this._trackPointer(i),this.state){case Qt.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(i),this.update();break;case Qt.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(i),this.update();break;case Qt.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(i),this.update();break;case Qt.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(i),this.update();break;default:this.state=Qt.NONE}}function Nm(i){this.enabled!==!1&&i.preventDefault()}function Fm(i){i.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function Om(i){i.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}export{el as A,ki as B,Gm as C,km as D,we as F,Ym as G,Hm as H,kc as M,Zm as O,Ye as P,Xm as R,Ve as S,Tt as V,qm as W,Wm as a,Wi as b,Ke as c,Be as d,bl as e,zt as f,pn as g,_l as h,ji as i,Sn as j,Ml as k,Vm as l,Dn as m,Gs as n,Bm as o,zm as p,lh as q,U as r};
|
|
4104
|
+
}`;class xm{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(t,e){if(this.texture===null){const n=new yl(t.texture);(t.depthNear!==e.depthNear||t.depthFar!==e.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=n}}getMesh(t){if(this.texture!==null&&this.mesh===null){const e=t.cameras[0].viewport,n=new on({vertexShader:_m,fragmentShader:gm,uniforms:{depthColor:{value:this.texture},depthWidth:{value:e.z},depthHeight:{value:e.w}}});this.mesh=new Sn(new Gs(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class vm extends On{constructor(t,e){super();const n=this;let s=null,r=1,a=null,o="local-floor",l=1,c=null,f=null,p=null,h=null,m=null,x=null;const S=typeof XRWebGLBinding<"u",d=new xm,u={},E=e.getContextAttributes();let T=null,b=null;const L=[],y=[],P=new Tt;let v=null;const A=new Ye;A.viewport=new he;const N=new Ye;N.viewport=new he;const w=[A,N],z=new Rh;let W=null,Y=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(K){let ft=L[K];return ft===void 0&&(ft=new Qs,L[K]=ft),ft.getTargetRaySpace()},this.getControllerGrip=function(K){let ft=L[K];return ft===void 0&&(ft=new Qs,L[K]=ft),ft.getGripSpace()},this.getHand=function(K){let ft=L[K];return ft===void 0&&(ft=new Qs,L[K]=ft),ft.getHandSpace()};function I(K){const ft=y.indexOf(K.inputSource);if(ft===-1)return;const it=L[ft];it!==void 0&&(it.update(K.inputSource,K.frame,c||a),it.dispatchEvent({type:K.type,data:K.inputSource}))}function V(){s.removeEventListener("select",I),s.removeEventListener("selectstart",I),s.removeEventListener("selectend",I),s.removeEventListener("squeeze",I),s.removeEventListener("squeezestart",I),s.removeEventListener("squeezeend",I),s.removeEventListener("end",V),s.removeEventListener("inputsourceschange",H);for(let K=0;K<L.length;K++){const ft=y[K];ft!==null&&(y[K]=null,L[K].disconnect(ft))}W=null,Y=null,d.reset();for(const K in u)delete u[K];t.setRenderTarget(T),m=null,h=null,p=null,s=null,b=null,Ut.stop(),n.isPresenting=!1,t.setPixelRatio(v),t.setSize(P.width,P.height,!1),n.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(K){r=K,n.isPresenting===!0&&bt("WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(K){o=K,n.isPresenting===!0&&bt("WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return c||a},this.setReferenceSpace=function(K){c=K},this.getBaseLayer=function(){return h!==null?h:m},this.getBinding=function(){return p===null&&S&&(p=new XRWebGLBinding(s,e)),p},this.getFrame=function(){return x},this.getSession=function(){return s},this.setSession=async function(K){if(s=K,s!==null){if(T=t.getRenderTarget(),s.addEventListener("select",I),s.addEventListener("selectstart",I),s.addEventListener("selectend",I),s.addEventListener("squeeze",I),s.addEventListener("squeezestart",I),s.addEventListener("squeezeend",I),s.addEventListener("end",V),s.addEventListener("inputsourceschange",H),E.xrCompatible!==!0&&await e.makeXRCompatible(),v=t.getPixelRatio(),t.getSize(P),S&&"createProjectionLayer"in XRWebGLBinding.prototype){let it=null,At=null,Ct=null;E.depth&&(Ct=E.stencil?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT24,it=E.stencil?Yn:Mn,At=E.stencil?Gi:an);const Rt={colorFormat:e.RGBA8,depthFormat:Ct,scaleFactor:r};p=this.getBinding(),h=p.createProjectionLayer(Rt),s.updateRenderState({layers:[h]}),t.setPixelRatio(1),t.setSize(h.textureWidth,h.textureHeight,!1),b=new rn(h.textureWidth,h.textureHeight,{format:Ze,type:Oe,depthTexture:new Ei(h.textureWidth,h.textureHeight,At,void 0,void 0,void 0,void 0,void 0,void 0,it),stencilBuffer:E.stencil,colorSpace:t.outputColorSpace,samples:E.antialias?4:0,resolveDepthBuffer:h.ignoreDepthValues===!1,resolveStencilBuffer:h.ignoreDepthValues===!1})}else{const it={antialias:E.antialias,alpha:!0,depth:E.depth,stencil:E.stencil,framebufferScaleFactor:r};m=new XRWebGLLayer(s,e,it),s.updateRenderState({baseLayer:m}),t.setPixelRatio(1),t.setSize(m.framebufferWidth,m.framebufferHeight,!1),b=new rn(m.framebufferWidth,m.framebufferHeight,{format:Ze,type:Oe,colorSpace:t.outputColorSpace,stencilBuffer:E.stencil,resolveDepthBuffer:m.ignoreDepthValues===!1,resolveStencilBuffer:m.ignoreDepthValues===!1})}b.isXRRenderTarget=!0,this.setFoveation(l),c=null,a=await s.requestReferenceSpace(o),Ut.setContext(s),Ut.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(s!==null)return s.environmentBlendMode},this.getDepthTexture=function(){return d.getDepthTexture()};function H(K){for(let ft=0;ft<K.removed.length;ft++){const it=K.removed[ft],At=y.indexOf(it);At>=0&&(y[At]=null,L[At].disconnect(it))}for(let ft=0;ft<K.added.length;ft++){const it=K.added[ft];let At=y.indexOf(it);if(At===-1){for(let Rt=0;Rt<L.length;Rt++)if(Rt>=y.length){y.push(it),At=Rt;break}else if(y[Rt]===null){y[Rt]=it,At=Rt;break}if(At===-1)break}const Ct=L[At];Ct&&Ct.connect(it)}}const J=new U,Q=new U;function ct(K,ft,it){J.setFromMatrixPosition(ft.matrixWorld),Q.setFromMatrixPosition(it.matrixWorld);const At=J.distanceTo(Q),Ct=ft.projectionMatrix.elements,Rt=it.projectionMatrix.elements,ae=Ct[14]/(Ct[10]-1),Gt=Ct[14]/(Ct[10]+1),jt=(Ct[9]+1)/Ct[5],se=(Ct[9]-1)/Ct[5],Bt=(Ct[8]-1)/Ct[0],me=(Rt[8]+1)/Rt[0],oe=ae*Bt,Ue=ae*me,C=At/(-Bt+me),_e=C*-Bt;if(ft.matrixWorld.decompose(K.position,K.quaternion,K.scale),K.translateX(_e),K.translateZ(C),K.matrixWorld.compose(K.position,K.quaternion,K.scale),K.matrixWorldInverse.copy(K.matrixWorld).invert(),Ct[10]===-1)K.projectionMatrix.copy(ft.projectionMatrix),K.projectionMatrixInverse.copy(ft.projectionMatrixInverse);else{const Vt=ae+C,ne=Gt+C,ot=oe-_e,le=Ue+(At-_e),M=jt*Gt/ne*Vt,_=se*Gt/ne*Vt;K.projectionMatrix.makePerspective(ot,le,M,_,Vt,ne),K.projectionMatrixInverse.copy(K.projectionMatrix).invert()}}function xt(K,ft){ft===null?K.matrixWorld.copy(K.matrix):K.matrixWorld.multiplyMatrices(ft.matrixWorld,K.matrix),K.matrixWorldInverse.copy(K.matrixWorld).invert()}this.updateCamera=function(K){if(s===null)return;let ft=K.near,it=K.far;d.texture!==null&&(d.depthNear>0&&(ft=d.depthNear),d.depthFar>0&&(it=d.depthFar)),z.near=N.near=A.near=ft,z.far=N.far=A.far=it,(W!==z.near||Y!==z.far)&&(s.updateRenderState({depthNear:z.near,depthFar:z.far}),W=z.near,Y=z.far),z.layers.mask=K.layers.mask|6,A.layers.mask=z.layers.mask&-5,N.layers.mask=z.layers.mask&-3;const At=K.parent,Ct=z.cameras;xt(z,At);for(let Rt=0;Rt<Ct.length;Rt++)xt(Ct[Rt],At);Ct.length===2?ct(z,A,N):z.projectionMatrix.copy(A.projectionMatrix),Et(K,z,At)};function Et(K,ft,it){it===null?K.matrix.copy(ft.matrixWorld):(K.matrix.copy(it.matrixWorld),K.matrix.invert(),K.matrix.multiply(ft.matrixWorld)),K.matrix.decompose(K.position,K.quaternion,K.scale),K.updateMatrixWorld(!0),K.projectionMatrix.copy(ft.projectionMatrix),K.projectionMatrixInverse.copy(ft.projectionMatrixInverse),K.isPerspectiveCamera&&(K.fov=Hi*2*Math.atan(1/K.projectionMatrix.elements[5]),K.zoom=1)}this.getCamera=function(){return z},this.getFoveation=function(){if(!(h===null&&m===null))return l},this.setFoveation=function(K){l=K,h!==null&&(h.fixedFoveation=K),m!==null&&m.fixedFoveation!==void 0&&(m.fixedFoveation=K)},this.hasDepthSensing=function(){return d.texture!==null},this.getDepthSensingMesh=function(){return d.getMesh(z)},this.getCameraTexture=function(K){return u[K]};let Wt=null;function Kt(K,ft){if(f=ft.getViewerPose(c||a),x=ft,f!==null){const it=f.views;m!==null&&(t.setRenderTargetFramebuffer(b,m.framebuffer),t.setRenderTarget(b));let At=!1;it.length!==z.cameras.length&&(z.cameras.length=0,At=!0);for(let Gt=0;Gt<it.length;Gt++){const jt=it[Gt];let se=null;if(m!==null)se=m.getViewport(jt);else{const me=p.getViewSubImage(h,jt);se=me.viewport,Gt===0&&(t.setRenderTargetTextures(b,me.colorTexture,me.depthStencilTexture),t.setRenderTarget(b))}let Bt=w[Gt];Bt===void 0&&(Bt=new Ye,Bt.layers.enable(Gt),Bt.viewport=new he,w[Gt]=Bt),Bt.matrix.fromArray(jt.transform.matrix),Bt.matrix.decompose(Bt.position,Bt.quaternion,Bt.scale),Bt.projectionMatrix.fromArray(jt.projectionMatrix),Bt.projectionMatrixInverse.copy(Bt.projectionMatrix).invert(),Bt.viewport.set(se.x,se.y,se.width,se.height),Gt===0&&(z.matrix.copy(Bt.matrix),z.matrix.decompose(z.position,z.quaternion,z.scale)),At===!0&&z.cameras.push(Bt)}const Ct=s.enabledFeatures;if(Ct&&Ct.includes("depth-sensing")&&s.depthUsage=="gpu-optimized"&&S){p=n.getBinding();const Gt=p.getDepthInformation(it[0]);Gt&&Gt.isValid&&Gt.texture&&d.init(Gt,s.renderState)}if(Ct&&Ct.includes("camera-access")&&S){t.state.unbindTexture(),p=n.getBinding();for(let Gt=0;Gt<it.length;Gt++){const jt=it[Gt].camera;if(jt){let se=u[jt];se||(se=new yl,u[jt]=se);const Bt=p.getCameraImage(jt);se.sourceTexture=Bt}}}}for(let it=0;it<L.length;it++){const At=y[it],Ct=L[it];At!==null&&Ct!==void 0&&Ct.update(At,ft,c||a)}Wt&&Wt(K,ft),ft.detectedPlanes&&n.dispatchEvent({type:"planesdetected",data:ft}),x=null}const Ut=new wl;Ut.setAnimationLoop(Kt),this.setAnimationLoop=function(K){Wt=K},this.dispose=function(){}}}const Mm=new re,Nl=new Pt;Nl.set(-1,0,0,0,1,0,0,0,1);function Sm(i,t){function e(d,u){d.matrixAutoUpdate===!0&&d.updateMatrix(),u.value.copy(d.matrix)}function n(d,u){u.color.getRGB(d.fogColor.value,Tl(i)),u.isFog?(d.fogNear.value=u.near,d.fogFar.value=u.far):u.isFogExp2&&(d.fogDensity.value=u.density)}function s(d,u,E,T,b){u.isNodeMaterial?u.uniformsNeedUpdate=!1:u.isMeshBasicMaterial?r(d,u):u.isMeshLambertMaterial?(r(d,u),u.envMap&&(d.envMapIntensity.value=u.envMapIntensity)):u.isMeshToonMaterial?(r(d,u),p(d,u)):u.isMeshPhongMaterial?(r(d,u),f(d,u),u.envMap&&(d.envMapIntensity.value=u.envMapIntensity)):u.isMeshStandardMaterial?(r(d,u),h(d,u),u.isMeshPhysicalMaterial&&m(d,u,b)):u.isMeshMatcapMaterial?(r(d,u),x(d,u)):u.isMeshDepthMaterial?r(d,u):u.isMeshDistanceMaterial?(r(d,u),S(d,u)):u.isMeshNormalMaterial?r(d,u):u.isLineBasicMaterial?(a(d,u),u.isLineDashedMaterial&&o(d,u)):u.isPointsMaterial?l(d,u,E,T):u.isSpriteMaterial?c(d,u):u.isShadowMaterial?(d.color.value.copy(u.color),d.opacity.value=u.opacity):u.isShaderMaterial&&(u.uniformsNeedUpdate=!1)}function r(d,u){d.opacity.value=u.opacity,u.color&&d.diffuse.value.copy(u.color),u.emissive&&d.emissive.value.copy(u.emissive).multiplyScalar(u.emissiveIntensity),u.map&&(d.map.value=u.map,e(u.map,d.mapTransform)),u.alphaMap&&(d.alphaMap.value=u.alphaMap,e(u.alphaMap,d.alphaMapTransform)),u.bumpMap&&(d.bumpMap.value=u.bumpMap,e(u.bumpMap,d.bumpMapTransform),d.bumpScale.value=u.bumpScale,u.side===Le&&(d.bumpScale.value*=-1)),u.normalMap&&(d.normalMap.value=u.normalMap,e(u.normalMap,d.normalMapTransform),d.normalScale.value.copy(u.normalScale),u.side===Le&&d.normalScale.value.negate()),u.displacementMap&&(d.displacementMap.value=u.displacementMap,e(u.displacementMap,d.displacementMapTransform),d.displacementScale.value=u.displacementScale,d.displacementBias.value=u.displacementBias),u.emissiveMap&&(d.emissiveMap.value=u.emissiveMap,e(u.emissiveMap,d.emissiveMapTransform)),u.specularMap&&(d.specularMap.value=u.specularMap,e(u.specularMap,d.specularMapTransform)),u.alphaTest>0&&(d.alphaTest.value=u.alphaTest);const E=t.get(u),T=E.envMap,b=E.envMapRotation;T&&(d.envMap.value=T,d.envMapRotation.value.setFromMatrix4(Mm.makeRotationFromEuler(b)).transpose(),T.isCubeTexture&&T.isRenderTargetTexture===!1&&d.envMapRotation.value.premultiply(Nl),d.reflectivity.value=u.reflectivity,d.ior.value=u.ior,d.refractionRatio.value=u.refractionRatio),u.lightMap&&(d.lightMap.value=u.lightMap,d.lightMapIntensity.value=u.lightMapIntensity,e(u.lightMap,d.lightMapTransform)),u.aoMap&&(d.aoMap.value=u.aoMap,d.aoMapIntensity.value=u.aoMapIntensity,e(u.aoMap,d.aoMapTransform))}function a(d,u){d.diffuse.value.copy(u.color),d.opacity.value=u.opacity,u.map&&(d.map.value=u.map,e(u.map,d.mapTransform))}function o(d,u){d.dashSize.value=u.dashSize,d.totalSize.value=u.dashSize+u.gapSize,d.scale.value=u.scale}function l(d,u,E,T){d.diffuse.value.copy(u.color),d.opacity.value=u.opacity,d.size.value=u.size*E,d.scale.value=T*.5,u.map&&(d.map.value=u.map,e(u.map,d.uvTransform)),u.alphaMap&&(d.alphaMap.value=u.alphaMap,e(u.alphaMap,d.alphaMapTransform)),u.alphaTest>0&&(d.alphaTest.value=u.alphaTest)}function c(d,u){d.diffuse.value.copy(u.color),d.opacity.value=u.opacity,d.rotation.value=u.rotation,u.map&&(d.map.value=u.map,e(u.map,d.mapTransform)),u.alphaMap&&(d.alphaMap.value=u.alphaMap,e(u.alphaMap,d.alphaMapTransform)),u.alphaTest>0&&(d.alphaTest.value=u.alphaTest)}function f(d,u){d.specular.value.copy(u.specular),d.shininess.value=Math.max(u.shininess,1e-4)}function p(d,u){u.gradientMap&&(d.gradientMap.value=u.gradientMap)}function h(d,u){d.metalness.value=u.metalness,u.metalnessMap&&(d.metalnessMap.value=u.metalnessMap,e(u.metalnessMap,d.metalnessMapTransform)),d.roughness.value=u.roughness,u.roughnessMap&&(d.roughnessMap.value=u.roughnessMap,e(u.roughnessMap,d.roughnessMapTransform)),u.envMap&&(d.envMapIntensity.value=u.envMapIntensity)}function m(d,u,E){d.ior.value=u.ior,u.sheen>0&&(d.sheenColor.value.copy(u.sheenColor).multiplyScalar(u.sheen),d.sheenRoughness.value=u.sheenRoughness,u.sheenColorMap&&(d.sheenColorMap.value=u.sheenColorMap,e(u.sheenColorMap,d.sheenColorMapTransform)),u.sheenRoughnessMap&&(d.sheenRoughnessMap.value=u.sheenRoughnessMap,e(u.sheenRoughnessMap,d.sheenRoughnessMapTransform))),u.clearcoat>0&&(d.clearcoat.value=u.clearcoat,d.clearcoatRoughness.value=u.clearcoatRoughness,u.clearcoatMap&&(d.clearcoatMap.value=u.clearcoatMap,e(u.clearcoatMap,d.clearcoatMapTransform)),u.clearcoatRoughnessMap&&(d.clearcoatRoughnessMap.value=u.clearcoatRoughnessMap,e(u.clearcoatRoughnessMap,d.clearcoatRoughnessMapTransform)),u.clearcoatNormalMap&&(d.clearcoatNormalMap.value=u.clearcoatNormalMap,e(u.clearcoatNormalMap,d.clearcoatNormalMapTransform),d.clearcoatNormalScale.value.copy(u.clearcoatNormalScale),u.side===Le&&d.clearcoatNormalScale.value.negate())),u.dispersion>0&&(d.dispersion.value=u.dispersion),u.iridescence>0&&(d.iridescence.value=u.iridescence,d.iridescenceIOR.value=u.iridescenceIOR,d.iridescenceThicknessMinimum.value=u.iridescenceThicknessRange[0],d.iridescenceThicknessMaximum.value=u.iridescenceThicknessRange[1],u.iridescenceMap&&(d.iridescenceMap.value=u.iridescenceMap,e(u.iridescenceMap,d.iridescenceMapTransform)),u.iridescenceThicknessMap&&(d.iridescenceThicknessMap.value=u.iridescenceThicknessMap,e(u.iridescenceThicknessMap,d.iridescenceThicknessMapTransform))),u.transmission>0&&(d.transmission.value=u.transmission,d.transmissionSamplerMap.value=E.texture,d.transmissionSamplerSize.value.set(E.width,E.height),u.transmissionMap&&(d.transmissionMap.value=u.transmissionMap,e(u.transmissionMap,d.transmissionMapTransform)),d.thickness.value=u.thickness,u.thicknessMap&&(d.thicknessMap.value=u.thicknessMap,e(u.thicknessMap,d.thicknessMapTransform)),d.attenuationDistance.value=u.attenuationDistance,d.attenuationColor.value.copy(u.attenuationColor)),u.anisotropy>0&&(d.anisotropyVector.value.set(u.anisotropy*Math.cos(u.anisotropyRotation),u.anisotropy*Math.sin(u.anisotropyRotation)),u.anisotropyMap&&(d.anisotropyMap.value=u.anisotropyMap,e(u.anisotropyMap,d.anisotropyMapTransform))),d.specularIntensity.value=u.specularIntensity,d.specularColor.value.copy(u.specularColor),u.specularColorMap&&(d.specularColorMap.value=u.specularColorMap,e(u.specularColorMap,d.specularColorMapTransform)),u.specularIntensityMap&&(d.specularIntensityMap.value=u.specularIntensityMap,e(u.specularIntensityMap,d.specularIntensityMapTransform))}function x(d,u){u.matcap&&(d.matcap.value=u.matcap)}function S(d,u){const E=t.get(u).light;d.referencePosition.value.setFromMatrixPosition(E.matrixWorld),d.nearDistance.value=E.shadow.camera.near,d.farDistance.value=E.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:s}}function Em(i,t,e,n){let s={},r={},a=[];const o=i.getParameter(i.MAX_UNIFORM_BUFFER_BINDINGS);function l(E,T){const b=T.program;n.uniformBlockBinding(E,b)}function c(E,T){let b=s[E.id];b===void 0&&(x(E),b=f(E),s[E.id]=b,E.addEventListener("dispose",d));const L=T.program;n.updateUBOMapping(E,L);const y=t.render.frame;r[E.id]!==y&&(h(E),r[E.id]=y)}function f(E){const T=p();E.__bindingPointIndex=T;const b=i.createBuffer(),L=E.__size,y=E.usage;return i.bindBuffer(i.UNIFORM_BUFFER,b),i.bufferData(i.UNIFORM_BUFFER,L,y),i.bindBuffer(i.UNIFORM_BUFFER,null),i.bindBufferBase(i.UNIFORM_BUFFER,T,b),b}function p(){for(let E=0;E<o;E++)if(a.indexOf(E)===-1)return a.push(E),E;return Ht("WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function h(E){const T=s[E.id],b=E.uniforms,L=E.__cache;i.bindBuffer(i.UNIFORM_BUFFER,T);for(let y=0,P=b.length;y<P;y++){const v=Array.isArray(b[y])?b[y]:[b[y]];for(let A=0,N=v.length;A<N;A++){const w=v[A];if(m(w,y,A,L)===!0){const z=w.__offset,W=Array.isArray(w.value)?w.value:[w.value];let Y=0;for(let I=0;I<W.length;I++){const V=W[I],H=S(V);typeof V=="number"||typeof V=="boolean"?(w.__data[0]=V,i.bufferSubData(i.UNIFORM_BUFFER,z+Y,w.__data)):V.isMatrix3?(w.__data[0]=V.elements[0],w.__data[1]=V.elements[1],w.__data[2]=V.elements[2],w.__data[3]=0,w.__data[4]=V.elements[3],w.__data[5]=V.elements[4],w.__data[6]=V.elements[5],w.__data[7]=0,w.__data[8]=V.elements[6],w.__data[9]=V.elements[7],w.__data[10]=V.elements[8],w.__data[11]=0):ArrayBuffer.isView(V)?w.__data.set(new V.constructor(V.buffer,V.byteOffset,w.__data.length)):(V.toArray(w.__data,Y),Y+=H.storage/Float32Array.BYTES_PER_ELEMENT)}i.bufferSubData(i.UNIFORM_BUFFER,z,w.__data)}}}i.bindBuffer(i.UNIFORM_BUFFER,null)}function m(E,T,b,L){const y=E.value,P=T+"_"+b;if(L[P]===void 0)return typeof y=="number"||typeof y=="boolean"?L[P]=y:ArrayBuffer.isView(y)?L[P]=y.slice():L[P]=y.clone(),!0;{const v=L[P];if(typeof y=="number"||typeof y=="boolean"){if(v!==y)return L[P]=y,!0}else{if(ArrayBuffer.isView(y))return!0;if(v.equals(y)===!1)return v.copy(y),!0}}return!1}function x(E){const T=E.uniforms;let b=0;const L=16;for(let P=0,v=T.length;P<v;P++){const A=Array.isArray(T[P])?T[P]:[T[P]];for(let N=0,w=A.length;N<w;N++){const z=A[N],W=Array.isArray(z.value)?z.value:[z.value];for(let Y=0,I=W.length;Y<I;Y++){const V=W[Y],H=S(V),J=b%L,Q=J%H.boundary,ct=J+Q;b+=Q,ct!==0&&L-ct<H.storage&&(b+=L-ct),z.__data=new Float32Array(H.storage/Float32Array.BYTES_PER_ELEMENT),z.__offset=b,b+=H.storage}}}const y=b%L;return y>0&&(b+=L-y),E.__size=b,E.__cache={},this}function S(E){const T={boundary:0,storage:0};return typeof E=="number"||typeof E=="boolean"?(T.boundary=4,T.storage=4):E.isVector2?(T.boundary=8,T.storage=8):E.isVector3||E.isColor?(T.boundary=16,T.storage=12):E.isVector4?(T.boundary=16,T.storage=16):E.isMatrix3?(T.boundary=48,T.storage=48):E.isMatrix4?(T.boundary=64,T.storage=64):E.isTexture?bt("WebGLRenderer: Texture samplers can not be part of an uniforms group."):ArrayBuffer.isView(E)?(T.boundary=16,T.storage=E.byteLength):bt("WebGLRenderer: Unsupported uniform value type.",E),T}function d(E){const T=E.target;T.removeEventListener("dispose",d);const b=a.indexOf(T.__bindingPointIndex);a.splice(b,1),i.deleteBuffer(s[T.id]),delete s[T.id],delete r[T.id]}function u(){for(const E in s)i.deleteBuffer(s[E]);a=[],s={},r={}}return{bind:l,update:c,dispose:u}}const ym=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]);let Qe=null;function bm(){return Qe===null&&(Qe=new hh(ym,16,16,Zn,vn),Qe.name="DFG_LUT",Qe.minFilter=Ae,Qe.magFilter=Ae,Qe.wrapS=mn,Qe.wrapT=mn,Qe.generateMipmaps=!1,Qe.needsUpdate=!0),Qe}class qm{constructor(t={}){const{canvas:e=bc(),context:n=null,depth:s=!0,stencil:r=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:f="default",failIfMajorPerformanceCaveat:p=!1,reversedDepthBuffer:h=!1,outputBufferType:m=Oe}=t;this.isWebGLRenderer=!0;let x;if(n!==null){if(typeof WebGLRenderingContext<"u"&&n instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");x=n.getContextAttributes().alpha}else x=a;const S=m,d=new Set([ba,ya,Ea]),u=new Set([Oe,an,zi,Gi,Ma,Sa]),E=new Uint32Array(4),T=new Int32Array(4),b=new U;let L=null,y=null;const P=[],v=[];let A=null;this.domElement=e,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=sn,this.toneMappingExposure=1,this.transmissionResolutionScale=1;const N=this;let w=!1,z=null;this._outputColorSpace=Ve;let W=0,Y=0,I=null,V=-1,H=null;const J=new he,Q=new he;let ct=null;const xt=new zt(0);let Et=0,Wt=e.width,Kt=e.height,Ut=1,K=null,ft=null;const it=new he(0,0,Wt,Kt),At=new he(0,0,Wt,Kt);let Ct=!1;const Rt=new Pa;let ae=!1,Gt=!1;const jt=new re,se=new U,Bt=new he,me={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let oe=!1;function Ue(){return I===null?Ut:1}let C=n;function _e(g,D){return e.getContext(g,D)}try{const g={alpha:!0,depth:s,stencil:r,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:f,failIfMajorPerformanceCaveat:p};if("setAttribute"in e&&e.setAttribute("data-engine","three.js r184"),e.addEventListener("webglcontextlost",j,!1),e.addEventListener("webglcontextrestored",Mt,!1),e.addEventListener("webglcontextcreationerror",Dt,!1),C===null){const D="webgl2";if(C=_e(D,g),C===null)throw _e(D)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(g){throw Ht("WebGLRenderer: "+g.message),g}let Vt,ne,ot,le,M,_,F,q,$,tt,at,k,Z,dt,_t,st,et,wt,It,Yt,R,nt,X;function pt(){Vt=new bd(C),Vt.init(),R=new mm(C,Vt),ne=new _d(C,Vt,t,R),ot=new dm(C,Vt),ne.reversedDepthBuffer&&h&&ot.buffers.depth.setReversed(!0),le=new Rd(C),M=new Qp,_=new pm(C,Vt,ot,M,ne,R,le),F=new yd(N),q=new Ph(C),nt=new pd(C,q),$=new Td(C,q,le,nt),tt=new Cd(C,$,q,nt,le),wt=new wd(C,ne,_),_t=new gd(M),at=new Jp(N,F,Vt,ne,nt,_t),k=new Sm(N,M),Z=new em,dt=new om(Vt),et=new dd(N,F,ot,tt,x,l),st=new fm(N,tt,ne),X=new Em(C,le,ne,ot),It=new md(C,Vt,le),Yt=new Ad(C,Vt,le),le.programs=at.programs,N.capabilities=ne,N.extensions=Vt,N.properties=M,N.renderLists=Z,N.shadowMap=st,N.state=ot,N.info=le}pt(),S!==Oe&&(A=new Dd(S,e.width,e.height,s,r));const rt=new vm(N,C);this.xr=rt,this.getContext=function(){return C},this.getContextAttributes=function(){return C.getContextAttributes()},this.forceContextLoss=function(){const g=Vt.get("WEBGL_lose_context");g&&g.loseContext()},this.forceContextRestore=function(){const g=Vt.get("WEBGL_lose_context");g&&g.restoreContext()},this.getPixelRatio=function(){return Ut},this.setPixelRatio=function(g){g!==void 0&&(Ut=g,this.setSize(Wt,Kt,!1))},this.getSize=function(g){return g.set(Wt,Kt)},this.setSize=function(g,D,G=!0){if(rt.isPresenting){bt("WebGLRenderer: Can't change size while VR device is presenting.");return}Wt=g,Kt=D,e.width=Math.floor(g*Ut),e.height=Math.floor(D*Ut),G===!0&&(e.style.width=g+"px",e.style.height=D+"px"),A!==null&&A.setSize(e.width,e.height),this.setViewport(0,0,g,D)},this.getDrawingBufferSize=function(g){return g.set(Wt*Ut,Kt*Ut).floor()},this.setDrawingBufferSize=function(g,D,G){Wt=g,Kt=D,Ut=G,e.width=Math.floor(g*G),e.height=Math.floor(D*G),this.setViewport(0,0,g,D)},this.setEffects=function(g){if(S===Oe){Ht("THREE.WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.");return}if(g){for(let D=0;D<g.length;D++)if(g[D].isOutputPass===!0){bt("THREE.WebGLRenderer: OutputPass is not needed in setEffects(). Tone mapping and color space conversion are applied automatically.");break}}A.setEffects(g||[])},this.getCurrentViewport=function(g){return g.copy(J)},this.getViewport=function(g){return g.copy(it)},this.setViewport=function(g,D,G,O){g.isVector4?it.set(g.x,g.y,g.z,g.w):it.set(g,D,G,O),ot.viewport(J.copy(it).multiplyScalar(Ut).round())},this.getScissor=function(g){return g.copy(At)},this.setScissor=function(g,D,G,O){g.isVector4?At.set(g.x,g.y,g.z,g.w):At.set(g,D,G,O),ot.scissor(Q.copy(At).multiplyScalar(Ut).round())},this.getScissorTest=function(){return Ct},this.setScissorTest=function(g){ot.setScissorTest(Ct=g)},this.setOpaqueSort=function(g){K=g},this.setTransparentSort=function(g){ft=g},this.getClearColor=function(g){return g.copy(et.getClearColor())},this.setClearColor=function(){et.setClearColor(...arguments)},this.getClearAlpha=function(){return et.getClearAlpha()},this.setClearAlpha=function(){et.setClearAlpha(...arguments)},this.clear=function(g=!0,D=!0,G=!0){let O=0;if(g){let B=!1;if(I!==null){const ut=I.texture.format;B=d.has(ut)}if(B){const ut=I.texture.type,gt=u.has(ut),ht=et.getClearColor(),vt=et.getClearAlpha(),St=ht.r,Lt=ht.g,Ft=ht.b;gt?(E[0]=St,E[1]=Lt,E[2]=Ft,E[3]=vt,C.clearBufferuiv(C.COLOR,0,E)):(T[0]=St,T[1]=Lt,T[2]=Ft,T[3]=vt,C.clearBufferiv(C.COLOR,0,T))}else O|=C.COLOR_BUFFER_BIT}D&&(O|=C.DEPTH_BUFFER_BIT,this.state.buffers.depth.setMask(!0)),G&&(O|=C.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),O!==0&&C.clear(O)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.setNodesHandler=function(g){g.setRenderer(this),z=g},this.dispose=function(){e.removeEventListener("webglcontextlost",j,!1),e.removeEventListener("webglcontextrestored",Mt,!1),e.removeEventListener("webglcontextcreationerror",Dt,!1),et.dispose(),Z.dispose(),dt.dispose(),M.dispose(),F.dispose(),tt.dispose(),nt.dispose(),X.dispose(),at.dispose(),rt.dispose(),rt.removeEventListener("sessionstart",Ia),rt.removeEventListener("sessionend",Na),Bn.stop()};function j(g){g.preventDefault(),Us("WebGLRenderer: Context Lost."),w=!0}function Mt(){Us("WebGLRenderer: Context Restored."),w=!1;const g=le.autoReset,D=st.enabled,G=st.autoUpdate,O=st.needsUpdate,B=st.type;pt(),le.autoReset=g,st.enabled=D,st.autoUpdate=G,st.needsUpdate=O,st.type=B}function Dt(g){Ht("WebGLRenderer: A WebGL context could not be created. Reason: ",g.statusMessage)}function ue(g){const D=g.target;D.removeEventListener("dispose",ue),$t(D)}function $t(g){ln(g),M.remove(g)}function ln(g){const D=M.get(g).programs;D!==void 0&&(D.forEach(function(G){at.releaseProgram(G)}),g.isShaderMaterial&&at.releaseShaderCache(g))}this.renderBufferDirect=function(g,D,G,O,B,ut){D===null&&(D=me);const gt=B.isMesh&&B.matrixWorld.determinant()<0,ht=zl(g,D,G,O,B);ot.setMaterial(O,gt);let vt=G.index,St=1;if(O.wireframe===!0){if(vt=$.getWireframeAttribute(G),vt===void 0)return;St=2}const Lt=G.drawRange,Ft=G.attributes.position;let yt=Lt.start*St,Jt=(Lt.start+Lt.count)*St;ut!==null&&(yt=Math.max(yt,ut.start*St),Jt=Math.min(Jt,(ut.start+ut.count)*St)),vt!==null?(yt=Math.max(yt,0),Jt=Math.min(Jt,vt.count)):Ft!=null&&(yt=Math.max(yt,0),Jt=Math.min(Jt,Ft.count));const fe=Jt-yt;if(fe<0||fe===1/0)return;nt.setup(B,O,ht,G,vt);let ce,te=It;if(vt!==null&&(ce=q.get(vt),te=Yt,te.setIndex(ce)),B.isMesh)O.wireframe===!0?(ot.setLineWidth(O.wireframeLinewidth*Ue()),te.setMode(C.LINES)):te.setMode(C.TRIANGLES);else if(B.isLine){let ye=O.linewidth;ye===void 0&&(ye=1),ot.setLineWidth(ye*Ue()),B.isLineSegments?te.setMode(C.LINES):B.isLineLoop?te.setMode(C.LINE_LOOP):te.setMode(C.LINE_STRIP)}else B.isPoints?te.setMode(C.POINTS):B.isSprite&&te.setMode(C.TRIANGLES);if(B.isBatchedMesh)if(Vt.get("WEBGL_multi_draw"))te.renderMultiDraw(B._multiDrawStarts,B._multiDrawCounts,B._multiDrawCount);else{const ye=B._multiDrawStarts,mt=B._multiDrawCounts,Ie=B._multiDrawCount,Xt=vt?q.get(vt).bytesPerElement:1,ze=M.get(O).currentProgram.getUniforms();for(let $e=0;$e<Ie;$e++)ze.setValue(C,"_gl_DrawID",$e),te.render(ye[$e]/Xt,mt[$e])}else if(B.isInstancedMesh)te.renderInstances(yt,fe,B.count);else if(G.isInstancedBufferGeometry){const ye=G._maxInstanceCount!==void 0?G._maxInstanceCount:1/0,mt=Math.min(G.instanceCount,ye);te.renderInstances(yt,fe,mt)}else te.render(yt,fe)};function je(g,D,G){g.transparent===!0&&g.side===pn&&g.forceSinglePass===!1?(g.side=Le,g.needsUpdate=!0,Yi(g,D,G),g.side=In,g.needsUpdate=!0,Yi(g,D,G),g.side=pn):Yi(g,D,G)}this.compile=function(g,D,G=null){G===null&&(G=g),y=dt.get(G),y.init(D),v.push(y),G.traverseVisible(function(B){B.isLight&&B.layers.test(D.layers)&&(y.pushLight(B),B.castShadow&&y.pushShadow(B))}),g!==G&&g.traverseVisible(function(B){B.isLight&&B.layers.test(D.layers)&&(y.pushLight(B),B.castShadow&&y.pushShadow(B))}),y.setupLights();const O=new Set;return g.traverse(function(B){if(!(B.isMesh||B.isPoints||B.isLine||B.isSprite))return;const ut=B.material;if(ut)if(Array.isArray(ut))for(let gt=0;gt<ut.length;gt++){const ht=ut[gt];je(ht,G,B),O.add(ht)}else je(ut,G,B),O.add(ut)}),y=v.pop(),O},this.compileAsync=function(g,D,G=null){const O=this.compile(g,D,G);return new Promise(B=>{function ut(){if(O.forEach(function(gt){M.get(gt).currentProgram.isReady()&&O.delete(gt)}),O.size===0){B(g);return}setTimeout(ut,10)}Vt.get("KHR_parallel_shader_compile")!==null?ut():setTimeout(ut,10)})};let ks=null;function Ol(g){ks&&ks(g)}function Ia(){Bn.stop()}function Na(){Bn.start()}const Bn=new wl;Bn.setAnimationLoop(Ol),typeof self<"u"&&Bn.setContext(self),this.setAnimationLoop=function(g){ks=g,rt.setAnimationLoop(g),g===null?Bn.stop():Bn.start()},rt.addEventListener("sessionstart",Ia),rt.addEventListener("sessionend",Na),this.render=function(g,D){if(D!==void 0&&D.isCamera!==!0){Ht("WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(w===!0)return;z!==null&&z.renderStart(g,D);const G=rt.enabled===!0&&rt.isPresenting===!0,O=A!==null&&(I===null||G)&&A.begin(N,I);if(g.matrixWorldAutoUpdate===!0&&g.updateMatrixWorld(),D.parent===null&&D.matrixWorldAutoUpdate===!0&&D.updateMatrixWorld(),rt.enabled===!0&&rt.isPresenting===!0&&(A===null||A.isCompositing()===!1)&&(rt.cameraAutoUpdate===!0&&rt.updateCamera(D),D=rt.getCamera()),g.isScene===!0&&g.onBeforeRender(N,g,D,I),y=dt.get(g,v.length),y.init(D),y.state.textureUnits=_.getTextureUnits(),v.push(y),jt.multiplyMatrices(D.projectionMatrix,D.matrixWorldInverse),Rt.setFromProjectionMatrix(jt,nn,D.reversedDepth),Gt=this.localClippingEnabled,ae=_t.init(this.clippingPlanes,Gt),L=Z.get(g,P.length),L.init(),P.push(L),rt.enabled===!0&&rt.isPresenting===!0){const gt=N.xr.getDepthSensingMesh();gt!==null&&Ws(gt,D,-1/0,N.sortObjects)}Ws(g,D,0,N.sortObjects),L.finish(),N.sortObjects===!0&&L.sort(K,ft),oe=rt.enabled===!1||rt.isPresenting===!1||rt.hasDepthSensing()===!1,oe&&et.addToRenderList(L,g),this.info.render.frame++,ae===!0&&_t.beginShadows();const B=y.state.shadowsArray;if(st.render(B,g,D),ae===!0&&_t.endShadows(),this.info.autoReset===!0&&this.info.reset(),(O&&A.hasRenderPass())===!1){const gt=L.opaque,ht=L.transmissive;if(y.setupLights(),D.isArrayCamera){const vt=D.cameras;if(ht.length>0)for(let St=0,Lt=vt.length;St<Lt;St++){const Ft=vt[St];Oa(gt,ht,g,Ft)}oe&&et.render(g);for(let St=0,Lt=vt.length;St<Lt;St++){const Ft=vt[St];Fa(L,g,Ft,Ft.viewport)}}else ht.length>0&&Oa(gt,ht,g,D),oe&&et.render(g),Fa(L,g,D)}I!==null&&Y===0&&(_.updateMultisampleRenderTarget(I),_.updateRenderTargetMipmap(I)),O&&A.end(N),g.isScene===!0&&g.onAfterRender(N,g,D),nt.resetDefaultState(),V=-1,H=null,v.pop(),v.length>0?(y=v[v.length-1],_.setTextureUnits(y.state.textureUnits),ae===!0&&_t.setGlobalState(N.clippingPlanes,y.state.camera)):y=null,P.pop(),P.length>0?L=P[P.length-1]:L=null,z!==null&&z.renderEnd()};function Ws(g,D,G,O){if(g.visible===!1)return;if(g.layers.test(D.layers)){if(g.isGroup)G=g.renderOrder;else if(g.isLOD)g.autoUpdate===!0&&g.update(D);else if(g.isLightProbeGrid)y.pushLightProbeGrid(g);else if(g.isLight)y.pushLight(g),g.castShadow&&y.pushShadow(g);else if(g.isSprite){if(!g.frustumCulled||Rt.intersectsSprite(g)){O&&Bt.setFromMatrixPosition(g.matrixWorld).applyMatrix4(jt);const gt=tt.update(g),ht=g.material;ht.visible&&L.push(g,gt,ht,G,Bt.z,null)}}else if((g.isMesh||g.isLine||g.isPoints)&&(!g.frustumCulled||Rt.intersectsObject(g))){const gt=tt.update(g),ht=g.material;if(O&&(g.boundingSphere!==void 0?(g.boundingSphere===null&&g.computeBoundingSphere(),Bt.copy(g.boundingSphere.center)):(gt.boundingSphere===null&>.computeBoundingSphere(),Bt.copy(gt.boundingSphere.center)),Bt.applyMatrix4(g.matrixWorld).applyMatrix4(jt)),Array.isArray(ht)){const vt=gt.groups;for(let St=0,Lt=vt.length;St<Lt;St++){const Ft=vt[St],yt=ht[Ft.materialIndex];yt&&yt.visible&&L.push(g,gt,yt,G,Bt.z,Ft)}}else ht.visible&&L.push(g,gt,ht,G,Bt.z,null)}}const ut=g.children;for(let gt=0,ht=ut.length;gt<ht;gt++)Ws(ut[gt],D,G,O)}function Fa(g,D,G,O){const{opaque:B,transmissive:ut,transparent:gt}=g;y.setupLightsView(G),ae===!0&&_t.setGlobalState(N.clippingPlanes,G),O&&ot.viewport(J.copy(O)),B.length>0&&Xi(B,D,G),ut.length>0&&Xi(ut,D,G),gt.length>0&&Xi(gt,D,G),ot.buffers.depth.setTest(!0),ot.buffers.depth.setMask(!0),ot.buffers.color.setMask(!0),ot.setPolygonOffset(!1)}function Oa(g,D,G,O){if((G.isScene===!0?G.overrideMaterial:null)!==null)return;if(y.state.transmissionRenderTarget[O.id]===void 0){const yt=Vt.has("EXT_color_buffer_half_float")||Vt.has("EXT_color_buffer_float");y.state.transmissionRenderTarget[O.id]=new rn(1,1,{generateMipmaps:!0,type:yt?vn:Oe,minFilter:Xn,samples:Math.max(4,ne.samples),stencilBuffer:r,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:kt.workingColorSpace})}const ut=y.state.transmissionRenderTarget[O.id],gt=O.viewport||J;ut.setSize(gt.z*N.transmissionResolutionScale,gt.w*N.transmissionResolutionScale);const ht=N.getRenderTarget(),vt=N.getActiveCubeFace(),St=N.getActiveMipmapLevel();N.setRenderTarget(ut),N.getClearColor(xt),Et=N.getClearAlpha(),Et<1&&N.setClearColor(16777215,.5),N.clear(),oe&&et.render(G);const Lt=N.toneMapping;N.toneMapping=sn;const Ft=O.viewport;if(O.viewport!==void 0&&(O.viewport=void 0),y.setupLightsView(O),ae===!0&&_t.setGlobalState(N.clippingPlanes,O),Xi(g,G,O),_.updateMultisampleRenderTarget(ut),_.updateRenderTargetMipmap(ut),Vt.has("WEBGL_multisampled_render_to_texture")===!1){let yt=!1;for(let Jt=0,fe=D.length;Jt<fe;Jt++){const ce=D[Jt],{object:te,geometry:ye,material:mt,group:Ie}=ce;if(mt.side===pn&&te.layers.test(O.layers)){const Xt=mt.side;mt.side=Le,mt.needsUpdate=!0,Ba(te,G,O,ye,mt,Ie),mt.side=Xt,mt.needsUpdate=!0,yt=!0}}yt===!0&&(_.updateMultisampleRenderTarget(ut),_.updateRenderTargetMipmap(ut))}N.setRenderTarget(ht,vt,St),N.setClearColor(xt,Et),Ft!==void 0&&(O.viewport=Ft),N.toneMapping=Lt}function Xi(g,D,G){const O=D.isScene===!0?D.overrideMaterial:null;for(let B=0,ut=g.length;B<ut;B++){const gt=g[B],{object:ht,geometry:vt,group:St}=gt;let Lt=gt.material;Lt.allowOverride===!0&&O!==null&&(Lt=O),ht.layers.test(G.layers)&&Ba(ht,D,G,vt,Lt,St)}}function Ba(g,D,G,O,B,ut){g.onBeforeRender(N,D,G,O,B,ut),g.modelViewMatrix.multiplyMatrices(G.matrixWorldInverse,g.matrixWorld),g.normalMatrix.getNormalMatrix(g.modelViewMatrix),B.onBeforeRender(N,D,G,O,g,ut),B.transparent===!0&&B.side===pn&&B.forceSinglePass===!1?(B.side=Le,B.needsUpdate=!0,N.renderBufferDirect(G,D,O,B,g,ut),B.side=In,B.needsUpdate=!0,N.renderBufferDirect(G,D,O,B,g,ut),B.side=pn):N.renderBufferDirect(G,D,O,B,g,ut),g.onAfterRender(N,D,G,O,B,ut)}function Yi(g,D,G){D.isScene!==!0&&(D=me);const O=M.get(g),B=y.state.lights,ut=y.state.shadowsArray,gt=B.state.version,ht=at.getParameters(g,B.state,ut,D,G,y.state.lightProbeGridArray),vt=at.getProgramCacheKey(ht);let St=O.programs;O.environment=g.isMeshStandardMaterial||g.isMeshLambertMaterial||g.isMeshPhongMaterial?D.environment:null,O.fog=D.fog;const Lt=g.isMeshStandardMaterial||g.isMeshLambertMaterial&&!g.envMap||g.isMeshPhongMaterial&&!g.envMap;O.envMap=F.get(g.envMap||O.environment,Lt),O.envMapRotation=O.environment!==null&&g.envMap===null?D.environmentRotation:g.envMapRotation,St===void 0&&(g.addEventListener("dispose",ue),St=new Map,O.programs=St);let Ft=St.get(vt);if(Ft!==void 0){if(O.currentProgram===Ft&&O.lightsStateVersion===gt)return Ga(g,ht),Ft}else ht.uniforms=at.getUniforms(g),z!==null&&g.isNodeMaterial&&z.build(g,G,ht),g.onBeforeCompile(ht,N),Ft=at.acquireProgram(ht,vt),St.set(vt,Ft),O.uniforms=ht.uniforms;const yt=O.uniforms;return(!g.isShaderMaterial&&!g.isRawShaderMaterial||g.clipping===!0)&&(yt.clippingPlanes=_t.uniform),Ga(g,ht),O.needsLights=Vl(g),O.lightsStateVersion=gt,O.needsLights&&(yt.ambientLightColor.value=B.state.ambient,yt.lightProbe.value=B.state.probe,yt.directionalLights.value=B.state.directional,yt.directionalLightShadows.value=B.state.directionalShadow,yt.spotLights.value=B.state.spot,yt.spotLightShadows.value=B.state.spotShadow,yt.rectAreaLights.value=B.state.rectArea,yt.ltc_1.value=B.state.rectAreaLTC1,yt.ltc_2.value=B.state.rectAreaLTC2,yt.pointLights.value=B.state.point,yt.pointLightShadows.value=B.state.pointShadow,yt.hemisphereLights.value=B.state.hemi,yt.directionalShadowMatrix.value=B.state.directionalShadowMatrix,yt.spotLightMatrix.value=B.state.spotLightMatrix,yt.spotLightMap.value=B.state.spotLightMap,yt.pointShadowMatrix.value=B.state.pointShadowMatrix),O.lightProbeGrid=y.state.lightProbeGridArray.length>0,O.currentProgram=Ft,O.uniformsList=null,Ft}function za(g){if(g.uniformsList===null){const D=g.currentProgram.getUniforms();g.uniformsList=Rs.seqWithValue(D.seq,g.uniforms)}return g.uniformsList}function Ga(g,D){const G=M.get(g);G.outputColorSpace=D.outputColorSpace,G.batching=D.batching,G.batchingColor=D.batchingColor,G.instancing=D.instancing,G.instancingColor=D.instancingColor,G.instancingMorph=D.instancingMorph,G.skinning=D.skinning,G.morphTargets=D.morphTargets,G.morphNormals=D.morphNormals,G.morphColors=D.morphColors,G.morphTargetsCount=D.morphTargetsCount,G.numClippingPlanes=D.numClippingPlanes,G.numIntersection=D.numClipIntersection,G.vertexAlphas=D.vertexAlphas,G.vertexTangents=D.vertexTangents,G.toneMapping=D.toneMapping}function Bl(g,D){if(g.length===0)return null;if(g.length===1)return g[0].texture!==null?g[0]:null;b.setFromMatrixPosition(D.matrixWorld);for(let G=0,O=g.length;G<O;G++){const B=g[G];if(B.texture!==null&&B.boundingBox.containsPoint(b))return B}return null}function zl(g,D,G,O,B){D.isScene!==!0&&(D=me),_.resetTextureUnits();const ut=D.fog,gt=O.isMeshStandardMaterial||O.isMeshLambertMaterial||O.isMeshPhongMaterial?D.environment:null,ht=I===null?N.outputColorSpace:I.isXRRenderTarget===!0?I.texture.colorSpace:kt.workingColorSpace,vt=O.isMeshStandardMaterial||O.isMeshLambertMaterial&&!O.envMap||O.isMeshPhongMaterial&&!O.envMap,St=F.get(O.envMap||gt,vt),Lt=O.vertexColors===!0&&!!G.attributes.color&&G.attributes.color.itemSize===4,Ft=!!G.attributes.tangent&&(!!O.normalMap||O.anisotropy>0),yt=!!G.morphAttributes.position,Jt=!!G.morphAttributes.normal,fe=!!G.morphAttributes.color;let ce=sn;O.toneMapped&&(I===null||I.isXRRenderTarget===!0)&&(ce=N.toneMapping);const te=G.morphAttributes.position||G.morphAttributes.normal||G.morphAttributes.color,ye=te!==void 0?te.length:0,mt=M.get(O),Ie=y.state.lights;if(ae===!0&&(Gt===!0||g!==H)){const ie=g===H&&O.id===V;_t.setState(O,g,ie)}let Xt=!1;O.version===mt.__version?(mt.needsLights&&mt.lightsStateVersion!==Ie.state.version||mt.outputColorSpace!==ht||B.isBatchedMesh&&mt.batching===!1||!B.isBatchedMesh&&mt.batching===!0||B.isBatchedMesh&&mt.batchingColor===!0&&B.colorTexture===null||B.isBatchedMesh&&mt.batchingColor===!1&&B.colorTexture!==null||B.isInstancedMesh&&mt.instancing===!1||!B.isInstancedMesh&&mt.instancing===!0||B.isSkinnedMesh&&mt.skinning===!1||!B.isSkinnedMesh&&mt.skinning===!0||B.isInstancedMesh&&mt.instancingColor===!0&&B.instanceColor===null||B.isInstancedMesh&&mt.instancingColor===!1&&B.instanceColor!==null||B.isInstancedMesh&&mt.instancingMorph===!0&&B.morphTexture===null||B.isInstancedMesh&&mt.instancingMorph===!1&&B.morphTexture!==null||mt.envMap!==St||O.fog===!0&&mt.fog!==ut||mt.numClippingPlanes!==void 0&&(mt.numClippingPlanes!==_t.numPlanes||mt.numIntersection!==_t.numIntersection)||mt.vertexAlphas!==Lt||mt.vertexTangents!==Ft||mt.morphTargets!==yt||mt.morphNormals!==Jt||mt.morphColors!==fe||mt.toneMapping!==ce||mt.morphTargetsCount!==ye||!!mt.lightProbeGrid!=y.state.lightProbeGridArray.length>0)&&(Xt=!0):(Xt=!0,mt.__version=O.version);let ze=mt.currentProgram;Xt===!0&&(ze=Yi(O,D,B),z&&O.isNodeMaterial&&z.onUpdateProgram(O,ze,mt));let $e=!1,En=!1,jn=!1;const ee=ze.getUniforms(),de=mt.uniforms;if(ot.useProgram(ze.program)&&($e=!0,En=!0,jn=!0),O.id!==V&&(V=O.id,En=!0),mt.needsLights){const ie=Bl(y.state.lightProbeGridArray,B);mt.lightProbeGrid!==ie&&(mt.lightProbeGrid=ie,En=!0)}if($e||H!==g){ot.buffers.depth.getReversed()&&g.reversedDepth!==!0&&(g._reversedDepth=!0,g.updateProjectionMatrix()),ee.setValue(C,"projectionMatrix",g.projectionMatrix),ee.setValue(C,"viewMatrix",g.matrixWorldInverse);const bn=ee.map.cameraPosition;bn!==void 0&&bn.setValue(C,se.setFromMatrixPosition(g.matrixWorld)),ne.logarithmicDepthBuffer&&ee.setValue(C,"logDepthBufFC",2/(Math.log(g.far+1)/Math.LN2)),(O.isMeshPhongMaterial||O.isMeshToonMaterial||O.isMeshLambertMaterial||O.isMeshBasicMaterial||O.isMeshStandardMaterial||O.isShaderMaterial)&&ee.setValue(C,"isOrthographic",g.isOrthographicCamera===!0),H!==g&&(H=g,En=!0,jn=!0)}if(mt.needsLights&&(Ie.state.directionalShadowMap.length>0&&ee.setValue(C,"directionalShadowMap",Ie.state.directionalShadowMap,_),Ie.state.spotShadowMap.length>0&&ee.setValue(C,"spotShadowMap",Ie.state.spotShadowMap,_),Ie.state.pointShadowMap.length>0&&ee.setValue(C,"pointShadowMap",Ie.state.pointShadowMap,_)),B.isSkinnedMesh){ee.setOptional(C,B,"bindMatrix"),ee.setOptional(C,B,"bindMatrixInverse");const ie=B.skeleton;ie&&(ie.boneTexture===null&&ie.computeBoneTexture(),ee.setValue(C,"boneTexture",ie.boneTexture,_))}B.isBatchedMesh&&(ee.setOptional(C,B,"batchingTexture"),ee.setValue(C,"batchingTexture",B._matricesTexture,_),ee.setOptional(C,B,"batchingIdTexture"),ee.setValue(C,"batchingIdTexture",B._indirectTexture,_),ee.setOptional(C,B,"batchingColorTexture"),B._colorsTexture!==null&&ee.setValue(C,"batchingColorTexture",B._colorsTexture,_));const yn=G.morphAttributes;if((yn.position!==void 0||yn.normal!==void 0||yn.color!==void 0)&&wt.update(B,G,ze),(En||mt.receiveShadow!==B.receiveShadow)&&(mt.receiveShadow=B.receiveShadow,ee.setValue(C,"receiveShadow",B.receiveShadow)),(O.isMeshStandardMaterial||O.isMeshLambertMaterial||O.isMeshPhongMaterial)&&O.envMap===null&&D.environment!==null&&(de.envMapIntensity.value=D.environmentIntensity),de.dfgLUT!==void 0&&(de.dfgLUT.value=bm()),En){if(ee.setValue(C,"toneMappingExposure",N.toneMappingExposure),mt.needsLights&&Gl(de,jn),ut&&O.fog===!0&&k.refreshFogUniforms(de,ut),k.refreshMaterialUniforms(de,O,Ut,Kt,y.state.transmissionRenderTarget[g.id]),mt.needsLights&&mt.lightProbeGrid){const ie=mt.lightProbeGrid;de.probesSH.value=ie.texture,de.probesMin.value.copy(ie.boundingBox.min),de.probesMax.value.copy(ie.boundingBox.max),de.probesResolution.value.copy(ie.resolution)}Rs.upload(C,za(mt),de,_)}if(O.isShaderMaterial&&O.uniformsNeedUpdate===!0&&(Rs.upload(C,za(mt),de,_),O.uniformsNeedUpdate=!1),O.isSpriteMaterial&&ee.setValue(C,"center",B.center),ee.setValue(C,"modelViewMatrix",B.modelViewMatrix),ee.setValue(C,"normalMatrix",B.normalMatrix),ee.setValue(C,"modelMatrix",B.matrixWorld),O.uniformsGroups!==void 0){const ie=O.uniformsGroups;for(let bn=0,$n=ie.length;bn<$n;bn++){const Va=ie[bn];X.update(Va,ze),X.bind(Va,ze)}}return ze}function Gl(g,D){g.ambientLightColor.needsUpdate=D,g.lightProbe.needsUpdate=D,g.directionalLights.needsUpdate=D,g.directionalLightShadows.needsUpdate=D,g.pointLights.needsUpdate=D,g.pointLightShadows.needsUpdate=D,g.spotLights.needsUpdate=D,g.spotLightShadows.needsUpdate=D,g.rectAreaLights.needsUpdate=D,g.hemisphereLights.needsUpdate=D}function Vl(g){return g.isMeshLambertMaterial||g.isMeshToonMaterial||g.isMeshPhongMaterial||g.isMeshStandardMaterial||g.isShadowMaterial||g.isShaderMaterial&&g.lights===!0}this.getActiveCubeFace=function(){return W},this.getActiveMipmapLevel=function(){return Y},this.getRenderTarget=function(){return I},this.setRenderTargetTextures=function(g,D,G){const O=M.get(g);O.__autoAllocateDepthBuffer=g.resolveDepthBuffer===!1,O.__autoAllocateDepthBuffer===!1&&(O.__useRenderToTexture=!1),M.get(g.texture).__webglTexture=D,M.get(g.depthTexture).__webglTexture=O.__autoAllocateDepthBuffer?void 0:G,O.__hasExternalTextures=!0},this.setRenderTargetFramebuffer=function(g,D){const G=M.get(g);G.__webglFramebuffer=D,G.__useDefaultFramebuffer=D===void 0};const Hl=C.createFramebuffer();this.setRenderTarget=function(g,D=0,G=0){I=g,W=D,Y=G;let O=null,B=!1,ut=!1;if(g){const ht=M.get(g);if(ht.__useDefaultFramebuffer!==void 0){ot.bindFramebuffer(C.FRAMEBUFFER,ht.__webglFramebuffer),J.copy(g.viewport),Q.copy(g.scissor),ct=g.scissorTest,ot.viewport(J),ot.scissor(Q),ot.setScissorTest(ct),V=-1;return}else if(ht.__webglFramebuffer===void 0)_.setupRenderTarget(g);else if(ht.__hasExternalTextures)_.rebindTextures(g,M.get(g.texture).__webglTexture,M.get(g.depthTexture).__webglTexture);else if(g.depthBuffer){const Lt=g.depthTexture;if(ht.__boundDepthTexture!==Lt){if(Lt!==null&&M.has(Lt)&&(g.width!==Lt.image.width||g.height!==Lt.image.height))throw new Error("WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.");_.setupDepthRenderbuffer(g)}}const vt=g.texture;(vt.isData3DTexture||vt.isDataArrayTexture||vt.isCompressedArrayTexture)&&(ut=!0);const St=M.get(g).__webglFramebuffer;g.isWebGLCubeRenderTarget?(Array.isArray(St[D])?O=St[D][G]:O=St[D],B=!0):g.samples>0&&_.useMultisampledRTT(g)===!1?O=M.get(g).__webglMultisampledFramebuffer:Array.isArray(St)?O=St[G]:O=St,J.copy(g.viewport),Q.copy(g.scissor),ct=g.scissorTest}else J.copy(it).multiplyScalar(Ut).floor(),Q.copy(At).multiplyScalar(Ut).floor(),ct=Ct;if(G!==0&&(O=Hl),ot.bindFramebuffer(C.FRAMEBUFFER,O)&&ot.drawBuffers(g,O),ot.viewport(J),ot.scissor(Q),ot.setScissorTest(ct),B){const ht=M.get(g.texture);C.framebufferTexture2D(C.FRAMEBUFFER,C.COLOR_ATTACHMENT0,C.TEXTURE_CUBE_MAP_POSITIVE_X+D,ht.__webglTexture,G)}else if(ut){const ht=D;for(let vt=0;vt<g.textures.length;vt++){const St=M.get(g.textures[vt]);C.framebufferTextureLayer(C.FRAMEBUFFER,C.COLOR_ATTACHMENT0+vt,St.__webglTexture,G,ht)}}else if(g!==null&&G!==0){const ht=M.get(g.texture);C.framebufferTexture2D(C.FRAMEBUFFER,C.COLOR_ATTACHMENT0,C.TEXTURE_2D,ht.__webglTexture,G)}V=-1},this.readRenderTargetPixels=function(g,D,G,O,B,ut,gt,ht=0){if(!(g&&g.isWebGLRenderTarget)){Ht("WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let vt=M.get(g).__webglFramebuffer;if(g.isWebGLCubeRenderTarget&>!==void 0&&(vt=vt[gt]),vt){ot.bindFramebuffer(C.FRAMEBUFFER,vt);try{const St=g.textures[ht],Lt=St.format,Ft=St.type;if(g.textures.length>1&&C.readBuffer(C.COLOR_ATTACHMENT0+ht),!ne.textureFormatReadable(Lt)){Ht("WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!ne.textureTypeReadable(Ft)){Ht("WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}D>=0&&D<=g.width-O&&G>=0&&G<=g.height-B&&C.readPixels(D,G,O,B,R.convert(Lt),R.convert(Ft),ut)}finally{const St=I!==null?M.get(I).__webglFramebuffer:null;ot.bindFramebuffer(C.FRAMEBUFFER,St)}}},this.readRenderTargetPixelsAsync=async function(g,D,G,O,B,ut,gt,ht=0){if(!(g&&g.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let vt=M.get(g).__webglFramebuffer;if(g.isWebGLCubeRenderTarget&>!==void 0&&(vt=vt[gt]),vt)if(D>=0&&D<=g.width-O&&G>=0&&G<=g.height-B){ot.bindFramebuffer(C.FRAMEBUFFER,vt);const St=g.textures[ht],Lt=St.format,Ft=St.type;if(g.textures.length>1&&C.readBuffer(C.COLOR_ATTACHMENT0+ht),!ne.textureFormatReadable(Lt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!ne.textureTypeReadable(Ft))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");const yt=C.createBuffer();C.bindBuffer(C.PIXEL_PACK_BUFFER,yt),C.bufferData(C.PIXEL_PACK_BUFFER,ut.byteLength,C.STREAM_READ),C.readPixels(D,G,O,B,R.convert(Lt),R.convert(Ft),0);const Jt=I!==null?M.get(I).__webglFramebuffer:null;ot.bindFramebuffer(C.FRAMEBUFFER,Jt);const fe=C.fenceSync(C.SYNC_GPU_COMMANDS_COMPLETE,0);return C.flush(),await Tc(C,fe,4),C.bindBuffer(C.PIXEL_PACK_BUFFER,yt),C.getBufferSubData(C.PIXEL_PACK_BUFFER,0,ut),C.deleteBuffer(yt),C.deleteSync(fe),ut}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")},this.copyFramebufferToTexture=function(g,D=null,G=0){const O=Math.pow(2,-G),B=Math.floor(g.image.width*O),ut=Math.floor(g.image.height*O),gt=D!==null?D.x:0,ht=D!==null?D.y:0;_.setTexture2D(g,0),C.copyTexSubImage2D(C.TEXTURE_2D,G,0,0,gt,ht,B,ut),ot.unbindTexture()};const kl=C.createFramebuffer(),Wl=C.createFramebuffer();this.copyTextureToTexture=function(g,D,G=null,O=null,B=0,ut=0){let gt,ht,vt,St,Lt,Ft,yt,Jt,fe;const ce=g.isCompressedTexture?g.mipmaps[ut]:g.image;if(G!==null)gt=G.max.x-G.min.x,ht=G.max.y-G.min.y,vt=G.isBox3?G.max.z-G.min.z:1,St=G.min.x,Lt=G.min.y,Ft=G.isBox3?G.min.z:0;else{const de=Math.pow(2,-B);gt=Math.floor(ce.width*de),ht=Math.floor(ce.height*de),g.isDataArrayTexture?vt=ce.depth:g.isData3DTexture?vt=Math.floor(ce.depth*de):vt=1,St=0,Lt=0,Ft=0}O!==null?(yt=O.x,Jt=O.y,fe=O.z):(yt=0,Jt=0,fe=0);const te=R.convert(D.format),ye=R.convert(D.type);let mt;D.isData3DTexture?(_.setTexture3D(D,0),mt=C.TEXTURE_3D):D.isDataArrayTexture||D.isCompressedArrayTexture?(_.setTexture2DArray(D,0),mt=C.TEXTURE_2D_ARRAY):(_.setTexture2D(D,0),mt=C.TEXTURE_2D),ot.activeTexture(C.TEXTURE0),ot.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,D.flipY),ot.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,D.premultiplyAlpha),ot.pixelStorei(C.UNPACK_ALIGNMENT,D.unpackAlignment);const Ie=ot.getParameter(C.UNPACK_ROW_LENGTH),Xt=ot.getParameter(C.UNPACK_IMAGE_HEIGHT),ze=ot.getParameter(C.UNPACK_SKIP_PIXELS),$e=ot.getParameter(C.UNPACK_SKIP_ROWS),En=ot.getParameter(C.UNPACK_SKIP_IMAGES);ot.pixelStorei(C.UNPACK_ROW_LENGTH,ce.width),ot.pixelStorei(C.UNPACK_IMAGE_HEIGHT,ce.height),ot.pixelStorei(C.UNPACK_SKIP_PIXELS,St),ot.pixelStorei(C.UNPACK_SKIP_ROWS,Lt),ot.pixelStorei(C.UNPACK_SKIP_IMAGES,Ft);const jn=g.isDataArrayTexture||g.isData3DTexture,ee=D.isDataArrayTexture||D.isData3DTexture;if(g.isDepthTexture){const de=M.get(g),yn=M.get(D),ie=M.get(de.__renderTarget),bn=M.get(yn.__renderTarget);ot.bindFramebuffer(C.READ_FRAMEBUFFER,ie.__webglFramebuffer),ot.bindFramebuffer(C.DRAW_FRAMEBUFFER,bn.__webglFramebuffer);for(let $n=0;$n<vt;$n++)jn&&(C.framebufferTextureLayer(C.READ_FRAMEBUFFER,C.COLOR_ATTACHMENT0,M.get(g).__webglTexture,B,Ft+$n),C.framebufferTextureLayer(C.DRAW_FRAMEBUFFER,C.COLOR_ATTACHMENT0,M.get(D).__webglTexture,ut,fe+$n)),C.blitFramebuffer(St,Lt,gt,ht,yt,Jt,gt,ht,C.DEPTH_BUFFER_BIT,C.NEAREST);ot.bindFramebuffer(C.READ_FRAMEBUFFER,null),ot.bindFramebuffer(C.DRAW_FRAMEBUFFER,null)}else if(B!==0||g.isRenderTargetTexture||M.has(g)){const de=M.get(g),yn=M.get(D);ot.bindFramebuffer(C.READ_FRAMEBUFFER,kl),ot.bindFramebuffer(C.DRAW_FRAMEBUFFER,Wl);for(let ie=0;ie<vt;ie++)jn?C.framebufferTextureLayer(C.READ_FRAMEBUFFER,C.COLOR_ATTACHMENT0,de.__webglTexture,B,Ft+ie):C.framebufferTexture2D(C.READ_FRAMEBUFFER,C.COLOR_ATTACHMENT0,C.TEXTURE_2D,de.__webglTexture,B),ee?C.framebufferTextureLayer(C.DRAW_FRAMEBUFFER,C.COLOR_ATTACHMENT0,yn.__webglTexture,ut,fe+ie):C.framebufferTexture2D(C.DRAW_FRAMEBUFFER,C.COLOR_ATTACHMENT0,C.TEXTURE_2D,yn.__webglTexture,ut),B!==0?C.blitFramebuffer(St,Lt,gt,ht,yt,Jt,gt,ht,C.COLOR_BUFFER_BIT,C.NEAREST):ee?C.copyTexSubImage3D(mt,ut,yt,Jt,fe+ie,St,Lt,gt,ht):C.copyTexSubImage2D(mt,ut,yt,Jt,St,Lt,gt,ht);ot.bindFramebuffer(C.READ_FRAMEBUFFER,null),ot.bindFramebuffer(C.DRAW_FRAMEBUFFER,null)}else ee?g.isDataTexture||g.isData3DTexture?C.texSubImage3D(mt,ut,yt,Jt,fe,gt,ht,vt,te,ye,ce.data):D.isCompressedArrayTexture?C.compressedTexSubImage3D(mt,ut,yt,Jt,fe,gt,ht,vt,te,ce.data):C.texSubImage3D(mt,ut,yt,Jt,fe,gt,ht,vt,te,ye,ce):g.isDataTexture?C.texSubImage2D(C.TEXTURE_2D,ut,yt,Jt,gt,ht,te,ye,ce.data):g.isCompressedTexture?C.compressedTexSubImage2D(C.TEXTURE_2D,ut,yt,Jt,ce.width,ce.height,te,ce.data):C.texSubImage2D(C.TEXTURE_2D,ut,yt,Jt,gt,ht,te,ye,ce);ot.pixelStorei(C.UNPACK_ROW_LENGTH,Ie),ot.pixelStorei(C.UNPACK_IMAGE_HEIGHT,Xt),ot.pixelStorei(C.UNPACK_SKIP_PIXELS,ze),ot.pixelStorei(C.UNPACK_SKIP_ROWS,$e),ot.pixelStorei(C.UNPACK_SKIP_IMAGES,En),ut===0&&D.generateMipmaps&&C.generateMipmap(mt),ot.unbindTexture()},this.initRenderTarget=function(g){M.get(g).__webglFramebuffer===void 0&&_.setupRenderTarget(g)},this.initTexture=function(g){g.isCubeTexture?_.setTextureCube(g,0):g.isData3DTexture?_.setTexture3D(g,0):g.isDataArrayTexture||g.isCompressedArrayTexture?_.setTexture2DArray(g,0):_.setTexture2D(g,0),ot.unbindTexture()},this.resetState=function(){W=0,Y=0,I=null,ot.reset(),nt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return nn}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(t){this._outputColorSpace=t;const e=this.getContext();e.drawingBufferColorSpace=kt._getDrawingBufferColorSpace(t),e.unpackColorSpace=kt._getUnpackColorSpace()}}const Ko={type:"change"},Ua={type:"start"},Fl={type:"end"},Ss=new zs,jo=new Dn,Tm=Math.cos(70*kc.DEG2RAD),ge=new U,De=2*Math.PI,Qt={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},Tr=1e-6;class Zm extends wh{constructor(t,e=null){super(t,e),this.state=Qt.NONE,this.target=new U,this.cursor=new U,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:gi.ROTATE,MIDDLE:gi.DOLLY,RIGHT:gi.PAN},this.touches={ONE:_i.ROTATE,TWO:_i.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._cursorStyle="auto",this._domElementKeyEvents=null,this._lastPosition=new U,this._lastQuaternion=new Nn,this._lastTargetPosition=new U,this._quat=new Nn().setFromUnitVectors(t.up,new U(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new bo,this._sphericalDelta=new bo,this._scale=1,this._panOffset=new U,this._rotateStart=new Tt,this._rotateEnd=new Tt,this._rotateDelta=new Tt,this._panStart=new Tt,this._panEnd=new Tt,this._panDelta=new Tt,this._dollyStart=new Tt,this._dollyEnd=new Tt,this._dollyDelta=new Tt,this._dollyDirection=new U,this._mouse=new Tt,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=Rm.bind(this),this._onPointerDown=Am.bind(this),this._onPointerUp=wm.bind(this),this._onContextMenu=Nm.bind(this),this._onMouseWheel=Dm.bind(this),this._onKeyDown=Lm.bind(this),this._onTouchStart=Um.bind(this),this._onTouchMove=Im.bind(this),this._onMouseDown=Cm.bind(this),this._onMouseMove=Pm.bind(this),this._interceptControlDown=Fm.bind(this),this._interceptControlUp=Om.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}set cursorStyle(t){this._cursorStyle=t,t==="grab"?this.domElement.style.cursor="grab":this.domElement.style.cursor="auto"}get cursorStyle(){return this._cursorStyle}connect(t){super.connect(t),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction=""}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(t){t.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=t}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(Ko),this.update(),this.state=Qt.NONE}pan(t,e){this._pan(t,e),this.update()}dollyIn(t){this._dollyIn(t),this.update()}dollyOut(t){this._dollyOut(t),this.update()}rotateLeft(t){this._rotateLeft(t),this.update()}rotateUp(t){this._rotateUp(t),this.update()}update(t=null){const e=this.object.position;ge.copy(e).sub(this.target),ge.applyQuaternion(this._quat),this._spherical.setFromVector3(ge),this.autoRotate&&this.state===Qt.NONE&&this._rotateLeft(this._getAutoRotationAngle(t)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let n=this.minAzimuthAngle,s=this.maxAzimuthAngle;isFinite(n)&&isFinite(s)&&(n<-Math.PI?n+=De:n>Math.PI&&(n-=De),s<-Math.PI?s+=De:s>Math.PI&&(s-=De),n<=s?this._spherical.theta=Math.max(n,Math.min(s,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(n+s)/2?Math.max(n,this._spherical.theta):Math.min(s,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let r=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const a=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),r=a!=this._spherical.radius}if(ge.setFromSpherical(this._spherical),ge.applyQuaternion(this._quatInverse),e.copy(this.target).add(ge),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let a=null;if(this.object.isPerspectiveCamera){const o=ge.length();a=this._clampDistance(o*this._scale);const l=o-a;this.object.position.addScaledVector(this._dollyDirection,l),this.object.updateMatrixWorld(),r=!!l}else if(this.object.isOrthographicCamera){const o=new U(this._mouse.x,this._mouse.y,0);o.unproject(this.object);const l=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),r=l!==this.object.zoom;const c=new U(this._mouse.x,this._mouse.y,0);c.unproject(this.object),this.object.position.sub(c).add(o),this.object.updateMatrixWorld(),a=ge.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;a!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(a).add(this.object.position):(Ss.origin.copy(this.object.position),Ss.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(Ss.direction))<Tm?this.object.lookAt(this.target):(jo.setFromNormalAndCoplanarPoint(this.object.up,this.target),Ss.intersectPlane(jo,this.target))))}else if(this.object.isOrthographicCamera){const a=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),a!==this.object.zoom&&(this.object.updateProjectionMatrix(),r=!0)}return this._scale=1,this._performCursorZoom=!1,r||this._lastPosition.distanceToSquared(this.object.position)>Tr||8*(1-this._lastQuaternion.dot(this.object.quaternion))>Tr||this._lastTargetPosition.distanceToSquared(this.target)>Tr?(this.dispatchEvent(Ko),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(t){return t!==null?De/60*this.autoRotateSpeed*t:De/60/60*this.autoRotateSpeed}_getZoomScale(t){const e=Math.abs(t*.01);return Math.pow(.95,this.zoomSpeed*e)}_rotateLeft(t){this._sphericalDelta.theta-=t}_rotateUp(t){this._sphericalDelta.phi-=t}_panLeft(t,e){ge.setFromMatrixColumn(e,0),ge.multiplyScalar(-t),this._panOffset.add(ge)}_panUp(t,e){this.screenSpacePanning===!0?ge.setFromMatrixColumn(e,1):(ge.setFromMatrixColumn(e,0),ge.crossVectors(this.object.up,ge)),ge.multiplyScalar(t),this._panOffset.add(ge)}_pan(t,e){const n=this.domElement;if(this.object.isPerspectiveCamera){const s=this.object.position;ge.copy(s).sub(this.target);let r=ge.length();r*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*t*r/n.clientHeight,this.object.matrix),this._panUp(2*e*r/n.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(t*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(e*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(t,e){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const n=this.domElement.getBoundingClientRect(),s=t-n.left,r=e-n.top,a=n.width,o=n.height;this._mouse.x=s/a*2-1,this._mouse.y=-(r/o)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(t){return Math.max(this.minDistance,Math.min(this.maxDistance,t))}_handleMouseDownRotate(t){this._rotateStart.set(t.clientX,t.clientY)}_handleMouseDownDolly(t){this._updateZoomParameters(t.clientX,t.clientX),this._dollyStart.set(t.clientX,t.clientY)}_handleMouseDownPan(t){this._panStart.set(t.clientX,t.clientY)}_handleMouseMoveRotate(t){this._rotateEnd.set(t.clientX,t.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(De*this._rotateDelta.x/e.clientHeight),this._rotateUp(De*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(t){this._dollyEnd.set(t.clientX,t.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(t){this._panEnd.set(t.clientX,t.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(t){this._updateZoomParameters(t.clientX,t.clientY),t.deltaY<0?this._dollyIn(this._getZoomScale(t.deltaY)):t.deltaY>0&&this._dollyOut(this._getZoomScale(t.deltaY)),this.update()}_handleKeyDown(t){let e=!1;switch(t.code){case this.keys.UP:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(De*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),e=!0;break;case this.keys.BOTTOM:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(-De*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),e=!0;break;case this.keys.LEFT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(De*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),e=!0;break;case this.keys.RIGHT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(-De*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),e=!0;break}e&&(t.preventDefault(),this.update())}_handleTouchStartRotate(t){if(this._pointers.length===1)this._rotateStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),n=.5*(t.pageX+e.x),s=.5*(t.pageY+e.y);this._rotateStart.set(n,s)}}_handleTouchStartPan(t){if(this._pointers.length===1)this._panStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),n=.5*(t.pageX+e.x),s=.5*(t.pageY+e.y);this._panStart.set(n,s)}}_handleTouchStartDolly(t){const e=this._getSecondPointerPosition(t),n=t.pageX-e.x,s=t.pageY-e.y,r=Math.sqrt(n*n+s*s);this._dollyStart.set(0,r)}_handleTouchStartDollyPan(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enablePan&&this._handleTouchStartPan(t)}_handleTouchStartDollyRotate(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enableRotate&&this._handleTouchStartRotate(t)}_handleTouchMoveRotate(t){if(this._pointers.length==1)this._rotateEnd.set(t.pageX,t.pageY);else{const n=this._getSecondPointerPosition(t),s=.5*(t.pageX+n.x),r=.5*(t.pageY+n.y);this._rotateEnd.set(s,r)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(De*this._rotateDelta.x/e.clientHeight),this._rotateUp(De*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(t){if(this._pointers.length===1)this._panEnd.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),n=.5*(t.pageX+e.x),s=.5*(t.pageY+e.y);this._panEnd.set(n,s)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(t){const e=this._getSecondPointerPosition(t),n=t.pageX-e.x,s=t.pageY-e.y,r=Math.sqrt(n*n+s*s);this._dollyEnd.set(0,r),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const a=(t.pageX+e.x)*.5,o=(t.pageY+e.y)*.5;this._updateZoomParameters(a,o)}_handleTouchMoveDollyPan(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enablePan&&this._handleTouchMovePan(t)}_handleTouchMoveDollyRotate(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enableRotate&&this._handleTouchMoveRotate(t)}_addPointer(t){this._pointers.push(t.pointerId)}_removePointer(t){delete this._pointerPositions[t.pointerId];for(let e=0;e<this._pointers.length;e++)if(this._pointers[e]==t.pointerId){this._pointers.splice(e,1);return}}_isTrackingPointer(t){for(let e=0;e<this._pointers.length;e++)if(this._pointers[e]==t.pointerId)return!0;return!1}_trackPointer(t){let e=this._pointerPositions[t.pointerId];e===void 0&&(e=new Tt,this._pointerPositions[t.pointerId]=e),e.set(t.pageX,t.pageY)}_getSecondPointerPosition(t){const e=t.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[e]}_customWheelEvent(t){const e=t.deltaMode,n={clientX:t.clientX,clientY:t.clientY,deltaY:t.deltaY};switch(e){case 1:n.deltaY*=16;break;case 2:n.deltaY*=100;break}return t.ctrlKey&&!this._controlActive&&(n.deltaY*=10),n}}function Am(i){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(i.pointerId),this.domElement.ownerDocument.addEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(i)&&(this._addPointer(i),i.pointerType==="touch"?this._onTouchStart(i):this._onMouseDown(i),this._cursorStyle==="grab"&&(this.domElement.style.cursor="grabbing")))}function Rm(i){this.enabled!==!1&&(i.pointerType==="touch"?this._onTouchMove(i):this._onMouseMove(i))}function wm(i){switch(this._removePointer(i),this._pointers.length){case 0:this.domElement.releasePointerCapture(i.pointerId),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(Fl),this.state=Qt.NONE,this._cursorStyle==="grab"&&(this.domElement.style.cursor="grab");break;case 1:const t=this._pointers[0],e=this._pointerPositions[t];this._onTouchStart({pointerId:t,pageX:e.x,pageY:e.y});break}}function Cm(i){let t;switch(i.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=-1}switch(t){case gi.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(i),this.state=Qt.DOLLY;break;case gi.ROTATE:if(i.ctrlKey||i.metaKey||i.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(i),this.state=Qt.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(i),this.state=Qt.ROTATE}break;case gi.PAN:if(i.ctrlKey||i.metaKey||i.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(i),this.state=Qt.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(i),this.state=Qt.PAN}break;default:this.state=Qt.NONE}this.state!==Qt.NONE&&this.dispatchEvent(Ua)}function Pm(i){switch(this.state){case Qt.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(i);break;case Qt.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(i);break;case Qt.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(i);break}}function Dm(i){this.enabled===!1||this.enableZoom===!1||this.state!==Qt.NONE||(i.preventDefault(),this.dispatchEvent(Ua),this._handleMouseWheel(this._customWheelEvent(i)),this.dispatchEvent(Fl))}function Lm(i){this.enabled!==!1&&this._handleKeyDown(i)}function Um(i){switch(this._trackPointer(i),this._pointers.length){case 1:switch(this.touches.ONE){case _i.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(i),this.state=Qt.TOUCH_ROTATE;break;case _i.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(i),this.state=Qt.TOUCH_PAN;break;default:this.state=Qt.NONE}break;case 2:switch(this.touches.TWO){case _i.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(i),this.state=Qt.TOUCH_DOLLY_PAN;break;case _i.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(i),this.state=Qt.TOUCH_DOLLY_ROTATE;break;default:this.state=Qt.NONE}break;default:this.state=Qt.NONE}this.state!==Qt.NONE&&this.dispatchEvent(Ua)}function Im(i){switch(this._trackPointer(i),this.state){case Qt.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(i),this.update();break;case Qt.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(i),this.update();break;case Qt.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(i),this.update();break;case Qt.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(i),this.update();break;default:this.state=Qt.NONE}}function Nm(i){this.enabled!==!1&&i.preventDefault()}function Fm(i){i.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function Om(i){i.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}export{el as A,Wi as B,bl as C,km as D,_l as F,Ym as G,Hm as H,Sn as M,Zm as O,Ye as P,Xm as R,Ve as S,U as V,qm as W,Bm as a,Vm as b,ji as c,Gs as d,Ml as e,pn as f,Gm as g,lh as h,zm as i,Dn as j,zt as k,Be as l,we as m,kc as n,Wm as o,Ke as p,Tt as q,ki as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as m}from"./geotiff-
|
|
1
|
+
import{B as m}from"./geotiff-BydcIud8.js";import"./sandbox-0Z2NzeOJ.js";import"./lens-DMnqMXpz.js";import"./__vite-browser-external-B1O5LaIO.js";class u extends m{constructor(i){if(super(i),typeof createImageBitmap>"u")throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if(typeof document>"u"&&typeof OffscreenCanvas>"u")throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decodeBlock(i){const c=new Blob([i]),e=await createImageBitmap(c);let t;typeof document<"u"?(t=document.createElement("canvas"),t.width=e.width,t.height=e.height):t=new OffscreenCanvas(e.width,e.height);const d=t.getContext("2d");d.drawImage(e,0,0);const r=d.getImageData(0,0,e.width,e.height).data,s=this.parameters.samplesPerPixel||4;if(s===4)return r.buffer;if(s===3){const a=new Uint8ClampedArray(e.width*e.height*3);for(let n=0,o=0;n<a.length;n+=3,o+=4)a[n]=r[o],a[n+1]=r[o+1],a[n+2]=r[o+2];return a.buffer}else throw new Error(`Unsupported SamplesPerPixel value: ${s}`)}}export{u as default};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/exceljs.min-DsuzKYnj.js","assets/zip-DFgP-l20.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import { _ as p, __tla as __tla_0 } from "./sandbox-
|
|
3
|
-
import { d as w, __tla as __tla_1 } from "./index-
|
|
4
|
-
import "./lens-
|
|
2
|
+
import { _ as p, __tla as __tla_0 } from "./sandbox-0Z2NzeOJ.js";
|
|
3
|
+
import { d as w, __tla as __tla_1 } from "./index-BNTlm2lP.js";
|
|
4
|
+
import "./lens-DMnqMXpz.js";
|
|
5
5
|
import "./zip-DFgP-l20.js";
|
|
6
|
-
import "./arrow-
|
|
7
|
-
import "./drawing-2d-
|
|
8
|
-
import "./bcf-
|
|
9
|
-
import { __tla as __tla_2 } from "./exporters-
|
|
10
|
-
import { __tla as __tla_3 } from "./server-client-
|
|
11
|
-
import { __tla as __tla_4 } from "./ids-
|
|
12
|
-
import "./three-
|
|
6
|
+
import "./arrow-fie-E7fe.js";
|
|
7
|
+
import "./drawing-2d-CLn7Mtj8.js";
|
|
8
|
+
import "./bcf-3uE1MvcT.js";
|
|
9
|
+
import { __tla as __tla_2 } from "./exporters-BL6UmxRa.js";
|
|
10
|
+
import { __tla as __tla_3 } from "./server-client-DUMy2mXg.js";
|
|
11
|
+
import { __tla as __tla_4 } from "./ids-DFl74rTt.js";
|
|
12
|
+
import "./three-SQm7uqwa.js";
|
|
13
13
|
let I;
|
|
14
14
|
let __tla = Promise.all([
|
|
15
15
|
(()=>{
|