@spawnite/engine 0.1.0-beta.15
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/LICENSE.md +169 -0
- package/README.md +92 -0
- package/dist/-MLBVTaO.js +1 -0
- package/dist/28wIPE7L.js +1 -0
- package/dist/3rj0AvB6.js +1 -0
- package/dist/5L-NcwKR.js +1 -0
- package/dist/B-qLcgSf.js +1 -0
- package/dist/B0WN1jqX.js +41 -0
- package/dist/B1OUgdbN.js +1 -0
- package/dist/BEL83Bb6.js +1 -0
- package/dist/BGDOC3Q-.js +1 -0
- package/dist/BGM1SnEr.js +1 -0
- package/dist/BH6Ftfg9.js +1 -0
- package/dist/BJIJuxaE.js +1 -0
- package/dist/BJclgjKG.js +1 -0
- package/dist/BKc2k2s6.js +1 -0
- package/dist/BLB4-b4b.js +2 -0
- package/dist/BQnBIIt8.js +1 -0
- package/dist/BR3nbYwS.js +7 -0
- package/dist/BV9hGHeu.js +623 -0
- package/dist/BWOKsReG.js +1 -0
- package/dist/BWlq9jqw.js +1 -0
- package/dist/BXmxKBbF.js +3 -0
- package/dist/BYXhtwWy.js +1 -0
- package/dist/B_HFa2lJ.js +1 -0
- package/dist/BciVglt5.js +1 -0
- package/dist/Bfg1Y9_2.js +1 -0
- package/dist/Bh-CVkQx.js +1 -0
- package/dist/BiH9xCBB.js +1 -0
- package/dist/BobsCMiL.js +9 -0
- package/dist/Bp238wbZ.js +1 -0
- package/dist/Bpe0g5hX.js +1 -0
- package/dist/BrfUaL46.js +2 -0
- package/dist/Bw06YsIc.js +1 -0
- package/dist/Bydoy8wO.js +1 -0
- package/dist/BzaiZux2.js +1 -0
- package/dist/C25qqozO.js +1 -0
- package/dist/C6Ja5Z7G.js +1 -0
- package/dist/CCh4CnV9.js +1 -0
- package/dist/CEuuijY1.js +1 -0
- package/dist/CHntUxHl.js +1 -0
- package/dist/CIq9KviM.js +1 -0
- package/dist/CQPA3y5T.js +1 -0
- package/dist/CRfoqBKG.js +1 -0
- package/dist/CSXcU95U.js +1 -0
- package/dist/CU0epHFG.js +3 -0
- package/dist/CVgRrBP4.js +1 -0
- package/dist/CZV99t6a.js +7 -0
- package/dist/Cg33N9Ej.js +1 -0
- package/dist/Chcm92bZ.js +1 -0
- package/dist/CjiCdqiE.js +2 -0
- package/dist/Cp5beIll.js +1 -0
- package/dist/Cq6VqPHb.js +2 -0
- package/dist/CwZDkslT.js +1 -0
- package/dist/D3Y2LHFe.js +1 -0
- package/dist/D3wyrZ2_.js +1 -0
- package/dist/D8jIS84n.js +1 -0
- package/dist/DCIejHqp.js +1 -0
- package/dist/DHsBnfoU.js +1 -0
- package/dist/DJSpRhXB.js +1 -0
- package/dist/DOeUeeKs.js +1 -0
- package/dist/DR9bHgf0.js +1 -0
- package/dist/DRnuSAbu.js +1 -0
- package/dist/DSb1ApLU.js +1 -0
- package/dist/DXtppcZ7.js +1 -0
- package/dist/DZIhHLUn.js +1 -0
- package/dist/DgMhVbMU.js +1 -0
- package/dist/Dh5kh1nX.js +1 -0
- package/dist/DiGFL8kd.js +1 -0
- package/dist/DkKmurqu.js +1 -0
- package/dist/DlkDsMQd.js +1 -0
- package/dist/DnNEzpz-.js +1 -0
- package/dist/Dqx9hHBK.js +1 -0
- package/dist/DsgWLyZo.js +1 -0
- package/dist/DucRBEvN.js +1 -0
- package/dist/Dwcms3jX.js +1 -0
- package/dist/Dwfie-ev.js +1 -0
- package/dist/DyHjwN2H.js +1 -0
- package/dist/SMby3e6M.js +4 -0
- package/dist/THIRD-PARTY-NOTICES +329 -0
- package/dist/UJDr3Nrd.js +1 -0
- package/dist/V70ADx0g.js +2 -0
- package/dist/abilities.d.ts +1 -0
- package/dist/abilities.js +1 -0
- package/dist/core.d.ts +1 -0
- package/dist/core.js +1 -0
- package/dist/devtools.d.ts +1 -0
- package/dist/devtools.js +1 -0
- package/dist/dragAndDrop.d.ts +1 -0
- package/dist/dragAndDrop.js +1 -0
- package/dist/eYC1fQo5.js +1 -0
- package/dist/eslint.js +1 -0
- package/dist/hQBGE7c4.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +297 -0
- package/dist/internal/cli.js +1 -0
- package/dist/internal/devServer.js +2 -0
- package/dist/internal/devtools.js +1 -0
- package/dist/internal/room.js +1 -0
- package/dist/inventory.d.ts +1 -0
- package/dist/inventory.js +1 -0
- package/dist/jMKXPXIH.js +33 -0
- package/dist/looks/dusk.d.ts +1 -0
- package/dist/looks/dusk.js +1 -0
- package/dist/looks/morning.d.ts +1 -0
- package/dist/looks/morning.js +1 -0
- package/dist/looks/night.d.ts +1 -0
- package/dist/looks/night.js +1 -0
- package/dist/looks/noon.d.ts +1 -0
- package/dist/looks/noon.js +1 -0
- package/dist/looks/overcast.d.ts +1 -0
- package/dist/looks/overcast.js +1 -0
- package/dist/npcs.d.ts +1 -0
- package/dist/npcs.js +1 -0
- package/dist/public.d.ts +18818 -0
- package/dist/replay.d.ts +1 -0
- package/dist/replay.js +1 -0
- package/dist/testing.d.ts +542 -0
- package/dist/testing.js +1 -0
- package/dist/three.d.ts +1 -0
- package/dist/three.js +1 -0
- package/dist/tracks.d.ts +1 -0
- package/dist/tracks.js +1 -0
- package/dist/vite.d.ts +123 -0
- package/dist/vite.js +1 -0
- package/dist/weapons.d.ts +1 -0
- package/dist/weapons.js +1 -0
- package/dist/wiki/engine/ai/metadata.md +143 -0
- package/dist/wiki/engine/audio/sound.md +72 -0
- package/dist/wiki/engine/audio/voice.md +153 -0
- package/dist/wiki/engine/behaviours/abilities.md +328 -0
- package/dist/wiki/engine/behaviours/bob.md +37 -0
- package/dist/wiki/engine/behaviours/chase.md +158 -0
- package/dist/wiki/engine/behaviours/cooldowns.md +83 -0
- package/dist/wiki/engine/behaviours/dialog.md +172 -0
- package/dist/wiki/engine/behaviours/health.md +330 -0
- package/dist/wiki/engine/behaviours/interact.md +41 -0
- package/dist/wiki/engine/behaviours/inventory.md +266 -0
- package/dist/wiki/engine/behaviours/loot.md +90 -0
- package/dist/wiki/engine/behaviours/pickup.md +149 -0
- package/dist/wiki/engine/behaviours/resources.md +274 -0
- package/dist/wiki/engine/behaviours/routines.md +99 -0
- package/dist/wiki/engine/behaviours/spin.md +36 -0
- package/dist/wiki/engine/behaviours/stats.md +220 -0
- package/dist/wiki/engine/behaviours/targeting.md +155 -0
- package/dist/wiki/engine/behaviours/track-mover.md +121 -0
- package/dist/wiki/engine/behaviours/track-trigger.md +117 -0
- package/dist/wiki/engine/behaviours/trigger.md +158 -0
- package/dist/wiki/engine/behaviours/weapon.md +462 -0
- package/dist/wiki/engine/entities/camera.md +326 -0
- package/dist/wiki/engine/entities/entity.mdx +1063 -0
- package/dist/wiki/engine/entities/npc.md +64 -0
- package/dist/wiki/engine/entities/player.md +435 -0
- package/dist/wiki/engine/errors/SP0001.md +20 -0
- package/dist/wiki/engine/errors/SP0002.md +20 -0
- package/dist/wiki/engine/errors/SP0003.md +20 -0
- package/dist/wiki/engine/errors/SP0008.md +20 -0
- package/dist/wiki/engine/errors/SP0009.md +20 -0
- package/dist/wiki/engine/errors/SP0010.md +20 -0
- package/dist/wiki/engine/errors/SP0011.md +20 -0
- package/dist/wiki/engine/errors/SP0014.md +20 -0
- package/dist/wiki/engine/errors/SP0015.md +20 -0
- package/dist/wiki/engine/errors/SP0016.md +20 -0
- package/dist/wiki/engine/errors/SP0017.md +20 -0
- package/dist/wiki/engine/errors/SP0018.md +20 -0
- package/dist/wiki/engine/errors/SP0019.md +20 -0
- package/dist/wiki/engine/errors/SP0020.md +20 -0
- package/dist/wiki/engine/errors/SP0021.md +20 -0
- package/dist/wiki/engine/errors/SP0022.md +20 -0
- package/dist/wiki/engine/errors/SP0023.md +20 -0
- package/dist/wiki/engine/errors/SP0024.md +20 -0
- package/dist/wiki/engine/errors/SP0025.md +20 -0
- package/dist/wiki/engine/errors/SP0026.md +22 -0
- package/dist/wiki/engine/errors/SP0027.md +20 -0
- package/dist/wiki/engine/errors/SP0028.md +20 -0
- package/dist/wiki/engine/errors/SP0029.md +20 -0
- package/dist/wiki/engine/errors/SP0030.md +20 -0
- package/dist/wiki/engine/errors/SP0031.md +20 -0
- package/dist/wiki/engine/errors/SP0034.md +20 -0
- package/dist/wiki/engine/errors/SP0035.md +20 -0
- package/dist/wiki/engine/errors/SP0036.md +20 -0
- package/dist/wiki/engine/errors/SP0037.md +20 -0
- package/dist/wiki/engine/errors/SP0038.md +20 -0
- package/dist/wiki/engine/errors/SP0039.md +20 -0
- package/dist/wiki/engine/errors/SP0040.md +20 -0
- package/dist/wiki/engine/errors/SP0041.md +20 -0
- package/dist/wiki/engine/errors/SP0042.md +20 -0
- package/dist/wiki/engine/errors/SP0043.md +20 -0
- package/dist/wiki/engine/errors/SP0045.md +20 -0
- package/dist/wiki/engine/errors/SP0046.md +20 -0
- package/dist/wiki/engine/errors/SP0047.md +20 -0
- package/dist/wiki/engine/errors/SP0048.md +20 -0
- package/dist/wiki/engine/errors/SP0049.md +20 -0
- package/dist/wiki/engine/errors/SP0050.md +20 -0
- package/dist/wiki/engine/errors/SP0051.md +20 -0
- package/dist/wiki/engine/errors/SP0052.md +20 -0
- package/dist/wiki/engine/errors/SP0053.md +20 -0
- package/dist/wiki/engine/errors/SP0054.md +20 -0
- package/dist/wiki/engine/errors/SP0055.md +20 -0
- package/dist/wiki/engine/errors/SP0056.md +20 -0
- package/dist/wiki/engine/errors/SP0057.md +20 -0
- package/dist/wiki/engine/errors/SP0058.md +20 -0
- package/dist/wiki/engine/errors/SP0059.md +20 -0
- package/dist/wiki/engine/errors/SP0060.md +20 -0
- package/dist/wiki/engine/errors/SP0061.md +20 -0
- package/dist/wiki/engine/errors/SP0064.md +20 -0
- package/dist/wiki/engine/errors/SP0065.md +20 -0
- package/dist/wiki/engine/errors/SP0066.md +20 -0
- package/dist/wiki/engine/errors/SP0067.md +20 -0
- package/dist/wiki/engine/errors/SP0070.md +20 -0
- package/dist/wiki/engine/errors/SP0071.md +20 -0
- package/dist/wiki/engine/errors/SP0072.md +20 -0
- package/dist/wiki/engine/errors/SP0073.md +20 -0
- package/dist/wiki/engine/errors/SP0074.md +20 -0
- package/dist/wiki/engine/errors/SP0075.md +20 -0
- package/dist/wiki/engine/errors/SP0076.md +20 -0
- package/dist/wiki/engine/errors/SP0077.md +20 -0
- package/dist/wiki/engine/errors/SP0078.md +20 -0
- package/dist/wiki/engine/errors/SP0079.md +20 -0
- package/dist/wiki/engine/errors/SP0080.md +20 -0
- package/dist/wiki/engine/errors/SP0081.md +20 -0
- package/dist/wiki/engine/errors/SP0082.md +20 -0
- package/dist/wiki/engine/errors/SP0083.md +20 -0
- package/dist/wiki/engine/errors/SP0084.md +20 -0
- package/dist/wiki/engine/errors/SP0085.md +20 -0
- package/dist/wiki/engine/errors/SP0086.md +20 -0
- package/dist/wiki/engine/errors/SP0087.md +20 -0
- package/dist/wiki/engine/errors/SP0089.md +20 -0
- package/dist/wiki/engine/errors/SP0090.md +20 -0
- package/dist/wiki/engine/errors/SP0091.md +20 -0
- package/dist/wiki/engine/errors/SP0092.md +20 -0
- package/dist/wiki/engine/errors/SP0093.md +20 -0
- package/dist/wiki/engine/errors/SP0094.md +20 -0
- package/dist/wiki/engine/errors/SP0095.md +20 -0
- package/dist/wiki/engine/errors/SP0096.md +20 -0
- package/dist/wiki/engine/errors/SP0097.md +20 -0
- package/dist/wiki/engine/errors/SP0098.md +20 -0
- package/dist/wiki/engine/errors/SP0099.md +20 -0
- package/dist/wiki/engine/errors/SP0100.md +20 -0
- package/dist/wiki/engine/errors/SP0101.md +20 -0
- package/dist/wiki/engine/errors/SP0102.md +20 -0
- package/dist/wiki/engine/errors/SP0103.md +20 -0
- package/dist/wiki/engine/errors/SP0104.md +20 -0
- package/dist/wiki/engine/errors/SP0105.md +20 -0
- package/dist/wiki/engine/errors/SP0106.md +20 -0
- package/dist/wiki/engine/errors/SP0107.md +20 -0
- package/dist/wiki/engine/errors/SP0108.md +20 -0
- package/dist/wiki/engine/errors/SP0109.md +20 -0
- package/dist/wiki/engine/errors/SP0110.md +20 -0
- package/dist/wiki/engine/errors/SP0111.md +20 -0
- package/dist/wiki/engine/errors/SP0112.md +20 -0
- package/dist/wiki/engine/errors/SP0113.md +20 -0
- package/dist/wiki/engine/errors/SP0114.md +20 -0
- package/dist/wiki/engine/errors/SP0115.md +20 -0
- package/dist/wiki/engine/errors/SP0116.md +20 -0
- package/dist/wiki/engine/errors/SP0117.md +20 -0
- package/dist/wiki/engine/errors/SP0118.md +20 -0
- package/dist/wiki/engine/errors/SP0119.md +20 -0
- package/dist/wiki/engine/errors/SP0120.md +20 -0
- package/dist/wiki/engine/errors/SP0121.md +20 -0
- package/dist/wiki/engine/errors/SP0122.md +20 -0
- package/dist/wiki/engine/errors/SP0125.md +20 -0
- package/dist/wiki/engine/errors/SP0126.md +20 -0
- package/dist/wiki/engine/errors/SP0132.md +20 -0
- package/dist/wiki/engine/errors/SP0133.md +20 -0
- package/dist/wiki/engine/errors/SP0134.md +20 -0
- package/dist/wiki/engine/errors/SP0137.md +20 -0
- package/dist/wiki/engine/errors/SP0138.md +20 -0
- package/dist/wiki/engine/errors/SP0139.md +20 -0
- package/dist/wiki/engine/errors/SP0143.md +20 -0
- package/dist/wiki/engine/errors/SP0145.md +20 -0
- package/dist/wiki/engine/errors/SP0146.md +20 -0
- package/dist/wiki/engine/errors/SP0147.md +20 -0
- package/dist/wiki/engine/errors/SP0148.md +20 -0
- package/dist/wiki/engine/errors/SP0149.md +20 -0
- package/dist/wiki/engine/errors/SP0150.md +20 -0
- package/dist/wiki/engine/errors/SP0151.md +20 -0
- package/dist/wiki/engine/errors/SP0152.md +20 -0
- package/dist/wiki/engine/errors/SP0154.md +20 -0
- package/dist/wiki/engine/errors/SP0157.md +20 -0
- package/dist/wiki/engine/errors/SP0158.md +20 -0
- package/dist/wiki/engine/errors/SP0159.md +20 -0
- package/dist/wiki/engine/errors/SP0160.md +20 -0
- package/dist/wiki/engine/errors/SP0161.md +20 -0
- package/dist/wiki/engine/errors/SP0162.md +20 -0
- package/dist/wiki/engine/errors/SP0163.md +20 -0
- package/dist/wiki/engine/errors/SP0164.md +20 -0
- package/dist/wiki/engine/errors/SP0165.md +20 -0
- package/dist/wiki/engine/errors/SP0166.md +20 -0
- package/dist/wiki/engine/errors/SP0167.md +20 -0
- package/dist/wiki/engine/errors/SP0169.md +20 -0
- package/dist/wiki/engine/errors/SP0175.md +20 -0
- package/dist/wiki/engine/errors/SP0176.md +20 -0
- package/dist/wiki/engine/errors/SP0177.md +20 -0
- package/dist/wiki/engine/errors/SP0178.md +20 -0
- package/dist/wiki/engine/errors/SP0179.md +20 -0
- package/dist/wiki/engine/errors/SP0180.md +20 -0
- package/dist/wiki/engine/errors/SP0181.md +20 -0
- package/dist/wiki/engine/errors/SP0182.md +20 -0
- package/dist/wiki/engine/errors/SP0183.md +20 -0
- package/dist/wiki/engine/errors/SP0184.md +20 -0
- package/dist/wiki/engine/errors/SP0185.md +20 -0
- package/dist/wiki/engine/errors/SP0186.md +20 -0
- package/dist/wiki/engine/errors/SP0187.md +20 -0
- package/dist/wiki/engine/errors/SP0188.md +20 -0
- package/dist/wiki/engine/errors/SP0189.md +20 -0
- package/dist/wiki/engine/errors/SP0190.md +20 -0
- package/dist/wiki/engine/errors/SP0191.md +20 -0
- package/dist/wiki/engine/errors/SP0192.md +20 -0
- package/dist/wiki/engine/errors/SP0193.md +20 -0
- package/dist/wiki/engine/errors/SP0194.md +20 -0
- package/dist/wiki/engine/errors/SP0195.md +20 -0
- package/dist/wiki/engine/errors/SP0196.md +20 -0
- package/dist/wiki/engine/errors/SP0197.md +20 -0
- package/dist/wiki/engine/errors/SP0198.md +20 -0
- package/dist/wiki/engine/errors/SP0199.md +20 -0
- package/dist/wiki/engine/errors/SP0200.md +20 -0
- package/dist/wiki/engine/errors/SP0202.md +20 -0
- package/dist/wiki/engine/errors/SP0203.md +20 -0
- package/dist/wiki/engine/errors/SP0204.md +20 -0
- package/dist/wiki/engine/errors/SP0205.md +20 -0
- package/dist/wiki/engine/errors/SP0206.md +20 -0
- package/dist/wiki/engine/errors/SP0207.md +20 -0
- package/dist/wiki/engine/errors/SP0208.md +20 -0
- package/dist/wiki/engine/errors/SP0210.md +20 -0
- package/dist/wiki/engine/errors/SP0211.md +20 -0
- package/dist/wiki/engine/errors/SP0212.md +20 -0
- package/dist/wiki/engine/errors/SP0213.md +20 -0
- package/dist/wiki/engine/errors/SP0214.md +20 -0
- package/dist/wiki/engine/errors/SP0215.md +20 -0
- package/dist/wiki/engine/errors/SP0216.md +20 -0
- package/dist/wiki/engine/errors/SP0219.md +20 -0
- package/dist/wiki/engine/errors/SP0220.md +20 -0
- package/dist/wiki/engine/errors/SP0221.md +20 -0
- package/dist/wiki/engine/errors/SP0225.md +20 -0
- package/dist/wiki/engine/errors/SP0228.md +20 -0
- package/dist/wiki/engine/errors/SP0229.md +20 -0
- package/dist/wiki/engine/errors/SP0230.md +20 -0
- package/dist/wiki/engine/errors/SP0231.md +20 -0
- package/dist/wiki/engine/errors/SP0232.md +20 -0
- package/dist/wiki/engine/errors/SP0233.md +20 -0
- package/dist/wiki/engine/errors/SP0234.md +20 -0
- package/dist/wiki/engine/errors/SP0235.md +20 -0
- package/dist/wiki/engine/errors/SP0236.md +20 -0
- package/dist/wiki/engine/errors/SP0237.md +20 -0
- package/dist/wiki/engine/errors/SP0238.md +20 -0
- package/dist/wiki/engine/errors/SP0239.md +20 -0
- package/dist/wiki/engine/errors/SP0240.md +20 -0
- package/dist/wiki/engine/errors/SP0241.md +20 -0
- package/dist/wiki/engine/errors/SP0242.md +20 -0
- package/dist/wiki/engine/errors/SP0243.md +20 -0
- package/dist/wiki/engine/errors/SP0244.md +20 -0
- package/dist/wiki/engine/errors/SP0245.md +20 -0
- package/dist/wiki/engine/errors/SP0247.md +20 -0
- package/dist/wiki/engine/errors/SP0249.md +20 -0
- package/dist/wiki/engine/errors/SP0250.md +20 -0
- package/dist/wiki/engine/errors/SP0251.md +20 -0
- package/dist/wiki/engine/errors/SP0252.md +20 -0
- package/dist/wiki/engine/errors/SP0253.md +20 -0
- package/dist/wiki/engine/errors/SP0254.md +20 -0
- package/dist/wiki/engine/errors/SP0255.md +20 -0
- package/dist/wiki/engine/errors/SP0256.md +20 -0
- package/dist/wiki/engine/errors/SP0257.md +20 -0
- package/dist/wiki/engine/errors/SP0258.md +20 -0
- package/dist/wiki/engine/errors/SP0259.md +20 -0
- package/dist/wiki/engine/errors/SP0260.md +20 -0
- package/dist/wiki/engine/errors/SP0270.md +20 -0
- package/dist/wiki/engine/errors/SP0271.md +20 -0
- package/dist/wiki/engine/errors/SP0272.md +20 -0
- package/dist/wiki/engine/errors/SP0273.md +20 -0
- package/dist/wiki/engine/errors/SP0274.md +20 -0
- package/dist/wiki/engine/errors/SP0275.md +20 -0
- package/dist/wiki/engine/errors/SP0276.md +20 -0
- package/dist/wiki/engine/errors/SP0277.md +20 -0
- package/dist/wiki/engine/errors/SP0278.md +20 -0
- package/dist/wiki/engine/errors/SP0279.md +20 -0
- package/dist/wiki/engine/errors/SP0280.md +20 -0
- package/dist/wiki/engine/errors/SP0281.md +20 -0
- package/dist/wiki/engine/errors/SP0282.md +20 -0
- package/dist/wiki/engine/errors/SP0283.md +20 -0
- package/dist/wiki/engine/errors/SP0284.md +20 -0
- package/dist/wiki/engine/errors/SP0285.md +20 -0
- package/dist/wiki/engine/errors/SP0286.md +20 -0
- package/dist/wiki/engine/errors/SP0287.md +20 -0
- package/dist/wiki/engine/errors/SP0288.md +20 -0
- package/dist/wiki/engine/errors/SP0289.md +20 -0
- package/dist/wiki/engine/errors/SP0290.md +20 -0
- package/dist/wiki/engine/errors/SP0291.md +20 -0
- package/dist/wiki/engine/errors/SP0292.md +20 -0
- package/dist/wiki/engine/errors/SP0293.md +20 -0
- package/dist/wiki/engine/errors/SP0294.md +20 -0
- package/dist/wiki/engine/errors/SP0295.md +20 -0
- package/dist/wiki/engine/errors/SP0296.md +20 -0
- package/dist/wiki/engine/errors/SP0297.md +20 -0
- package/dist/wiki/engine/errors/SP0298.md +20 -0
- package/dist/wiki/engine/errors/SP0299.md +20 -0
- package/dist/wiki/engine/errors/SP0300.md +20 -0
- package/dist/wiki/engine/errors/SP0301.md +20 -0
- package/dist/wiki/engine/errors/SP0302.md +20 -0
- package/dist/wiki/engine/errors/SP0303.md +20 -0
- package/dist/wiki/engine/errors/SP0304.md +20 -0
- package/dist/wiki/engine/errors/SP0305.md +20 -0
- package/dist/wiki/engine/errors/SP0306.md +20 -0
- package/dist/wiki/engine/errors/SP0307.md +20 -0
- package/dist/wiki/engine/errors/SP0308.md +20 -0
- package/dist/wiki/engine/errors/SP0309.md +20 -0
- package/dist/wiki/engine/errors/SP0310.md +20 -0
- package/dist/wiki/engine/errors/SP0311.md +20 -0
- package/dist/wiki/engine/errors/SP0312.md +20 -0
- package/dist/wiki/engine/errors/SP0313.md +20 -0
- package/dist/wiki/engine/errors/SP0314.md +20 -0
- package/dist/wiki/engine/errors/SP0315.md +20 -0
- package/dist/wiki/engine/errors/SP0316.md +20 -0
- package/dist/wiki/engine/errors/SP0317.md +20 -0
- package/dist/wiki/engine/errors/SP0318.md +20 -0
- package/dist/wiki/engine/errors/SP0319.md +20 -0
- package/dist/wiki/engine/errors/SP0320.md +20 -0
- package/dist/wiki/engine/errors/SP0321.md +20 -0
- package/dist/wiki/engine/errors/SP0322.md +20 -0
- package/dist/wiki/engine/errors/SP0323.md +20 -0
- package/dist/wiki/engine/errors/SP0324.md +20 -0
- package/dist/wiki/engine/errors/SP0325.md +20 -0
- package/dist/wiki/engine/errors/SP0326.md +20 -0
- package/dist/wiki/engine/errors/SP0327.md +20 -0
- package/dist/wiki/engine/errors/SP0328.md +20 -0
- package/dist/wiki/engine/errors/SP0329.md +20 -0
- package/dist/wiki/engine/errors/SP0330.md +20 -0
- package/dist/wiki/engine/errors/SP0331.md +20 -0
- package/dist/wiki/engine/errors/SP0332.md +20 -0
- package/dist/wiki/engine/errors/SP0333.md +20 -0
- package/dist/wiki/engine/errors/SP0334.md +20 -0
- package/dist/wiki/engine/errors/SP0335.md +20 -0
- package/dist/wiki/engine/errors/SP0336.md +20 -0
- package/dist/wiki/engine/errors/SP0337.md +20 -0
- package/dist/wiki/engine/errors/SP0338.md +20 -0
- package/dist/wiki/engine/errors/SP0339.md +20 -0
- package/dist/wiki/engine/errors/SP0340.md +20 -0
- package/dist/wiki/engine/errors/SP0341.md +20 -0
- package/dist/wiki/engine/errors/SP0342.md +20 -0
- package/dist/wiki/engine/errors/SP0343.md +20 -0
- package/dist/wiki/engine/errors/SP0344.md +20 -0
- package/dist/wiki/engine/errors/SP0346.md +20 -0
- package/dist/wiki/engine/errors/SP0347.md +20 -0
- package/dist/wiki/engine/errors/SP0348.md +20 -0
- package/dist/wiki/engine/errors/SP0349.md +20 -0
- package/dist/wiki/engine/errors/SP0350.md +20 -0
- package/dist/wiki/engine/errors/SP0351.md +20 -0
- package/dist/wiki/engine/errors/SP0352.md +20 -0
- package/dist/wiki/engine/errors/SP0353.md +20 -0
- package/dist/wiki/engine/errors/SP0354.md +20 -0
- package/dist/wiki/engine/errors/SP0355.md +20 -0
- package/dist/wiki/engine/errors/SP0356.md +20 -0
- package/dist/wiki/engine/errors/SP0357.md +20 -0
- package/dist/wiki/engine/errors/SP0358.md +20 -0
- package/dist/wiki/engine/errors/SP0359.md +20 -0
- package/dist/wiki/engine/errors/SP0360.md +20 -0
- package/dist/wiki/engine/errors/SP0361.md +20 -0
- package/dist/wiki/engine/errors/SP0362.md +20 -0
- package/dist/wiki/engine/errors/SP0363.md +20 -0
- package/dist/wiki/engine/errors/SP0364.md +20 -0
- package/dist/wiki/engine/errors/SP0365.md +20 -0
- package/dist/wiki/engine/errors/SP0366.md +20 -0
- package/dist/wiki/engine/errors/SP0367.md +20 -0
- package/dist/wiki/engine/errors/SP0368.md +20 -0
- package/dist/wiki/engine/errors/SP0369.md +20 -0
- package/dist/wiki/engine/errors/SP0370.md +20 -0
- package/dist/wiki/engine/errors/SP0371.md +20 -0
- package/dist/wiki/engine/errors/SP0372.md +20 -0
- package/dist/wiki/engine/errors/SP0373.md +20 -0
- package/dist/wiki/engine/errors/SP0374.md +20 -0
- package/dist/wiki/engine/errors/SP0375.md +20 -0
- package/dist/wiki/engine/errors/SP0376.md +20 -0
- package/dist/wiki/engine/errors/SP0377.md +20 -0
- package/dist/wiki/engine/errors/SP0378.md +20 -0
- package/dist/wiki/engine/errors/SP0379.md +20 -0
- package/dist/wiki/engine/errors/SP0380.md +20 -0
- package/dist/wiki/engine/errors/SP0381.md +20 -0
- package/dist/wiki/engine/errors/SP0382.md +20 -0
- package/dist/wiki/engine/errors/SP0383.md +20 -0
- package/dist/wiki/engine/errors/SP0384.md +20 -0
- package/dist/wiki/engine/errors/SP0385.md +20 -0
- package/dist/wiki/engine/errors/SP0386.md +20 -0
- package/dist/wiki/engine/errors/SP0387.md +21 -0
- package/dist/wiki/engine/errors/SP0388.md +20 -0
- package/dist/wiki/engine/errors/SP0389.md +20 -0
- package/dist/wiki/engine/errors/SP0390.md +20 -0
- package/dist/wiki/engine/errors/SP0391.md +20 -0
- package/dist/wiki/engine/errors/SP0392.md +20 -0
- package/dist/wiki/engine/errors/SP0393.md +20 -0
- package/dist/wiki/engine/errors/SP0394.md +20 -0
- package/dist/wiki/engine/errors/SP0395.md +20 -0
- package/dist/wiki/engine/errors/SP0396.md +20 -0
- package/dist/wiki/engine/errors/SP0397.md +20 -0
- package/dist/wiki/engine/errors/SP0398.md +20 -0
- package/dist/wiki/engine/errors/SP0399.md +20 -0
- package/dist/wiki/engine/errors/SP0400.md +20 -0
- package/dist/wiki/engine/errors/SP0401.md +20 -0
- package/dist/wiki/engine/errors/SP0402.md +20 -0
- package/dist/wiki/engine/errors/SP0403.md +20 -0
- package/dist/wiki/engine/errors/SP0404.md +20 -0
- package/dist/wiki/engine/errors/SP0405.md +20 -0
- package/dist/wiki/engine/errors/SP0406.md +20 -0
- package/dist/wiki/engine/errors/SP0407.md +20 -0
- package/dist/wiki/engine/errors/SP0408.md +20 -0
- package/dist/wiki/engine/errors/SP0409.md +20 -0
- package/dist/wiki/engine/errors/SP0410.md +20 -0
- package/dist/wiki/engine/errors/SP0411.md +20 -0
- package/dist/wiki/engine/errors/SP0412.md +20 -0
- package/dist/wiki/engine/errors/SP0413.md +20 -0
- package/dist/wiki/engine/errors/SP0414.md +20 -0
- package/dist/wiki/engine/errors/SP0415.md +20 -0
- package/dist/wiki/engine/errors/SP0416.md +20 -0
- package/dist/wiki/engine/errors/SP0417.md +20 -0
- package/dist/wiki/engine/errors/SP0418.md +20 -0
- package/dist/wiki/engine/errors/SP0419.md +20 -0
- package/dist/wiki/engine/errors/SP0420.md +20 -0
- package/dist/wiki/engine/errors/SP0421.md +20 -0
- package/dist/wiki/engine/errors/SP0422.md +20 -0
- package/dist/wiki/engine/errors/SP0423.md +20 -0
- package/dist/wiki/engine/errors/SP0427.md +20 -0
- package/dist/wiki/engine/errors/SP0428.md +20 -0
- package/dist/wiki/engine/errors/SP0429.md +20 -0
- package/dist/wiki/engine/errors/SP0430.md +20 -0
- package/dist/wiki/engine/errors/SP0431.md +20 -0
- package/dist/wiki/engine/errors/SP0432.md +20 -0
- package/dist/wiki/engine/errors/SP0433.md +20 -0
- package/dist/wiki/engine/errors/SP0434.md +20 -0
- package/dist/wiki/engine/errors/SP0435.md +20 -0
- package/dist/wiki/engine/errors/SP0436.md +20 -0
- package/dist/wiki/engine/errors/SP0437.md +20 -0
- package/dist/wiki/engine/errors/SP0438.md +20 -0
- package/dist/wiki/engine/errors/SP0439.md +20 -0
- package/dist/wiki/engine/errors/SP0440.md +20 -0
- package/dist/wiki/engine/errors/SP0442.md +20 -0
- package/dist/wiki/engine/errors/SP0443.md +20 -0
- package/dist/wiki/engine/errors/SP0444.md +20 -0
- package/dist/wiki/engine/errors/SP0445.md +20 -0
- package/dist/wiki/engine/errors/SP0446.md +20 -0
- package/dist/wiki/engine/errors/SP0447.md +20 -0
- package/dist/wiki/engine/errors/SP0448.md +20 -0
- package/dist/wiki/engine/errors/SP0449.md +20 -0
- package/dist/wiki/engine/errors/SP0450.md +20 -0
- package/dist/wiki/engine/errors/SP0451.md +20 -0
- package/dist/wiki/engine/errors/SP0452.md +20 -0
- package/dist/wiki/engine/errors/SP0453.md +20 -0
- package/dist/wiki/engine/errors/SP0454.md +20 -0
- package/dist/wiki/engine/errors/SP0455.md +20 -0
- package/dist/wiki/engine/errors/SP0456.md +20 -0
- package/dist/wiki/engine/errors/SP0457.md +20 -0
- package/dist/wiki/engine/errors/SP0458.md +20 -0
- package/dist/wiki/engine/errors/SP0459.md +20 -0
- package/dist/wiki/engine/errors/SP0460.md +20 -0
- package/dist/wiki/engine/errors/SP0461.md +20 -0
- package/dist/wiki/engine/errors/SP0462.md +20 -0
- package/dist/wiki/engine/errors/SP0463.md +20 -0
- package/dist/wiki/engine/errors/SP0464.md +20 -0
- package/dist/wiki/engine/errors/SP0465.md +20 -0
- package/dist/wiki/engine/errors/SP0466.md +20 -0
- package/dist/wiki/engine/errors/SP0467.md +20 -0
- package/dist/wiki/engine/errors/SP0468.md +20 -0
- package/dist/wiki/engine/errors/SP0469.md +20 -0
- package/dist/wiki/engine/errors/SP0470.md +20 -0
- package/dist/wiki/engine/errors/SP0471.md +20 -0
- package/dist/wiki/engine/errors/SP0472.md +20 -0
- package/dist/wiki/engine/errors/SP0473.md +20 -0
- package/dist/wiki/engine/errors/SP0474.md +20 -0
- package/dist/wiki/engine/errors/SP0475.md +20 -0
- package/dist/wiki/engine/errors/SP0476.md +20 -0
- package/dist/wiki/engine/errors/SP0477.md +20 -0
- package/dist/wiki/engine/errors/SP0478.md +20 -0
- package/dist/wiki/engine/errors/SP0479.md +20 -0
- package/dist/wiki/engine/errors/SP0480.md +20 -0
- package/dist/wiki/engine/errors/SP0481.md +20 -0
- package/dist/wiki/engine/errors/SP0482.md +20 -0
- package/dist/wiki/engine/errors/SP0483.md +20 -0
- package/dist/wiki/engine/errors/SP0484.md +20 -0
- package/dist/wiki/engine/errors/SP0497.md +20 -0
- package/dist/wiki/engine/errors/SP0498.md +20 -0
- package/dist/wiki/engine/errors/SP0500.md +20 -0
- package/dist/wiki/engine/errors/SP0501.md +20 -0
- package/dist/wiki/engine/errors/SP0502.md +20 -0
- package/dist/wiki/engine/errors/SP0503.md +20 -0
- package/dist/wiki/engine/errors/SP0504.md +20 -0
- package/dist/wiki/engine/errors/SP0505.md +20 -0
- package/dist/wiki/engine/errors/SP0506.md +20 -0
- package/dist/wiki/engine/errors/SP0507.md +20 -0
- package/dist/wiki/engine/errors/SP0508.md +20 -0
- package/dist/wiki/engine/errors/SP0509.md +20 -0
- package/dist/wiki/engine/errors/SP0510.md +20 -0
- package/dist/wiki/engine/errors/SP0511.md +20 -0
- package/dist/wiki/engine/errors/SP0512.md +20 -0
- package/dist/wiki/engine/errors/SP0513.md +20 -0
- package/dist/wiki/engine/errors/SP0514.md +20 -0
- package/dist/wiki/engine/errors/SP0515.md +20 -0
- package/dist/wiki/engine/errors/SP0516.md +20 -0
- package/dist/wiki/engine/errors/SP0517.md +20 -0
- package/dist/wiki/engine/errors/SP0518.md +20 -0
- package/dist/wiki/engine/errors/SP0519.md +20 -0
- package/dist/wiki/engine/errors/SP0520.md +20 -0
- package/dist/wiki/engine/errors/SP0521.md +20 -0
- package/dist/wiki/engine/errors/SP0522.md +20 -0
- package/dist/wiki/engine/errors/SP0523.md +20 -0
- package/dist/wiki/engine/errors/SP0524.md +20 -0
- package/dist/wiki/engine/errors/SP0525.md +20 -0
- package/dist/wiki/engine/errors/SP0526.md +20 -0
- package/dist/wiki/engine/errors/SP0527.md +20 -0
- package/dist/wiki/engine/errors/SP0528.md +20 -0
- package/dist/wiki/engine/errors/SP0529.md +20 -0
- package/dist/wiki/engine/errors/SP0530.md +20 -0
- package/dist/wiki/engine/errors/SP0531.md +20 -0
- package/dist/wiki/engine/errors/SP0532.md +20 -0
- package/dist/wiki/engine/errors/SP0533.md +20 -0
- package/dist/wiki/engine/errors/SP0534.md +20 -0
- package/dist/wiki/engine/errors/SP0535.md +20 -0
- package/dist/wiki/engine/errors/SP0536.md +20 -0
- package/dist/wiki/engine/errors/SP0537.md +20 -0
- package/dist/wiki/engine/errors/SP0538.md +20 -0
- package/dist/wiki/engine/errors/SP0539.md +20 -0
- package/dist/wiki/engine/errors/SP0540.md +20 -0
- package/dist/wiki/engine/errors/SP0541.md +20 -0
- package/dist/wiki/engine/errors/SP0542.md +20 -0
- package/dist/wiki/engine/errors/SP0543.md +20 -0
- package/dist/wiki/engine/errors/SP0545.md +20 -0
- package/dist/wiki/engine/errors/SP0546.md +20 -0
- package/dist/wiki/engine/errors/SP0547.md +20 -0
- package/dist/wiki/engine/errors/SP0548.md +20 -0
- package/dist/wiki/engine/errors/SP0549.md +20 -0
- package/dist/wiki/engine/errors/SP0550.md +20 -0
- package/dist/wiki/engine/errors/SP0551.md +20 -0
- package/dist/wiki/engine/errors/SP0552.md +20 -0
- package/dist/wiki/engine/errors/SP0553.md +20 -0
- package/dist/wiki/engine/errors/SP0554.md +20 -0
- package/dist/wiki/engine/errors/SP0555.md +20 -0
- package/dist/wiki/engine/errors/SP0556.md +20 -0
- package/dist/wiki/engine/errors/SP0557.md +20 -0
- package/dist/wiki/engine/errors/SP0558.md +20 -0
- package/dist/wiki/engine/errors/SP0559.md +20 -0
- package/dist/wiki/engine/errors/SP0560.md +20 -0
- package/dist/wiki/engine/errors/SP0561.md +20 -0
- package/dist/wiki/engine/errors/SP0562.md +20 -0
- package/dist/wiki/engine/errors/SP0563.md +20 -0
- package/dist/wiki/engine/errors/SP0564.md +20 -0
- package/dist/wiki/engine/errors/SP0565.md +20 -0
- package/dist/wiki/engine/errors/SP0566.md +20 -0
- package/dist/wiki/engine/errors/SP0567.md +20 -0
- package/dist/wiki/engine/errors/SP0568.md +20 -0
- package/dist/wiki/engine/errors/SP0569.md +20 -0
- package/dist/wiki/engine/errors/SP0570.md +20 -0
- package/dist/wiki/engine/errors/index.md +504 -0
- package/dist/wiki/engine/graphics/crt-material.md +64 -0
- package/dist/wiki/engine/graphics/energy-orb-material.md +52 -0
- package/dist/wiki/engine/graphics/instanced-model.md +89 -0
- package/dist/wiki/engine/graphics/looks.md +196 -0
- package/dist/wiki/engine/graphics/particles.md +185 -0
- package/dist/wiki/engine/graphics/portal-material.md +49 -0
- package/dist/wiki/engine/graphics/post-processing.md +130 -0
- package/dist/wiki/engine/graphics/renderer.md +103 -0
- package/dist/wiki/engine/graphics/shader.md +331 -0
- package/dist/wiki/engine/graphics/skinned-batch.md +115 -0
- package/dist/wiki/engine/graphics/track-scatter.md +124 -0
- package/dist/wiki/engine/graphics/track-surface.md +107 -0
- package/dist/wiki/engine/graphics/water-material.md +60 -0
- package/dist/wiki/engine/graphics/webgpu.md +87 -0
- package/dist/wiki/engine/structure/game.md +301 -0
- package/dist/wiki/engine/structure/levels.md +239 -0
- package/dist/wiki/engine/structure/plugins.md +423 -0
- package/dist/wiki/engine/structure/round.md +229 -0
- package/dist/wiki/engine/structure/saves.md +251 -0
- package/dist/wiki/engine/structure/scene.md +69 -0
- package/dist/wiki/engine/structure/states.md +202 -0
- package/dist/wiki/engine/structure/systems.md +242 -0
- package/dist/wiki/engine/structure/track-level.md +73 -0
- package/dist/wiki/engine/structure/world.md +371 -0
- package/dist/wiki/engine/testing/agent-state.md +131 -0
- package/dist/wiki/engine/testing/dev-server.md +101 -0
- package/dist/wiki/engine/testing/devtools-wiki.md +80 -0
- package/dist/wiki/engine/testing/devtools.md +143 -0
- package/dist/wiki/engine/testing/directing.md +125 -0
- package/dist/wiki/engine/testing/director.md +285 -0
- package/dist/wiki/engine/testing/editing.md +71 -0
- package/dist/wiki/engine/testing/errors.md +146 -0
- package/dist/wiki/engine/testing/frame.md +175 -0
- package/dist/wiki/engine/testing/headless.md +133 -0
- package/dist/wiki/engine/testing/hitches.md +140 -0
- package/dist/wiki/engine/testing/joins.md +129 -0
- package/dist/wiki/engine/testing/measuring.md +97 -0
- package/dist/wiki/engine/testing/performance.md +48 -0
- package/dist/wiki/engine/testing/processes.md +87 -0
- package/dist/wiki/engine/testing/replay-storage.md +156 -0
- package/dist/wiki/engine/testing/replay.md +230 -0
- package/dist/wiki/engine/testing/runs.md +162 -0
- package/dist/wiki/engine/testing/which-tool.md +155 -0
- package/dist/wiki/engine/ui/action-bar.md +121 -0
- package/dist/wiki/engine/ui/bar.md +54 -0
- package/dist/wiki/engine/ui/billboard.md +64 -0
- package/dist/wiki/engine/ui/button.md +69 -0
- package/dist/wiki/engine/ui/controls.md +131 -0
- package/dist/wiki/engine/ui/counter.md +40 -0
- package/dist/wiki/engine/ui/devtools-panel.md +69 -0
- package/dist/wiki/engine/ui/drag-and-drop.md +134 -0
- package/dist/wiki/engine/ui/floating-text.md +129 -0
- package/dist/wiki/engine/ui/graphics-quality.md +254 -0
- package/dist/wiki/engine/ui/heading.md +43 -0
- package/dist/wiki/engine/ui/hud.md +100 -0
- package/dist/wiki/engine/ui/icon.md +34 -0
- package/dist/wiki/engine/ui/image.md +38 -0
- package/dist/wiki/engine/ui/index.md +59 -0
- package/dist/wiki/engine/ui/joystick.md +32 -0
- package/dist/wiki/engine/ui/modal.md +95 -0
- package/dist/wiki/engine/ui/panel.md +100 -0
- package/dist/wiki/engine/ui/settings.md +303 -0
- package/dist/wiki/engine/ui/tap.md +33 -0
- package/dist/wiki/engine/ui/text.md +56 -0
- package/dist/wiki/engine/ui/theme.md +119 -0
- package/dist/wiki/engine/ui/window.md +68 -0
- package/dist/wmIDrLkF.js +1 -0
- package/dist/yhuZzG90.js +1 -0
- package/dist/z3YXvfLT.js +1 -0
- package/dist-browser/@pixiv/three-vrm/nodes.js +1 -0
- package/dist-browser/@pixiv/three-vrm.js +1 -0
- package/dist-browser/@react-three/drei/exports/-accumulative-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-adaptive-dpr.js +1 -0
- package/dist-browser/@react-three/drei/exports/-adaptive-events.js +1 -0
- package/dist-browser/@react-three/drei/exports/-arcball-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-ascii-renderer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-b-b-anchor.js +1 -0
- package/dist-browser/@react-three/drei/exports/-backdrop.js +1 -0
- package/dist-browser/@react-three/drei/exports/-bake-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-billboard.js +1 -0
- package/dist-browser/@react-three/drei/exports/-bounds.js +1 -0
- package/dist-browser/@react-three/drei/exports/-box.js +1 -0
- package/dist-browser/@react-three/drei/exports/-bvh.js +1 -0
- package/dist-browser/@react-three/drei/exports/-camera-controls-impl.js +1 -0
- package/dist-browser/@react-three/drei/exports/-camera-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-camera-shake.js +1 -0
- package/dist-browser/@react-three/drei/exports/-capsule.js +1 -0
- package/dist-browser/@react-three/drei/exports/-catmull-rom-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-caustics.js +1 -0
- package/dist-browser/@react-three/drei/exports/-center.js +1 -0
- package/dist-browser/@react-three/drei/exports/-circle.js +1 -0
- package/dist-browser/@react-three/drei/exports/-clone.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cloud-instance.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cloud.js +1 -0
- package/dist-browser/@react-three/drei/exports/-clouds.js +1 -0
- package/dist-browser/@react-three/drei/exports/-computed-attribute.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cone.js +1 -0
- package/dist-browser/@react-three/drei/exports/-contact-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cube-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cube-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cubic-bezier-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-curve-modifier.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cycle-raycast.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cylinder.js +1 -0
- package/dist-browser/@react-three/drei/exports/-decal.js +1 -0
- package/dist-browser/@react-three/drei/exports/-detailed.js +1 -0
- package/dist-browser/@react-three/drei/exports/-detect-g-p-u.js +1 -0
- package/dist-browser/@react-three/drei/exports/-device-orientation-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-dodecahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-drag-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-edges.js +1 -0
- package/dist-browser/@react-three/drei/exports/-effects.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment-cube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment-map.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment-portal.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment.js +1 -0
- package/dist-browser/@react-three/drei/exports/-example.js +1 -0
- package/dist-browser/@react-three/drei/exports/-extrude.js +1 -0
- package/dist-browser/@react-three/drei/exports/-face-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-face-landmarker-defaults.js +1 -0
- package/dist-browser/@react-three/drei/exports/-face-landmarker.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh-datas.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh-eye-defaults.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh-eye.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fbo.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fbx.js +1 -0
- package/dist-browser/@react-three/drei/exports/-first-person-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fisheye.js +1 -0
- package/dist-browser/@react-three/drei/exports/-float.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fly-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gizmo-helper.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gizmo-viewcube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gizmo-viewport.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gltf.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gradient-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gradient-type.js +1 -0
- package/dist-browser/@react-three/drei/exports/-grid.js +1 -0
- package/dist-browser/@react-three/drei/exports/-helper.js +1 -0
- package/dist-browser/@react-three/drei/exports/-html.js +1 -0
- package/dist-browser/@react-three/drei/exports/-hud.js +1 -0
- package/dist-browser/@react-three/drei/exports/-icosahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-image.js +1 -0
- package/dist-browser/@react-three/drei/exports/-instance.js +1 -0
- package/dist-browser/@react-three/drei/exports/-instanced-attribute.js +1 -0
- package/dist-browser/@react-three/drei/exports/-instances.js +1 -0
- package/dist-browser/@react-three/drei/exports/-is-object.js +1 -0
- package/dist-browser/@react-three/drei/exports/-keyboard-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-ktx2.js +1 -0
- package/dist-browser/@react-three/drei/exports/-lathe.js +1 -0
- package/dist-browser/@react-three/drei/exports/-lightformer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-loader.js +1 -0
- package/dist-browser/@react-three/drei/exports/-map-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-marching-cube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-marching-cubes.js +1 -0
- package/dist-browser/@react-three/drei/exports/-marching-plane.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mask.js +1 -0
- package/dist-browser/@react-three/drei/exports/-matcap-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-merged.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-discard-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-distort-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-portal-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-reflector-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-refraction-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-transmission-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-wobble-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-motion-path-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-multi-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-normal-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-octahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-orbit-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-orthographic-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/-outlines.js +1 -0
- package/dist-browser/@react-three/drei/exports/-performance-monitor.js +1 -0
- package/dist-browser/@react-three/drei/exports/-perspective-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/-pivot-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-plane.js +1 -0
- package/dist-browser/@react-three/drei/exports/-point-material-impl.js +1 -0
- package/dist-browser/@react-three/drei/exports/-point-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-point.js +1 -0
- package/dist-browser/@react-three/drei/exports/-pointer-lock-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-points-buffer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-points.js +1 -0
- package/dist-browser/@react-three/drei/exports/-polyhedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-position-mesh.js +1 -0
- package/dist-browser/@react-three/drei/exports/-position-point.js +1 -0
- package/dist-browser/@react-three/drei/exports/-positional-audio.js +1 -0
- package/dist-browser/@react-three/drei/exports/-preload.js +1 -0
- package/dist-browser/@react-three/drei/exports/-presentation-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-progress.js +1 -0
- package/dist-browser/@react-three/drei/exports/-quadratic-bezier-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-randomized-light.js +1 -0
- package/dist-browser/@react-three/drei/exports/-render-cube-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-render-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-resize.js +1 -0
- package/dist-browser/@react-three/drei/exports/-ring.js +1 -0
- package/dist-browser/@react-three/drei/exports/-rounded-box-geometry.js +1 -0
- package/dist-browser/@react-three/drei/exports/-rounded-box.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sampler.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-quad.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-sizer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-space.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-video-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-scroll-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-scroll.js +1 -0
- package/dist-browser/@react-three/drei/exports/-segment-object.js +1 -0
- package/dist-browser/@react-three/drei/exports/-segment.js +1 -0
- package/dist-browser/@react-three/drei/exports/-segments.js +1 -0
- package/dist-browser/@react-three/drei/exports/-select.js +1 -0
- package/dist-browser/@react-three/drei/exports/-shadow-alpha.js +1 -0
- package/dist-browser/@react-three/drei/exports/-shadow.js +1 -0
- package/dist-browser/@react-three/drei/exports/-shape.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sky.js +1 -0
- package/dist-browser/@react-three/drei/exports/-soft-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sparkles.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sphere.js +1 -0
- package/dist-browser/@react-three/drei/exports/-splat.js +1 -0
- package/dist-browser/@react-three/drei/exports/-spot-light-shadow.js +1 -0
- package/dist-browser/@react-three/drei/exports/-spot-light.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sprite-animator.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stage.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stars.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stats-gl.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stats.js +1 -0
- package/dist-browser/@react-three/drei/exports/-svg.js +1 -0
- package/dist-browser/@react-three/drei/exports/-tetrahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-text.js +1 -0
- package/dist-browser/@react-three/drei/exports/-text3-d.js +1 -0
- package/dist-browser/@react-three/drei/exports/-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-torus-knot.js +1 -0
- package/dist-browser/@react-three/drei/exports/-torus.js +1 -0
- package/dist-browser/@react-three/drei/exports/-trackball-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-trail-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-trail.js +1 -0
- package/dist-browser/@react-three/drei/exports/-transform-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-tube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-video-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-view.js +1 -0
- package/dist-browser/@react-three/drei/exports/-webcam-video-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-wireframe.js +1 -0
- package/dist-browser/@react-three/drei/exports/accumulative-context.js +1 -0
- package/dist-browser/@react-three/drei/exports/calc-pos-from-angles.js +1 -0
- package/dist-browser/@react-three/drei/exports/calculate-scale-factor.js +1 -0
- package/dist-browser/@react-three/drei/exports/check-if-frame-is-empty.js +1 -0
- package/dist-browser/@react-three/drei/exports/create-instances.js +1 -0
- package/dist-browser/@react-three/drei/exports/get-first-frame.js +1 -0
- package/dist-browser/@react-three/drei/exports/is-web-g-l2-available.js +1 -0
- package/dist-browser/@react-three/drei/exports/mesh-bounds.js +1 -0
- package/dist-browser/@react-three/drei/exports/shader-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-animations.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-aspect.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-b-v-h.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-bounds.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-box-projected-env.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-context-bridge.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-cube-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-cube-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-cursor.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-depth-buffer.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-detect-g-p-u.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-environment.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-f-b-o.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-f-b-x.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-face-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-face-landmarker.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-font.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-g-l-t-f.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-gizmo-context.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-helper.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-intersect.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-k-t-x2.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-keyboard-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-mask.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-matcap-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-motion.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-normal-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-performance-monitor.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-progress.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-scroll.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-select.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-sprite-animator.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-sprite-loader.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-surface-sampler.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-trail-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-trail.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-video-texture.js +1 -0
- package/dist-browser/@react-three/drei.js +1 -0
- package/dist-browser/@react-three/fiber.js +1 -0
- package/dist-browser/@react-three/postprocessing.js +1 -0
- package/dist-browser/@spawnite/engine/abilities.js +1 -0
- package/dist-browser/@spawnite/engine/core.js +1 -0
- package/dist-browser/@spawnite/engine/dragAndDrop.js +1 -0
- package/dist-browser/@spawnite/engine/inventory.js +1 -0
- package/dist-browser/@spawnite/engine/looks/dusk.js +1 -0
- package/dist-browser/@spawnite/engine/looks/morning.js +1 -0
- package/dist-browser/@spawnite/engine/looks/night.js +1 -0
- package/dist-browser/@spawnite/engine/looks/noon.js +1 -0
- package/dist-browser/@spawnite/engine/looks/overcast.js +1 -0
- package/dist-browser/@spawnite/engine/npcs.js +1 -0
- package/dist-browser/@spawnite/engine/rounds.js +1 -0
- package/dist-browser/@spawnite/engine/three.js +1 -0
- package/dist-browser/@spawnite/engine/tracks.js +1 -0
- package/dist-browser/@spawnite/engine/weapons.js +1 -0
- package/dist-browser/@spawnite/engine.js +376 -0
- package/dist-browser/@spawnite/schema/exports/-agent-state.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-app-message-type.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-channel-handshake.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-clip-clock.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-clip-record-action.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-clip-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-collision-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-cover-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-credential-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-device-class.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-engine-save-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-favorite-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-model-style.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-page-connection-status.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-page-message-type.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-performance-stats-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-prop-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-quality-group.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-quality-level.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-room-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-save-owner-change.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-save-section.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-scatter-family.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-scatter-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-shot-angle.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-voice-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-wiki-scope.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-asset-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-behaviour-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-dialog-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-entity-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-hud-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-item-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-map-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-npc-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-panel-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-scene-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-shader-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/agent-activity-event.js +1 -0
- package/dist-browser/@spawnite/schema/exports/agent-heartbeat-milliseconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-channel-version.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-credential.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-inset-edges.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-insets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-message-versions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-player.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-settings-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-catalog.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-category.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-declaration.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-filters.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-key.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-licence.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-manifest.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-source.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-style.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-url.js +1 -0
- package/dist-browser/@spawnite/schema/exports/assets-site.js +1 -0
- package/dist-browser/@spawnite/schema/exports/brush-shapes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/build-save-manifest-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-manifest-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-manifest.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-page-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-server-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/carried-setting-key-list.js +1 -0
- package/dist-browser/@spawnite/schema/exports/carried-setting-keys.js +1 -0
- package/dist-browser/@spawnite/schema/exports/carried-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/catalog-row.js +1 -0
- package/dist-browser/@spawnite/schema/exports/cell-paint.js +1 -0
- package/dist-browser/@spawnite/schema/exports/channel-connect.js +1 -0
- package/dist-browser/@spawnite/schema/exports/channel-hello.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-read-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-game-slug.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-model-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-save-migrations.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-save-publish.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-sound-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clip-finish.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clip-meta.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clip-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clips-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clips-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/compare-save-manifest-entries.js +1 -0
- package/dist-browser/@spawnite/schema/exports/compare-shots-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/component-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/condition-seconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/connection-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/create-quality-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/create-site.js +1 -0
- package/dist-browser/@spawnite/schema/exports/create-tagged-save-value-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/credential-versions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/day-hour.js +1 -0
- package/dist-browser/@spawnite/schema/exports/day-length.js +1 -0
- package/dist-browser/@spawnite/schema/exports/default-player-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/default-room-players.js +1 -0
- package/dist-browser/@spawnite/schema/exports/default-room-send-rate.js +1 -0
- package/dist-browser/@spawnite/schema/exports/describe-entity-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/describe-map-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/describe-save-publish-refusal.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-saves-cleared-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-saves-cleared-meta-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-saves-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-server-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-server-prefix.js +1 -0
- package/dist-browser/@spawnite/schema/exports/devtools-favorites.js +1 -0
- package/dist-browser/@spawnite/schema/exports/devtools-presets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/direct-link.js +1 -0
- package/dist-browser/@spawnite/schema/exports/edit-material-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/edit-terrain-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-build-meta-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-build-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-label.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-origin.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-save-readers.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-save-schemas.js +1 -0
- package/dist-browser/@spawnite/schema/exports/error-reports-config.js +1 -0
- package/dist-browser/@spawnite/schema/exports/error-reports-meta-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/error-reports-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/favorite-field.js +1 -0
- package/dist-browser/@spawnite/schema/exports/filter-assets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/find-particle-effect-excess.js +1 -0
- package/dist-browser/@spawnite/schema/exports/find-room-settings-problems.js +1 -0
- package/dist-browser/@spawnite/schema/exports/find-terrain-cell.js +1 -0
- package/dist-browser/@spawnite/schema/exports/fingerprint-save-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/format-clip-length.js +1 -0
- package/dist-browser/@spawnite/schema/exports/format-clip-size.js +1 -0
- package/dist-browser/@spawnite/schema/exports/format-link-conditions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/framed-shot-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/fullscreen-answer-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/fullscreen-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-materials-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-materials-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-origin.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-page-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-save-key.js +1 -0
- package/dist-browser/@spawnite/schema/exports/grid-map.js +1 -0
- package/dist-browser/@spawnite/schema/exports/ground-rule-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/ground-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/hud-slot.js +1 -0
- package/dist-browser/@spawnite/schema/exports/init-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/init-save.js +1 -0
- package/dist-browser/@spawnite/schema/exports/insets-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-additive-schema-change.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-game-id.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-game-slug.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-kept-label.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-link-direct.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-older-reader.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-particle-effect-looping.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-room-players.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-room-send-rate.js +1 -0
- package/dist-browser/@spawnite/schema/exports/item-definition.js +1 -0
- package/dist-browser/@spawnite/schema/exports/join-room-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/leave-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/left-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-assets-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-clips-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-templates-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/long-call-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/longest-timeout-seconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/make-model-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-base-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-point.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-prop-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-props-patch.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-props-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-sea-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-terrain-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-cover-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-look-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-sets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/materials-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-error-report-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-body-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-body-ceiling-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-unpacked-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-unpacked-ceiling-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/menu-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/merge-carried-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/merge-save-highest.js +1 -0
- package/dist-browser/@spawnite/schema/exports/model-reference-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/model-triangle-budget.js +1 -0
- package/dist-browser/@spawnite/schema/exports/most-rejoin-hold-seconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/most-room-players.js +1 -0
- package/dist-browser/@spawnite/schema/exports/name-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/new-game-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/package-room-hint.js +1 -0
- package/dist-browser/@spawnite/schema/exports/package-room.js +1 -0
- package/dist-browser/@spawnite/schema/exports/page-message-versions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/page-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/page-settings-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/parse-link-conditions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/particle-effect-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/particle-sprite-max-side.js +1 -0
- package/dist-browser/@spawnite/schema/exports/place-loot-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/place-props-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/play-domain.js +1 -0
- package/dist-browser/@spawnite/schema/exports/profile-game-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/project-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/publish-assets-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/publish-version-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/query-map-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-ai-tree-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-chat-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-clip-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-clip-start-time.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-game-id.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-game-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-package-room.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-paint-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-particle-effect.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-room-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-run-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-save-mark.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-save-record.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-terrain-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-track-level.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/ready-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/record-clip-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-item-schema-url.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-item.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-schema-url.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/resolve-room-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/reverse-wiki-relation.js +1 -0
- package/dist-browser/@spawnite/schema/exports/room-send-rates.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-codec-mark.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-failed-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-fingerprint-format.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-limit-warning-share.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-load-failed-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-now-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-record-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-health-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-level-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-stack-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-stat-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-vector-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/scatter-kinds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/scene-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/screenshot-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/search-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/seat-credential.js +1 -0
- package/dist-browser/@spawnite/schema/exports/seat-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/send-input-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/servers-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/set-nickname-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/set-trait-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/set-visibility-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/settings-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shot-angle-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shot-camera-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shot-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shots-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shots-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/simulate-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/slug-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/slugify-game-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/snapshot-save-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/space-point-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/spawnite-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/start-playtest-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/start-save-key.js +1 -0
- package/dist-browser/@spawnite/schema/exports/steps-per-second.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-age-bands.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-page-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-page.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-picture-rules.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-picture.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-info.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-token-header.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tagged-save-value-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-brush.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-fill.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-map.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-restore.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-settlings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-stroke-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-stroke.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-tools.js +1 -0
- package/dist-browser/@spawnite/schema/exports/timeline-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/to-display-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/to-wiki-anchor.js +1 -0
- package/dist-browser/@spawnite/schema/exports/track-level-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/untouched.js +1 -0
- package/dist-browser/@spawnite/schema/exports/upload-store-page-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/upload-version-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/versions-of-save-manifest-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/versions-of.js +1 -0
- package/dist-browser/@spawnite/schema/exports/view-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/voice-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/whoami-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-overview-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-page-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-page-ref.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-path-part.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-site.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-link-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-paint-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-save-record.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-terrain-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-wiki-page-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/z.js +1 -0
- package/dist-browser/@spawnite/schema.js +1 -0
- package/dist-browser/@spawnite/ui/motion.js +1 -0
- package/dist-browser/@spawnite/ui.js +1 -0
- package/dist-browser/THIRD-PARTY-NOTICES +2949 -0
- package/dist-browser/assets/basis_transcoder-VXdx5NbI.wasm +0 -0
- package/dist-browser/assets/basis_transcoder-o4Hde_L7.js +19 -0
- package/dist-browser/assets/draco_decoder-C32yEggz.wasm +0 -0
- package/dist-browser/assets/draco_decoder-Z1_iN-Ht.wasm +0 -0
- package/dist-browser/assets/draco_decoder-fzg4nYZr.js +34 -0
- package/dist-browser/assets/draco_wasm_wrapper-DxJM36Ib.js +117 -0
- package/dist-browser/assets/draco_wasm_wrapper-fZCQGLGb.js +116 -0
- package/dist-browser/assets/rapier_wasm3d_bg-CcJdV3OS.wasm +0 -0
- package/dist-browser/chunks/-8xKUVc-.js +1 -0
- package/dist-browser/chunks/0Bppyo06.js +1 -0
- package/dist-browser/chunks/0XBYBf4e.js +1 -0
- package/dist-browser/chunks/1Pk4GW-o.js +1 -0
- package/dist-browser/chunks/1TfeBVY_.js +1 -0
- package/dist-browser/chunks/2GzBwp8F.js +1 -0
- package/dist-browser/chunks/37dBpPRN.js +1 -0
- package/dist-browser/chunks/3GDQ_l39.js +1 -0
- package/dist-browser/chunks/4r3wlCT-.js +56 -0
- package/dist-browser/chunks/51muForc.js +2 -0
- package/dist-browser/chunks/5l3Kj8OA.js +25 -0
- package/dist-browser/chunks/5v0sm-la.js +1 -0
- package/dist-browser/chunks/6RSie8Zr.js +1 -0
- package/dist-browser/chunks/6VxScSBj.js +1 -0
- package/dist-browser/chunks/6r1L_s87.js +1 -0
- package/dist-browser/chunks/703AF8IC.js +2 -0
- package/dist-browser/chunks/7kk1UrXM.js +54 -0
- package/dist-browser/chunks/7v-xFmSc.js +1 -0
- package/dist-browser/chunks/8CwB1oG9.js +1 -0
- package/dist-browser/chunks/8GjxAP3h.js +1 -0
- package/dist-browser/chunks/8Pep1QKH.js +1 -0
- package/dist-browser/chunks/8eSx71cM.js +1 -0
- package/dist-browser/chunks/8qLBuj0B.js +1 -0
- package/dist-browser/chunks/8uMFNz4F.js +48 -0
- package/dist-browser/chunks/9BUmmiDi.js +64 -0
- package/dist-browser/chunks/AEQH3xKs.js +1 -0
- package/dist-browser/chunks/B04SdTxo.js +1 -0
- package/dist-browser/chunks/B0d1OhsT.js +1 -0
- package/dist-browser/chunks/B0d94ulh.js +1 -0
- package/dist-browser/chunks/B0dIJJnS.js +104 -0
- package/dist-browser/chunks/B0sEcOA4.js +1 -0
- package/dist-browser/chunks/B17MsfBW.js +2 -0
- package/dist-browser/chunks/B1Q2EYQa.js +409 -0
- package/dist-browser/chunks/B1VGbFnq.js +1 -0
- package/dist-browser/chunks/B1ZLDwkb.js +1 -0
- package/dist-browser/chunks/B1gZ4XNT.js +1 -0
- package/dist-browser/chunks/B2P8OKx4.js +114 -0
- package/dist-browser/chunks/B2lwHY_A.js +1 -0
- package/dist-browser/chunks/B2rfjAu3.js +1 -0
- package/dist-browser/chunks/B3cpZ7qW.js +1 -0
- package/dist-browser/chunks/B3zyuqQe.js +1 -0
- package/dist-browser/chunks/B4HH7vxm.js +1 -0
- package/dist-browser/chunks/B4L72GuI.js +1 -0
- package/dist-browser/chunks/B4PXM93E.js +1 -0
- package/dist-browser/chunks/B4dyXOK4.js +2 -0
- package/dist-browser/chunks/B4f83JmW.js +1 -0
- package/dist-browser/chunks/B4rtOA11.js +1 -0
- package/dist-browser/chunks/B53Q2-Fw.js +42 -0
- package/dist-browser/chunks/B5YG9Ima.js +35 -0
- package/dist-browser/chunks/B5npwEiE.js +1 -0
- package/dist-browser/chunks/B6TyyPfn.js +2280 -0
- package/dist-browser/chunks/B6YPgX9B.js +1 -0
- package/dist-browser/chunks/B7K2KMcP.js +289 -0
- package/dist-browser/chunks/B8GCRzu-.js +1 -0
- package/dist-browser/chunks/B8f3enUO.js +42 -0
- package/dist-browser/chunks/B9dPPcmc.js +239 -0
- package/dist-browser/chunks/B9n7U8x8.js +24 -0
- package/dist-browser/chunks/BAcEoh4A.js +1 -0
- package/dist-browser/chunks/BBTy17gV.js +23 -0
- package/dist-browser/chunks/BBoWq_28.js +1 -0
- package/dist-browser/chunks/BCEkROxA.js +1 -0
- package/dist-browser/chunks/BCSDojKA.js +2 -0
- package/dist-browser/chunks/BCnGjanZ.js +1 -0
- package/dist-browser/chunks/BCy2Imwl.js +1 -0
- package/dist-browser/chunks/BD93nK4k.js +1 -0
- package/dist-browser/chunks/BDYWv4Pt.js +1 -0
- package/dist-browser/chunks/BDntRBeD.js +1 -0
- package/dist-browser/chunks/BE0sHH_C.js +1 -0
- package/dist-browser/chunks/BE7yKwOS.js +1 -0
- package/dist-browser/chunks/BFDqfrDx.js +61 -0
- package/dist-browser/chunks/BFnCgym5.js +1 -0
- package/dist-browser/chunks/BFpenkAR.js +1 -0
- package/dist-browser/chunks/BFvqTjM2.js +1 -0
- package/dist-browser/chunks/BG8QaCAl.js +1 -0
- package/dist-browser/chunks/BGsrJU1n.js +219 -0
- package/dist-browser/chunks/BGze3w87.js +1 -0
- package/dist-browser/chunks/BHYG5big.js +1 -0
- package/dist-browser/chunks/BHZuFsZC.js +26 -0
- package/dist-browser/chunks/BHePouWp.js +1 -0
- package/dist-browser/chunks/BIGc2B5x.js +106 -0
- package/dist-browser/chunks/BIgbJOA7.js +1 -0
- package/dist-browser/chunks/BIlEJ_uM.js +1 -0
- package/dist-browser/chunks/BIrJsLCp.js +1 -0
- package/dist-browser/chunks/BJCTIWwI.js +97 -0
- package/dist-browser/chunks/BJWwGEft.js +22 -0
- package/dist-browser/chunks/BJbnvkQD.js +33 -0
- package/dist-browser/chunks/BJj_P5qy.js +40 -0
- package/dist-browser/chunks/BKMmwIjP.js +1 -0
- package/dist-browser/chunks/BL2b-bga.js +1 -0
- package/dist-browser/chunks/BL3GFPpX.js +1 -0
- package/dist-browser/chunks/BL3JqalM.js +1 -0
- package/dist-browser/chunks/BLQoPgRQ.js +17 -0
- package/dist-browser/chunks/BLdTHuK5.js +38 -0
- package/dist-browser/chunks/BLxVM0Bx.js +1 -0
- package/dist-browser/chunks/BMOXLfbG.js +1 -0
- package/dist-browser/chunks/BMyF16Pb.js +1 -0
- package/dist-browser/chunks/BN0JituG.js +1 -0
- package/dist-browser/chunks/BNiTh9Zb.js +1 -0
- package/dist-browser/chunks/BNm7BDEl.js +1 -0
- package/dist-browser/chunks/BNucCtAC.js +1 -0
- package/dist-browser/chunks/BOAa4bZ5.js +80 -0
- package/dist-browser/chunks/BOIXSUZ_.js +1 -0
- package/dist-browser/chunks/BOY2osHs.js +1 -0
- package/dist-browser/chunks/BP9HooTj.js +1 -0
- package/dist-browser/chunks/BPsQn259.js +1 -0
- package/dist-browser/chunks/BPyPftW0.js +1 -0
- package/dist-browser/chunks/BQl3ddsW.js +1 -0
- package/dist-browser/chunks/BSaFdJJr.js +1 -0
- package/dist-browser/chunks/BSb5Y-Am.js +1 -0
- package/dist-browser/chunks/BSoHyLeW.js +1 -0
- package/dist-browser/chunks/BUJHJVUo.js +1 -0
- package/dist-browser/chunks/BV45MfzJ.js +206 -0
- package/dist-browser/chunks/BWLobtMG.js +1 -0
- package/dist-browser/chunks/BWX2omqC.js +1 -0
- package/dist-browser/chunks/BX-IJ6Jw.js +1 -0
- package/dist-browser/chunks/BZ67u85L.js +1 -0
- package/dist-browser/chunks/BZL3DkMo.js +1 -0
- package/dist-browser/chunks/BZkTFuN8.js +32 -0
- package/dist-browser/chunks/B_olo1g0.js +1 -0
- package/dist-browser/chunks/B_xcv6lP.js +1 -0
- package/dist-browser/chunks/BadDFgpu.js +3 -0
- package/dist-browser/chunks/BbIllpJG.js +1 -0
- package/dist-browser/chunks/Bc7uTOHd.js +1 -0
- package/dist-browser/chunks/BcH7_nnK.js +1 -0
- package/dist-browser/chunks/Bdd_iq-Z.js +1 -0
- package/dist-browser/chunks/BdkaRoRG.js +3 -0
- package/dist-browser/chunks/BeUM0nnI.js +1 -0
- package/dist-browser/chunks/BfkxY7do.js +13 -0
- package/dist-browser/chunks/BfzfmpKY.js +1 -0
- package/dist-browser/chunks/BgNGXLZH.js +1 -0
- package/dist-browser/chunks/Bgmtnmc9.js +1 -0
- package/dist-browser/chunks/BgtS-68o.js +1 -0
- package/dist-browser/chunks/BhE7ED0P.js +1 -0
- package/dist-browser/chunks/BhG-aLlJ.js +17 -0
- package/dist-browser/chunks/BhtgOF9y.js +1 -0
- package/dist-browser/chunks/BhvPhm_f.js +12 -0
- package/dist-browser/chunks/Bhvb25xz.js +1 -0
- package/dist-browser/chunks/Bi2imP0-.js +1 -0
- package/dist-browser/chunks/Bi4f74NJ.js +1 -0
- package/dist-browser/chunks/BiCMFIxo.js +1 -0
- package/dist-browser/chunks/BiSn0Dtc.js +1 -0
- package/dist-browser/chunks/BiU0PYSX.js +1 -0
- package/dist-browser/chunks/BipZQXT8.js +1 -0
- package/dist-browser/chunks/BiqCT0be.js +1 -0
- package/dist-browser/chunks/BjVVweLJ.js +1 -0
- package/dist-browser/chunks/BjeL5CV8.js +1 -0
- package/dist-browser/chunks/BjikXbkr.js +1 -0
- package/dist-browser/chunks/BkNRpWJF.js +1 -0
- package/dist-browser/chunks/BkWdvCr2.js +1 -0
- package/dist-browser/chunks/BkfYP8sS.js +1 -0
- package/dist-browser/chunks/BkoAp3nt.js +17 -0
- package/dist-browser/chunks/BkuNzUds.js +5 -0
- package/dist-browser/chunks/BlDBqfnQ.js +1 -0
- package/dist-browser/chunks/Blob4piG.js +1 -0
- package/dist-browser/chunks/Bm-NgCJv.js +290 -0
- package/dist-browser/chunks/BmwnZMHR.js +1 -0
- package/dist-browser/chunks/Bn-oguIM.js +1 -0
- package/dist-browser/chunks/Bn8JxKQd.js +947 -0
- package/dist-browser/chunks/Bn8l74kN.js +1 -0
- package/dist-browser/chunks/Bo2vvsC6.js +1 -0
- package/dist-browser/chunks/BoJD7UsQ.js +5 -0
- package/dist-browser/chunks/BoRPdfTd.js +1 -0
- package/dist-browser/chunks/BoTmVVAp.js +1 -0
- package/dist-browser/chunks/BoiOnH_p.js +1 -0
- package/dist-browser/chunks/Bpe2I0GB.js +1 -0
- package/dist-browser/chunks/BqD0o821.js +25 -0
- package/dist-browser/chunks/BqXaJXLb.js +1 -0
- package/dist-browser/chunks/BqsB_Ag5.js +1 -0
- package/dist-browser/chunks/Br-JA8rZ.js +1 -0
- package/dist-browser/chunks/Br2nhNMH.js +1 -0
- package/dist-browser/chunks/BrezGx31.js +3 -0
- package/dist-browser/chunks/BsZMTFvx.js +1 -0
- package/dist-browser/chunks/Bt2nCTua.js +51 -0
- package/dist-browser/chunks/BtM7kQaS.js +1 -0
- package/dist-browser/chunks/BtZNIAhj.js +1 -0
- package/dist-browser/chunks/Btgu8kW9.js +3 -0
- package/dist-browser/chunks/Btjboa9G.js +248 -0
- package/dist-browser/chunks/Btn1Hp7-.js +1 -0
- package/dist-browser/chunks/Bu1cOMsK.js +1 -0
- package/dist-browser/chunks/Bv2bGJo9.js +1 -0
- package/dist-browser/chunks/BvK95JoS.js +1 -0
- package/dist-browser/chunks/BvrPFs0h.js +1 -0
- package/dist-browser/chunks/BvsNGgEj.js +1 -0
- package/dist-browser/chunks/ByyEEkYz.js +1 -0
- package/dist-browser/chunks/BzAJiB5u.js +1 -0
- package/dist-browser/chunks/BzCmY2x1.js +68 -0
- package/dist-browser/chunks/BzKtjbg2.js +1 -0
- package/dist-browser/chunks/BzZ2lwsC.js +134 -0
- package/dist-browser/chunks/BzcZWs3f.js +1 -0
- package/dist-browser/chunks/BzuN4nW7.js +33 -0
- package/dist-browser/chunks/BzwHJPea.js +1 -0
- package/dist-browser/chunks/Bzy44bV2.js +4216 -0
- package/dist-browser/chunks/C-O8NhHK.js +1 -0
- package/dist-browser/chunks/C-_LmeNn.js +934 -0
- package/dist-browser/chunks/C-ztiLpW.js +1 -0
- package/dist-browser/chunks/C0Iji4Qk.js +1 -0
- package/dist-browser/chunks/C12xlM79.js +1 -0
- package/dist-browser/chunks/C1BDCorD.js +99 -0
- package/dist-browser/chunks/C2Dm6eUt.js +1 -0
- package/dist-browser/chunks/C2RePWen.js +1 -0
- package/dist-browser/chunks/C2suuPFw.js +1 -0
- package/dist-browser/chunks/C33aG9gN.js +1 -0
- package/dist-browser/chunks/C3Y15gp1.js +1 -0
- package/dist-browser/chunks/C3gvA1lh.js +1 -0
- package/dist-browser/chunks/C3pLayiC.js +143 -0
- package/dist-browser/chunks/C3wBsE11.js +1 -0
- package/dist-browser/chunks/C4E_bIDB.js +1 -0
- package/dist-browser/chunks/C4OFzvAP.js +1 -0
- package/dist-browser/chunks/C4fzyzUE.js +1 -0
- package/dist-browser/chunks/C5P0RHNI.js +1 -0
- package/dist-browser/chunks/C6XZSTSj.js +39 -0
- package/dist-browser/chunks/C784v2VA.js +1 -0
- package/dist-browser/chunks/C7CUzsYJ.js +1 -0
- package/dist-browser/chunks/C7FykdRJ.js +1 -0
- package/dist-browser/chunks/C7RSxM0z.js +1 -0
- package/dist-browser/chunks/C9J2i9In.js +2 -0
- package/dist-browser/chunks/C9Kd-Lrf.js +1 -0
- package/dist-browser/chunks/C9OKiK4z.js +15 -0
- package/dist-browser/chunks/C9bAX0wX.js +1 -0
- package/dist-browser/chunks/C9duFT9_.js +9 -0
- package/dist-browser/chunks/CA52Vkpa.js +3 -0
- package/dist-browser/chunks/CAB0sdkM.js +8 -0
- package/dist-browser/chunks/CBcRTsvX.js +1 -0
- package/dist-browser/chunks/CC8kNj4O.js +1 -0
- package/dist-browser/chunks/CC_taxfs.js +1 -0
- package/dist-browser/chunks/CCnjeop3.js +1 -0
- package/dist-browser/chunks/CD1Phcj7.js +1 -0
- package/dist-browser/chunks/CDBmfTua.js +1 -0
- package/dist-browser/chunks/CDFKagMr.js +1 -0
- package/dist-browser/chunks/CDZegpP1.js +1 -0
- package/dist-browser/chunks/CD_-ZdOx.js +1 -0
- package/dist-browser/chunks/CDmSfsbx.js +1 -0
- package/dist-browser/chunks/CDy5CkBb.js +1 -0
- package/dist-browser/chunks/CDyybrEA.js +1 -0
- package/dist-browser/chunks/CENY_jwA.js +5 -0
- package/dist-browser/chunks/CEfq3wMj.js +1 -0
- package/dist-browser/chunks/CEtY4HlI.js +1 -0
- package/dist-browser/chunks/CEtbZ-Ou.js +51 -0
- package/dist-browser/chunks/CFVbNh1J.js +1 -0
- package/dist-browser/chunks/CG5A_mHR.js +1 -0
- package/dist-browser/chunks/CGFRQ0IS.js +3 -0
- package/dist-browser/chunks/CGPPrudP.js +1 -0
- package/dist-browser/chunks/CGZdRHCz.js +1 -0
- package/dist-browser/chunks/CG_ggIC3.js +230 -0
- package/dist-browser/chunks/CHD7Siks.js +61 -0
- package/dist-browser/chunks/CHGAmNbz.js +24 -0
- package/dist-browser/chunks/CH_3weAk.js +136 -0
- package/dist-browser/chunks/CHnMaz0U.js +1 -0
- package/dist-browser/chunks/CHx28aAq.js +1 -0
- package/dist-browser/chunks/CIPEdQZg.js +1 -0
- package/dist-browser/chunks/CIU50MA1.js +1 -0
- package/dist-browser/chunks/CIXqygz5.js +42 -0
- package/dist-browser/chunks/CIz-HH07.js +1585 -0
- package/dist-browser/chunks/CJ4zQQhO.js +1 -0
- package/dist-browser/chunks/CJD9mRmQ.js +1 -0
- package/dist-browser/chunks/CJgknJ-O.js +12 -0
- package/dist-browser/chunks/CL1lltpM.js +1 -0
- package/dist-browser/chunks/CLxcu-z_.js +73 -0
- package/dist-browser/chunks/CM3pB59z.js +1 -0
- package/dist-browser/chunks/CM7fr6V2.js +1 -0
- package/dist-browser/chunks/CMCldyjy.js +1 -0
- package/dist-browser/chunks/CMhbdUh_.js +1 -0
- package/dist-browser/chunks/CMj-G0tG.js +1 -0
- package/dist-browser/chunks/CMy5JYMZ.js +1 -0
- package/dist-browser/chunks/CNS048lI.js +1 -0
- package/dist-browser/chunks/CO0SZ1hy.js +1 -0
- package/dist-browser/chunks/COnv2PBF.js +2 -0
- package/dist-browser/chunks/CP27PMpS.js +1 -0
- package/dist-browser/chunks/CQRcPihd.js +6 -0
- package/dist-browser/chunks/CRDIjF8C.js +2 -0
- package/dist-browser/chunks/CRFCYrrv.js +1 -0
- package/dist-browser/chunks/CRL527zA.js +1 -0
- package/dist-browser/chunks/CRuuK4qI.js +1 -0
- package/dist-browser/chunks/CSrliGR5.js +1 -0
- package/dist-browser/chunks/CT24MROG.js +36 -0
- package/dist-browser/chunks/CTKsfpS6.js +1 -0
- package/dist-browser/chunks/CTovL-9G.js +1 -0
- package/dist-browser/chunks/CU2_4WYp.js +1 -0
- package/dist-browser/chunks/CVn3AkL4.js +3 -0
- package/dist-browser/chunks/CW47wlpJ.js +1 -0
- package/dist-browser/chunks/CWtE2FH4.js +6 -0
- package/dist-browser/chunks/CWtqwiJb.js +1 -0
- package/dist-browser/chunks/CX2yvOMR.js +32 -0
- package/dist-browser/chunks/CXYvZiC5.js +1 -0
- package/dist-browser/chunks/CY2_o-A_.js +1 -0
- package/dist-browser/chunks/CYD5IpHG.js +1 -0
- package/dist-browser/chunks/CYFmo-2d.js +1 -0
- package/dist-browser/chunks/CYzJaZmG.js +1 -0
- package/dist-browser/chunks/CZng9q4s.js +1 -0
- package/dist-browser/chunks/C_3LSlp_.js +1 -0
- package/dist-browser/chunks/C_popvm5.js +1 -0
- package/dist-browser/chunks/Ca2qCbBO.js +227 -0
- package/dist-browser/chunks/CaayFmFc.js +68 -0
- package/dist-browser/chunks/CagC9ufD.js +6 -0
- package/dist-browser/chunks/CamHr2sm.js +9 -0
- package/dist-browser/chunks/Caw9wDgF.js +1 -0
- package/dist-browser/chunks/CbRyzWz3.js +1 -0
- package/dist-browser/chunks/CcQz6dxG.js +68 -0
- package/dist-browser/chunks/CcUHIKVc.js +1 -0
- package/dist-browser/chunks/Cd20lYkt.js +23 -0
- package/dist-browser/chunks/Cdj8C4sv.js +1 -0
- package/dist-browser/chunks/CeWzMWwP.js +1 -0
- package/dist-browser/chunks/Ceeo2sCz.js +1 -0
- package/dist-browser/chunks/CerF2aP5.js +1 -0
- package/dist-browser/chunks/Cew-kv76.js +1 -0
- package/dist-browser/chunks/Cf1F89pD.js +1 -0
- package/dist-browser/chunks/Cff8_5zr.js +1 -0
- package/dist-browser/chunks/Cgy6G_V-.js +1 -0
- package/dist-browser/chunks/ChAqhjhd.js +243 -0
- package/dist-browser/chunks/Chg_Q8x6.js +1 -0
- package/dist-browser/chunks/Chx9z6ee.js +3 -0
- package/dist-browser/chunks/Ci0DiZOM.js +1 -0
- package/dist-browser/chunks/CiD_XHlg.js +1 -0
- package/dist-browser/chunks/CjL-uP84.js +1 -0
- package/dist-browser/chunks/CjPBNVRF.js +2 -0
- package/dist-browser/chunks/CjTILWD4.js +3 -0
- package/dist-browser/chunks/CkmGh-87.js +1 -0
- package/dist-browser/chunks/ClZqxSEX.js +1 -0
- package/dist-browser/chunks/CluBrQDl.js +1 -0
- package/dist-browser/chunks/Clzbw8hC.js +104 -0
- package/dist-browser/chunks/CmEJbuVc.js +1 -0
- package/dist-browser/chunks/CmlWyQpr.js +1 -0
- package/dist-browser/chunks/Cnh5-qw-.js +10 -0
- package/dist-browser/chunks/CnwbVRym.js +1 -0
- package/dist-browser/chunks/Co55Z6b-.js +34 -0
- package/dist-browser/chunks/CoqDcyee.js +1 -0
- package/dist-browser/chunks/CorZBnkZ.js +71 -0
- package/dist-browser/chunks/CpKf07f9.js +72 -0
- package/dist-browser/chunks/CqXobSJH.js +82 -0
- package/dist-browser/chunks/CqwcKTEN.js +1 -0
- package/dist-browser/chunks/Cs23D-lk.js +18 -0
- package/dist-browser/chunks/CsT20qOq.js +1 -0
- package/dist-browser/chunks/CsTuUPUb.js +1 -0
- package/dist-browser/chunks/CtCvKs-8.js +1 -0
- package/dist-browser/chunks/CtpF73Mi.js +1 -0
- package/dist-browser/chunks/CuHid4qh.js +1 -0
- package/dist-browser/chunks/CuhwmTWw.js +2 -0
- package/dist-browser/chunks/Cv31r4NA.js +1 -0
- package/dist-browser/chunks/CvVTau-c.js +1 -0
- package/dist-browser/chunks/Cvdyeg_0.js +1 -0
- package/dist-browser/chunks/CvgsNxMb.js +1 -0
- package/dist-browser/chunks/Cvk3fWJd.js +31 -0
- package/dist-browser/chunks/Cvq_OonK.js +1 -0
- package/dist-browser/chunks/Cvzg7xRz.js +1039 -0
- package/dist-browser/chunks/CwPUhsCN.js +111 -0
- package/dist-browser/chunks/CwTYnDSQ.js +1 -0
- package/dist-browser/chunks/CwVb7sDh.js +1 -0
- package/dist-browser/chunks/CwkwVzf9.js +1 -0
- package/dist-browser/chunks/Cwsm87qt.js +1 -0
- package/dist-browser/chunks/CwtYJaZ0.js +1 -0
- package/dist-browser/chunks/CxBgnQIE.js +1 -0
- package/dist-browser/chunks/CxRCGV_D.js +1 -0
- package/dist-browser/chunks/CxW3h7EP.js +1 -0
- package/dist-browser/chunks/CxdFFqFC.js +1 -0
- package/dist-browser/chunks/Cxl6U4QM.js +1 -0
- package/dist-browser/chunks/CxqqJceE.js +262 -0
- package/dist-browser/chunks/CyUjhzls.js +1 -0
- package/dist-browser/chunks/CzHZycAX.js +1 -0
- package/dist-browser/chunks/CzVBHx3T.js +1 -0
- package/dist-browser/chunks/D-J5r5vm.js +502 -0
- package/dist-browser/chunks/D-ZRVGDk.js +1 -0
- package/dist-browser/chunks/D10MTZ8f.js +1 -0
- package/dist-browser/chunks/D1dFmEHc.js +82 -0
- package/dist-browser/chunks/D2SJBO5U.js +1 -0
- package/dist-browser/chunks/D2bDAUlP.js +1 -0
- package/dist-browser/chunks/D2qpNyTi.js +1 -0
- package/dist-browser/chunks/D3Fr6yvq.js +1 -0
- package/dist-browser/chunks/D3_eaTYS.js +1 -0
- package/dist-browser/chunks/D3lBoMMr.js +29 -0
- package/dist-browser/chunks/D5CFWMVX.js +1 -0
- package/dist-browser/chunks/D5Cj4ub7.js +1 -0
- package/dist-browser/chunks/D5EJDMZ-.js +2 -0
- package/dist-browser/chunks/D6E_gImS.js +1 -0
- package/dist-browser/chunks/D6XXX9Ue.js +1 -0
- package/dist-browser/chunks/D6fd1dZA.js +1 -0
- package/dist-browser/chunks/D852BHwA.js +40 -0
- package/dist-browser/chunks/D8inQ_yL.js +1 -0
- package/dist-browser/chunks/D9XZ_4Ga.js +145 -0
- package/dist-browser/chunks/D9dlo-Ln.js +1 -0
- package/dist-browser/chunks/DAB0WqX0.js +1 -0
- package/dist-browser/chunks/DAH2JXIW.js +1 -0
- package/dist-browser/chunks/DAPFhXVb.js +22 -0
- package/dist-browser/chunks/DAxE8pMD.js +45 -0
- package/dist-browser/chunks/DBj6QGQs.js +1 -0
- package/dist-browser/chunks/DC3L5U86.js +1 -0
- package/dist-browser/chunks/DC9vc-0L.js +1 -0
- package/dist-browser/chunks/DCJlJ3lv.js +1 -0
- package/dist-browser/chunks/DCaQLeIq.js +1 -0
- package/dist-browser/chunks/DCc-gTDg.js +1 -0
- package/dist-browser/chunks/DD2V7Wxl.js +1 -0
- package/dist-browser/chunks/DD6onItE.js +1 -0
- package/dist-browser/chunks/DDLmvpjg.js +1 -0
- package/dist-browser/chunks/DDRCiC_a.js +1 -0
- package/dist-browser/chunks/DEW70SgN.js +1 -0
- package/dist-browser/chunks/DEucxoKb.js +1 -0
- package/dist-browser/chunks/DF6Qh6eu.js +1 -0
- package/dist-browser/chunks/DFtj_qQf.js +63 -0
- package/dist-browser/chunks/DG4h2xXm.js +45 -0
- package/dist-browser/chunks/DGYxR7PN.js +26 -0
- package/dist-browser/chunks/DGlba0EV.js +1 -0
- package/dist-browser/chunks/DHOehIg0.js +30 -0
- package/dist-browser/chunks/DHiTLWtz.js +1 -0
- package/dist-browser/chunks/DIHxCXEJ.js +1 -0
- package/dist-browser/chunks/DII2y8tL.js +546 -0
- package/dist-browser/chunks/DIcTMzLD.js +31 -0
- package/dist-browser/chunks/DImXrYb5.js +1 -0
- package/dist-browser/chunks/DIvOsQJS.js +393 -0
- package/dist-browser/chunks/DJCfJlBy.js +1 -0
- package/dist-browser/chunks/DKnN7RH0.js +1 -0
- package/dist-browser/chunks/DKrOx_1M.js +1 -0
- package/dist-browser/chunks/DMcWzziy.js +1 -0
- package/dist-browser/chunks/DMk6G0lv.js +1 -0
- package/dist-browser/chunks/DMyNEYzI.js +1 -0
- package/dist-browser/chunks/DN0xP1fa.js +1 -0
- package/dist-browser/chunks/DNef-bWt.js +1 -0
- package/dist-browser/chunks/DNhTxxCh.js +1 -0
- package/dist-browser/chunks/DNoIqPE7.js +1 -0
- package/dist-browser/chunks/DNsR67l1.js +3 -0
- package/dist-browser/chunks/DOEmZHjx.js +1 -0
- package/dist-browser/chunks/DOFYt5cj.js +1 -0
- package/dist-browser/chunks/DOWMFTFl.js +38 -0
- package/dist-browser/chunks/DOYycP3M.js +1 -0
- package/dist-browser/chunks/DOidSPk5.js +1 -0
- package/dist-browser/chunks/DOvE9vCY.js +97 -0
- package/dist-browser/chunks/DOyIRes1.js +1 -0
- package/dist-browser/chunks/DPIksCnG.js +41 -0
- package/dist-browser/chunks/DPNgRv8u.js +1 -0
- package/dist-browser/chunks/DPXctdFS.js +27 -0
- package/dist-browser/chunks/DPnn0uIO.js +1 -0
- package/dist-browser/chunks/DQ0A9BJI.js +1 -0
- package/dist-browser/chunks/DQbqNpgw.js +1 -0
- package/dist-browser/chunks/DQea7zxR.js +1 -0
- package/dist-browser/chunks/DSMSQCrr.js +36 -0
- package/dist-browser/chunks/DSp9shD_.js +1 -0
- package/dist-browser/chunks/DT0rWxA4.js +1176 -0
- package/dist-browser/chunks/DTtjHrtM.js +1 -0
- package/dist-browser/chunks/DV53iZve.js +64 -0
- package/dist-browser/chunks/DVAMQgZs.js +1 -0
- package/dist-browser/chunks/DVcRBsZ0.js +69 -0
- package/dist-browser/chunks/DVrViq4W.js +1 -0
- package/dist-browser/chunks/DWe0PJKb.js +1 -0
- package/dist-browser/chunks/DWgUahRJ.js +1 -0
- package/dist-browser/chunks/DXJRs_pC.js +1 -0
- package/dist-browser/chunks/DXq97sWO.js +1 -0
- package/dist-browser/chunks/DXzwsPHQ.js +8 -0
- package/dist-browser/chunks/DYoIHzIt.js +2 -0
- package/dist-browser/chunks/DZJGj1NY.js +1 -0
- package/dist-browser/chunks/DZYUBtK-.js +10 -0
- package/dist-browser/chunks/DZmRZ_iP.js +1 -0
- package/dist-browser/chunks/D_MQ9Xc9.js +1 -0
- package/dist-browser/chunks/D_V_oqfi.js +1 -0
- package/dist-browser/chunks/D_fJrOcA.js +1 -0
- package/dist-browser/chunks/DaE8j1Mj.js +1 -0
- package/dist-browser/chunks/DaNJDW05.js +120 -0
- package/dist-browser/chunks/DaqOKjgV.js +2 -0
- package/dist-browser/chunks/DbM1VGG0.js +1 -0
- package/dist-browser/chunks/DbVolxbX.js +1 -0
- package/dist-browser/chunks/Dd3Azzh1.js +102 -0
- package/dist-browser/chunks/Dd_HZKyk.js +1 -0
- package/dist-browser/chunks/DePrIwoT.js +1 -0
- package/dist-browser/chunks/Df-3V4RI.js +1 -0
- package/dist-browser/chunks/DfPCBWZC.js +35 -0
- package/dist-browser/chunks/DfTjtDZE.js +1 -0
- package/dist-browser/chunks/Dfdpy3ar.js +1 -0
- package/dist-browser/chunks/DhQi6uM8.js +1 -0
- package/dist-browser/chunks/Dhq0zrZC.js +131 -0
- package/dist-browser/chunks/DhrQ_H4H.js +1 -0
- package/dist-browser/chunks/Di27GzYt.js +1 -0
- package/dist-browser/chunks/Di8-zyqt.js +1 -0
- package/dist-browser/chunks/DifZdnzu.js +1 -0
- package/dist-browser/chunks/DikvOXI-.js +1 -0
- package/dist-browser/chunks/Dj3lr7h3.js +33 -0
- package/dist-browser/chunks/Dj8ovMlo.js +1 -0
- package/dist-browser/chunks/DjcMDPrm.js +67 -0
- package/dist-browser/chunks/DkVVho_1.js +1 -0
- package/dist-browser/chunks/Dkh1AfX5.js +1 -0
- package/dist-browser/chunks/DkwGHqUD.js +1 -0
- package/dist-browser/chunks/Dl96d5U7.js +1 -0
- package/dist-browser/chunks/DlW29B4u.js +3 -0
- package/dist-browser/chunks/DmSNe3jl.js +387 -0
- package/dist-browser/chunks/DmxSxKXn.js +1 -0
- package/dist-browser/chunks/DnFdLC2j.js +1 -0
- package/dist-browser/chunks/DnUyDgmE.js +1 -0
- package/dist-browser/chunks/DnvK0nWc.js +1 -0
- package/dist-browser/chunks/DoEd4p-l.js +1 -0
- package/dist-browser/chunks/DoX7pGYd.js +140 -0
- package/dist-browser/chunks/Dp6fzsZG.js +1 -0
- package/dist-browser/chunks/DpM23pTz.js +33 -0
- package/dist-browser/chunks/DpZZtTTL.js +2 -0
- package/dist-browser/chunks/DqAbaJTn.js +1 -0
- package/dist-browser/chunks/DqMSA0q-.js +1 -0
- package/dist-browser/chunks/DqNrCZSo.js +1 -0
- package/dist-browser/chunks/DqP3aSvp.js +43 -0
- package/dist-browser/chunks/Dqi6K18W.js +1 -0
- package/dist-browser/chunks/DqqKpYoS.js +2 -0
- package/dist-browser/chunks/Dqqmos-r.js +1 -0
- package/dist-browser/chunks/Dr26QZ_C.js +1 -0
- package/dist-browser/chunks/DrRp_OBG.js +1 -0
- package/dist-browser/chunks/Ds0gQyON.js +1 -0
- package/dist-browser/chunks/DsNI9SjT.js +1 -0
- package/dist-browser/chunks/DskxWO57.js +1 -0
- package/dist-browser/chunks/DspI2fym.js +33 -0
- package/dist-browser/chunks/DtbRpC-a.js +2 -0
- package/dist-browser/chunks/Dtc9u0hV.js +1 -0
- package/dist-browser/chunks/DtdxxwYW.js +1 -0
- package/dist-browser/chunks/Du2r_IDC.js +1 -0
- package/dist-browser/chunks/DuiL5B5s.js +1 -0
- package/dist-browser/chunks/DvMRww-v.js +1 -0
- package/dist-browser/chunks/Dvzw_jou.js +1 -0
- package/dist-browser/chunks/DwsXVYGF.js +1 -0
- package/dist-browser/chunks/DxVZve2V.js +89 -0
- package/dist-browser/chunks/Dy4Ev-pT.js +1 -0
- package/dist-browser/chunks/DyGuOmo0.js +1 -0
- package/dist-browser/chunks/DyXA-iwx.js +1 -0
- package/dist-browser/chunks/Dypqlsev.js +1 -0
- package/dist-browser/chunks/Dyqt3CuN.js +1 -0
- package/dist-browser/chunks/DyxvzuFy.js +284 -0
- package/dist-browser/chunks/DzMSiy_7.js +1 -0
- package/dist-browser/chunks/DzaY1F1G.js +1 -0
- package/dist-browser/chunks/EtRHumNJ.js +1 -0
- package/dist-browser/chunks/FASUCRk-.js +3 -0
- package/dist-browser/chunks/FeUl7sn8.js +1 -0
- package/dist-browser/chunks/FjuaFAN8.js +25 -0
- package/dist-browser/chunks/FsV9kMlK.js +1 -0
- package/dist-browser/chunks/GB4zXBMC.js +1 -0
- package/dist-browser/chunks/Guirowam.js +8 -0
- package/dist-browser/chunks/HJHNBZzR.js +1 -0
- package/dist-browser/chunks/HOXwa5Zi.js +1 -0
- package/dist-browser/chunks/HhGGA2q1.js +1 -0
- package/dist-browser/chunks/HjLsj9Wb.js +1 -0
- package/dist-browser/chunks/ILniMPMQ.js +1 -0
- package/dist-browser/chunks/IPgW5q-o.js +1 -0
- package/dist-browser/chunks/IRJFdyYz.js +1 -0
- package/dist-browser/chunks/J1EyHJSp.js +1 -0
- package/dist-browser/chunks/JtVcQQeX.js +5 -0
- package/dist-browser/chunks/KYZpoAyE.js +1 -0
- package/dist-browser/chunks/KjHCb3-W.js +2 -0
- package/dist-browser/chunks/Kp8JypHd.js +441 -0
- package/dist-browser/chunks/Ku6I7UKh.js +1 -0
- package/dist-browser/chunks/KzprlngN.js +1 -0
- package/dist-browser/chunks/L5CwTQJI.js +4 -0
- package/dist-browser/chunks/L9tCceA2.js +150 -0
- package/dist-browser/chunks/L_tB79W_.js +1 -0
- package/dist-browser/chunks/MDiJyUbk.js +1 -0
- package/dist-browser/chunks/MaXgxQlM.js +1 -0
- package/dist-browser/chunks/N5x7ZUws.js +1 -0
- package/dist-browser/chunks/NZYk81nU.js +1 -0
- package/dist-browser/chunks/Np7O_rbA.js +1 -0
- package/dist-browser/chunks/Oo8Rc01u.js +1 -0
- package/dist-browser/chunks/OtECxeEN.js +9 -0
- package/dist-browser/chunks/OtOkABqS.js +158 -0
- package/dist-browser/chunks/Oyc0qEPK.js +1 -0
- package/dist-browser/chunks/PDPf8POY.js +1 -0
- package/dist-browser/chunks/QRJE7tia.js +1 -0
- package/dist-browser/chunks/Q_sagimg.js +1 -0
- package/dist-browser/chunks/QgFqrot_.js +1 -0
- package/dist-browser/chunks/QpPH2K9r.js +1 -0
- package/dist-browser/chunks/R8vFmq4f.js +1 -0
- package/dist-browser/chunks/RxUw8kPH.js +1 -0
- package/dist-browser/chunks/SO6iJj34.js +1 -0
- package/dist-browser/chunks/SWr9_u-k.js +13 -0
- package/dist-browser/chunks/TQJJL2UK.js +27 -0
- package/dist-browser/chunks/UE6Xi3ol.js +1 -0
- package/dist-browser/chunks/VGXLiJ0S.js +1 -0
- package/dist-browser/chunks/VMH7wDAk.js +1 -0
- package/dist-browser/chunks/VwXcqbG4.js +23 -0
- package/dist-browser/chunks/Wmd1pmNu.js +1 -0
- package/dist-browser/chunks/XTdr3vkK.js +1 -0
- package/dist-browser/chunks/XaLSS-X1.js +23 -0
- package/dist-browser/chunks/XhPbWY7N.js +1 -0
- package/dist-browser/chunks/Y4nknrnT.js +1 -0
- package/dist-browser/chunks/Y9xF8jFn.js +23 -0
- package/dist-browser/chunks/_-SUJuni.js +1 -0
- package/dist-browser/chunks/_M7-qabf.js +101 -0
- package/dist-browser/chunks/_qsNVwXW.js +1 -0
- package/dist-browser/chunks/_vvwCLWQ.js +1 -0
- package/dist-browser/chunks/b6V8XMYY.js +1 -0
- package/dist-browser/chunks/bA3FB4mi.js +3 -0
- package/dist-browser/chunks/bAf7cF9y.js +1 -0
- package/dist-browser/chunks/bhrkTdEx.js +538 -0
- package/dist-browser/chunks/dFGbvMHe.js +1 -0
- package/dist-browser/chunks/dOIX3hJ7.js +1 -0
- package/dist-browser/chunks/eUYPiZ2p.js +1 -0
- package/dist-browser/chunks/eUiHGfWU.js +1 -0
- package/dist-browser/chunks/f6_vnw-E.js +1 -0
- package/dist-browser/chunks/fE2ZfJiX.js +1 -0
- package/dist-browser/chunks/gZQtAM7h.js +2 -0
- package/dist-browser/chunks/h8XD1xl-.js +1 -0
- package/dist-browser/chunks/hEdm-zUW.js +1 -0
- package/dist-browser/chunks/hWCYme74.js +1 -0
- package/dist-browser/chunks/hfB064S0.js +1 -0
- package/dist-browser/chunks/hlEBxUea.js +1 -0
- package/dist-browser/chunks/j5sGo2Pt.js +1 -0
- package/dist-browser/chunks/kG0ku-oF.js +1 -0
- package/dist-browser/chunks/kLNROLfT.js +1 -0
- package/dist-browser/chunks/kggDnku6.js +1 -0
- package/dist-browser/chunks/klRtNUrN.js +1 -0
- package/dist-browser/chunks/lOD1Gn8c.js +1 -0
- package/dist-browser/chunks/lrh33Ko2.js +1 -0
- package/dist-browser/chunks/mB6FoGFb.js +1 -0
- package/dist-browser/chunks/msmucz6Z.js +1 -0
- package/dist-browser/chunks/nEtJtbDE.js +1 -0
- package/dist-browser/chunks/nvwS1LmH.js +1 -0
- package/dist-browser/chunks/oqmnhzmi.js +2 -0
- package/dist-browser/chunks/pICTBHHN.js +1 -0
- package/dist-browser/chunks/pU4H1b3r.js +43 -0
- package/dist-browser/chunks/qBpAlJSP.js +1 -0
- package/dist-browser/chunks/qCjqID6v.js +1 -0
- package/dist-browser/chunks/r-cfH8A5.js +1 -0
- package/dist-browser/chunks/rgDalb_G.js +1 -0
- package/dist-browser/chunks/rolldown-runtime-hePW80VL.js +1 -0
- package/dist-browser/chunks/sdmDudQj.js +1 -0
- package/dist-browser/chunks/shRf5cdU.js +1 -0
- package/dist-browser/chunks/tvcsfh86.js +1 -0
- package/dist-browser/chunks/tz7IArSg.js +1 -0
- package/dist-browser/chunks/u--BrnjZ.js +1 -0
- package/dist-browser/chunks/uBIymjUX.js +1 -0
- package/dist-browser/chunks/uHO_HSNA.js +1 -0
- package/dist-browser/chunks/uZz_bF7-.js +1 -0
- package/dist-browser/chunks/uc0Y9KUA.js +1 -0
- package/dist-browser/chunks/ud6upqGO.js +2 -0
- package/dist-browser/chunks/udTuD3NU.js +1 -0
- package/dist-browser/chunks/ul0Kb67V.js +38 -0
- package/dist-browser/chunks/uq1wJ3hU.js +322 -0
- package/dist-browser/chunks/vA_owFWw.js +1 -0
- package/dist-browser/chunks/vgYSnL0k.js +1 -0
- package/dist-browser/chunks/vjQO9b4G.js +1 -0
- package/dist-browser/chunks/vm1kntVK.js +18 -0
- package/dist-browser/chunks/vnMr9U1p.js +1 -0
- package/dist-browser/chunks/vyik5ymL.js +1 -0
- package/dist-browser/chunks/w2RB3fs9.js +1 -0
- package/dist-browser/chunks/wmdxOiEL.js +1 -0
- package/dist-browser/chunks/xtpWQ17d.js +27 -0
- package/dist-browser/chunks/yRMgu4ay.js +3 -0
- package/dist-browser/chunks/yYrq3lUc.js +42 -0
- package/dist-browser/chunks/yieoIIce.js +1 -0
- package/dist-browser/chunks/yzr1keSX.js +38 -0
- package/dist-browser/chunks/z94mqM9o.js +1 -0
- package/dist-browser/chunks/zSWKwMId.js +1 -0
- package/dist-browser/importmap.json +1761 -0
- package/dist-browser/koota/react.js +1 -0
- package/dist-browser/koota.js +1 -0
- package/dist-browser/postprocessing.js +1 -0
- package/dist-browser/react/jsx-runtime.js +1 -0
- package/dist-browser/react-dom/client.js +1 -0
- package/dist-browser/react-dom.js +1 -0
- package/dist-browser/react.js +1 -0
- package/dist-browser/release.json +11655 -0
- package/dist-browser/three/addons/Addons.js +1 -0
- package/dist-browser/three/addons/animation/AnimationClipCreator.js +1 -0
- package/dist-browser/three/addons/animation/CCDIKSolver.js +1 -0
- package/dist-browser/three/addons/capabilities/WebGL.js +1 -0
- package/dist-browser/three/addons/capabilities/WebGPU.js +1 -0
- package/dist-browser/three/addons/controls/ArcballControls.js +1 -0
- package/dist-browser/three/addons/controls/DragControls.js +1 -0
- package/dist-browser/three/addons/controls/FirstPersonControls.js +1 -0
- package/dist-browser/three/addons/controls/FlyControls.js +1 -0
- package/dist-browser/three/addons/controls/MapControls.js +1 -0
- package/dist-browser/three/addons/controls/OrbitControls.js +1 -0
- package/dist-browser/three/addons/controls/PointerLockControls.js +1 -0
- package/dist-browser/three/addons/controls/TrackballControls.js +1 -0
- package/dist-browser/three/addons/controls/TransformControls.js +1 -0
- package/dist-browser/three/addons/csm/CSM.js +1 -0
- package/dist-browser/three/addons/csm/CSMFrustum.js +1 -0
- package/dist-browser/three/addons/csm/CSMHelper.js +1 -0
- package/dist-browser/three/addons/csm/CSMShader.js +1 -0
- package/dist-browser/three/addons/csm/CSMShadowNode.js +1 -0
- package/dist-browser/three/addons/curves/CurveExtras.js +1 -0
- package/dist-browser/three/addons/curves/NURBSCurve.js +1 -0
- package/dist-browser/three/addons/curves/NURBSSurface.js +1 -0
- package/dist-browser/three/addons/curves/NURBSUtils.js +1 -0
- package/dist-browser/three/addons/curves/NURBSVolume.js +1 -0
- package/dist-browser/three/addons/effects/AnaglyphEffect.js +1 -0
- package/dist-browser/three/addons/effects/AsciiEffect.js +1 -0
- package/dist-browser/three/addons/effects/OutlineEffect.js +1 -0
- package/dist-browser/three/addons/effects/ParallaxBarrierEffect.js +1 -0
- package/dist-browser/three/addons/effects/StereoEffect.js +1 -0
- package/dist-browser/three/addons/environments/ColorEnvironment.js +1 -0
- package/dist-browser/three/addons/environments/DebugEnvironment.js +1 -0
- package/dist-browser/three/addons/environments/RoomEnvironment.js +1 -0
- package/dist-browser/three/addons/exporters/DRACOExporter.js +1 -0
- package/dist-browser/three/addons/exporters/EXRExporter.js +1 -0
- package/dist-browser/three/addons/exporters/GLTFExporter.js +1 -0
- package/dist-browser/three/addons/exporters/KTX2Exporter.js +1 -0
- package/dist-browser/three/addons/exporters/OBJExporter.js +1 -0
- package/dist-browser/three/addons/exporters/PLYExporter.js +1 -0
- package/dist-browser/three/addons/exporters/STLExporter.js +1 -0
- package/dist-browser/three/addons/exporters/USDZExporter.js +1 -0
- package/dist-browser/three/addons/generators/CityGenerator.js +1 -0
- package/dist-browser/three/addons/generators/ForestGenerator.js +1 -0
- package/dist-browser/three/addons/generators/TerrainGenerator.js +1 -0
- package/dist-browser/three/addons/generators/TreeGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/BenchGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/CarGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/CityGeneratorUtils.js +1 -0
- package/dist-browser/three/addons/generators/city/HydrantGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/InstancedMeshGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/PersonGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/SidewalkGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/SkyscraperGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/StreetTreeGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/StreetlightGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/TrafficlightGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/TrashcanGenerator.js +1 -0
- package/dist-browser/three/addons/geometries/BoxLineGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/ConvexGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/DecalGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/LoftGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/ParametricFunctions.js +1 -0
- package/dist-browser/three/addons/geometries/ParametricGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/RoundedBoxGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/TeapotGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/TextGeometry.js +1 -0
- package/dist-browser/three/addons/gpgpu/BitonicSort.js +1 -0
- package/dist-browser/three/addons/gpgpu/CountingSort.js +1 -0
- package/dist-browser/three/addons/helpers/AnimationPathHelper.js +1 -0
- package/dist-browser/three/addons/helpers/LightProbeGridHelper.js +1 -0
- package/dist-browser/three/addons/helpers/LightProbeGridHelperWebGL.js +80 -0
- package/dist-browser/three/addons/helpers/LightProbeHelper.js +1 -0
- package/dist-browser/three/addons/helpers/LightProbeHelperGPU.js +1 -0
- package/dist-browser/three/addons/helpers/OctreeHelper.js +1 -0
- package/dist-browser/three/addons/helpers/PositionalAudioHelper.js +1 -0
- package/dist-browser/three/addons/helpers/RapierHelper.js +1 -0
- package/dist-browser/three/addons/helpers/RectAreaLightHelper.js +1 -0
- package/dist-browser/three/addons/helpers/TextureHelper.js +1 -0
- package/dist-browser/three/addons/helpers/TextureHelperGPU.js +1 -0
- package/dist-browser/three/addons/helpers/VertexNormalsHelper.js +1 -0
- package/dist-browser/three/addons/helpers/VertexTangentsHelper.js +1 -0
- package/dist-browser/three/addons/helpers/ViewHelper.js +1 -0
- package/dist-browser/three/addons/inspector/Extension.js +1 -0
- package/dist-browser/three/addons/inspector/Inspector.js +1 -0
- package/dist-browser/three/addons/inspector/RendererInspector.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/ColorGrading.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/ColorWheel.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/CurveEditor.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/LUT3DStyle.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/LUTMath.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/BrightnessModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ColorWheelModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ContrastModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/CurvesModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ExposureHueModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ExposureModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/HueModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ImportedCubeModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/Module.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/OutputModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/RendererModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/SatVibranceModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/SaturationModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/VibranceModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/WhiteBalanceModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/tsl-graph/TSLGraphEditor.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/tsl-graph/TSLGraphLoader.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Console.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Memory.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Parameters.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Performance.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Settings.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Timeline.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Viewer.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Graph.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Item.js +1 -0
- package/dist-browser/three/addons/inspector/ui/List.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Profiler.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Style.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Tab.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Values.js +1 -0
- package/dist-browser/three/addons/inspector/ui/utils.js +1 -0
- package/dist-browser/three/addons/interaction/InteractionManager.js +1 -0
- package/dist-browser/three/addons/interactive/HTMLMesh.js +1 -0
- package/dist-browser/three/addons/interactive/InteractiveGroup.js +1 -0
- package/dist-browser/three/addons/interactive/SelectionBox.js +1 -0
- package/dist-browser/three/addons/interactive/SelectionHelper.js +1 -0
- package/dist-browser/three/addons/libs/chevrotain.module.min.js +1 -0
- package/dist-browser/three/addons/libs/demuxer_mp4.js +1 -0
- package/dist-browser/three/addons/libs/fflate.module.js +1 -0
- package/dist-browser/three/addons/libs/ktx-parse.module.js +1 -0
- package/dist-browser/three/addons/libs/lil-gui.module.min.js +4 -0
- package/dist-browser/three/addons/libs/meshopt_clusterizer.module.js +1 -0
- package/dist-browser/three/addons/libs/meshopt_decoder.module.js +1 -0
- package/dist-browser/three/addons/libs/meshopt_simplifier.module.js +1 -0
- package/dist-browser/three/addons/libs/mikktspace.module.js +1 -0
- package/dist-browser/three/addons/libs/motion-controllers.module.js +1 -0
- package/dist-browser/three/addons/libs/potpack.module.js +1 -0
- package/dist-browser/three/addons/libs/stats.module.js +1 -0
- package/dist-browser/three/addons/libs/surfaceNet.js +1 -0
- package/dist-browser/three/addons/libs/tween.module.js +1 -0
- package/dist-browser/three/addons/libs/utif.module.js +1 -0
- package/dist-browser/three/addons/libs/zstddec.module.js +1 -0
- package/dist-browser/three/addons/lighting/ClusteredLighting.js +1 -0
- package/dist-browser/three/addons/lighting/DynamicLighting.js +1 -0
- package/dist-browser/three/addons/lighting/LightProbeGrid.js +1 -0
- package/dist-browser/three/addons/lighting/LightProbeGridUtils.js +1 -0
- package/dist-browser/three/addons/lighting/LightProbeGridWebGL.js +135 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGIConeTracer.js +1 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGINode.js +1 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGISceneCollector.js +1 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGIVolume.js +1 -0
- package/dist-browser/three/addons/lights/LightProbeGenerator.js +1 -0
- package/dist-browser/three/addons/lights/RectAreaLightTexturesLib.js +1 -0
- package/dist-browser/three/addons/lights/RectAreaLightUniformsLib.js +1 -0
- package/dist-browser/three/addons/lights/SunLight.js +1 -0
- package/dist-browser/three/addons/lights/SunLightNode.js +1 -0
- package/dist-browser/three/addons/lights/SunLightShadow.js +1 -0
- package/dist-browser/three/addons/lights/SunShadowNode.js +1 -0
- package/dist-browser/three/addons/lines/Line2.js +1 -0
- package/dist-browser/three/addons/lines/LineGeometry.js +1 -0
- package/dist-browser/three/addons/lines/LineMaterial.js +1 -0
- package/dist-browser/three/addons/lines/LineSegments2.js +1 -0
- package/dist-browser/three/addons/lines/LineSegmentsGeometry.js +1 -0
- package/dist-browser/three/addons/lines/Wireframe.js +1 -0
- package/dist-browser/three/addons/lines/WireframeGeometry2.js +1 -0
- package/dist-browser/three/addons/lines/webgpu/Line2.js +1 -0
- package/dist-browser/three/addons/lines/webgpu/LineSegments2.js +1 -0
- package/dist-browser/three/addons/lines/webgpu/Wireframe.js +1 -0
- package/dist-browser/three/addons/loaders/3DMLoader.js +1 -0
- package/dist-browser/three/addons/loaders/3MFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/AMFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/BVHLoader.js +1 -0
- package/dist-browser/three/addons/loaders/ColladaLoader.js +1 -0
- package/dist-browser/three/addons/loaders/DDSLoader.js +1 -0
- package/dist-browser/three/addons/loaders/DRACOLoader.js +1 -0
- package/dist-browser/three/addons/loaders/EXRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/FBXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/FontLoader.js +1 -0
- package/dist-browser/three/addons/loaders/GCodeLoader.js +1 -0
- package/dist-browser/three/addons/loaders/GLTFGaussianSplatLoaderExtension.js +1 -0
- package/dist-browser/three/addons/loaders/GLTFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/GaussianSplatPLYLoader.js +1 -0
- package/dist-browser/three/addons/loaders/HDRCubeTextureLoader.js +1 -0
- package/dist-browser/three/addons/loaders/HDRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/IESLoader.js +1 -0
- package/dist-browser/three/addons/loaders/KMZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/KSPLATLoader.js +1 -0
- package/dist-browser/three/addons/loaders/KTX2Loader.js +1 -0
- package/dist-browser/three/addons/loaders/KTXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LDrawLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LUT3dlLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LUTCubeLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LUTImageLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LWOLoader.js +1 -0
- package/dist-browser/three/addons/loaders/MD2Loader.js +1 -0
- package/dist-browser/three/addons/loaders/MDDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/MTLLoader.js +1 -0
- package/dist-browser/three/addons/loaders/MaterialXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/NRRDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/OBJLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PCDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PDBLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PLYLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PVRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/RGBELoader.js +1 -0
- package/dist-browser/three/addons/loaders/SPLATLoader.js +1 -0
- package/dist-browser/three/addons/loaders/SPZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/STLLoader.js +1 -0
- package/dist-browser/three/addons/loaders/SVGLoader.js +1 -0
- package/dist-browser/three/addons/loaders/TDSLoader.js +1 -0
- package/dist-browser/three/addons/loaders/TGALoader.js +1 -0
- package/dist-browser/three/addons/loaders/TIFFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/TTFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/USDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/USDZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/UltraHDRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/VOXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/VRMLLoader.js +1 -0
- package/dist-browser/three/addons/loaders/VTKLoader.js +1 -0
- package/dist-browser/three/addons/loaders/XYZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/collada/ColladaComposer.js +1 -0
- package/dist-browser/three/addons/loaders/collada/ColladaParser.js +1 -0
- package/dist-browser/three/addons/loaders/lwo/IFFParser.js +1 -0
- package/dist-browser/three/addons/loaders/lwo/LWO2Parser.js +1 -0
- package/dist-browser/three/addons/loaders/lwo/LWO3Parser.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXArchive.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXDocument.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXHextile.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXInterfaceValidation.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXLog.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXNodeInterfaceRegistry.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXNodeLibrary.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXSurfaceMappings.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXUtils.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/compile/MaterialXCompileRegistry.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/parse/MaterialXParser.js +1 -0
- package/dist-browser/three/addons/loaders/usd/USDAParser.js +1 -0
- package/dist-browser/three/addons/loaders/usd/USDCParser.js +1 -0
- package/dist-browser/three/addons/loaders/usd/USDComposer.js +1 -0
- package/dist-browser/three/addons/materials/LDrawConditionalLineMaterial.js +1 -0
- package/dist-browser/three/addons/materials/LDrawConditionalLineNodeMaterial.js +1 -0
- package/dist-browser/three/addons/materials/WoodNodeMaterial.js +42 -0
- package/dist-browser/three/addons/math/Capsule.js +1 -0
- package/dist-browser/three/addons/math/ColorConverter.js +1 -0
- package/dist-browser/three/addons/math/ColorSpaces.js +1 -0
- package/dist-browser/three/addons/math/ConvexHull.js +1 -0
- package/dist-browser/three/addons/math/ImprovedNoise.js +1 -0
- package/dist-browser/three/addons/math/Lut.js +1 -0
- package/dist-browser/three/addons/math/MeshSurfaceSampler.js +1 -0
- package/dist-browser/three/addons/math/OBB.js +1 -0
- package/dist-browser/three/addons/math/Octree.js +1 -0
- package/dist-browser/three/addons/math/SimplexNoise.js +1 -0
- package/dist-browser/three/addons/misc/ConvexObjectBreaker.js +1 -0
- package/dist-browser/three/addons/misc/GPUComputationRenderer.js +1 -0
- package/dist-browser/three/addons/misc/Gyroscope.js +1 -0
- package/dist-browser/three/addons/misc/MD2Character.js +1 -0
- package/dist-browser/three/addons/misc/MD2CharacterComplex.js +1 -0
- package/dist-browser/three/addons/misc/MorphAnimMesh.js +1 -0
- package/dist-browser/three/addons/misc/MorphBlendMesh.js +1 -0
- package/dist-browser/three/addons/misc/ProgressiveLightMap.js +1 -0
- package/dist-browser/three/addons/misc/ProgressiveLightMapGPU.js +1 -0
- package/dist-browser/three/addons/misc/RollerCoaster.js +1 -0
- package/dist-browser/three/addons/misc/Sculptor.js +1 -0
- package/dist-browser/three/addons/misc/SculptorMesh.js +1 -0
- package/dist-browser/three/addons/misc/SculptorTools.js +1 -0
- package/dist-browser/three/addons/misc/SculptorUtils.js +1 -0
- package/dist-browser/three/addons/misc/TileCreasedNormalsPlugin.js +1 -0
- package/dist-browser/three/addons/misc/TubePainter.js +1 -0
- package/dist-browser/three/addons/misc/Volume.js +1 -0
- package/dist-browser/three/addons/misc/VolumeSlice.js +1 -0
- package/dist-browser/three/addons/modifiers/CurveModifier.js +1 -0
- package/dist-browser/three/addons/modifiers/CurveModifierGPU.js +1 -0
- package/dist-browser/three/addons/modifiers/EdgeSplitModifier.js +1 -0
- package/dist-browser/three/addons/modifiers/SimplifyModifier.js +1 -0
- package/dist-browser/three/addons/modifiers/TessellateModifier.js +1 -0
- package/dist-browser/three/addons/objects/GaussianSplat.js +1 -0
- package/dist-browser/three/addons/objects/GroundedSkybox.js +1 -0
- package/dist-browser/three/addons/objects/Lensflare.js +1 -0
- package/dist-browser/three/addons/objects/LensflareMesh.js +1 -0
- package/dist-browser/three/addons/objects/MarchingCubes.js +1 -0
- package/dist-browser/three/addons/objects/Reflector.js +1 -0
- package/dist-browser/three/addons/objects/ReflectorForSSRPass.js +1 -0
- package/dist-browser/three/addons/objects/Refractor.js +1 -0
- package/dist-browser/three/addons/objects/ShadowMesh.js +1 -0
- package/dist-browser/three/addons/objects/Sky.js +1 -0
- package/dist-browser/three/addons/objects/SkyMesh.js +1 -0
- package/dist-browser/three/addons/objects/Water.js +1 -0
- package/dist-browser/three/addons/objects/Water2.js +1 -0
- package/dist-browser/three/addons/objects/Water2Mesh.js +1 -0
- package/dist-browser/three/addons/objects/WaterMesh.js +1 -0
- package/dist-browser/three/addons/offscreen/jank.js +1 -0
- package/dist-browser/three/addons/offscreen/offscreen.js +0 -0
- package/dist-browser/three/addons/offscreen/scene.js +1 -0
- package/dist-browser/three/addons/physics/AmmoPhysics.js +1 -0
- package/dist-browser/three/addons/physics/JoltPhysics.js +1 -0
- package/dist-browser/three/addons/physics/RapierPhysics.js +1 -0
- package/dist-browser/three/addons/postprocessing/AfterimagePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/BloomPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/BokehPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/ClearPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/CubeTexturePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/DotScreenPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/EffectComposer.js +1 -0
- package/dist-browser/three/addons/postprocessing/FXAAPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/FilmPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/GTAOPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/GlitchPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/HalftonePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/LUTPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/MaskPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/OutlinePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/OutputPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/Pass.js +1 -0
- package/dist-browser/three/addons/postprocessing/RenderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/RenderPixelatedPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/RenderTransitionPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SAOPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SMAAPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SSAARenderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SSAOPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SSRPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SavePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/ShaderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/TAARenderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/TexturePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/UnrealBloomPass.js +1 -0
- package/dist-browser/three/addons/renderers/CSS2DRenderer.js +1 -0
- package/dist-browser/three/addons/renderers/CSS3DRenderer.js +1 -0
- package/dist-browser/three/addons/renderers/Projector.js +1 -0
- package/dist-browser/three/addons/renderers/SVGRenderer.js +1 -0
- package/dist-browser/three/addons/shaders/ACESFilmicToneMappingShader.js +1 -0
- package/dist-browser/three/addons/shaders/AfterimageShader.js +1 -0
- package/dist-browser/three/addons/shaders/BasicShader.js +1 -0
- package/dist-browser/three/addons/shaders/BleachBypassShader.js +1 -0
- package/dist-browser/three/addons/shaders/BlendShader.js +1 -0
- package/dist-browser/three/addons/shaders/BokehShader.js +1 -0
- package/dist-browser/three/addons/shaders/BokehShader2.js +1 -0
- package/dist-browser/three/addons/shaders/BrightnessContrastShader.js +1 -0
- package/dist-browser/three/addons/shaders/ColorCorrectionShader.js +1 -0
- package/dist-browser/three/addons/shaders/ColorifyShader.js +1 -0
- package/dist-browser/three/addons/shaders/ConvolutionShader.js +1 -0
- package/dist-browser/three/addons/shaders/CopyShader.js +1 -0
- package/dist-browser/three/addons/shaders/DOFMipMapShader.js +1 -0
- package/dist-browser/three/addons/shaders/DepthLimitedBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/DigitalGlitch.js +1 -0
- package/dist-browser/three/addons/shaders/DotScreenShader.js +1 -0
- package/dist-browser/three/addons/shaders/ExposureShader.js +1 -0
- package/dist-browser/three/addons/shaders/FXAAShader.js +1 -0
- package/dist-browser/three/addons/shaders/FilmShader.js +1 -0
- package/dist-browser/three/addons/shaders/FocusShader.js +1 -0
- package/dist-browser/three/addons/shaders/FreiChenShader.js +1 -0
- package/dist-browser/three/addons/shaders/GTAOShader.js +1 -0
- package/dist-browser/three/addons/shaders/GammaCorrectionShader.js +1 -0
- package/dist-browser/three/addons/shaders/HalftoneShader.js +1 -0
- package/dist-browser/three/addons/shaders/HorizontalBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/HorizontalTiltShiftShader.js +1 -0
- package/dist-browser/three/addons/shaders/HueSaturationShader.js +1 -0
- package/dist-browser/three/addons/shaders/KaleidoShader.js +1 -0
- package/dist-browser/three/addons/shaders/LuminosityHighPassShader.js +1 -0
- package/dist-browser/three/addons/shaders/LuminosityShader.js +1 -0
- package/dist-browser/three/addons/shaders/MirrorShader.js +1 -0
- package/dist-browser/three/addons/shaders/NormalMapShader.js +1 -0
- package/dist-browser/three/addons/shaders/OutputShader.js +1 -0
- package/dist-browser/three/addons/shaders/PoissonDenoiseShader.js +1 -0
- package/dist-browser/three/addons/shaders/RGBShiftShader.js +1 -0
- package/dist-browser/three/addons/shaders/SAOShader.js +1 -0
- package/dist-browser/three/addons/shaders/SMAAShader.js +1 -0
- package/dist-browser/three/addons/shaders/SSAOShader.js +1 -0
- package/dist-browser/three/addons/shaders/SSRShader.js +1 -0
- package/dist-browser/three/addons/shaders/SepiaShader.js +1 -0
- package/dist-browser/three/addons/shaders/SobelOperatorShader.js +1 -0
- package/dist-browser/three/addons/shaders/SubsurfaceScatteringShader.js +1 -0
- package/dist-browser/three/addons/shaders/TechnicolorShader.js +1 -0
- package/dist-browser/three/addons/shaders/ToonShader.js +1 -0
- package/dist-browser/three/addons/shaders/TriangleBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/UnpackDepthRGBAShader.js +1 -0
- package/dist-browser/three/addons/shaders/VelocityShader.js +1 -0
- package/dist-browser/three/addons/shaders/VerticalBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/VerticalTiltShiftShader.js +1 -0
- package/dist-browser/three/addons/shaders/VignetteShader.js +1 -0
- package/dist-browser/three/addons/shaders/VolumeShader.js +1 -0
- package/dist-browser/three/addons/shaders/WaterRefractionShader.js +1 -0
- package/dist-browser/three/addons/textures/FlakesTexture.js +1 -0
- package/dist-browser/three/addons/transpiler/AST.js +1 -0
- package/dist-browser/three/addons/transpiler/GLSLDecoder.js +1 -0
- package/dist-browser/three/addons/transpiler/Linker.js +1 -0
- package/dist-browser/three/addons/transpiler/ShaderToyDecoder.js +1 -0
- package/dist-browser/three/addons/transpiler/TSLEncoder.js +55 -0
- package/dist-browser/three/addons/transpiler/Transpiler.js +1 -0
- package/dist-browser/three/addons/transpiler/TranspilerUtils.js +1 -0
- package/dist-browser/three/addons/transpiler/WGSLEncoder.js +30 -0
- package/dist-browser/three/addons/tsl/WebGLNodesHandler.js +1 -0
- package/dist-browser/three/addons/tsl/display/AfterImageNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/AnaglyphPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/BilateralBlurNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/BleachBypass.js +1 -0
- package/dist-browser/three/addons/tsl/display/BloomNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/CRT.js +1 -0
- package/dist-browser/three/addons/tsl/display/ChromaticAberrationNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/DenoiseNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/DepthOfFieldNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/DotScreenNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/FSR1Node.js +1 -0
- package/dist-browser/three/addons/tsl/display/FXAANode.js +1 -0
- package/dist-browser/three/addons/tsl/display/FilmNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/GTAONode.js +1 -0
- package/dist-browser/three/addons/tsl/display/GaussianBlurNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/GodraysNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/ImportanceSampledEnvironment.js +1 -0
- package/dist-browser/three/addons/tsl/display/LensflareNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/Lut3DNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/MotionBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/OITPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/OutlineNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/ParallaxBarrierPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/PixelationPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/RGBShiftNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/RecurrentDenoiseNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/RetroPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SMAANode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSAAPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSAONode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSGINode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSRNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSSNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/Sepia.js +1 -0
- package/dist-browser/three/addons/tsl/display/Shape.js +1 -0
- package/dist-browser/three/addons/tsl/display/SharpenNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SobelOperatorNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/StereoCompositePassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/StereoPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TAAUNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TRAANode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TemporalReprojectNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TransitionNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/boxBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/depthAwareBlend.js +1 -0
- package/dist-browser/three/addons/tsl/display/depthAwareBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/hashBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/radialBlur.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/ClusteredLightsNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/DynamicLightsNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/LightProbeGridNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/AmbientLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/DirectionalLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/HemisphereLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/PointLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/SpotLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/math/Bayer.js +1 -0
- package/dist-browser/three/addons/tsl/math/curlNoise.js +1 -0
- package/dist-browser/three/addons/tsl/math/voronoiNoise.js +1 -0
- package/dist-browser/three/addons/tsl/shadows/TileShadowNode.js +1 -0
- package/dist-browser/three/addons/tsl/shadows/TileShadowNodeHelper.js +1 -0
- package/dist-browser/three/addons/tsl/utils/GroundedSkybox.js +1 -0
- package/dist-browser/three/addons/tsl/utils/RNoise.js +1 -0
- package/dist-browser/three/addons/tsl/utils/Raymarching.js +1 -0
- package/dist-browser/three/addons/tsl/utils/SoftParticles.js +1 -0
- package/dist-browser/three/addons/tsl/utils/SpecularHelpers.js +1 -0
- package/dist-browser/three/addons/tsl/utils/TAAUtils.js +1 -0
- package/dist-browser/three/addons/utils/BufferGeometryUtils.js +1 -0
- package/dist-browser/three/addons/utils/CameraUtils.js +1 -0
- package/dist-browser/three/addons/utils/ColorUtils.js +1 -0
- package/dist-browser/three/addons/utils/GaussianSplatUtils.js +1 -0
- package/dist-browser/three/addons/utils/GeometryCompressionUtils.js +1 -0
- package/dist-browser/three/addons/utils/GeometryUtils.js +1 -0
- package/dist-browser/three/addons/utils/LDrawUtils.js +1 -0
- package/dist-browser/three/addons/utils/SceneOptimizer.js +1 -0
- package/dist-browser/three/addons/utils/SceneUtils.js +1 -0
- package/dist-browser/three/addons/utils/ShadowMapViewer.js +1 -0
- package/dist-browser/three/addons/utils/ShadowMapViewerGPU.js +1 -0
- package/dist-browser/three/addons/utils/SkeletonUtils.js +1 -0
- package/dist-browser/three/addons/utils/SortUtils.js +1 -0
- package/dist-browser/three/addons/utils/UVsDebug.js +1 -0
- package/dist-browser/three/addons/utils/WebGLTextureUtils.js +1 -0
- package/dist-browser/three/addons/utils/WebGPUTextureUtils.js +1 -0
- package/dist-browser/three/addons/utils/WorkerPool.js +1 -0
- package/dist-browser/three/addons/webxr/ARButton.js +1 -0
- package/dist-browser/three/addons/webxr/OculusHandModel.js +1 -0
- package/dist-browser/three/addons/webxr/OculusHandPointerModel.js +1 -0
- package/dist-browser/three/addons/webxr/Text2D.js +1 -0
- package/dist-browser/three/addons/webxr/VRButton.js +1 -0
- package/dist-browser/three/addons/webxr/WebGLXRFallback.js +1 -0
- package/dist-browser/three/addons/webxr/XRButton.js +1 -0
- package/dist-browser/three/addons/webxr/XRControllerModelFactory.js +1 -0
- package/dist-browser/three/addons/webxr/XREstimatedLight.js +1 -0
- package/dist-browser/three/addons/webxr/XRHandMeshModel.js +1 -0
- package/dist-browser/three/addons/webxr/XRHandModelFactory.js +1 -0
- package/dist-browser/three/addons/webxr/XRHandPrimitiveModel.js +1 -0
- package/dist-browser/three/addons/webxr/XRPlanes.js +1 -0
- package/dist-browser/three/addons.js +1 -0
- package/dist-browser/three/tsl.js +1 -0
- package/dist-browser/three/webgpu.js +1 -0
- package/dist-browser/three.js +1 -0
- package/dist-browser/three.quarks.js +1 -0
- package/dist-browser/zustand/middleware.js +1 -0
- package/dist-browser/zustand/shallow.js +1 -0
- package/dist-browser/zustand/vanilla.js +1 -0
- package/dist-browser/zustand.js +1 -0
- package/package.json +194 -0
- package/rapier/LICENSE +201 -0
- package/rapier/NOTICE +23 -0
- package/rapier/simd/coarena.js +1 -0
- package/rapier/simd/control/character_controller.js +1 -0
- package/rapier/simd/control/index.js +1 -0
- package/rapier/simd/control/pid_controller.js +1 -0
- package/rapier/simd/control/ray_cast_vehicle_controller.js +1 -0
- package/rapier/simd/dynamics/ccd_solver.js +1 -0
- package/rapier/simd/dynamics/coefficient_combine_rule.js +1 -0
- package/rapier/simd/dynamics/impulse_joint.js +1 -0
- package/rapier/simd/dynamics/impulse_joint_set.js +1 -0
- package/rapier/simd/dynamics/index.js +1 -0
- package/rapier/simd/dynamics/integration_parameters.js +1 -0
- package/rapier/simd/dynamics/island_manager.js +1 -0
- package/rapier/simd/dynamics/multibody_joint.js +1 -0
- package/rapier/simd/dynamics/multibody_joint_set.js +1 -0
- package/rapier/simd/dynamics/rigid_body.js +1 -0
- package/rapier/simd/dynamics/rigid_body_set.js +1 -0
- package/rapier/simd/exports.js +1 -0
- package/rapier/simd/geometry/broad_phase.js +1 -0
- package/rapier/simd/geometry/collider.js +1 -0
- package/rapier/simd/geometry/collider_set.js +1 -0
- package/rapier/simd/geometry/contact.js +1 -0
- package/rapier/simd/geometry/feature.js +1 -0
- package/rapier/simd/geometry/index.js +1 -0
- package/rapier/simd/geometry/interaction_groups.js +0 -0
- package/rapier/simd/geometry/narrow_phase.js +1 -0
- package/rapier/simd/geometry/point.js +1 -0
- package/rapier/simd/geometry/ray.js +1 -0
- package/rapier/simd/geometry/shape.js +1 -0
- package/rapier/simd/geometry/toi.js +1 -0
- package/rapier/simd/init.js +0 -0
- package/rapier/simd/math.js +1 -0
- package/rapier/simd/pipeline/debug_render_pipeline.js +1 -0
- package/rapier/simd/pipeline/event_queue.js +1 -0
- package/rapier/simd/pipeline/index.js +1 -0
- package/rapier/simd/pipeline/physics_hooks.js +1 -0
- package/rapier/simd/pipeline/physics_pipeline.js +1 -0
- package/rapier/simd/pipeline/query_pipeline.js +1 -0
- package/rapier/simd/pipeline/serialization_pipeline.js +1 -0
- package/rapier/simd/pipeline/world.js +1 -0
- package/rapier/simd/rapier.js +1 -0
- package/rapier/simd/rapier_wasm3d.js +1 -0
- package/rapier/simd/rapier_wasm3d_bg.js +1 -0
- package/rapier/simd/rapier_wasm3d_bg.wasm +0 -0
- package/rapier/simd/raw.js +1 -0
- package/rapier/simd-compat/rapier.mjs +1 -0
- package/rapier/types/coarena.d.ts +15 -0
- package/rapier/types/control/character_controller.d.ts +191 -0
- package/rapier/types/control/index.d.ts +3 -0
- package/rapier/types/control/pid_controller.d.ts +50 -0
- package/rapier/types/control/ray_cast_vehicle_controller.d.ts +277 -0
- package/rapier/types/dynamics/ccd_solver.d.ts +15 -0
- package/rapier/types/dynamics/coefficient_combine_rule.d.ts +13 -0
- package/rapier/types/dynamics/impulse_joint.d.ts +375 -0
- package/rapier/types/dynamics/impulse_joint_set.d.ts +79 -0
- package/rapier/types/dynamics/index.d.ts +10 -0
- package/rapier/types/dynamics/integration_parameters.d.ts +57 -0
- package/rapier/types/dynamics/island_manager.d.ts +24 -0
- package/rapier/types/dynamics/multibody_joint.d.ts +42 -0
- package/rapier/types/dynamics/multibody_joint_set.d.ts +76 -0
- package/rapier/types/dynamics/rigid_body.d.ts +803 -0
- package/rapier/types/dynamics/rigid_body_set.d.ts +78 -0
- package/rapier/types/exports.d.ts +8 -0
- package/rapier/types/geometry/broad_phase.d.ts +164 -0
- package/rapier/types/geometry/collider.d.ts +996 -0
- package/rapier/types/geometry/collider_set.d.ts +72 -0
- package/rapier/types/geometry/contact.d.ts +36 -0
- package/rapier/types/geometry/feature.d.ts +6 -0
- package/rapier/types/geometry/index.d.ts +11 -0
- package/rapier/types/geometry/interaction_groups.d.ts +18 -0
- package/rapier/types/geometry/narrow_phase.d.ts +130 -0
- package/rapier/types/geometry/point.d.ts +58 -0
- package/rapier/types/geometry/ray.d.ts +108 -0
- package/rapier/types/geometry/shape.d.ts +632 -0
- package/rapier/types/geometry/toi.d.ts +44 -0
- package/rapier/types/init.d.ts +5 -0
- package/rapier/types/math.d.ts +98 -0
- package/rapier/types/pipeline/debug_render_pipeline.d.ts +40 -0
- package/rapier/types/pipeline/event_queue.d.ts +101 -0
- package/rapier/types/pipeline/index.d.ts +7 -0
- package/rapier/types/pipeline/physics_hooks.d.ts +39 -0
- package/rapier/types/pipeline/physics_pipeline.d.ts +12 -0
- package/rapier/types/pipeline/query_pipeline.d.ts +38 -0
- package/rapier/types/pipeline/serialization_pipeline.d.ts +37 -0
- package/rapier/types/pipeline/world.d.ts +602 -0
- package/rapier/types/rapier.d.ts +3 -0
- package/rapier/types/rapier_wasm3d.d.ts +2204 -0
- package/rapier/types/rapier_wasm3d_bg.wasm.d.ts +582 -0
- package/rapier/types/raw.d.ts +1 -0
- package/readable/rounds/LevelBanner.tsx +44 -0
- package/readable/rounds/Round.tsx +228 -0
- package/readable/rounds/RoundScreen.tsx +89 -0
- package/readable/rounds/dist/LevelBanner.d.ts +13 -0
- package/readable/rounds/dist/LevelBanner.d.ts.map +1 -0
- package/readable/rounds/dist/LevelBanner.js +20 -0
- package/readable/rounds/dist/LevelBanner.js.map +1 -0
- package/readable/rounds/dist/Round.d.ts +74 -0
- package/readable/rounds/dist/Round.d.ts.map +1 -0
- package/readable/rounds/dist/Round.js +137 -0
- package/readable/rounds/dist/Round.js.map +1 -0
- package/readable/rounds/dist/RoundScreen.d.ts +39 -0
- package/readable/rounds/dist/RoundScreen.d.ts.map +1 -0
- package/readable/rounds/dist/RoundScreen.js +23 -0
- package/readable/rounds/dist/RoundScreen.js.map +1 -0
- package/readable/rounds/dist/index.d.ts +7 -0
- package/readable/rounds/dist/index.d.ts.map +1 -0
- package/readable/rounds/dist/index.js +11 -0
- package/readable/rounds/dist/index.js.map +1 -0
- package/readable/rounds/dist/rounds.d.ts +16 -0
- package/readable/rounds/dist/rounds.d.ts.map +1 -0
- package/readable/rounds/dist/rounds.js +82 -0
- package/readable/rounds/dist/rounds.js.map +1 -0
- package/readable/rounds/dist/rules.d.ts +65 -0
- package/readable/rounds/dist/rules.d.ts.map +1 -0
- package/readable/rounds/dist/rules.js +150 -0
- package/readable/rounds/dist/rules.js.map +1 -0
- package/readable/rounds/dist/traits.d.ts +103 -0
- package/readable/rounds/dist/traits.d.ts.map +1 -0
- package/readable/rounds/dist/traits.js +79 -0
- package/readable/rounds/dist/traits.js.map +1 -0
- package/readable/rounds/index.ts +11 -0
- package/readable/rounds/rounds.ts +117 -0
- package/readable/rounds/rules.ts +182 -0
- package/readable/rounds/traits.ts +82 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import{Gn as e,Hn as t,I as n,Io as r,Ki as i,Ls as a,Ms as o,Pt as s,Qr as c,Rs as l,Sa as u,To as d,Xi as f,Xr as p,Yn as m,ao as h,co as g,da as _,et as v,io as y,mn as b,no as x,nt as S,qr as C,sn as w,so as T,to as E,x as D,xa as O,xn as k,yn as ee}from"./BoJD7UsQ.js";import{n as A,s as te}from"./Bzy44bV2.js";import{m as j,o as ne,x as M}from"./BLQoPgRQ.js";import"./DWgUahRJ.js";import{Bf as N,Bt as re,E as ie,Eu as ae,Fo as oe,Gf as se,Ip as ce,Kt as le,La as ue,Mm as de,Mp as fe,Nd as pe,Nm as me,No as he,Od as ge,Os as _e,Pa as ve,Po as ye,Pu as be,Tm as xe,Uo as Se,Up as Ce,Vp as we,Vt as Te,Wc as Ee,Wp as P,Xt as De,cc as Oe,em as F,hd as ke,hf as Ae,jm as I,kc as je,lc as Me,nm as Ne,pd as Pe,qf as Fe,qp as Ie,qt as Le,wc as Re,xd as ze,xm as Be,ym as Ve,zc as He,zp as Ue,zu as We}from"./BdkaRoRG.js";import{n as Ge}from"./DYoIHzIt.js";import"./Bn-oguIM.js";import{t as Ke}from"./DVAMQgZs.js";import{S as qe,t as L}from"./CerF2aP5.js";var Je=new y;function Ye(e,{origin:t,direction:n,far:r,side:i=2}){Je.set(t,n);let a=e.raycastFirst(Je,i,0,r);return a?a.distance:null}var Xe={eyeClearance:.3,eyeMargin:.2,eyeReturnResponse:9},Ze={shape:ge({radius:Xe.eyeMargin}),from:new l,direction:new l,maxDistance:0,collisionMask:ye,bodyTypes:[ke.Fixed]},Qe=new l,$e=.1;function et({physics:e,bvh:t,ground:n},{origin:r,direction:i,far:a}){if(a<=0)return null;let o=null;if(e){Ze.from=r,Ze.direction=i,Ze.maxDistance=a;let t=Se(e,Ze);o=t?Math.max(0,t.distance-Ve.offset):null}else{let e=t?Ye(t,{origin:r,direction:i,far:a}):null;e!==null&&(o=Math.max(0,e-Xe.eyeMargin))}if(n){let e=o??a;for(let t=0;t*$e<e+$e;t++){let a=Math.min(t*$e,e);if(Qe.copy(r).addScaledVector(i,a),Qe.y-n.getHeightAt(Qe)<Xe.eyeClearance){o=Math.max(0,a-$e);break}}}return o}function tt({clear:e,settled:t,deltaSeconds:n}){return t===null||e<=t?e:C.damp(t,e,Xe.eyeReturnResponse,n)}var nt=new l,rt={origin:new l,direction:nt,far:0};function it({aim:e,eye:t,obstacles:n,settledDistance:r,deltaSeconds:i}){let a=nt.subVectors(t,e).length();if(a===0)return a;nt.divideScalar(a),rt.origin.copy(e),rt.far=a;let o=et(n,rt)??a,s=Math.min(a,tt({clear:o,settled:r,deltaSeconds:i}));return t.copy(e).addScaledVector(nt,s),s}var at=new WeakMap,ot=new WeakSet,st=`
|
|
2
|
+
uniform float modelFade;
|
|
3
|
+
float readModelFadeNoise(vec2 pixel) {
|
|
4
|
+
return fract(52.9829189 * fract(dot(pixel, vec2(0.06711056, 0.00583715))));
|
|
5
|
+
}
|
|
6
|
+
`,ct=`
|
|
7
|
+
if (modelFade < 1.0 && readModelFadeNoise(gl_FragCoord.xy) >= modelFade)
|
|
8
|
+
discard;
|
|
9
|
+
`,lt=`void main() {`;function ut(e){return e.includes(lt)?e.replace(lt,`${st}\n${lt}\n${ct}`):e}function dt(e,t){if(ot.has(e))return;ot.add(e);let n=e.onBeforeCompile.bind(e),r=e.customProgramCacheKey.bind(e),i=e.onBeforeCompile.toString();e.onBeforeCompile=(e,r)=>{n(e,r),e.uniforms.modelFade=t,e.fragmentShader=ut(e.fragmentShader)},e.customProgramCacheKey=()=>`${r()}|${i}|modelFade`}function ft(e){let t=at.get(e)??{value:1};return at.set(e,t),e.traverse(e=>{if(!(e instanceof c))return;let n=Array.isArray(e.material)?e.material:[e.material];for(let e of n)dt(e,t)}),t}function pt(e){let t=at.get(e);t&&(t.value=1)}function mt(e){let t=at.get(e);if(t)return t;for(let t of e.children){let e=at.get(t);if(e)return e}return null}function ht(e){return(Array.isArray(e.material)?e.material:[e.material]).every(e=>ot.has(e))}function gt(e,t){e.traverseVisible(e=>{!(e.isMesh===!0||`isSprite`in e||`isPoints`in e||`isLine`in e)||e instanceof c&&ht(e)||(e.visible=!1,t.add(e))})}function _t(e){for(let t of e)t.visible=!0;e.clear()}var vt=function(e){return e.ViewTarget=`player`,e}({}),yt=function(e){return e.Fade=`fade`,e.Hide=`hide`,e.Off=`off`,e}({}),R=M({orbit:()=>null,follow:()=>`player`,settle:!0,latch:!1,latchedHeading:0,latchedSteer:()=>new a,settledDistance:()=>null,settledPivotReach:()=>null,followedTeleports:-1,fov:I.fov,fieldOfView:()=>null,minDistance:I.minDistance,maxDistance:I.maxDistance,minPolarAngle:I.minPolarAngle,maxPolarAngle:I.maxPolarAngle,firstPersonMinPolarAngle:I.firstPersonMinPolarAngle,firstPersonMaxPolarAngle:I.firstPersonMaxPolarAngle,bodyNearEye:()=>`fade`,eyeHeightFraction:I.eyeHeightFraction,latchTurn:de.latchTurn,turnRate:de.turnRate,holdSeconds:de.holdSeconds,metresPerSecond:me.metresPerSecond,rotateSpeed:1,firstPerson:!1,lockToggle:!1,lockToggleOffered:!1,clickToWalk:!1,startLocked:!1,playerLook:!1,lookSpeed:I.lookSpeed,invertLook:!1,shoulderOffset:I.shoulderOffset,pivotRise:I.pivotRise,locked:!1,firstPersonView:!1,characterHidden:!1,hiddenParts:()=>new Set,characterFade:1}),bt={trait:R,wiki:`/engine/entities/camera/`,description:`The lens, the zoom and tilt stops, and where the eye aims.`,ranges:{fov:{min:20,max:110,step:1},minDistance:{min:0,max:10,step:.1},maxDistance:{min:0,max:30,step:.1},minPolarAngle:{min:0,max:Math.PI,step:.01},maxPolarAngle:{min:0,max:Math.PI,step:.01},firstPersonMinPolarAngle:{min:0,max:Math.PI,step:.01},firstPersonMaxPolarAngle:{min:0,max:Math.PI,step:.01},eyeHeightFraction:{min:0,max:1,step:.01},latchTurn:{min:0,max:Math.PI,step:.01},turnRate:{min:0,max:2*Math.PI,step:.05},holdSeconds:{min:0,max:5,step:.1},metresPerSecond:{min:0,max:30,step:.5},rotateSpeed:{min:-2,max:2,step:.05},lookSpeed:{min:5e-5,max:.02,step:5e-5},shoulderOffset:{min:-2,max:2,step:.05},pivotRise:{min:0,max:1,step:.05}},runsOn:we.Client},z=j(R);function xt(e){return e.queryFirst(z)?.get(R)?.orbit??null}function St(e,t){let n=F(e,z),r=n?.get(R),i=r?.orbit?.azimuthAngle??0;if(!n||!r?.latch)return i;let{latchedSteer:a}=r;return t.lengthSq()===0?(a.set(0,0),i):a.lengthSq()>0&&a.angleTo(t)<=r.latchTurn?r.latchedHeading:(a.copy(t),n.set(R,{latchedHeading:i}),i)}function Ct(e){let t=xt(e);return t&&{azimuth:t.azimuthAngle,polar:t.polarAngle,distance:t.distance}}function wt(e,{azimuth:t,polar:n,distance:r}){let i=xt(e);i&&(i.rotateTo(t,n,!1),i.dollyTo(r,!1))}var Tt=1.1;function Et(e,t){let n=Math.max(t,.5);if(!(e instanceof f))return n*3;let r=C.degToRad(e.fov)/2,i=Math.atan(Math.tan(r)*e.aspect);return n*Tt/Math.sin(Math.min(r,i))}var Dt=new n,Ot=new r;function kt(e,t){let n=e.queryFirst(z),r=n?.get(R),i=t.get(Ue)?.object;if(!n||!r?.orbit||!i)return null;Dt.setFromObject(i).getBoundingSphere(Ot);let{center:a,radius:o}=Ot,{follow:s}=r;return Ht(e),n.set(R,{follow:null}),r.orbit.moveTo(a.x,a.y,a.z,!0),r.orbit.dollyTo(Et(r.orbit.camera,o),!0),s}var At=j(Be,Ue,ce);function jt(e){return F(e,At,Oe)??F(e,At)}function Mt(e){let t=F(e,z);return t!==void 0&&Ne(t,R,`follow`)?jt(e):void 0}function Nt(e){let{orbit:t}=e;if(!t)return;let{firstPersonDistance:n}=I,r=e.firstPersonView?n:e.minDistance,i=e.firstPersonView?n:e.maxDistance;(t.minDistance!==r||t.maxDistance!==i)&&(t.minDistance=r,t.maxDistance=i,t.dollyTo(t.distance,!1));let a=e.firstPersonView?e.firstPersonMinPolarAngle:e.minPolarAngle,o=e.firstPersonView?e.firstPersonMaxPolarAngle:e.maxPolarAngle;if(t.minPolarAngle!==a||t.maxPolarAngle!==o){let n=!e.firstPersonView&&(t.minPolarAngle===e.firstPersonMinPolarAngle||t.maxPolarAngle===e.firstPersonMaxPolarAngle);t.minPolarAngle=a,t.maxPolarAngle=o;let r=C.clamp(t.polarAngle,a,o);r!==t.polarAngle&&(n?t.rotatePolarTo(r,!0):t.polarAngle=r)}t.azimuthRotateSpeed=e.rotateSpeed,t.polarRotateSpeed=e.invertLook?-e.rotateSpeed:e.rotateSpeed;let{camera:s}=t;s instanceof f&&s.fov!==e.fov&&(s.fov=e.fov,s.updateProjectionMatrix())}var B=new l,V=new l,Pt={physics:null,bvh:null,ground:null},H={origin:new l,direction:new l,far:0},Ft=j(je),It=j(Re);function Lt(e,t){let n=F(e,z),r=n?.get(R),i=r?.orbit;if(!n||!r||!i)return;let a=Mt(e),o=a?.get(Ue)?.object?.position,s=a?.get(ce);if(!o||!s){Nt(r);return}let c=Ne(a,Ce,`count`)??0;c!==r.followedTeleports&&(r.followedTeleports=c,r.settledDistance=null,r.settledPivotReach=null,n.set(R,{followedTeleports:c,settledDistance:null,settledPivotReach:null}));let l=r.maxDistance>r.minDistance?r:I,u=r.locked&&!r.firstPersonView,d=Math.min(a.get(N)?.height||Fe.height,C.lerp(s.height*r.eyeHeightFraction,s.center.y,u?0:C.smoothstep(i.distance,l.minDistance,l.maxDistance))),f=C.smoothstep(i.polarAngle-Math.PI/2,I.steepLook,I.maxPolarAngle-Math.PI/2),p=d+(u?r.pivotRise:0)+I.steepRise*f;if(Nt(r),B.set(o.x,o.y+p,o.z),u){let e=i.azimuthAngle;B.x+=Math.cos(e)*r.shoulderOffset,B.z-=Math.sin(e)*r.shoulderOffset}Pt.physics=e.get(se)?.handle?e:null,Pt.bvh=F(e,Ft)?.get(je)?.bvh??null,Pt.ground=F(e,It)?.get(Re)?.surface??null,H.origin.set(o.x,o.y+d,o.z);let m=H.direction.subVectors(B,H.origin).length(),h=null;if(m>0){H.direction.divideScalar(m),H.far=m;let e=et(Pt,H)??m;h=Math.min(m,tt({clear:e,settled:r.settledPivotReach,deltaSeconds:t})),B.copy(H.origin).addScaledVector(H.direction,h)}h!==r.settledPivotReach&&n.set(R,{settledPivotReach:h}),i.moveTo(B.x,B.y,B.z,!1),i.update(0);let{camera:g}=i;V.subVectors(g.position,B);let _=B.y-o.y-Xe.eyeClearance;V.y<0&&-V.y>_&&g.position.copy(B).addScaledVector(V,Math.max(0,_)/-V.y);let v=V.subVectors(g.position,B).length(),y=C.lerp(v,r.minDistance,f);if(f>0&&y<v&&g.position.copy(B).addScaledVector(V,y/v),r.settle&&!r.firstPersonView){let e=it({aim:B,eye:g.position,obstacles:Pt,settledDistance:r.settledDistance,deltaSeconds:t});e!==r.settledDistance&&n.set(R,{settledDistance:e})}let b=a.get(Ue)?.object;if(b){let e=C.clamp(g.position.y,o.y,o.y+s.height),i=Math.hypot(g.position.x-o.x,g.position.y-e,g.position.z-o.z)-(a.get(N)?.radius||Fe.radius);Vt(n,b,{target:r.firstPersonView?0:r.bodyNearEye===`off`?1:Rt(i),deltaSeconds:t})}g.lookAt(B)}function Rt(e){let{fadeStartMetres:t,fadeEndMetres:n}=I;return C.clamp((e-n)/(t-n),0,1)}var zt=.05;function Bt(e,t,n){if(t===0||e<=zt)return t;let r=I.fadeRate*n;return C.clamp(t,e-r,e+r)}function Vt(e,t,{target:n,deltaSeconds:r}){let i=e.get(R);if(!i)return;let a=Bt(i.characterFade,n,r),o=mt(t),s=o!==null&&i.bodyNearEye!==`hide`;o&&(o.value=s?a:1);let c=!s&&a===0;(c||i.characterHidden)&&(t.visible=!c);let{hiddenParts:l}=i;s&&a===0?gt(t,l):l.size>0&&_t(l),(c!==i.characterHidden||a!==i.characterFade)&&e.set(R,{characterHidden:c,characterFade:a})}function Ht(e){let t=e.queryFirst(z),n=t?.get(R);if(!t||!n)return;let r=Mt(e)?.get(Ue)?.object;if(r){r.visible=!0;let e=mt(r);e&&(e.value=1)}_t(n.hiddenParts),t.set(R,{characterHidden:!1,characterFade:1})}var Ut={degrees:1.2,rollDegrees:2.4,hertz:11,recovery:1.5,radius:20},U=M({trauma:0,seconds:0});function Wt(e,{strength:t,at:n,radius:r=Ut.radius,cap:i=1}){let a=e.queryFirst(R),o=a?.get(R)?.orbit;if(!a)return;let s=1;if(n){let t=Me(e)?.get(P)?.position??o?.camera.position,i=t?Math.hypot(n.x-t.x,n.y-t.y,n.z-t.z):0;s=r>0?C.clamp(1-i/r,0,1):0}let c=Math.max(0,t)*s;if(c===0)return;let l=a.get(U)?.trauma??0;a.has(U)||a.add(U);let u=C.clamp(i,0,1);a.set(U,{trauma:Math.max(l,Math.min(u,l+c))})}function Gt(e,t){let n=2*Math.PI*Ut.hertz*e;return .65*Math.sin(n+t)+.35*Math.sin(n*2.31+t*1.7)}var Kt=j(R,U);function qt(e,{deltaSeconds:t,scale:n}){let r=F(e,Kt);if(!r||(Ne(r,U,`trauma`)??0)<=0)return;let i=r.get(U),a=r.get(R)?.orbit?.camera;if(!i)return;let o=i.seconds+t;if(r.set(U,{seconds:o,trauma:Math.max(0,i.trauma-Ut.recovery*t)}),!a||n<=0)return;let s=i.trauma*i.trauma*n,{degrees:c,rollDegrees:l}=Ut;a.rotateY(C.degToRad(c*s*Gt(o,0))),a.rotateX(C.degToRad(c*s*Gt(o,2.1))),a.rotateZ(C.degToRad(l*s*Gt(o,4.4))),a.updateMatrixWorld()}function Jt(e,t,n){n[0]=e[0]>t[0]?t[0]:e[0],n[1]=e[1]<t[1]?t[1]:e[1],n[2]=e[2]>t[2]?t[2]:e[2],n[3]=e[3]<t[3]?t[3]:e[3],n[4]=e[4]>t[4]?t[4]:e[4],n[5]=e[5]<t[5]?t[5]:e[5]}function Yt(e,t,n){let r=!1,i=e[0]>t[0]?t[0]:e[0],a=e[1]<t[1]?t[1]:e[1],o=e[2]>t[2]?t[2]:e[2],s=e[3]<t[3]?t[3]:e[3],c=e[4]>t[4]?t[4]:e[4],l=e[5]<t[5]?t[5]:e[5];return n[0]>i&&(n[0]=i,r=!0),n[1]<a&&(n[1]=a,r=!0),n[2]>o&&(n[2]=o,r=!0),n[3]<s&&(n[3]=s,r=!0),n[4]>c&&(n[4]=c,r=!0),n[5]<l&&(n[5]=l,r=!0),r}function Xt(e,t){return!(t[0]>e[0]||t[1]<e[1]||t[2]>e[2]||t[3]<e[3]||t[4]>e[4]||t[5]<e[5])}function Zt(e,t){let n=!1;return t[0]>e[0]&&(t[0]=e[0],n=!0),t[1]<e[1]&&(t[1]=e[1],n=!0),t[2]>e[2]&&(t[2]=e[2],n=!0),t[3]<e[3]&&(t[3]=e[3],n=!0),t[4]>e[4]&&(t[4]=e[4],n=!0),t[5]<e[5]&&(t[5]=e[5],n=!0),n}function Qt(e,t){e[0]-=t,e[1]+=t,e[2]-=t,e[3]+=t,e[4]-=t,e[5]+=t}function W(e){let t=e[1]-e[0],n=e[3]-e[2],r=e[5]-e[4];return 2*(t*n+n*r+r*t)}function G(e,t){let n=e[0]>t[0]?t[0]:e[0],r=e[1]<t[1]?t[1]:e[1],i=e[2]>t[2]?t[2]:e[2],a=e[3]<t[3]?t[3]:e[3],o=e[4]>t[4]?t[4]:e[4],s=e[5]<t[5]?t[5]:e[5],c=r-n,l=a-i,u=s-o;return 2*(c*l+l*u+u*c)}function $t(e){let t=e[1]-e[0],n=e[3]-e[2],r=e[5]-e[4];return t>n?t>r?0:2:n>r?1:2}function en(e,t){let n=e[0]-t[0],r=t[0]-e[1],i=n>r?n:r;i<0&&(i=0);let a=e[2]-t[1],o=t[1]-e[3],s=a>o?a:o;s<0&&(s=0);let c=e[4]-t[2],l=t[2]-e[5],u=c>l?c:l;return u<0&&(u=0),i*i+s*s+u*u}function tn(e,t){let n,r,i,a,o,s,c=e[0]-t[0],l=t[0]-e[1];c>l?(n=c,r=l):(n=l,r=c),n<0&&(n=0);let u=e[2]-t[1],d=t[1]-e[3];u>d?(i=u,a=d):(i=d,a=u),i<0&&(i=0);let f=e[4]-t[2],p=t[2]-e[5];return f>p?(o=f,s=p):(o=p,s=f),o<0&&(o=0),{min:n*n+i*i+o*o,max:r*r+a*a+s*s}}var nn=class{constructor(){this.array=[]}clear(){this.array=[]}push(e){let t=this.array,n=e.inheritedCost,r=t.length>6?t.length-6:0,i;for(i=t.length-1;i>=r&&!(n<=t[i].inheritedCost);i--);i>t.length-7&&t.splice(i+1,0,e)}pop(){return this.array.pop()}},rn=class{constructor(e=!1){this.root=null,this._sortedList=new nn,this.count=0,this.highPrecision=e,this._typeArray=e?Float64Array:Float32Array}createFromArray(e,t,n,r=0){let i=t.length,a=this._typeArray;a!==(t[0].BYTES_PER_ELEMENT===4?Float32Array:Float64Array)&&console.warn(`Different precision.`);let o=new a(6),s,c;this.root=l(0,i,null);function l(i,a,o){if(a===1){let a=t[i];r>0&&Qt(a,r);let s={box:a,object:e[i],parent:o};return n&&n(s),s}let s=u(i,a);d();let c=f(i,a);(c===i||c===i+a)&&(c=i+(a>>1));let p={box:s,parent:o};return p.left=l(i,c-i,p),p.right=l(c,a-c+i,p),p}function u(e,n){let i=new a(6),s=e+n;i[0]=1/0,i[1]=-1/0,i[2]=1/0,i[3]=-1/0,i[4]=1/0,i[5]=-1/0,o[0]=1/0,o[1]=-1/0,o[2]=1/0,o[3]=-1/0,o[4]=1/0,o[5]=-1/0;for(let n=e;n<s;n++){let e=t[n],r=e[0],a=e[1],s=e[2],c=e[3],l=e[4],u=e[5];i[0]>r&&(i[0]=r),i[1]<a&&(i[1]=a),i[2]>s&&(i[2]=s),i[3]<c&&(i[3]=c),i[4]>l&&(i[4]=l),i[5]<u&&(i[5]=u);let d=(a+r)*.5,f=(c+s)*.5,p=(u+l)*.5;o[0]>d&&(o[0]=d),o[1]<d&&(o[1]=d),o[2]>f&&(o[2]=f),o[3]<f&&(o[3]=f),o[4]>p&&(o[4]=p),o[5]<p&&(o[5]=p)}return i[0]-=r,i[1]+=r,i[2]-=r,i[3]+=r,i[4]-=r,i[5]+=r,i}function d(){s=$t(o)*2,c=(o[s]+o[s+1])*.5}function f(n,r){let i=n,a=n+r-1;for(;i<=a;){let n=t[i];if((n[s+1]+n[s])*.5>=c)for(;;){let n=t[a];if((n[s+1]+n[s])*.5<c){let n=e[i];e[i]=e[a],e[a]=n;let r=t[i];t[i]=t[a],t[a]=r,a--;break}if(a--,a<=i)return i}i++}return i}}insert(e,t,n){n>0&&Qt(t,n);let r=this.createLeafNode(e,t);return this.root===null?this.root=r:this.insertLeaf(r),this.count++,r}insertRange(e,t,n,r){console.warn(`Method not optimized yet. It just calls 'insert' N times.`);let i=e.length,a=n>0?n:n?null:0;for(let o=0;o<i;o++){let i=this.insert(e[o],t[o],a??n[o]);r&&r(i)}}move(e,t){if(!e.parent||Xt(e.box,e.parent.box)){t>0&&Qt(e.box,t);return}t>0&&Qt(e.box,t);let n=this.delete(e);this.insertLeaf(e,n),this.count++}delete(e){let t=e.parent;if(t===null)return this.root=null,null;let n=t.parent,r=t.left===e?t.right:t.left;return r.parent=n,e.parent=null,n===null?(this.root=r,t):(n.left===t?n.left=r:n.right=r,this.refit(n),this.count--,t)}clear(){this.root=null}insertLeaf(e,t){let n=this.findBestSibling(e.box),r=n.parent;t===void 0?t=this.createInternalNode(r,n,e):(t.parent=r,t.left=n,t.right=e),n.parent=t,e.parent=t,r===null?this.root=t:r.left===n?r.left=t:r.right=t,this.refitAndRotate(e,n)}createLeafNode(e,t){return{box:t,object:e,parent:null}}createInternalNode(e,t,n){return{parent:e,left:t,right:n,box:new this._typeArray(6)}}findBestSibling(e){let t=this.root,n=t,r=G(e,t.box),i=W(e);if(t.object!==void 0)return t;let a=this._sortedList;a.clear();let o={node:t,inheritedCost:r-W(t.box)};do{let{node:t,inheritedCost:s}=o;if(i+s>=r)break;let c=t.left,l=t.right,u=G(e,c.box)+s,d=u-W(c.box),f=G(e,l.box)+s,p=f-W(l.box);if(u>f?r>f&&(n=l,r=f):r>u&&(n=c,r=u),p>d){if(i+d>=r||(c.object===void 0&&a.push({node:c,inheritedCost:d}),i+p>=r))continue;l.object===void 0&&a.push({node:l,inheritedCost:p})}else{if(i+p>=r||(l.object===void 0&&a.push({node:l,inheritedCost:p}),i+d>=r))continue;c.object===void 0&&a.push({node:c,inheritedCost:d})}}while(o=a.pop());return n}refit(e){for(Jt(e.left.box,e.right.box,e.box);e=e.parent;)if(!Yt(e.left.box,e.right.box,e.box))return}refitAndRotate(e,t){let n=e.box;e=e.parent;let r=e.box;for(Jt(n,t.box,r);e=e.parent;){let t=e.box;if(!Zt(n,t))return;let r=e.left,i=e.right,a=r.box,o=i.box,s=null,c=null,l=0;if(i.object===void 0){let e=i.left,t=i.right,n=W(i.box),o=n-G(a,e.box),u=n-G(a,t.box);o>u?o>0&&(s=r,c=t,l=o):u>0&&(s=r,c=e,l=u)}if(r.object===void 0){let e=r.left,t=r.right,n=W(r.box),a=n-G(o,e.box),u=n-G(o,t.box);a>u?a>l&&(s=i,c=t):u>l&&(s=i,c=e)}s!==null&&this.swap(s,c)}}swap(e,t){let n=e.parent,r=t.parent,i=r.box;n.left===e?n.left=t:n.right=t,r.left===t?r.left=e:r.right=e,e.parent=r,t.parent=n,Jt(r.left.box,r.right.box,i)}},an=class{constructor(e,t){this.coordinateSystem=t,this.array=e?new Float64Array(24):new Float32Array(24)}setFromProjectionMatrix(e){if(this.updatePlane(0,e[3]+e[0],e[7]+e[4],e[11]+e[8],e[15]+e[12]),this.updatePlane(1,e[3]-e[0],e[7]-e[4],e[11]-e[8],e[15]-e[12]),this.updatePlane(2,e[3]-e[1],e[7]-e[5],e[11]-e[9],e[15]-e[13]),this.updatePlane(3,e[3]+e[1],e[7]+e[5],e[11]+e[9],e[15]+e[13]),this.updatePlane(4,e[3]-e[2],e[7]-e[6],e[11]-e[10],e[15]-e[14]),this.coordinateSystem===0)this.updatePlane(5,e[3]+e[2],e[7]+e[6],e[11]+e[10],e[15]+e[14]);else if(this.coordinateSystem===1)this.updatePlane(5,e[2],e[6],e[10],e[14]);else throw Error(`Invalid coordinate system: `+this.coordinateSystem);return this}updatePlane(e,t,n,r,i){let a=this.array,o=e*4,s=Math.sqrt(t*t+n*n+r*r);a[o+0]=t/s,a[o+1]=n/s,a[o+2]=r/s,a[o+3]=i/s}intersectsBoxMask(e,t){let n=this.array,r,i,a,o,s,c;for(let l=0;l<6;l++){if(!(t&32>>l))continue;let u=l*4,d=n[u+0],f=n[u+1],p=n[u+2],m=n[u+3];if(d>0?(r=e[1],o=e[0]):(r=e[0],o=e[1]),f>0?(i=e[3],s=e[2]):(i=e[2],s=e[3]),p>0?(a=e[5],c=e[4]):(a=e[4],c=e[5]),d*r+f*i+p*a<-m)return-1;d*o+f*s+p*c>-m&&(t^=32>>l)}return t}isIntersected(e,t){let n=this.array;for(let r=0;r<6;r++){if(!(t&32>>r))continue;let i=r*4,a=n[i+0],o=n[i+1],s=n[i+2],c=n[i+3],l=a>0?e[1]:e[0],u=o>0?e[3]:e[2],d=s>0?e[5]:e[4];if(a*l+o*u+s*d<-c)return!1}return!0}isIntersectedMargin(e,t,n){if(t===0)return!0;let r=this.array;for(let i=0;i<6;i++){if(!(t&32>>i))continue;let a=i*4,o=r[a+0],s=r[a+1],c=r[a+2],l=r[a+3],u=o>0?e[1]-n:e[0]+n,d=s>0?e[3]-n:e[2]+n,f=c>0?e[5]-n:e[4]+n;if(o*u+s*d+c*f<-l)return!1}return!0}};function on(e,t,n,r,i,a){let o=r[0],s=t[0],c=n[0],l=(e[o]-s)*c,u=(e[o^1]-s)*c,d=l>0?l:0,f=u<1/0?u:1/0;return o=r[1],s=t[1],c=n[1],l=(e[o+2]-s)*c,l>f||(u=(e[o^3]-s)*c,d>u)||(d=l>d?l:d,f=u<f?u:f,o=r[2],s=t[2],c=n[2],l=(e[o+4]-s)*c,l>f)||(u=(e[o^5]-s)*c,d>u)?!1:(d=l>d?l:d,f=u<f?u:f,d<=a&&f>=i)}function sn(e,t){return e[1]>=t[0]&&t[1]>=e[0]&&e[3]>=t[2]&&t[3]>=e[2]&&e[5]>=t[4]&&t[5]>=e[4]}function cn(e,t,n){return en(n,e)<=t*t}var ln=class{constructor(e,t=0){this._sign=new Uint8Array(3),this.builder=e;let n=e.highPrecision;this.frustum=new an(n,t),this._dirInv=n?new Float64Array(3):new Float32Array(3)}get root(){return this.builder.root}createFromArray(e,t,n,r){e?.length>0&&this.builder.createFromArray(e,t,n,r)}insert(e,t,n){return this.builder.insert(e,t,n)}insertRange(e,t,n,r){e?.length>0&&this.builder.insertRange(e,t,n,r)}move(e,t){this.builder.move(e,t)}delete(e){return this.builder.delete(e)}clear(){this.builder.clear()}traverse(e){if(this.root===null)return;t(this.root,0);function t(n,r){if(n.object!==void 0){e(n,r);return}e(n,r)||(t(n.left,r+1),t(n.right,r+1))}}intersectsRay(e,t,n,r=0,i=1/0){if(this.root===null)return!1;let a=this._dirInv,o=this._sign;return a[0]=1/e[0],a[1]=1/e[1],a[2]=1/e[2],o[0]=+(a[0]<0),o[1]=+(a[1]<0),o[2]=+(a[2]<0),s(this.root);function s(e){return on(e.box,t,a,o,r,i)?e.object===void 0?s(e.left)||s(e.right):n(e.object):!1}}intersectsBox(e,t){return this.root!==null&&n(this.root);function n(r){return sn(e,r.box)?r.object===void 0?n(r.left)||n(r.right):t(r.object):!1}}intersectsSphere(e,t,n){return this.root!==null&&r(this.root);function r(i){return cn(e,t,i.box)?i.object===void 0?r(i.left)||r(i.right):n(i.object):!1}}isNodeIntersected(e,t){let n=e.box,r;for(;r=e.parent;){if(i(r.left===e?r.right:r.left))return!0;e=r}return!1;function i(e){return sn(n,e.box)?e.object===void 0?i(e.left)||i(e.right):t(e.object):!1}}rayIntersections(e,t,n,r=0,i=1/0){if(this.root===null)return;let a=this._dirInv,o=this._sign;a[0]=1/e[0],a[1]=1/e[1],a[2]=1/e[2],o[0]=+(a[0]<0),o[1]=+(a[1]<0),o[2]=+(a[2]<0),s(this.root);function s(e){if(on(e.box,t,a,o,r,i)){if(e.object!==void 0){n(e.object);return}s(e.left),s(e.right)}}}frustumCulling(e,t){if(this.root===null)return;let n=this.frustum.setFromProjectionMatrix(e);r(this.root,63);function r(e,a){if(e.object!==void 0){n.isIntersected(e.box,a)&&t(e,n,a);return}if(a=n.intersectsBoxMask(e.box,a),!(a<0)){if(a===0){i(e.left),i(e.right);return}r(e.left,a),r(e.right,a)}}function i(e){if(e.object!==void 0){t(e,n,0);return}i(e.left),i(e.right)}}frustumCullingLOD(e,t,n,r){if(this.root===null)return;let i=this.frustum.setFromProjectionMatrix(e);a(this.root,63,null);function a(e,t,n){let c=e.box;if(n===null&&(n=s(c)),e.object!==void 0){i.isIntersected(c,t)&&r(e,n,i,t);return}if(t=i.intersectsBoxMask(c,t),!(t<0)){if(t===0){o(e.left,n),o(e.right,n);return}a(e.left,t,n),a(e.right,t,n)}}function o(e,t){if(t===null&&(t=s(e.box)),e.object!==void 0){r(e,t,i,0);return}o(e.left,t),o(e.right,t)}function s(e){let{min:r,max:i}=tn(e,t);for(let e=n.length-1;e>0;e--)if(i>=n[e])return r>=n[e]?e:null;return 0}}closestPointToPoint(e,t){if(this.root===null)return;let n=1/0;return r(this.root),Math.sqrt(n);function r(i){if(i.object!==void 0){if(t){let r=t(i.object)??en(i.box,e);r<n&&(n=r)}else n=en(i.box,e);return}let a=en(i.left.box,e),o=en(i.right.box,e);a<o?a<n&&(r(i.left),o<n&&r(i.right)):o<n&&(r(i.right),a<n&&r(i.left))}}};function un(e,t){return t[0]=e.x,t[1]=e.y,t[2]=e.z,t}function dn(e,t){let n=e.min,r=e.max;return t[0]=n.x,t[1]=r.x,t[2]=n.y,t[3]=r.y,t[4]=n.z,t[5]=r.z,t}var fn=class{constructor(e,t,n){if(this.isInstanceEntity=!0,this.position=new l,this.scale=new l(1,1,1),this.quaternion=new _,this.id=t,this.owner=e,n){let e=this.quaternion,t=this.rotation=new w;t._onChange(()=>e.setFromEuler(t,!1)),e._onChange(()=>t.setFromQuaternion(e,void 0,!1))}}get visible(){return this.owner.getVisibilityAt(this.id)}set visible(e){this.owner.setVisibilityAt(this.id,e)}get active(){return this.owner.getActiveAt(this.id)}set active(e){this.owner.setActiveAt(this.id,e)}get color(){return this.owner.getColorAt(this.id)}set color(e){this.owner.setColorAt(this.id,e)}get opacity(){return this.owner.getOpacityAt(this.id)}set opacity(e){this.owner.setOpacityAt(this.id,e)}get morph(){return this.owner.getMorphAt(this.id)}set morph(e){this.owner.setMorphAt(this.id,e)}get matrix(){return this.owner.getMatrixAt(this.id)}get matrixWorld(){return this.matrix.premultiply(this.owner.matrixWorld)}setMatrixIdentity(){let e=this.owner,t=e.matricesTexture._data,n=this.id,r=n*16;t[r+0]=1,t[r+1]=0,t[r+2]=0,t[r+3]=0,t[r+4]=0,t[r+5]=1,t[r+6]=0,t[r+7]=0,t[r+8]=0,t[r+9]=0,t[r+10]=1,t[r+11]=0,t[r+12]=0,t[r+13]=0,t[r+14]=0,t[r+15]=1,e.matricesTexture.enqueueUpdate(n)}updateMatrix(){let e=this.owner,t=this.position,n=this.quaternion,r=this.scale,i=e.matricesTexture._data,a=this.id,o=a*16,s=n._x,c=n._y,l=n._z,u=n._w,d=s+s,f=c+c,p=l+l,m=s*d,h=s*f,g=s*p,_=c*f,v=c*p,y=l*p,b=u*d,x=u*f,S=u*p,C=r.x,w=r.y,T=r.z;i[o+0]=(1-(_+y))*C,i[o+1]=(h+S)*C,i[o+2]=(g-x)*C,i[o+3]=0,i[o+4]=(h-S)*w,i[o+5]=(1-(m+y))*w,i[o+6]=(v+b)*w,i[o+7]=0,i[o+8]=(g+x)*T,i[o+9]=(v-b)*T,i[o+10]=(1-(m+_))*T,i[o+11]=0,i[o+12]=t.x,i[o+13]=t.y,i[o+14]=t.z,i[o+15]=1,e.matricesTexture.enqueueUpdate(a),e.bvh&&e.autoUpdateBVH&&e.bvh.move(a)}updateMatrixPosition(){let e=this.owner,t=this.position,n=e.matricesTexture._data,r=this.id,i=r*16;n[i+12]=t.x,n[i+13]=t.y,n[i+14]=t.z,e.matricesTexture.enqueueUpdate(r),e.bvh&&e.autoUpdateBVH&&e.bvh.move(r)}getUniform(e,t){return this.owner.getUniformAt(this.id,e,t)}updateBones(e=!0,t){this.owner.setBonesAt(this.id,e,t)}setUniform(e,t){this.owner.setUniformAt(this.id,e,t)}copyTo(e){e.position.copy(this.position),e.scale.copy(this.scale),e.quaternion.copy(this.quaternion),this.rotation&&e.rotation.copy(this.rotation)}applyMatrix4(e){return this.matrix.premultiply(e).decompose(this.position,this.quaternion,this.scale),this}applyQuaternion(e){return this.quaternion.premultiply(e),this}rotateOnAxis(e,t){return pn.setFromAxisAngle(e,t),this.quaternion.multiply(pn),this}rotateOnWorldAxis(e,t){return pn.setFromAxisAngle(e,t),this.quaternion.premultiply(pn),this}rotateX(e){return this.rotateOnAxis(hn,e)}rotateY(e){return this.rotateOnAxis(gn,e)}rotateZ(e){return this.rotateOnAxis(_n,e)}translateOnAxis(e,t){return mn.copy(e).applyQuaternion(this.quaternion),this.position.add(mn.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(hn,e)}translateY(e){return this.translateOnAxis(gn,e)}translateZ(e){return this.translateOnAxis(_n,e)}remove(){return this.owner.removeInstances(this.id),this}},pn=new _,mn=new l,hn=new l(1,0,0),gn=new l(0,1,0),_n=new l(0,0,1),vn=class{constructor(e,t=0,n=!1,r=!0){this.nodesMap=new Map,this.LODsMap=new Map,this._geoBoundingSphere=null,this._sphereTarget=null,this.target=e,this.accurateCulling=r,this._margin=t;let i=e._geometry;if(i.boundingBox||i.computeBoundingBox(),this.geoBoundingBox=i.boundingBox,n){i.boundingSphere||i.computeBoundingSphere();let e=i.boundingSphere.center;e.x===0&&e.y===0&&e.z===0?(this._geoBoundingSphere=i.boundingSphere,this._sphereTarget={centerX:0,centerY:0,centerZ:0,maxScale:0}):(console.warn(`"getBoxFromSphere" is ignored because geometry is not centered.`),n=!1)}this.bvh=new ln(new rn,0),this._origin=new Float32Array(3),this._dir=new Float32Array(3),this._cameraPos=new Float32Array(3),this._getBoxFromSphere=n}create(){let e=this.target._instancesCount,t=this.target._instancesArrayCount,n=Array(e),r=new Uint32Array(e),i=0;this.clear();for(let e=0;e<t;e++)this.target.getActiveAt(e)&&(n[i]=this.getBox(e,new Float32Array(6)),r[i]=e,i++);this.bvh.createFromArray(r,n,e=>{this.nodesMap.set(e.object,e)},this._margin)}insert(e){let t=this.bvh.insert(e,this.getBox(e,new Float32Array(6)),this._margin);this.nodesMap.set(e,t)}insertRange(e){let t=e.length,n=Array(t);for(let r=0;r<t;r++)n[r]=this.getBox(e[r],new Float32Array(6));this.bvh.insertRange(e,n,this._margin,e=>{this.nodesMap.set(e.object,e)})}move(e){let t=this.nodesMap.get(e);t&&(this.getBox(e,t.box),this.bvh.move(t,this._margin))}delete(e){let t=this.nodesMap.get(e);t&&(this.bvh.delete(t),this.nodesMap.delete(e))}clear(){this.bvh.clear(),this.nodesMap.clear()}frustumCulling(e,t){this._margin>0&&this.accurateCulling?this.bvh.frustumCulling(e.elements,(e,n,r)=>{n.isIntersectedMargin(e.box,r,this._margin)&&t(e)}):this.bvh.frustumCulling(e.elements,t)}frustumCullingLOD(e,t,n,r){this.LODsMap.has(n)||this.LODsMap.set(n,new Float32Array(n.length));let i=this.LODsMap.get(n);for(let e=0;e<n.length;e++)i[e]=n[e].distance;let a=this._cameraPos;a[0]=t.x,a[1]=t.y,a[2]=t.z,this._margin>0&&this.accurateCulling?this.bvh.frustumCullingLOD(e.elements,a,i,(e,t,n,i)=>{n.isIntersectedMargin(e.box,i,this._margin)&&r(e,t)}):this.bvh.frustumCullingLOD(e.elements,a,i,r)}raycast(e,t){let n=e.ray,r=this._origin,i=this._dir;un(n.origin,r),un(n.direction,i),this.bvh.rayIntersections(i,r,t,e.near,e.far)}intersectBox(e,t){this._boxArray||=new Float32Array(6);let n=this._boxArray;return dn(e,n),this.bvh.intersectsBox(n,t)}getBox(e,t){if(this._getBoxFromSphere){let n=this.target.matricesTexture._data,{centerX:r,centerY:i,centerZ:a,maxScale:o}=this.getSphereFromMatrix_centeredGeometry(e,n,this._sphereTarget),s=this._geoBoundingSphere.radius*o;t[0]=r-s,t[1]=r+s,t[2]=i-s,t[3]=i+s,t[4]=a-s,t[5]=a+s}else yn.copy(this.geoBoundingBox).applyMatrix4(this.target.getMatrixAt(e)),dn(yn,t);return t}getSphereFromMatrix_centeredGeometry(e,t,n){let r=e*16,i=t[r+0],a=t[r+1],o=t[r+2],s=t[r+4],c=t[r+5],l=t[r+6],u=t[r+8],d=t[r+9],f=t[r+10],p=i*i+a*a+o*o,m=s*s+c*c+l*l,h=u*u+d*d+f*f;return n.maxScale=Math.sqrt(Math.max(p,m,h)),n.centerX=t[r+12],n.centerY=t[r+13],n.centerZ=t[r+14],n}},yn=new n,bn=class extends k{constructor(e,t,n,r,i,a=1){let o=e.createBuffer();super(o,t,n,r,i.length/n),this.isGLInstancedBufferAttribute=!0,this._needsUpdate=!1,this.isInstancedBufferAttribute=!0,this.meshPerAttribute=a,this.array=i,this._cacheArray=i,e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,i,e.DYNAMIC_DRAW)}update(e,t){if(!this._needsUpdate||t===0)return;let n=e.getContext();n.bindBuffer(n.ARRAY_BUFFER,this.buffer),this.array===this._cacheArray?n.bufferSubData(n.ARRAY_BUFFER,0,this.array,0,t):(n.bufferData(n.ARRAY_BUFFER,this.array,n.DYNAMIC_DRAW),this._cacheArray=this.array),this._needsUpdate=!1}clone(){return this}},xn=null,Sn=null,Cn={};function wn(e){return Sn.get(e)?.()??xn(e)}function Tn(e){if(Sn.has(e))return;let t={};Sn.set(e,()=>{if(e.isMeshDistanceMaterial){let n=xn(e);t.light=n.light}return t})}function En(e,t,n){let r=t.properties;xn=r.get;let i=`${!!e.colorsTexture}_${e._useOpacity}_${!!e.boneTexture}_${!!e.uniformsTexture}`;Cn[i]??=new WeakMap,Sn=Cn[i],r.get=wn,Tn(n)}function Dn(e){e.properties.get=xn}function On(e,t){return Math.max(t,Math.ceil(Math.sqrt(e/t))*t)}function kn(e,t,n,r){t===3&&(console.warn(`"channels" cannot be 3. Set to 4. More info: https://github.com/mrdoob/three.js/pull/23228`),t=4);let i=On(r,n),a=new e(i*i*t),s=e.name.includes(`Float`),c=e.name.includes(`Uint`),l=s?b:c?o:m,d;switch(t){case 1:d=s?T:g;break;case 2:d=s?E:x;break;case 4:d=s?O:u}return{array:a,size:i,type:l,format:d}}var An=class extends s{constructor(e,t,n,r,i,a){t===3&&(t=4);let{array:o,format:s,size:c,type:l}=kn(e,t,n,r);super(o,c,c,s,l),this.partialUpdate=!0,this.maxUpdateCalls=1/0,this._utils=null,this._needsUpdate=!0,this._lastWidth=-1,this._data=o,this._channels=t,this._pixelsPerInstance=n,this._stride=n*t,this._rowToUpdate=Array(c),this._uniformMap=i,this._fetchUniformsInFragmentShader=a,this.needsUpdate=!0}resize(e){let t=On(e,this._pixelsPerInstance);if(t===this.image.width)return;let n=this._data,r=this._channels;this._rowToUpdate.length=t;let i=n.constructor,a=new i(t*t*r),o=Math.min(n.length,a.length);a.set(new i(n.buffer,0,o)),this.dispose(),this.image={data:a,height:t,width:t},this._data=a}enqueueUpdate(e){if(this._needsUpdate=!0,!this.partialUpdate)return;let t=this.image.width/this._pixelsPerInstance,n=Math.floor(e/t);this._rowToUpdate[n]=!0}bindToProgram(e,t,n,r,i){if(!r[i])return;r[i].value=this;let a=this.getSlot(n,i);if(a===void 0)return;let o=e.properties.get(this);e.state.bindTexture(t.TEXTURE_2D,o.__webglTexture,t.TEXTURE0+a)}update(e,t,n){let r=e.properties.get(this),i=r.__version!==this.version;if(!this._needsUpdate&&!i)return;let a=this._lastWidth!==this.image.width;if(!r.__webglTexture||a)e.initTexture(this);else{let i=this.getSlot(t,n)??e.capabilities.maxTextures-1;this.partialUpdate?this.updatePartial(r,e,i):this.updateFull(r,e,i),r.__version=this.version}this._lastWidth=this.image.width,this._needsUpdate=!1}getSlot(e,t){return e[t]?.cache[0]}updateFull(e,t,n){this.updateRows(e,t,[{row:0,count:this.image.height}],n)}updatePartial(e,t,n){let r=this.getUpdateRowsInfo();r.length!==0&&(r.length>this.maxUpdateCalls?this.updateFull(e,t,n):this.updateRows(e,t,r,n),this._rowToUpdate.fill(!1))}getUpdateRowsInfo(){let e=this._rowToUpdate,t=[];for(let n=0,r=e.length;n<r;n++)if(e[n]){let i=n;for(;n<r&&e[n];n++);t.push({row:i,count:n-i})}return t}updateRows(e,t,n,r){let i=t.getContext();this._utils??=new te(i,t.extensions,t.capabilities);let a=this._utils.convert(this.format),o=this._utils.convert(this.type),{data:s,width:c}=this.image,l=this._channels;t.state.activeTexture(i.TEXTURE0+r),t.state.bindTexture(i.TEXTURE_2D,e.__webglTexture,i.TEXTURE0+r);let u=S.getPrimaries(S.workingColorSpace),d=this.colorSpace===``?null:S.getPrimaries(this.colorSpace),f=this.colorSpace===``||u===d?i.NONE:i.BROWSER_DEFAULT_WEBGL,p=i.getParameter(i.UNPACK_FLIP_Y_WEBGL),m=i.getParameter(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL),h=i.getParameter(i.UNPACK_ALIGNMENT),g=i.getParameter(i.UNPACK_COLORSPACE_CONVERSION_WEBGL);i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,this.flipY),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),i.pixelStorei(i.UNPACK_ALIGNMENT,this.unpackAlignment),i.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,f);for(let{count:e,row:t}of n)i.texSubImage2D(i.TEXTURE_2D,0,0,t,c,e,a,o,s,t*c*l);i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,p),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,m),i.pixelStorei(i.UNPACK_ALIGNMENT,h),i.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,g),this.onUpdate?.(this)}setUniformAt(e,t,n){let{offset:r,size:i}=this._uniformMap.get(t),a=this._stride;i===1?this._data[e*a+r]=n:n.toArray(this._data,e*a+r)}getUniformAt(e,t,n){let{offset:r,size:i}=this._uniformMap.get(t),a=this._stride;return i===1?this._data[e*a+r]:n.fromArray(this._data,e*a+r)}getUniformsGLSL(e,t,n){return{vertex:this.getUniformsVertexGLSL(e,t,n),fragment:this.getUniformsFragmentGLSL(e,t,n)}}getUniformsVertexGLSL(e,t,n){if(this._fetchUniformsInFragmentShader)return`
|
|
10
|
+
flat varying ${n} ez_v${t};
|
|
11
|
+
void main() {
|
|
12
|
+
ez_v${t} = ${t};`;let r=this.texelsFetchGLSL(e,t),i=this.getFromTexelsGLSL(),{assignVarying:a,declareVarying:o}=this.getVarying();return`
|
|
13
|
+
uniform highp sampler2D ${e};
|
|
14
|
+
${o}
|
|
15
|
+
void main() {
|
|
16
|
+
${r}
|
|
17
|
+
${i}
|
|
18
|
+
${a}`}getUniformsFragmentGLSL(e,t,n){if(!this._fetchUniformsInFragmentShader){let{declareVarying:e,getVarying:t}=this.getVarying();return`
|
|
19
|
+
${e}
|
|
20
|
+
void main() {
|
|
21
|
+
${t}`}return`
|
|
22
|
+
uniform highp sampler2D ${e};
|
|
23
|
+
flat varying ${n} ez_v${t};
|
|
24
|
+
void main() {
|
|
25
|
+
${this.texelsFetchGLSL(e,`ez_v${t}`)}
|
|
26
|
+
${this.getFromTexelsGLSL()}`}texelsFetchGLSL(e,t){let n=this._pixelsPerInstance,r=`
|
|
27
|
+
int size = textureSize(${e}, 0).x;
|
|
28
|
+
int j = int(${t}) * ${n};
|
|
29
|
+
int x = j % size;
|
|
30
|
+
int y = j / size;
|
|
31
|
+
`;for(let t=0;t<n;t++)r+=`vec4 ez_texel${t} = texelFetch(${e}, ivec2(x + ${t}, y), 0);
|
|
32
|
+
`;return r}getFromTexelsGLSL(){let e=this._uniformMap,t=``;for(let[n,{type:r,offset:i,size:a}]of e){let e=Math.floor(i/this._channels);if(r===`mat3`)t+=`mat3 ${n} = mat3(ez_texel${e}.rgb, vec3(ez_texel${e}.a, ez_texel${e+1}.rg), vec3(ez_texel${e+1}.ba, ez_texel${e+2}.r));
|
|
33
|
+
`;else if(r===`mat4`)t+=`mat4 ${n} = mat4(ez_texel${e}, ez_texel${e+1}, ez_texel${e+2}, ez_texel${e+3});
|
|
34
|
+
`;else{let o=this.getUniformComponents(i,a);t+=`${r} ${n} = ez_texel${e}.${o};
|
|
35
|
+
`}}return t}getVarying(){let e=this._uniformMap,t=``,n=``,r=``;for(let[i,{type:a}]of e)t+=`flat varying ${a} ez_v${i};
|
|
36
|
+
`,n+=`ez_v${i} = ${i};
|
|
37
|
+
`,r+=`${a} ${i} = ez_v${i};
|
|
38
|
+
`;return{declareVarying:t,assignVarying:n,getVarying:r}}getUniformComponents(e,t){let n=e%this._channels,r=``;for(let e=0;e<t;e++)r+=jn[n+e];return r}copy(e){return super.copy(e),this.partialUpdate=e.partialUpdate,this.maxUpdateCalls=e.maxUpdateCalls,this._channels=e._channels,this._pixelsPerInstance=e._pixelsPerInstance,this._stride=e._stride,this._rowToUpdate=e._rowToUpdate,this._uniformMap=e._uniformMap,this._fetchUniformsInFragmentShader=e._fetchUniformsInFragmentShader,this}},jn=[`r`,`g`,`b`,`a`],K=class extends c{constructor(e,n,r={},i){if(!e)throw Error(`"geometry" is mandatory.`);if(!n)throw Error(`"material" is mandatory.`);let{allowsEuler:a,renderer:o,createEntities:s}=r;super(e,null),this.type=`InstancedMesh2`,this.isInstancedMesh2=!0,this.instances=null,this.instanceIndex=null,this.colorsTexture=null,this.morphTexture=null,this.boneTexture=null,this.uniformsTexture=null,this.boundingBox=null,this.boundingSphere=null,this.bvh=null,this.customSort=null,this.raycastOnlyFrustum=!1,this.LODinfo=null,this.autoUpdate=!0,this.bindMode=D,this.bindMatrix=null,this.bindMatrixInverse=null,this.skeleton=null,this.autoUpdateBVH=!0,this.onFrustumEnter=null,this._renderer=null,this._instancesCount=0,this._instancesArrayCount=0,this._perObjectFrustumCulled=!0,this._sortObjects=!1,this._indexArrayNeedsUpdate=!1,this._useOpacity=!1,this._currentMaterial=null,this._customProgramCacheKeyBase=null,this._onBeforeCompileBase=null,this._definesBase=null,this._freeIds=[],this.isInstancedMesh=!0,this.instanceMatrix=new t(new Float32Array,16),this.instanceColor=null,this._customProgramCacheKey=()=>`ez_${!!this.colorsTexture}_${this._useOpacity}_${!!this.boneTexture}_${!!this.uniformsTexture}_${this._customProgramCacheKeyBase.call(this._currentMaterial)}`,this._onBeforeCompile=(e,t)=>{if(this._onBeforeCompileBase&&this._onBeforeCompileBase.call(this._currentMaterial,e,t),e.defines={...e.defines},e.defines.USE_INSTANCING_INDIRECT=``,e.uniforms.matricesTexture={value:this.matricesTexture},this.uniformsTexture){e.uniforms.uniformsTexture={value:this.uniformsTexture};let{vertex:t,fragment:n}=this.uniformsTexture.getUniformsGLSL(`uniformsTexture`,`instanceIndex`,`uint`);e.vertexShader=e.vertexShader.replace(`void main() {`,t),e.fragmentShader=e.fragmentShader.replace(`void main() {`,n)}this.colorsTexture&&e.fragmentShader.includes(`#include <color_pars_fragment>`)&&(e.defines.USE_INSTANCING_COLOR_INDIRECT=``,e.uniforms.colorsTexture={value:this.colorsTexture},e.vertexShader=e.vertexShader.replace(`<color_vertex>`,`<instanced_color_vertex>`),e.vertexColors&&(e.defines.USE_VERTEX_COLOR=``),e.defines.USE_COLOR_ALPHA=``),this.boneTexture&&(e.defines.USE_SKINNING=``,e.defines.USE_INSTANCING_SKINNING=``,e.uniforms.bindMatrix={value:this.bindMatrix},e.uniforms.bindMatrixInverse={value:this.bindMatrixInverse},e.uniforms.bonesPerInstance={value:this.skeleton.bones.length},e.uniforms.boneTexture={value:this.boneTexture})};let c=r.capacity>0?r.capacity:Mn;this._renderer=o,this._capacity=c,this._parentLOD=i,this._geometry=e,this.material=n,this._allowsEuler=a??!1,this._tempInstance=new fn(this,-1,a),this.availabilityArray=i?.availabilityArray??Array(c*2),this._createEntities=s,this.initLastRenderInfo(),this.initIndexAttribute(),this.initMatricesTexture()}get capacity(){return this._capacity}get instancesCount(){return this._instancesCount}get perObjectFrustumCulled(){return this._perObjectFrustumCulled}set perObjectFrustumCulled(e){this._perObjectFrustumCulled=e,this._indexArrayNeedsUpdate=!0}get sortObjects(){return this._sortObjects}set sortObjects(e){this._sortObjects=e,this._indexArrayNeedsUpdate=!0}get geometry(){return this._geometry}set geometry(e){this._geometry=e,this.patchGeometry(e)}onBeforeShadow(e,t,n,r,i,a,o){this.patchMaterial(e,a),this.updateTextures(e,a);let s=e.info.render.frame;this.instanceIndex&&this.autoUpdate&&!this.frustumCullingAlreadyPerformed(s,n,r)&&this.performFrustumCulling(r,n),this.count!==0&&(this.instanceIndex.update(this._renderer,this.count),this.bindTextures(e,a))}onBeforeRender(e,t,n,r,i,a){if(this.patchMaterial(e,i),this.updateTextures(e,i),!this.instanceIndex){this._renderer=e;return}let o=e.info.render.frame;this.autoUpdate&&!this.frustumCullingAlreadyPerformed(o,n,null)&&this.performFrustumCulling(n),this.count!==0&&(this.instanceIndex.update(this._renderer,this.count),this.bindTextures(e,i))}onAfterShadow(e,t,n,r,i,a,o){this.unpatchMaterial(e,a)}onAfterRender(e,t,n,r,i,a){this.unpatchMaterial(e,i),!(this.instanceIndex||a&&!this.isLastGroup(a.materialIndex))&&this.initIndexAttribute()}updateTextures(e,t){let n=e.properties.get(t);this.matricesTexture.update(e,n,`matricesTexture`),this.colorsTexture?.update(e,n,`colorsTexture`),this.uniformsTexture?.update(e,n,`uniformsTexture`),this.boneTexture?.update(e,n,`boneTexture`)}bindTextures(e,t){let n=e.properties.get(t),r=n.uniforms;if(!r)return;let i=n.currentProgram,a=i?.program;if(!a)return;let o=e.getContext(),s=i.getUniforms().map,c=o.getParameter(o.CURRENT_PROGRAM);e.state.useProgram(a),this.matricesTexture.bindToProgram(e,o,s,r,`matricesTexture`),this.colorsTexture?.bindToProgram(e,o,s,r,`colorsTexture`),this.uniformsTexture?.bindToProgram(e,o,s,r,`uniformsTexture`),this.boneTexture?.bindToProgram(e,o,s,r,`boneTexture`),e.state.useProgram(c)}isLastGroup(e){let t=this.material;for(let n=t.length-1;n>=e;n--)if(t[n].visible)return n===e}initIndexAttribute(){if(!this._renderer){this.count=0;return}let e=this._renderer.getContext(),t=this._capacity,n=new Uint32Array(t);for(let e=0;e<t;e++)n[e]=e;this.instanceIndex=new bn(e,e.UNSIGNED_INT,1,4,n),this._geometry.setAttribute(`instanceIndex`,this.instanceIndex)}initLastRenderInfo(){this._parentLOD||(this._lastRenderInfo={frame:-1,camera:null,shadowCamera:null})}initMatricesTexture(){this._parentLOD||(this.matricesTexture=new An(Float32Array,4,4,this._capacity))}initColorsTexture(){this._parentLOD||(this.colorsTexture=new An(Float32Array,4,1,this._capacity),this.colorsTexture.colorSpace=S.workingColorSpace,this.colorsTexture._data.fill(1),this.materialsNeedsUpdate())}materialsNeedsUpdate(){if(this.material.isMaterial){this.material.needsUpdate=!0;return}for(let e of this.material)e.needsUpdate=!0}patchGeometry(e){let t=e.getAttribute(`instanceIndex`);if(t){if(t===this.instanceIndex)return;console.warn(`The geometry has been cloned because it was already used.`),e=e.clone(),e.deleteAttribute(`instanceIndex`)}this.instanceIndex&&e.setAttribute(`instanceIndex`,this.instanceIndex)}patchMaterial(e,t){this._currentMaterial=t,this._customProgramCacheKeyBase=t.customProgramCacheKey,this._onBeforeCompileBase=t.onBeforeCompile,this._definesBase=t.defines,t.customProgramCacheKey=this._customProgramCacheKey,t.onBeforeCompile=this._onBeforeCompile,En(this,e,t)}unpatchMaterial(e,t){this._currentMaterial=null,Dn(e),t.defines=this._definesBase,t.onBeforeCompile=this._onBeforeCompileBase,t.customProgramCacheKey=this._customProgramCacheKeyBase,this._onBeforeCompileBase=null,this._customProgramCacheKeyBase=null,this._definesBase=null}computeBVH(e={}){this.bvh||=new vn(this,e.margin,e.getBBoxFromBSphere,e.accurateCulling),this.bvh.clear(),this.bvh.create()}disposeBVH(){this.bvh=null}setMatrixAt(e,t){if(t.toArray(this.matricesTexture._data,e*16),this.instances){let n=this.instances[e];t.decompose(n.position,n.quaternion,n.scale)}this.matricesTexture.enqueueUpdate(e),this.bvh&&this.autoUpdateBVH&&this.bvh.move(e)}getMatrixAt(e,t=Fn){return t.fromArray(this.matricesTexture._data,e*16)}getPositionAt(e,t=Ln){let n=e*16,r=this.matricesTexture._data;return t.x=r[n+12],t.y=r[n+13],t.z=r[n+14],t}getPositionAndMaxScaleOnAxisAt(e,t){let n=e*16,r=this.matricesTexture._data,i=r[n+0],a=r[n+1],o=r[n+2],s=i*i+a*a+o*o,c=r[n+4],l=r[n+5],u=r[n+6],d=c*c+l*l+u*u,f=r[n+8],p=r[n+9],m=r[n+10],h=f*f+p*p+m*m;return t.x=r[n+12],t.y=r[n+13],t.z=r[n+14],Math.sqrt(Math.max(s,d,h))}applyMatrixAtToSphere(e,t,n,r){let i=e*16,a=this.matricesTexture._data,o=a[i+0],s=a[i+1],c=a[i+2],l=a[i+3],u=a[i+4],d=a[i+5],f=a[i+6],p=a[i+7],m=a[i+8],h=a[i+9],g=a[i+10],_=a[i+11],v=a[i+12],y=a[i+13],b=a[i+14],x=a[i+15],S=t.center,C=n.x,w=n.y,T=n.z,E=1/(l*C+p*w+_*T+x);S.x=(o*C+u*w+m*T+v)*E,S.y=(s*C+d*w+h*T+y)*E,S.z=(c*C+f*w+g*T+b)*E;let D=o*o+s*s+c*c,O=u*u+d*d+f*f,k=m*m+h*h+g*g;t.radius=r*Math.sqrt(Math.max(D,O,k))}setVisibilityAt(e,t){this.availabilityArray[e*2]=t,this._indexArrayNeedsUpdate=!0}getVisibilityAt(e){return this.availabilityArray[e*2]}setActiveAt(e,t){this.availabilityArray[e*2+1]=t,this._indexArrayNeedsUpdate=!0}getActiveAt(e){return this.availabilityArray[e*2+1]}getActiveAndVisibilityAt(e){let t=e*2,n=this.availabilityArray;return n[t]&&n[t+1]}setActiveAndVisibilityAt(e,t){let n=e*2,r=this.availabilityArray;r[n]=t,r[n+1]=t,this._indexArrayNeedsUpdate=!0}setColorAt(e,t){this.colorsTexture===null&&this.initColorsTexture(),t.isColor?t.toArray(this.colorsTexture._data,e*4):In.set(t).toArray(this.colorsTexture._data,e*4),this.colorsTexture.enqueueUpdate(e)}getColorAt(e,t=In){return t.fromArray(this.colorsTexture._data,e*4)}setOpacityAt(e,t){this._useOpacity||=(this.colorsTexture===null?this.initColorsTexture():this.materialsNeedsUpdate(),!0),this.colorsTexture._data[e*4+3]=t,this.colorsTexture.enqueueUpdate(e)}getOpacityAt(e){return this._useOpacity?this.colorsTexture._data[e*4+3]:1}copyTo(e,t){this.getMatrixAt(e,t.matrix).decompose(t.position,t.quaternion,t.scale)}computeBoundingBox(){let e=this._geometry,t=this._instancesArrayCount;this.boundingBox??=new n,e.boundingBox===null&&e.computeBoundingBox();let r=e.boundingBox,i=this.boundingBox;i.makeEmpty();for(let e=0;e<t;e++)this.getActiveAt(e)&&(Nn.copy(r).applyMatrix4(this.getMatrixAt(e)),i.union(Nn))}computeBoundingSphere(){let e=this._geometry,t=this._instancesArrayCount;this.boundingSphere??=new r,e.boundingSphere===null&&e.computeBoundingSphere();let n=e.boundingSphere,i=this.boundingSphere;i.makeEmpty();for(let e=0;e<t;e++)this.getActiveAt(e)&&(Pn.copy(n).applyMatrix4(this.getMatrixAt(e)),i.union(Pn))}clone(e){let t={capacity:this._capacity,renderer:this._renderer,allowsEuler:this._allowsEuler,createEntities:this._createEntities};return new this.constructor(this.geometry,this.material,t).copy(this,e)}copy(e,t){return super.copy(e,t),this.count=e._capacity,this._instancesCount=e._instancesCount,this._instancesArrayCount=e._instancesArrayCount,this._capacity=e._capacity,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this.matricesTexture=e.matricesTexture.clone(),this.matricesTexture.image.data=this.matricesTexture.image.data.slice(),e.colorsTexture!==null&&(this.colorsTexture=e.colorsTexture.clone(),this.colorsTexture.image.data=this.colorsTexture.image.data.slice()),e.uniformsTexture!==null&&(this.uniformsTexture=e.uniformsTexture.clone(),this.uniformsTexture.image.data=this.uniformsTexture.image.data.slice()),e.morphTexture!==null&&(this.morphTexture=e.morphTexture.clone(),this.morphTexture.image.data=this.morphTexture.image.data.slice()),e.boneTexture!==null&&(this.boneTexture=e.boneTexture.clone(),this.boneTexture.image.data=this.boneTexture.image.data.slice()),this}dispose(){this.dispatchEvent({type:`dispose`}),this.matricesTexture.dispose(),this.colorsTexture?.dispose(),this.morphTexture?.dispose(),this.boneTexture?.dispose(),this.uniformsTexture?.dispose()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMatrixInverse&&(this.bindMode===`attached`?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===`detached`?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn(`Unrecognized bindMode: `+this.bindMode))}},Mn=1e3,Nn=new n,Pn=new r,Fn=new p,In=new v,Ln=new l;K.prototype.resizeBuffers=function(e){let t=this._capacity;this._capacity=e;let n=Math.min(e,t);if(this.instanceIndex){let t=new Uint32Array(e);t.set(new Uint32Array(this.instanceIndex.array.buffer,0,n)),this.instanceIndex.array=t}if(this.LODinfo){for(let t of this.LODinfo.objects)if(t._capacity=e,t.instanceIndex){let r=new Uint32Array(e);r.set(new Uint32Array(t.instanceIndex.array.buffer,0,n)),t.instanceIndex.array=r}}if(this.availabilityArray.length=e*2,this.matricesTexture.resize(e),this.colorsTexture&&(this.colorsTexture.resize(e),e>t&&this.colorsTexture._data.fill(1,t*4)),this.morphTexture){let n=this.morphTexture.image.data,r=n.length/t;this.morphTexture.dispose(),this.morphTexture=new s(new Float32Array(r*e),r,e,T,b),this.morphTexture.image.data.set(n)}return this.uniformsTexture?.resize(e),this},K.prototype.setInstancesArrayCount=function(e){if(e<this._instancesArrayCount){let t=this.bvh;if(t)for(let n=this._instancesArrayCount-1;n>=e;n--)this.getActiveAt(n)&&t.delete(n);this._instancesArrayCount=e;return}if(e>this._capacity){let t=this._capacity+(this._capacity>>1)+512;for(;t<e;)t+=(t>>1)+512;this.resizeBuffers(t)}let t=this._instancesArrayCount;this._instancesArrayCount=e,this._createEntities&&this.createEntities(t)};function Rn(e,t){return e.depth-t.depth}function zn(e,t){return t.depth-e.depth}var Bn=class{constructor(){this.array=[],this.pool=[]}push(e,t){let n=this.pool,r=this.array,i=r.length;i>=n.length&&n.push({depth:null,index:null,depthSort:null});let a=n[i];a.depth=e,a.index=t,r.push(a)}reset(){this.array.length=0}},Vn=new ee,q=new Bn,J=new p,Y=new p,Hn=new l,Un=new l,X=new l,Wn=new l,Z=new r;K.prototype.performFrustumCulling=function(e,t=e){let n=this._parentLOD??this,r=n.LODinfo,i;if(r){i=e===t?r.render:r.shadowRender??r.render;for(let e of r.objects)e.count=0}else(n._perObjectFrustumCulled||n._sortObjects)&&(n.count=0);n._instancesArrayCount!==0&&(i?.levels.length>0?n.frustumCullingLOD(i,e,t):n.frustumCulling(e))},K.prototype.updateLastRenderInfo=function(e,t,n){let r=this._lastRenderInfo;r.frame=e,r.camera=t,r.shadowCamera=n},K.prototype.frustumCullingAlreadyPerformed=function(e,t,n){let r=this._lastRenderInfo;return r.frame===e&&r.camera===t&&r.shadowCamera===n||(this.updateLastRenderInfo(e,t,n),!1)},K.prototype.frustumCulling=function(e){let t=this._sortObjects,n=this._perObjectFrustumCulled,r=this.instanceIndex.array;if(this.instanceIndex._needsUpdate=!0,!n&&!t){this.updateIndexArray();return}if(t&&(Y.copy(this.matrixWorld).invert(),Un.setFromMatrixPosition(e.matrixWorld).applyMatrix4(Y),Hn.set(0,0,-1).transformDirection(e.matrixWorld).transformDirection(Y)),n?(J.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse).multiply(this.matrixWorld),this.bvh?this.BVHCulling(e):this.linearCulling(e)):this.updateRenderList(),t){let e=this.customSort;e===null?q.array.sort(this.material?.transparent?zn:Rn):e(q.array);let t=q.array,n=t.length;for(let e=0;e<n;e++)r[e]=t[e].index;this.count=n,q.reset()}},K.prototype.updateIndexArray=function(){if(!this._indexArrayNeedsUpdate)return;let e=this.instanceIndex.array,t=this._instancesArrayCount,n=0;for(let r=0;r<t;r++)this.getActiveAndVisibilityAt(r)&&(e[n++]=r);this.count=n,this._indexArrayNeedsUpdate=!1},K.prototype.updateRenderList=function(){let e=this._instancesArrayCount;for(let t=0;t<e;t++)if(this.getActiveAndVisibilityAt(t)){let e=this.getPositionAt(t).sub(Un).dot(Hn);q.push(e,t)}},K.prototype.BVHCulling=function(e){let t=this.instanceIndex.array,n=this._instancesArrayCount,r=this._sortObjects,i=this.onFrustumEnter,a=0;this.bvh.frustumCulling(J,o=>{let s=o.object;if(s<n&&this.getVisibilityAt(s)&&(!i||i(s,e))){if(r){let e=this.getPositionAt(s).sub(Un).dot(Hn);q.push(e,s)}else t[a++]=s}}),this.count=a},K.prototype.linearCulling=function(e){let t=this.instanceIndex.array;this.geometry.boundingSphere||this.geometry.computeBoundingSphere();let n=this._geometry.boundingSphere,r=n.radius,i=n.center,a=this._instancesArrayCount,o=i.x===0&&i.y===0&&i.z===0,s=this._sortObjects,c=this.onFrustumEnter,l=0;Vn.setFromProjectionMatrix(J);for(let n=0;n<a;n++)if(this.getActiveAndVisibilityAt(n)&&(o?Z.radius=r*this.getPositionAndMaxScaleOnAxisAt(n,Z.center):this.applyMatrixAtToSphere(n,Z,i,r),Vn.intersectsSphere(Z)&&(!c||c(n,e)))){if(s){let e=Wn.subVectors(Z.center,Un).dot(Hn);q.push(e,n)}else t[l++]=n}this.count=l},K.prototype.frustumCullingLOD=function(e,t,n){let{count:r,levels:i}=e;for(let e=0;e<i.length;e++){if(!i[e].object.instanceIndex)return;r[e]=0,i[e].object.instanceIndex._needsUpdate=!0}let a=t===n&&this._sortObjects;J.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse).multiply(this.matrixWorld),Y.copy(this.matrixWorld).invert(),Un.setFromMatrixPosition(t.matrixWorld).applyMatrix4(Y),X.setFromMatrixPosition(n.matrixWorld).applyMatrix4(Y);let o=e.levels.map(e=>e.object.instanceIndex.array);if(this.bvh?this.BVHCullingLOD(e,o,a,t,n):this.linearCullingLOD(e,o,a,t,n),a){let e=this.customSort,t=q.array,n=0,a=i[1].distance;e===null?t.sort(i[0].object.material?.transparent?zn:Rn):e(t);for(let e=0,s=t.length;e<s;e++){let s=t[e];s.depth>a&&(n++,a=i[n+1]?.distance??1/0),o[n][r[n]++]=s.index}q.reset()}for(let e=0;e<i.length;e++){let t=i[e].object;t.count=r[e]}},K.prototype.BVHCullingLOD=function(e,t,n,r,i){let{count:a,levels:o}=e,s=this._instancesArrayCount,c=this.onFrustumEnter;n?this.bvh.frustumCulling(J,e=>{let t=e.object;if(t<s&&this.getVisibilityAt(t)&&(!c||c(t,r,i))){let e=this.getPositionAt(t).distanceToSquared(X);q.push(e,t)}}):this.bvh.frustumCullingLOD(J,X,o,(e,n)=>{let l=e.object;if(l<s&&this.getVisibilityAt(l)){if(n===null){let e=this.getPositionAt(l).distanceToSquared(X);n=this.getObjectLODIndexForDistance(o,e)}(!c||c(l,r,i,n))&&(t[n][a[n]++]=l)}})},K.prototype.linearCullingLOD=function(e,t,n,r,i){let{count:a,levels:o}=e;this.geometry.boundingSphere||this.geometry.computeBoundingSphere();let s=this._geometry.boundingSphere,c=s.radius,l=s.center,u=this._instancesArrayCount,d=l.x===0&&l.y===0&&l.z===0,f=this.onFrustumEnter;Vn.setFromProjectionMatrix(J);for(let e=0;e<u;e++)if(this.getActiveAndVisibilityAt(e)&&(d?Z.radius=c*this.getPositionAndMaxScaleOnAxisAt(e,Z.center):this.applyMatrixAtToSphere(e,Z,l,c),Vn.intersectsSphere(Z))){if(n){if(!f||f(e,r,i)){let t=Z.center.distanceToSquared(X);q.push(t,e)}}else{let n=Z.center.distanceToSquared(X),s=this.getObjectLODIndexForDistance(o,n);(!f||f(e,r,i,s))&&(t[s][a[s]++]=e)}}},K.prototype.clearTempInstance=function(e){let t=this._tempInstance;return t.id=e,this.clearInstance(t)},K.prototype.clearTempInstancePosition=function(e){let t=this._tempInstance;return t.id=e,t.position.set(0,0,0),t},K.prototype.clearInstance=function(e){return e.position.set(0,0,0),e.scale.set(1,1,1),e.quaternion.identity(),e},K.prototype.updateInstances=function(e){let t=this._instancesArrayCount,n=this.instances;for(let r=0;r<t;r++){if(!this.getActiveAt(r))continue;let t=n?n[r]:this.clearTempInstance(r);e(t,r),t.updateMatrix()}return this},K.prototype.updateInstancesPosition=function(e){let t=this._instancesArrayCount,n=this.instances;for(let r=0;r<t;r++){if(!this.getActiveAt(r))continue;let t=n?n[r]:this.clearTempInstancePosition(r);e(t,r),t.updateMatrixPosition()}return this},K.prototype.createEntities=function(e){let t=this._instancesArrayCount;if(!this.instances)this.instances=Array(t);else if(this.instances.length<t)this.instances.length=t;else return this;let n=this.instances;for(let r=e;r<t;r++)n[r]||(n[r]=new fn(this,r,this._allowsEuler));return this},K.prototype.addInstances=function(e,t){!t&&this.bvh&&console.warn("InstancedMesh2: if `computeBVH()` has already been called, it is better to valorize the instances in the `onCreation` callback for better performance.");let n=this._freeIds;if(n.length>0){let r=-1,i=Math.min(n.length,e),a=n.length-i;for(let e=n.length-1;e>=a;e--){let i=n[e];i>r&&(r=i),this.addInstance(i,t)}n.length-=i,e-=i,this._instancesArrayCount=Math.max(r+1,this._instancesArrayCount)}let r=this._instancesArrayCount,i=r+e;this.setInstancesArrayCount(i);for(let e=r;e<i;e++)this.addInstance(e,t);return this},K.prototype.addInstance=function(e,t){this._instancesCount++,this.setActiveAndVisibilityAt(e,!0);let n=this.instances?this.clearInstance(this.instances[e]):this.clearTempInstance(e);t?(t(n,e),n.updateMatrix()):n.setMatrixIdentity(),this.bvh?.insert(e)},K.prototype.removeInstances=function(...e){let t=this._freeIds,n=this.bvh;for(let r of e)r<this._instancesArrayCount&&this.getActiveAt(r)&&(this.setActiveAt(r,!1),t.push(r),n?.delete(r),this._instancesCount--);for(let e=this._instancesArrayCount-1;e>=0&&!this.getActiveAt(e);e--)this._instancesArrayCount--;return this},K.prototype.clearInstances=function(){if(this._instancesCount=0,this._instancesArrayCount=0,this._freeIds.length=0,this.bvh?.clear(),this.LODinfo)for(let e of this.LODinfo.objects)e.count=0;return this},K.prototype.getObjectLODIndexForDistance=function(e,t){for(let n=e.length-1;n>0;n--){let r=e[n];if(t>=r.distance-r.distance*r.hysteresis)return n}return 0},K.prototype.setFirstLODDistance=function(e){if(this._parentLOD)throw Error(`Cannot create LOD for this InstancedMesh2.`);return this.LODinfo||={render:null,shadowRender:null,objects:[this]},this.LODinfo.render||(this.LODinfo.render={levels:[{distance:e,hysteresis:0,object:this}],count:[0]}),this},K.prototype.addLOD=function(e,t,n=0,r=0){if(this._parentLOD)throw Error(`Cannot create LOD for this InstancedMesh2.`);if(!this.LODinfo?.render&&n===0)throw Error(`Cannot set distance to 0 for the first LOD. Call "setFirstLODDistance" method before use "addLOD".`);return this.setFirstLODDistance(0),this.addLevel(this.LODinfo.render,e,t,n,r),this},K.prototype.addShadowLOD=function(e,t=0,n=0){if(this._parentLOD)throw Error(`Cannot create LOD for this InstancedMesh2.`);this.LODinfo||={render:null,shadowRender:null,objects:[this]},this.LODinfo.shadowRender||(this.LODinfo.shadowRender={levels:[],count:[]});let r=this.addLevel(this.LODinfo.shadowRender,e,null,t,n);return r.castShadow=!0,this.castShadow=!0,this},K.prototype.addLevel=function(e,t,n,r,i){let a=this.LODinfo.objects,o=e.levels,s,c;r**=2;let l=a.findIndex(e=>e.geometry===t);if(l===-1){let e={capacity:this._capacity,renderer:this._renderer};c=new K(t,n??new d,e,this),c.frustumCulled=!1,this.patchLevel(c),a.push(c),this.add(c)}else c=a[l],n&&(c.material=n);for(s=0;s<o.length&&!(r<o[s].distance);s++);return o.splice(s,0,{distance:r,hysteresis:i,object:c}),e.count.push(0),c},K.prototype.updateLevel=function(e,t,n,r){if(!e)throw Error(`Render list is invalid.`);let i=e.levels[t];if(!i)throw Error(`Cannot update an empty LOD.`);return n!=null&&!Number.isNaN(n)&&(i.distance=n**2),r!=null&&!Number.isNaN(r)&&(i.hysteresis=r),this},K.prototype.updateLOD=function(e,t,n){let r=this?.LODinfo?.render;if(e===0)throw Error(`Cannot change distance for LOD0. It is the main mesh and must stay at 0.`);return this.updateLevel(r,e,t,n)},K.prototype.updateShadowLOD=function(e,t,n){return this.updateLevel(this.LODinfo?.shadowRender,e,t,n)},K.prototype.updateAllLevels=function(e,t,n){if(!e?.levels)throw Error(`Invalid LOD list.`);let r=e.levels,i=this.LODinfo?.render===e,a=+!!i;i&&(r[0].distance=0);let o=t?.length>0,s=[];o&&(s=i&&t[0]===0?t.slice(1,Math.min(r.length,t.length)):t.slice(0,Math.min(r.length-a,t.length)),s.every((e,t)=>{if(t>0&&e<=s[t-1])throw Error(`LOD distances must be strictly increasing: d[${t-1}]=${s[t-1]} < d[${t}]=${e}`);return!0}));let c=o?s.length:r.length-a;for(let t=0;t<c;t++){let r=o?s[t]:void 0,i=Array.isArray(n)?n[t]:n;this.updateLevel(e,a+t,r,i)}return this},K.prototype.updateAllLOD=function(e,t){return this.updateAllLevels(this.LODinfo?.render,e,t)},K.prototype.updateAllShadowLOD=function(e,t){return this.updateAllLevels(this.LODinfo?.shadowRender,e,t)},K.prototype.disposeLOD=function(e){e.geometry.dispose();let t=e.material;if(Array.isArray(t))for(let e of t)e.dispose();else t.dispose()},K.prototype.removeLOD=function(e,t=!0){let n=this.LODinfo,r=n?.render;if(!r?.levels)throw Error(`Invalid LOD list.`);let i=r.levels.length;if(e<0||e>=i)throw Error(`Level index OOB`);if(i>1&&e===0)throw Error(`Cannot remove LOD0 while others exist`);let[a]=r.levels.splice(e,1);r.count?.splice?.(e,1),r.levels.length<=1&&(n.render=null);let o=a.object,s=this.LODinfo?.shadowRender;if(s?.levels&&e<s.levels.length&&(s.levels.splice(e,1),s.count?.splice?.(e,1),s.levels.length===0&&(this.LODinfo.shadowRender=null)),t&&o!==this)try{this.remove(o);let e=n.objects?.indexOf(o)??-1;e!==-1&&n.objects.splice(e,1),this.disposeLOD(o)}catch(e){console.error(e)}return this},K.prototype.patchLevel=function(e){Object.defineProperty(e,"renderOrder",{get(){return this._parentLOD.renderOrder}}),Object.defineProperty(e,"_lastRenderInfo",{get(){return this._parentLOD._lastRenderInfo}}),Object.defineProperty(e,"matricesTexture",{get(){return this._parentLOD.matricesTexture}}),Object.defineProperty(e,"colorsTexture",{get(){return this._parentLOD.colorsTexture}}),Object.defineProperty(e,"uniformsTexture",{get(){return this._parentLOD.uniformsTexture}}),Object.defineProperty(e,"morphTexture",{get(){return this._parentLOD.morphTexture}}),Object.defineProperty(e,"boneTexture",{get(){return this._parentLOD.boneTexture}}),Object.defineProperty(e,"skeleton",{get(){return this._parentLOD.skeleton}}),Object.defineProperty(e,"bindMatrixInverse",{get(){return this._parentLOD.bindMatrixInverse}}),Object.defineProperty(e,"bindMatrix",{get(){return this._parentLOD.bindMatrix}})};var Gn=new c;K.prototype.getMorphAt=function(e,t=Gn){let n=t.morphTargetInfluences,r=this.morphTexture.source.data.data,i=e*(n.length+1)+1;for(let e=0;e<n.length;e++)n[e]=r[i+e];return t},K.prototype.setMorphAt=function(e,t){let n=t.morphTargetInfluences,r=n.length+1;this.morphTexture===null&&!this._parentLOD&&(this.morphTexture=new s(new Float32Array(r*this._capacity),r,this._capacity,1028,1015));let i=this.morphTexture.source.data.data,a=0;for(let e of n)a+=e;let o=this._geometry.morphTargetsRelative?1:1-a,c=r*e;i[c]=o,i.set(n,c+1),this.morphTexture.needsUpdate=!0};var Kn=[],qn=new c,Jn=new y,Yn=new l,Xn=new l,Zn=new p,Qn=new r;K.prototype.raycast=function(e,t){if(this._parentLOD||!this.material||this._instancesArrayCount===0||!this.instanceIndex)return;qn.geometry=this._geometry,qn.material=this.material;let n=e.ray,r=e.near,i=e.far;Zn.copy(this.matrixWorld).invert(),Xn.setFromMatrixScale(this.matrixWorld),Yn.copy(e.ray.direction).multiply(Xn);let a=Yn.length();e.ray=Jn.copy(e.ray).applyMatrix4(Zn),e.near/=a,e.far/=a,this.raycastInstances(e,t),e.ray=n,e.near=r,e.far=i},K.prototype.raycastInstances=function(e,t){if(this.bvh)this.bvh.raycast(e,n=>this.checkObjectIntersection(e,n,t));else{if(this.boundingSphere===null&&this.computeBoundingSphere(),Qn.copy(this.boundingSphere),!e.ray.intersectsSphere(Qn))return;let n=this.instanceIndex.array,r=this.raycastOnlyFrustum&&this._perObjectFrustumCulled?this.count:this._instancesArrayCount;for(let i=0;i<r;i++)this.checkObjectIntersection(e,n[i],t)}},K.prototype.checkObjectIntersection=function(e,t,n){if(!(t>this._instancesArrayCount||!this.getActiveAndVisibilityAt(t))){this.getMatrixAt(t,qn.matrixWorld),qn.raycast(e,Kn);for(let e of Kn)e.instanceId=t,e.object=this,n.push(e);Kn.length=0}},K.prototype.initSkeleton=function(e,t=!0){if(e&&this.skeleton!==e&&!this._parentLOD){let n=e.bones;if(this.skeleton=e,this.bindMatrix=new p,this.bindMatrixInverse=new p,this.boneTexture=new An(Float32Array,4,4*n.length,this._capacity),t)for(let e of n)e.matrixAutoUpdate=!1,e.matrixWorldAutoUpdate=!1;this.materialsNeedsUpdate()}},K.prototype.setBonesAt=function(e,t=!0,n){let r=this.skeleton;if(!r)throw Error(`"setBonesAt" cannot be called before "initSkeleton"`);let i=r.bones,a=r.boneInverses;for(let r=0,o=i.length;r<o;r++){let o=i[r];t&&(n?.has(o.name)||o.updateMatrix(),o.matrixWorld.multiplyMatrices(o.parent.matrixWorld,o.matrix)),this.multiplyBoneMatricesAt(e,r,o.matrixWorld,a[r])}this.boneTexture.enqueueUpdate(e)},K.prototype.multiplyBoneMatricesAt=function(e,t,n,r){let i=(e*this.skeleton.bones.length+t)*16,a=n.elements,o=r.elements,s=this.boneTexture._data,c=a[0],l=a[4],u=a[8],d=a[12],f=a[1],p=a[5],m=a[9],h=a[13],g=a[2],_=a[6],v=a[10],y=a[14],b=a[3],x=a[7],S=a[11],C=a[15],w=o[0],T=o[4],E=o[8],D=o[12],O=o[1],k=o[5],ee=o[9],A=o[13],te=o[2],j=o[6],ne=o[10],M=o[14],N=o[3],re=o[7],ie=o[11],ae=o[15];s[i+0]=c*w+l*O+u*te+d*N,s[i+4]=c*T+l*k+u*j+d*re,s[i+8]=c*E+l*ee+u*ne+d*ie,s[i+12]=c*D+l*A+u*M+d*ae,s[i+1]=f*w+p*O+m*te+h*N,s[i+5]=f*T+p*k+m*j+h*re,s[i+9]=f*E+p*ee+m*ne+h*ie,s[i+13]=f*D+p*A+m*M+h*ae,s[i+2]=g*w+_*O+v*te+y*N,s[i+6]=g*T+_*k+v*j+y*re,s[i+10]=g*E+_*ee+v*ne+y*ie,s[i+14]=g*D+_*A+v*M+y*ae,s[i+3]=b*w+x*O+S*te+C*N,s[i+7]=b*T+x*k+S*j+C*re,s[i+11]=b*E+x*ee+S*ne+C*ie,s[i+15]=b*D+x*A+S*M+C*ae},K.prototype.getUniformAt=function(e,t,n){if(!this.uniformsTexture)throw Error(`Before get/set uniform, it's necessary to use "initUniformsPerInstance".`);return this.uniformsTexture.getUniformAt(e,t,n)},K.prototype.setUniformAt=function(e,t,n){if(!this.uniformsTexture)throw Error(`Before get/set uniform, it's necessary to use "initUniformsPerInstance".`);this.uniformsTexture.setUniformAt(e,t,n),this.uniformsTexture.enqueueUpdate(e)},K.prototype.initUniformsPerInstance=function(e){if(!this._parentLOD){let{channels:t,pixelsPerInstance:n,uniformMap:r,fetchInFragmentShader:i}=this.getUniformSchemaResult(e);this.uniformsTexture=new An(Float32Array,t,n,this._capacity,r,i),this.materialsNeedsUpdate()}},K.prototype.getUniformSchemaResult=function(e){let t=0,n=new Map,r=[],i=e.vertex??{},a=e.fragment??{},o=!0;for(let e in i){let n=i[e],a=this.getUniformSize(n);t+=a,r.push({name:e,type:n,size:a}),o=!1}for(let e in a)if(!i[e]){let n=a[e],i=this.getUniformSize(n);t+=i,r.push({name:e,type:n,size:i})}r.sort((e,t)=>t.size-e.size);let s=[];for(let{name:e,size:t,type:i}of r){let r=this.getUniformOffset(t,s);n.set(e,{offset:r,size:t,type:i})}let c=Math.ceil(t/4);return{channels:Math.min(t,4),pixelsPerInstance:c,uniformMap:n,fetchInFragmentShader:o}},K.prototype.getUniformOffset=function(e,t){if(e<4){for(let n=0;n<t.length;n++)if(t[n]+e<=4){let r=n*4+t[n];return t[n]+=e,r}}let n=t.length*4;for(;e>0;e-=4)t.push(e);return n},K.prototype.getUniformSize=function(e){switch(e){case`float`:return 1;case`vec2`:return 2;case`vec3`:return 3;case`vec4`:return 4;case`mat3`:return 9;case`mat4`:return 16;default:throw Error(`Invalid uniform type: ${e}`)}};var $n=`#ifdef USE_INSTANCING_INDIRECT\r
|
|
39
|
+
attribute uint instanceIndex;\r
|
|
40
|
+
uniform highp sampler2D matricesTexture;
|
|
41
|
+
|
|
42
|
+
mat4 getInstancedMatrix() {\r
|
|
43
|
+
int size = textureSize( matricesTexture, 0 ).x;\r
|
|
44
|
+
int j = int( instanceIndex ) * 4;\r
|
|
45
|
+
int x = j % size;\r
|
|
46
|
+
int y = j / size;\r
|
|
47
|
+
vec4 v1 = texelFetch( matricesTexture, ivec2( x, y ), 0 );\r
|
|
48
|
+
vec4 v2 = texelFetch( matricesTexture, ivec2( x + 1, y ), 0 );\r
|
|
49
|
+
vec4 v3 = texelFetch( matricesTexture, ivec2( x + 2, y ), 0 );\r
|
|
50
|
+
vec4 v4 = texelFetch( matricesTexture, ivec2( x + 3, y ), 0 );\r
|
|
51
|
+
return mat4( v1, v2, v3, v4 );\r
|
|
52
|
+
}\r
|
|
53
|
+
#endif`,er=`#ifdef USE_INSTANCING_COLOR_INDIRECT\r
|
|
54
|
+
uniform highp sampler2D colorsTexture;
|
|
55
|
+
|
|
56
|
+
vec4 getColorTexture() {\r
|
|
57
|
+
int size = textureSize( colorsTexture, 0 ).x;\r
|
|
58
|
+
int j = int( instanceIndex );\r
|
|
59
|
+
int x = j % size;\r
|
|
60
|
+
int y = j / size;\r
|
|
61
|
+
return texelFetch( colorsTexture, ivec2( x, y ), 0 );\r
|
|
62
|
+
}\r
|
|
63
|
+
#endif`,tr=`#ifdef USE_INSTANCING_INDIRECT\r
|
|
64
|
+
mat4 instanceMatrix = getInstancedMatrix();
|
|
65
|
+
|
|
66
|
+
#ifdef USE_INSTANCING_COLOR_INDIRECT\r
|
|
67
|
+
vColor *= getColorTexture();\r
|
|
68
|
+
#endif\r
|
|
69
|
+
#endif`,nr=`#ifdef USE_INSTANCING_COLOR_INDIRECT\r
|
|
70
|
+
#ifdef USE_VERTEX_COLOR\r
|
|
71
|
+
vColor = vec4( color );\r
|
|
72
|
+
#else\r
|
|
73
|
+
vColor = vec4( 1.0 );\r
|
|
74
|
+
#endif\r
|
|
75
|
+
#endif`,rr=`#ifdef USE_SKINNING\r
|
|
76
|
+
uniform mat4 bindMatrix;\r
|
|
77
|
+
uniform mat4 bindMatrixInverse;\r
|
|
78
|
+
uniform highp sampler2D boneTexture;
|
|
79
|
+
|
|
80
|
+
#ifdef USE_INSTANCING_SKINNING\r
|
|
81
|
+
uniform int bonesPerInstance;\r
|
|
82
|
+
#endif
|
|
83
|
+
|
|
84
|
+
mat4 getBoneMatrix( const in float i ) {\r
|
|
85
|
+
int size = textureSize( boneTexture, 0 ).x;
|
|
86
|
+
|
|
87
|
+
#ifdef USE_INSTANCING_SKINNING\r
|
|
88
|
+
int j = ( bonesPerInstance * int( instanceIndex ) + int( i ) ) * 4;\r
|
|
89
|
+
#else\r
|
|
90
|
+
int j = int( i ) * 4;\r
|
|
91
|
+
#endif
|
|
92
|
+
|
|
93
|
+
int x = j % size;\r
|
|
94
|
+
int y = j / size;\r
|
|
95
|
+
vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );\r
|
|
96
|
+
vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );\r
|
|
97
|
+
vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );\r
|
|
98
|
+
vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );\r
|
|
99
|
+
return mat4( v1, v2, v3, v4 );\r
|
|
100
|
+
}\r
|
|
101
|
+
#endif`;A.instanced_pars_vertex=$n,A.instanced_color_pars_vertex=er,A.instanced_vertex=tr,A.instanced_color_vertex=nr;function ir(e){return e.replace(`#ifdef USE_INSTANCING`,`#if defined USE_INSTANCING || defined USE_INSTANCING_INDIRECT`)}A.project_vertex=ir(A.project_vertex),A.worldpos_vertex=ir(A.worldpos_vertex),A.defaultnormal_vertex=ir(A.defaultnormal_vertex),A.batching_pars_vertex=A.batching_pars_vertex.concat(`
|
|
102
|
+
#include <instanced_pars_vertex>`),A.color_pars_vertex=A.color_pars_vertex.concat(`
|
|
103
|
+
#include <instanced_color_pars_vertex>`),A.batching_vertex=A.batching_vertex.concat(`
|
|
104
|
+
#include <instanced_vertex>`),A.skinning_pars_vertex=rr,A.morphinstance_vertex&&(A.morphinstance_vertex=A.morphinstance_vertex.replaceAll(`gl_InstanceID`,`instanceIndex`));function ar(t){return t instanceof e||t instanceof K}var or=50,sr=1.1,cr=2,lr=new l(0,1,0),ur=[4,4,4],dr={[L.Top]:{azimuth:0,elevation:90,ortho:!0},[L.Bottom]:{azimuth:0,elevation:-90,ortho:!0},[L.Front]:{azimuth:0,elevation:0,ortho:!0},[L.Back]:{azimuth:180,elevation:0,ortho:!0},[L.Left]:{azimuth:270,elevation:0,ortho:!0},[L.Right]:{azimuth:90,elevation:0,ortho:!0},[L.ThreeQuarter]:{azimuth:45,elevation:0,ortho:!0},[L.Iso]:{azimuth:45,elevation:45,ortho:!1}};function fr(e){let t=`model`in e?_e(e.model):void 0;if(t)return new n(new l().fromArray(t.min),new l().fromArray(t.max));let r=new l(...ur);return!(`model`in e)&&!(`size`in e)&&r.max(new l().setScalar(Te(e.kind,1))),`size`in e&&(r.set(...e.size),e.kind===Ke.Plane&&(r.y=0)),new n(new l(-r.x/2,0,-r.z/2),new l(r.x/2,r.y,r.z/2))}function pr(e,t){let n=typeof t.scale==`number`?new l().setScalar(t.scale):new l(...t.scale),r=new _().setFromAxisAngle(lr,C.degToRad(t.yaw));return fr(t).applyMatrix4(new p().compose(re(e,t.position),r,n))}function mr(e,t,n){return new l(t,e.getHeightAt(new l(t,0,n)),n)}function hr(e){return typeof e[0]==`number`}function gr(e,t){if(typeof t!=`string`){let e=hr(t)?[t]:t,r=new n().setFromPoints(e.map(e=>new l(...e))),i=new l().setScalar(cr).sub(r.getSize(new l)).max(new l);return r.expandByVector(i.divideScalar(2))}if(e instanceof n){if(t!==`all`)throw Ge(Error(`No map is mounted to name "${t}" on; frame all or a point`),`SP0098`,void 0);if(e.isEmpty())throw Ge(Error(`Cannot frame "all": the scene draws nothing yet. Frame a point, or wait for the scene to draw.`),`SP0099`,void 0);return e.clone()}let{map:r}=e,i=Object.values(r.props);if(t===`map`||t===`all`&&i.length===0){let t=r.size/2,i=new n;for(let n=0;n<=e.segments;n+=1)for(let a=0;a<=e.segments;a+=1)i.expandByPoint(mr(e,a*r.cell-t,n*r.cell-t));return i}if(t===`all`)return i.reduce((t,n)=>t.union(pr(e,n)),new n);if(Object.hasOwn(r.props,t))return pr(e,r.props[t]);if(Object.hasOwn(r.regions,t)){let{center:i,radius:a}=r.regions[t];return new n().setFromCenterAndSize(mr(e,i[0],i[1]),new l(a*2,0,a*2))}if(Object.hasOwn(r.paths,t)){let{points:i,halfWidth:a}=r.paths[t];return new n().setFromPoints(i.map(([t,n])=>mr(e,t,n))).expandByVector(new l(a,0,a))}if(Object.hasOwn(r.views,t)){let e=r.views[t],i=new l(...e.target),a=e.ortho===void 0?i.distanceTo(new l(...e.eye))*Math.tan(C.degToRad(e.fov)/2):e.ortho/2;return new n().setFromCenterAndSize(i,new l().setScalar(a*2))}throw Ge(Error(`No prop, region, path or view named "${t}"; the map has ${[`all`,`map`,...Object.keys(r.views),...Object.keys(r.regions),...Object.keys(r.paths),...Object.keys(r.props)].join(`, `)}`),`SP0100`,void 0)}function _r(e,t,n){let a=qe.parse(t);if(`eye`in a)return a;let{angle:o,around:s,zoom:c}=a,u=typeof o==`string`?dr[o]:{...o,ortho:!1},d=a.ortho??u.ortho,p=gr(e,s),m=p.getCenter(new l),h=C.degToRad(u.azimuth),g=C.degToRad(u.elevation),_=Math.abs(u.elevation)===90?0:Math.cos(g),v=new l(Math.sin(h)*_,Math.sin(g),Math.cos(h)*_),y=p.getBoundingSphere(new r).radius;if(!d){let e=Et(new f(or,n),y)/c;return{eye:m.clone().addScaledVector(v,e).toArray(),target:m.toArray(),fov:or}}let b=new i,x=Et(b,y);b.position.copy(m).addScaledVector(v,x),_===0&&b.up.set(0,0,-1),b.lookAt(m),b.updateMatrixWorld();let S=0,w=0;for(let e of[p.min.x,p.max.x])for(let t of[p.min.y,p.max.y])for(let n of[p.min.z,p.max.z]){let r=new l(e,t,n).applyMatrix4(b.matrixWorldInverse);S=Math.max(S,Math.abs(r.x)),w=Math.max(w,Math.abs(r.y))}return{eye:b.position.toArray(),target:m.toArray(),fov:or,ortho:Math.max(w,S/n)*2*sr/c}}var vr=xe(`ai`,{is:``,facts:()=>[],actions:()=>[]}),yr=[[.5,`reaching you now`],[1,`right in front of you`],[2,`just ahead`],[4,`further ahead`]],br=`far ahead`,xr=`behind you`,Sr=1;function Cr({along:e,behind:t,speed:n,offset:r,left:i,right:a,level:o=`level`}){return{seconds:e<=0?0:n>0?e/n:1/0,side:r>a?a-r:r<i?i-r:0,behind:t,level:o}}function wr(e,t){let n=e.get(le),r=t.get(De),i=e.get(Le)?.track;if(n&&r&&i&&t.get(Le)?.track===i)return Cr({along:r.start-n.distance,behind:r.end<n.distance,speed:n.speed,offset:n.lateral,left:r.left,right:r.right,level:n.height>r.top?`below`:n.height<r.bottom?`above`:`level`})}function Tr(e){let t=e.get(pe(Pe))?.colliders[0]?.shape;if(t?.type===ze.Box){let n=e.get(P)?.rotation??Er;Ar.set(1,0,0).applyQuaternion(n),jr.set(0,0,1).applyQuaternion(n);let r=t.size[0]/2,i=t.size[2]/2;return{across:Math.abs(Ar.dot(Or))*r+Math.abs(jr.dot(Or))*i,along:Math.abs(Ar.dot(Dr))*r+Math.abs(jr.dot(Dr))*i}}let n=t&&`radius`in t?t.radius:e.get(be)?.radius??e.get(We)?.radius??e.get(ae)?.radius??0;return{across:n,along:n}}var Er=new _,Dr=new l,Or=new l,kr=new l,Ar=new l,jr=new l;function Mr(e,t){let n=e.get(P)?.position,r=t.get(P)?.position;if(!n||!r)return;let i=e.get(P)?.rotation??Er;Dr.set(0,0,-1).applyQuaternion(i),Or.set(1,0,0).applyQuaternion(i),kr.subVectors(r,n);let a=kr.dot(Dr),o=kr.dot(Or),s=Tr(t);return Cr({along:a-s.along,behind:a+s.along<0,speed:Math.max(e.get(Ie)?.dot(Dr)??0,0)||e.get(Ee)?.speed||0,offset:0,left:o-s.across,right:o+s.across})}function Nr(e,t){return wr(e,t)??Mr(e,t)}function Pr({seconds:e,side:t,behind:n,level:r}){if(n)return[xr];let i=yr.find(([t])=>e<t)?.[1]??br;return r===`level`?t===0?[i,`in your path`]:[i,`to your ${t<0?`left`:`right`}, ${Math.abs(t)<Sr?`close`:`well clear`}`]:[i,`${r} you`]}function Fr(e){let t=Me(e);if(t)return t;for(let t of e.query(le,fe))if(t.get(fe)?.context===we.Client)return t;return e.queryFirst(le)}function Ir(e){let{entity:t}=e,n={is:``,facts:[],actions:[]};for(let{trait:r,ai:i}of ie.values()){if(!i||!t.has(r))continue;let{is:a,facts:o=[],actions:s=[]}=i(t.get(r),e);n.is||=a??``,n.facts.push(...o),n.actions.push(...s)}for(let e of ue.values())t.has(e.trait)&&n.facts.push(ve(e,t));let r=t.get(vr);return r&&(n.is=r.is||n.is,n.facts.push(...r.facts),n.actions.push(...r.actions)),n}function Lr(e){for(let t of ue.values())if(e.has(t.trait))return`the ${t.name}`;return``}function Rr({world:e,subject:t=Fr(e),readName:n}){let r=[];for(let i of e.entities){let a=n?.(i),o=Ir({entity:i,subject:t}),s=o.is||o.facts.length>0||o.actions.length>0;if(a===void 0&&!s&&i!==t)continue;let c=o.is||a||(i===t?`you`:``)||(i.has(ne)?`the game`:``)||Lr(i),l=t&&i!==t?Nr(t,i):void 0,u=l?[...Pr(l),...o.facts]:o.facts;r.push({node:{id:Ae(e,i),...a&&a!==c&&{name:a},is:c,facts:u,actions:o.actions},rank:i===t?-1:l&&!l.behind?l.seconds:1/0})}return r.sort((e,t)=>e.rank<t.rank?-1:+(e.rank>t.rank)).map(({node:e})=>e)}var zr=16/9;function Br(e,t){return t===`map`?{eye:[0,e.size,0],target:[0,0,0],fov:50,ortho:e.size}:Object.hasOwn(e.views,t)?e.views[t]:_r(He(e),{angle:L.Iso,around:t},zr)}var Vr=20,Hr=[],Ur=new h,Wr=new a(0,0),Q={test:{ray:new y,range:1/0,feet:new l,body:Fe},shooter:null},Gr={ray:Q.test.ray,range:1/0,target:null},Kr=new l,$=new l,qr=e=>e.toArray();function Jr(e){return Ur.setFromCamera(Wr,e),Ur.ray.clone()}function Yr(e,t,n){let r=n?.get(P)?.position,i=Q.test.ray.origin.copy(t.origin);if(r){let e=n?.get(N)?.height||Fe.height;Kr.copy(r).setY(r.y+e/2),t.at(Math.max(0,$.subVectors(Kr,t.origin).dot(t.direction)),i)}Q.test.ray.direction.copy(t.direction),Q.test.range=1/0,Q.shooter=n??null;let{target:a,distance:o,zone:s}=oe(e,Q);Gr.range=1/0,Gr.target=a;let c=he(e,Gr),u=c?.distance??1/0,d=Math.min(a?o:1/0,u);if(d===1/0)return;let f=Q.test.ray.at(d,new l),p=a&&o<=u?a:null,m=p??c?.entity;return{at:qr(f),distance:f.distanceTo(t.origin),...m!==void 0&&{key:Ae(e,m)},...p&&s&&{zone:s.name}}}function Xr(e,t){let n=new l(...e.origin),r=new l(...e.direction).normalize();$.subVectors(t,n);let i=$.dot(r),a=i<=0?$.length():$.clone().addScaledVector(r,-i).length(),o=$.length();return{missMetres:a,missDegrees:o===0?0:C.radToDeg(Math.acos(C.clamp($.dot(r)/o,-1,1)))}}function Zr(e,t){let n=Jr(t),r=Yr(e,n,Me(e));return{origin:qr(n.origin),direction:qr(n.direction),...r&&{hit:r}}}function Qr(e,t,n){let r=Zr(e,t),i={origin:n.origin,direction:n.direction};Hr.push({id:n.id,weapon:n.weapon,step:n.step,shot:i,crosshair:r,...r.hit&&Xr(i,new l(...r.hit.at))}),Hr.length>Vr&&Hr.shift()}function $r(e,t,n){let r=Hr.find(t=>t.id===e);r&&(r.refused={rule:t,reason:n})}function ei(){Hr.length=0}function ti(e,t,n){return{captured:n,crosshair:Zr(e,t),shots:Hr.map(e=>structuredClone(e))}}export{Lt as A,kt as C,Et as D,xt as E,ft as M,pt as N,St as O,Mt as S,Ct as T,Wt as _,$r as a,vt as b,Rr as c,ar as d,bn as f,Ut as g,qt as h,ti as i,Nt as j,Ht as k,vr as l,U as m,Yr as n,Qr as o,K as p,Xr as r,Br as s,ei as t,_r as u,yt as v,wt as w,R as x,bt as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Rs as e,Zi as t,da as n,io as r,qr as i}from"./BoJD7UsQ.js";import{m as a,x as o}from"./BLQoPgRQ.js";import"./DWgUahRJ.js";import{$n as s,$t as c,Ac as l,Bf as u,Bp as d,Bu as f,Ct as p,Dm as m,Em as h,Eo as g,Et as _,Fo as v,Gf as y,Hf as b,Io as ee,Kp as x,Lf as S,Lo as te,Mc as ne,Md as re,Mp as ie,Nd as ae,Ni as C,No as w,Ot as oe,Qn as T,Qo as se,Rp as ce,Rs as E,Sc as le,Tc as ue,Tm as D,To as O,Up as de,Vi as k,Vl as fe,Vp as pe,Wp as A,Wu as me,X as he,Xn as ge,Xo as _e,Xp as ve,Xu as ye,Yo as j,Z as be,Za as xe,Zs as Se,_m as Ce,_p as we,af as Te,ai as Ee,ar as De,as as Oe,ca as ke,dd as Ae,du as je,em as Me,et as Ne,gm as Pe,hd as Fe,hf as Ie,hm as Le,ho as Re,hp as ze,is as Be,jm as Ve,ju as He,l as M,la as Ue,ld as We,li as Ge,mn as Ke,nl as qe,nm as Je,nr as N,ol as Ye,p as Xe,pa as Ze,pd as Qe,pn as $e,pp as et,qf as tt,qi as nt,qo as rt,qp as it,qt as at,sd as ot,sl as st,sm as ct,sr as P,wu as lt,xm as ut,xp as dt,ym as ft,yp as pt,zf as mt,zp as ht}from"./BdkaRoRG.js";import{i as gt,n as F,r as _t}from"./DYoIHzIt.js";import"./Bn-oguIM.js";import{r as vt}from"./udTuD3NU.js";import{c as yt,i as bt,l as xt,n as St,o as Ct,r as wt,t as Tt,u as Et}from"./vyik5ymL.js";import{a as Dt,i as Ot,n as kt,r as At,t as jt}from"./BX-IJ6Jw.js";import{r as I,t as L}from"./Cvq_OonK.js";import{d as Mt,k as Nt,x as R}from"./B0dIJJnS.js";function Pt(e,t){return Ft(e,t)?.entity??null}function Ft(e,t,n=[]){let r=new Map(n.map(e=>[e,void 0]));for(let t of[ht,l])for(let n of e.query(t)){let e=n.get(t)?.object;e&&r.set(e,n)}for(let e of t.intersectObjects([...r.keys()],!0)){let t=e.object;for(;t&&!r.has(t);)t=t.parent;if(!t)continue;let n=t;for(;n?.visible;)n=n.parent;if(n)continue;let{point:i,instanceId:a}=e,o=r.get(t);return Mt(e.object)&&a!==void 0?{entity:o,owner:t,point:i,instance:{batch:e.object,index:a}}:{entity:o,owner:t,point:i}}return null}var It=.01,Lt=a(R);function Rt(e){let t=Me(e,Lt);return t!==void 0&&((Je(t,R,`locked`)??!1)||(Je(t,R,`firstPersonView`)??!1))}function zt(e){let t=e.queryFirst(R)?.get(R)?.orbit;return t?t.polarAngle-Math.PI/2:0}function Bt(e){let t=e.queryFirst(R),n=t?.get(R);t&&n?.lockToggle&&t.set(R,{locked:!n.locked})}function Vt(e){let t=e.queryFirst(R);t?.get(R)?.firstPersonView&&(t.set(R,{firstPersonView:!1}),Nt(e))}function Ht(e,t){let n=e.queryFirst(R),r=n?.get(R);if(n&&r?.orbit){if(!t){Vt(e);return}r.firstPerson&&!r.firstPersonView&&(r.orbit.distance>r.minDistance+It||n.set(R,{firstPersonView:!0}))}}function Ut(e,t){let n=e.queryFirst(R)?.get(R);if(!n?.orbit)return;let r=n.invertLook?t.y:-t.y;n.orbit.rotate(-t.x*n.lookSpeed,r*n.lookSpeed*Ve.tiltShare,!1)}var Wt={behind:6.8,height:3.5,lookAhead:4,aimHeight:1.5,eyeResponse:9,aimResponse:14,snapDistance:10},Gt=c(),Kt=c();function qt(e,t,n){let r=i.clamp(t,0,e.length),{position:a,tangent:o}=e.frameAt(r,Kt);return n.copy(a).addScaledVector(o,t-r)}function Jt(e,t,n,r,i){let{behind:a,height:o,lookAhead:s,aimHeight:c}=Wt,{position:l}=e.frameAt(t,Gt);qt(e,t-a,r).sub(l).add(n),r.y+=o,qt(e,t+s,i).sub(l).add(n),i.y+=c}function Yt(e,t){let n;for(let r of e)if(r.get(at)?.track===t){if(r.get(ie)?.context===pe.Client)return r;n??=r}return n}var z={origin:new e,direction:new e,end:new e,target:null,zone:null},B={test:{ray:new r,range:0,feet:new e,body:tt},shooter:null},{test:V}=B,H={ray:V.ray,range:0,target:null},U={ray:new r,range:0,target:null},W=new e,Xt=new t(new e(0,1,0)),G=new e,K=new e,q=new e,Zt=new e,Qt={ray:new r,range:0,target:null};function $t(e,t,n,r){return U.ray.origin.copy(t),U.ray.direction.subVectors(n,t),U.range=U.ray.direction.length(),U.range!==0&&(U.ray.direction.divideScalar(U.range),U.target=r,w(e,U)!==null)}var en=1;function tn(e,t,n){let r=t.distanceTo(n);return r===0||(Qt.ray.origin.copy(t),Qt.ray.direction.subVectors(n,t).divideScalar(r),Qt.range=r,w(e,Qt)===null)}function nn(e,{character:t,pointer:n,weapon:r,throughCrosshair:i=!1,muzzle:a}){let o=t.get(A)?.position;if(!o)return null;let s=P(r,t,N.Range),c=t.get(u)?.height||tt.height;G.copy(o).setY(o.y+c/2),B.shooter=t,B.friendlyFire=r.friendlyFire,q.copy(n.direction),n.at(Math.max(0,K.subVectors(G,n.origin).dot(q)),K),V.ray.origin.copy(i?K:n.origin),V.ray.direction.copy(q),V.range=1/0;let l=v(e,B),d=l.target!==null&&!$t(e,G,V.ray.at(l.distance,W),l.target);H.range=d?l.distance:1/0,H.target=d?l.target:null;let f=w(e,H)?.distance??1/0,p=d?Math.min(l.distance,f):f;Xt.constant=-G.y;let m=d&&l.distance<=f;!i&&!m&&V.ray.intersectPlane(Xt,W)&&(p=Math.min(p,W.distanceTo(V.ray.origin))),V.ray.at(p===1/0?s:p,W);let h=!!a&&tn(e,G,a),g=a?Zt.subVectors(W,a).dot(q):1/0;if(a&&i&&(!h||g<en)&&tn(e,G,K))z.origin.copy(K),z.direction.copy(q);else{let e=h&&!(i&&g<en);if(z.origin.copy(a&&e?a:G),z.direction.subVectors(W,z.origin),z.direction.lengthSq()===0)return null;z.direction.normalize()}V.ray.set(z.origin,z.direction),V.range=s;let{target:_,distance:y,zone:b}=v(e,B);H.range=s,H.target=_;let ee=w(e,H)?.distance??1/0;return z.target=_&&y<=ee?_:null,z.zone=z.target?b:null,z.end.copy(z.origin).addScaledVector(z.direction,Math.min(_?y:s,ee)),z}function rn({direction:e,pellet:t,pellets:n,spread:r},i){return i.copy(e).applyAxisAngle(fe,(t-(n-1)/2)*r)}var J={hits:[],distances:[],zones:[]};function an(e,{shooter:t,origin:n,direction:r,weapon:i}){let a=P(i,t,N.Pellets),o=P(i,t,N.Range),s=P(i,t,N.Spread),c=P(i,t,N.Pierce);B.shooter=t,B.friendlyFire=i.friendlyFire;let l=[];for(let t=0;t<a;t++){V.ray.origin.copy(n),rn({direction:r,pellet:t,pellets:a,spread:s},V.ray.direction),V.range=o;let i=Math.min(ee(e,B,J),c+1);H.range=o,H.target=i>0?J.hits[0]:null,H.through=J.hits.slice(1,i);let u=w(e,H)?.distance??1/0;H.through=void 0;let d=[];for(let t=0;t<i;t++)J.distances[t]<=u&&d.push(Ie(e,J.hits[t]));l.push(d)}return l}var on=1,sn=1/M;function cn(e){e.has(s)||e.add(s);let t=e.get(s);if(!t)throw F(Error(`The world holds no rewind history.`),`SP0234`,void 0);return t}function ln(e,t){cn(e).step=t}var Y={before:{step:0,entities:{}},after:{step:0,entities:{}},fraction:0};function un(e,t){let n=e.get(s);if(!n||n.count===0)return;let{sends:r,count:i,kept:a}=n,o=r[(i-1)%a];if(t>o.step||t>=n.step)return;Y.before=o,Y.after=o,Y.fraction=0;let c=Math.min(i,a),l=o.step-sn,u=o;for(let e=1;e<c;e++){let n=r[(i-1-e)%a];if(n.step<l)break;if(t>=n.step)return Y.before=n,Y.after=u,Y.fraction=(t-n.step)/(u.step-n.step),Y;u=n}return Y.before=u,Y.after=u,Y}function dn({before:e,after:t,fraction:n},r,i){let a=ve(e.entities[r]?.transform);if(!C(a))return;let o=ve(t.entities[r]?.transform),s=C(o)?o:a;return i.set(a[0]+(s[0]-a[0])*n,a[1]+(s[1]-a[1])*n,a[2]+(s[2]-a[2])*n)}new n;function fn(e){if(C(e)&&e.length===3)return{x:e[0],y:e[1],z:e[2]};if(typeof e!=`object`||!e)return;let{x:t,y:n,z:r}=e;return typeof t==`number`&&typeof n==`number`&&typeof r==`number`?{x:t,y:n,z:r}:void 0}function pn(e){if(typeof e!=`object`||!e)return;let{name:t,multiplier:n,radius:r,at:i,to:a}=e,o=fn(i),s=a===void 0?void 0:fn(a);if(typeof t==`string`&&typeof n==`number`&&typeof r==`number`&&o&&(a===void 0||s))return{name:t,multiplier:n,radius:r,at:o,...s&&{to:s}}}var mn=new WeakMap;function hn({after:e},t){let n=mn.get(e.entities);n||mn.set(e.entities,n=new Map);let r=n.get(t);if(!r){let i=e.entities[t]?.hitZones;r=Array.isArray(i)?i.flatMap(e=>pn(e)??[]):[],n.set(t,r)}return r}function gn(e,t,n,r){let i=un(e,n);if(i)return dn(i,Ie(e,t),r);let a=t.get(A)?.position;return a&&r.copy(a)}function _n(e,t,n){let r=e.get(s);if(!r||r.count===0)return;let i=(un(e,n)?.after??r.sends[(r.count-1)%r.kept]).entities[Ie(e,t)];return i&&structuredClone(i)}var X=[];function vn(e,t,n){let r=e.get(s);if(!r)return;t.has(T)||t.add(T);let i=t.get(T);if(!i)return;let{lags:a}=i;a.push((r.step-n)*M),a.length>8&&a.shift(),X.length=0,X.push(...a),X.sort((e,t)=>e-t);let o=X.length/2;i.seconds=X.length%2==1?X[Math.floor(o)]:(X[o-1]+X[o])/2;let c=0;for(let e of a)c+=Math.abs(e-i.seconds);i.jitterSeconds=c/a.length}var yn={maximumSeconds:1,toleranceSeconds:.2};function bn(e,t,n,{maximumSeconds:r=yn.maximumSeconds,toleranceSeconds:i=yn.toleranceSeconds}={}){let a=e.get(s);if(!a)return n;let o=r/M,c=0,l=o,u=t.get(T);if(u&&u.lags.length>0){let e=u.seconds/M,t=i/M;c=Math.min(Math.max(0,e-t),o),l=Math.max(c,Math.min(o,e+t))}let d=Math.min(Math.max(a.step-n,c),l);return a.step-d}var xn=function(e){return e.Room=`room`,e.Page=`page`,e}({}),Z=o(()=>({}));function Sn(e,t){return S(e,`weapons`),e.has(Z)||e.add(Z),e.set(Z,t),()=>{e.get(Z)===t&&e.set(Z,{})}}function Cn(e){e.has(ge)||e.add(ge);let t=e.get(ge);if(!t)throw F(Error(`The character holds no record of her shots.`),`SP0235`,void 0);return t}var wn=({shooter:e,claim:t})=>De(e,t.weapon)?void 0:`The shooter does not hold the weapon "${t.weapon}".`,Tn=.65;function En({stallSeconds:e=Tn}={}){return({shooter:t,claim:n,weapon:r,now:i})=>{let a=P(r,t,N.ShotsPerSecond),o=Math.max(2,a*e+1),{credits:s}=Cn(t);Object.hasOwn(s,n.weapon)||Object.defineProperty(s,n.weapon,{value:{shots:o,read:i},enumerable:!0,writable:!0,configurable:!0});let c=s[n.weapon];if(c.shots=Math.min(o,c.shots+(i-c.read)/1e3*a),c.read=i,c.shots<1)return`Fired faster than ${a} shots a second, past a burst of ${Math.floor(o)}.`;c.shots--}}var Dn=new e,On=new e;new r;var kn=2.5;function An({metres:e=kn}={}){return({shooter:t,claim:n})=>{if(!te(t,Dn))return`The shooter has no place in the world.`;let r=Dn.distanceTo(On.fromArray(n.origin));if(!(r<=e))return`Fired from ${r.toFixed(2)} m from the middle of the shooter's body, past the ${e} m allowed.`}}function jn(e={}){return t=>{t.step=bn(t.world,t.shooter,t.step,e)}}En(),An();function Mn(e,t){return t.judge??e.get(Z)?.judge??`room`}var Nn=p({name:L.Character,description:`Saves the character's scene, position, facing and health.`,save:{...I[L.Character],read:({world:e,character:t})=>{let n=t.get(A),r=t.get(lt);if(!n||!r)throw F(Error(`A character must have a transform and health to be saved`),`SP0498`,void 0);let{position:i,rotation:a}=n,o=t.get(ue)?.name;return{...o&&{scene:o},position:{x:i.x,y:i.y,z:i.z},facing:ot(a),health:{current:r.current,maximum:t.get(je)?.maxHealth?.base??r.maximum}}},restore:({world:e,character:t},n)=>{t.set(lt,n.health),st(t,me,n.health.maximum);let r=t.get(ue)?.name;if(n.scene&&r&&n.scene!==r)return;let i=t.get(A);if(i){let{x:e,y:r,z:a}=n.position;i.position.set(e,r,a),We(n.facing,i.rotation),t.set(A,i)}t.get(x)?.target.copy(We(n.facing)),se(e,t)}}}),Pn=p({name:L.Stats,description:`Saves each stat's base and its lasting modifiers.`,save:{...I[L.Stats],read:({character:e})=>({stats:qe(e)}),restore:({character:e},t)=>{Ye(e,t.stats);let n=e.get(O);n&&$e(e,n)}}}),Fn=p({name:L.Inventory,description:`Saves the bag and what is worn.`,save:{...I[L.Inventory],read:({character:e})=>({slots:[...e.get(g)??[]],equipment:{...e.get(O)}}),restore:({character:e},t)=>{let n=e.get(g)?.length;Ke(e,t.slots),n!==void 0&&Re(e,Math.max(n,t.slots.length)),$e(e,t.equipment)}}}),In=p({name:L.Resources,description:`Saves what the character has of each resource, such as mana.`,save:{...I[L.Resources],read:({character:e})=>({amounts:Ee(e)}),restore:({character:e},t)=>Ge(e,t.amounts)}}),Ln=p({name:L.Wallet,description:`Saves the coins in the character's wallet.`,save:{...I[L.Wallet],read:({character:e})=>({coins:e.get(f)?.coins??0}),restore:({character:e},{coins:t})=>{e.has(f)?e.set(f,{coins:t}):e.add(f({coins:t}))}}}),Rn=p({name:L.Levels,description:`Saves the levels finished.`,save:{...I[L.Levels],scope:`world`,read:({world:e})=>({finished:he(e)??{}}),restore:({world:e},t)=>be(e,t.finished)}}),zn=p({name:L.Loot,description:`Saves the loot already taken.`,save:{...I[L.Loot],scope:`world`,read:({world:e})=>({left:{...e.get(He)}}),restore:({world:e},t)=>{e.has(He)?e.set(He,t.left):e.add(He({...t.left}))}}}),Bn=p({name:L.Random,description:`Saves the state of the world's random stream.`,save:{...I[L.Random],scope:`world`,read:({world:e})=>{let{a:t,b:n,c:r,d:i}=e.get(k)??{a:0,b:0,c:0,d:0};return[t,n,r,i]},restore:({world:e},[t,n,r,i])=>{e.has(k)?e.set(k,{a:t,b:n,c:r,d:i}):e.add(k({a:t,b:n,c:r,d:i}))}}}),Vn={[L.Character]:Nn,[L.Stats]:Pn,[L.Inventory]:Fn,[L.Resources]:In,[L.Wallet]:Ln,[L.Levels]:Rn,[L.Loot]:zn,[L.Random]:Bn},Hn=Object.values(L);function Un(e,t){let n=[],r=e?.include??[];for(let e of Hn){let t=Vn[e].save;r.includes(e)&&t&&n.push({key:`${Tt.Engine}.${e}`,owner:`the engine's ${e} save`,save:t})}for(let{name:e,save:r}of t)r&&n.push({key:`${Tt.Kits}.${e}`,owner:`the ${e} kit`,save:r});return e&&oe(e)&&n.push({key:bt,owner:`the game`,save:e}),n}function Wn({key:e,owner:t,save:n}){return{owner:t,version:n.version,schema:n.schema,migrations:n.migrations}}function Gn(e,t=``,n=[]){let r=t||`the top`;if(e===void 0)return`${r} is undefined`;if(typeof e==`number`)return Number.isFinite(e)?void 0:`${r} is ${e}`;if(typeof e==`bigint`||typeof e==`function`||typeof e==`symbol`)return`${r} is a ${typeof e}`;if(typeof e!=`object`||!e)return;if(n.includes(e))return`${r} is the value that holds it`;let i=[...n,e];if(Array.isArray(e)){for(let[n,r]of e.entries()){let e=Gn(r,`${t}[${n}]`,i);if(e)return e}return}let a=Object.getPrototypeOf(e);if(a!==Object.prototype&&a!==null)return`${r} is a ${e.constructor.name}`;for(let[n,r]of Object.entries(e)){let e=Gn(r,t?`${t}.${n}`:n,i);if(e)return e}}function Kn({owner:e,save:t},n){let r;try{r=n()}catch(e){return{reason:`its read threw: ${e instanceof Error?e.message:String(e)}`}}if(r===void 0)return{reason:`its read returned undefined: return the state as plain JSON, such as {}`};let i=Gn(r);if(i)return{reason:`it returned a value JSON does not keep: ${i}. Return plain JSON: an array for a Set, a record for a Map, a finite number, and no undefined field`};let a;try{a=t.schema.safeParse(r)}catch(e){return{reason:`its schema threw: ${e instanceof Error?e.message:String(e)}`}}if(!a.success){let[t]=a.error.issues,n=t.path.map(String).join(`.`);return{reason:`it returned a value ${e}'s schema refuses${n?`, at ${n}`:``}: ${t.message}. Change the read or the schema, so what is saved loads again`}}return{value:r}}function qn(e,{save:t,player:n,onRefuse:r,seed:i=()=>crypto.getRandomValues(new Uint32Array(1))[0]}){let a=Un(t,Ne(e)),o=new Map(a.map(e=>[e.key,Wn(e)])),s=null,c={},l,u=e=>{s=e,c={},r?.(e)},d=(t,r)=>{if(!s?.ok)return;let i=Ct(c,o);if(!i.ok){u(i);return}for(let o of a){let a=i.states.get(o.key);if(a===void 0)continue;let{save:s}=o,c=s.scope===_.World?t===_.World&&(()=>s.restore({world:e,player:n()},a)):t===_.Player&&r&&(()=>s.restore({world:e,character:Le(r),player:n()},a));if(c)try{c()}catch(e){let t=`its restore threw: ${e instanceof Error?e.message:String(e)}`;u({ok:!1,key:o.key,owner:o.owner,reason:t,message:`The save did not load: ${o.owner}'s key ${o.key} failed, ${t}. The game stops here, and the save must not be written over.`});return}}},f=(t=!1)=>{l&&!l.isAlive()&&!t&&(l=void 0);let r=new Map;for(let t of a){let{save:i}=t,a;if(i.scope===_.World)a=()=>i.read({world:e,player:n()});else if(l){let t=l;a=()=>i.read({world:e,character:t,player:n()})}else continue;let o=Kn(t,a);if(`reason`in o)return{ok:!1,problem:{key:t.key,owner:t.owner,reason:o.reason,message:`The save was not stored: ${t.owner}'s read for its key ${t.key} failed, ${o.reason}. The last save stays, and play goes on.`}};r.set(t.key,o.value)}return c=Et(c,r,o),{ok:!0,record:c}};return{owners:a,get loaded(){return s},load:n=>{let r=Ct(n,o);return r.ok?(s=r,c=r.record,t?.include?.includes(L.Random)&&!r.states.has(`${Tt.Engine}.${L.Random}`)&&nt(e,i()),d(_.World),l&&d(_.Player,l),s):(u(r),r)},attachCharacter:e=>{l=e,d(_.Player,e)},detachCharacter:e=>{if(!s?.ok)return null;if(l!==e)return{ok:!1,problem:{key:``,owner:`the save`,reason:`the character read is not the one attached`,message:`The save was not read: the character that left is not the one this save reads.`}};let t=f(!0);return t.ok&&(l=void 0),t},read:()=>s?.ok?f():null}}var Jn=new WeakMap;function Yn(e,t){Jn.set(e,t)}function Xn(e){return Jn.get(e)}var Zn=new WeakMap;function Qn(e,t){return Zn.set(e,t),()=>{Zn.get(e)===t&&Zn.delete(e)}}function $n(e,t){Zn.get(e)?.(t)}var er=function(e){return e.Connecting=`connecting`,e.Reconnecting=`reconnecting`,e.Rejoining=`rejoining`,e.Failed=`failed`,e.Ended=`ended`,e}({}),tr={connecting:`Joining the game…`,reconnecting:`Connection lost. Reconnecting…`,rejoining:`Rejoining the game…`,failed:`Couldn't reconnect. Play again.`,ended:`Your game has ended.`};function nr(e,t={},n){return e===null?null:{kind:e,text:n||(t[e]??tr[e])}}var rr=function(e){return e.Unpacked=`unpacked`,e.Compressed=`compressed`,e}({}),Q=1048576;function ir(e){return e>=Q?`${(e/Q).toFixed(2)} MiB`:`${(e/1024).toFixed(1)} KiB`}var ar=class extends Error{constructor(){_t(super(gt(`The save's body unpacks past ${Ot/Q} MiB as JSON, over the platform's ceiling every save fits, so it was not read.`,`SP0570`))),this.name=`SaveBodyTooLargeError`}};async function or(e,t,n=1/0){let r=new ReadableStream({start(t){t.enqueue(new Uint8Array(e)),t.close()}}).pipeThrough(t).getReader(),i=[],a=0;for(;;){let{done:e,value:t}=await r.read();if(e)break;if(i.push(t),a+=t.byteLength,a>n)throw await r.cancel(),new ar}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.byteLength;return o}async function sr(e){let t=new TextEncoder().encode(e),n=await or(t,new CompressionStream(`gzip`));return{text:e,body:n,unpackedBytes:t.byteLength,compressedBytes:n.byteLength}}var cr=65536;function lr(e){return e>jt-cr}async function ur(e){let t=await or(e,new DecompressionStream(`gzip`),Ot);return JSON.parse(new TextDecoder(`utf-8`,{fatal:!0}).decode(t))}var dr=[{limit:`unpacked`,maxBytes:At,ceilingBytes:Ot,read:e=>e.unpackedBytes,as:`as JSON`},{limit:`compressed`,maxBytes:jt,ceilingBytes:kt,read:e=>e.compressedBytes,as:`gzipped`}],fr=`Keep less in the save: drop what the game can rebuild, and store ids rather than whole objects.`;function pr(e){for(let{limit:t,ceilingBytes:n,read:r,as:i}of dr){let a=r(e);if(a<=n)continue;let o=`it is ${ir(a)} ${i}, over the platform's ceiling of ${n/Q} MiB ${i}`;return{limit:t,bytes:a,maxBytes:n,ceiling:!0,reason:o,message:`The save was not stored: ${o}. The last save that fit stays, and play goes on. ${fr}`}}for(let{limit:t,maxBytes:n,read:r,as:i}of dr){let a=r(e);if(a<=n)continue;let o=`it is ${ir(a)} ${i}, over the limit of ${n/Q} MiB ${i}`;return{limit:t,bytes:a,maxBytes:n,ceiling:!1,reason:o,message:`The save is past its limit: ${o}. It is stored this once, then the game stops, and the player cannot play until a version of the game trims the save with a step. ${fr}`}}return null}function mr(e){let t=dr.find(({maxBytes:t,read:n})=>n(e)>t*Dt);return t?`The save is ${ir(e.unpackedBytes)} as JSON and ${ir(e.compressedBytes)} gzipped, past three quarters of its limit of ${t.maxBytes/Q} MiB ${t.as}. A save over 16 MiB as JSON or 4 MiB gzipped stops the game.`:null}var hr=function(e){return e.Saved=`saved`,e.Unsaved=`unsaved`,e.Saving=`saving`,e.Refused=`refused`,e}({}),gr={cloud:120,hidden:30,journal:5,largeJournal:30,largeRecordBytes:262144},_r={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)};function vr(e,t){if(e.length>t)return!0;let n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);if(i>=55296&&i<56320?(n+=4,r++):n+=i<128?1:i<2048?2:3,n>t)return!0}return!1}function yr({read:e,hand:t,journal:n=!0,firstNumber:r=1,stored:i=!0,onChange:a,onPastLimit:o,report:s=()=>void 0,clock:c=_r,pack:l=sr}){let u=1e3,d=r,f=!1,p=!1,m=!1,h=null,g=null,_=null,v=null,y=null,b=0,ee=i,x=null,S=null,te=null,ne=null,re=!1,ie=!1,ae=!1,C=null,w=!1,oe=1/0,T=1/0,se=null,ce=-1/0,E,le=Promise.resolve(),ue=!1,D={status:`saved`,problem:null,size:null},O=()=>{let e=S??(te?.text===g?te:null),t=e?.problem??C,n=e?e.size:h!==null&&g===h.text?ne:D.size,r=e?`refused`:ae||C||w?`unsaved`:x?`saving`:!ee||g!==y?`unsaved`:`saved`;(r!==D.status||t!==D.problem||n!==D.size)&&(D={status:r,problem:t,size:n},a?.(D))},de=e=>({unpackedBytes:e.unpackedBytes,compressedBytes:e.compressedBytes}),k=gr.cloud*u,fe=()=>(ie?gr.largeJournal:gr.journal)*u,pe=()=>Math.max(Math.min(T,se??1/0),ce+gr.hidden*u),A=()=>{if(E!==void 0&&c.clearTimeout(E),E=void 0,!f||p||m||ue)return;let e=Math.min(pe(),n?oe:1/0);e!==1/0&&(E=c.setTimeout(()=>{E=void 0,me(()=>be(c.now()>=pe()))},Math.max(0,e-c.now())))},me=e=>{let t=le.then(async()=>{ue=!0;try{return await e()}finally{ue=!1,A()}});return le=t.catch(()=>void 0),t},he=e=>{ae=!0,s(`error`,`The save was not written: ${e instanceof Error?e.message:String(e)}. The last save stays, and the engine reads the record again at its next write.`)},ge=async(e,n,r)=>{let i;if(h?.text===n)i={...h,cloud:r};else{if(n===te?.text)return null;let t=await l(n);if(m)return null;let o=pr(t),c=de(t);if(D={...D,size:c},a?.(D),o?.ceiling)return te={text:n,problem:o,size:c},s(`error`,o.message),null;let u=o?null:mr(t);u&&!re&&s(`warn`,u),re=u!==null,i={...t,number:d++,cloud:r||o!==null,versions:xt(e)},h=i,ne=c,_=n,o&&(S={handout:i,problem:o,size:c,stored:!1},s(`error`,o.message))}return i.cloud&&(v=n,x={number:i.number,text:n}),t(i),i},_e=()=>{if(m||!S||S.stored||x)return null;let e={...S.handout,cloud:!0};return v=e.text,x={number:e.number,text:e.text},t(e),e},ve=()=>{if(m||!h||h.text===v||h.text===y)return null;let e={...h,cloud:!0};return v=h.text,x={number:h.number,text:h.text},t(e),e},ye=()=>{let t=e();if(ae=!1,w=!1,t!==null&&!t.ok)return t.problem.message!==C?.message&&s(`error`,t.problem.message),C=t.problem,null;if(C=null,t===null)return g=null,null;let{record:n}=t,r=JSON.stringify(n);return g=r,ie=vr(r,gr.largeRecordBytes),{record:n,text:r}},j=e=>{ce=e,T=e+k,se=null},be=async e=>{let t=c.now();if(e&&(T=t+k,se=null),oe=t+fe(),S){e&&_e()&&j(t),O();return}try{let r=ye();if(oe=t+fe(),r===null)return;let{record:i,text:a}=r,o=e&&a!==v;(o||n&&a!==_)&&(await ge(i,a,o)??(o?ve():null))?.cloud&&j(t)}catch(e){he(e)}finally{O()}};return{get state(){return D},get text(){return g},start(){if(m)return;if(f){p=!1,A();return}f=!0;try{let e=ye()?.text??null;_=v=y=i?e:null}catch(e){he(e)}let e=c.now();oe=e+fe(),T=e+k,O(),A()},save(){f&&!m&&(w=!0,O())},flush(){f&&!m&&(se=c.now(),A())},saveNow:()=>me(async()=>{if(!f||m)return null;if(S){let e=_e();return e&&j(c.now()),e}try{let e=ye();if(e===null||e.text===v&&e.text===_)return null;let t=await ge(e.record,e.text,!0)??ve();return t&&j(c.now()),t}catch(e){return he(e),null}finally{O()}}),stored(e){if(e<b)return;ee=!0;let t=x?.number===e?x.text:h?.number===e?h.text:void 0;t!==void 0&&(b=e,y=t,x&&x.number<=e&&(x=null)),O(),S?.handout.number===e&&!S.stored&&(S.stored=!0,o?.(S.problem))},failed(e){x?.number===e&&(x=null,v=y,O())},pause(){p=!0,E!==void 0&&c.clearTimeout(E),E=void 0},stop(){m=!0,E!==void 0&&c.clearTimeout(E),E=void 0}}}function br(e,t){e.has(d)||e.add(d),e.get(d)?.disposers.push(t)}var $={isClear:!0};function xr(e,t,{position:n,rotation:r,keepVelocity:i=!0}){if(n&&(!Number.isFinite(n.x)||!Number.isFinite(n.y)||!Number.isFinite(n.z)))throw F(Error(`teleport: the position (${n.x}, ${n.y}, ${n.z}) is not finite; pass a point in the world, in metres.`),`SP0562`,`teleport`,t);let a=Cr(e)?e:null;a&&Be(a,t,`teleport`);let o=a&&!a.authoritative?null:e,s=o?we(o,t,`teleport`):ct(t);if(!s)return $.isClear=!0,$;let c=!a?.rerunEntity;return Sr(t)?($.isClear=xe(t,()=>wr(t,{position:n,rotation:r,keepVelocity:i},c)),Oe(t,$.isClear),$):($.isClear=Se(o,s,t,{position:n,rotation:r},!i),i||t.get(it)?.set(0,0,0),Oe(t,$.isClear),$)}function Sr(e){return e.has(b)||!e.has(ae(Qe))}function Cr(e){return typeof e==`object`&&!!e&&`updateEachPredicted`in e}function wr(e,{position:t,rotation:n,keepVelocity:r},i){let a=ct(e),o=e.get(A);if(!a||!o)return!0;if(!r){e.get(it)?.set(0,0,0);let t=e.get(b);t&&(t.verticalSpeed=0,t.externalVelocity.set(0,0,0),t.platformVelocity.set(0,0,0),e.set(b,t))}let s=j(a,e,{to:t??o.position,keepFall:r,drawn:i});if(n){o.rotation.set(n.x,n.y,n.z,n.w);let t=e.get(x);t&&(t.target.copy(o.rotation),e.set(x,{turnSecondsLeft:0})),i&&e.get(ce)?.rotation.copy(o.rotation)}if(i&&e.has(dt)){let t=e.get(dt);t?.offset.set(0,0,0),t?.previous.set(0,0,0),e.set(dt,{seconds:0})}let c=e.get(de)?.count;return c===void 0?e.add(de({count:1})):e.set(de,{count:c+1}),s}function Tr(e,t,n){if(!Number.isFinite(n.x)||!Number.isFinite(n.y)||!Number.isFinite(n.z))throw F(Error(`addLinearVelocity: the velocity (${n.x}, ${n.y}, ${n.z}) is not finite; pass metres a second along each axis.`),`SP0563`,`addLinearVelocity`,t);let r=we(e,t,`addLinearVelocity`);if(Sr(t)){t.has(b)||t.add(b);let e=t.get(b);if(!e)return;e.externalVelocity.x+=n.x,e.externalVelocity.z+=n.z,e.launchCount++,t.set(b,e),n.y!==0&&(n.y>0?rt(r,t,e.verticalSpeed+n.y):t.set(b,{verticalSpeed:e.verticalSpeed+n.y}));return}if(re(t,Ae)?.bodyType===Fe.Dynamic){E(e,t,n);return}t.has(mt)||t.add(mt);let i=t.get(mt);i&&(i.velocity.x+=n.x,i.velocity.y+=n.y,i.velocity.z+=n.z,i.launchCount++,t.set(mt,i))}function Er(e,t,{position:n,rotation:r}){if(Be(e,t,`commitPose`),n&&(!Number.isFinite(n.x)||!Number.isFinite(n.y)||!Number.isFinite(n.z)))throw F(Error(`commitPose: the position (${n.x}, ${n.y}, ${n.z}) is not finite; pass a point in the world, in metres.`),`SP0564`,`commitPose`,t);let{world:i}=e,a=t.get(A);if(!a)return;if(!Sr(t)){ye(i.get(y)?.handle??void 0,t,{position:n,rotation:r});return}if(r&&a.rotation.set(r.x,r.y,r.z,r.w),!n)return;a.position.set(n.x,n.y,n.z);let o=_e(i,t),s=i.get(y)?.handle;o&&s&&(o.rigidBody.setTranslation({x:n.x,y:n.y+o.body.height/2+ft.offset,z:n.z},!1),s.world.propagateModifiedBodyPositionsToColliders(),o.motion.floorRead=!1,s.placedSinceStep=!0,s.placedAlone=null)}function Dr(e,{name:t,avatar:n=``}){let r=pt(e,`addBotPlayer`),i=ke(r),a=Ze(r,{account:`bot-${i}`,name:t,seat:i,role:le.Bot,avatar:n}),o=Xe(r),s=Ue(r,a,{returning:!1,rethrow:!o||r.has(ze)});return s.ok?a.entity:(o?.({system:`fault`in s?`${s.fault.plugin}.${s.fault.hook}`:`core.players`,tick:et(r),streak:1,error:`fault`in s?s.fault.error:F(Error(`A bot's join was refused: ${s.refusal}.`),`SP0565`,`addBotPlayer`)}),null)}function Or(e){return e}var kr=D(`pendingGrants`,()=>({names:[]}),{serverOnly:!0});function Ar(e,t,n,r){let i=Pe(n),a=m(i);if(a===void 0)throw F(Error(`grantPredicted wrote a trait ${h(i)}, which is not a PredictedTrait: grant a trait defined with { predicted: true } and no anyEntity, and write any other with koota's own set.`),`SP0183`,`grantPredicted`);if(!Te(e))throw F(Error(`grantPredicted(step, character, ${a}) ran outside the step it names: grant in the system the step runs, and keep no step for later.`),`SP0184`,`grantPredicted`);if(we(e,t,`grantPredicted(step, character, ${a})`),!t.has(ut))throw F(Error(`grantPredicted(step, character, ${a}) granted to entity ${t.id()}, which no player controls: a predicted trait is held by a controlled entity alone.`),`SP0185`,`grantPredicted`);xe(t,()=>Ce(t,n,r)),t.has(kr)||t.add(kr);let o=t.get(kr);o&&!o.names.includes(a)&&o.names.push(a)}function jr({name:e,form:t,schema:n,steps:r}){St(`The ${e} codec`,t,r);let i=i=>{let a=yt.safeParse(i);if(!a.success)throw F(Error(`A saved ${e} has no $form: keep it with toSave, which tags it with the form it was written in.`),`SP0213`,`defineSaveCodec`);let{$form:o,...s}=a.data;if(o>t)throw F(Error(`A saved ${e} is in form ${o}, and this engine reads up to form ${t}: a newer engine release wrote it.`),`SP0214`,`defineSaveCodec`);let c=s;for(let e=o+1;e<=t;e++)c=r?.[e]?.(c);let l=n.safeParse(c);if(!l.success){let[t]=l.error.issues;throw F(Error(`A saved ${e} is refused at ${t.path.map(String).join(`.`)||`the top`}: ${t.message}.`),`SP0215`,`defineSaveCodec`)}return l.data};return{form:t,schema:wt(e,i),toSave:n=>{if(typeof n!=`object`||!n||Array.isArray(n))throw F(Error(`Cannot keep a saved ${e} that is no record: ${JSON.stringify(n)}. A codec keeps a record of fields, which the $form tag sits beside.`),`SP0216`,`defineSaveCodec`);return{$form:t,...n}},fromSave:i}}var Mr=jr({name:`item stack`,form:1,schema:vt}),Nr=new WeakMap;function Pr(e){Nr.has(e)&&Nr.set(e,!0)}var Fr=function(e){return e.Counter=`counter`,e.Gauge=`gauge`,e}({});function Ir(e,t){let n={};for(let r in t.measures){let i=t.measures[r],a;try{a=i.read(e)}catch(e){throw F(Error(`The timeline's measure "${r}" threw: ${e instanceof Error?e.message:String(e)}. Make its read return a value for every world it measures.`,{cause:e}),`SP0231`,`readTimeline`)}if(i.kind===`counter`&&!(typeof a==`number`&&Number.isFinite(a)))throw F(Error(`The timeline's measure "${r}" is a counter and read ${String(a)}: a counter reads a finite number.`),`SP0232`,`readTimeline`);n[r]=a}return t.over===void 0?{values:n}:{values:n,over:t.over(e)}}function Lr(e){let t=pt(e,`reloadScene`),n=t.get(ne);return n?(t.set(ne,{count:n.count+1}),!0):!1}export{Bt as $,wn as A,dn as B,nr as C,Qn as D,Xn as E,jn as F,nn as G,on as H,un as I,Jt as J,an as K,vn as L,En as M,Sn as N,$n as O,Mn as P,Rt as Q,gn as R,tr as S,qn as T,bn as U,hn as V,ln as W,Wt as X,Yt as Y,zt as Z,lr as _,jr as a,ur as b,Or as c,Er as d,Ut as et,xr as f,rr as g,yr as h,Pr as i,An as j,xn as k,Dr as l,hr as m,Fr as n,Pt as nt,Mr as o,br as p,rn as q,Ir as r,Ar as s,Lr as t,Ht as tt,Tr as u,pr as v,Yn as w,er as x,sr as y,_n as z};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./Cvdyeg_0.js";import{$r as n,B as r,Bs as i,Dr as a,Er as o,Fi as s,Gn as c,Hn as l,I as u,Io as d,Ki as f,Ln as p,Lr as m,Ls as h,Mo as g,Mr as ee,N as _,Nr as te,Or as ne,Pi as re,Po as ie,Q as ae,Qn as oe,Qr as se,Rr as v,Rs as y,Sr as ce,V as le,Vo as ue,Wr as b,Wt as de,Xi as fe,Xn as pe,Xr as x,Zn as me,_i as he,br as ge,cs as _e,da as S,dn as C,ea as ve,er as ye,et as w,fa as T,jn as E,mi as be,na as xe,oi as D,p as Se,po as Ce,qr as we,ra as Te,sa as Ee,si as O,ss as k,tr as A,ui as De,vi as Oe}from"./BoJD7UsQ.js";import{M as j}from"./CJgknJ-O.js";import{t as ke}from"./CvVTau-c.js";import{t as Ae}from"./BDntRBeD.js";import{r as M}from"./DwsXVYGF.js";import{t as je}from"./XTdr3vkK.js";import{t as N}from"./IRJFdyYz.js";var P=`srgb`,F=`srgb-linear`,Me=3001,Ne=3e3,I=class extends m{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(e){return new Re(e)}),this.register(function(e){return new ze(e)}),this.register(function(e){return new Je(e)}),this.register(function(e){return new Ye(e)}),this.register(function(e){return new Xe(e)}),this.register(function(e){return new Ve(e)}),this.register(function(e){return new He(e)}),this.register(function(e){return new Ue(e)}),this.register(function(e){return new We(e)}),this.register(function(e){return new Le(e)}),this.register(function(e){return new Ge(e)}),this.register(function(e){return new Be(e)}),this.register(function(e){return new qe(e)}),this.register(function(e){return new Ke(e)}),this.register(function(e){return new Fe(e)}),this.register(function(e){return new Ze(e)}),this.register(function(e){return new Qe(e)})}load(e,t,n,r){let i=this,a;if(this.resourcePath!==``)a=this.resourcePath;else if(this.path!==``){let t=v.extractUrlBase(e);a=v.resolveURL(t,this.path)}else a=v.extractUrlBase(e);this.manager.itemStart(e);let o=function(t){r?r(t):console.error(t),i.manager.itemError(e),i.manager.itemEnd(e)},s=new C(this.manager);s.setPath(this.path),s.setResponseType(`arraybuffer`),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,function(n){try{i.parse(n,a,function(n){t(n),i.manager.itemEnd(e)},o)}catch(e){o(e)}},n,o)}setDRACOLoader(e){return this.dracoLoader=e,this}setDDSLoader(){throw Error(`THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".`)}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,n,r){let i,a={},o={};if(typeof e==`string`)i=JSON.parse(e);else if(e instanceof ArrayBuffer){if(N(new Uint8Array(e.slice(0,4)))===$e){try{a[L.KHR_BINARY_GLTF]=new tt(e)}catch(e){r&&r(e);return}i=JSON.parse(a[L.KHR_BINARY_GLTF].content)}else i=JSON.parse(N(new Uint8Array(e)))}else i=e;if(i.asset===void 0||i.asset.version[0]<2){r&&r(Error(`THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.`));return}let s=new _t(i,{path:t||this.resourcePath||``,crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});s.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e<this.pluginCallbacks.length;e++){let t=this.pluginCallbacks[e](s);t.name||console.error(`THREE.GLTFLoader: Invalid plugin found: missing name`),o[t.name]=t,a[t.name]=!0}if(i.extensionsUsed)for(let e=0;e<i.extensionsUsed.length;++e){let t=i.extensionsUsed[e],n=i.extensionsRequired||[];switch(t){case L.KHR_MATERIALS_UNLIT:a[t]=new Ie;break;case L.KHR_DRACO_MESH_COMPRESSION:a[t]=new nt(i,this.dracoLoader);break;case L.KHR_TEXTURE_TRANSFORM:a[t]=new rt;break;case L.KHR_MESH_QUANTIZATION:a[t]=new it;break;default:n.indexOf(t)>=0&&o[t]===void 0&&console.warn(`THREE.GLTFLoader: Unknown extension "`+t+`".`)}}s.setExtensions(a),s.setPlugins(o),s.parse(n,r)}parseAsync(e,t){let n=this;return new Promise(function(r,i){n.parse(e,t,r,i)})}};function Pe(){let e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}var L={KHR_BINARY_GLTF:`KHR_binary_glTF`,KHR_DRACO_MESH_COMPRESSION:`KHR_draco_mesh_compression`,KHR_LIGHTS_PUNCTUAL:`KHR_lights_punctual`,KHR_MATERIALS_CLEARCOAT:`KHR_materials_clearcoat`,KHR_MATERIALS_DISPERSION:`KHR_materials_dispersion`,KHR_MATERIALS_IOR:`KHR_materials_ior`,KHR_MATERIALS_SHEEN:`KHR_materials_sheen`,KHR_MATERIALS_SPECULAR:`KHR_materials_specular`,KHR_MATERIALS_TRANSMISSION:`KHR_materials_transmission`,KHR_MATERIALS_IRIDESCENCE:`KHR_materials_iridescence`,KHR_MATERIALS_ANISOTROPY:`KHR_materials_anisotropy`,KHR_MATERIALS_UNLIT:`KHR_materials_unlit`,KHR_MATERIALS_VOLUME:`KHR_materials_volume`,KHR_TEXTURE_BASISU:`KHR_texture_basisu`,KHR_TEXTURE_TRANSFORM:`KHR_texture_transform`,KHR_MESH_QUANTIZATION:`KHR_mesh_quantization`,KHR_MATERIALS_EMISSIVE_STRENGTH:`KHR_materials_emissive_strength`,EXT_MATERIALS_BUMP:`EXT_materials_bump`,EXT_TEXTURE_WEBP:`EXT_texture_webp`,EXT_TEXTURE_AVIF:`EXT_texture_avif`,EXT_MESHOPT_COMPRESSION:`EXT_meshopt_compression`,EXT_MESH_GPU_INSTANCING:`EXT_mesh_gpu_instancing`},Fe=class{constructor(e){this.parser=e,this.name=L.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){let e=this.parser,t=this.parser.json.nodes||[];for(let n=0,r=t.length;n<r;n++){let r=t[n];r.extensions&&r.extensions[this.name]&&r.extensions[this.name].light!==void 0&&e._addNodeRef(this.cache,r.extensions[this.name].light)}}_loadLight(e){let t=this.parser,n=`light:`+e,r=t.cache.get(n);if(r)return r;let i=t.json,a=((i.extensions&&i.extensions[this.name]||{}).lights||[])[e],o,s=new w(16777215);a.color!==void 0&&s.setRGB(a.color[0],a.color[1],a.color[2],F);let c=a.range===void 0?0:a.range;switch(a.type){case`directional`:o=new de(s),o.target.position.set(0,0,-1),o.add(o.target);break;case`point`:o=new ve(s),o.distance=c;break;case`spot`:o=new ue(s),o.distance=c,a.spot=a.spot||{},a.spot.innerConeAngle=a.spot.innerConeAngle===void 0?0:a.spot.innerConeAngle,a.spot.outerConeAngle=a.spot.outerConeAngle===void 0?Math.PI/4:a.spot.outerConeAngle,o.angle=a.spot.outerConeAngle,o.penumbra=1-a.spot.innerConeAngle/a.spot.outerConeAngle,o.target.position.set(0,0,-1),o.add(o.target);break;default:throw Error(`THREE.GLTFLoader: Unexpected light type: `+a.type)}return o.position.set(0,0,0),o.decay=2,K(o,a),a.intensity!==void 0&&(o.intensity=a.intensity),o.name=t.createUniqueName(a.name||`light_`+e),r=Promise.resolve(o),t.cache.add(n,r),r}getDependency(e,t){if(e===`light`)return this._loadLight(t)}createNodeAttachment(e){let t=this,n=this.parser,r=n.json.nodes[e],i=(r.extensions&&r.extensions[this.name]||{}).light;return i===void 0?null:this._loadLight(i).then(function(e){return n._getNodeRef(t.cache,i,e)})}},Ie=class{constructor(){this.name=L.KHR_MATERIALS_UNLIT}getMaterialType(){return n}extendParams(e,t,n){let r=[];e.color=new w(1,1,1),e.opacity=1;let i=t.pbrMetallicRoughness;if(i){if(Array.isArray(i.baseColorFactor)){let t=i.baseColorFactor;e.color.setRGB(t[0],t[1],t[2],F),e.opacity=t[3]}i.baseColorTexture!==void 0&&r.push(n.assignTexture(e,`map`,i.baseColorTexture,P))}return Promise.all(r)}},Le=class{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){let n=this.parser.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let r=n.extensions[this.name].emissiveStrength;return r!==void 0&&(t.emissiveIntensity=r),Promise.resolve()}},Re=class{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){let t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:D}extendMaterialParams(e,t){let n=this.parser,r=n.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let i=[],a=r.extensions[this.name];if(a.clearcoatFactor!==void 0&&(t.clearcoat=a.clearcoatFactor),a.clearcoatTexture!==void 0&&i.push(n.assignTexture(t,`clearcoatMap`,a.clearcoatTexture)),a.clearcoatRoughnessFactor!==void 0&&(t.clearcoatRoughness=a.clearcoatRoughnessFactor),a.clearcoatRoughnessTexture!==void 0&&i.push(n.assignTexture(t,`clearcoatRoughnessMap`,a.clearcoatRoughnessTexture)),a.clearcoatNormalTexture!==void 0&&(i.push(n.assignTexture(t,`clearcoatNormalMap`,a.clearcoatNormalTexture)),a.clearcoatNormalTexture.scale!==void 0)){let e=a.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new h(e,e)}return Promise.all(i)}},ze=class{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_DISPERSION}getMaterialType(e){let t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:D}extendMaterialParams(e,t){let n=this.parser.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let r=n.extensions[this.name];return t.dispersion=r.dispersion===void 0?0:r.dispersion,Promise.resolve()}},Be=class{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){let t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:D}extendMaterialParams(e,t){let n=this.parser,r=n.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let i=[],a=r.extensions[this.name];return a.iridescenceFactor!==void 0&&(t.iridescence=a.iridescenceFactor),a.iridescenceTexture!==void 0&&i.push(n.assignTexture(t,`iridescenceMap`,a.iridescenceTexture)),a.iridescenceIor!==void 0&&(t.iridescenceIOR=a.iridescenceIor),t.iridescenceThicknessRange===void 0&&(t.iridescenceThicknessRange=[100,400]),a.iridescenceThicknessMinimum!==void 0&&(t.iridescenceThicknessRange[0]=a.iridescenceThicknessMinimum),a.iridescenceThicknessMaximum!==void 0&&(t.iridescenceThicknessRange[1]=a.iridescenceThicknessMaximum),a.iridescenceThicknessTexture!==void 0&&i.push(n.assignTexture(t,`iridescenceThicknessMap`,a.iridescenceThicknessTexture)),Promise.all(i)}},Ve=class{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_SHEEN}getMaterialType(e){let t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:D}extendMaterialParams(e,t){let n=this.parser,r=n.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let i=[];t.sheenColor=new w(0,0,0),t.sheenRoughness=0,t.sheen=1;let a=r.extensions[this.name];if(a.sheenColorFactor!==void 0){let e=a.sheenColorFactor;t.sheenColor.setRGB(e[0],e[1],e[2],F)}return a.sheenRoughnessFactor!==void 0&&(t.sheenRoughness=a.sheenRoughnessFactor),a.sheenColorTexture!==void 0&&i.push(n.assignTexture(t,`sheenColorMap`,a.sheenColorTexture,P)),a.sheenRoughnessTexture!==void 0&&i.push(n.assignTexture(t,`sheenRoughnessMap`,a.sheenRoughnessTexture)),Promise.all(i)}},He=class{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){let t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:D}extendMaterialParams(e,t){let n=this.parser,r=n.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let i=[],a=r.extensions[this.name];return a.transmissionFactor!==void 0&&(t.transmission=a.transmissionFactor),a.transmissionTexture!==void 0&&i.push(n.assignTexture(t,`transmissionMap`,a.transmissionTexture)),Promise.all(i)}},Ue=class{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_VOLUME}getMaterialType(e){let t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:D}extendMaterialParams(e,t){let n=this.parser,r=n.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let i=[],a=r.extensions[this.name];t.thickness=a.thicknessFactor===void 0?0:a.thicknessFactor,a.thicknessTexture!==void 0&&i.push(n.assignTexture(t,`thicknessMap`,a.thicknessTexture)),t.attenuationDistance=a.attenuationDistance||1/0;let o=a.attenuationColor||[1,1,1];return t.attenuationColor=new w().setRGB(o[0],o[1],o[2],F),Promise.all(i)}},We=class{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_IOR}getMaterialType(e){let t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:D}extendMaterialParams(e,t){let n=this.parser.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();let r=n.extensions[this.name];return t.ior=r.ior===void 0?1.5:r.ior,Promise.resolve()}},Ge=class{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_SPECULAR}getMaterialType(e){let t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:D}extendMaterialParams(e,t){let n=this.parser,r=n.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let i=[],a=r.extensions[this.name];t.specularIntensity=a.specularFactor===void 0?1:a.specularFactor,a.specularTexture!==void 0&&i.push(n.assignTexture(t,`specularIntensityMap`,a.specularTexture));let o=a.specularColorFactor||[1,1,1];return t.specularColor=new w().setRGB(o[0],o[1],o[2],F),a.specularColorTexture!==void 0&&i.push(n.assignTexture(t,`specularColorMap`,a.specularColorTexture,P)),Promise.all(i)}},Ke=class{constructor(e){this.parser=e,this.name=L.EXT_MATERIALS_BUMP}getMaterialType(e){let t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:D}extendMaterialParams(e,t){let n=this.parser,r=n.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let i=[],a=r.extensions[this.name];return t.bumpScale=a.bumpFactor===void 0?1:a.bumpFactor,a.bumpTexture!==void 0&&i.push(n.assignTexture(t,`bumpMap`,a.bumpTexture)),Promise.all(i)}},qe=class{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){let t=this.parser.json.materials[e];return!t.extensions||!t.extensions[this.name]?null:D}extendMaterialParams(e,t){let n=this.parser,r=n.json.materials[e];if(!r.extensions||!r.extensions[this.name])return Promise.resolve();let i=[],a=r.extensions[this.name];return a.anisotropyStrength!==void 0&&(t.anisotropy=a.anisotropyStrength),a.anisotropyRotation!==void 0&&(t.anisotropyRotation=a.anisotropyRotation),a.anisotropyTexture!==void 0&&i.push(n.assignTexture(t,`anisotropyMap`,a.anisotropyTexture)),Promise.all(i)}},Je=class{constructor(e){this.parser=e,this.name=L.KHR_TEXTURE_BASISU}loadTexture(e){let t=this.parser,n=t.json,r=n.textures[e];if(!r.extensions||!r.extensions[this.name])return null;let i=r.extensions[this.name],a=t.options.ktx2Loader;if(!a){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw Error(`THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures`);return null}return t.loadTextureImage(e,i.source,a)}},Ye=class{constructor(e){this.parser=e,this.name=L.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return this.detectSupport().then(function(i){if(i)return n.loadTextureImage(e,a.source,s);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw Error(`THREE.GLTFLoader: WebP required by asset but unsupported.`);return n.loadTexture(e)})}detectSupport(){return this.isSupported||=new Promise(function(e){let t=new Image;t.src=`data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA`,t.onload=t.onerror=function(){e(t.height===1)}}),this.isSupported}},Xe=class{constructor(e){this.parser=e,this.name=L.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){let t=this.name,n=this.parser,r=n.json,i=r.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=r.images[a.source],s=n.textureLoader;if(o.uri){let e=n.options.manager.getHandler(o.uri);e!==null&&(s=e)}return this.detectSupport().then(function(i){if(i)return n.loadTextureImage(e,a.source,s);if(r.extensionsRequired&&r.extensionsRequired.indexOf(t)>=0)throw Error(`THREE.GLTFLoader: AVIF required by asset but unsupported.`);return n.loadTexture(e)})}detectSupport(){return this.isSupported||=new Promise(function(e){let t=new Image;t.src=`data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=`,t.onload=t.onerror=function(){e(t.height===1)}}),this.isSupported}},Ze=class{constructor(e){this.name=L.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){let t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){let e=n.extensions[this.name],r=this.parser.getDependency(`buffer`,e.buffer),i=this.parser.options.meshoptDecoder;if(!i||!i.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw Error(`THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files`);return null}return r.then(function(t){let n=e.byteOffset||0,r=e.byteLength||0,a=e.count,o=e.byteStride,s=new Uint8Array(t,n,r);return i.decodeGltfBufferAsync?i.decodeGltfBufferAsync(a,o,s,e.mode,e.filter).then(function(e){return e.buffer}):i.ready.then(function(){let t=new ArrayBuffer(a*o);return i.decodeGltfBuffer(new Uint8Array(t),a,o,s,e.mode,e.filter),t})})}return null}},Qe=class{constructor(e){this.name=L.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){let t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;let r=t.meshes[n.mesh];for(let e of r.primitives)if(e.mode!==z.TRIANGLES&&e.mode!==z.TRIANGLE_STRIP&&e.mode!==z.TRIANGLE_FAN&&e.mode!==void 0)return null;let i=n.extensions[this.name].attributes,a=[],o={};for(let e in i)a.push(this.parser.getDependency(`accessor`,i[e]).then(t=>(o[e]=t,o[e])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(e=>{let t=e.pop(),n=t.isGroup?t.children:[t],r=e[0].count,i=[];for(let e of n){let t=new x,n=new y,a=new S,u=new y(1,1,1),d=new c(e.geometry,e.material,r);for(let e=0;e<r;e++)o.TRANSLATION&&n.fromBufferAttribute(o.TRANSLATION,e),o.ROTATION&&a.fromBufferAttribute(o.ROTATION,e),o.SCALE&&u.fromBufferAttribute(o.SCALE,e),d.setMatrixAt(e,t.compose(n,a,u));for(let t in o)if(t===`_COLOR_0`){let e=o[t];d.instanceColor=new l(e.array,e.itemSize,e.normalized)}else t!==`TRANSLATION`&&t!==`ROTATION`&&t!==`SCALE`&&e.geometry.setAttribute(t,o[t]);s.prototype.copy.call(d,e),this.parser.assignFinalMaterial(d),i.push(d)}return t.isGroup?(t.clear(),t.add(...i),t):i[0]}))}},$e=`glTF`,R=12,et={JSON:1313821514,BIN:5130562},tt=class{constructor(e){this.name=L.KHR_BINARY_GLTF,this.content=null,this.body=null;let t=new DataView(e,0,R);if(this.header={magic:N(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==$e)throw Error(`THREE.GLTFLoader: Unsupported glTF-Binary header.`);if(this.header.version<2)throw Error(`THREE.GLTFLoader: Legacy binary file detected.`);let n=this.header.length-R,r=new DataView(e,R),i=0;for(;i<n;){let t=r.getUint32(i,!0);i+=4;let n=r.getUint32(i,!0);if(i+=4,n===et.JSON){let n=new Uint8Array(e,R+i,t);this.content=N(n)}else if(n===et.BIN){let n=R+i;this.body=e.slice(n,n+t)}i+=t}if(this.content===null)throw Error(`THREE.GLTFLoader: JSON content not found.`)}},nt=class{constructor(e,t){if(!t)throw Error(`THREE.GLTFLoader: No DRACOLoader instance provided.`);this.name=L.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){let n=this.json,r=this.dracoLoader,i=e.extensions[this.name].bufferView,a=e.extensions[this.name].attributes,o={},s={},c={};for(let e in a){let t=H[e]||e.toLowerCase();o[t]=a[e]}for(let t in e.attributes){let r=H[t]||t.toLowerCase();if(a[t]!==void 0){let i=n.accessors[e.attributes[t]];c[r]=B[i.componentType].name,s[r]=i.normalized===!0}}return t.getDependency(`bufferView`,i).then(function(e){return new Promise(function(t,n){r.decodeDracoFile(e,function(e){for(let t in e.attributes){let n=e.attributes[t],r=s[t];r!==void 0&&(n.normalized=r)}t(e)},o,c,F,n)})})}},rt=class{constructor(){this.name=L.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(t.texCoord===void 0||t.texCoord===e.channel)&&t.offset===void 0&&t.rotation===void 0&&t.scale===void 0?e:(e=e.clone(),t.texCoord!==void 0&&(e.channel=t.texCoord),t.offset!==void 0&&e.offset.fromArray(t.offset),t.rotation!==void 0&&(e.rotation=t.rotation),t.scale!==void 0&&e.repeat.fromArray(t.scale),e.needsUpdate=!0,e)}},it=class{constructor(){this.name=L.KHR_MESH_QUANTIZATION}},at=class extends oe{constructor(e,t,n,r){super(e,t,n,r)}copySampleValue_(e){let t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r*3+r;for(let e=0;e!==r;e++)t[e]=n[i+e];return t}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,o=this.valueSize,s=o*2,c=o*3,l=r-t,u=(n-t)/l,d=u*u,f=d*u,p=e*c,m=p-c,h=-2*f+3*d,g=f-d,ee=1-h,_=g-d+u;for(let e=0;e!==o;e++){let t=a[m+e+o],n=a[m+e+s]*l,r=a[p+e+o],c=a[p+e]*l;i[e]=ee*t+_*n+h*r+g*c}return i}},ot=new S,st=class extends at{interpolate_(e,t,n,r){let i=super.interpolate_(e,t,n,r);return ot.fromArray(i).normalize().toArray(i),i}},z={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},B={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},ct={9728:be,9729:ne,9984:Oe,9985:te,9986:he,9987:ee},lt={33071:ae,33648:De,10497:Ce},V={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},H={POSITION:`position`,NORMAL:`normal`,TANGENT:`tangent`,...Ae>=152?{TEXCOORD_0:`uv`,TEXCOORD_1:`uv1`,TEXCOORD_2:`uv2`,TEXCOORD_3:`uv3`}:{TEXCOORD_0:`uv`,TEXCOORD_1:`uv2`},COLOR_0:`color`,WEIGHTS_0:`skinWeight`,JOINTS_0:`skinIndex`},U={scale:`scale`,translation:`position`,rotation:`quaternion`,weights:`morphTargetInfluences`},ut={CUBICSPLINE:void 0,LINEAR:A,STEP:ye},W={OPAQUE:`OPAQUE`,MASK:`MASK`,BLEND:`BLEND`};function dt(e){return e.DefaultMaterial===void 0&&(e.DefaultMaterial=new O({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:0})),e.DefaultMaterial}function G(e,t,n){for(let r in n.extensions)e[r]===void 0&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[r]=n.extensions[r])}function K(e,t){t.extras!==void 0&&(typeof t.extras==`object`?Object.assign(e.userData,t.extras):console.warn(`THREE.GLTFLoader: Ignoring primitive type .extras, `+t.extras))}function ft(e,t,n){let r=!1,i=!1,a=!1;for(let e=0,n=t.length;e<n;e++){let n=t[e];if(n.POSITION!==void 0&&(r=!0),n.NORMAL!==void 0&&(i=!0),n.COLOR_0!==void 0&&(a=!0),r&&i&&a)break}if(!r&&!i&&!a)return Promise.resolve(e);let o=[],s=[],c=[];for(let l=0,u=t.length;l<u;l++){let u=t[l];if(r){let t=u.POSITION===void 0?e.attributes.position:n.getDependency(`accessor`,u.POSITION);o.push(t)}if(i){let t=u.NORMAL===void 0?e.attributes.normal:n.getDependency(`accessor`,u.NORMAL);s.push(t)}if(a){let t=u.COLOR_0===void 0?e.attributes.color:n.getDependency(`accessor`,u.COLOR_0);c.push(t)}}return Promise.all([Promise.all(o),Promise.all(s),Promise.all(c)]).then(function(t){let n=t[0],o=t[1],s=t[2];return r&&(e.morphAttributes.position=n),i&&(e.morphAttributes.normal=o),a&&(e.morphAttributes.color=s),e.morphTargetsRelative=!0,e})}function pt(e,t){if(e.updateMorphTargets(),t.weights!==void 0)for(let n=0,r=t.weights.length;n<r;n++)e.morphTargetInfluences[n]=t.weights[n];if(t.extras&&Array.isArray(t.extras.targetNames)){let n=t.extras.targetNames;if(e.morphTargetInfluences.length===n.length){e.morphTargetDictionary={};for(let t=0,r=n.length;t<r;t++)e.morphTargetDictionary[n[t]]=t}else console.warn(`THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.`)}}function mt(e){let t,n=e.extensions&&e.extensions[L.KHR_DRACO_MESH_COMPRESSION];if(t=n?`draco:`+n.bufferView+`:`+n.indices+`:`+q(n.attributes):e.indices+`:`+q(e.attributes)+`:`+e.mode,e.targets!==void 0)for(let n=0,r=e.targets.length;n<r;n++)t+=`:`+q(e.targets[n]);return t}function q(e){let t=``,n=Object.keys(e).sort();for(let r=0,i=n.length;r<i;r++)t+=n[r]+`:`+e[n[r]]+`;`;return t}function J(e){switch(e){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw Error(`THREE.GLTFLoader: Unsupported normalized accessor component type.`)}}function ht(e){return e.search(/\.jpe?g($|\?)/i)>0||e.search(/^data\:image\/jpeg/)===0?`image/jpeg`:e.search(/\.webp($|\?)/i)>0||e.search(/^data\:image\/webp/)===0?`image/webp`:`image/png`}var gt=new x,_t=class{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new Pe,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,r=!1,i=-1;typeof navigator<`u`&&navigator.userAgent!==void 0&&(n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,r=navigator.userAgent.indexOf(`Firefox`)>-1,i=r?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),this.textureLoader=typeof createImageBitmap>`u`||n||r&&i<98?new _e(this.options.manager):new p(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new C(this.options.manager),this.fileLoader.setResponseType(`arraybuffer`),this.options.crossOrigin===`use-credentials`&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){let n=this,r=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(e){return e._markDefs&&e._markDefs()}),Promise.all(this._invokeAll(function(e){return e.beforeRoot&&e.beforeRoot()})).then(function(){return Promise.all([n.getDependencies(`scene`),n.getDependencies(`animation`),n.getDependencies(`camera`)])}).then(function(t){let a={scene:t[0][r.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:r.asset,parser:n,userData:{}};return G(i,a,r),K(a,r),Promise.all(n._invokeAll(function(e){return e.afterRoot&&e.afterRoot(a)})).then(function(){for(let e of a.scenes)e.updateMatrixWorld();e(a)})}).catch(t)}_markDefs(){let e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let n=0,r=t.length;n<r;n++){let r=t[n].joints;for(let t=0,n=r.length;t<n;t++)e[r[t]].isBone=!0}for(let t=0,r=e.length;t<r;t++){let r=e[t];r.mesh!==void 0&&(this._addNodeRef(this.meshCache,r.mesh),r.skin!==void 0&&(n[r.mesh].isSkinnedMesh=!0)),r.camera!==void 0&&this._addNodeRef(this.cameraCache,r.camera)}}_addNodeRef(e,t){t!==void 0&&(e.refs[t]===void 0&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,n){if(e.refs[t]<=1)return n;let r=n.clone(),i=(e,t)=>{let n=this.associations.get(e);n!=null&&this.associations.set(t,n);for(let[n,r]of e.children.entries())i(r,t.children[n])};return i(n,r),r.name+=`_instance_`+e.uses[t]++,r}_invokeOne(e){let t=Object.values(this.plugins);t.push(this);for(let n=0;n<t.length;n++){let r=e(t[n]);if(r)return r}return null}_invokeAll(e){let t=Object.values(this.plugins);t.unshift(this);let n=[];for(let r=0;r<t.length;r++){let i=e(t[r]);i&&n.push(i)}return n}getDependency(e,t){let n=e+`:`+t,r=this.cache.get(n);if(!r){switch(e){case`scene`:r=this.loadScene(t);break;case`node`:r=this._invokeOne(function(e){return e.loadNode&&e.loadNode(t)});break;case`mesh`:r=this._invokeOne(function(e){return e.loadMesh&&e.loadMesh(t)});break;case`accessor`:r=this.loadAccessor(t);break;case`bufferView`:r=this._invokeOne(function(e){return e.loadBufferView&&e.loadBufferView(t)});break;case`buffer`:r=this.loadBuffer(t);break;case`material`:r=this._invokeOne(function(e){return e.loadMaterial&&e.loadMaterial(t)});break;case`texture`:r=this._invokeOne(function(e){return e.loadTexture&&e.loadTexture(t)});break;case`skin`:r=this.loadSkin(t);break;case`animation`:r=this._invokeOne(function(e){return e.loadAnimation&&e.loadAnimation(t)});break;case`camera`:r=this.loadCamera(t);break;default:if(r=this._invokeOne(function(n){return n!=this&&n.getDependency&&n.getDependency(e,t)}),!r)throw Error(`Unknown type: `+e)}this.cache.add(n,r)}return r}getDependencies(e){let t=this.cache.get(e);if(!t){let n=this,r=this.json[e+(e===`mesh`?`es`:`s`)]||[];t=Promise.all(r.map(function(t,r){return n.getDependency(e,r)})),this.cache.add(e,t)}return t}loadBuffer(e){let t=this.json.buffers[e],n=this.fileLoader;if(t.type&&t.type!==`arraybuffer`)throw Error(`THREE.GLTFLoader: `+t.type+` buffer type is not supported.`);if(t.uri===void 0&&e===0)return Promise.resolve(this.extensions[L.KHR_BINARY_GLTF].body);let r=this.options;return new Promise(function(e,i){n.load(v.resolveURL(t.uri,r.path),e,void 0,function(){i(Error(`THREE.GLTFLoader: Failed to load buffer "`+t.uri+`".`))})})}loadBufferView(e){let t=this.json.bufferViews[e];return this.getDependency(`buffer`,t.buffer).then(function(e){let n=t.byteLength||0,r=t.byteOffset||0;return e.slice(r,r+n)})}loadAccessor(e){let t=this,n=this.json,i=this.json.accessors[e];if(i.bufferView===void 0&&i.sparse===void 0){let e=V[i.type],t=B[i.componentType],n=i.normalized===!0,a=new t(i.count*e);return Promise.resolve(new r(a,e,n))}let a=[];return i.bufferView===void 0?a.push(null):a.push(this.getDependency(`bufferView`,i.bufferView)),i.sparse!==void 0&&(a.push(this.getDependency(`bufferView`,i.sparse.indices.bufferView)),a.push(this.getDependency(`bufferView`,i.sparse.values.bufferView))),Promise.all(a).then(function(e){let a=e[0],o=V[i.type],s=B[i.componentType],c=s.BYTES_PER_ELEMENT,l=c*o,u=i.byteOffset||0,d=i.bufferView===void 0?void 0:n.bufferViews[i.bufferView].byteStride,f=i.normalized===!0,p,m;if(d&&d!==l){let e=Math.floor(u/d),n=`InterleavedBuffer:`+i.bufferView+`:`+i.componentType+`:`+e+`:`+i.count,r=t.cache.get(n);r||(p=new s(a,e*d,i.count*d/c),r=new pe(p,d/c),t.cache.add(n,r)),m=new me(r,o,u%d/c,f)}else p=a===null?new s(i.count*o):new s(a,u,i.count*o),m=new r(p,o,f);if(i.sparse!==void 0){let t=V.SCALAR,n=B[i.sparse.indices.componentType],c=i.sparse.indices.byteOffset||0,l=i.sparse.values.byteOffset||0,u=new n(e[1],c,i.sparse.count*t),d=new s(e[2],l,i.sparse.count*o);a!==null&&(m=new r(m.array.slice(),m.itemSize,m.normalized));for(let e=0,t=u.length;e<t;e++){let t=u[e];if(m.setX(t,d[e*o]),o>=2&&m.setY(t,d[e*o+1]),o>=3&&m.setZ(t,d[e*o+2]),o>=4&&m.setW(t,d[e*o+3]),o>=5)throw Error(`THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.`)}}return m})}loadTexture(e){let t=this.json,n=this.options,r=t.textures[e].source,i=t.images[r],a=this.textureLoader;if(i.uri){let e=n.manager.getHandler(i.uri);e!==null&&(a=e)}return this.loadTextureImage(e,r,a)}loadTextureImage(e,t,n){let r=this,i=this.json,a=i.textures[e],o=i.images[t],s=(o.uri||o.bufferView)+`:`+a.sampler;if(this.textureCache[s])return this.textureCache[s];let c=this.loadImageSource(t,n).then(function(t){t.flipY=!1,t.name=a.name||o.name||``,t.name===``&&typeof o.uri==`string`&&o.uri.startsWith(`data:image/`)===!1&&(t.name=o.uri);let n=(i.samplers||{})[a.sampler]||{};return t.magFilter=ct[n.magFilter]||1006,t.minFilter=ct[n.minFilter]||1008,t.wrapS=lt[n.wrapS]||1e3,t.wrapT=lt[n.wrapT]||1e3,r.associations.set(t,{textures:e}),t}).catch(function(){return null});return this.textureCache[s]=c,c}loadImageSource(e,t){let n=this,r=this.json,i=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(e=>e.clone());let a=r.images[e],o=self.URL||self.webkitURL,s=a.uri||``,c=!1;if(a.bufferView!==void 0)s=n.getDependency(`bufferView`,a.bufferView).then(function(e){c=!0;let t=new Blob([e],{type:a.mimeType});return s=o.createObjectURL(t),s});else if(a.uri===void 0)throw Error(`THREE.GLTFLoader: Image `+e+` is missing URI and bufferView`);let l=Promise.resolve(s).then(function(e){return new Promise(function(n,r){let a=n;t.isImageBitmapLoader===!0&&(a=function(e){let t=new k(e);t.needsUpdate=!0,n(t)}),t.load(v.resolveURL(e,i.path),a,void 0,r)})}).then(function(e){return c===!0&&o.revokeObjectURL(s),K(e,a),e.userData.mimeType=a.mimeType||ht(a.uri),e}).catch(function(e){throw console.error(`THREE.GLTFLoader: Couldn't load texture`,s),e});return this.sourceCache[e]=l,l}assignTexture(e,t,n,r){let i=this;return this.getDependency(`texture`,n.index).then(function(a){if(!a)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(a=a.clone(),a.channel=n.texCoord),i.extensions[L.KHR_TEXTURE_TRANSFORM]){let e=n.extensions===void 0?void 0:n.extensions[L.KHR_TEXTURE_TRANSFORM];if(e){let t=i.associations.get(a);a=i.extensions[L.KHR_TEXTURE_TRANSFORM].extendTexture(a,e),i.associations.set(a,t)}}return r!==void 0&&(typeof r==`number`&&(r=r===Me?P:F),`colorSpace`in a?a.colorSpace=r:a.encoding=r===P?Me:Ne),e[t]=a,a})}assignFinalMaterial(e){let t=e.geometry,n=e.material,r=t.attributes.tangent===void 0,i=t.attributes.color!==void 0,a=t.attributes.normal===void 0;if(e.isPoints){let e=`PointsMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new Te,b.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,t.sizeAttenuation=!1,this.cache.add(e,t)),n=t}else if(e.isLine){let e=`LineBasicMaterial:`+n.uuid,t=this.cache.get(e);t||(t=new ce,b.prototype.copy.call(t,n),t.color.copy(n.color),t.map=n.map,this.cache.add(e,t)),n=t}if(r||i||a){let e=`ClonedMaterial:`+n.uuid+`:`;r&&(e+=`derivative-tangents:`),i&&(e+=`vertex-colors:`),a&&(e+=`flat-shading:`);let t=this.cache.get(e);t||(t=n.clone(),i&&(t.vertexColors=!0),a&&(t.flatShading=!0),r&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(n))),n=t}e.material=n}getMaterialType(){return O}loadMaterial(e){let t=this,r=this.json,i=this.extensions,a=r.materials[e],o,s={},c=a.extensions||{},l=[];if(c[L.KHR_MATERIALS_UNLIT]){let e=i[L.KHR_MATERIALS_UNLIT];o=e.getMaterialType(),l.push(e.extendParams(s,a,t))}else{let n=a.pbrMetallicRoughness||{};if(s.color=new w(1,1,1),s.opacity=1,Array.isArray(n.baseColorFactor)){let e=n.baseColorFactor;s.color.setRGB(e[0],e[1],e[2],F),s.opacity=e[3]}n.baseColorTexture!==void 0&&l.push(t.assignTexture(s,`map`,n.baseColorTexture,P)),s.metalness=n.metallicFactor===void 0?1:n.metallicFactor,s.roughness=n.roughnessFactor===void 0?1:n.roughnessFactor,n.metallicRoughnessTexture!==void 0&&(l.push(t.assignTexture(s,`metalnessMap`,n.metallicRoughnessTexture)),l.push(t.assignTexture(s,`roughnessMap`,n.metallicRoughnessTexture))),o=this._invokeOne(function(t){return t.getMaterialType&&t.getMaterialType(e)}),l.push(Promise.all(this._invokeAll(function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,s)})))}a.doubleSided===!0&&(s.side=2);let u=a.alphaMode||W.OPAQUE;if(u===W.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,u===W.MASK&&(s.alphaTest=a.alphaCutoff===void 0?.5:a.alphaCutoff)),a.normalTexture!==void 0&&o!==n&&(l.push(t.assignTexture(s,`normalMap`,a.normalTexture)),s.normalScale=new h(1,1),a.normalTexture.scale!==void 0)){let e=a.normalTexture.scale;s.normalScale.set(e,e)}if(a.occlusionTexture!==void 0&&o!==n&&(l.push(t.assignTexture(s,`aoMap`,a.occlusionTexture)),a.occlusionTexture.strength!==void 0&&(s.aoMapIntensity=a.occlusionTexture.strength)),a.emissiveFactor!==void 0&&o!==n){let e=a.emissiveFactor;s.emissive=new w().setRGB(e[0],e[1],e[2],F)}return a.emissiveTexture!==void 0&&o!==n&&l.push(t.assignTexture(s,`emissiveMap`,a.emissiveTexture,P)),Promise.all(l).then(function(){let n=new o(s);return a.name&&(n.name=a.name),K(n,a),t.associations.set(n,{materials:e}),a.extensions&&G(i,n,a),n})}createUniqueName(e){let t=Ee.sanitizeNodeName(e||``);return t in this.nodeNamesUsed?t+`_`+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){let t=this,n=this.extensions,r=this.primitiveCache;function i(e){return n[L.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then(function(n){return yt(n,e,t)})}let a=[];for(let n=0,o=e.length;n<o;n++){let o=e[n],s=mt(o),c=r[s];if(c)a.push(c.promise);else{let e;e=o.extensions&&o.extensions[L.KHR_DRACO_MESH_COMPRESSION]?i(o):yt(new le,o,t),r[s]={primitive:o,promise:e},a.push(e)}}return Promise.all(a)}loadMesh(e){let t=this,n=this.json,r=this.extensions,i=n.meshes[e],s=i.primitives,c=[];for(let e=0,t=s.length;e<t;e++){let t=s[e].material===void 0?dt(this.cache):this.getDependency(`material`,s[e].material);c.push(t)}return c.push(t.loadGeometries(s)),Promise.all(c).then(function(n){let c=n.slice(0,n.length-1),l=n[n.length-1],u=[];for(let n=0,d=l.length;n<d;n++){let d=l[n],f=s[n],p,m=c[n];if(f.mode===z.TRIANGLES||f.mode===z.TRIANGLE_STRIP||f.mode===z.TRIANGLE_FAN||f.mode===void 0)p=i.isSkinnedMesh===!0?new ie(d,m):new se(d,m),p.isSkinnedMesh===!0&&p.normalizeSkinWeights(),f.mode===z.TRIANGLE_STRIP?p.geometry=M(p.geometry,1):f.mode===z.TRIANGLE_FAN&&(p.geometry=M(p.geometry,2));else if(f.mode===z.LINES)p=new a(d,m);else if(f.mode===z.LINE_STRIP)p=new ge(d,m);else if(f.mode===z.LINE_LOOP)p=new o(d,m);else if(f.mode===z.POINTS)p=new xe(d,m);else throw Error(`THREE.GLTFLoader: Primitive mode unsupported: `+f.mode);Object.keys(p.geometry.morphAttributes).length>0&&pt(p,i),p.name=t.createUniqueName(i.name||`mesh_`+e),K(p,i),f.extensions&&G(r,p,f),t.assignFinalMaterial(p),u.push(p)}for(let n=0,r=u.length;n<r;n++)t.associations.set(u[n],{meshes:e,primitives:n});if(u.length===1)return i.extensions&&G(r,u[0],i),u[0];let d=new E;i.extensions&&G(r,d,i),t.associations.set(d,{meshes:e});for(let e=0,t=u.length;e<t;e++)d.add(u[e]);return d})}loadCamera(e){let t,n=this.json.cameras[e],r=n[n.type];if(!r){console.warn(`THREE.GLTFLoader: Missing camera parameters.`);return}return n.type===`perspective`?t=new fe(we.radToDeg(r.yfov),r.aspectRatio||1,r.znear||1,r.zfar||2e6):n.type===`orthographic`&&(t=new f(-r.xmag,r.xmag,r.ymag,-r.ymag,r.znear,r.zfar)),n.name&&(t.name=this.createUniqueName(n.name)),K(t,n),Promise.resolve(t)}loadSkin(e){let t=this.json.skins[e],n=[];for(let e=0,r=t.joints.length;e<r;e++)n.push(this._loadNodeShallow(t.joints[e]));return t.inverseBindMatrices===void 0?n.push(null):n.push(this.getDependency(`accessor`,t.inverseBindMatrices)),Promise.all(n).then(function(e){let n=e.pop(),r=e,i=[],a=[];for(let e=0,o=r.length;e<o;e++){let o=r[e];if(o){i.push(o);let t=new x;n!==null&&t.fromArray(n.array,e*16),a.push(t)}else console.warn(`THREE.GLTFLoader: Joint "%s" could not be found.`,t.joints[e])}return new g(i,a)})}loadAnimation(e){let t=this.json,n=this,r=t.animations[e],i=r.name?r.name:`animation_`+e,a=[],o=[],s=[],c=[],l=[];for(let e=0,t=r.channels.length;e<t;e++){let t=r.channels[e],n=r.samplers[t.sampler],i=t.target,u=i.node,d=r.parameters===void 0?n.input:r.parameters[n.input],f=r.parameters===void 0?n.output:r.parameters[n.output];i.node!==void 0&&(a.push(this.getDependency(`node`,u)),o.push(this.getDependency(`accessor`,d)),s.push(this.getDependency(`accessor`,f)),c.push(n),l.push(i))}return Promise.all([Promise.all(a),Promise.all(o),Promise.all(s),Promise.all(c),Promise.all(l)]).then(function(e){let t=e[0],r=e[1],a=e[2],o=e[3],s=e[4],c=[];for(let e=0,i=t.length;e<i;e++){let i=t[e],l=r[e],u=a[e],d=o[e],f=s[e];if(i===void 0)continue;i.updateMatrix&&i.updateMatrix();let p=n._createAnimationTracks(i,l,u,d,f);if(p)for(let e=0;e<p.length;e++)c.push(p[e])}return new Se(i,void 0,c)})}createNodeMesh(e){let t=this.json,n=this,r=t.nodes[e];return r.mesh===void 0?null:n.getDependency(`mesh`,r.mesh).then(function(e){let t=n._getNodeRef(n.meshCache,r.mesh,e);return r.weights!==void 0&&t.traverse(function(e){if(e.isMesh)for(let t=0,n=r.weights.length;t<n;t++)e.morphTargetInfluences[t]=r.weights[t]}),t})}loadNode(e){let t=this.json,n=this,r=t.nodes[e],i=n._loadNodeShallow(e),a=[],o=r.children||[];for(let e=0,t=o.length;e<t;e++)a.push(n.getDependency(`node`,o[e]));let s=r.skin===void 0?Promise.resolve(null):n.getDependency(`skin`,r.skin);return Promise.all([i,Promise.all(a),s]).then(function(e){let t=e[0],n=e[1],r=e[2];r!==null&&t.traverse(function(e){e.isSkinnedMesh&&e.bind(r,gt)});for(let e=0,r=n.length;e<r;e++)t.add(n[e]);return t})}_loadNodeShallow(e){let t=this.json,n=this.extensions,r=this;if(this.nodeCache[e]!==void 0)return this.nodeCache[e];let i=t.nodes[e],a=i.name?r.createUniqueName(i.name):``,o=[],c=r._invokeOne(function(t){return t.createNodeMesh&&t.createNodeMesh(e)});return c&&o.push(c),i.camera!==void 0&&o.push(r.getDependency(`camera`,i.camera).then(function(e){return r._getNodeRef(r.cameraCache,i.camera,e)})),r._invokeAll(function(t){return t.createNodeAttachment&&t.createNodeAttachment(e)}).forEach(function(e){o.push(e)}),this.nodeCache[e]=Promise.all(o).then(function(t){let o;if(o=i.isBone===!0?new _:t.length>1?new E:t.length===1?t[0]:new s,o!==t[0])for(let e=0,n=t.length;e<n;e++)o.add(t[e]);if(i.name&&(o.userData.name=i.name,o.name=a),K(o,i),i.extensions&&G(n,o,i),i.matrix!==void 0){let e=new x;e.fromArray(i.matrix),o.applyMatrix4(e)}else i.translation!==void 0&&o.position.fromArray(i.translation),i.rotation!==void 0&&o.quaternion.fromArray(i.rotation),i.scale!==void 0&&o.scale.fromArray(i.scale);return r.associations.has(o)||r.associations.set(o,{}),r.associations.get(o).nodes=e,o}),this.nodeCache[e]}loadScene(e){let t=this.extensions,n=this.json.scenes[e],r=this,i=new E;n.name&&(i.name=r.createUniqueName(n.name)),K(i,n),n.extensions&&G(t,i,n);let a=n.nodes||[],o=[];for(let e=0,t=a.length;e<t;e++)o.push(r.getDependency(`node`,a[e]));return Promise.all(o).then(function(e){for(let t=0,n=e.length;t<n;t++)i.add(e[t]);return r.associations=(e=>{let t=new Map;for(let[e,n]of r.associations)(e instanceof b||e instanceof k)&&t.set(e,n);return e.traverse(e=>{let n=r.associations.get(e);n!=null&&t.set(e,n)}),t})(i),i})}_createAnimationTracks(e,t,n,r,a){let o=[],s=e.name?e.name:e.uuid,c=[];U[a.path]===U.weights?e.traverse(function(e){e.morphTargetInfluences&&c.push(e.name?e.name:e.uuid)}):c.push(s);let l;switch(U[a.path]){case U.weights:l=re;break;case U.rotation:l=T;break;case U.position:case U.scale:l=i;break;default:switch(n.itemSize){case 1:l=re;break;default:l=i}}let u=r.interpolation===void 0?A:ut[r.interpolation],d=this._getArrayFromAccessor(n);for(let e=0,n=c.length;e<n;e++){let n=new l(c[e]+`.`+U[a.path],t.array,d,u);r.interpolation===`CUBICSPLINE`&&this._createCubicSplineTrackInterpolant(n),o.push(n)}return o}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){let e=J(t.constructor),n=new Float32Array(t.length);for(let r=0,i=t.length;r<i;r++)n[r]=t[r]*e;t=n}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(e){return new(this instanceof T?st:at)(this.times,this.values,this.getValueSize()/3,e)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}};function vt(e,t,n){let r=t.attributes,i=new u;if(r.POSITION!==void 0){let e=n.json.accessors[r.POSITION],t=e.min,a=e.max;if(t!==void 0&&a!==void 0){if(i.set(new y(t[0],t[1],t[2]),new y(a[0],a[1],a[2])),e.normalized){let t=J(B[e.componentType]);i.min.multiplyScalar(t),i.max.multiplyScalar(t)}}else{console.warn(`THREE.GLTFLoader: Missing min/max properties for accessor POSITION.`);return}}else return;let a=t.targets;if(a!==void 0){let e=new y,t=new y;for(let r=0,i=a.length;r<i;r++){let i=a[r];if(i.POSITION!==void 0){let r=n.json.accessors[i.POSITION],a=r.min,o=r.max;if(a!==void 0&&o!==void 0){if(t.setX(Math.max(Math.abs(a[0]),Math.abs(o[0]))),t.setY(Math.max(Math.abs(a[1]),Math.abs(o[1]))),t.setZ(Math.max(Math.abs(a[2]),Math.abs(o[2]))),r.normalized){let e=J(B[r.componentType]);t.multiplyScalar(e)}e.max(t)}else console.warn(`THREE.GLTFLoader: Missing min/max properties for accessor POSITION.`)}}i.expandByVector(e)}e.boundingBox=i;let o=new d;i.getCenter(o.center),o.radius=i.min.distanceTo(i.max)/2,e.boundingSphere=o}function yt(e,t,n){let r=t.attributes,i=[];function a(t,r){return n.getDependency(`accessor`,t).then(function(t){e.setAttribute(r,t)})}for(let t in r){let n=H[t]||t.toLowerCase();n in e.attributes||i.push(a(r[t],n))}if(t.indices!==void 0&&!e.index){let r=n.getDependency(`accessor`,t.indices).then(function(t){e.setIndex(t)});i.push(r)}return K(e,t),vt(e,t,n),Promise.all(i).then(function(){return t.targets===void 0?e:ft(e,t.targets,n)})}var Y=new WeakMap,bt=class extends m{constructor(e){super(e),this.decoderPath=``,this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL=``,this.defaultAttributeIDs={position:`POSITION`,normal:`NORMAL`,color:`COLOR`,uv:`TEX_COORD`},this.defaultAttributeTypes={position:`Float32Array`,normal:`Float32Array`,color:`Float32Array`,uv:`Float32Array`}}setDecoderPath(e){return this.decoderPath=e,this}setDecoderConfig(e){return this.decoderConfig=e,this}setWorkerLimit(e){return this.workerLimit=e,this}load(e,t,n,r){let i=new C(this.manager);i.setPath(this.path),i.setResponseType(`arraybuffer`),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(e,e=>{let n={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(e,n).then(t).catch(r)},n,r)}decodeDracoFile(e,t,n,r){let i={attributeIDs:n||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!n};this.decodeGeometry(e,i).then(t)}decodeGeometry(e,t){for(let e in t.attributeTypes){let n=t.attributeTypes[e];n.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[e]=n.name)}let n=JSON.stringify(t);if(Y.has(e)){let t=Y.get(e);if(t.key===n)return t.promise;if(e.byteLength===0)throw Error(`THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.`)}let r,i=this.workerNextTaskID++,a=e.byteLength,o=this._getWorker(i,a).then(n=>(r=n,new Promise((n,a)=>{r._callbacks[i]={resolve:n,reject:a},r.postMessage({type:`decode`,id:i,taskConfig:t,buffer:e},[e])}))).then(e=>this._createGeometry(e.geometry));return o.catch(()=>!0).then(()=>{r&&i&&this._releaseTask(r,i)}),Y.set(e,{key:n,promise:o}),o}_createGeometry(e){let t=new le;e.index&&t.setIndex(new r(e.index.array,1));for(let n=0;n<e.attributes.length;n++){let i=e.attributes[n],a=i.name,o=i.array,s=i.itemSize;t.setAttribute(a,new r(o,s))}return t}_loadLibrary(e,t){let n=new C(this.manager);return n.setPath(this.decoderPath),n.setResponseType(t),n.setWithCredentials(this.withCredentials),new Promise((t,r)=>{n.load(e,t,void 0,r)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;let e=typeof WebAssembly!=`object`||this.decoderConfig.type===`js`,t=[];return e?t.push(this._loadLibrary(`draco_decoder.js`,`text`)):(t.push(this._loadLibrary(`draco_wasm_wrapper.js`,`text`)),t.push(this._loadLibrary(`draco_decoder.wasm`,`arraybuffer`))),this.decoderPending=Promise.all(t).then(t=>{let n=t[0];e||(this.decoderConfig.wasmBinary=t[1]);let r=xt.toString(),i=[`/* draco decoder */`,n,``,`/* worker */`,r.substring(r.indexOf(`{`)+1,r.lastIndexOf(`}`))].join(`
|
|
2
|
+
`);this.workerSourceURL=URL.createObjectURL(new Blob([i]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){let e=new Worker(this.workerSourceURL);e._callbacks={},e._taskCosts={},e._taskLoad=0,e.postMessage({type:`init`,decoderConfig:this.decoderConfig}),e.onmessage=function(t){let n=t.data;switch(n.type){case`decode`:e._callbacks[n.id].resolve(n);break;case`error`:e._callbacks[n.id].reject(n);break;default:console.error(`THREE.DRACOLoader: Unexpected message, "`+n.type+`"`)}},this.workerPool.push(e)}else this.workerPool.sort(function(e,t){return e._taskLoad>t._taskLoad?-1:1});let n=this.workerPool[this.workerPool.length-1];return n._taskCosts[e]=t,n._taskLoad+=t,n})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log(`Task load: `,this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this}};function xt(){let e,t;onmessage=function(r){let i=r.data;switch(i.type){case`init`:e=i.decoderConfig,t=new Promise(function(t){e.onModuleLoaded=function(e){t({draco:e})},DracoDecoderModule(e)});break;case`decode`:let r=i.buffer,a=i.taskConfig;t.then(e=>{let t=e.draco,o=new t.Decoder,s=new t.DecoderBuffer;s.Init(new Int8Array(r),r.byteLength);try{let e=n(t,o,s,a),r=e.attributes.map(e=>e.array.buffer);e.index&&r.push(e.index.array.buffer),self.postMessage({type:`decode`,id:i.id,geometry:e},r)}catch(e){console.error(e),self.postMessage({type:`error`,id:i.id,error:e.message})}finally{t.destroy(s),t.destroy(o)}})}};function n(e,t,n,a){let o=a.attributeIDs,s=a.attributeTypes,c,l,u=t.GetEncodedGeometryType(n);if(u===e.TRIANGULAR_MESH)c=new e.Mesh,l=t.DecodeBufferToMesh(n,c);else if(u===e.POINT_CLOUD)c=new e.PointCloud,l=t.DecodeBufferToPointCloud(n,c);else throw Error(`THREE.DRACOLoader: Unexpected geometry type.`);if(!l.ok()||c.ptr===0)throw Error(`THREE.DRACOLoader: Decoding failed: `+l.error_msg());let d={index:null,attributes:[]};for(let n in o){let r=self[s[n]],l,u;if(a.useUniqueIDs)u=o[n],l=t.GetAttributeByUniqueId(c,u);else{if(u=t.GetAttributeId(c,e[o[n]]),u===-1)continue;l=t.GetAttribute(c,u)}d.attributes.push(i(e,t,c,n,r,l))}return u===e.TRIANGULAR_MESH&&(d.index=r(e,t,c)),e.destroy(c),d}function r(e,t,n){let r=n.num_faces()*3,i=r*4,a=e._malloc(i);t.GetTrianglesUInt32Array(n,i,a);let o=new Uint32Array(e.HEAPF32.buffer,a,r).slice();return e._free(a),{array:o,itemSize:1}}function i(e,t,n,r,i,o){let s=o.num_components(),c=n.num_points()*s,l=c*i.BYTES_PER_ELEMENT,u=a(e,i),d=e._malloc(l);t.GetAttributeDataArrayForAllPoints(n,o,u,l,d);let f=new i(e.HEAPF32.buffer,d,c).slice();return e._free(d),{name:r,array:f,itemSize:s}}function a(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32}}}var X,Z=()=>{if(X)return X;let e=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),t=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!=`object`)return{supported:!1};let n=`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`;WebAssembly.validate(e)&&(n=`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`);let r,i=WebAssembly.instantiate(a(n),{}).then(e=>{r=e.instance,r.exports.__wasm_call_ctors()});function a(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;++t){let r=e.charCodeAt(t);n[t]=r>96?r-71:r>64?r-65:r>47?r+4:r>46?63:62}let r=0;for(let i=0;i<e.length;++i)n[r++]=n[i]<60?t[n[i]]:(n[i]-60)*64+n[++i];return n.buffer.slice(0,r)}function o(e,t,n,i,a,o){let s=r.exports.sbrk,c=n+3&-4,l=s(c*i),u=s(a.length),d=new Uint8Array(r.exports.memory.buffer);d.set(a,u);let f=e(l,n,i,u,a.length);if(f===0&&o&&o(l,c,i),t.set(d.subarray(l,l+n*i)),s(l-s(0)),f!==0)throw Error(`Malformed buffer data: ${f}`)}let s={0:``,1:`meshopt_decodeFilterOct`,2:`meshopt_decodeFilterQuat`,3:`meshopt_decodeFilterExp`,NONE:``,OCTAHEDRAL:`meshopt_decodeFilterOct`,QUATERNION:`meshopt_decodeFilterQuat`,EXPONENTIAL:`meshopt_decodeFilterExp`},c={0:`meshopt_decodeVertexBuffer`,1:`meshopt_decodeIndexBuffer`,2:`meshopt_decodeIndexSequence`,ATTRIBUTES:`meshopt_decodeVertexBuffer`,TRIANGLES:`meshopt_decodeIndexBuffer`,INDICES:`meshopt_decodeIndexSequence`};return X={ready:i,supported:!0,decodeVertexBuffer(e,t,n,i,a){o(r.exports.meshopt_decodeVertexBuffer,e,t,n,i,r.exports[s[a]])},decodeIndexBuffer(e,t,n,i){o(r.exports.meshopt_decodeIndexBuffer,e,t,n,i)},decodeIndexSequence(e,t,n,i){o(r.exports.meshopt_decodeIndexSequence,e,t,n,i)},decodeGltfBuffer(e,t,n,i,a,l){o(r.exports[c[a]],e,t,n,i,r.exports[s[l]])}},X},St=e(t()),Q=null,Ct=`https://www.gstatic.com/draco/versioned/decoders/1.5.5/`;function wt(e=!0,t=!0,n){return r=>{n&&n(r),e&&(Q||=new bt,Q.setDecoderPath(typeof e==`string`?e:Ct),r.setDRACOLoader(Q)),t&&r.setMeshoptDecoder(typeof Z==`function`?Z():Z)}}var $=(e,t,n,r)=>j(I,e,wt(t,n,r));$.preload=(e,t,n,r)=>j.preload(I,e,wt(t,n,r)),$.clear=e=>j.clear(I,e),$.setDecoderPath=e=>{Ct=e};var Tt=St.forwardRef(({src:e,useDraco:t,useMeshOpt:n,extendLoader:r,...i},a)=>{let{scene:o}=$(e,t,n,r);return St.createElement(je,ke({ref:a},i,{object:o}))});export{$ as n,Tt as t};
|