@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
package/dist/index.js
ADDED
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,J as c,L as l,M as u,N as d,O as f,P as p,Q as m,R as h,T as g,U as _,V as v,W as y,X as b,Y as x,Z as S,a as C,b as w,c as T,d as ee,et as E,f as te,h as ne,i as re,j as ie,k as ae,l as oe,m as se,n as ce,nt as le,q as ue,r as de,rt as fe,s as pe,tt as me,u as he,w as ge,x as _e,y as ve,z as ye}from"./CU0epHFG.js";import{$ as be,$a as xe,$f as Se,$i as Ce,$l as we,$n as Te,$t as Ee,$u as De,Ac as Oe,Ad as ke,Ar as Ae,Au as je,B as Me,Ba as Ne,Bc as Pe,Bd as Fe,Bl as Ie,Bn as Le,Br as Re,Bs as ze,Bu as Be,Ca as Ve,Cc as He,Cd as Ue,Cf as We,Ci as Ge,Cl as Ke,Co as qe,Cr as Je,Ct as Ye,Cu as Xe,D as Ze,Dc as Qe,Df as $e,Di as et,Dn as tt,Do as nt,Ds as rt,Dt as it,Du as at,E as ot,Ea as st,Ec as ct,Ei as lt,En as ut,Eo as dt,Et as ft,Eu as pt,Fa as mt,Fd as ht,Ff as gt,Fl as _t,Fn as vt,Fo as yt,Fr as bt,Ft as xt,Fu as St,Ga as Ct,Gc as wt,Gd as Tt,Gn as Et,Go as Dt,Gr as Ot,Gs as kt,Gu as At,Hc as jt,Hd as Mt,Hf as Nt,Hl as Pt,Hn as Ft,Ho as It,Hr as Lt,Hs as Rt,Id as zt,If as Bt,Il as Vt,In as Ht,Io as Ut,Is as Wt,Iu as Gt,J as Kt,Ja as qt,Jc as Jt,Jd as Yt,Jl as Xt,Jn as Zt,Jo as Qt,Jr as $t,Jt as en,Ju as tn,K as nn,Ka as rn,Kc as an,Kd as on,Kf as sn,Kn as cn,Ko as ln,Kr as un,Ks as dn,Ku as fn,Li as pn,Ll as mn,Lo as hn,Lr as gn,Ls as _n,Lu as vn,M as yn,Ma as bn,Mc as xn,Md as Sn,Ml as Cn,Mo as wn,Mr as Tn,Ms as En,Mt as Dn,Mu as On,Na as kn,Nd as An,Nf as jn,Ni as Mn,Nl as Nn,Nn as Pn,No as Fn,Nr as In,Nu as Ln,Od as Rn,Oi as zn,On as Bn,Oo as Vn,Or as Hn,Os as Un,Ot as Wn,Ou as Gn,Pc as Kn,Pd as qn,Pf as Jn,Pn as Yn,Po as Xn,Pr as Zn,Pu as Qn,Q as $n,Qc as er,Qf as tr,Qn as nr,Qo as rr,Qs as ir,Qt as ar,Qu as or,Ra as sr,Rl as cr,Rn as lr,Ro as ur,Rr as dr,Rs as fr,Ru as pr,Sc as mr,Sd as hr,Sf as gr,Si as _r,Sn as vr,So as yr,Sr as br,St as xr,Su as Sr,Tc as Cr,Td as wr,Ti as Tr,Tl as Er,Tn as Dr,To as Or,Tr as kr,Tt as Ar,Tu as jr,U as Mr,Ua as Nr,Uc as Pr,Ud as Fr,Uf as Ir,Ul as Lr,Un as Rr,Uo as zr,Ur as Br,Us as Vr,Uu as Hr,Va as Ur,Vc as Wr,Vd as Gr,Vl as Kr,Vn as qr,Vo as Jr,Vr as Yr,Vu as Xr,Wc as Zr,Wd as Qr,Wf as $r,Wl as ei,Wn as ti,Wo as ni,Wr as ri,Wt as ii,Wu as ai,X as oi,Xc as si,Xd as ci,Xf as li,Xr as ui,Xu as di,Yd as fi,Yf as pi,Yl as mi,Yo as hi,Yr as gi,Yt as _i,Yu as vi,Z as yi,Za as bi,Zc as xi,Zd as Si,Zl as Ci,Zn as wi,Zr as Ti,Zs as Ei,Zt as Di,Zu as Oi,_ as ki,_a as Ai,_c as ji,_f as Mi,_i as Ni,_l as Pi,_n as Fi,_r as Ii,_s as Li,_t as Ri,_u as zi,aa as Bi,ad as Vi,ai as Hi,ao as Ui,ar as Wi,as as Gi,at as Ki,au as qi,b as Ji,bc as Yi,bl as Xi,bn as Zi,bo as Qi,bs as $i,bu as ea,cd as ta,cf as na,ci as ra,cn as ia,cr as aa,ct as oa,cu as sa,da as ca,di as la,dl as ua,dr as da,ds as fa,du as pa,ea as ma,ed as ha,el as ga,en as _a,eo as va,ep as ya,er as ba,es as xa,et as Sa,fd as Ca,ff as wa,fi as Ta,fl as Ea,fo as Da,fr as Oa,ft as ka,fu as Aa,ga as ja,gc as Ma,gf as Na,gi as Pa,gl as Fa,gn as Ia,gr as La,gs as Ra,gt as za,gu as Ba,h as Va,ha as Ha,hf as Ua,hi as Wa,hl as Ga,hn as Ka,hr as qa,hs as Ja,ht as Ya,hu as Xa,i as Za,ia as Qa,ic as $a,id as eo,if as to,ii as no,il as ro,in as io,io as ao,ip as oo,ir as so,it as co,iu as lo,ja as uo,jd as fo,jl as po,jr as mo,js as ho,jt as go,ju as _o,kc as vo,kl as yo,ko as bo,kr as xo,ks as So,ku as Co,l as wo,la as To,lc as Eo,ld as Do,lf as Oo,li as ko,ll as Ao,ln as jo,lr as Mo,ls as No,lu as Po,ma as Fo,mc as Io,mf as Lo,mi as Ro,ml as zo,mo as Bo,mr as Vo,ms as Ho,mt as Uo,mu as Wo,na as Go,nd as Ko,ni as qo,nl as Jo,nn as Yo,no as Xo,np as Zo,nr as Qo,ns as $o,nu as es,o as ts,oa as ns,od as rs,of as is,oi as as,ol as os,on as ss,oo as cs,ot as ls,p as us,pi as ds,pn as fs,po as ps,pr as ms,pt as hs,pu as gs,qc as _s,qd as vs,ql as ys,qo as bs,qr as xs,qs as Ss,qu as Cs,r as ws,ra as Ts,rd as Es,rf as Ds,ri as Os,rl as ks,rn as As,ro as js,rp as Ms,rr as Ns,rs as Ps,rt as Fs,ru as Is,sd as Ls,sf as Rs,si as zs,sl as Bs,sr as Vs,st as Hs,ta as Us,td as Ws,tl as Gs,tn as Ks,tp as qs,tr as Js,ts as Ys,tu as Xs,u as Zs,ua as Qs,uc as $s,ud as ec,uf as tc,ui as nc,ul as rc,ur as ic,us as ac,ut as oc,uu as sc,v as cc,va as lc,vc as uc,vd as dc,vi as fc,vn as pc,vr as mc,vs as hc,w as gc,wa as _c,wc as vc,wd as yc,wi as bc,wl as xc,wn as Sc,wo as Cc,wr as wc,wt as Tc,wu as Ec,xc as Dc,xf as Oc,xi as kc,xo as Ac,xr as jc,xt as Mc,y as Nc,ya as Pc,yc as Fc,yd as Ic,yf as Lc,yi as Rc,yo as zc,yt as Bc,yu as Vc,zc as Hc,zd as Uc,zl as Wc,zn as Gc,zr as Kc,zs as qc,zu as Jc}from"./-MLBVTaO.js";import{$ as Yc,$n as Xc,Ar as Zc,C as Qc,F as $c,Fn as el,Fr as tl,I as nl,It as rl,J as il,Jn as al,Kn as ol,Kt as sl,L as cl,Ln as ll,Lr as ul,Mn as dl,Mr as fl,Mt as pl,Nr as ml,Nt as hl,O as gl,Pn as _l,Pr as vl,Qr as yl,Rn as bl,S as xl,Sn as Sl,Sr as Cl,U as wl,Un as Tl,Ur as El,Vn as Dl,Vt as Ol,Wt as kl,Xn as Al,Yn as jl,Yt as Ml,Zt as Nl,_n as Pl,_r as Fl,a as Il,an as Ll,at as Rl,b as zl,br as Bl,cr as Vl,ct as Hl,dr as Ul,dt as Wl,er as Gl,et as Kl,ft as ql,gn as Jl,h as Yl,hn as Xl,i as Zl,in as Ql,ir as $l,it as eu,jr as tu,kt as nu,lr as ru,lt as iu,m as au,mr as ou,mt as su,n as cu,nt as lu,on as uu,or as du,ot as fu,qn as pu,qt as mu,rn as hu,rr as gu,sr as _u,st as vu,t as yu,tr as bu,u as xu,ut as Su,v as Cu,vt as wu,x as Tu,xr as Eu,y as Du,yn as Ou,yt as ku,z as Au,zn as ju}from"./V70ADx0g.js";import{a as Mu,c as Nu,l as Pu,n as Fu,o as D,s as O,t as Iu}from"./BrfUaL46.js";import{_ as Lu,a as Ru,c as zu,d as Bu,f as Vu,g as Hu,i as Uu,l as k,n as Wu,o as Gu,r as Ku,t as qu,u as Ju,v as Yu,y as Xu}from"./BobsCMiL.js";import{C as Zu,S as Qu,T as $u,_ as ed,a as A,c as td,f as nd,g as rd,i as id,l as ad,m as od,n as sd,o as cd,p as ld,r as j,s as ud,t as dd,w as fd,x as pd}from"./CVgRrBP4.js";import{a as md,i as hd,n as gd,t as _d}from"./Bh-CVkQx.js";import{$ as vd,B as yd,C as M,Dt as bd,Et as N,F as xd,H as Sd,I as Cd,L as wd,M as Td,N as Ed,O as Dd,Ot as Od,Pt as kd,Q as Ad,R as jd,S as Md,Tt as Nd,V as Pd,W as Fd,Y as Id,_ as Ld,_t as Rd,bt as zd,c as Bd,gt as Vd,i as Hd,it as Ud,jt as Wd,kt as Gd,n as Kd,nt as qd,o as Jd,ot as Yd,p as Xd,rt as Zd,s as Qd,st as $d,t as ef,u as tf,vt as nf,wt as rf,xt as af,z as of}from"./Cq6VqPHb.js";import{c as sf,d as cf,h as lf,s as uf,w as df,x as ff,y as pf}from"./BH6Ftfg9.js";import{a as mf,i as hf,n as gf,o as _f,r as vf,t as yf}from"./UJDr3Nrd.js";import{A as bf,C as xf,D as Sf,E as Cf,F as wf,I as Tf,M as Ef,N as Df,O as Of,P as kf,S as Af,_ as jf,a as Mf,d as Nf,g as Pf,k as Ff,l as If,n as Lf,r as Rf,t as zf,u as Bf,v as Vf}from"./CRfoqBKG.js";import{a as Hf,n as Uf,o as Wf}from"./BEL83Bb6.js";import{a as Gf,c as Kf,i as qf,l as Jf,n as Yf,o as Xf,s as Zf,u as Qf}from"./DsgWLyZo.js";import{i as $f}from"./DSb1ApLU.js";import{a as ep,c as tp,i as np,l as rp,o as ip,r as ap,s as op,t as sp,u as P}from"./Dwfie-ev.js";import{A as cp,B as lp,C as up,D as dp,E as fp,F as pp,G as mp,H as hp,I as gp,L as _p,O as vp,P as yp,R as bp,S as xp,T as Sp,U as Cp,V as wp,W as Tp,_ as Ep,b as Dp,c as Op,d as kp,f as Ap,g as jp,h as Mp,j as Np,k as Pp,l as Fp,m as Ip,n as Lp,p as Rp,r as zp,s as Bp,t as Vp,u as Hp,v as Up,w as Wp,x as Gp,y as Kp,z as qp}from"./BV9hGHeu.js";import{O as Jp,_ as Yp,a as Xp,m as Zp,n as Qp,p as $p,r as em,s as tm,t as nm,v as rm}from"./Bydoy8wO.js";import{t as im}from"./DJSpRhXB.js";import{t as am}from"./DHsBnfoU.js";import{i as om,n as sm,t as cm}from"./BzaiZux2.js";import{n as lm,t as um}from"./Cp5beIll.js";import{n as dm,r as fm,t as pm}from"./BJclgjKG.js";import{t as mm}from"./Bfg1Y9_2.js";import{i as hm,n as gm,r as _m,t as vm}from"./C25qqozO.js";import{a as ym,c as bm,i as xm,n as Sm,o as Cm,r as wm,s as Tm,t as Em}from"./BGDOC3Q-.js";import{a as Dm,i as F,o as I,r as Om,s as km,t as Am}from"./DZIhHLUn.js";import{a as L,i as jm,r as Mm,t as Nm}from"./DlkDsMQd.js";import{a as Pm,c as Fm,d as Im,f as Lm,i as Rm,l as zm,n as Bm,o as Vm,p as Hm,r as Um,s as Wm,t as Gm,u as Km}from"./DR9bHgf0.js";import{n as qm,t as Jm}from"./Cg33N9Ej.js";import{a as Ym,c as Xm,d as Zm,f as Qm,h as $m,i as eh,l as th,m as nh,n as rh,o as ih,p as ah,r as oh,s as sh,t as ch,u as lh}from"./5L-NcwKR.js";import{C as uh,S as dh,_ as fh,a as ph,b as mh,d as hh,f as gh,g as _h,i as vh,m as yh,p as bh,r as xh,s as Sh,t as Ch,u as wh,w as Th,x as Eh,y as Dh}from"./DOeUeeKs.js";import{n as Oh,t as kh}from"./DkKmurqu.js";import{C as Ah,S as jh,_ as Mh,a as Nh,b as Ph,c as Fh,d as Ih,f as Lh,g as Rh,h as zh,i as Bh,l as Vh,m as Hh,o as Uh,p as Wh,r as Gh,s as Kh,x as qh}from"./CHntUxHl.js";import{a as Jh,d as Yh,n as Xh,r as Zh,t as Qh}from"./D8jIS84n.js";import{c as $h,l as eg,n as tg,t as ng}from"./CEuuijY1.js";import{a as rg,o as ig,r as ag,s as og,t as sg}from"./DgMhVbMU.js";import{n as cg}from"./yhuZzG90.js";import{o as lg}from"./BiH9xCBB.js";import{_ as ug,a as dg,c as fg,d as pg,f as R,g as mg,h as hg,i as gg,l as _g,m as z,n as vg,o as yg,p as bg,r as xg,s as Sg,t as Cg,u as wg,v as Tg,x as Eg,y as Dg}from"./BQnBIIt8.js";import{n as Og}from"./DucRBEvN.js";import{a as kg,c as Ag,i as jg,l as Mg,n as Ng,o as Pg,r as Fg,s as Ig,u as Lg}from"./z3YXvfLT.js";import{a as Rg,c as zg,i as Bg,n as Vg,o as Hg,r as Ug,t as Wg}from"./Bw06YsIc.js";import{a as Gg,n as Kg,o as qg,r as Jg}from"./BWlq9jqw.js";import{n as Yg,r as Xg,t as Zg}from"./CwZDkslT.js";import{i as Qg}from"./CSXcU95U.js";import{t as $g}from"./BKc2k2s6.js";import{a as e_,t as t_}from"./D3wyrZ2_.js";import{c as n_,i as r_,t as B}from"./CjiCdqiE.js";import{t as i_}from"./BWOKsReG.js";import{i as a_,o as o_}from"./DCIejHqp.js";import{a as s_,c as c_,i as l_,l as u_,n as d_,o as f_,r as p_,t as m_}from"./CIq9KviM.js";import{n as h_,r as g_,t as __}from"./3rj0AvB6.js";import{r as v_}from"./Bpe0g5hX.js";import{a as y_,c as b_,i as x_,n as S_,o as C_,r as w_,s as T_,t as E_}from"./BXmxKBbF.js";import{i as D_,n as O_,r as k_,t as A_}from"./DiGFL8kd.js";import{a as j_,c as M_,d as N_,i as P_,l as F_,n as I_,o as L_,r as R_,s as z_,t as B_,u as V_}from"./DnNEzpz-.js";import{n as H_}from"./DyHjwN2H.js";import{a as U_,n as W_,r as G_,t as K_}from"./hQBGE7c4.js";import{a as q_,c as J_,n as Y_,o as X_,r as Z_,s as Q_,u as $_}from"./DRnuSAbu.js";import{Canvas as ev,addAfterEffect as tv,addEffect as nv,createPortal as rv,extend as iv,useFrame as V,useLoader as av,useThree as ov}from"@react-three/fiber";import{AdditiveBlending as sv,AnimationClip as cv,AnimationMixer as lv,Audio as uv,AudioListener as dv,Box3 as fv,CircleGeometry as pv,Color as mv,Euler as hv,Loader as gv,LoopOnce as _v,LoopRepeat as vv,MathUtils as yv,Matrix3 as bv,Matrix4 as xv,Mesh as Sv,MeshBasicMaterial as Cv,MeshStandardMaterial as wv,NoColorSpace as Tv,OctahedronGeometry as Ev,OrthographicCamera as Dv,PerspectiveCamera as Ov,Plane as kv,QuadraticBezierCurve3 as Av,Quaternion as jv,Raycaster as Mv,RingGeometry as Nv,Texture as Pv,TubeGeometry as Fv,Vector2 as Iv,Vector3 as H,Vector4 as Lv,WebGLRenderTarget as Rv}from"three";import{$internal as zv,Not as Bv,Or as Vv}from"koota";import{EngineSaveName as Hv,PageMessageType as Uv,PerformanceStatsMode as Wv,QualityGroup as U,QualityLevel as Gv,SaveSection as Kv,VoiceMode as qv,defaultPlayerSettings as Jv,errorReportsConfig as Yv,errorReportsMetaName as Xv,errorReportsPath as Zv,readRoomMode as Qv}from"@spawnite/schema";import{assign as $v,createActor as ey,fromPromise as ty,setup as ny}from"xstate";import{useStore as W}from"zustand";import{Fragment as ry,Suspense as iy,createContext as ay,lazy as oy,memo as sy,use as cy,useCallback as ly,useEffect as G,useEffectEvent as uy,useId as dy,useLayoutEffect as K,useMemo as q,useRef as J,useState as Y}from"react";import{shallow as fy,useShallow as py}from"zustand/shallow";import{CameraControls as my,Html as hy,PerspectiveCamera as gy,useProgress as _y}from"@react-three/drei";import{createStore as vy}from"zustand/vanilla";import{WorldProvider as yy,useHas as by,useQuery as xy,useQueryFirst as Sy,useTrait as Cy,useWorld as X}from"koota/react";import wy from"camera-controls";import{ActionBar as Ty,ActionBar as Ey,ActionBarShape as Dy,Bar as Oy,Bar as ky,Button as Ay,ButtonVariant as jy,ButtonVariant as My,Counter as Ny,Counter as Py,Heading as Fy,Heading as Iy,Icon as Ly,Icon as Ry,Image as zy,Joystick as By,MadeWithNotice as Vy,NumberField as Hy,NumberField as Uy,ProgressBar as Wy,ProgressBarVariant as Gy,Select as Ky,Slider as qy,Slider as Jy,Tap as Yy,Text as Xy,Text as Zy,TextField as Qy,Toggle as $y,gripPointer as eb,palette as tb}from"@spawnite/ui";import{Fragment as nb,jsx as Z,jsxs as Q}from"react/jsx-runtime";import{FiberProvider as rb,useFiber as ib}from"its-fine";import{createPortal as ab}from"react-dom";import{twMerge as $}from"tailwind-merge";import{AnimatePresence as ob,LazyMotion as sb,MotionConfig as cb,domAnimation as lb,m as ub,useReducedMotionConfig as db}from"motion/react";import{ErrorBoundary as fb,useErrorBoundary as pb}from"react-error-boundary";import{VRM as mb}from"@pixiv/three-vrm";import{KTX2Loader as hb}from"three/addons/loaders/KTX2Loader.js";function gb({model:e,color:t=`white`}){try{return e===void 0?/* @__PURE__ */ Q(`mesh`,{"position-y":.4,castShadow:!0,children:[/* @__PURE__ */ Z(`octahedronGeometry`,{args:[.2]}),/* @__PURE__ */ Z(`meshStandardMaterial`,{color:t,emissive:t,emissiveIntensity:.5})]}):/* @__PURE__ */ Z(tm,{name:e})}catch(e){throw O(`LootView`,e)}}gb.displayName=`LootView`;function _b({speed:e}){try{return pm(Oi,{speed:e}),null}catch(e){throw O(`Spin`,e)}}function vb({height:e,seconds:t=2}){try{return pm(Gn,{height:e,seconds:t}),null}catch(e){throw O(`Bob`,e)}}function yb({reward:e,radius:t=1,sound:n}){try{pm(vi,{reward:e,radius:t});let r=em(),i=de();return G(()=>{n!==void 0&&!i&&Cp(n)},[n,i]),mm(De,()=>{n!==void 0&&Tp(n)},{entity:r}),null}catch(e){throw O(`Pickup`,e)}}function bb({maximum:e}){try{pm(Jc,{current:e,maximum:e});let t=em();return G(()=>{t.isAlive()&&!t.has(ju)&&Nn(t,{[rs]:{base:e,min:1}})},[t,e]),null}catch(e){throw O(`Health`,e)}}function xb({seconds:e=5,clip:t=``}){try{if(yr(e,`set <Respawn seconds={5} />.`),cy(Qp)===null)throw Fu(/* @__PURE__ */ Error(`<Respawn> is outside an <Entity>: put it inside the <Entity>, beside its <Health>. A player's character's respawn is <CharacterSpawn respawn={{ seconds: 5 }} />.`),`SP0015`,`Respawn`);return dm(zc,{seconds:e,clip:t}),fm(zc.trait,{seconds:e,clip:t,inPlace:!0}),null}catch(e){throw O(`Respawn`,e)}}var Sb=[je.trait,Rs],Cb={};function wb({speed:e,reach:t=1,walks:n=!1,radius:r=Rs.schema.radius,height:i=Rs.schema.height,collisionMask:a=Es,controller:o}){try{let s={speed:e,reach:t,walks:n},c={radius:r,height:i,collisionMask:a&&Sl(a)},l=q(()=>Un(o),[o]);return dm(je,{...s,...c},Sb),fm(je.trait,s),fm(Rs,c),fm(na,l),fm(Oo,Cb),null}catch(e){throw O(`Chase`,e)}}function Tb({item:e,count:t=1,radius:n=1,id:r}){try{It(e),Xn(t);let i=X(),[a]=Y(()=>r===void 0?void 0:i.get(Cs)?.[r]),o=a??t;return G(()=>{if(r===void 0||!i.has(_l))return;let e=Eb.get(i);if(e||Eb.set(i,e=/* @__PURE__ */ new Set),e.has(r))throw Fu(/* @__PURE__ */ Error(`Two <Loot> have the id "${r}": they would share one count in the save. Give each its own.`),`SP0016`,`Loot`);return e.add(r),()=>void e.delete(r)},[i,r]),o===0?null:/* @__PURE__ */ Z(Db,{item:e,count:o,radius:n,id:r??``})}catch(e){throw O(`Loot`,e)}}var Eb=/* @__PURE__ */ new WeakMap;function Db({item:e,count:t,radius:n,id:r}){try{let{model:i,color:a}=It(e);return pm(wn,{item:e,count:t,radius:n,id:r}),de()?null:/* @__PURE__ */ Z(gb,{model:i,color:a})}catch(e){throw O(`LaidLoot`,e)}}function Ob({accepts:e}){try{return pm(At,{accepts:e}),null}catch(e){throw O(`Lock`,e)}}function kb(){return(Ad(Wn.interact)[0]??``).replace(/^Key/,``)}function Ab(e,t,n){let r=e.get(du)?.position,i=t?.get(du)?.position;return r!==void 0&&i!==void 0&&i.distanceTo(r)<=n}function jb({prompt:e,radius:t=1.5,onInteract:n}){try{pm(Xr,{prompt:e,radius:t});let r=X(),i=em(),a=de(),[o,s]=Y(!1),c=Sy(li,al,ju),l=J(n);G(()=>{l.current=n},[n]);let u=ly(()=>{let e=i.get(Xr.trait);return i.has(ju)?Ab(i,c,e?.radius??t):e?.near??!1},[i,c,t]),d=ly(()=>{l.current?.();let e=Nt(r,i);e?We(e,Hr,{by:null},{entity:i}):um(r,Vi,{entity:Ol(r,i)})},[i,r]);V(D(`Interact`,()=>{let e=u();s(e),wi(r,i,e)&&d()})),G(()=>{if(a)return;let e=e=>{Ad(Wn.interact).some(t=>t===e.code)&&(e.metaKey||e.ctrlKey||e.altKey||qf(e)||u()&&d())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,u,d]);let f=Cy(i,bu)?.object;return!o||!f?null:rv(/* @__PURE__ */ Z(hy,{name:`interact-prompt`,center:!0,position:[0,1.5,0],children:/* @__PURE__ */ Q(Zy,{as:`p`,className:`pointer-events-none flex items-center gap-1.5 whitespace-nowrap`,children:[/* @__PURE__ */ Z(`kbd`,{className:`rounded border border-white/60 px-1.5 font-sans text-[11px] leading-4 font-semibold pointer-coarse:hidden`,children:kb()}),e]})}),f)}catch(e){throw O(`Interact`,e)}}function Mb({radius:e=1,onEnter:t,onExit:n}){try{pm(ha,{radius:e});let r=em(),i=Sy(li,al,ju),a=J(!1),o=e=>{e!==a.current&&(a.current=e,e?t?.():n?.())};return mm(Do,()=>{r.has(ju)||o(!0)},{entity:r}),mm(ec,()=>{r.has(ju)||o(!1)},{entity:r}),V(D(`Trigger`,()=>{r.isAlive()?r.has(ju)&&o(Ab(r,i,r.get(ha.trait)?.radius??e)):o(!1)})),null}catch(e){throw O(`Trigger`,e)}}_b.displayName=`Spin`,vb.displayName=`Bob`,yb.displayName=`Pickup`,bb.displayName=`Health`,xb.displayName=`Respawn`,wb.displayName=`Chase`,Tb.displayName=`Loot`,Db.displayName=`LaidLoot`,Ob.displayName=`Lock`,jb.displayName=`Interact`,Mb.displayName=`Trigger`;function Nb({track:e,fov:t}){try{let n=J(null),[{eye:r,aim:i,look:a}]=Y(()=>({eye:new H,aim:new H,look:new H})),o=xy(_i,en,bu),s=q(()=>nh(o,e),[o,e]);return V(D(`TrackChaseCamera`,(t,o)=>{if(Rd(nf.getState()))return;let c=n.current,l=s?.get(bu)?.object?.position,u=s?.get(en)?.distance;if(!c||!l||u===void 0)return;ah(e,u,l,r,i);let{eyeResponse:d,aimResponse:f,snapDistance:p}=$m;c.position.distanceTo(r)>p&&(c.position.copy(r),a.copy(i)),c.position.lerp(r,yv.damp(0,1,d,o)),a.lerp(i,yv.damp(0,1,f,o)),c.lookAt(a)})),/* @__PURE__ */ Z(gy,{makeDefault:!0,ref:n,fov:t})}catch(e){throw O(`TrackChaseCamera`,e)}}Nb.displayName=`TrackChaseCamera`;var Pb={turnRate:Zo.turnRate,holdSeconds:Zo.holdSeconds,latchTurn:Zo.latchTurn};function Fb(e){try{let{track:t,fov:n=qs.fov}=e;return yp(Fb,e),de()?null:t?/* @__PURE__ */ Z(Nb,{track:t,fov:n}):/* @__PURE__ */ Z(Ib,{fov:n})}catch(e){throw O(`ChaseCamera`,e)}}function Ib({fov:e}){try{let t=X(),n=Np({through:Fb,latch:!0,fov:e,tuning:Pb}),r=J(0);return V(D(`FacingChaseCamera`,(e,n)=>{if(Rd(nf.getState()))return;r.current-=n;let i=t.queryFirst(k)?.get(k),a=i?.orbit,o=Ju(t)?.get(du)?.rotation;if(!i||!a||!o||r.current>0)return;let s=yv.euclideanModulo(Rn(o)-a.azimuthAngle+Math.PI,2*Math.PI)-Math.PI,c=i.turnRate*n;a.rotate(yv.clamp(s,-c,c),0,!1)})),/* @__PURE__ */ Z(my,{makeDefault:!0,...n,onControlStart:()=>{r.current=1/0},onControlEnd:()=>{r.current=t.queryFirst(k)?.get(k)?.holdSeconds??Zo.holdSeconds}})}catch(e){throw O(`FacingChaseCamera`,e)}}Fb.displayName=`ChaseCamera`,Ib.displayName=`FacingChaseCamera`;var Lb=`const vec2 curve = vec2(0.115, 0.165);
|
|
2
|
+
const float scanlineCount = 240.0;
|
|
3
|
+
const float scanlineDepth = 0.30;
|
|
4
|
+
const float triadCount = 200.0;
|
|
5
|
+
const float grille = 0.34;
|
|
6
|
+
const float bar = 0.045;
|
|
7
|
+
const float flickerDepth = 0.028;
|
|
8
|
+
const float grain = 0.022;
|
|
9
|
+
const float vignette = 0.58;
|
|
10
|
+
const float gain = 1.34;
|
|
11
|
+
const float halo = 0.10;
|
|
12
|
+
const vec3 sheen = vec3(0.55, 1.0, 0.78);
|
|
13
|
+
const vec3 room = vec3(0.012, 0.03, 0.022);
|
|
14
|
+
|
|
15
|
+
float hash(vec2 p) {
|
|
16
|
+
p = fract(p * vec2(123.34, 456.21));
|
|
17
|
+
p += dot(p, p + 45.32);
|
|
18
|
+
return fract(p.x * p.y);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Bends the flat UVs as curved glass does: the corners pull inward.
|
|
22
|
+
vec2 bend(vec2 uv) {
|
|
23
|
+
uv = uv * 2.0 - 1.0;
|
|
24
|
+
vec2 squared = uv.yx * uv.yx;
|
|
25
|
+
uv += uv * squared * curve * uCurvature;
|
|
26
|
+
return uv * 0.5 + 0.5;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
void main() {
|
|
30
|
+
vec2 uv = bend(vUv);
|
|
31
|
+
float t = uTime;
|
|
32
|
+
|
|
33
|
+
// Inside the bent picture, with a soft edge; outside is the room's dark.
|
|
34
|
+
vec2 inBounds = step(vec2(0.0), uv) * step(uv, vec2(1.0));
|
|
35
|
+
float inside = inBounds.x * inBounds.y;
|
|
36
|
+
vec2 edge = min(uv, 1.0 - uv);
|
|
37
|
+
inside *= smoothstep(0.0, 0.020, min(edge.x, edge.y));
|
|
38
|
+
|
|
39
|
+
// Colour fringing: red and blue sampled a little off, more toward the edge.
|
|
40
|
+
vec2 direction = uv - 0.5;
|
|
41
|
+
vec2 offset = direction * (0.0010 + 0.0075 * dot(direction, direction));
|
|
42
|
+
vec3 colour;
|
|
43
|
+
colour.r = texture2D(uMap, uv + offset).r;
|
|
44
|
+
colour.g = texture2D(uMap, uv).g;
|
|
45
|
+
colour.b = texture2D(uMap, uv - offset).b;
|
|
46
|
+
|
|
47
|
+
// Halation: six wide taps, so bright glyphs bloom into the glass.
|
|
48
|
+
float spread = 0.0038;
|
|
49
|
+
vec3 wide = texture2D(uMap, uv + vec2(spread, 0.0)).rgb
|
|
50
|
+
+ texture2D(uMap, uv + vec2(-spread, 0.0)).rgb
|
|
51
|
+
+ texture2D(uMap, uv + vec2(0.0, spread)).rgb
|
|
52
|
+
+ texture2D(uMap, uv + vec2(0.0, -spread)).rgb
|
|
53
|
+
+ texture2D(uMap, uv + vec2(spread, spread) * 0.72).rgb
|
|
54
|
+
+ texture2D(uMap, uv + vec2(-spread, -spread) * 0.72).rgb;
|
|
55
|
+
colour += wide * (halo / 6.0);
|
|
56
|
+
|
|
57
|
+
// Scanlines: dark bands that drift with time.
|
|
58
|
+
float line = sin(uv.y * 3.14159265 * scanlineCount + t * 4.0);
|
|
59
|
+
colour *= mix(1.0 - scanlineDepth * uScanlines, 1.0, line * line);
|
|
60
|
+
|
|
61
|
+
// Phosphor grille: red, green and blue stripes across the width.
|
|
62
|
+
float stripe = vUv.x * 6.2831853 * triadCount;
|
|
63
|
+
colour *= (1.0 - grille) + grille * cos(stripe + vec3(0.0, 2.094, 4.188));
|
|
64
|
+
colour *= gain;
|
|
65
|
+
|
|
66
|
+
// A bright bar rolls up the screen.
|
|
67
|
+
float roll = fract(uv.y * 0.5 - t * 0.07);
|
|
68
|
+
roll = smoothstep(0.0, 0.05, roll) * (1.0 - smoothstep(0.05, 0.18, roll));
|
|
69
|
+
colour += roll * bar;
|
|
70
|
+
|
|
71
|
+
// A soft reflection low on the glass.
|
|
72
|
+
colour += (1.0 - smoothstep(0.0, 0.55, distance(uv, vec2(0.50, 0.15)))) * 0.030 * sheen;
|
|
73
|
+
|
|
74
|
+
// Darker corners, a flicker and film grain.
|
|
75
|
+
float shade = 1.0 - smoothstep(0.30, 0.98, length((uv - 0.5) * vec2(1.05, 1.0)));
|
|
76
|
+
colour *= mix(1.0 - vignette, 1.0, shade);
|
|
77
|
+
colour *= 1.0 - flickerDepth * uFlicker * sin(t * 8.0);
|
|
78
|
+
colour += (hash(vUv + fract(t * 0.37)) - 0.5) * grain;
|
|
79
|
+
|
|
80
|
+
// The room's colour around the picture, lit by the glass's spill.
|
|
81
|
+
float spill = (1.0 - smoothstep(0.18, 0.85, length(vUv - 0.5))) * 0.05;
|
|
82
|
+
colour = mix(room + sheen * spill * 0.42, colour, inside);
|
|
83
|
+
colour = max(colour, room * 0.34);
|
|
84
|
+
gl_FragColor = vec4(colour, 1.0);
|
|
85
|
+
}
|
|
86
|
+
`;function Rb(e){try{return/* @__PURE__ */ Z(vp,{...e})}catch(e){throw O(`Shader`,e)}}Rb.displayName=`Shader`;function zb({map:e,curvature:t=1,scanlines:n=1,flicker:r=1}){try{return/* @__PURE__ */ Z(Rb,{fragment:Lb,uniforms:{uMap:e,uCurvature:t,uScanlines:n,uFlicker:r}})}catch(e){throw O(`CrtMaterial`,e)}}zb.displayName=`CrtMaterial`;function Bb({color:e=`#1f6f8b`,waveSize:t=1,waveSpeed:n=1,round:r=!1}){try{let i=q(()=>new mv(e),[e]);return/* @__PURE__ */ Z(vp,{clock:`effects`,fragment:dp,uniforms:{uColor:i,uWaveSize:t,uWaveSpeed:n,uRound:+!!r}})}catch(e){throw O(`WaterMaterial`,e)}}Bb.displayName=`WaterMaterial`;var Vb=`const float radius = 0.31;
|
|
87
|
+
const vec3 violet = vec3(0.55, 0.52, 1.0);
|
|
88
|
+
|
|
89
|
+
float hash(vec3 p) {
|
|
90
|
+
p = fract(p * 0.3183099 + vec3(0.1, 0.2, 0.3));
|
|
91
|
+
p *= 17.0;
|
|
92
|
+
return fract(p.x * p.y * p.z * (p.x + p.y + p.z));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
float noise(vec3 x) {
|
|
96
|
+
vec3 i = floor(x);
|
|
97
|
+
vec3 f = fract(x);
|
|
98
|
+
f = f * f * (3.0 - 2.0 * f);
|
|
99
|
+
return mix(
|
|
100
|
+
mix(mix(hash(i), hash(i + vec3(1, 0, 0)), f.x),
|
|
101
|
+
mix(hash(i + vec3(0, 1, 0)), hash(i + vec3(1, 1, 0)), f.x), f.y),
|
|
102
|
+
mix(mix(hash(i + vec3(0, 0, 1)), hash(i + vec3(1, 0, 1)), f.x),
|
|
103
|
+
mix(hash(i + vec3(0, 1, 1)), hash(i + vec3(1, 1, 1)), f.x), f.y),
|
|
104
|
+
f.z);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
float fbm(vec3 p) {
|
|
108
|
+
float v = 0.0;
|
|
109
|
+
float a = 0.5;
|
|
110
|
+
for (int i = 0; i < 5; i++) {
|
|
111
|
+
v += a * noise(p);
|
|
112
|
+
p = p * 2.03 + vec3(1.7);
|
|
113
|
+
a *= 0.5;
|
|
114
|
+
}
|
|
115
|
+
return v;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
void main() {
|
|
119
|
+
vec2 uv = vUv - 0.5;
|
|
120
|
+
float r = length(uv);
|
|
121
|
+
float t = uTime * uSpeed;
|
|
122
|
+
// Every colour below is ThreeUI's, scaled by how far uColor is from violet.
|
|
123
|
+
vec3 tint = uColor / violet;
|
|
124
|
+
vec3 colour = vec3(0.0);
|
|
125
|
+
float alpha = 0.0;
|
|
126
|
+
|
|
127
|
+
if (r < radius) {
|
|
128
|
+
// The sphere's normal under this pixel, turning slowly about y.
|
|
129
|
+
float z = sqrt(radius * radius - r * r);
|
|
130
|
+
vec3 normal = normalize(vec3(uv, z));
|
|
131
|
+
float angle = t * 0.15;
|
|
132
|
+
mat3 spin = mat3(cos(angle), 0.0, sin(angle), 0.0, 1.0, 0.0, -sin(angle), 0.0, cos(angle));
|
|
133
|
+
vec3 point = spin * normal;
|
|
134
|
+
|
|
135
|
+
// Two layers of smoke, the second warped by the first.
|
|
136
|
+
float f1 = fbm(point * 2.6 + vec3(0.0, t * 0.12, 0.0));
|
|
137
|
+
float f2 = fbm(point * 4.5 - vec3(t * 0.08, 0.0, t * 0.05) + f1 * 1.8);
|
|
138
|
+
float veil = smoothstep(0.35, 0.75, f2);
|
|
139
|
+
colour = mix(vec3(0.04, 0.02, 0.12), vec3(0.22, 0.16, 0.55), f1 * 1.2);
|
|
140
|
+
colour = mix(colour, vec3(0.62, 0.60, 0.98), veil * 0.65);
|
|
141
|
+
colour *= tint;
|
|
142
|
+
|
|
143
|
+
// Fresnel at the edge, a highlight on top and a thin bright rim.
|
|
144
|
+
float fresnel = pow(1.0 - z / radius, 2.2);
|
|
145
|
+
float top = pow(max(dot(normal, normalize(vec3(0.0, 0.7, 0.7))), 0.0), 3.0);
|
|
146
|
+
float rim = smoothstep(radius - 0.03, radius, r);
|
|
147
|
+
colour += tint * uIntensity * (vec3(0.55, 0.55, 1.0) * fresnel * 1.1
|
|
148
|
+
+ vec3(0.45, 0.42, 0.9) * top * 0.35
|
|
149
|
+
+ vec3(0.6, 0.58, 1.0) * rim * 0.6);
|
|
150
|
+
alpha = 1.0;
|
|
151
|
+
} else {
|
|
152
|
+
// The glow outside, faded to nothing before the plane's edge.
|
|
153
|
+
float glow = clamp(exp(-(r - radius) * 14.0), 0.0, 1.0);
|
|
154
|
+
glow *= 1.0 - smoothstep(0.4, 0.5, r);
|
|
155
|
+
colour = violet * tint * glow * 0.8 * uIntensity;
|
|
156
|
+
// Intensity fades the glow's cover too, or at 0 it would darken
|
|
157
|
+
// what lies behind the orb.
|
|
158
|
+
alpha = glow * 0.85 * clamp(uIntensity, 0.0, 1.0);
|
|
159
|
+
}
|
|
160
|
+
gl_FragColor = vec4(colour, alpha);
|
|
161
|
+
}
|
|
162
|
+
`;function Hb({color:e=`#8c85ff`,speed:t=1,intensity:n=1}){try{let r=q(()=>new mv(e).convertLinearToSRGB(),[e]);return/* @__PURE__ */ Z(Rb,{fragment:Vb,uniforms:{uColor:r,uSpeed:t,uIntensity:n},transparent:!0})}catch(e){throw O(`EnergyOrbMaterial`,e)}}Hb.displayName=`EnergyOrbMaterial`;var Ub=`vec2 hash(vec2 p) {
|
|
163
|
+
p = vec2(dot(p, vec2(127.1, 311.7)), dot(p, vec2(269.5, 183.3)));
|
|
164
|
+
return -1.0 + 2.0 * fract(sin(p) * 43758.5453123);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// Simplex noise in two dimensions.
|
|
168
|
+
float noise(vec2 p) {
|
|
169
|
+
const float K1 = 0.366025404;
|
|
170
|
+
const float K2 = 0.211324865;
|
|
171
|
+
vec2 i = floor(p + (p.x + p.y) * K1);
|
|
172
|
+
vec2 a = p - i + (i.x + i.y) * K2;
|
|
173
|
+
vec2 o = (a.x > a.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);
|
|
174
|
+
vec2 b = a - o + K2;
|
|
175
|
+
vec2 c = a - 1.0 + 2.0 * K2;
|
|
176
|
+
vec3 h = max(0.5 - vec3(dot(a, a), dot(b, b), dot(c, c)), 0.0);
|
|
177
|
+
vec3 n = h * h * h * h * vec3(dot(a, hash(i)), dot(b, hash(i + o)), dot(c, hash(i + 1.0)));
|
|
178
|
+
return dot(n, vec3(70.0));
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// Distance to a ring of the given radius and width, bent by a wave and noise.
|
|
182
|
+
float ring(vec2 p, vec2 center, float radius, float width, float warp, float t) {
|
|
183
|
+
p.y += sin(p.x * 2.0 + t * 0.3) * warp;
|
|
184
|
+
p.x += noise(p * 1.5 + t * 0.1) * (warp * 0.8);
|
|
185
|
+
return abs(length(p - center) - radius) - width;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
void main() {
|
|
189
|
+
float t = uTime * uSpeed;
|
|
190
|
+
// ThreeUI's screen coordinates, with its ring centred on the plane.
|
|
191
|
+
vec2 st = (vUv - 0.5) * 2.0 + 0.5;
|
|
192
|
+
vec2 center = vec2(0.5);
|
|
193
|
+
|
|
194
|
+
float core = exp(-ring(st, center, 0.6, 0.02, 0.15, t) * 30.0);
|
|
195
|
+
float fringe = exp(-ring(st, center, 0.65, 0.06, 0.2, t) * 10.0);
|
|
196
|
+
float wash = (1.0 - smoothstep(-0.5, 1.5, length(st - center))) * 0.15;
|
|
197
|
+
// Faded to nothing before the plane's edge, so no square shows.
|
|
198
|
+
float edge = 1.0 - smoothstep(0.8, 1.0, length(vUv - 0.5) * 2.0);
|
|
199
|
+
core *= edge * uIntensity;
|
|
200
|
+
fringe *= edge * uIntensity;
|
|
201
|
+
wash *= edge * uIntensity;
|
|
202
|
+
|
|
203
|
+
vec3 colour = vec3(1.0) * core + uColor * fringe
|
|
204
|
+
+ uColor * wash * (sin(t * 0.5) * 0.2 + 0.8);
|
|
205
|
+
float alpha = clamp(core + fringe + wash, 0.0, 1.0);
|
|
206
|
+
colour = vec3(1.0) - exp(-colour * 1.5);
|
|
207
|
+
gl_FragColor = vec4(colour, alpha * 0.6);
|
|
208
|
+
}
|
|
209
|
+
`;function Wb({color:e=`#1e3a8a`,speed:t=1,intensity:n=1}){try{let r=q(()=>new mv(e).convertLinearToSRGB(),[e]);return/* @__PURE__ */ Z(Rb,{fragment:Ub,uniforms:{uColor:r,uSpeed:t,uIntensity:n},transparent:!0})}catch(e){throw O(`PortalMaterial`,e)}}Wb.displayName=`PortalMaterial`;var Gb=new Iv,Kb=new Iv,qb=new kv(new H(0,1,0),0),Jb=new H,Yb=new Mv,{ROTATE:Xb,DOLLY:Zb,NONE:Qb,TOUCH_DOLLY_ROTATE:$b}=wy.ACTION,ex={left:Qb,middle:Qb,right:Xb,wheel:Zb},tx={one:Qb,two:$b,three:Qb},nx=/* @__PURE__ */ new WeakSet;function rx(e,t){let n=M.getState(),{camera:r}=e,i=`aspect`in r?r.aspect:1,a=n.readMapFlight(r.position,i);if(!a){n.endMapFlight();return}if(nx.has(e))return;nx.add(e);let[o,s,c]=a.eye,[l,u,d]=a.target,f=Math.hypot(o-l,s-u,c-d),p=t.queryFirst(k);p?.set(k,{maxDistance:f});let m=p?.get(k);m&&Xu(m);let{smoothTime:h}=e;e.smoothTime=oo.flightSmoothTime,e.setLookAt(o,s,c,l,u,d,!0).then(()=>{nx.delete(e),e.smoothTime=h,M.getState().endMapFlight()})}function ix(e,t,n,r){Kb.set((n-t.x)/t.width*2-1,(r-t.y)/t.height*-2+1),qb.constant=-e.getTarget(Jb).y,Yb.setFromCamera(Kb,e.camera);let i=Yb.ray.intersectPlane(qb,new H);return i&&i.distanceTo(e.camera.position)<=oo.maxDistance?i:null}function ax(e,t){let n=null,r=!1,i=e=>e.button===1||e.button===0&&Yh.getState().tool===null,a=r=>{if(!i(r))return;if(n){n=null;return}M.getState().endMapFlight();let a=ix(t,e.getBoundingClientRect(),r.clientX,r.clientY);a&&(n={id:r.pointerId,at:a,from:new Iv(r.clientX,r.clientY),dragged:!1},e.setPointerCapture(r.pointerId))},o=t=>{n?.id===t.pointerId&&(r=n.dragged,n=null,e.hasPointerCapture(t.pointerId)&&e.releasePointerCapture(t.pointerId))},s=r=>{if(n?.id!==r.pointerId||(n.from.distanceTo(new Iv(r.clientX,r.clientY))>oo.clickSlop&&(n.dragged=!0),!n.dragged))return;let i=ix(t,e.getBoundingClientRect(),r.clientX,r.clientY);if(!i)return;let a=t.getTarget(new H).add(n.at).sub(i);t.moveTo(a.x,a.y,a.z,!1)},c=e=>{r&&(r=!1,e.stopImmediatePropagation(),e.preventDefault())};return e.addEventListener(`pointerdown`,a),e.addEventListener(`pointermove`,s),e.addEventListener(`pointerup`,o),e.addEventListener(`pointercancel`,o),e.addEventListener(`click`,c,!0),()=>{e.removeEventListener(`pointerdown`,a),e.removeEventListener(`pointermove`,s),e.removeEventListener(`pointerup`,o),e.removeEventListener(`pointercancel`,o),e.removeEventListener(`click`,c,!0)}}function ox(e,t){let n=e=>{if(!e.ctrlKey)return;e.preventDefault(),e.stopImmediatePropagation(),M.getState().endMapFlight();let n=.95**(e.deltaY/10*oo.pinchDollySpeed);t.dolly(t.distance*(1-n),!0)},r={capture:!0,passive:!1};return e.addEventListener(`wheel`,n,r),()=>e.removeEventListener(`wheel`,n,r)}function sx(){try{let e=X(),t=ov(e=>e.camera),n=cy(lx),r=ov(e=>e.events.connected??e.gl.domElement),[i]=Y(()=>t.getWorldDirection(new H)),[a,o]=Y(null),s=J(null),c=J(null),{ref:l,...u}=Np({follow:null,through:sx,minDistance:oo.minDistance,maxDistance:oo.maxDistance,minPolarAngle:oo.minPolarAngle,maxPolarAngle:oo.maxPolarAngle}),d=ly(e=>{if(o(e),e){let t=e.camera.position,n=i.y<0?-t.y/i.y:1/0,r=Math.min(n,oo.lookAhead),a=t.clone().addScaledVector(i,r);e.setLookAt(t.x,t.y,t.z,a.x,a.y,a.z,!1),e.dollyToCursor=!0}l(e)},[l,i]);return G(()=>{if(a)return M.getState().mapFlight&&rx(a,e),M.subscribe((t,n)=>{t.mapFlight&&!n.mapFlight&&rx(a,e)})},[a,e]),G(()=>{if(!a||!(r instanceof HTMLElement))return;let e=ax(r,a),t=ox(r,a);return()=>{e(),t()}},[r,a]),V(D(`MapCamera`,(e,t)=>{if(Rd(nf.getState())||!a)return;let{distance:n}=a,{mapFlight:r}=M.getState();if(r||s.current===null)s.current=n,c.current=r?null:a.getTarget(Jb).y;else if(n!==s.current){let e=Math.log2(n/s.current);s.current=n,a.rotate(0,-e*oo.tiltPerDoubling,!1)}let i=Gb.copy(Zf()).clampLength(0,1),o=Xf(),l=i.lengthSq()>0||o!==0;l&&r&&M.getState().endMapFlight();let u=a.getTarget(Jb);if(c.current!==null&&u.y!==c.current&&a.moveTo(u.x,c.current,u.z,!1),!l)return;let d=n*oo.panShare*t;i.y!==0&&a.forward(i.y*d,!0),i.x!==0&&a.truck(i.x*d,0,!0),o!==0&&a.rotate(o*oo.turnRate*t,0,!0),a.update(0)})),de()?null:/* @__PURE__ */ Z(my,{makeDefault:n===null,camera:n??void 0,...u,mouseButtons:ex,touches:tx,ref:d})}catch(e){throw O(`MapCamera`,e)}}sx.displayName=`MapCamera`;var cx=typeof __GAME_ENGINE_DEV__==`boolean`&&!__GAME_ENGINE_DEV__?()=>null:oy(()=>import(`./eYC1fQo5.js`).then(({StandInTools:e})=>({default:e}))),lx=ay(null),ux=-.5,dx=.75,fx=[`aspect`],px=[`fov`,`near`,`far`,`zoom`],mx=[`left`,`right`,`top`,`bottom`],hx=[`near`,`far`,`zoom`];function gx(e,t,n){let r=!1;for(let i of n)t[i]!==e[i]&&(t[i]=e[i],r=!0);return r}function _x(e,t){t.position.copy(e.position),t.quaternion.copy(e.quaternion),t.view?.enabled&&t.clearViewOffset(),e instanceof Ov&&t instanceof Ov?(gx(t,e,fx)&&e.updateProjectionMatrix(),gx(e,t,px)&&t.updateProjectionMatrix()):e instanceof Dv&&t instanceof Dv&&(gx(t,e,mx)&&e.updateProjectionMatrix(),gx(e,t,hx)&&t.updateProjectionMatrix())}function vx(e){return e instanceof Ov?new Ov().copy(e,!1):new Dv().copy(e,!1)}function yx(e){let t=vx(e);return t.clearViewOffset(),t}function bx({children:e}){try{let t=X(),n=ov(e=>e.controls),r=ov(e=>e.get),[i]=Y(()=>yx(r().camera)),[a]=Y(()=>r().camera),[o]=Y(()=>vx(a));return K(()=>()=>_x(o,a),[o,a]),K(()=>{let e=/* @__PURE__ */ new Map;function n(t){let n=t.get(k);n&&n.orbit?.camera!==i&&(e.set(t,n),t.remove(k))}Lu(t),t.query(k).forEach(n);let r=t.onAdd(k,n);return()=>{r();for(let[t,n]of e)t.isAlive()&&t.add(k(n))}},[t,i]),G(()=>{if(n&&`enabled`in n&&n.enabled===!0)return n.enabled=!1,()=>{n.enabled=!0}},[n]),V(D(`StandIn`,e=>_x(i,e.camera)),ux),V(D(`StandIn`,e=>{i.updateMatrixWorld(),_x(i,e.camera),e.internal.priority===1&&e.gl.render(e.scene,e.camera)}),dx),/* @__PURE__ */ Q(lx,{value:i,children:[e,/* @__PURE__ */ Z(iy,{children:/* @__PURE__ */ Z(cx,{})})]})}catch(e){throw O(`StandIn`,e)}}function xx(){try{let e=M(e=>e.freeCamera),t=M(e=>e.mapCamera);return de()||!e&&!t?null:/* @__PURE__ */ Z(bx,{children:Z(e?wx:sx,{})})}catch(e){throw O(`StandInCamera`,e)}}bx.displayName=`StandIn`,xx.displayName=`StandInCamera`;var Sx=new Iv,Cx={metresPerSecond:Ms.metresPerSecond,rotateSpeed:Ms.rotateSpeed};function wx(){try{let e=X(),t=ov(e=>e.camera),n=cy(lx),r=ov(e=>e.gl.domElement),i=Yh(e=>e.tool!==null),[a]=Y(()=>t.getWorldDirection(new H)),{ref:o,...s}=Np({follow:null,through:wx,minDistance:Ms.pivotDistance,maxDistance:Ms.pivotDistance,minPolarAngle:0,maxPolarAngle:Math.PI,tuning:Cx}),c=J(null),l=ly(e=>{if(c.current=e,e){let t=e.camera.position,n=t.clone().addScaledVector(a,Ms.pivotDistance);e.setLookAt(t.x,t.y,t.z,n.x,n.y,n.z,!1)}o(e)},[o,a]);return Ah(D(`FreeCamera`,(t,n)=>{if(Rd(nf.getState()))return;let r=e.queryFirst(k)?.get(k),i=c.current,a=Sx.copy(Zf()).clampLength(0,1),o=Xf();if(!r||!i?.enabled||a.lengthSq()===0&&o===0)return;let s=r.metresPerSecond*(Yf()?Ms.boostFactor:1)*n;i.dollyInFixed(a.y*s,!1),i.truck(a.x*s,0,!1),i.elevate(o*s,!1),i.update(0)})),G(()=>{if(!i)return;function e(e){let t=c.current;t?.enabled&&(e.preventDefault(),t.dollyInFixed(-e.deltaY*Ms.wheelMetres,!1))}return r.addEventListener(`wheel`,e,{passive:!1}),()=>r.removeEventListener(`wheel`,e)},[i,r]),de()?null:/* @__PURE__ */ Z(my,{makeDefault:n===null,camera:n??void 0,...s,...i&&Gf,ref:l})}catch(e){throw O(`FreeCamera`,e)}}wx.displayName=`FreeCamera`;function Tx({resource:e}){try{let t=X(),n=ds(t,e);pm(ko(e),Rc(n));let r=em(),{maximum:i}=n;return G(()=>{r.isAlive()&&!r.has(ju)&&Nn(r,{[Ta(e)]:{base:i,min:0}})},[r,e,i]),null}catch(e){throw O(`Resource`,e)}}Tx.displayName=`Resource`;function Ex(e,t){return Cy(e,nc(t))}function Dx({entity:e,resource:t,color:n,label:r,showValue:i,className:a,classNames:o}){try{let s=X(),c=Ex(e,t),l=ds(s,t);return!c||!(c.maximum>0)?null:/* @__PURE__ */ Z(ky,{label:r??l.label,value:c.current,maximum:c.maximum,reserved:c.reserved,color:n??l.color,showValue:i,className:a,classNames:o})}catch(e){throw O(`ResourceBar`,e)}}Dx.displayName=`ResourceBar`;var Ox=wy.ACTION.NONE;function kx(e){try{let{azimuth:t=0,polar:n=yv.degToRad(80),distance:r=9}=e;yp(kx,e);let{ref:i,...a}=Np({through:kx,settle:!1,minPolarAngle:n,maxPolarAngle:n,minDistance:r,maxDistance:r}),o=J(null),s=ly(e=>{o.current=e,i(e)},[i]);return G(()=>{let e=o.current;e&&(e.rotateTo(t,n,!1),e.dollyTo(r,!1))},[t,n,r]),de()?null:/* @__PURE__ */ Z(my,{makeDefault:!0,ref:s,...a,minAzimuthAngle:t,maxAzimuthAngle:t,mouseButtons:{left:Ox,middle:Ox,right:Ox,wheel:Ox},touches:{one:Ox,two:Ox,three:Ox}})}catch(e){throw O(`SideCamera`,e)}}kx.displayName=`SideCamera`;function Ax(e){try{let t=X(),n=em(),{to:r,...i}=e,a=JSON.stringify(i);return G(()=>{if(!n.isAlive())return;let e=Nt(t,n);if(!e)return;let i={...JSON.parse(a),to:r},o=ze(e,n,i);return()=>{let e=o.isAlive()?Nt(t,o):null;e&&Ss(e,o)}},[t,n,a,r]),null}catch(e){throw O(`Joint`,e)}}Ax.displayName=`Joint`;var jx,Mx=0,Nx=null,Px=null;function Fx(){return Bx()!==null}function Ix(e,t={}){let n=Bx();if(n===null||Mx>=10)return;Mx+=1;let{code:r,label:i}=Nu(e),a={...t};for(let[e,t]of Object.entries(i))t!==void 0&&Object.assign(a,{[e]:t});let{system:o,tick:s,scene:c,componentStack:l,call:u,entity:d,boundary:f,component:p}=a;Nx??=Hx(n),Nx.then(t=>{let n=t.clone();o!==void 0&&n.setTag(`system`,o),c!==void 0&&n.setTag(`scene`,c),r!==void 0&&n.setTag(`code`,r),u!==void 0&&n.setTag(`call`,u),f!==void 0&&n.setTag(`boundary`,f),p!==void 0&&n.setTag(`component`,p),n.setContext(`engine`,{tick:s,componentStack:l,entity:d?.key}),zx(n,e)},e=>console.warn(`The error tracker did not load.`,e))}function Lx(){if(Px)return;let e=e=>{e.error!=null&&Ix(e.error)},t=e=>Ix(e.reason);window.addEventListener(`error`,e),window.addEventListener(`unhandledrejection`,t),Px=()=>{window.removeEventListener(`error`,e),window.removeEventListener(`unhandledrejection`,t)}}typeof window<`u`&&Fx()&&Lx();var Rx=`__sentry_captured__`;function zx(e,t){if(typeof t!=`object`||!t){e.captureException(t);return}let n=Object.getOwnPropertyDescriptor(t,Rx);try{n&&Reflect.deleteProperty(t,Rx),e.captureException(t)}finally{Reflect.deleteProperty(t,Rx),n&&Object.defineProperty(t,Rx,n)}}function Bx(){if(jx!==void 0)return jx;let e=typeof document>`u`?null:document.querySelector(`meta[name="${Xv}"]`)?.getAttribute(`content`);return jx=e?Vx(e):null,jx}function Vx(e){try{let t=Yv.safeParse(JSON.parse(e));if(t.success)return t.data;console.warn(`The page's error reports tag is not valid.`,t.error)}catch(e){console.warn(`The page's error reports tag is not JSON.`,e)}return null}async function Hx(e){let t=await import(`@sentry/browser`),n=new t.BrowserClient({dsn:e.dsn,tunnel:Zv,release:e.release,transport:e=>t.makeFetchTransport(e,(e,t)=>fetch(e,t)),stackParser:t.defaultStackParser,integrations:[t.dedupeIntegration(),t.linkedErrorsIntegration()],dataCollection:{userInfo:!1},beforeSend:(e,t)=>{delete e.user,delete e.breadcrumbs;let[n]=e.exception?.values??[];if(n&&t.originalException!==void 0){let{message:e,code:r}=Nu(t.originalException);n.value=r?`${e} [${r}]`:e}return e}}),r=new t.Scope;return r.setClient(n),n.init(),r.setTags({game:e.game,version:String(e.version),release:e.release}),r}var Ux=960;function Wx(e){return e.isMesh===!0}function Gx(e){return e.userData.gizmo===!0||e.userData.screenOverlay===!0}function Kx(e){let t=[],n=[],r=e=>{if(e.visible){if(Gx(e)){n.push(e);return}Wx(e)&&t.push(e);for(let t of e.children)r(t)}};return r(e),{meshes:t,overlays:n}}function qx(e){return e.transparent&&e.alphaTest===0||e.blending===sv}function Jx(e,t){let n=t,r=new Cv({map:n?.alphaTest?n.map??null:null,alphaTest:n?.alphaTest??0,fog:!1,toneMapped:!1});return t&&(r.side=t.side),r.color.setHex(e,Tv),r.onBeforeCompile=e=>{e.fragmentShader=e.fragmentShader.replace(`#include <map_fragment>`,`#include <map_fragment>
|
|
210
|
+
diffuseColor.rgb = diffuse;`)},r.customProgramCacheKey=()=>`spawnite-sighting`,r}function Yx(e){let t=e.getAttribute(`role`),n=(e.getAttribute(`aria-label`)??e.textContent??``).trim().replace(/\s+/g,` `).slice(0,40);return[e.tagName.toLowerCase(),...t?[`role=${t}`]:[],...n?[`"${n}"`]:[]].join(` `)}function Xx(e,{renderer:t,scene:n,camera:r}){if(td(t))throw Fu(/* @__PURE__ */ Error(`Seeing what the camera shows reads pixels back through WebGL, which WebGPURenderer cannot do at once: measure sightings under WebGL.`),`SP0530`,void 0);let i=t.getDrawingBufferSize(new Iv),a=Math.min(1,Ux/Math.max(1,i.x)),o=Math.max(1,Math.round(i.x*a)),s=Math.max(1,Math.round(i.y*a)),c=new Rv(o,s),l=new Uint8Array(o*s*4),{meshes:u,overlays:d}=Kx(n),f=/* @__PURE__ */ new Map;e.forEach((e,t)=>{for(let n of e)n.traverseVisible(e=>{Wx(e)&&!f.has(e)&&f.set(e,t+1)})});let p=u.map(e=>({mesh:e,material:e.material,visible:e.visible,instanceColor:e.instanceColor??null})),m=[],h=n.background,g=n.fog,_=n.overrideMaterial,v=t.getClearColor(new mv),y=t.getClearAlpha(),b=t.getRenderTarget(),x=()=>{t.setRenderTarget(c),t.clear(),t.render(n,r),t.readRenderTargetPixels(c,0,0,o,s,l)},S=t=>{let n=t*4,r=l[n]<<16|l[n+1]<<8|l[n+2];return r>e.length?0:r},C=()=>{let t=Array(e.length+1).fill(0),n=t.map(()=>({left:o,right:-1,bottom:s,top:-1}));for(let e=0;e<o*s;e++){let r=S(e);if(r===0)continue;t[r]+=1;let i=n[r],a=e%o,s=Math.floor(e/o);i.left=Math.min(i.left,a),i.right=Math.max(i.right,a),i.bottom=Math.min(i.bottom,s),i.top=Math.max(i.top,s)}return{counts:t,boxes:n.map(e=>e.right<0?void 0:e)}},w=e=>{let t=e.map(()=>({pixel:-1,distance:1/0}));for(let n=0;n<o*s;n++){let r=S(n),i=e[r];if(!i)continue;let a=n%o-(i.left+i.right)/2,s=Math.floor(n/o)-(i.bottom+i.top)/2,c=a*a+s*s;c>=t[r].distance||(t[r]={pixel:n,distance:c})}return t.map(({pixel:e})=>e)};try{for(let e of d)e.visible=!1;n.background=null,n.fog=null,n.overrideMaterial=null,t.setClearColor(0,1);for(let{mesh:e,material:t}of p){let n=Array.isArray(t)?t[0]:t;if(n&&qx(n)&&!f.has(e)){e.visible=!1;continue}let r=Jx(f.get(e)??0,n);m.push(r),e.material=r,`instanceColor`in e&&(e.instanceColor=null)}x();let r=C(),i=w(r.boxes),{width:a,height:c,left:l,top:u}=t.domElement.getBoundingClientRect(),h=e=>l+e/o*a,g=e=>u+(s-e)/s*c;return e.map((e,n)=>{let a=n+1;for(let{mesh:e,visible:t}of p)e.visible=f.get(e)===a&&t;x();let c=C();for(let{mesh:e,visible:t}of p)e.visible=t;let l=c.boxes[a],u=l&&{x:h(l.left),y:g(l.top+1),width:h(l.right+1)-h(l.left),height:g(l.bottom)-g(l.top+1)},d=i[a],m=d>=0&&[h(d%o+.5),g(Math.floor(d/o)+.5)],_=m&&document.elementFromPoint?.(...m),v=_&&_!==t.domElement&&Yx(_);return{visible:r.counts[a],inView:c.counts[a],...u&&{box:u},...m&&{point:m},...v&&{coveredBy:v},pixels:o*s}})}finally{for(let{mesh:e,material:t,visible:n,instanceColor:r}of p)e.material=t,e.visible=n,`instanceColor`in e&&(e.instanceColor=r);for(let e of m)e.dispose();for(let e of d)e.visible=!0;n.background=h,n.fog=g,n.overrideMaterial=_,t.setClearColor(v,y),t.setRenderTarget(b),c.dispose()}}var Zx=.02,Qx=.3,$x=.1,eS=.005,tS=.05,nS=`voice-gate`,rS=`
|
|
211
|
+
const lookahead = Math.round(sampleRate * ${Zx});
|
|
212
|
+
const holdSamples = Math.round(sampleRate * ${Qx});
|
|
213
|
+
const tailSamples = Math.round(sampleRate * ${$x});
|
|
214
|
+
const fadeStep = 1 / (sampleRate * ${eS});
|
|
215
|
+
const reportSamples = Math.round(sampleRate * ${tS});
|
|
216
|
+
const silence = -120;
|
|
217
|
+
|
|
218
|
+
function toDecibels(power) {
|
|
219
|
+
return power > 0 ? Math.max(silence, 10 * Math.log10(power)) : silence;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
class VoiceGate extends AudioWorkletProcessor {
|
|
223
|
+
constructor() {
|
|
224
|
+
super();
|
|
225
|
+
this.mode = "${qv.OpenMic}";
|
|
226
|
+
this.threshold = ${Jv.voiceSensitivity};
|
|
227
|
+
this.gain = 1;
|
|
228
|
+
this.pushing = false;
|
|
229
|
+
this.ring = new Float32Array(lookahead + 4096);
|
|
230
|
+
this.write = lookahead;
|
|
231
|
+
this.read = 0;
|
|
232
|
+
this.openFor = 0;
|
|
233
|
+
this.level = 0;
|
|
234
|
+
this.counted = 0;
|
|
235
|
+
this.loudestIn = 0;
|
|
236
|
+
this.loudestOut = 0;
|
|
237
|
+
this.port.onmessage = ({ data }) => {
|
|
238
|
+
if (data.mode !== undefined) this.mode = data.mode;
|
|
239
|
+
if (data.thresholdDecibels !== undefined) this.threshold = data.thresholdDecibels;
|
|
240
|
+
if (data.gain !== undefined) this.gain = data.gain;
|
|
241
|
+
if (data.pushing !== undefined) this.pushing = data.pushing;
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
process(inputs, outputs) {
|
|
246
|
+
const input = inputs[0] && inputs[0][0];
|
|
247
|
+
const output = outputs[0][0];
|
|
248
|
+
const size = output.length;
|
|
249
|
+
let power = 0;
|
|
250
|
+
for (let index = 0; index < size; index++) {
|
|
251
|
+
const sample = input ? input[index] * this.gain : 0;
|
|
252
|
+
power += sample * sample;
|
|
253
|
+
this.ring[this.write] = sample;
|
|
254
|
+
this.write = (this.write + 1) % this.ring.length;
|
|
255
|
+
}
|
|
256
|
+
power /= size;
|
|
257
|
+
// The hold counts from the block that was loud, which plays a
|
|
258
|
+
// lookahead later.
|
|
259
|
+
if (this.mode === "${qv.PushToTalk}") {
|
|
260
|
+
if (this.pushing) this.openFor = lookahead + tailSamples;
|
|
261
|
+
else this.openFor = Math.max(0, this.openFor - size);
|
|
262
|
+
} else if (toDecibels(power) >= this.threshold)
|
|
263
|
+
this.openFor = lookahead + holdSamples;
|
|
264
|
+
else this.openFor = Math.max(0, this.openFor - size);
|
|
265
|
+
const target = this.openFor > 0 ? 1 : 0;
|
|
266
|
+
let passed = 0;
|
|
267
|
+
for (let index = 0; index < size; index++) {
|
|
268
|
+
if (this.level < target) this.level = Math.min(target, this.level + fadeStep);
|
|
269
|
+
else if (this.level > target) this.level = Math.max(target, this.level - fadeStep);
|
|
270
|
+
const sample = this.ring[this.read] * this.level;
|
|
271
|
+
this.read = (this.read + 1) % this.ring.length;
|
|
272
|
+
output[index] = sample;
|
|
273
|
+
passed += sample * sample;
|
|
274
|
+
}
|
|
275
|
+
for (let channel = 1; channel < outputs[0].length; channel++)
|
|
276
|
+
outputs[0][channel].set(output);
|
|
277
|
+
this.loudestIn = Math.max(this.loudestIn, power);
|
|
278
|
+
this.loudestOut = Math.max(this.loudestOut, passed / size);
|
|
279
|
+
this.counted += size;
|
|
280
|
+
if (this.counted >= reportSamples) {
|
|
281
|
+
this.port.postMessage({
|
|
282
|
+
inputDecibels: toDecibels(this.loudestIn),
|
|
283
|
+
outputDecibels: toDecibels(this.loudestOut),
|
|
284
|
+
open: target === 1,
|
|
285
|
+
});
|
|
286
|
+
this.counted = 0;
|
|
287
|
+
this.loudestIn = 0;
|
|
288
|
+
this.loudestOut = 0;
|
|
289
|
+
}
|
|
290
|
+
return true;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
registerProcessor("${nS}", VoiceGate);
|
|
295
|
+
`,iS=1e3,aS;function oS(e){return{mode:e.voiceMode,thresholdDecibels:e.voiceSensitivity,gain:qp(e.microphoneVolume)}}async function sS(e){if(e.state===`running`)return!0;let t=e.resume().then(()=>!0),n=new Promise(e=>setTimeout(()=>e(!1),iS));return Promise.race([t,n]).catch(()=>!1)}function cS(e){let t=()=>{let{voiceMode:t}=P.getState();e.enabled=t!==qv.PushToTalk||L.getState().pushing};t();let n=P.subscribe(t),r=L.subscribe(t),i=uS();return{track:e,stop:()=>{n(),r(),i(),e.stop(),L.setState({pushing:!1})}}}async function lS(e){if(typeof AudioWorkletNode>`u`)return cS(e);let t;try{if(t=new AudioContext({latencyHint:`interactive`}),aS??=URL.createObjectURL(new Blob([rS],{type:`text/javascript`})),await t.audioWorklet.addModule(aS),!await sS(t))throw Fu(/* @__PURE__ */ Error(`No sound yet.`),`SP0247`,void 0)}catch{return t?.close(),cS(e)}let n=t.createMediaStreamSource(new MediaStream([e])),r=new AudioWorkletNode(t,nS,{channelCount:1,channelCountMode:`explicit`,outputChannelCount:[1]}),i=t.createMediaStreamDestination();n.connect(r).connect(i);let a=e=>r.port.postMessage(e);a({...oS(P.getState()),pushing:L.getState().pushing});let o=P.subscribe((e,t)=>{let n=oS(e),r=oS(t);(n.mode!==r.mode||n.thresholdDecibels!==r.thresholdDecibels||n.gain!==r.gain)&&a(n)}),s=L.subscribe(({pushing:e},t)=>{e!==t.pushing&&a({pushing:e})}),c=uS(),l=-1/0;r.port.onmessage=({data:e})=>{let t=performance.now();e.outputDecibels>=-55&&(l=t);let n=t-l<=Qg*1e3,r=L.getState();(r.talking!==n||r.inputDecibels!==e.inputDecibels)&&L.setState({talking:n,inputDecibels:e.inputDecibels})};let[u]=i.stream.getAudioTracks();return{track:u,stop:()=>{o(),s(),c(),r.port.onmessage=null,n.disconnect(),r.disconnect(),u.stop(),e.stop(),t.close(),L.setState({talking:!1,pushing:!1})}}}function uS(){let e=e=>{let{voiceMode:t,pushToTalkKey:n}=P.getState();return t===qv.PushToTalk&&e.code===n},t=t=>{t.repeat||!e(t)||qf(t)||L.setState({pushing:!0})},n=e=>{e.code===P.getState().pushToTalkKey&&L.setState({pushing:!1})},r=()=>L.setState({pushing:!1}),i=P.subscribe((e,t)=>{(e.pushToTalkKey!==t.pushToTalkKey||e.voiceMode!==t.voiceMode)&&r()});return window.addEventListener(`keydown`,t),window.addEventListener(`keyup`,n),window.addEventListener(`blur`,r),()=>{i(),window.removeEventListener(`keydown`,t),window.removeEventListener(`keyup`,n),window.removeEventListener(`blur`,r)}}async function dS({noiseSuppression:e,autoGainControl:t}){let[n]=(await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:e,autoGainControl:t}})).getAudioTracks();return n}function fS(e){if(e===void 0)return 1;let{playerVolumes:t,mutedPlayers:n}=L.getState();return n.includes(e)?0:bp(t[e]??100)}function pS(e,t){let n=1,r=NaN,i=()=>{let i=n*fS(e);i!==r&&(r=i,t(r))},a=wp({channel:gp.Voice},e=>{n=e,i()}),o=L.subscribe(i);return()=>{a(),o()}}var mS=/* @__PURE__ */ new WeakMap;function hS(e){let t=mS.get(e);if(t===void 0){let n=e.createDynamicsCompressor();n.threshold.value=-3,n.knee.value=0,n.ratio.value=20,n.attack.value=.002,n.release.value=.2,n.connect(e.destination),t=n,mS.set(e,t)}return t}function gS(e,t){let n=typeof AudioContext>`u`?void 0:mp();if(n===void 0)return;let r=n.createMediaStreamSource(e),i=n.createGain();r.connect(i).connect(hS(n));let a=!0,o=pS(t,e=>{a?i.gain.value=e:i.gain.setTargetAtTime(e,n.currentTime,.015),a=!1});return()=>{o(),r.disconnect(),i.disconnect()}}function _S(e,t){let n=new Audio,r=new MediaStream([e]);n.srcObject=r;let i=gS(r,t),a;i?(n.muted=!0,a=i):a=pS(t,e=>{n.volume=Math.min(1,e)});function o(){s(),n.play().catch(()=>void 0)}function s(){for(let e of _p)window.removeEventListener(e,o)}let c=!1;return n.play().catch(()=>{if(!c)for(let e of _p)window.addEventListener(e,o)}),()=>{c=!0,a(),s(),n.pause(),n.srcObject=null}}function vS(){return rd()||typeof navigator<`u`&&navigator.userActivation?.hasBeenActive===!0?Promise.resolve():new Promise(e=>{let t=()=>{for(let e of _p)window.removeEventListener(e,t,!0);e()};for(let e of _p)window.addEventListener(e,t,!0)})}function yS(e){let t=!1,n,r=()=>{!t&&n&&e(n.state)};return navigator.permissions?.query({name:`microphone`}).then(e=>{n=e,n.addEventListener(`change`,r),r()}).catch(()=>void 0),window.addEventListener(`focus`,r),()=>{t=!0,n?.removeEventListener(`change`,r),window.removeEventListener(`focus`,r)}}function bS(){if(typeof RTCPeerConnection<`u`)try{new RTCPeerConnection().close()}catch{}}var xS={openMicrophone:dS,playTrack:_S,processMicrophone:lS,waitForActivation:vS,watchMicrophonePermission:yS,warm:bS},SS=[1,1,2,4,8];function CS(e){return SS[Math.min(e,SS.length-1)]*1e3*(1-Math.random()/2)}function wS(e){return e>=4e3&&e<=4999}var TS=/* @__PURE__ */ new Set([Tf,Df,Ef]),ES=/* @__PURE__ */ new Set([Ef]),DS=/* @__PURE__ */ new Set([Tf]);function OS(e){return`spawnite.rejoin:${e}`}function kS(e){try{return globalThis.sessionStorage?.getItem(OS(e))??void 0}catch{return}}function AS(e,t){try{t===void 0?globalThis.sessionStorage?.removeItem(OS(e)):globalThis.sessionStorage?.setItem(OS(e),t)}catch{}}var jS=new TextEncoder,MS=/* @__PURE__ */ new Uint8Array(4096);function NS(e){return MS.length<e.length*3&&(MS=new Uint8Array(e.length*3)),jS.encodeInto(e,MS).written}function PS(e){if(typeof e!=`string`)return e.length>hu;let t=e;return t.length*3<=32768?!1:t.length>32768||NS(t)>hu}function FS(e,t){if(!PS(t))return!1;let n=e.type===zf.Message?`The game message "${e.name}"`:`The "${e.type}" message`;return console.warn(`${n} was not sent: as JSON it is past the room's ${hu} bytes (maximumFrameBytes), which would close the connection. Shorten the text it carries, or split it across messages.`),!0}function IS(e){try{return new WebSocket(e)}catch(t){console.error(`The room's address ${e} cannot be opened: check that it starts with ws:// or wss://, and that the page's content security policy allows it.`,t);return}}var LS={refusal:null,full:null},RS={closed:[{target:`#connection.${j.Closed}`}],rejoin:[{guard:`seatSource`,target:`#connection.${j.Rejoining}`},{target:`#connection.${j.Closed}`}]},zS=(e,t,n)=>({initial:`away`,states:{away:{initial:e,after:{giveUp:RS[t]},on:{OPENED:`open`},states:{dialing:{entry:`dial`,on:{DROPPED:`waiting`}},waiting:{after:{retry:`dialing`},exit:`countTry`}}},open:{after:{ping:{target:`open`,reenter:!0,actions:`ping`}},on:{WELCOME:`#connection.${j.Joined}`,DROPPED:n}}}});function BS(e,t,n){return!e.rejoined&&t.type===`REFUSED`&&t.refusal!==null&&n.has(t.refusal.code)}var VS=ny({types:{context:{},events:{}},actions:{dial:()=>void 0,restartClock:()=>void 0,ping:()=>void 0,hangUp:()=>void 0,abandon:()=>void 0,forgetRejoin:()=>void 0,useSeat:(e,t)=>void 0,countTry:$v(({context:e})=>({tries:e.tries+1}))},actors:{takeSeat:ty(()=>Promise.resolve(null))},guards:{silent:()=>!1,seatSource:()=>!1,seatLost:({context:e,event:t})=>BS(e,t,TS),staleKey:({context:e,event:t})=>BS(e,t,DS),roomFailed:({context:e,event:t})=>BS(e,t,ES)},delays:{retry:({context:e})=>CS(e.tries),ping:1e3,giveUp:6e4}}).createMachine({id:`connection`,initial:j.Connecting,context:{...LS,tries:0,rejoined:!1,closedByPage:!1},on:{CLOSE:{target:`.${j.Closed}`,actions:$v({closedByPage:!0})},REFUSED:{target:`.${j.Closed}`,actions:$v(({event:{refusal:e,full:t}})=>({refusal:e,full:t}))}},states:{[j.Connecting]:{...zS(`dialing`,`closed`,`#connection.${j.Reconnecting}`),on:{REFUSED:{guard:`staleKey`,target:j.Rejoining}}},[j.Joined]:{entry:[`restartClock`,$v({tries:0,rejoined:!1})],initial:`pinging`,states:{pinging:{entry:`ping`,after:{ping:[{guard:`silent`,target:`#connection.${j.Reconnecting}`,actions:`abandon`},{target:`pinging`,reenter:!0}]}}},on:{WELCOME:{target:j.Joined,reenter:!0},DROPPED:j.Reconnecting,REFUSED:{guard:`roomFailed`,target:j.Rejoining}}},[j.Reconnecting]:{...zS(`waiting`,`rejoin`,`#connection.${j.Reconnecting}`),on:{REFUSED:{guard:`seatLost`,target:j.Rejoining}}},[j.Rejoining]:{entry:[`abandon`,`forgetRejoin`,$v({tries:0,rejoined:!0})],after:{giveUp:`#connection.${j.Closed}`},initial:`seating`,states:{seating:{invoke:{src:`takeSeat`,onDone:[{guard:({event:e})=>e.output===null,target:`#connection.${j.Closed}`},{target:`trying`,actions:{type:`useSeat`,params:({event:e})=>e.output}}],onError:`#connection.${j.Closed}`}},trying:zS(`waiting`,`closed`,`#connection.${j.Rejoining}.trying`)}},[j.Closed]:{type:`final`,entry:`hangUp`}}}),HS=Object.values(j);function US({url:e,playerName:t,wire:n,avatar:r,seat:i,voice:a=!0,devices:o=xS,build:s=$f(),reconnectGiveUpSeconds:c=60,onStatus:l,takeSeat:u},d){let f={url:e,seat:i},p,m,h=typeof __GAME_ENGINE_DEV__==`boolean`&&__GAME_ENGINE_DEV__?Hd():void 0,g=(e,t,n)=>{if(E&&me.sendClientText&&me.sendClientText(typeof t==`string`?t:Nf(n)),w.sentBytes+=typeof t==`string`?NS(t):t.length,!h)return e.send(t);h.uplink.hold(()=>{e.readyState===WebSocket.OPEN&&e.send(t)})},_=()=>{m?.close(),m=void 0},v=e=>void import(`./C6Ja5Z7G.js`).then(({openVoice:t})=>{x()||p!==e||(_(),L.getState().enterRoom(f.url),m=t(y,o))}).catch(e=>console.warn(`Voice stopped: its code did not load, as on a page left open across a deploy. Reload the page to get voice back:`,e)),y=e=>{let t=Bf(e,n??Rf.Binary);return FS(e,t)?dd.TooLarge:ee||p?.readyState!==WebSocket.OPEN||S()||e.type===zf.Message&&C()!==j.Joined?dd.NotJoined:(g(p,t,e),null)},b=ey(VS.provide({actions:{dial:()=>oe(),restartClock:()=>Wf(d),ping:()=>{if(p?.readyState!==WebSocket.OPEN||ee)return;let e={type:zf.Ping,sent:performance.now()};g(p,Nf(e),e)},hangUp:()=>{_(),h?.close(),p?.close()},abandon:()=>{_(),ne=sd.Gone;let e=p;p=void 0,e?.close()},forgetRejoin:()=>{T=void 0,AS(f.url,void 0)},useSeat:(e,t)=>{f=t}},actors:{takeSeat:ty(()=>(u?u():Promise.resolve(f)).catch(e=>{throw Mu(e,{boundary:Iu.Room,room:`taking a seat to join ${f.url} again`}),console.error(`The room connection closed: taking a seat to join again failed.`,e),e}))},guards:{silent:()=>performance.now()-ie>=15e3,seatSource:({context:e})=>u!==void 0&&!e.rejoined,staleKey:({context:e,event:t})=>T!==void 0&&BS(e,t,DS)},delays:{giveUp:c*1e3}})),x=()=>b.getSnapshot().status===`done`,S=()=>{let e=b.getSnapshot();return e.matches(j.Reconnecting)||e.matches(j.Rejoining)},C=()=>{let e=b.getSnapshot();return HS.find(t=>e.matches(t))??j.Closed},w={backlog:ug(),receivedBytes:0,sentBytes:0,refusedShotOrigins:0,get status(){return C()},get notice(){let{context:e}=b.getSnapshot();switch(C()){case j.Connecting:return Zg.Connecting;case j.Joined:return null;case j.Reconnecting:return Zg.Reconnecting;case j.Rejoining:return Zg.Rejoining;case j.Closed:return e.closedByPage?null:e.refusal?.code===4013?Zg.Ended:Zg.Failed}},get refusal(){return b.getSnapshot().context.refusal},get full(){return b.getSnapshot().context.full},get buildMismatch(){return te},get lastDrop(){return ne},sendMoves:e=>y(WS(Uh(e),re)),sendEdit:y,sendWalk:y,sendShot:y,sendItem:y,sendMessage:y,sendPress:e=>y(WS(e,re)),leave:()=>{let e=p;if(ee||!b.getSnapshot().matches(j.Joined)||e?.readyState!==WebSocket.OPEN)return w.close(),Promise.resolve(!1);let t={type:zf.Leave};return g(e,Nf(t),t),ee=!0,new Promise(t=>{let n=n=>{clearTimeout(i),e.removeEventListener(`close`,r),n&&(T=void 0,AS(f.url,void 0)),w.close(),t(n)},r=e=>n(e.code===Vf),i=setTimeout(()=>n(!1),1e3);e.addEventListener(`close`,r)})},move:()=>{let e=p;ee=!0,T=void 0,AS(f.url,void 0),e?.readyState===WebSocket.OPEN&&e.close(xf),w.close()},close:()=>{x()||b.send({type:`CLOSE`})}},T=kS(e),ee=!1,te=null,ne=null,re=0,ie=0,ae=(e,t)=>{try{e(t)}catch(e){throw Mu(e,{boundary:Iu.Room,room:`${t.type} from ${f.url}`}),e}},oe=()=>{let e=IS(f.url);if(!e)return b.send({type:`REFUSED`,...LS});p=e,e.binaryType=`arraybuffer`;let i=()=>{if(p!==e)return;b.send({type:`OPENED`});let i={type:zf.Join,protocolVersion:21,name:t,wire:n??Rf.Binary,avatar:r,rejoin:T,build:s,seat:f.seat,baseline:!0,predicted:pn(),presses:!0},a=Nf(i);if(FS(i,a))return b.send({type:`REFUSED`,...LS});g(e,a,i)};e.addEventListener(`open`,e=>ae(i,e));let o=t=>{if(p!==e)return;ie=performance.now();let{data:n}=t,r;if(typeof n==`string`)r=n,w.receivedBytes+=NS(n);else if(n instanceof ArrayBuffer)r=new Uint8Array(n),w.receivedBytes+=n.byteLength;else return;let i;try{i=Of(r)}catch(t){console.error(`A frame from the room that does not read.`,t),e.close();return}let a=[];for(let e of i)if(E&&me.receiveRoomFrame?.(e.frame),c(e.message)&&a.push(e.message),x())return;Eg(w.backlog,a,{hidden:globalThis.document?.visibilityState===`hidden`})},c=t=>{if(t.type===Lf.Ack&&t.level!==void 0&&(re=t.level),t.type===Lf.Pong)return w.refusedShotOrigins=t.refusedShotOrigins??0,Hf(d,t,performance.now()),!1;if(t.type===Lf.Voice)return m?.receive(t),!1;if(t.type===Lf.Welcome){if(t.protocolVersion!==21)return te={room:If(t.protocolVersion),page:If(21)},b.send({type:`REFUSED`,refusal:{code:Mf,reason:JSON.stringify(te)},full:null}),!1;te=s!==void 0&&t.build!==void 0&&t.build!==s?{room:t.build,page:s}:null,T=t.rejoin,re=t.level??0,AS(f.url,T),_(),a&&v(e),b.send({type:`WELCOME`})}return!0},l=t=>{if(p===e&&(_(),!(x()||ee))){if(!wS(t.code))return ne=t.code===1009?sd.MessageTooLarge:sd.Gone,ne===sd.MessageTooLarge&&console.warn(`The room closed the connection on a message too large for it (code ${Af}, a frame past its maximumFrameBytes), not a network drop. Rejoining it; the message is not sent again.`),b.send({type:`DROPPED`});te=t.code===4006?Cf(t.reason)??null:null,b.send({type:`REFUSED`,refusal:{code:t.code,reason:t.reason},full:t.code===4004?Ff(t.reason)??null:null})}};e.addEventListener(`message`,e=>h?h.downlink.hold(()=>ae(o,e)):ae(o,e)),e.addEventListener(`close`,e=>h?h.downlink.hold(()=>ae(l,e)):ae(l,e))},se=C();return b.subscribe(()=>{let e=C();e!==se&&(se=e,l?.(e))}),b.start(),!x()&&a&&o.warm&&setTimeout(o.warm,0),w}function WS(e,t){return t===0?e:{...e,level:t}}function GS(e){return new URLSearchParams(e).get(`page-bot`)??void 0}function KS(e){return typeof e==`object`&&!!e&&typeof e.play==`function`}function qS({module:e,load:t,world:n,readCharacter:r,session:i,input:a,sendMessage:o}){let s=null,c,l=!1,u=!1,d=(e,t={})=>o({name:e,payload:t}),f=()=>{let e=i.roomTick,t=s===null?1:Math.max(e-s,1);return s=e,t*wo},p=()=>{if(!c){u=!0;return}let e=i.player?.isAlive()?i.player:null,t=r()?.isAlive()?r():null;l||!e&&!t||c.play({world:n,player:e,controlled:e?Ai(n,e):[],character:t,input:a,send:d,moveSeconds:f()})};return t(e).then(({bot:t})=>{if(!l){if(!KS(t)){console.warn(`?page-bot: ${e} exports no bot with a play, so the page plays no part of its own: export a SceneBot with play({ world, character, send }) beside the scene.`);return}c=t,u&&p()}},t=>console.warn(`?page-bot: ${e} did not load: ${t instanceof Error?t.message:String(t)}. Fix the module's error, or drop ?page-bot from the address.`)),{play:p,stop(){l=!0}}}var JS=0,YS=$u()((e,t)=>({coins:0,spend:n=>{if(!(n>0))throw Fu(/* @__PURE__ */ Error(`Cannot spend ${n}: not a positive amount`),`SP0370`,`useWallet`);let{coins:r}=t();return r<n?!1:(JS+=n,e({coins:r-n}),!0)}}));function XS(){let e=JS;return JS=0,e}var ZS=Math.floor(us/wo);function QS(e){let t=Math.min(e,Gh()??ZS);return{steps:t,frameSeconds:t*wo,leftoverSeconds:0}}var $S={steps:0,frameSeconds:0,leftoverSeconds:0},eC=new Iv,tC=[];function nC(e,t){return rC??=iC(e,t).finally(()=>{rC=void 0}),rC}var rC;function iC(e,t){let{info:n}=e().gl,r=n.autoReset;n.autoReset=!1;let i=new Float64Array(t),a=0,o=NaN,s={...n.render};return new Promise(c=>{let l=nv(()=>{let d=performance.now();if(Number.isNaN(o)||(i[a++]=d-o),o=d,a<t){n.reset();let t=e();t.internal.frames<2&&t.invalidate(2);return}l(),u(),n.autoReset=r;let{triangles:f,points:p,lines:m}=s,h=of(s),{geometries:g,textures:_}=n.memory;c({render:{calls:h,triangles:f,points:p,lines:m},memory:{geometries:g,textures:_},frame:cc(`frame`,i),frames:t})}),u=tv(()=>{s={...n.render}});e().invalidate()})}var aC=1;function oC({room:e}){try{let t=X(),n=cy(T)?.scenes,r=J(!1),i=J(0),a=J(void 0),{showBoundary:o}=pb();G(()=>(Yd.setState({running:!0}),_C),[]);let s=J({}),l=J(null);G(()=>{if(!e)return;let n=Kh();E&&yf();let i=0,a=(E&&me.openRoom?me.openRoom:US)({...e,onStatus:()=>{l.current===o&&mC(o)},...e.seat!==void 0&&{takeSeat:Lm}},n.clock);a.backlog.holds=e=>t.get(bl)?.get(e)?.isAlive()===!0;let o={connection:a,session:n,connectionText:e.connectionText,countedSeconds:0,totalledCorrections:0,countedMessages:0,countedSteps:0,countedStepMilliseconds:0,countedCorrectionMilliseconds:0};l.current=o,A.setState({status:j.Connecting,notice:Xg(a.notice,e.connectionText),sendEdit:a.sendEdit,leave:a.leave,move:a.move,sendMessage:e=>a.sendMessage({...e,type:zf.Message}),sendShot:e=>{if(n.clock.pongs===0)return null;S(c.Shot);let r=i++,o=Fh(n,performance.now());return a.sendShot({...e,type:zf.Shot,step:o,id:r}),E&&_f(t,u().camera,{id:r,step:o,weapon:e.weapon,origin:e.origin,direction:e.direction}),r},readViewStep:()=>n.clock.pongs===0?null:Fh(n,performance.now())});let s=()=>{if(document.visibilityState!==`hidden`||r.current)return;Tg(a.backlog);let e=n.character?.get(Wo);n.character&&e&&e.corners.length>0&&n.character.set(Wo,{corners:[]}),zh(t,n,e=>a.sendMoves([e])),fC(o)};document.addEventListener(`visibilitychange`,s);let d=Mh(t,n,a.sendWalk),f=E?GS(window.location.search):void 0;return f!==void 0&&(o.pageBot=qS({module:f,load:e=>import(
|
|
296
|
+
/* @vite-ignore */
|
|
297
|
+
e),world:t,readCharacter:()=>n.character,session:n,input:{set:qd},sendMessage:e=>A.getState().sendMessage(e)})),()=>{o.pageBot?.stop(),d(),document.removeEventListener(`visibilitychange`,s),a.close(),l.current=null}},[e,t]);let u=ov(e=>e.get);G(()=>{if(E)return me.attachLoop?.({world:t,readThree:u,readRoom:()=>l.current,leftover:i}),()=>me.attachLoop?.(null)},[t,u]),G(()=>Kd({world:t,readThree:u}),[t,u]),G(()=>Sp(()=>{let{gl:e}=u();return fp(e,up(e)?.composer)}),[u]),G(()=>Ph(u(),t=>{if(!e&&Rd(nf.getState()))return 0;let{paused:n,pendingFrames:r,speed:i}=M.getState();return n?QS(r).frameSeconds:t*i}),[u,e]),G(()=>{let t=`always`,n=()=>{let e=u();e.frameloop===`demand`&&e.invalidate()},r=e=>{let n=u();e!==(n.frameloop===`demand`)&&(e&&(t=n.frameloop),jh(n,e?`demand`:t),n.invalidate())},i,a=({paused:t,editing:a,pendingFrames:o},s)=>{let c=t&&!a&&!e;r(c),c&&i===void 0&&(i=setInterval(n,1e3)),c||(clearInterval(i),i=void 0),(!s||o>=s.pendingFrames)&&n()};a(M.getState());let o=M.subscribe(a),s=_y.subscribe(n);return()=>{o(),s(),clearInterval(i),r(!1)}},[u,e]);let d=()=>{let{gl:e,scene:t,camera:n}=u();return{renderer:e,scene:t,camera:n,stack:up(e)}},f=e=>(u().invalidate(),e);G(()=>tf({world:t,input:s.current,scenes:n},{capture:e=>f(Ng(e,d())),captureInstance:(e,t)=>f(Fg(e,t,d())),captureView:(e,t)=>{let{gl:n,scene:r,size:i}=u();return f(kg(e,{renderer:n,scene:r,...i,stack:up(n),overlays:t?.overlays}))},captureScreen:e=>f(jg({...d(),overlays:e?.overlays})),project:e=>{let{camera:t,size:n}=u();return Mg(e,{camera:t,...n})},projectInstance:(e,t)=>{let{camera:n,size:r}=u();return Lg(e,t,{camera:n,...r})},readBounds:()=>Ig(u().scene),readEntityBounds:e=>{let t=e.get(bu)?.object,n=t&&Ig(t);return n&&!n.isEmpty()?n:void 0},readCamera:()=>u().camera,readStats:e=>nC(u,e),readThree:u,measureSeen:e=>{let{gl:t,scene:n,camera:r}=u();return f(Xx(e,{renderer:t,scene:n,camera:r}))}}),[t,n,u]);let p=M(e=>e.frameTiming),m=P(e=>e.performanceStats===Wv.Detailed),h=p||m;return G(()=>{if(!h)return;let e=Pd(u().gl),t=nv(Cd),n=tv(wd);return()=>{t(),n(),e()}},[h,u]),Ah(D(`Frameloop`,(e,n)=>{if(r.current)return;let c=zd()||xn(t);c!==N.getState().loading&&N.setState({loading:c});let d=l.current,f=Rd(nf.getState());if($e(t),(f||af(t)||xn(t))&&!d){E&&me.beginFrame?.(n,0),gr(t),sl(t,{tick:dl(t)+i.current/wo,wallMilliseconds:0,rate:0});return}let p=M.getState(),{steps:m,frameSeconds:h,leftoverSeconds:g}=p.paused?p.pendingFrames>0?QS(p.pendingFrames):$S:ts(i.current,n*p.speed);E&&me.beginFrame?.(n,h),p.paused&&m>0&&M.setState({pendingFrames:p.pendingFrames-m}),i.current=g;try{let e=s.current,r=p.freeCamera||p.mapCamera,i=f||r,o=il(t);vd(o,e,i),sC(t,o,e);let c=XS(),l=a.current;c>0&&l&&!t.has(bl)&&Pe(t)===l&&!Ti($r(t),l,c)&&el(t,`useWallet().spend took ${c} coins the wallet no longer holds, so the wallet kept its coins: a system spent them first. Spend in a system with spendCoins(step, character, amount), which answers false before anything is handed over.`),d&&(pC(t,d),d.session.character&&Og(d.session.character,d.connection.sendItem),d.session.snapshotSeconds+=n),Hc(t,u().camera);let _=d?performance.now():0,v=me.readRoomFrame?.(),y=v?.now??performance.now(),b=d&&!p.paused?Bh(d.session,v?.seconds??n,y):null;jd(xd.Other);let x=t=>{Zd(o,e,t),i&&e.changes&&(e.changes.length=0)},S=n=>{x(n.session.tick);let r=Hh(t,n.session,e);fC(n),r&&tC.push(r)},C=m;if(d&&b){C=b.after,Wh(d.session,b.skipped);for(let e=0;e<b.after;e++)S(d)}else for(let n=0;n<m;n++){if(!d){x(dl(t)),ki(t,{deltaSeconds:wo,input:e});continue}S(d)}C>0&&Sd(f&&!r),d&&Vh(tC)&&d.connection.sendMoves(tC),tC.length=0,d?.session.pace&&!b&&lg(d.session.pace,d.session.tick),jd(xd.Step),d&&(d.countedSteps+=C,d.countedStepMilliseconds+=performance.now()-_,hC(t,d,n));let w=d?.session.pace;sl(t,{tick:w?.tick??dl(t)+g/.016666666666666666,wallMilliseconds:v?performance.now():y,rate:p.paused?0:w&&d?d.session.clock.rate*w.pace:p.speed}),a.current=cC(t),dC(t),C>0&&(gC(C),Ld(Yd.getState())),jd(xd.Other),vr(t,h),jd(xd.PoseAndAnimation);let T=d?.session.pace;$o(t,p.paused?1:T?T.tick-Math.floor(T.tick):g/wo),cg(t,{input:e,frameSeconds:h}),d&&Ys(t,Ih(d.session)),jd(xd.TransformsAndCamera),Xd(t),jd(xd.Other),zg(t,h),jd(xd.PoseAndAnimation),gr(t),Yu(t,h),Ku(t,{deltaSeconds:h,scale:ep(P.getState())}),jd(xd.TransformsAndCamera),Dd(),E&&me.endFrame?.()}catch(e){r.current=!0,Yd.setState({running:!1}),Mu(e,{boundary:Iu.Frame,frame:`Frameloop`,tick:dl(t)}),o(e)}})),null}catch(e){throw O(`Frameloop`,e)}}function sC(e,t,n){if(!t.places.has(we.heading.name))return;let r=ys(t,n,we.move);eC.set(r.x,r.y);let i=qm(e);Ci(t,n,we.heading,Hu(e,eC)),Ci(t,n,we.strafe,i),Ci(t,n,we.pitch,i?Jm(e):0)}function cC(e){let t=Pe(e);if(!t)return;let n=t.get(Ko)?.coins??0;return n!==YS.getState().coins&&YS.setState({coins:n}),t}var lC=[],uC={};function dC(e){let t=jt(e);if(!t)return;let n=t.get(Qt)??lC,r=t.get(bs)??uC,i=hm.getState();(n!==i.slots||r!==i.equipment)&&hm.setState({slots:n,equipment:r})}function fC({session:e,connection:t}){for(let n of e.sentPresses.splice(0))t.sendPress(n)}function pC(e,t){let{connection:n,session:r}=t,{backlog:i}=n,a=document.visibilityState!==`hidden`,o=a&&(i.welcome!==null||i.delta!==null),s=a&&!Dg(i);if(s){let n=r.corrections,a=performance.now();Lh(e,i,r),r.corrections>n&&(t.countedCorrectionMilliseconds+=performance.now()-a);for(let e of i.refusals)A.setState({refusedShot:e}),E&&mf(e.shot,e.rule,e.reason);t.countedMessages+=+!!i.welcome+(i.delta?.sends??0),mg(i)}if(o&&t.pageBot?.play(),mC(t),!s)return;let c=Nh(e);c!==A.getState().players&&A.setState({players:c})}function mC({connection:e,session:t,connectionText:n}){let{status:r,refusal:i,full:a,buildMismatch:o,lastDrop:s}=e,c=r===j.Joined&&t.edits,l=A.getState(),u=Xg(e.notice,n,i?.code===4013?i.reason:void 0);(u?.kind!==l.notice?.kind||u?.text!==l.notice?.text||r!==l.status||t.characterId!==l.characterId||c!==l.edits||i!==l.refusal||a!==l.full||o!==l.buildMismatch||s!==l.lastDrop)&&A.setState({status:r,characterId:t.characterId,edits:c,refusal:i,full:a,buildMismatch:o,lastDrop:s,notice:u})}function hC(e,t,n){let{session:r}=t;if(r.corrections>t.totalledCorrections&&(A.setState({correctionsTotal:A.getState().correctionsTotal+r.corrections-t.totalledCorrections}),t.totalledCorrections=r.corrections),t.totalledCorrections=Math.min(t.totalledCorrections,r.corrections),t.countedSeconds+=n,t.countedSeconds<aC)return;let i=t.countedSeconds,{clock:a}=r;A.setState({snapshotsPerSecond:t.countedMessages/i,bytesPerSecond:t.connection.receivedBytes/i,sentBytesPerSecond:t.connection.sentBytes/i,leadTicks:r.pace&&a.pongs>0?r.pace.tick-Uf(a,performance.now()):null,stepMilliseconds:t.countedSteps>0?t.countedStepMilliseconds/t.countedSteps:0,corrections:r.corrections,correctionMetres:r.correctionMetres,correctionFields:r.correctionFields.splice(0),correctionWarning:Rh(e,r),replayedSteps:r.replayedSteps,takenSweeps:r.takenSweeps,tiedSweeps:r.tiedSweeps,correctionMilliseconds:t.countedCorrectionMilliseconds,rerunMilliseconds:r.rerunMilliseconds,predictionChecks:e.get(Bo)?.checks?.readFindings()??[],roundTripMilliseconds:a.roundTripMilliseconds,jitterMilliseconds:a.jitterMilliseconds,roomStepMilliseconds:a.roomStepMilliseconds,interpolationMilliseconds:a.interpolationSeconds*1e3,sendRate:r.sendRate,refusedShotOrigins:t.connection.refusedShotOrigins}),r.corrections=0,t.totalledCorrections=0,r.correctionMetres=0,r.correctionChecks=0,r.replayedSteps=0,r.rerunMilliseconds=0,r.takenSweeps=0,r.tiedSweeps=0,t.connection.receivedBytes=0,t.connection.sentBytes=0,t.countedSeconds=0,t.countedMessages=0,t.countedSteps=0,t.countedStepMilliseconds=0,t.countedCorrectionMilliseconds=0}function gC(e){let t=Yd.getState().steps+e;Yd.setState({steps:t,seconds:t*wo})}function _C(){XS(),Jf(new Iv),YS.setState(YS.getInitialState(),!0),hm.setState(hm.getInitialState(),!0),Yd.setState(Yd.getInitialState(),!0),N.setState({loading:!0}),A.setState(A.getInitialState(),!0),fd.setState(fd.getInitialState(),!0),M.getState().setEditing(!1);let{tree:e,frameTiming:t}=M.getState();M.setState({...M.getInitialState(),tree:e,frameTiming:t},!0)}oC.displayName=`Frameloop`;var vC=`local`;function yC({world:e}){try{return G(()=>{let{id:t,name:n}=Hm.getState().player,r=sr(e,{account:t??vC,name:n??``,seat:st(e),role:Jo.Player,avatar:``});return uo(e,r,{returning:!1,rethrow:!0}),()=>{kn(e,r,ga.RoomClosing,e=>{throw e.error})}},[e]),null}catch(e){throw O(`LocalPlayer`,e)}}yC.displayName=`LocalPlayer`;function bC({body:e,next:t}){let n;return{destination:m_.Platform,load:async()=>({record:e===null?null:await e_(e),next:t}),hand:({number:e,body:t,versions:r,cloud:i})=>{!Im({type:Uv.Save,record:{number:e,body:t,versions:r},cloud:i})&&i&&n?.failed(e)},loadFailed:({key:e,owner:t,reason:n,pastLimit:r})=>void Im({type:Uv.SaveLoadFailed,key:e,owner:t,reason:n,...r&&{pastLimit:!0}}),connect:e=>{n=e;let t=Vm({stored:t=>e.stored(t),failed:t=>e.failed(t),saveNow:()=>void e.saveNow().catch(()=>null).then(e=>{e||Im({type:Uv.Save,record:null,cloud:!0})})});return()=>{t(),n===e&&(n=void 0)}}}}var xC=`browser`;function SC(){return{cleared:document.querySelector(`meta[name="spawnite-saves-cleared"]`)?.getAttribute(`content`)??``,takeStart:()=>{try{let e=sessionStorage.getItem(n_);return sessionStorage.removeItem(n_),e}catch{return null}}}}function CC({framed:e,appVersion:t,initialized:n,save:r,unanswered:i}){if(!e)return xC;if(t===null)return i?xC:void 0;if(n)return r}function wC(e,t){return t===xC?p_(()=>localStorage,e,E?SC():void 0):t===null?s_:bC(t)}function TC(e){let t=CC(Hm.getState());return t===void 0?new Promise(t=>{let n=Hm.subscribe(r=>{let i=CC(r);i!==void 0&&(n(),t(wC(e,i)))})}):wC(e,t)}function EC(){return typeof __GAME_ENGINE_MANIFEST__>`u`?void 0:Qv(__GAME_ENGINE_MANIFEST__)}var DC=class extends Error{refused;constructor(e){super(e.message),this.name=`SaveLoadError`,this.refused=e}};function OC(e){let t=EC(),n=[a_(t),...$g(e,t!==void 0&&t!==`none`)].filter(e=>e!==void 0);if(n.length>0)throw Error(n.join(` `))}var kC=(e,t)=>e===`warn`?console.warn(t):console.error(t),AC=/* @__PURE__ */ new WeakMap,jC=null,MC={ok:!0,record:{},states:/* @__PURE__ */ new Map};function NC(e){e.pageSave?.close(),AC.get(e.world)===e&&AC.delete(e.world),jC===e&&(jC=null)}function PC(e,{name:t,room:n}){let r=AC.get(e);if(r)return r;jC&&NC(jC);let i=e.has(_l),a={world:e,pageSave:null,load:MC,stop:()=>void 0},o=rg(e);return o&&l_()?(i&&console.warn(`A second <Game> mounted on the page while another saves: "${t}" saves nothing, and its persisted stores stay the first Game's.`),a.load=o.load(null)):o&&(a.pageSave=f_({name:t,session:o,host:n||x()||b()?s_:TC(t),report:i?kC:()=>void 0,onRefused:e=>a.stop(e),page:document}),a.load=a.pageSave.loaded),AC.set(e,a),jC=a,a}var FC=e=>!(e instanceof Promise)&&e.ok;function IC({name:e,world:t,save:n,room:r,children:i}){try{let{showBoundary:a}=pb(),[o,s]=Y(()=>PC(t,{name:e,room:r})),[c,l]=Y(()=>FC(o.load)),u=J({name:e,save:n,room:r,showBoundary:a});return K(()=>{u.current={name:e,save:n,room:r,showBoundary:a}}),K(()=>{let e=AC.get(t)??PC(t,u.current);if(jC===e&&(jC=null),t.has(_l))try{OC(u.current.save)}catch(t){throw NC(e),t}s(e);let n=!0;e.stop=e=>{n&&u.current.showBoundary(new DC(e))};let r=e.pageSave?ig(t,e.pageSave.refuse):()=>void 0,i=t=>{t.ok?n&&l(!0):e.stop(t)},{load:a}=e;return a instanceof Promise?a.then(i,e=>{n&&u.current.showBoundary(e)}):i(a),()=>{n=!1,r(),NC(e),l(!1)}},[t]),/* @__PURE__ */ Q(d_,{value:o.pageSave?.status??null,children:[c&&!r&&/* @__PURE__ */ Z(yC,{world:t}),c?i:null]})}catch(e){throw O(`GameSave`,e)}}IC.displayName=`GameSave`;function LC(){let e=zC();if(!e)throw Fu(/* @__PURE__ */ Error(`useLevels found no levels: pass defineLevels(...) to Game's levels`),`SP0009`,`useLevels`);return e}function RC(){let e=zC();if(!e)return null;let{levels:t,current:n}=e;return{number:t.findIndex(e=>e.id===n)+1,count:t.length}}function zC(){let e=X(),{scenes:t}=se(`useLevels`),n=Sy(Bs)??null,r=Cy(n,Bs),i=q(()=>r?$n(e):[],[r,e]),a=ly(n=>Sa(e,n)?(t.getState().reload(),!0):!1,[e,t]);return r?{levels:i,current:r.current,next:be(e),play:a}:null}var BC=`${Kv.Engine}.${Hv.Levels}`;function VC(){try{let e=X(),t=rg(e)?.owners.some(({key:e})=>e===BC)??!1,n=Sy(Bs)??null,r=Cy(n,Bs)?.finished,i=J(r);return G(()=>{t&&r!==i.current&&(i.current=r,c_())},[t,r]),null}catch(e){throw O(`LevelProgress`,e)}}VC.displayName=`LevelProgress`;function HC(e){let{framed:t,appVersion:n,initialized:r,player:i,seat:a}=Hm(),[o,s]=Y(!1);G(()=>{if(!t||n!==null)return;let e=setTimeout(()=>s(!0),2e3);return()=>clearTimeout(e)},[t,n]);let c=q(()=>e&&a&&{...e,url:a.room,seat:a.ticket,playerName:i.name??e.playerName},[e,a,i.name]);return r?c??e:t&&(n!==null||!o)?void 0:e}var UC=/* @__PURE__ */ function(e){return e.Page=`page`,e.Assets=`assets`,e.Room=`room`,e.World=`world`,e.Shaders=`shaders`,e}({}),WC={page:`Loading the game`,assets:`Loading models and textures`,room:`Joining the game`,world:`Building the world`,shaders:`Preparing shaders`},GC={page:400,assets:5400,room:400,world:100,shaders:1900},KC=50,qC=.95,JC=.8;function YC({stages:e,expected:t,pageMilliseconds:n}){let r=e.map(e=>Math.max(KC,e===`page`?n:t[e])),i=r.reduce((e,t)=>e+t,0),a=0;return e.map((e,t)=>{let n=a/i;return a+=r[t],{stage:e,from:n,to:a/i,milliseconds:r[t]}})}function XC({plan:e,passedAt:t,shares:n,now:r}){let i=e.findIndex(({stage:e})=>t[e]===void 0);if(i===-1)return{value:1,stage:null};let{stage:a,from:o,to:s,milliseconds:c}=e[i],l=i===0?0:t[e[i-1].stage],u=n[a],d=u===void 0?ZC(Math.max(0,r-(l??r)),c):Math.min(Math.max(u,0),qC);return{value:o+(s-o)*d,stage:a}}function ZC(e,t){let n=e/t;if(n<=JC)return n;let r=(e-JC*t)/t;return JC+.1499999999999999*(1-Math.exp(-r))}function QC(){return`spawnite-loading:${globalThis.location?.pathname??`/`}`}function $C(){try{let e=JSON.parse(globalThis.localStorage?.getItem(QC())??`null`);if(typeof e!=`object`||!e)return;let t=Object.values(UC).map(t=>[t,Reflect.get(e,t)]);return t.some(([,e])=>typeof e!=`number`||!Number.isFinite(e))?void 0:Object.fromEntries(t)}catch{return}}function ew(e){try{globalThis.localStorage?.setItem(QC(),JSON.stringify(e))}catch{}}var tw=/* @__PURE__ */ function(e){return e.Stall=`stall`,e.Failure=`failure`,e}({}),nw=7;function rw({value:e,label:t,problem:n,retry:r,title:i,line:a,tips:o,art:s}){try{let c=n?.kind===`failure`,l=e===null?null:Math.floor(e*100),u={"--loading-progress":e??0};return/* @__PURE__ */ Z(sb,{features:lb,children:/* @__PURE__ */ Q(ub.div,{className:B.root,style:u,role:e===null?`alert`:`progressbar`,"aria-label":e===null?void 0:`Loading`,"aria-valuemin":e===null?void 0:0,"aria-valuemax":e===null?void 0:100,"aria-valuenow":l??void 0,"aria-valuetext":e===null?void 0:`${t}, ${l}%`,initial:!1,exit:{opacity:0,transition:{duration:.5,ease:`easeOut`}},children:[s&&/* @__PURE__ */ Q(nb,{children:[/* @__PURE__ */ Z(aw,{src:s}),/* @__PURE__ */ Z(`div`,{className:`absolute inset-0 bg-linear-to-t from-loading-background from-20% via-loading-background/60 via-50% to-transparent`})]}),/* @__PURE__ */ Q(`div`,{className:B.foot,children:[i&&/* @__PURE__ */ Z(`h1`,{className:`font-display text-[clamp(2.75rem,8vw,6rem)] leading-[0.92] font-bold tracking-tight text-balance`,children:i}),a&&/* @__PURE__ */ Z(`p`,{className:`mt-3 max-w-[42ch] text-[clamp(1rem,1.6vw,1.25rem)] text-loading-text/75`,children:a}),n?/* @__PURE__ */ Q(`div`,{className:B.problem,role:`status`,children:[/* @__PURE__ */ Z(`p`,{className:B.problemTitle,children:n.title}),/* @__PURE__ */ Z(`p`,{className:B.problemDetail,children:n.detail}),/* @__PURE__ */ Z(`button`,{type:`button`,onClick:r??iw,className:B.retry,children:`Reload`})]}):o&&o.length>0&&/* @__PURE__ */ Z(ow,{tips:o}),l!==null&&/* @__PURE__ */ Q(`div`,{className:B.meter,children:[/* @__PURE__ */ Z(`span`,{className:B.percent,"aria-hidden":!0,children:`${l}%`}),/* @__PURE__ */ Z(`div`,{className:B.track,children:/* @__PURE__ */ Z(`div`,{className:`${B.fill}${c?` opacity-40`:``}`})})]}),/* @__PURE__ */ Q(`div`,{className:B.under,children:[/* @__PURE__ */ Z(`span`,{className:B.stage,children:t}),/* @__PURE__ */ Z(Vy,{className:B.notice})]})]})]})})}catch(e){throw O(`LoadingScreen`,e)}}function iw(){window.location.reload()}function aw({src:e}){try{let[t,n]=Y(!1);return/* @__PURE__ */ Z(`img`,{src:e,alt:``,onLoad:()=>n(!0),className:`absolute inset-0 size-full object-cover transition-opacity duration-700 motion-reduce:transition-none ${t?`opacity-100`:`opacity-0`}`})}catch(e){throw O(`Art`,e)}}function ow({tips:e}){try{let[t,n]=Y(0),r=db();G(()=>{if(e.length<2)return;let t=setInterval(()=>n(t=>(t+1)%e.length),nw*1e3);return()=>clearInterval(t)},[e.length]);let i=e[t%e.length];return/* @__PURE__ */ Z(`div`,{className:`mt-8 grid max-w-[60ch] text-sm text-loading-label`,children:/* @__PURE__ */ Z(ob,{mode:`popLayout`,initial:!1,children:/* @__PURE__ */ Z(ub.p,{className:`col-start-1 row-start-1`,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:r?0:.6},children:i},t)})})}catch(e){throw O(`Tips`,e)}}rw.displayName=`LoadingScreen`,aw.displayName=`Art`,ow.displayName=`Tips`;function sw({screen:e}){try{let[t,n]=Y(!1);return G(()=>(N.setState({covered:!t}),()=>N.setState({covered:!1})),[t]),G(()=>t?void 0:hp(),[t]),G(()=>()=>N.setState({settled:!1,ready:!1}),[]),/* @__PURE__ */ Z(ob,{onExitComplete:()=>S(c.Lift),children:!t&&/* @__PURE__ */ Z(`div`,{"data-loading-cover":!0,className:`contents`,children:/* @__PURE__ */ Z(dw,{screen:e,onReady:()=>n(!0)})},`screen`)})}catch(e){throw O(`LoadingCover`,e)}}var cw=2,lw=Object.values(UC).filter(e=>e!==UC.Room),uw=Object.values(UC);function dw({screen:e,onReady:t}){try{let[n]=Y(()=>performance.now()),r=X().has(bl),i=X().has(_l),[a]=Y(()=>YC({stages:r?uw:lw,expected:$C()??GC,pageMilliseconds:n})),o=ww(),s=mw(o),c=a.every(({stage:e})=>e===UC.Shaders||s[e]);G(()=>{N.setState({settled:c})},[c]);let l=_w(c),u=c&&(s[UC.Shaders]||l),d=hw(a,{...s,[UC.Shaders]:u}),[f,p]=Y(()=>XC({plan:a,passedAt:d,shares:gw(o),now:n}).value),m=uy((e=0)=>{let t=XC({plan:a,passedAt:d,shares:gw(o),now:performance.now()}).value;p(n=>Math.max(n,e,t))});K(()=>{let e=r_();e!==null&&m(e)},[]),G(()=>m(),[d,o]),G(()=>{let e=requestAnimationFrame(function t(){m(),e=requestAnimationFrame(t)});return()=>cancelAnimationFrame(e)},[]);let h=f>=1;G(()=>{h&&(Cw(a,d),t())},[h,a,d,t]);let g=a.find(e=>d[e.stage]===void 0)?.stage??UC.Shaders,_=WC[g],v=vw(d,o),y=bw(r)??(v?xw(_,i?Sw():[]):null);return fw(e)?/* @__PURE__ */ Z(rw,{...e,value:f,label:_,problem:y,retry:pw}):/* @__PURE__ */ Q(nb,{children:[/* @__PURE__ */ Z(e,{value:f,stage:g,label:_,problem:y,retry:pw}),/* @__PURE__ */ Z(Vy,{className:`pointer-events-none fixed inset-x-0 bottom-6 z-[60] text-center`})]})}catch(e){throw O(`LoadingSteps`,e)}}function fw(e){return typeof e==`object`&&!(`$$typeof`in e)}function pw(){window.location.reload()}function mw(e){let t=N(e=>e.mountedScene),n=N(e=>e.loading),r=N(e=>e.ready),i=Nd(e=>e.runsFrames),a=re(),o=xy(li,al,zi,Bv(bu)).length+xy(ro,Bv(bu)).length,s=xy(li,al,zi).length,c=(Cy(X(),Tl)?.count??0)>0;return{[UC.Page]:!0,[UC.Assets]:e===cw&&t!==null&&(!n||!i),[UC.Room]:s>0||c||!i,[UC.World]:t!==null&&(o===0||a),[UC.Shaders]:r||!i}}function hw(e,t){let[n,r]=Y(()=>({[UC.Page]:performance.now()})),i=n;for(let{stage:n}of e)if(i[n]===void 0){if(!t[n])break;i={...i,[n]:performance.now()}}i!==n&&r(i);let a=J(/* @__PURE__ */ new Set);return G(()=>{for(let{stage:t}of e){let e=n[t];e===void 0||a.current.has(t)||(a.current.add(t),S(c.Stage,t,e))}},[e,n]),i}function gw(e){let{loaded:t,total:n}=_y.getState();return{[UC.Assets]:(e+t)/(cw+n)}}function _w(e){let[t,n]=Y(!1);return G(()=>{if(!e)return;let t=setTimeout(()=>{console.warn(`The shader compile timed out after 10 s; the loading screen lifts without it, and the first frames may stall. Cut the materials and lights the first scene draws, or bring the rest in with a later scene.`),n(!0)},1e4);return()=>clearTimeout(t)},[e]),t}function vw(e,t){let[n,r]=Y(!1);return G(()=>{r(!1);let e=_y.getState().loaded,t=0,n=setInterval(()=>{let n=_y.getState().loaded;t=n===e?t+1:0,e=n,r(t>=20)},1e3);return()=>clearInterval(n)},[e,t]),n}function yw({full:e,buildMismatch:t,refusal:n,notice:r}){return n?.code===4007?n.reason:n?.code===4009?`We couldn't load your progress. Try again in a moment.`:n?.code===4010?`A newer version of the game saved your progress. Join again to play on it.`:t?`The room runs another build of the game (room ${t.room}, this page ${t.page}).`:e?`This game is full: ${e.players} of ${e.maxPlayers} players.`:n?.code===4013?n.reason||(r?.kind===Zg.Ended?r.text:Yg[Zg.Ended]):`Check your connection and try again.`}function bw(e){let t=xy(li,al).length,n=Yd(e=>e.running),r=Hm(Pm),i=A(e=>e.status===j.Closed),a=A(e=>e.full),o=A(e=>e.buildMismatch),s=A(e=>e.refusal),c=A(e=>e.notice);return!e||t>0||!n||r||!i?null:{kind:tw.Failure,title:`Couldn't join the game`,detail:yw({full:a,buildMismatch:o,refusal:s,notice:c})}}function xw(e,t){let n=`Still ${e.charAt(0).toLowerCase()}${e.slice(1)}.`;return{kind:tw.Stall,title:`This is taking longer than usual`,detail:t.length===0?n:`${n} Waiting on ${t.join(`, `)}.`}}function Sw(){return rf().slice(0,3).map(({name:e})=>e.split(/[?#]/)[0].split(`/`).pop()||e)}function Cw(e,t){let n={...$C()??GC},r=0;for(let{stage:i}of e){let e=t[i];if(e===void 0)return;n[i]=e-r,r=e}ew(n)}function ww(){let[e,t]=Y(0);return G(()=>{let e=!0,n=()=>{e&&t(e=>e+1)};for(let e of[Jt(),Ic()])e.then(n,n);return()=>{e=!1}},[]),e}sw.displayName=`LoadingCover`,dw.displayName=`LoadingSteps`;function Tw(){return typeof matchMedia==`function`?matchMedia(`(pointer: coarse)`):null}function Ew(){let[e,t]=Y(()=>Tw()?.matches===!0);return G(()=>{let e=Tw();if(!e)return;let n=()=>t(e.matches);return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}var Dw=$(ym,`pointer-events-auto grid size-[44px] cursor-pointer place-items-center rounded-xl text-white/90 transition motion-reduce:transition-none`,tb.controlFocusRing),Ow=`relative z-10 w-max flex-row flex-wrap items-start`,kw={maxWidth:`calc(100vw - 2rem - ${I.left} - ${I.right})`},Aw=vy()(()=>({}));function jw(e){if(e)return Aw.setState({element:e}),()=>{Aw.getState().element===e&&Aw.setState({element:void 0})}}function Mw(e,t){let n=parseFloat(getComputedStyle(e).rowGap)||0,r=0;for(let i of e.children){let e=getComputedStyle(i);e.display===`none`||Number(e.order)>=t||(r+=i.getBoundingClientRect().height+n)}return r}function Nw({menuButton:e=!1,microphoneButton:t=!0}){try{let n=L(e=>e.open||e.unavailable)&&t,r=Ew();if(!e&&!n)return null;let i=/* @__PURE__ */ Z(`div`,{ref:jw,"data-corner-place":!0,className:`contents`});return/* @__PURE__ */ Z(Sm,{slot:F.TopLeft,variant:wm.Bare,order:-1,className:Ow,style:kw,children:r?/* @__PURE__ */ Q(nb,{children:[/* @__PURE__ */ Q(`div`,{className:`flex basis-full flex-row gap-2`,children:[e&&/* @__PURE__ */ Z(Fw,{}),n&&/* @__PURE__ */ Z(Iw,{})]}),i]}):/* @__PURE__ */ Q(nb,{children:[e&&/* @__PURE__ */ Z(Fw,{}),n&&/* @__PURE__ */ Z(Iw,{}),i]})})}catch(e){throw O(`CornerButtons`,e)}}function Pw(){try{let e=L(e=>e.open||e.unavailable),t=Ew(),[n,r]=Y(0);return K(()=>{let e=document.querySelector(`[data-slot="${F.TopLeft}"]`);if(!(e instanceof HTMLElement))return;let t=()=>r(Mw(e,-1));t();let n=new MutationObserver(t);return n.observe(e,{childList:!0}),()=>n.disconnect()},[]),e?/* @__PURE__ */ Q(`div`,{className:`fixed flex gap-2`,style:{top:`calc(1rem + ${I.top} + ${n}px)`,left:`calc(1rem + ${I.left})`},children:[t&&/* @__PURE__ */ Z(`span`,{"data-menu-button-place":!0,className:`size-[44px]`}),/* @__PURE__ */ Z(Iw,{})]}):null}catch(e){throw O(`MenuMicrophoneButton`,e)}}function Fw(){try{return/* @__PURE__ */ Z(`button`,{type:`button`,"aria-label":`Menu`,onClick:()=>fd.getState().openMenu(),className:$(Dw,`active:scale-95`),children:/* @__PURE__ */ Z(Ry,{name:`menu`,className:`size-[20px]`})})}catch(e){throw O(`MenuTouchButton`,e)}}function Iw(){try{let e=jm(e=>e.muted),t=L(e=>e.talking),n=L(e=>e.pushing),r=L(e=>e.inputDecibels),i=P(e=>e.voiceMode===qv.PushToTalk),a=Ew()&&i&&!e,o=e?`muted`:a&&n?`holding`:t?`sending`:`silent`,s=rp.voiceSensitivity,c=t?(yv.clamp(r,s.min,s.max)-s.min)/(s.max-s.min):0,l=$(Dw,(o===`sending`||o===`holding`)&&`border-voice-speaking/70`,o===`holding`&&`scale-95`),u=/* @__PURE__ */ Z(Rw,{level:c,muted:e});if(a){let e=e=>{e.currentTarget.setPointerCapture?.(e.pointerId),L.setState({pushing:!0})},t=()=>L.setState({pushing:!1});return/* @__PURE__ */ Z(`button`,{type:`button`,"aria-label":`Hold to talk`,"data-voice-state":o,"data-also-in-menu":!0,onPointerDown:e,onPointerUp:t,onPointerCancel:t,onLostPointerCapture:t,onContextMenu:e=>e.preventDefault(),className:$(l,`touch-none select-none [-webkit-touch-callout:none]`),children:u})}return/* @__PURE__ */ Z(`button`,{type:`button`,"aria-label":`Mute microphone`,"aria-pressed":e,"data-voice-state":o,"data-also-in-menu":!0,onClick:()=>jm.setState({muted:!e}),className:$(l,`active:scale-95`),children:u})}catch(e){throw O(`MicrophoneButton`,e)}}var Lw={x:9,y:3,width:6,height:11};function Rw({level:e,muted:t}){try{let n=dy(),r=Lw.height*e;return/* @__PURE__ */ Q(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,fill:`none`,strokeWidth:`1.75`,strokeLinecap:`round`,strokeLinejoin:`round`,className:$(`size-[24px]`,t&&`text-menu-muted`),children:[/* @__PURE__ */ Z(`clipPath`,{id:n,children:/* @__PURE__ */ Z(`rect`,{...Lw,rx:`3`})}),/* @__PURE__ */ Z(`rect`,{"data-voice-level":!0,x:Lw.x,y:Lw.y+Lw.height-r,width:Lw.width,height:r,clipPath:`url(#${n})`,className:`fill-voice-speaking transition-[height,y] duration-75 motion-reduce:transition-none`}),/* @__PURE__ */ Z(`rect`,{...Lw,rx:`3`,stroke:`currentColor`}),/* @__PURE__ */ Z(`path`,{d:`M5.5 11a6.5 6.5 0 0 0 13 0M12 17.5V21`,stroke:`currentColor`}),t&&/* @__PURE__ */ Q(`g`,{"data-voice-slash":!0,children:[/* @__PURE__ */ Z(`path`,{d:`M4 4l16 16`,strokeWidth:`4.5`,className:`stroke-menu-surface`}),/* @__PURE__ */ Z(`path`,{d:`M4 4l16 16`,strokeWidth:`2.25`,className:`stroke-voice-muted`})]})]})}catch(e){throw O(`MicrophoneGlyph`,e)}}Nw.displayName=`CornerButtons`,Pw.displayName=`MenuMicrophoneButton`,Fw.displayName=`MenuTouchButton`,Iw.displayName=`MicrophoneButton`,Rw.displayName=`MicrophoneGlyph`;var zw=[1,.85,.7,.5],Bw=`Custom`,Vw={[U.Shadows]:{label:`Shadows`,description:`The sun's shadows and how sharp their edges are. Off casts none.`,cost:{gpu:R.High}},[U.PostProcessing]:{label:`Post-processing`,description:`The game's look: its colour grade, darker corners and the glow round bright things.`,cost:{gpu:R.Medium}},[U.AmbientOcclusion]:{label:`Ambient occlusion`,description:`Soft shading where surfaces meet, under a tree or at the foot of a wall.`,cost:{gpu:R.High}},[U.AntiAliasing]:{label:`Anti-aliasing`,description:`Smooths jagged edges. A screen as sharp as a phone's or a Retina display needs none, and draws none.`,cost:{gpu:R.Medium}},[U.Foliage]:{label:`Foliage`,description:`How much grass, how many bushes and tufts, and how far from you each still draws.`,cost:{gpu:R.Medium,cpu:R.Low}},[U.Terrain]:{label:`Terrain detail`,description:`Varies the ground's textures and blends where one ground meets another.`,cost:{gpu:R.Low}}},Hw={quality:`Lower presets draw fewer pixels, shadows and effects, so a slower device keeps up. Automatic picks a preset for this device once and keeps it. Changing one of the rows below makes it Custom.`,renderScale:`How sharp the world is drawn. Lower looks softer and runs at a higher frame rate. Menus and the HUD stay sharp.`,dynamicResolution:`Softens the world for a moment when the frame rate drops, and sharpens it again once it recovers, to keep the game smooth. Menus and the HUD stay sharp. On by default on a phone or tablet.`},Uw=[U.AntiAliasing,U.Shadows,U.AmbientOcclusion,U.Foliage,U.Terrain,U.PostProcessing];function Ww({store:e,group:t,offered:n}){try{let r=W(e,e=>e.levels),i=W(e,e=>u(e,t)),a=_(r,t,n),o=a.length>1?a:_(r,t),{label:s,description:c,cost:l}=Vw[t],d=o.find(e=>e.levels.includes(i)),f=n=>{let r=ae(e.getState());e.getState().setGroupLevel(t,n.levels.includes(r)?void 0:n.level)};return o.length===2&&o[0].name===`Off`&&t!==U.AntiAliasing?/* @__PURE__ */ Z(_g,{label:s,description:c,cost:l,value:d===o[1],onChange:e=>f(e?o[1]:o[0])}):/* @__PURE__ */ Z(vg,{label:s,description:c,cost:l,options:o.map(e=>e.name),value:d?.name??``,onChange:e=>{let t=o.find(t=>t.name===e);t&&f(t)}})}catch(e){throw O(`GroupRow`,e)}}function Gw(t,n){let r=t??n,i=W(r,e=>e.level),a=W(r,e),s=W(r,e=>e.automatic),c=W(r,e=>e.renderScale??1),l=W(r,ie),u=W(r,e=>e.dynamicScale),d=W(r,e=>e.levels),m=W(r,e=>v(p(e).pixelRatio,e.renderScale??1)),h=Sy(ro)!==void 0,g=Sy(kd)!==void 0,b=Wp(),x=W(r,e=>e.groups);if(t===null)return[];let S=[Gv.Auto,...o],C=S.map(e=>y[e]),w=e=>`${Math.round(e*100)}%`,T={[U.Shadows]:h,[U.PostProcessing]:x[U.PostProcessing]!==void 0||_(d,U.PostProcessing,b).length>1,[U.AmbientOcclusion]:x[U.AmbientOcclusion]!==void 0||_(d,U.AmbientOcclusion,b).length>1,[U.AntiAliasing]:g&&!m,[U.Foliage]:h,[U.Terrain]:h};return[{key:`quality`,element:/* @__PURE__ */ Z(vg,{label:`Quality preset`,description:Hw.quality,cost:{gpu:R.High},note:i===Gv.Auto&&s&&!a?`Automatic chose ${y[s.level]} for ${f[s.deviceClass]}`:void 0,options:a?[...C,Bw]:C,value:a?Bw:y[i],onChange:e=>{let n=S.find(t=>y[t]===e);n&&t.getState().setLevel(n)}})},{key:`renderScale`,element:/* @__PURE__ */ Z(vg,{label:`3D resolution`,description:Hw.renderScale,cost:{gpu:R.High},options:zw.map(w),value:w(zw.reduce((e,t)=>Math.abs(t-c)<Math.abs(e-c)?t:e)),onChange:e=>{let n=zw.find(t=>w(t)===e);n&&t.getState().setRenderScale(n)}})},{key:`dynamicResolution`,element:/* @__PURE__ */ Z(_g,{label:`Dynamic 3D resolution`,description:Hw.dynamicResolution,cost:{gpu:R.Low},note:l&&u<c?`Drawing at ${w(u)} now`:void 0,value:l,onChange:e=>t.getState().setDynamicResolution(e)})},...Uw.filter(e=>T[e]&&(e===U.PostProcessing||e===U.AmbientOcclusion||_(d,e).length>1)).map(e=>({key:e,element:/* @__PURE__ */ Z(Ww,{store:t,group:e,offered:b})}))]}Ww.displayName=`GroupRow`;var Kw=20,qw=$u()(()=>({refreshRate:null}));function Jw(e,t){return e===null||t===null||t>=e?1:Math.max(1,Math.round(e/t))}function Yw(e){let t=[];for(let n=2;n<=4;n+=1){let r=Math.round(e/n);r>=Kw&&t.push(r)}return t}function Xw(e){return Jw(qw(e=>e.refreshRate),e)>1}var Zw=/* @__PURE__ */ function(e){return e.Good=`good`,e.Warn=`warn`,e.Bad=`bad`,e}({}),Qw=/* @__PURE__ */ function(e){return e.FramesPerSecond=`framesPerSecond`,e.FrameTime=`frameTime`,e.Ping=`ping`,e.Jitter=`jitter`,e.RoomStep=`roomStep`,e}({});function $w(e){return e*55/60}function eT(e,t){let n=$w(t);switch(e){case`framesPerSecond`:return{warn:n,bad:30,higherIsBetter:!0};case`frameTime`:return{warn:1e3/n,bad:1e3/30,higherIsBetter:!1};case`ping`:return{warn:80,bad:150,higherIsBetter:!1};case`jitter`:return{warn:10,bad:30,higherIsBetter:!1};case`roomStep`:return{warn:8,bad:14,higherIsBetter:!1}}}function tT(e,t,n=60){let{warn:r,bad:i,higherIsBetter:a}=eT(e,n),o=e=>a?t<e:t>e;return o(i)?`bad`:o(r)?`warn`:`good`}var nT=[30,48,50,60,72,75,90,100,120,144,165,170,175,180,200,240,280,300,360,480,500],rT=30,iT=5e3,aT;function oT(e){aT=e}function sT(){return aT}var cT=4,lT=class{rate=null;nextRate=null;nextRateReadings=0;read(e){return e===null||e===this.rate?(e!==null&&(this.nextRateReadings=0),this.rate):(this.nextRateReadings=e===this.nextRate?this.nextRateReadings+1:1,this.nextRate=e,(this.rate===null||this.nextRateReadings>=cT)&&(this.rate=e),this.rate)}},uT=class{times=new Float64Array(iT);durations=new Float32Array(iT);sorted=new Float32Array(iT);next=0;count=0;addFrame(e,t){let n=this.times.length;this.count===n&&this.times[this.next]>=e-1e4&&this.grow(),this.times[this.next]=e,this.durations[this.next]=t,this.next=(this.next+1)%this.times.length,this.count=Math.min(this.count+1,this.times.length)}measureOnePercentLow(e){let t=this.copyRecent(e,this.sorted);if(t===0)return null;let n=this.sorted.subarray(0,t).sort(),r=Math.ceil(t/100),i=0;for(let e=t-r;e<t;e+=1)i+=n[e];return 1e3*r/i}estimateRefreshRate(e){let t=this.copyRecent(e,this.sorted);if(t<rT)return null;let n=this.sorted.subarray(0,t).sort(),r=n[Math.floor(t*.05)],i=0,a=0;for(let e=0;e<t&&n[e]<=r*1.5;e+=1)i+=n[e],a+=1;let o=1e3*a/i;return nT.find(e=>Math.abs(e-o)<=e*.03)??Math.round(o)}sampleFrameTimes(e,t){let n=Array(t).fill(null),r=e-1e4,i=1e4/t;for(let e=0;e<this.count;e+=1){let a=(this.next-1-e+this.times.length)%this.times.length,o=this.times[a];if(o<r)break;let s=Math.min(t-1,Math.floor((o-r)/i)),c=n[s];n[s]=Math.max(c??0,this.durations[a])}return n}grow(){let e=this.times.length,t=new Float64Array(e*2),n=new Float32Array(e*2);for(let r=0;r<e;r+=1){let i=(this.next+r)%e;t[r]=this.times[i],n[r]=this.durations[i]}this.times=t,this.durations=n,this.sorted=new Float32Array(e*2),this.next=e}copyRecent(e,t){let n=e-1e4,r=0;for(let e=0;e<this.count;e+=1){let i=(this.next-1-e+this.times.length)%this.times.length;if(this.times[i]<n)break;t[r]=this.durations[i],r+=1}return r}},dT=500,fT=60,pT=`–`,mT=`n/a`,hT=[Wv.Off,Wv.Minimal,Wv.Standard,Wv.Detailed],gT={[Wv.Off]:`Off`,[Wv.Minimal]:`FPS`,[Wv.Standard]:`Graph`,[Wv.Detailed]:`Full`};function _T(){let{performanceStats:e,changeSetting:t}=P.getState(),n=hT[(hT.indexOf(e)+1)%hT.length];t(`performanceStats`,n)}function vT(e){return e instanceof HTMLElement&&(e.isContentEditable||e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.tagName===`SELECT`)}function yT(){G(()=>{let e=e=>{Ad(Wn.performanceStats).some(t=>t===e.code)&&(e.repeat||vT(e.target)||(e.preventDefault(),_T()))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[])}var bT={history:new uT,count:0};function xT(){try{return P(e=>e.performanceStats!==Wv.Off)?/* @__PURE__ */ Z(CT,{}):null}catch(e){throw O(`CanvasFrameCounter`,e)}}function ST(e){return typeof e==`number`&&Math.abs(performance.now()-e)<1e3}function CT(){try{G(()=>nv(e=>{ST(e)&&oT(e)}),[]);let e=J(void 0);return Ah(D(`CountFrames`,(t,n)=>{let r=sT(),i=r!==void 0&&(e.current===void 0||r>e.current)?r:void 0,a=i??performance.now(),o=e.current===void 0||i===void 0?n*1e3:a-e.current;e.current=a,bT.count+=1,bT.history.addFrame(a,o)})),null}catch(e){throw O(`CountFrames`,e)}}function wT(e){let t=new lT,n=performance.now();bT.count=0,bT.history=new uT;let r=setInterval(()=>{let r=performance.now(),i=r-n,a=bT.count,{history:o}=bT,s=t.read(o.estimateRefreshRate(r));e({framesPerSecond:a*1e3/i,lowFramesPerSecond:o.measureOnePercentLow(r),refreshRate:s,frameTimes:o.sampleFrameTimes(r,fT),cost:yd()}),bT.count=0,n=r},dT);return()=>clearInterval(r)}function TT(){try{let e=P(e=>e.performanceStats),t=N(e=>e.covered);return yT(),e===Wv.Off||t?null:/* @__PURE__ */ Z(jT,{mode:e})}catch(e){throw O(`PerformanceStats`,e)}}function ET(e){return e.toFixed(1)}function DT(e){return Math.round(e).toString()}function OT(e){let t=[...e.querySelectorAll(`[data-stat-row]`)],n=e.closest(`[data-slot]`),r=t.at(-1);if(!n||!r)return t.length;let i=n.getBoundingClientRect().bottom,a=e.getBoundingClientRect().bottom-r.getBoundingClientRect().bottom,o=t.findIndex(e=>e.getBoundingClientRect().bottom+a>i+.5);return o===-1?t.length:o}function kT(e,t){let[n,r]=Y(null),i=n&&n.block===e&&n.rowsKey===t?n.rows:void 0;return K(()=>{e&&i===void 0&&r({block:e,rowsKey:t,rows:OT(e)})},[e,t,i]),G(()=>{if(!e)return;let t=()=>r(null);window.addEventListener(`resize`,t);let n=e.closest(`[data-slot]`),i=new MutationObserver(t);n&&i.observe(n,{childList:!0});let a=typeof ResizeObserver>`u`?void 0:new ResizeObserver(t);return n&&a?.observe(n),()=>{window.removeEventListener(`resize`,t),i.disconnect(),a?.disconnect()}},[e]),i}var AT=`flex h-4 items-center gap-2.5`;function jT({mode:e}){try{let[t,n]=Y(null),[r,i]=Y(null),a=A(py(e=>({joined:e.status===j.Joined,ping:e.roundTripMilliseconds,jitter:e.jitterMilliseconds}))),o=W(Aw,e=>e.element);G(()=>wT(n),[]);let s=t?.refreshRate??60,c=gT[hT[(hT.indexOf(e)+1)%hT.length]],l=e!==Wv.Minimal,u=e===Wv.Detailed,d=t?.cost??null,f=[];l&&f.push({key:`low`,cells:/* @__PURE__ */ Q(nb,{children:[/* @__PURE__ */ Z(NT,{label:`1% low`,trailingLabel:!0,value:t?.lowFramesPerSecond==null?pT:DT(t.lowFramesPerSecond),level:t?.lowFramesPerSecond==null?void 0:tT(Qw.FramesPerSecond,t.lowFramesPerSecond,s)}),/* @__PURE__ */ Z(FT,{label:`Frame time, last 10 seconds`,points:t?.frameTimes??[],ceiling:1e3/30*1.25})]})}),u&&f.push({key:`frame`,cells:/* @__PURE__ */ Q(nb,{children:[/* @__PURE__ */ Z(NT,{label:`CPU`,value:d?ET(d.cpuMilliseconds):pT,unit:d?`ms`:void 0,level:d?tT(Qw.FrameTime,d.cpuMilliseconds,s):void 0}),/* @__PURE__ */ Z(NT,{label:`GPU`,value:d?d.gpuMilliseconds===null?mT:ET(d.gpuMilliseconds):pT,unit:d?.gpuMilliseconds==null?void 0:`ms`,level:d?.gpuMilliseconds==null?void 0:tT(Qw.FrameTime,d.gpuMilliseconds,s)})]})});let p=kT(r,f.map(e=>e.key).join()),m=f.slice(0,p),h=/* @__PURE__ */ Q(`button`,{ref:i,type:`button`,"aria-label":`Performance stats, ${gT[e]}. Show ${c}.`,"aria-keyshortcuts":`F2`,onClick:_T,className:$(Cm,`pointer-events-auto flex shrink-0 cursor-pointer flex-col overflow-hidden rounded-md bg-menu-surface px-2 py-[3px] text-left text-white select-none`),children:[/* @__PURE__ */ Q(`span`,{className:AT,children:[/* @__PURE__ */ Z(NT,{label:`FPS`,trailingLabel:!0,value:t?DT(t.framesPerSecond):pT,level:t?tT(Qw.FramesPerSecond,t.framesPerSecond,s):void 0}),a.joined&&/* @__PURE__ */ Z(NT,{label:`Ping`,hiddenLabel:!0,value:DT(a.ping),unit:`ms`,level:tT(Qw.Ping,a.ping)}),u&&a.joined&&/* @__PURE__ */ Z(NT,{label:`Jitter`,hiddenLabel:!0,value:`±${DT(a.jitter)}`,level:tT(Qw.Jitter,a.jitter),className:`-ml-1.5 min-w-0 text-left`})]}),m.map(e=>/* @__PURE__ */ Z(`span`,{"data-stat-row":!0,className:AT,children:e.cells},e.key))]});return o?ab(h,o):/* @__PURE__ */ Z(Sm,{slot:F.TopLeft,variant:wm.Bare,order:-1,className:Ow,style:kw,children:h})}catch(e){throw O(`PerformanceReadout`,e)}}var MT={[Zw.Good]:`text-reading-good`,[Zw.Warn]:`text-reading-warn`,[Zw.Bad]:`text-reading-bad`};function NT({label:e,value:t,unit:n,level:r,trailingLabel:i=!1,hiddenLabel:a=!1,className:o}){try{return/* @__PURE__ */ Q(`span`,{className:`flex items-baseline gap-1 whitespace-nowrap`,children:[/* @__PURE__ */ Z(`span`,{"data-stat-label":!0,className:a?`sr-only`:$(`text-[11px] leading-4 font-medium text-menu-muted`,i&&`order-last`),children:e}),/* @__PURE__ */ Q(`span`,{"data-level":r,className:$(`min-w-[3ch] text-right text-[12px] leading-4 font-semibold tabular-nums`,r?MT[r]:`text-white/90`,o),children:[t,n&&/* @__PURE__ */ Z(`span`,{className:`ml-0.5 text-[11px] font-medium text-menu-muted`,children:n})]})]})}catch(e){throw O(`Stat`,e)}}function PT(e,{width:t,height:n,ceiling:r}){let i=t/Math.max(1,e.length-1),a=``,o=!1;return e.forEach((e,t)=>{if(e===null){o=!1;return}let s=(t*i).toFixed(1),c=(n-Math.min(e,r)/r*n).toFixed(1);a+=`${o?`L`:`M`}${s} ${c}`,o=!0}),a}function FT({label:e,points:t,ceiling:n}){try{let r={width:48,height:12,ceiling:n};return/* @__PURE__ */ Z(`svg`,{role:`img`,"aria-label":e,width:r.width,height:r.height,className:`block shrink-0 overflow-visible text-white/40`,children:/* @__PURE__ */ Z(`path`,{d:PT(t,r),fill:`none`,stroke:`currentColor`,strokeWidth:1,strokeLinejoin:`round`})})}catch(e){throw O(`Sparkline`,e)}}xT.displayName=`CanvasFrameCounter`,CT.displayName=`CountFrames`,TT.displayName=`PerformanceStats`,jT.displayName=`PerformanceReadout`,NT.displayName=`Stat`,FT.displayName=`Sparkline`;var IT={[Nm.Denied]:`Microphone blocked. You can hear the others, and they cannot hear you. To talk, allow the microphone from the site controls at the left of the address bar.`,[Nm.Unavailable]:`No microphone found. You can hear the others, and they cannot hear you.`},LT={[Nm.Denied]:`Microphone blocked: the others cannot hear you`,[Nm.Unavailable]:`No microphone: the others cannot hear you`};function RT(){try{let e=L(e=>e.access),t=L(e=>e.heard.length>0)?LT[e]:void 0,[n,r]=Y(null);return n!==null&&n!==e&&r(null),G(()=>{if(!t)return;let n=setTimeout(()=>r(e),1e4);return()=>clearTimeout(n)},[e,t]),!t||n===e?null:/* @__PURE__ */ Z(Sm,{slot:F.BottomLeft,variant:wm.Bare,children:/* @__PURE__ */ Q(`div`,{role:`status`,className:$(ym,Cm,`flex items-center gap-2 px-2.5 py-1 text-xs leading-5 whitespace-nowrap text-white/75`),children:[/* @__PURE__ */ Z(Ry,{name:`mic-off`,className:`size-3.5 shrink-0 text-red-300`}),/* @__PURE__ */ Z(`span`,{children:t}),/* @__PURE__ */ Z(`span`,{className:`text-white/45 pointer-coarse:hidden`,children:`Esc to fix`})]})})}catch(e){throw O(`VoiceStatus`,e)}}RT.displayName=`VoiceStatus`;var zT={[qv.OpenMic]:`Open mic`,[qv.PushToTalk]:`Push to talk`},BT={microphone:`Whether other players in the room hear you.`,unavailable:`Voice runs when the game plays on the platform. This development room carries none.`,voiceMode:`Open mic sends you while you speak, and not the quiet room around you. Push to talk sends you while you hold the key.`,voiceModeTouch:`Open mic sends you while you speak, and not the quiet room around you. Push to talk sends you while you hold the microphone button.`,pushToTalkKey:`The key you hold to talk. Choose it, then press a key.`,microphoneVolume:`How loud your microphone is before it is sent.`,noiseSuppression:`Takes steady noise such as a fan out of your microphone. Turn it off for music.`,autoGainControl:`Keeps your voice at an even level. Your browser may change your system's microphone level for it.`,playerVolume:`How loud this player is to you alone. Past 100% plays a quiet player louder, up to twice as loud. The button mutes them.`,notHeard:`This player sends no voice to you now: their microphone is off, or their browser has not joined voice.`};function VT(e){return{Backquote:"`",Space:`Space`,CapsLock:`Caps Lock`,ShiftLeft:`Left Shift`,ShiftRight:`Right Shift`,ControlLeft:`Left Ctrl`,ControlRight:`Right Ctrl`,AltLeft:`Left Alt`,AltRight:`Right Alt`,Tab:`Tab`}[e]??e.replace(/^(Key|Digit)/,``)}function HT(){try{let e=jm(e=>e.muted),t=L(e=>e.access),n=L(e=>e.open),r=L(e=>e.unavailable),i=P(),{changeSetting:a}=i,o=Ew();return/* @__PURE__ */ Q(nb,{children:[/* @__PURE__ */ Z(_g,{label:`Microphone`,description:r?BT.unavailable:IT[t]??BT.microphone,value:!e,onChange:e=>jm.setState({muted:!e})}),n&&/* @__PURE__ */ Q(nb,{children:[/* @__PURE__ */ Z(vg,{label:`Voice mode`,description:o?BT.voiceModeTouch:BT.voiceMode,options:Object.values(zT),value:zT[i.voiceMode],onChange:e=>{let t=Object.values(qv).find(t=>zT[t]===e);t&&a(`voiceMode`,t)}}),i.voiceMode===qv.PushToTalk&&!o&&/* @__PURE__ */ Z(WT,{label:`Push-to-talk key`,description:BT.pushToTalkKey,value:i.pushToTalkKey,onChange:e=>a(`pushToTalkKey`,e)}),/* @__PURE__ */ Z(UT,{value:i.microphoneVolume,onChange:e=>a(`microphoneVolume`,e)}),/* @__PURE__ */ Z(_g,{label:`Noise suppression`,description:BT.noiseSuppression,value:i.noiseSuppression,onChange:e=>a(`noiseSuppression`,e)}),/* @__PURE__ */ Z(_g,{label:`Automatic gain`,description:BT.autoGainControl,value:i.autoGainControl,onChange:e=>a(`autoGainControl`,e)})]})]})}catch(e){throw O(`VoiceRows`,e)}}function UT({value:e,onChange:t}){try{let n=dy(),r=L(e=>e.talking),i=L(e=>e.inputDecibels),{min:a,max:o,step:s}=rp.microphoneVolume,c=rp.voiceSensitivity,l=yv.clamp(i,c.min,c.max),u=(l-c.min)/(c.max-c.min),d=`Microphone volume`;return/* @__PURE__ */ Z(dg,{label:d,description:BT.microphoneVolume,descriptionId:n,stacked:!0,children:/* @__PURE__ */ Q(`div`,{className:`flex items-center gap-4`,children:[/* @__PURE__ */ Q(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[/* @__PURE__ */ Z(Jy,{label:d,"aria-describedby":n,min:a,max:o,step:s,value:e,onChange:t}),/* @__PURE__ */ Z(`div`,{role:`meter`,"aria-label":`Microphone level`,"aria-valuemin":c.min,"aria-valuemax":c.max,"aria-valuenow":Math.round(l),className:`-mt-1.5 h-1 overflow-hidden rounded-full bg-white/10`,children:/* @__PURE__ */ Z(`div`,{"data-voice-meter":!0,className:$(`h-full rounded-full`,r?`bg-emerald-400`:`bg-amber-300/80`),style:{width:`${u*100}%`}})})]}),/* @__PURE__ */ Z(`span`,{className:`flex h-9 w-20 shrink-0 items-center justify-end border border-transparent px-2 text-[15px] text-white tabular-nums`,children:e})]})})}catch(e){throw O(`MicrophoneVolumeField`,e)}}function WT({label:e,description:t,value:n,onChange:r}){try{let i=dy(),[a,o]=Y(!1);return/* @__PURE__ */ Z(dg,{label:e,description:t,descriptionId:i,children:/* @__PURE__ */ Z(`div`,{className:`flex justify-end`,children:/* @__PURE__ */ Z(`button`,{type:`button`,"aria-label":e,"aria-describedby":i,onClick:()=>o(!a),onKeyDown:e=>{a&&(e.preventDefault(),e.stopPropagation(),e.code!==`Escape`&&r(e.code),o(!1))},onBlur:()=>o(!1),className:$(`h-9 min-w-28 cursor-pointer rounded-md border px-3 text-[15px] font-semibold transition-colors motion-reduce:transition-none`,a?`border-menu-accent bg-menu-accent/15 text-white`:`border-menu-edge bg-menu-raised text-white hover:border-menu-muted/60`,tb.controlFocusRing),children:a?`Press a key`:VT(n)})})})}catch(e){throw O(`KeyField`,e)}}function GT(){let e=X(),t=xy(Xa,ju),[,n]=Y(0);return G(()=>e.onChange(Xa,()=>n(e=>e+1)),[e]),t.filter(e=>!Wr(e)).map(e=>({key:e.get(ju)?.id??``,name:e.get(Xa)?.name??``})).filter(({key:e,name:t})=>e!==``&&t!==``).sort((e,t)=>e.name.localeCompare(t.name))}function KT(e,{open:t,heard:n,speakers:r,mutedPlayers:i}){if(t)return i.includes(e)?`Muted by you`:r.includes(e)?`Speaking`:n.includes(e)?`In voice`:`Not in voice`}function qT(){try{let e=GT(),t=L(py(({open:e,heard:t,speakers:n,mutedPlayers:r,playerVolumes:i})=>({open:e,heard:t,speakers:n,mutedPlayers:r,playerVolumes:i}))),n=hg(e=>Object.values(e.hidden).includes(`microphone`)),{setPlayerVolume:r,mutePlayer:i}=L.getState();return e.map(({key:e,name:a})=>{let o=KT(e,t),s=t.mutedPlayers.includes(e);return/* @__PURE__ */ Z(`div`,{"data-person":!0,children:t.heard.includes(e)&&!n?/* @__PURE__ */ Z(fg,{label:a,note:o,description:BT.playerVolume,...Mm,value:t.playerVolumes[e]??100,display:e=>`${e}%`,onChange:t=>r(e,t),end:/* @__PURE__ */ Z(`button`,{type:`button`,"aria-label":`Mute ${a}`,"aria-pressed":s,onClick:()=>i(e,!s),onKeyDown:e=>e.stopPropagation(),className:$(`flex h-9 w-20 shrink-0 cursor-pointer items-center justify-center rounded-md border border-menu-edge transition-colors motion-reduce:transition-none`,s?`bg-red-500/20 text-red-200`:`bg-menu-raised text-white hover:border-menu-muted/60`,tb.controlFocusRing),children:/* @__PURE__ */ Z(Ry,{name:s?`volume-x`:`volume-2`,className:`size-4`})})}):/* @__PURE__ */ Z(JT,{name:a,note:o})},e)})}catch(e){throw O(`PeopleRows`,e)}}function JT({name:e,note:t}){try{let n=dy();return/* @__PURE__ */ Z(dg,{label:e,note:t,description:t===`Not in voice`?BT.notHeard:void 0,descriptionId:n,children:/* @__PURE__ */ Z(`span`,{})})}catch(e){throw O(`PersonField`,e)}}HT.displayName=`VoiceRows`,UT.displayName=`MicrophoneVolumeField`,WT.displayName=`KeyField`,qT.displayName=`PeopleRows`,JT.displayName=`PersonField`;function YT(e){try{let t=dy(),n=hg(e=>e.showSettingRow),r=hg(e=>e.hideSettingRow);return G(()=>n(t,e),[t,e,n]),G(()=>()=>r(t),[t,r]),null}catch(e){throw O(`SettingRow`,e)}}function XT({setting:e}){try{let t=dy(),n=hg(e=>e.hideEngineRow),r=hg(e=>e.showEngineRow);return G(()=>(n(t,e),()=>r(t)),[t,e,n,r]),null}catch(e){throw O(`HideSetting`,e)}}var ZT=typeof __GAME_ENGINE_DEV__==`boolean`&&__GAME_ENGINE_DEV__?oy(()=>import(`./CCh4CnV9.js`).then(({ReplaySettingRow:e})=>({default:e}))):void 0,QT={[z.Video]:{name:`Video`,short:`video`,about:`How the game fills your screen, what the world costs to draw, and how much of it you see. The world stays in view behind this panel, so each change shows as you make it.`,seeThrough:!0},[z.Audio]:{name:`Audio`,short:`audio`,about:`How loud each kind of sound plays, and who hears you.`,seeThrough:!1},[z.Game]:{name:`Game`,short:`game`,about:`Settings this game adds.`,seeThrough:!1},[z.Controls]:{name:`Controls`,short:`controls`,about:`How the camera answers your mouse, your trackpad and your keys.`,seeThrough:!1},[z.Interface]:{name:`Interface`,short:`interface`,about:`What shows over the world, such as other players' names. The world stays in view behind this panel, so each change shows as you make it.`,seeThrough:!0},[z.Accessibility]:{name:`Accessibility`,short:`accessibility`,about:`Less motion on screen, for comfort.`,seeThrough:!1}},$T={[z.Video]:[`fullscreenOnPlay`,`frameRateCap`,`fieldOfView`,`performanceStats`,`grassSway`],[z.Interface]:[`showPlayerNames`],[z.Audio]:[`masterVolume`,`musicVolume`,`effectsVolume`,`interfaceVolume`,`voiceVolume`,`voiceMode`,`voiceSensitivity`,`pushToTalkKey`,`microphoneVolume`,`noiseSuppression`,`autoGainControl`],[z.Controls]:[`mouseSensitivity`,`invertLook`,`shiftLock`],[z.Accessibility]:[`reducedMotion`,`cameraShake`],[z.Game]:[]},eE=`Off`;function tE(e,t){if(t===null)return eE;let n=e.reduce((e,n)=>Math.abs(n-t)<Math.abs(e-t)?n:e);return String(n)}var nE={frameRateCap:`The most frames a second the game draws. A cap saves battery and heat on a laptop or phone. Each option divides the screen's rate evenly, so every frame lasts as long as the last.`,fieldOfView:`How much of the world you see, in degrees across a 16:9 screen. Wider shows more, and draws each thing smaller. A wider screen sees more at the sides; held upright, the figure runs top to bottom.`,fixedFieldOfView:`This game sets its own field of view.`,grassSway:`The grass moves in the wind. Off by default at Low quality and under Reduced motion, and on at Medium and High, until you set it.`,fullscreenOnPlay:`Play also fills the screen.`,performanceStats:`The frame rate and more, in the top-left corner. F2 steps through the levels while you play, and on a touch screen a tap on the overlay does.`,showPlayerNames:`Each other player's name over their head, with a microphone while they speak.`,windowLayout:`Puts every window you moved back where the game first opened it.`,masterVolume:`Every sound. Each 20 points lower sounds about half as loud.`,musicVolume:`Music and background sound.`,effectsVolume:`Every other sound in the game.`,interfaceVolume:`Menu and HUD sounds, such as a click or a card turning.`,voiceVolume:`Other players' voices. Past 100% plays every voice louder, up to twice as loud.`,mouseSensitivity:`How fast the camera turns. Type in the box for an exact value.`,invertLook:`Moving the mouse up looks down.`,shiftLock:`Shift locks the camera behind your shoulder, and your character turns with it. Shift again lets it go.`,reducedMotion:`Animated screens move less, and the camera does not shake. Follows your device until you set it.`,cameraShake:`How much big moments shake the screen, from none at 0 to the game's own at 100. Reduced motion turns it off.`},rE={frameRateCap:{gpu:R.High,cpu:R.High},fieldOfView:{gpu:R.Low,cpu:R.Low},grassSway:{gpu:R.Low}};function iE(e){let t=e.queryFirst(k)?.get(k);return t?{fieldOfView:t.fieldOfView,playerLook:t.playerLook,lockToggleOffered:t.lockToggleOffered,shakes:t.orbit!==null}:null}function aE(){let e=X(),t=Zu(e=>e.canvas),[n,r]=Y(()=>iE(e));return G(()=>{let t=()=>r(t=>{let n=iE(e);return n!==null&&t!==null&&fy(n,t)?t:n}),n=()=>queueMicrotask(t),i=[e.onAdd(k,n),e.onChange(k,n),e.onRemove(k,n)];return n(),()=>i.forEach(e=>e())},[e]),{camera:n,capturable:t!==null&&nd(t),fullscreen:document.fullscreenEnabled===!0||Wm(Hm.getState())}}function oE(e){return(e<1?e.toPrecision(3):e.toFixed(3)).replace(/(\.\d\d\d*?)0+$/,`$1`)}function sE(){return P(py(({changeSetting:e,resetSettings:t,...n})=>n))}function cE(e){let t=sE(),{changeSetting:n}=P.getState(),r=cy(T),i=qw(e=>e.refreshRate),a=i===null?[]:Yw(i),o=Gw(r?.quality??null,he),s=ne(),c=Sy(ro),l=L(e=>e.open),u=L(e=>e.unavailable),d=hg(py(e=>Object.values(e.hidden))),f=X(),p=by(f,Ap),m=GT().length>0,{camera:h,capturable:g,fullscreen:_}=e,v=ge(),y=W(v,e=>Object.keys(e.places).length>0),b=h?.fieldOfView??null,x=e=>n(`mouseSensitivity`,e),S=r!==null&&c!==void 0&&{key:`grassSway`,section:`Quality`,element:/* @__PURE__ */ Z(_g,{label:`Grass sway`,description:nE.grassSway,cost:rE.grassSway,value:op(t,s),onChange:e=>n(`grassSway`,e)})},C={[z.Video]:[g&&_&&{key:`fullscreenOnPlay`,section:`Display`,element:/* @__PURE__ */ Z(_g,{label:`Fullscreen on Play`,description:nE.fullscreenOnPlay,value:t.fullscreenOnPlay,onChange:e=>n(`fullscreenOnPlay`,e)})},a.length>0&&{key:`frameRateCap`,section:`Display`,element:/* @__PURE__ */ Z(vg,{label:`Frame rate limit`,description:nE.frameRateCap,cost:rE.frameRateCap,options:[eE,...a.map(String)],value:tE(a,t.frameRateCap),onChange:e=>n(`frameRateCap`,e===eE?null:Number(e))})},b!==null&&{key:`fieldOfView`,section:`Display`,element:/* @__PURE__ */ Z(fg,{label:`Field of view`,description:b.fixed?nE.fixedFieldOfView:nE.fieldOfView,cost:b.fixed?void 0:rE.fieldOfView,min:b.min,max:b.max,step:rp.fieldOfView.step,value:pp(b,t.fieldOfView),disabled:b.fixed,display:e=>`${e}°`,onChange:e=>n(`fieldOfView`,e)})},{key:`performanceStats`,section:`Display`,element:/* @__PURE__ */ Z(vg,{label:`Performance stats`,description:nE.performanceStats,options:hT.map(e=>gT[e]),value:gT[t.performanceStats],onChange:e=>{let t=hT.find(t=>gT[t]===e);t&&n(`performanceStats`,t)}})},...o.flatMap(e=>[{...e,section:`Quality`},...e.key===`foliage`?[S]:[]]),...o.some(e=>e.key===`foliage`)?[]:[S]],[z.Interface]:[p&&{key:`showPlayerNames`,element:/* @__PURE__ */ Z(_g,{label:`Show other players' names`,description:nE.showPlayerNames,value:t.showPlayerNames,onChange:e=>n(`showPlayerNames`,e)})},y&&{key:`windowLayout`,element:/* @__PURE__ */ Z(Cg,{label:`Window layout`,description:nE.windowLayout,action:`Reset`,onPress:()=>v.getState().forgetPlaces()})},ZT!==void 0&&{key:`keepReplay`,element:/* @__PURE__ */ Z(iy,{fallback:null,children:/* @__PURE__ */ Z(ZT,{})})}],[z.Audio]:[...[[`masterVolume`,`Master volume`],[`musicVolume`,`Music volume`],[`effectsVolume`,`Effects volume`],[`interfaceVolume`,`Interface volume`]].map(([e,r])=>({key:e,section:`Volume`,element:/* @__PURE__ */ Z(fg,{label:r,description:nE[e],...rp[e],value:t[e],onChange:t=>n(e,t)})})),l&&{key:`voiceVolume`,section:`Volume`,element:/* @__PURE__ */ Z(fg,{label:`Voice volume`,description:nE.voiceVolume,...rp.voiceVolume,value:t.voiceVolume,display:e=>`${e}%`,onChange:e=>n(`voiceVolume`,e)})},(l||u)&&{key:`microphone`,section:`Voice chat`,element:/* @__PURE__ */ Z(HT,{})},m&&{key:`people`,section:`People`,element:/* @__PURE__ */ Z(qT,{})}],[z.Controls]:[h?.playerLook===!0&&{key:`mouseSensitivity`,element:/* @__PURE__ */ Z(fg,{label:`Camera sensitivity`,description:nE.mouseSensitivity,...tp,value:ap(t.mouseSensitivity),display:()=>oE(t.mouseSensitivity),onChange:e=>x(np(e)),end:/* @__PURE__ */ Z(Uy,{label:`Camera sensitivity value`,value:t.mouseSensitivity,display:oE,onChange:x,className:`shrink-0`})})},h?.playerLook===!0&&{key:`invertLook`,element:/* @__PURE__ */ Z(_g,{label:`Invert vertical look`,description:nE.invertLook,value:t.invertLook,onChange:e=>n(`invertLook`,e)})},h?.lockToggleOffered===!0&&g&&{key:`shiftLock`,element:/* @__PURE__ */ Z(_g,{label:`Lock camera with Shift`,description:nE.shiftLock,value:t.shiftLock,onChange:e=>n(`shiftLock`,e)})}],[z.Accessibility]:[{key:`reducedMotion`,element:/* @__PURE__ */ Z(_g,{label:`Reduced motion`,description:nE.reducedMotion,value:t.reducedMotion??ip(),onChange:e=>n(`reducedMotion`,e)})},h?.shakes===!0&&{key:`cameraShake`,element:/* @__PURE__ */ Z(fg,{label:`Screen shake`,description:nE.cameraShake,...rp.cameraShake,value:t.cameraShake,onChange:e=>n(`cameraShake`,e)})}],[z.Game]:[]},w=e=>d.includes(e)||e===`voiceVolume`&&d.includes(`microphone`),ee=e=>e!==!1&&!w(e.key);return{[z.Video]:C.video.filter(ee),[z.Interface]:C.interface.filter(ee),[z.Audio]:C.audio.filter(ee),[z.Controls]:C.controls.filter(ee),[z.Accessibility]:C.accessibility.filter(ee),[z.Game]:[]}}function lE(e){let[t,n]=Y(null),[r,i]=Y(null),a=t=>t?.tab===e?t:null,o=a(r)?.id??null;return{describe:q(()=>({describeHovered:(t,r)=>n(n=>r?{tab:e,id:t,detail:r}:n?.id===t?null:n),describeFocused:(t,n)=>i(r=>n?{tab:e,id:t,detail:n}:r?.id===t?null:r),activeId:o}),[e,o]),detail:(a(t)??a(r))?.detail??null}}function uE(e){let t=/* @__PURE__ */ new Map([[void 0,[]]]);for(let n of e){let e=n[1].section,r=t.get(e)??[];r.push(n),t.set(e,r)}return[...t].filter(([,e])=>e.length>0).map(([e,t])=>({section:e,rows:t}))}function dE(e){for(let t of e)t.kind!==bg.Button&&t.defaultValue!==void 0&&t.onChange(t.defaultValue)}var fE=4,pE=/* @__PURE__ */ new WeakMap;function mE({onBack:e}){try{let t=cE(aE()),n=hg(e=>e.rows),r=q(()=>Object.entries(n),[n]),i=e=>r.filter(([,t])=>(t.tab??z.Game)===e),a=Object.values(z).filter(e=>t[e].length>0||i(e).length>0),o=cy(T),s=o??he,[c,l]=Y(()=>pE.get(s)??z.Video),u=e=>{pE.set(s,e),l(e)},d=a.length===0,f=a.includes(c)?c:a[0]??z.Game,{describe:p,detail:m}=lE(f),h=J(/* @__PURE__ */ new Map),[g,_]=Y(!1);G(()=>{if(!g)return;let e=setTimeout(()=>_(!1),fE*1e3);return()=>clearTimeout(e)},[g]);let v=J(f);G(()=>{h.current.get(v.current)?.focus()},[]);let y=dy(),b=e=>$T[e].length>0||e===z.Video&&o!==null||i(e).some(([,e])=>e.kind!==bg.Button&&e.defaultValue!==void 0),x=e=>{P.getState().resetSettings($T[e]),e===z.Video&&o?.quality.getState().resetQuality(),dE(i(e).map(([,e])=>e))},S=()=>{if(!g){_(!0);return}_(!1),P.getState().resetSettings(),o?.quality.getState().resetQuality(),dE(r.map(([,e])=>e))},C=e=>{let t=a.indexOf(f),n={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1,Home:-t,End:a.length-1-t}[e.key];if(n===void 0)return;e.preventDefault();let r=a[(t+n+a.length)%a.length];u(r),h.current.get(r)?.focus()},w=J(null);return G(()=>{w.current&&(w.current.scrollTop=0)},[f]),G(()=>{h.current.get(f)?.scrollIntoView?.({block:`nearest`,inline:`nearest`})},[f]),/* @__PURE__ */ Q(`div`,{role:`dialog`,"aria-label":`Settings`,"data-see-through":QT[f].seeThrough||void 0,className:$(Tm,`@container/panel relative flex h-[min(38rem,calc(100dvh-1.5rem))] w-[min(68rem,calc(100vw-1.5rem))] flex-col overflow-hidden transition-colors motion-reduce:transition-none`,`lg:data-[see-through]:bg-black/75 lg:data-[see-through]:bg-none lg:data-[see-through]:backdrop-blur-none`,Cm),children:[/* @__PURE__ */ Q(`div`,{className:`flex min-h-0 flex-1 flex-col @2xl/panel:flex-row`,children:[/* @__PURE__ */ Q(`nav`,{className:`flex shrink-0 flex-col border-b border-menu-edge @2xl/panel:w-56 @2xl/panel:border-r @2xl/panel:border-b-0`,children:[/* @__PURE__ */ Z(`h2`,{className:`px-6 pt-5 pb-3 font-display text-2xl leading-none font-bold pointer-coarse:px-5 @2xl/panel:pt-6 @2xl/panel:pb-5`,children:`Settings`}),/* @__PURE__ */ Z(`div`,{role:`tablist`,"aria-label":`Settings sections`,className:`flex scroll-px-3 gap-1 overflow-x-auto px-3 py-1 @2xl/panel:flex-col @2xl/panel:gap-0.5 @2xl/panel:overflow-visible @2xl/panel:pb-4`,children:a.map(e=>{let t=e===f;return/* @__PURE__ */ Q(`button`,{ref:t=>{t?h.current.set(e,t):h.current.delete(e)},type:`button`,role:`tab`,id:`${y}-${e}`,"aria-selected":t,"aria-controls":`${y}-panel`,tabIndex:t?0:-1,"data-menu-focus":t||void 0,onClick:()=>u(e),onKeyDown:C,className:$(`relative h-11 shrink-0 cursor-pointer rounded-lg px-3 text-left text-[15px] font-semibold whitespace-nowrap transition-colors motion-reduce:transition-none`,tb.controlFocusRing,t?`text-white @2xl/panel:bg-menu-raised`:`text-menu-muted hover:text-white @2xl/panel:hover:bg-white/[0.04]`),children:[QT[e].name,t&&/* @__PURE__ */ Z(`span`,{"aria-hidden":!0,className:`absolute inset-x-3 bottom-0 h-0.5 rounded-full bg-menu-accent @2xl/panel:inset-x-auto @2xl/panel:inset-y-3 @2xl/panel:left-0 @2xl/panel:h-auto @2xl/panel:w-[3px]`})]},e)})})]}),/* @__PURE__ */ Z(gg,{value:p,children:/* @__PURE__ */ Z(`div`,{ref:w,role:d?void 0:`tabpanel`,id:`${y}-panel`,"aria-labelledby":d?void 0:`${y}-${f}`,className:`menu-scroll @container/rows relative min-h-0 min-w-0 flex-1 overflow-y-auto px-6 py-3 pointer-coarse:px-5`,children:d?/* @__PURE__ */ Z(`p`,{className:`py-3 text-[15px] text-menu-muted`,children:`This game has no settings to change.`}):/* @__PURE__ */ Z(hE,{engineRows:t[f],gameRows:i(f)})})}),/* @__PURE__ */ Z(`aside`,{"data-setting-detail":!0,"aria-hidden":!0,className:`hidden w-72 shrink-0 flex-col gap-4 border-l border-menu-edge px-6 py-6 @5xl/panel:flex`,children:m?/* @__PURE__ */ Q(nb,{children:[/* @__PURE__ */ Z(`h3`,{className:`font-display text-xl leading-tight font-bold text-white`,children:m.label}),m.image&&/* @__PURE__ */ Z(`img`,{src:m.image,alt:``,className:`aspect-video w-full rounded-lg border border-menu-edge object-cover`}),m.description&&/* @__PURE__ */ Z(`p`,{className:`text-[15px] leading-6 text-white/80`,children:m.description}),m.cost&&/* @__PURE__ */ Q(`div`,{className:`mt-1 flex flex-col gap-2 border-t border-menu-edge pt-4`,children:[/* @__PURE__ */ Z(`p`,{className:`text-[13px] font-semibold text-menu-muted`,children:`Performance cost`}),/* @__PURE__ */ Z(xg,{cost:m.cost})]})]}):/* @__PURE__ */ Z(`p`,{className:`text-[15px] leading-6 text-menu-muted`,children:QT[f].about})})]}),/* @__PURE__ */ Q(`footer`,{className:`flex shrink-0 items-center gap-2 border-t border-menu-edge px-6 py-3 pointer-coarse:px-5`,children:[/* @__PURE__ */ Z(`button`,{type:`button`,onClick:S,className:$(`-ml-3 h-10 shrink-0 cursor-pointer rounded-lg px-3 text-sm font-semibold transition-colors hover:bg-white/[0.07] motion-reduce:transition-none`,g?`text-white`:`text-menu-muted hover:text-white`,tb.controlFocusRing),children:g?`Confirm reset all`:`Reset all`}),/* @__PURE__ */ Z(`div`,{className:`flex-1`}),b(f)&&/* @__PURE__ */ Q(`button`,{type:`button`,onClick:()=>x(f),className:$(`h-10 shrink-0 cursor-pointer rounded-lg px-3 text-sm font-semibold text-menu-muted transition-colors hover:bg-white/[0.07] hover:text-white motion-reduce:transition-none`,tb.controlFocusRing),children:[`Reset `,QT[f].short]}),/* @__PURE__ */ Z(wg,{onPress:e,variant:pg.Primary,className:`min-w-28 shrink-0`,children:`Back`})]})]})}catch(e){throw O(`SettingsPanel`,e)}}function hE({engineRows:e,gameRows:t}){try{return/* @__PURE__ */ Q(nb,{children:[e.map((t,n)=>/* @__PURE__ */ Q(ry,{children:[t.section&&t.section!==e[n-1]?.section&&/* @__PURE__ */ Z(Sg,{children:t.section}),t.element]},t.key)),uE(t).map(({section:e,rows:t})=>/* @__PURE__ */ Q(ry,{children:[e&&/* @__PURE__ */ Z(Sg,{children:e}),t.map(([e,t])=>/* @__PURE__ */ Z(yg,{row:t},e))]},e??``))]})}catch(e){throw O(`TabRows`,e)}}YT.displayName=`SettingRow`,XT.displayName=`HideSetting`,mE.displayName=`SettingsPanel`,hE.displayName=`TabRows`;function gE({room:e,page:t}){return`The room runs another build of the game (room ${e}, this page ${t}). Play may act oddly until the room is updated.`}var _E=$u()(()=>({text:null}));A.subscribe(({buildMismatch:e})=>{!e&&_E.getState().text!==null&&_E.setState({text:null})});function vE(){let e=A(e=>e.buildMismatch),t=_E(e=>e.text);if(!e)return null;let n=gE(e);return n===t?null:n}function yE({note:e}){try{return/* @__PURE__ */ Z(`button`,{type:`button`,"aria-label":`Dismiss`,className:`pointer-events-auto -mr-1 shrink-0 cursor-pointer rounded p-0.5 opacity-70 hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-2 focus-visible:outline-white`,onClick:()=>_E.setState({text:e}),children:/* @__PURE__ */ Z(Ry,{name:`x`,className:`size-4`})})}catch(e){throw O(`DismissButton`,e)}}function bE(){try{let e=vE(),t=Zu(e=>e.captured);return e?/* @__PURE__ */ Z(Sm,{slot:F.BottomLeft,variant:wm.Bare,children:/* @__PURE__ */ Q(`div`,{className:$(ym,Cm,`flex max-w-80 items-start gap-2.5 px-3 py-2 text-[13px] leading-5`),children:[/* @__PURE__ */ Z(`span`,{role:`status`,children:e}),!t&&/* @__PURE__ */ Z(yE,{note:e})]})}):null}catch(e){throw O(`BuildNote`,e)}}function xE(){try{let e=vE();return e?/* @__PURE__ */ Q(`p`,{className:`-mt-1 mb-2 flex items-start gap-2 px-1 text-[13px] leading-5 text-menu-muted`,children:[/* @__PURE__ */ Z(`span`,{children:e}),/* @__PURE__ */ Z(yE,{note:e})]}):null}catch(e){throw O(`MenuBuildNote`,e)}}yE.displayName=`DismissButton`,bE.displayName=`BuildNote`,xE.displayName=`MenuBuildNote`;var SE=typeof __GAME_ENGINE_DEV__==`boolean`&&__GAME_ENGINE_DEV__?oy(()=>import(`./CCh4CnV9.js`).then(({ReplayMenuRows:e})=>({default:e}))):void 0;function CE(){pd({type:`FULLSCREEN_CHANGED`,shown:document.fullscreenElement!==null,covered:N.getState().covered})}var wE=.5;async function TE(e){let{innerWidth:t,innerHeight:n}=e;await Km()&&e.innerWidth===t&&e.innerHeight===n&&await new Promise(t=>{let n=()=>{clearTimeout(r),e.removeEventListener(`resize`,n),t()},r=setTimeout(n,wE*1e3);e.addEventListener(`resize`,n)})}function EE(){return Wm(Hm.getState())?()=>TE(window):document.fullscreenEnabled===!0?()=>document.documentElement.requestFullscreen():null}function DE(){return G(()=>(pd({type:`FULLSCREEN_READ`,shown:document.fullscreenElement!==null}),document.addEventListener(`fullscreenchange`,CE),()=>document.removeEventListener(`fullscreenchange`,CE)),[]),fd(e=>e.fullscreen)}function OE(){let e=X(),[t,n]=Y(()=>qm(e));return G(()=>{let t=()=>n(qm(e));t();let r=e.onAdd(k,t),i=e.onChange(k,t),a=e.onRemove(k,t);return()=>{r(),i(),a()}},[e]),t}function kE(e){return e.target instanceof Element&&e.target.closest(`[data-devtools]`)!==null||document.querySelector(`[data-devtools] [data-devtools-escape]`)!==null}function AE(){G(()=>{let e=e=>{let t=e.code||e.key;Ad(Wn.menu).some(e=>e===t)&&(t!==`Escape`&&(qf(e)||e.ctrlKey||e.altKey||e.metaKey)||kE(e)||(e.preventDefault(),e.stopImmediatePropagation(),!e.repeat&&(N.getState().covered||(rd()&&pd({type:`LOCK_READ`,held:!1}),fd.getState().pressEscape()))))};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},[])}function jE(e,t){G(()=>{if(!e)return;if(!t){e.open&&e.close();return}let n=()=>{e.open&&e.close(),e.showModal(),(e.querySelector(`[data-menu-focus]`)??e).focus()};n();let r=new MutationObserver(e=>{e.some(({target:e})=>e instanceof HTMLDialogElement&&!e.hasAttribute(`data-engine-menu`)&&e.open)&&n()});return r.observe(document.body,{subtree:!0,attributes:!0,attributeFilter:[`open`]}),()=>r.disconnect()},[e,t])}function ME(){try{return de()?null:/* @__PURE__ */ Z(NE,{})}catch(e){throw O(`PlayMenu`,e)}}function NE(){try{let e=Zu(e=>e.canvas),t=Zu(e=>e.captured),n=Zu(e=>e.freed),r=X(),i=OE(),a=fd(e=>e.open),o=fd(e=>e.settingsOpen),s=DE(),c=P(e=>e.fullscreenOnPlay),l=L(e=>IT[e.access]),[u,d]=Y(null);AE();let f=e!==null&&nd(e),p=N(e=>e.covered),m=Ew(),h=hg(e=>Object.values(e.hidden).includes(`microphone`)),g=f&&i&&!t&&!n,_=rd(),v=!p&&(a||o||g&&!_);jE(u,v),G(()=>zm(v||p),[v,p]),G(()=>()=>zm(null),[]),G(()=>{_&&g&&!a&&!o&&e&&ld(e)},[_,g,a,o,e]);let y=J(null),b=J(!1);G(()=>()=>y.current?.(),[]);let x=document.fullscreenEnabled===!0,S=e=>{rd()||e&&Km()||x&&(e||pd({type:`LEAVE_FULLSCREEN`}),(e?document.documentElement.requestFullscreen():document.exitFullscreen()).catch(CE))},C=()=>{if(fd.getState().closeMenu(),!e||!f||!i||n)return;let t=c&&!s&&!rd()?EE():null;if(!t){ld(e);return}let a=Hm.getState();if(Wm(a)&&!Fm(a)||b.current){ld(e),t().catch(()=>void 0);return}y.current=od(e,t,{wanted:()=>qm(r),refused:()=>{b.current=!0}})};return/* @__PURE__ */ Q(nb,{children:[/* @__PURE__ */ Z(Nw,{menuButton:m&&!v,microphoneButton:!v}),/* @__PURE__ */ Q(`dialog`,{ref:d,"data-engine-menu":!0,"aria-label":`Menu`,tabIndex:-1,onCancel:e=>e.preventDefault(),onKeyDown:e=>{e.key===`Enter`&&e.target===e.currentTarget&&!o&&(e.preventDefault(),C())},className:$(`m-0 h-dvh max-h-none w-screen max-w-none items-center justify-center overflow-hidden bg-black/50 p-0 outline-none backdrop-blur-sm transition-[background-color,backdrop-filter] duration-200 open:flex backdrop:bg-transparent motion-reduce:transition-none`,`select-none [&_input]:select-text [&_textarea]:select-text`,`has-[[data-see-through]]:bg-black/25 has-[[data-see-through]]:backdrop-blur-none`),children:[v&&(!o||h)&&/* @__PURE__ */ Z(Pw,{}),v?o?/* @__PURE__ */ Z(mE,{onBack:()=>fd.getState().closeSettings()}):/* @__PURE__ */ Q(`div`,{className:$(Tm,Cm,`flex max-h-[calc(100dvh-1.5rem)] w-[min(20rem,calc(100vw-1.5rem))] flex-col gap-1 overflow-y-auto p-3`),children:[/* @__PURE__ */ Z(wg,{onPress:C,variant:pg.Primary,className:`mb-2 h-12 font-display text-lg`,children:`Play`}),l&&/* @__PURE__ */ Z(`p`,{role:`status`,className:`-mt-1 mb-2 px-1 text-[13px] leading-5 text-menu-muted`,children:l}),/* @__PURE__ */ Z(xE,{}),/* @__PURE__ */ Q(wg,{onPress:()=>fd.getState().openSettings(),className:`justify-between`,children:[`Settings`,/* @__PURE__ */ Z(`svg`,{"aria-hidden":!0,viewBox:`0 0 16 16`,className:`-mr-1 size-4 text-menu-muted`,children:/* @__PURE__ */ Z(`path`,{d:`M6 3.5 10.5 8 6 12.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.75`,strokeLinecap:`round`,strokeLinejoin:`round`})})]}),x&&/* @__PURE__ */ Z(wg,{pressed:s,onPress:()=>S(!s),className:`justify-between`,children:`Fullscreen`}),SE&&/* @__PURE__ */ Z(iy,{fallback:null,children:/* @__PURE__ */ Z(SE,{})}),/* @__PURE__ */ Q(`p`,{className:`mt-2 mb-1 flex items-center justify-center gap-1.5 text-[13px] text-menu-muted pointer-coarse:hidden`,children:[/* @__PURE__ */ Z(`kbd`,{className:`rounded border border-menu-edge bg-menu-raised px-1.5 font-sans text-[11px] leading-4 font-semibold text-white/80`,children:`Esc`}),`brings this menu back`]})]}):null]})]})}catch(e){throw O(`MenuLayer`,e)}}ME.displayName=`PlayMenu`,NE.displayName=`MenuLayer`;function PE({screen:e}){try{let t=xy(li,ea).find(Wr),n=Cy(t,ea);return n?/* @__PURE__ */ Z(e,{seconds:n.seconds,secondsLeft:n.secondsLeft}):null}catch(e){throw O(`RespawnCover`,e)}}PE.displayName=`RespawnCover`;function FE({seconds:e,secondsLeft:t}){try{let n=Math.ceil(t),r={"--loading-progress":e>0?t/e:0};return/* @__PURE__ */ Z(`div`,{className:`${B.root} bg-loading-background/55`,style:r,role:`timer`,"aria-label":`Respawning`,children:/* @__PURE__ */ Q(`div`,{className:B.foot,children:[/* @__PURE__ */ Z(`p`,{className:`font-display text-[clamp(2.25rem,6vw,4.5rem)] leading-[0.92] font-bold tracking-tight tabular-nums`,children:`Back in ${n}`}),/* @__PURE__ */ Z(`div`,{className:`mt-8`,children:/* @__PURE__ */ Z(`div`,{className:B.track,children:/* @__PURE__ */ Z(`div`,{className:B.fill})})}),/* @__PURE__ */ Z(`div`,{className:B.under,children:/* @__PURE__ */ Z(`span`,{className:B.stage,children:`Respawning`})})]})})}catch(e){throw O(`RespawnScreen`,e)}}FE.displayName=`RespawnScreen`;var IE=1e3;function LE({paced:e}){try{let t=ov(e=>e.get),n=ov(e=>e.frameloop),r=P(e=>e.frameRateCap),i=Jw(qw(e=>e.refreshRate),r),a=J(new uT),o=J(0),s=J(0),c=J(null),l=J(0),u=ly(e=>{if(c.current!==null&&a.current.addFrame(e,e-c.current),c.current=e,e-s.current<IE)return;s.current=e;let t=a.current.estimateRefreshRate(e);t!==null&&Number.isFinite(t)&&(o.current=Math.max(o.current,t),o.current!==qw.getState().refreshRate&&qw.setState({refreshRate:o.current}))},[]);return G(()=>{let e=()=>{a.current=new uT,o.current=0,c.current=null};return window.addEventListener(`resize`,e),document.addEventListener(`visibilitychange`,e),()=>{window.removeEventListener(`resize`,e),document.removeEventListener(`visibilitychange`,e)}},[]),V(D(`FrameRateCap`,t=>{l.current=t.clock.elapsedTime,!e&&t.frameloop===`always`&&u(performance.now())})),K(()=>{let e=t();n===`never`&&!me.frameloop&&(qh(e),e.clock.start()),e.clock.elapsedTime=l.current},[n,t]),G(()=>{if(!e||i<=1||n!==`never`||me.frameloop)return;c.current=null;let r=0,a=0,o=e=>{u(e),r+=1,r%i===0&&(oT(e),RE(t())),a=requestAnimationFrame(o)};return a=requestAnimationFrame(o),()=>cancelAnimationFrame(a)},[e,i,n,t,u]),null}catch(e){throw O(`FrameRateCap`,e)}}function RE(e){e.advance(void 0,!0)}LE.displayName=`FrameRateCap`;var zE=[1,.85,.7,.6,.5],BE=4,VE=.85,HE=.95,UE=.5,WE=3,GE=500,KE=1e3,qE=5e3,JE=2,YE=1e4,XE=1e4,ZE=3e5,QE=1.05,$E=2;function eD({minimumScale:e,maximumScale:t},n=1){let r=Math.min(t,n);return r<=e?[r]:[r,...zE.filter(t=>t<r&&t>e),e]}function tD(e,t){return Math.min(t??60,Math.max(e??60,60))}function nD(){return{notch:0,windows:[],fruitlessDrops:0,stopped:!1,holdOffs:[]}}function rD(e){let t=0,n=0;for(let r of e)t+=r.frames,n+=r.milliseconds;return n>0?t*1e3/n:0}function iD(e,t,n){return{...e,notch:t,windows:[],changedAt:n}}function aD(e,t,n){let r=e.find(e=>e.notch===t),i=r?Math.min(r.milliseconds*2,ZE):XE;return[...e.filter(e=>e.notch!==t),{notch:t,until:n+i,milliseconds:i}]}function oD(e,t,{notches:n,targetFrameRate:r}){let{now:i}=t,a=n.length-1,o=Math.min(e.notch,a),s=e.changedAt??i-t.milliseconds-GE,c={...e,notch:o,changedAt:s};if(i-t.milliseconds<s+GE-1)return c;let l=t.frames*1e3/t.milliseconds;if(c.trial){if(l<r*HE)return{...iD(c,c.trial.from,i),trial:void 0,holdOffs:aD(c.holdOffs,o,i)};let e=c.trial.windowsLeft-1;return e>0?{...c,trial:{...c.trial,windowsLeft:e}}:{...c,trial:void 0,windows:[],probation:{notch:o,until:i+YE}}}let u=[...c.windows,t].slice(-4);if(c={...c,windows:u},c.probe){if(u.length<BE)return c;if(rD(u)>=c.probe.frameRate*QE)return{...c,probe:void 0,fruitlessDrops:0};let e=c.fruitlessDrops+1;return{...iD(c,c.probe.from,i),probe:void 0,fruitlessDrops:e,stopped:e>=$E}}if(c.stopped)return c;let d=u.length>=2&&u.slice(-2).every(e=>e.frames*1e3/e.milliseconds<r*UE),f=rD(u),p=u.filter(e=>e.frames*1e3/e.milliseconds<r*VE).length,m=u.length===BE&&f<r*VE&&p>=WE;if((d||m)&&o<a&&i-s>=KE){let e=c.probation&&c.probation.until>i?c.probation.notch:void 0;return{...iD(c,o+1,i),probe:{from:o,frameRate:f},probation:void 0,holdOffs:e===void 0?c.holdOffs:aD(c.holdOffs,e,i)}}let h=c.holdOffs.some(e=>e.notch===o-1&&e.until>i);return o>0&&!h&&u.length===BE&&f>=r*HE&&i-s>=qE?{...iD(c,o-1,i),trial:{from:o,windowsLeft:JE}}:c}function sD({children:e}){try{let{quality:n}=se(`QualityRig`),r=ov(e=>e.get),i=ov(e=>e.setDpr),o=W(n,e=>e.deviceRead),s=W(n,ie),c=W(n,e=>Math.min(window.devicePixelRatio,p(e).pixelRatio)*a(e));return K(()=>{n.getState().deviceRead||n.getState().detectDevice({renderer:ye(r().gl),coarsePointer:l(),screenPixels:t(),devicePixelRatio:h()})},[n,r]),K(()=>i(c),[i,c]),/* @__PURE__ */ Q(nb,{children:[o&&s&&/* @__PURE__ */ Z(cD,{quality:n}),o?e:null]})}catch(e){throw O(`QualityRig`,e)}}function cD({quality:e}){try{let t=N(e=>e.covered),n=M(e=>e.paused&&!e.editing),r=Xw(P(e=>e.frameRateCap)),i=ov(e=>e.frameloop===`never`),a=te(),o=W(e,ae),s=W(e,e=>e.renderScale??1),c=W(e,e=>e.dynamicResolutionBounds),l=q(()=>eD(c,s),[c,s]),u=J(nD()),d=J({frames:0,since:-1});return G(()=>{u.current=nD(),d.current.since=-1,e.getState().setDynamicScale(l[0])},[e,l,a,o]),G(()=>{let e=()=>{d.current.since=-1};return window.addEventListener(`resize`,e),document.addEventListener(`visibilitychange`,e),()=>{window.removeEventListener(`resize`,e),document.removeEventListener(`visibilitychange`,e)}},[]),V(D(`DynamicResolution`,()=>{let a=d.current;if(t||n||r||i||document.hidden){a.since=-1;return}let o=performance.now();if(a.since<0){a.since=o,a.frames=0;return}a.frames+=1;let s=o-a.since;if(s<500)return;let f=oD(u.current,{frames:a.frames,milliseconds:s,now:o},{notches:l,targetFrameRate:tD(qw.getState().refreshRate,c.targetFrameRate)});f.notch!==u.current.notch&&e.getState().setDynamicScale(l[f.notch]),u.current=f,a.since=o,a.frames=0})),null}catch(e){throw O(`DynamicResolution`,e)}}sD.displayName=`QualityRig`,cD.displayName=`DynamicResolution`;var lD=/* @__PURE__ */ new Float32Array(1),uD=/* @__PURE__ */ new Float32Array(2),dD=/* @__PURE__ */ new Float32Array(3),fD=/* @__PURE__ */ new Float32Array(4),pD=/* @__PURE__ */ new Float32Array(9),mD=/* @__PURE__ */ new Float32Array(16),hD=[];for(let e of[lD,uD,dD,fD,pD,mD])hD[e.length]=e;function gD(e,t){let n=hD[e.length],r=!1;for(let i=0;i<e.length;i+=1){let a=t[i];e[i]!==a&&(r=!0),e[i]=a,n[i]=a}return r}function _D(e,t){let n=typeof t==`number`?t:Number(t);this.cache[0]!==n&&(this.cache[0]=lD[0]=n,e.uniform1fv(this.addr,lD))}function vD(e,t){let n=this.cache,r,i;if(t instanceof Iv)r=t.x,i=t.y;else if(typeof t==`object`&&`x`in t)r=t.x,i=t.y;else{gD(n,t)&&e.uniform2fv(this.addr,uD);return}(n[0]!==r||n[1]!==i)&&(n[0]=uD[0]=r,n[1]=uD[1]=i,e.uniform2fv(this.addr,uD))}function yD(e,t){let n=this.cache;if(t instanceof H){if(n[0]===t.x&&n[1]===t.y&&n[2]===t.z)return;n[0]=dD[0]=t.x,n[1]=dD[1]=t.y,n[2]=dD[2]=t.z}else if(t instanceof mv){if(n[0]===t.r&&n[1]===t.g&&n[2]===t.b)return;n[0]=dD[0]=t.r,n[1]=dD[1]=t.g,n[2]=dD[2]=t.b}else if(typeof t==`object`&&`x`in t){let e=`z`in t?t.z??0:0;if(n[0]===t.x&&n[1]===t.y&&n[2]===e)return;n[0]=dD[0]=t.x,n[1]=dD[1]=t.y,n[2]=dD[2]=e}else if(typeof t==`object`&&`r`in t){if(n[0]===t.r&&n[1]===t.g&&n[2]===t.b)return;n[0]=dD[0]=t.r,n[1]=dD[1]=t.g,n[2]=dD[2]=t.b}else if(!gD(n,t))return;e.uniform3fv(this.addr,dD)}function bD(e,t){let n=this.cache,r,i,a,o;if(t instanceof Lv)r=t.x,i=t.y,a=t.z,o=t.w;else if(t instanceof jv)r=t.x,i=t.y,a=t.z,o=t.w;else if(typeof t==`object`&&`x`in t)r=t.x,i=t.y,a=`z`in t?t.z??0:0,o=`w`in t?t.w??0:0;else{gD(n,t)&&e.uniform4fv(this.addr,fD);return}(n[0]!==r||n[1]!==i||n[2]!==a||n[3]!==o)&&(n[0]=fD[0]=r,n[1]=fD[1]=i,n[2]=fD[2]=a,n[3]=fD[3]=o,e.uniform4fv(this.addr,fD))}function xD(e,t){let n=t instanceof bv?t.elements:CD(t);gD(this.cache,n)&&e.uniformMatrix3fv(this.addr,!1,pD)}function SD(e,t){let n=t instanceof xv?t.elements:CD(t);gD(this.cache,n)&&e.uniformMatrix4fv(this.addr,!1,mD)}function CD(e){return typeof e==`object`&&`elements`in e?e.elements:e}var wD=/* @__PURE__ */ new Map([[5126,[_D,1]],[35664,[vD,2]],[35665,[yD,3]],[35666,[bD,4]],[35675,[xD,9]],[35676,[SD,16]]]);function TD(e){for(let t of e.seq){if(t.seq){TD({seq:t.seq});continue}if(t.size!==void 0||t.type===void 0)continue;let e=wD.get(t.type);if(!e||t.setValue===e[0])continue;let[n,r]=e,i=Array.isArray(t.cache)?t.cache:[],a=new Float64Array(r).fill(NaN);for(let e=0;e<r;e+=1){let t=i[e];typeof t==`number`&&(a[e]=t)}t.cache=a,t.setValue=n}}var ED=/* @__PURE__ */ new WeakSet;function DD(e){let t=e.info.programs;if(t)for(let e of t)!ED.has(e)&&e.isReady()&&(ED.add(e),TD(e.getUniforms()))}function OD(){try{let e=ov(e=>e.get),t=am(ud.ProgramWarmUp),n=N(e=>e.mountedScene!==null),r=N(e=>e.covered),i=N(e=>e.mountedScene!==null&&!e.loading&&(e.settled||!e.covered)),[a,o]=Y(0),s=J(null);return G(()=>{if(t&&!kD(e().gl))return Nd.setState({runsFrames:!1}),()=>Nd.setState({runsFrames:!0})},[e,t]),G(()=>{let{gl:i,scene:a,invalidate:o}=e();if(!t||!n||!r||!kD(i))return;let s=kp(a);return o(),s},[e,t,n,r]),G(()=>{if(!i)return;let{gl:n,scene:r,invalidate:a}=e(),o=()=>N.setState({shadersCompiled:!1});if(!t||!kD(n))return N.setState({shadersCompiled:!0}),o;let s=Hp(r,()=>N.setState({shadersCompiled:!0}));return a(),()=>{s(),o()}},[e,t,i,a]),V(D(`WarmPrograms`,({gl:e,invalidate:n})=>{t&&DD(e);let{covered:r,settled:i,shadersCompiled:a,ready:c}=N.getState();if(!r||!i||!a||c){s.current=null;return}let l=e.info?.programs?.length??0;s.current===l?N.setState({ready:!0}):s.current===null?s.current=l:(s.current=null,o(e=>e+1)),n()})),null}catch(e){throw O(`WarmPrograms`,e)}}function kD(e){return typeof e?.compileAsync==`function`}OD.displayName=`WarmPrograms`;function AD({name:e,component:t}){try{let{scenes:n}=se(`Scene`);return G(()=>n.getState().registerScene(e,t),[n,e,t]),null}catch(e){throw O(`Scene`,e)}}function jD(){try{let{scenes:e,active:t,reloads:r}=n(),i=t!==null&&Object.hasOwn(e,t)?e[t]:null,a=om({id:t===null?null:Vd(t),name:t??void 0,kind:$d.Scene,type:i??void 0});return G(()=>(N.setState({mountedScene:t}),t!==null&&S(c.Scene,t),()=>N.setState({mountedScene:null})),[t]),/* @__PURE__ */ Z(cm,{value:a,children:i&&/* @__PURE__ */ Z(C,{value:``,children:/* @__PURE__ */ Z(i,{})},`${t}:${r}`)})}catch(e){throw O(`ActiveScene`,e)}}AD.displayName=`Scene`,jD.displayName=`ActiveScene`;var MD=()=>void 0,ND={seconds:10,left:5};function PD(){try{return/* @__PURE__ */ Z(Dm,{children:/* @__PURE__ */ Q(`div`,{className:`fixed inset-0 flex flex-wrap content-start items-start gap-4 p-4`,children:[/* @__PURE__ */ Z(`div`,{className:xm,children:/* @__PURE__ */ Z(Zy,{children:`Glass`})}),/* @__PURE__ */ Z(`div`,{className:$(ym,`p-3`),children:/* @__PURE__ */ Z(Zy,{children:`Menu`})}),/* @__PURE__ */ Z(`div`,{className:$(Tm,`p-3`),children:/* @__PURE__ */ Z(Zy,{children:`Solid menu`})}),Object.values(My).map(e=>/* @__PURE__ */ Z(Ay,{variant:e,onPress:MD,children:e},e)),/* @__PURE__ */ Z(Ay,{onPress:MD,pressed:!1,label:`Off`,children:/* @__PURE__ */ Z(Ry,{name:`check`})}),/* @__PURE__ */ Z(Yy,{label:`Tap`,onTap:MD,children:/* @__PURE__ */ Z(Ry,{name:`coins`})}),/* @__PURE__ */ Z(Iy,{level:2,children:`Heading`}),/* @__PURE__ */ Z(Py,{icon:`coins`,label:`Coins`,value:12}),/* @__PURE__ */ Z(ky,{label:`Health`,value:40,maximum:100,showValue:!0}),/* @__PURE__ */ Z(Wy,{value:.5,variant:Gy.HealthFill,className:`h-2 w-24`}),/* @__PURE__ */ Z(Ey,{slots:[{id:`cooldown`,label:`Cooldown`,hotkey:`1`,icon:/* @__PURE__ */ Z(Ry,{name:`check`}),cooldown:ND},{id:`casting`,label:`Casting`,icon:/* @__PURE__ */ Z(Ry,{name:`coins`}),casting:ND},{id:`short`,label:`Short`,icon:/* @__PURE__ */ Z(Ry,{name:`check`}),noResource:25,outOfRange:!0}],onPress:MD}),/* @__PURE__ */ Z(`div`,{className:`menu-scroll h-16 w-32 overflow-y-auto`,children:/* @__PURE__ */ Z(`p`,{className:`h-32 text-white`,children:`Scroll`})}),/* @__PURE__ */ Z(`input`,{type:`range`,className:`menu-slider w-32`,defaultValue:50}),/* @__PURE__ */ Z(`div`,{className:`size-24 bg-black/50 backdrop-blur-sm`}),/* @__PURE__ */ Z(`div`,{className:$(xm,`animate-ping`),children:/* @__PURE__ */ Z(Zy,{children:`Press`})})]})})}catch(e){throw O(`EngineWarmHud`,e)}}PD.displayName=`EngineWarmHud`;function FD({entity:e,children:t}){try{return e.has(zi)?/* @__PURE__ */ Z(ID,{entity:e,children:t}):/* @__PURE__ */ Z(LD,{entity:e,children:t})}catch(e){throw O(`SpawnedView`,e)}}function ID({entity:e,children:t}){try{let n=e.get(qi)?.name,r=n?Gd(n):void 0;return/* @__PURE__ */ Z(iy,{fallback:/* @__PURE__ */ Z(Jp,{name:`a spawned character`}),children:r?/* @__PURE__ */ Z(Wg,{entity:e,body:r,children:()=>t?.(e)}):/* @__PURE__ */ Z(Bg,{entity:e,children:()=>t?.(e)})})}catch(e){throw O(`SpawnedCharacterView`,e)}}function LD({entity:e,children:t}){try{let n=Cy(e,Xc),r=Cy(e,tn);return/* @__PURE__ */ Q(`group`,{ref:Xp(e),children:[n?/* @__PURE__ */ Z(tm,{name:n.name,animation:n.animation,entity:e}):r&&/* @__PURE__ */ Z(gb,{color:It(r.item).color}),t?.(e)]})}catch(e){throw O(`SpawnedObjectView`,e)}}function RD(){try{return re()?null:/* @__PURE__ */ Z(zD,{})}catch(e){throw O(`SpawnedViews`,e)}}function zD(){try{return xy(du,Vv(zi,Xc,tn),Bv(ju),Bv($l)).map(e=>/* @__PURE__ */ Z(FD,{entity:e},e))}catch(e){throw O(`SpawnedEntities`,e)}}FD.displayName=`SpawnedView`,ID.displayName=`SpawnedCharacterView`,LD.displayName=`SpawnedObjectView`,RD.displayName=`SpawnedViews`,zD.displayName=`SpawnedEntities`;var BD=typeof __GAME_ENGINE_DEV__==`boolean`&&__GAME_ENGINE_DEV__?oy(()=>import(`./CCh4CnV9.js`).then(({ReplayLayer:e})=>({default:e}))):void 0;function VD(){return typeof __GAME_ENGINE_DEV__==`boolean`?__GAME_ENGINE_DEV__:typeof process<`u`&&process.env.VITEST===`true`}function HD(e){try{let t=UD(e.plugins);return/* @__PURE__ */ Z(WD,{...e},t)}catch(e){throw O(`Game`,e)}}function UD(e){let t=J(void 0),n=oc(e??[]),r=t.current;return r?(r.entries.length!==n.length||r.entries.some((e,t)=>e!==n[t]))&&(t.current={entries:n,generation:r.generation+1}):t.current={entries:n,generation:0},t.current.generation}function WD({name:e,start:t,plugins:n,physics:r,room:i,levels:a,save:o,loadingScreen:s={},respawnScreen:c=FE,menu:l=!0,warmUpMilliseconds:u,defaultVolumes:d,defaultVoiceMode:f,quality:p,gl:m,shadows:h=cd.Percentage,onCreated:g,children:_}){try{let[v]=Y(()=>({gl:ad(m),shadows:h,onCreated:e=>{E&&me.createCanvas?.(e),g?.(e)}})),[y]=Y(d),[b]=Y(f);K(()=>{if(y)return P.getState().setDefaultVolumes(y),()=>P.getState().setDefaultVolumes({})},[y]),K(()=>{if(b)return P.getState().setDefaultVoiceMode(b),()=>P.getState().setDefaultVoiceMode(void 0)},[b]);let[x]=Y(()=>{let e=Ki(n,r);VD()&&e.add(_l),i&&e.add(bl),a&&co(e,a);let t=GD();i||(Bi(e,t),ot(e,gc(t)));let s=ag(e,{save:o,player:()=>({id:Hm.getState().player.id??``}),onRefuse:t=>og(e,t),seed:()=>t});return sg(e,s),e}),[S]=Y(i),C=HC(S),w=M(e=>e.paused&&!e.editing)&&!S,[ee]=Y(p),te=q(()=>oe(e,void 0,ee),[e,ee]),ne=P(e=>e.reducedMotion),re=Xw(P(e=>e.frameRateCap));G(()=>Qf(window,x,e=>{let{freeCamera:t,mapCamera:n}=M.getState();Rd(nf.getState())||t||n||lm(x,e,{})}),[x]),G(Rm,[]),K(()=>void r_(),[]);let ie=/* @__PURE__ */ Q(ev,{"data-game-name":e,gl:v.gl,shadows:v.shadows,onCreated:v.onCreated,frameloop:E&&me.frameloop?me.frameloop:w?`demand`:re?`never`:`always`,camera:{position:qs.position,fov:qs.fov},className:tb.outlinedText,style:{isolation:`isolate`},children:[/* @__PURE__ */ Z(iy,{fallback:null,children:/* @__PURE__ */ Z(oC,{room:C})}),/* @__PURE__ */ Q(sD,{children:[/* @__PURE__ */ Z(iy,{fallback:null,children:/* @__PURE__ */ Z(jD,{})}),!S&&/* @__PURE__ */ Z(iy,{fallback:null,children:/* @__PURE__ */ Z(RD,{})})]}),/* @__PURE__ */ Z(xx,{}),/* @__PURE__ */ Z(OD,{}),/* @__PURE__ */ Z(LE,{paced:re&&!w}),/* @__PURE__ */ Z(xT,{}),/* @__PURE__ */ Z(Jh,{})]});return/* @__PURE__ */ Z(fb,{fallbackRender:({error:e})=>JD(e,x,s),onError:(e,{componentStack:t})=>{Mu(e,{boundary:Iu.Render,component:Pu(t),tick:dl(x),scene:te.scenes.getState().active??void 0,componentStack:t??void 0}),Ix(e)},children:/* @__PURE__ */ Z(rb,{children:/* @__PURE__ */ Z(T,{value:te,children:/* @__PURE__ */ Z(cb,{reducedMotion:ne===null?`user`:ne?`always`:`never`,children:/* @__PURE__ */ Q(yy,{world:x,children:[/* @__PURE__ */ Q(IC,{name:e,world:x,save:o,room:S!==void 0,children:[/* @__PURE__ */ Q(pe,{plugins:ls(x),children:[E?/* @__PURE__ */ Z(iy,{fallback:null,children:/* @__PURE__ */ Z(KD,{children:ie})}):ie,/* @__PURE__ */ Z(Om,{warmUpMilliseconds:u}),/* @__PURE__ */ Z(PD,{}),/* @__PURE__ */ Z(TT,{}),/* @__PURE__ */ Z(RT,{}),/* @__PURE__ */ Z(bE,{}),/* @__PURE__ */ Z(VC,{}),_]}),/* @__PURE__ */ Z(qD,{scene:t})]}),c&&/* @__PURE__ */ Z(PE,{screen:c}),s&&/* @__PURE__ */ Z(sw,{screen:s}),BD&&/* @__PURE__ */ Z(iy,{fallback:null,children:/* @__PURE__ */ Z(BD,{game:e,room:C?.url})}),Z(l?ME:Nw,{})]})})})})})}catch(e){throw O(`GameWorld`,e)}}function GD(){return ma({search:globalThis.location?.search??``,test:typeof process<`u`&&process.env.VITEST===`true`,draw:()=>crypto.getRandomValues(/* @__PURE__ */ new Uint32Array(1))[0]??0})}function KD({children:e}){try{return le&&cy(le),e}catch(e){throw O(`AwaitReplay`,e)}}function qD({scene:e}){try{let{showBoundary:t}=pb(),{scenes:n}=se(`SceneStartup`);return G(()=>{try{n.getState().go(m()??e)}catch(e){t(e)}return()=>n.setState({active:null})},[n,e,t]),null}catch(e){throw O(`SceneStartup`,e)}}function JD(e,t,n){let r=e instanceof DC;if(t.has(_l)&&!r)throw e;let i=n&&fw(n)?n:{};return r?/* @__PURE__ */ Z(rw,{title:i.title,art:i.art,value:null,label:`Stopped`,problem:{kind:tw.Failure,title:`We couldn't load your progress`,detail:e.message}}):/* @__PURE__ */ Z(rw,{title:i.title,art:i.art,value:null,label:`Stopped`,problem:{kind:tw.Failure,title:`The game stopped with an error`,detail:e instanceof Error?e.message:String(e)}})}HD.displayName=`Game`,WD.displayName=`GameWorld`,KD.displayName=`AwaitReplay`,qD.displayName=`SceneStartup`;function YD(e,{onPress:t,onRelease:n,repeat:r=!1}){let i=J({onPress:t,onRelease:n});G(()=>{i.current={onPress:t,onRelease:n}}),G(()=>Id(e,{repeat:r,onPress:e=>i.current.onPress?.(e),onRelease:()=>i.current.onRelease?.()}),[e,r])}function XD(e){let[t,n]=Y(()=>Fd(e));return YD(e,{onPress:()=>n(!0),onRelease:()=>n(!1)}),t}function ZD(e){let t=de(),n=ib(),r=!t&&n?sm(n):void 0;G(()=>{if(r)return()=>Md.setState(({[r.id]:e,...t})=>t,!0)},[r]),G(()=>{r&&Md.setState({[r.id]:{name:r.name,schema:e}})})}var QD=/* @__PURE__ */ function(e){return e.Glass=`glass`,e.Bare=`bare`,e}({}),$D={glass:`${xm} p-4`,bare:``},eO={top:I.top,right:I.right,bottom:I.bottom,left:I.left,maxHeight:`calc(100% - 2em - 6px - ${I.top} - ${I.bottom})`,maxWidth:`calc(100% - 2em - 6px - ${I.left} - ${I.right})`};function tO({title:e,overline:t,onClose:n,actions:r,children:i,variant:a=`glass`,className:o,dialogClassName:s,classNames:c={}}){try{let l=J(null);return G(()=>{let e=l.current;return e?.showModal(),()=>e?.close()},[]),/* @__PURE__ */ Q(`dialog`,{ref:l,"aria-label":e,style:eO,onCancel:e=>{e.preventDefault(),n?.()},onClick:e=>{e.target===e.currentTarget&&n?.()},className:$(`m-auto flex-col items-center gap-4 bg-transparent p-2 open:flex backdrop:bg-black/40`,s,c.dialog),children:[/* @__PURE__ */ Q(`div`,{"data-pane":!0,className:$(`flex min-h-0 min-w-64 flex-col items-center gap-3 overflow-y-auto`,$D[a],o,c.pane),children:[t&&/* @__PURE__ */ Z(Zy,{size:`xs`,className:c.overline,children:t}),/* @__PURE__ */ Z(Iy,{level:2,className:$(a===`bare`&&`sr-only`,c.title),children:e}),i]}),r&&/* @__PURE__ */ Z(`div`,{className:$(`flex shrink-0 gap-3`,c.actions),children:r})]})}catch(e){throw O(`Dialog`,e)}}function nO({open:e,title:t,overline:n,pause:r=!1,onClose:i,actions:a,children:o,variant:s,className:c,dialogClassName:l,classNames:u,freeCursor:d=!0}){try{let f=dy();bm(e&&d);let p=W(nf,e=>e.stack.at(-1)?.id===f);return G(()=>{e&&nf.getState().open({id:f,title:t,pause:r})},[e,f,t,r]),G(()=>{if(e)return()=>nf.getState().close(f)},[e,f]),!e||!p?null:/* @__PURE__ */ Z(Am,{children:/* @__PURE__ */ Z(tO,{title:t,overline:n,onClose:i,actions:a,variant:s,className:c,dialogClassName:l,classNames:u,children:o})})}catch(e){throw O(`Modal`,e)}}tO.displayName=`Dialog`,nO.displayName=`Modal`;var rO=[0,0,-1];function iO({position:e,rotation:t,scale:n,grip:r,forward:i=rO,children:a}){try{let o=cy(Rg),s=o?.entity,c=Os.grip,l=r?.thumb??c.thumb,u=r?.index??c.index,d=r?.middle??c.middle,f=r?.ring??c.ring,p=r?.little??c.little;K(()=>{if(s?.isAlive())return s.add(Aa({curl:{thumb:l,index:u,middle:d,ring:f,little:p}})),()=>{s.isAlive()&&s.remove(Aa)}},[s,l,u,d,f,p]);let[m,h,g]=i,[_=0,v=0,y=0]=t??[];return K(()=>{if(!s?.isAlive())return;let e=new H(m,h,g).applyEuler(new hv(_,v,y)).normalize();return s.add(pa({forward:e})),()=>{s.isAlive()&&s.remove(pa)}},[s,m,h,g,_,v,y]),o?rv(/* @__PURE__ */ Z(`group`,{position:e,rotation:t,scale:n,children:a}),o.object):null}catch(e){throw O(`HeldItemView`,e)}}iO.displayName=`HeldItemView`;function aO(e){try{return/* @__PURE__ */ Z(iO,{...e})}catch(e){throw O(`HeldItem`,e)}}aO.displayName=`HeldItem`;var oO=/* @__PURE__ */ new WeakMap;function sO(){let e=X();return q(()=>({show:t=>oO.get(e)?.show(t)}),[e])}var cO=new H,lO=new H,uO=new H;function dO(e){e.style.opacity=`0`;let t=e.firstElementChild;t&&(t.textContent=``)}function fO({capacity:e=48,className:t}){try{let n=X(),r=de(),i=J([]),a=J([]),o=J(0),s=$(`block text-sm font-bold text-white [text-shadow:1px_1px_0_#000]`,t);return G(()=>{if(r)return;let t=i.current;return t.length=e,oO.set(n,{show:({at:n,text:r,color:i=``,seconds:c=.75,rise:l=1,className:u=``,fade:d=!0})=>{let f=t.findIndex(e=>e===void 0);if(f<0){f=0;for(let n=1;n<e;n++)t[n].shown<t[f].shown&&(f=n)}let p=t[f]?.position??new H;t[f]={position:ou(p,n),text:r,color:i,className:u,fade:d,seconds:c,left:c,rise:l,shown:o.current++};let m=a.current[f]?.firstElementChild;if(m instanceof HTMLElement){m.textContent=r,m.style.color=i,m.className=$(s,u);for(let e of m.getAnimations?.()??[])e.cancel(),e.play()}}}),()=>{oO.delete(n),t.fill(void 0)}},[n,r,e,s]),v_(`floating text`,()=>({shown:i.current.flatMap(e=>e?[e.text]:[])})),V(D(`FloatingText`,({camera:t,size:n},r)=>{let o=i.current;for(let i=0;i<e;i++){let e=a.current[i];if(!e)continue;let s=o[i];if(!s){e.style.opacity!==`0`&&dO(e);continue}if(s.left-=r,s.left<=0){o[i]=void 0,dO(e);continue}if(s.position.y+=s.rise*r,t.getWorldDirection(lO),uO.copy(s.position).sub(t.position).dot(lO)<0){e.style.opacity=`0`;continue}cO.copy(s.position).project(t);let c=(cO.x+1)/2*n.width,l=(1-cO.y)/2*n.height;e.style.opacity=s.fade?String(s.left/s.seconds):`1`,e.style.transform=`translate(${c}px, ${l}px) translate(-50%, -50%)`}})),/* @__PURE__ */ Z(Am,{children:Array.from({length:e},(e,t)=>/* @__PURE__ */ Z(`span`,{ref:e=>{a.current[t]=e},className:`pointer-events-none fixed top-0 left-0 opacity-0 will-change-[transform,opacity]`,children:/* @__PURE__ */ Z(`span`,{className:s})},t))})}catch(e){throw O(`FloatingText`,e)}}fO.displayName=`FloatingText`;function pO({children:e}){try{return xy(ju,du,Bv(Dl)).map(t=>/* @__PURE__ */ Z(mO,{entity:t,children:e},t))}catch(e){throw O(`Replicas`,e)}}var mO=sy(FD);pO.displayName=`Replicas`,mO.displayName=`ReplicaView`,iv({ThreeAudio:uv});function hO({url:e,loop:t=!1,volume:n=1,channel:r=gp.Effects}){try{let i=cy(Cp(e)),a=cy(Qp)!==null,o=ov(e=>e.camera),[s]=Y(()=>new dv),c=J(null);return G(()=>(o.add(s),()=>{o.remove(s)}),[o,s]),G(()=>lp(s.gain,{channel:r}),[s,r]),G(()=>{let e=c.current;if(e&&i)return e.setBuffer(i),e.setLoop(t),e.play(),()=>{e.stop()}},[i,t]),G(()=>{c.current?.setVolume(n)},[n]),Z(a?`positionalAudio`:`threeAudio`,{ref:c,args:[s]})}catch(e){throw O(`SoundView`,e)}}hO.displayName=`SoundView`;function gO(e){try{return de()||mp()===void 0?null:/* @__PURE__ */ Z(iy,{fallback:null,children:/* @__PURE__ */ Z(hO,{...e})})}catch(e){throw O(`Sound`,e)}}gO.displayName=`Sound`;function _O(e,t,n=1){return new wv({color:e,emissive:e,emissiveIntensity:t,toneMapped:!1,transparent:n<1,opacity:n,depthWrite:n>=1})}function vO({color:e,from:t,to:n,height:r=.9,lift:i=.9,radius:a=.05,seconds:o=.35,intensity:s=3}){try{let c=J(0),l=q(()=>{let e=t.clone().setY(t.y+r),o=n.clone().setY(n.y+r),s=e.clone().lerp(o,.5);return s.y+=i*2,new Fv(new Av(e,s,o),24,a,8,!1)},[t,n,r,i,a]),u=q(()=>_O(e,s,.95),[e,s]);return G(()=>()=>l.dispose(),[l]),G(()=>()=>u.dispose(),[u]),V(D(`SpellBeam`,(e,t)=>{c.current+=t,u.opacity=.95*Math.max(0,1-c.current/o)})),/* @__PURE__ */ Z(`mesh`,{geometry:l,material:u})}catch(e){throw O(`SpellBeam`,e)}}vO.displayName=`SpellBeam`;var yO=.02,bO=new Nv(.92,1,48).rotateX(-Math.PI/2);function xO({color:e,radius:t,seconds:n=.45,intensity:r=3}){try{let i=J(null),a=J(0),o=q(()=>_O(e,r,.9),[e,r]);return G(()=>()=>o.dispose(),[o]),V(D(`SpellRing`,(e,r)=>{let o=i.current;if(!o)return;a.current+=r;let s=Math.min(1,a.current/n),c=1-(1-s)**2;o.scale.setScalar(.3+c*t),o.visible=s<1})),/* @__PURE__ */ Z(`mesh`,{ref:i,geometry:bO,material:o,position:[0,yO,0],scale:.3})}catch(e){throw O(`SpellRing`,e)}}xO.displayName=`SpellRing`;var SO=new pv(1,40).rotateX(-Math.PI/2),CO=.15;function wO({color:e,radius:t=2.2,seconds:n=1.6,intensity:r=1.4}){try{let i=J(null),a=J(0),o=q(()=>_O(e,r,.55),[e,r]);return G(()=>()=>o.dispose(),[o]),V(D(`SpellRunes`,(e,r)=>{let s=i.current;s&&(a.current+=r,s.scale.setScalar(t*Math.min(1,a.current/CO)),o.opacity=.55*Math.max(0,1-a.current/n))})),/* @__PURE__ */ Z(`mesh`,{ref:i,geometry:SO,material:o,position:[0,yO,0],scale:0})}catch(e){throw O(`SpellRunes`,e)}}wO.displayName=`SpellRunes`;var TO=new Ev(1).scale(.09,.32,.09);function EO({color:e,count:t=14,ring:n=1.6,height:r=.45,seconds:i=.9,intensity:a=2.4}){try{let o=J(null),s=J(0),c=q(()=>_O(e,a,.9),[e,a]);return G(()=>()=>c.dispose(),[c]),V(D(`SpellShards`,(e,t)=>{let n=o.current;if(!n)return;s.current+=t;let a=Math.min(1,s.current/i);n.position.y=yO+r*Math.sin(a*Math.PI),n.visible=a<1})),/* @__PURE__ */ Z(`group`,{ref:o,position:[0,yO,0],children:Array.from({length:t},(e,r)=>{let i=r/t*Math.PI*2;return/* @__PURE__ */ Z(`mesh`,{geometry:TO,material:c,position:[Math.cos(i)*n,0,Math.sin(i)*n],rotation:[.25,i,r%2?.2:-.2]},r)})})}catch(e){throw O(`SpellShards`,e)}}EO.displayName=`SpellShards`;var DO=new Ev(1),OO=new Ev(1,1),kO=new Ev(1),AO=new H(0,0,1),jO=new H,MO=new H,NO=new jv;function PO({color:e,length:t=1.1,width:n=.09,crystals:r=4,orbit:i=.16,rate:a=12,intensity:o=2.2}){try{let s=J(null),c=J(null),l=J(null),u=q(()=>({spear:_O(e,o,.85),core:_O(`#ffffff`,4),crystal:_O(e,3)}),[e,o]);G(()=>()=>{for(let e of Object.values(u))e.dispose()},[u]),V(D(`SpellSpear`,(e,t)=>{let n=s.current,r=c.current;if(!n||!r)return;n.getWorldPosition(jO);let i=l.current;i?(MO.subVectors(jO,i),MO.lengthSq()>1e-6&&(NO.setFromUnitVectors(AO,MO.normalize()),n.quaternion.copy(NO)),i.copy(jO)):l.current=jO.clone(),r.rotation.z+=a*t}));let d=n*.55;return/* @__PURE__ */ Q(`group`,{ref:s,children:[/* @__PURE__ */ Z(`mesh`,{geometry:DO,material:u.spear,scale:[n,n,t/2]}),/* @__PURE__ */ Z(`mesh`,{geometry:OO,material:u.core,scale:n*1.1}),/* @__PURE__ */ Z(`group`,{ref:c,children:Array.from({length:r},(e,t)=>{let n=t/r*Math.PI*2;return/* @__PURE__ */ Z(`mesh`,{geometry:kO,material:u.crystal,scale:d,position:[Math.cos(n)*i,Math.sin(n)*i,0]},t)})})]})}catch(e){throw O(`SpellSpear`,e)}}PO.displayName=`SpellSpear`;var FO=new Ev(1),IO=2;function LO({color:e,seconds:t,count:n=7,startOrbit:r=.45,endOrbit:i=.06,size:a=.035,intensity:o=3}){try{let s=J(null),c=J(0),l=q(()=>_O(e,o),[e,o]);return G(()=>()=>l.dispose(),[l]),V(D(`SpellSwirl`,(e,n)=>{let a=s.current;if(!a)return;c.current=Math.min(t,c.current+n);let o=t>0?c.current/t:1,l=r+(i-r)*o;a.rotation.y+=(IO+12*o)*n,a.rotation.x=o*.8,a.scale.setScalar(l/r)})),/* @__PURE__ */ Z(`group`,{ref:s,children:Array.from({length:n},(e,t)=>{let i=t/n*Math.PI*2;return/* @__PURE__ */ Z(`mesh`,{geometry:FO,material:l,scale:a,position:[Math.cos(i)*r,Math.sin(i*2)*.05,Math.sin(i)*r],rotation:[i,i*.5,0]},t)})})}catch(e){throw O(`SpellSwirl`,e)}}LO.displayName=`SpellSwirl`;function RO(e){try{let t=em();dm(pt,e);let n=JSON.stringify(e),r=!t.has(ju);return G(()=>{r&&t.isAlive()&&Nn(t,JSON.parse(n))},[t,r,n]),G(()=>()=>{r&&t.isAlive()&&t.remove(at)},[t,r]),null}catch(e){throw O(`Stats`,e)}}RO.displayName=`Stats`;function zO(e,t,n){mm(nt,({record:e})=>{e.mark===t&&n({...e})},{entity:e})}function BO(e,t){let n=J(t);n.current=t,G(()=>rm(e,(e,t)=>n.current(e,t)),[e])}function VO({name:e}){try{return fm(jl,q(()=>({name:e}),[e])),null}catch(e){throw O(`DisplayName`,e)}}VO.displayName=`DisplayName`;function HO(e){if(e!=null)return typeof e==`number`?e:e[zv].worldEntity}function UO(e,t){let n=HO(e);if(n===void 0||!n.has(t))return;let{state:r}=n.get(t);if(r!=null)return typeof r==`string`?r:Object.keys(r)[0]}function WO(e,t){let n=X(),{trait:r}=e,[i,a]=Y(()=>({entity:t,name:UO(t,r)})),o=i.entity===t?i:{entity:t,name:UO(t,r)};return o!==i&&a(o),G(()=>{let e=HO(t);if(e===void 0)return;let i=e=>a(n=>n.entity===t&&n.name===e?n:{entity:t,name:e}),o=n=>{n===e&&i(UO(t,r))};o(e);let s=[n.onChange(r,o),n.onAdd(r,o),n.onRemove(r,t=>{t===e&&i(void 0)})];return()=>{for(let e of s)e()}},[n,t,r]),o.name}function GO(e,t){return Cy(e,t)}function KO(e){let t=e?.get(ju)?.id,n=L(e=>t!==void 0&&e.heard.includes(t)),r=L(e=>t===void 0?100:e.playerVolumes[t]??100),i=L(e=>t!==void 0&&e.mutedPlayers.includes(t)),{setPlayerVolume:a,mutePlayer:o}=L.getState();return{heard:n,volume:r,muted:i,setVolume:e=>{t!==void 0&&a(t,e)},setMuted:e=>{t!==void 0&&o(t,e)}}}var qO=vy()((e,t)=>({order:[],raise:n=>{let{order:r}=t();r.at(-1)?.id!==n.id&&e({order:[...r.filter(e=>e.id!==n.id),n]})},forget:n=>e({order:t().order.filter(e=>e.id!==n)})})),JO=40,YO=12,XO={[F.TopLeft]:[0,0],[F.Top]:[0,1],[F.TopRight]:[0,2],[F.Left]:[1,0],[F.Center]:[1,1],[F.Right]:[1,2],[F.BottomLeft]:[2,0],[F.Bottom]:[2,1],[F.BottomRight]:[2,2]},ZO;function QO(){ZO||(ZO=document.createElement(`div`),Object.assign(ZO.style,{position:`fixed`,visibility:`hidden`,pointerEvents:`none`,paddingTop:I.top,paddingRight:I.right,paddingBottom:I.bottom,paddingLeft:I.left}),document.body.append(ZO));let e=getComputedStyle(ZO);return{left:parseFloat(e.paddingLeft)||0,top:parseFloat(e.paddingTop)||0,right:window.innerWidth-(parseFloat(e.paddingRight)||0),bottom:window.innerHeight-(parseFloat(e.paddingBottom)||0)}}function $O(){let[e,t]=Y(QO);return G(()=>{let e=()=>t(QO());return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}function ek(e,t,n){let[r,i]=XO[e],a=(e,t,n,r)=>e===0?n+YO:e===2?r-t-YO:n+(r-n-t)/2;return{x:a(i,t.width,n.left,n.right),y:a(r,t.height,n.top,n.bottom)}}function tk(e,t,n){return{x:Math.max(n.left,Math.min(e.x,n.right-t.width)),y:Math.max(n.top,Math.min(e.y,n.bottom-t.height))}}function nk(e){try{return de()?null:/* @__PURE__ */ Z(rk,{...e})}catch(e){throw O(`Window`,e)}}function rk({id:e,title:t,open:n,onClose:r,slot:i=F.Center,movable:a=!0,className:o,children:s}){try{let c=Ew(),l=U_();bm(n);let u=ge(),d=W(u,t=>Object.hasOwn(t.places,e)?t.places[e]:void 0),[f,p]=Y(null),[m,h]=Y(null),g=$O(),_=a&&!c,v=J(null),y=dy(),{ref:b}=km(`Window: ${t}`,{}),x=J(r);G(()=>{x.current=r});let S=W(qO,t=>t.order.findIndex(t=>t.id===e));G(()=>{if(!n)return;let{raise:t,order:r}=qO.getState();if(c)for(let e of r)e.close();t({id:e,close:()=>x.current()});let i=Qu(()=>qO.getState().order.at(-1)?.close());return()=>{i(),qO.getState().forget(e)}},[c,e,n]);let[C,w]=Y(null);G(()=>{if(!C)return;let e=new ResizeObserver(()=>h({width:C.offsetWidth,height:C.offsetHeight}));return e.observe(C),()=>e.disconnect()},[C]);let[T,ee]=Y(null),E=J({size:m,bounds:g});G(()=>{E.current={size:m,bounds:g}}),G(()=>{if(!T||!_)return;let t={x:0,y:0},n=null;return eb({host:T,onGrab:e=>{let r=v.current?.getBoundingClientRect();r&&(t={x:e.clientX-r.left,y:e.clientY-r.top},n=null)},onMove:e=>{n={x:e.clientX-t.x,y:e.clientY-t.y},p(n)},onRelease:()=>{let{size:t,bounds:r}=E.current;n&&t&&u.getState().keepPlace(e,tk(n,t,r)),n=null,p(null)}})},[_,T,e,u]);let te=ly(e=>{v.current=e,w(e),b(e)},[b]);if(!n)return null;let ne=()=>qO.getState().raise({id:e,close:()=>x.current()}),re=/* @__PURE__ */ Q(`div`,{className:`flex items-center justify-between gap-3`,children:[/* @__PURE__ */ Z(`div`,{ref:ee,className:$(`min-w-0 flex-1 self-stretch`,_&&`cursor-grab touch-none active:cursor-grabbing`),children:/* @__PURE__ */ Z(Iy,{level:2,className:`text-base`,children:/* @__PURE__ */ Z(`span`,{id:y,children:t})})}),/* @__PURE__ */ Z(O_,{label:`Close ${t}`,onPress:r,className:`size-8 min-w-8 rounded-xl px-0`,children:/* @__PURE__ */ Z(Ry,{name:`x`,className:`size-4`})})]}),ie=/* @__PURE__ */ Q(`section`,{ref:te,role:`dialog`,"aria-labelledby":y,onPointerDownCapture:ne,className:$(Tm,`pointer-events-auto p-3 flex max-h-[calc(100dvh-1.5rem)] max-w-[calc(100vw-1.5rem)] flex-col gap-2 overflow-y-auto`,o),children:[re,s]});if(c)return/* @__PURE__ */ Z(Am,{children:/* @__PURE__ */ Z(`div`,{className:$(`pointer-events-auto fixed inset-0 z-40 flex items-center justify-center bg-black/35 transition-opacity`,l&&`pointer-events-none bg-transparent opacity-25`),style:{paddingTop:`calc(0.75rem + ${I.top})`,paddingRight:`calc(0.75rem + ${I.right})`,paddingBottom:`calc(0.75rem + ${I.bottom})`,paddingLeft:`calc(0.75rem + ${I.left})`},onPointerDown:e=>{e.target===e.currentTarget&&r()},children:ie})});let ae=f??(a?d:void 0)??(m?ek(i,m,g):void 0),oe=ae&&m&&tk(ae,m,g);return/* @__PURE__ */ Z(Am,{children:/* @__PURE__ */ Z(`div`,{className:`fixed`,style:{left:oe?.x??0,top:oe?.y??0,visibility:oe?void 0:`hidden`,zIndex:JO+Math.max(S,0)},children:ie})})}catch(e){throw O(`WindowOnPage`,e)}}nk.displayName=`Window`,rk.displayName=`WindowOnPage`;var ik=`hidden pointer-coarse:flex m-16`;function ak({slot:e=F.BottomLeft,...t}){try{return/* @__PURE__ */ Z(Sm,{slot:e,variant:wm.Bare,className:ik,children:/* @__PURE__ */ Z(By,{...t})})}catch(e){throw O(`Joystick`,e)}}ak.displayName=`Joystick`;function ok({slot:e=F.BottomRight,...t}){try{return/* @__PURE__ */ Z(Sm,{slot:e,variant:wm.Bare,className:ik,children:/* @__PURE__ */ Z(Yy,{...t})})}catch(e){throw O(`Tap`,e)}}ok.displayName=`Tap`;var sk=[...Object.values(Os.motions),...Object.values(Od)],ck={pickup:`https://assets.spawnite.com/assets/5b135281dc7afddd03f1b2069d3451715fcfe68dfc7ff3b58b78e19e65b7e64b.mp3`},lk=$u()(()=>({steer:Jf,jump:Kf})),uk=new xv;function dk({url:e,animation:t,clips:n,loop:r=!0,onPlay:i,onLoad:a}){try{let o=Yp(e,Kg),{scene:s}=o,c=o.userData.vrm,l=q(()=>new fv().setFromObject(s),[s]),u=-l.min.y,d=c instanceof mb&&c.meta.metaVersion===`0`?Math.PI:0,f=q(()=>new lv(s),[s]),p=q(()=>t===void 0?void 0:cv.findByName([...n??o.animations],t),[t,n,o]);K(()=>{s.traverse(e=>{e instanceof Sv&&(e.castShadow=!0,e.receiveShadow=!0)})},[s]);let m=uy(e=>a?.(e)),h=uy(e=>i?.(e));return K(()=>{uk.makeRotationY(d).setPosition(0,u,0),m(l.clone().applyMatrix4(uk))},[l,u,d]),G(()=>()=>f.uncacheRoot(s),[f,s]),G(()=>{if(!p)return;let e=f.clipAction(p);return e.reset().play(),h(e),()=>{e.stop(),h(null)}},[f,p]),G(()=>{if(!p)return;let e=f.clipAction(p);e.setLoop(r?vv:_v,1/0),e.clampWhenFinished=!r},[f,p,r]),V(D(`ModelFile`,(e,t)=>{f.update(t),c instanceof mb&&c.update(t)})),/* @__PURE__ */ Z(`group`,{"position-y":u,"rotation-y":d,children:/* @__PURE__ */ Z(`primitive`,{object:s,dispose:null})})}catch(e){throw O(`ModelFile`,e)}}dk.displayName=`ModelFile`;var fk=class extends gv{load(e,t){t(new Pv)}};function pk(e){let t=de(),n=ov(e=>e.gl);return av(t?fk:hb,e,e=>{e instanceof hb&&e.detectSupport(n)})}ef(/* @__PURE__ */ fe({AbilitiesTrait:()=>In,AbilityBar:()=>I_,AbilityCastState:()=>Pn,AbilityKind:()=>Zn,AbilityProjectileTrait:()=>bt,ActionBar:()=>Ty,ActionBarShape:()=>Dy,AddedVelocityTrait:()=>is,AiTrait:()=>qu,AimPointTrait:()=>es,AmbientOcclusion:()=>Up,Anchor:()=>Em,AnimationCulling:()=>lo,AttachRefusal:()=>hr,AttachmentTrait:()=>Ue,AuthorityTrait:()=>al,AvatarTrait:()=>qi,Bag:()=>_m,Bar:()=>Oy,Billboard:()=>Mp,BillboardUnits:()=>jp,BindingKind:()=>it,Bloom:()=>Kp,Bob:()=>vb,BobTrait:()=>Co,BodyIgnoreTrait:()=>fo,BodyNearEye:()=>Gu,BodyRefusal:()=>Io,BodyTrait:()=>Sn,BodyVelocityTrait:()=>An,Button:()=>O_,ButtonVariant:()=>jy,Camera:()=>Pp,CameraPreset:()=>cp,CameraShakeTrait:()=>Wu,CameraTarget:()=>zu,CameraTrait:()=>k,CastRefusedEvent:()=>gn,CastingTrait:()=>dr,CharacterAnimationView:()=>Vg,CharacterCapsuleTrait:()=>Rs,CharacterControllerTrait:()=>na,CharacterSpawn:()=>Bp,CharacterTrait:()=>Oo,CharacterView:()=>Wg,Chase:()=>wb,ChaseCamera:()=>Fb,ChaseExitedEvent:()=>_o,ChaseReachedEvent:()=>On,ChaseTargetsTrait:()=>Ln,ChaseTrait:()=>Qn,ClipLayer:()=>Cc,ClipMarkEvent:()=>nt,ColliderTrait:()=>qn,CollisionEnteredEvent:()=>Ls,CollisionExitedEvent:()=>ta,CombineRule:()=>ht,ConnectionNotice:()=>Zg,ConnectionState:()=>xi,ConnectionTrait:()=>er,ControlRefusal:()=>To,ControlVisibility:()=>pi,ControlledTrait:()=>li,ConversationTrait:()=>Nr,CooldownsTrait:()=>zn,CoreLayers:()=>Ou,CostLevel:()=>R,Counter:()=>Ny,CrtMaterial:()=>zb,DamageSourceTrait:()=>St,DamagedEvent:()=>Gt,DayClockTrait:()=>ks,DevWorldTrait:()=>_l,DeviceClass:()=>g,DevtoolsAction:()=>Jd,DevtoolsNodeKind:()=>$d,Dialog:()=>k_,DialogBuilder:()=>xe,DialogNodeBuilder:()=>va,DialogPanel:()=>A_,DiedEvent:()=>vn,DisarmedTrait:()=>sa,DisconnectedTrait:()=>Po,DisplayName:()=>VO,DisplayNameTrait:()=>jl,DownedTrait:()=>sc,Draggable:()=>W_,DrawnFeetTrait:()=>Al,DropTarget:()=>K_,Emitter:()=>F_,EnergyOrbMaterial:()=>Hb,Entity:()=>nm,Equipment:()=>gm,EquipmentSlot:()=>ln,EquipmentTrait:()=>bs,EventDelivery:()=>Mi,EventScope:()=>Lc,Faction:()=>Ct,FellOutOfWorldEvent:()=>tc,FiredShotsTrait:()=>Ns,FloatingText:()=>fO,FreeCamera:()=>wx,FromWelcomeTrait:()=>ll,Game:()=>HD,GaveUpEvent:()=>rn,GroundMark:()=>__,GroundTrait:()=>ro,Heading:()=>Fy,HealedEvent:()=>pr,Health:()=>bb,HealthTrait:()=>Be,HeightfieldGeometry:()=>zp,HeldItem:()=>aO,HeldWeaponsTrait:()=>so,HideSetting:()=>XT,HistoryDepth:()=>ao,HitZonesTrait:()=>ac,Hud:()=>Am,HullPointsTrait:()=>wa,Icon:()=>Ly,Image:()=>zy,InWorldTrait:()=>os,InputKind:()=>Cu,InputTrait:()=>gs,InstancedModel:()=>b_,Interact:()=>jb,InteractedEvent:()=>Hr,Inventory:()=>vm,InventoryTrait:()=>Qt,InvulnerableTrait:()=>ai,ItemAcceptedEvent:()=>hi,ItemEffectType:()=>rr,Joint:()=>Ax,JointBrokenEvent:()=>Wt,JointRefusal:()=>_n,JointTrait:()=>fr,JointType:()=>qc,Joystick:()=>ak,LatencyTrait:()=>Wi,LeaveReason:()=>ga,Lighting:()=>Op,LoadingProblemKind:()=>tw,LoadingScreen:()=>rw,LoadingStage:()=>UC,Lock:()=>Ob,LockTrait:()=>fn,LogLevel:()=>Ud,Loot:()=>Tb,LootLeftTrait:()=>Cs,LootTrait:()=>tn,MachinePausedTrait:()=>Ui,MapCamera:()=>sx,MeasureKind:()=>Z_,MessageFieldKind:()=>mu,MessageRefusal:()=>dd,MessagesTrait:()=>Ml,MicrophoneAccess:()=>Nm,Modal:()=>nO,ModalVariant:()=>QD,ModelClip:()=>h_,ModelFile:()=>dk,ModelTrait:()=>Xc,MovementPreset:()=>Ke,MovementTrait:()=>xc,MoverRefusal:()=>En,Nameplate:()=>Ep,NavMeshTrait:()=>Ao,NetworkEntitiesTrait:()=>bl,NetworkIdTrait:()=>ju,Not:()=>Zc,Npc:()=>D_,NpcEvent:()=>qt,NumberField:()=>Hy,ObstaclesTrait:()=>rc,OneShotClipTrait:()=>Vn,Or:()=>tu,Panel:()=>Sm,PanelVariant:()=>wm,Particles:()=>V_,PathTrait:()=>Wo,PendingCastTrait:()=>Kc,Phase:()=>yu,Pickup:()=>yb,PickupTrait:()=>di,PlaceableKind:()=>Qd,PlaceholderShape:()=>g_,PlatformOnLeave:()=>Lo,PlayerNameTrait:()=>Xa,PlayerSaveStatus:()=>Ne,PlayerSaveTrait:()=>Ur,PlayerTrait:()=>Gs,PointerButton:()=>kh,PortalMaterial:()=>Wb,PoseState:()=>Ba,PoseTrait:()=>zi,PostProcessing:()=>Dp,PrefabTrait:()=>kt,PressDropReason:()=>su,PressStatus:()=>wu,PreviousTransformTrait:()=>Gl,QualityGroup:()=>i,QualityLevel:()=>r,RefTrait:()=>bu,Refusal:()=>ku,ReleaseReason:()=>Qs,Replicas:()=>pO,ReservationsTrait:()=>_r,Resource:()=>Tx,ResourceBar:()=>Dx,ResourceStart:()=>kc,Respawn:()=>xb,RespawnPlace:()=>Qi,RespawnScreen:()=>FE,RespawnTrait:()=>Vc,RespawningTrait:()=>ea,RewindTrait:()=>Vs,RigidBodyType:()=>zt,Role:()=>Jo,RoomControllerTrait:()=>tr,RoomDrop:()=>sd,RoomStatus:()=>j,Routine:()=>As,RoutinesBuilder:()=>io,RunContext:()=>gu,SaveDestination:()=>m_,SaveLimit:()=>t_,SaveScope:()=>au,SaveStatus:()=>i_,ScatterRefTrait:()=>ua,ScatterTrait:()=>Ea,Scene:()=>AD,ScenePathTrait:()=>Dl,Select:()=>Ky,SendOutcome:()=>Bd,SettingKind:()=>bg,SettingRow:()=>YT,SettingsTab:()=>z,Shader:()=>Rb,ShadowType:()=>cd,ShapeType:()=>Mt,ShotJudge:()=>Ch,ShotJudgedEvent:()=>aa,SideCamera:()=>kx,Simulation:()=>Se,SkinnedBatch:()=>Zp,Slider:()=>qy,Slot:()=>F,Sound:()=>gO,SpawnPointsTrait:()=>zo,SpellBeam:()=>vO,SpellLandedEvent:()=>Re,SpellLook:()=>M_,SpellRing:()=>xO,SpellRunes:()=>wO,SpellShards:()=>EO,SpellSpear:()=>PO,SpellStruckEvent:()=>Yr,SpellSwirl:()=>LO,Spin:()=>_b,SpinTrait:()=>or,StateType:()=>cs,Stats:()=>RO,StatsTrait:()=>at,SteerTrait:()=>Sr,StepProfileTrait:()=>ws,StrafeClip:()=>Xe,StuckTrait:()=>Ec,SystemReadsTrait:()=>Za,TakenEvent:()=>De,TalkingTrait:()=>bi,Tap:()=>ok,TargetMode:()=>Ht,TargetTrait:()=>Lt,TargetableTrait:()=>Br,Targeting:()=>L_,TeamTrait:()=>jr,Text:()=>Xy,TextField:()=>Qy,ThumbnailFraming:()=>Qh,Toggle:()=>$y,ToneMappingMode:()=>Gp,Track:()=>_a,TrackMover:()=>T_,TrackMoverTrait:()=>en,TrackRefTrait:()=>_i,TrackScatter:()=>w_,TrackSurface:()=>S_,TrackTrigger:()=>E_,TrackTriggerMoversTrait:()=>Di,TrackTriggerTrait:()=>ar,TransformTrait:()=>du,Trigger:()=>Mb,TriggerEnteredEvent:()=>Do,TriggerExitedEvent:()=>ec,TriggerTrait:()=>Ws,TurnSide:()=>_u,TurnTrait:()=>Vl,UpperBodyClipTrait:()=>bo,VelocityTrait:()=>ru,ViewTargetTrait:()=>ya,Vignette:()=>xp,VoiceMode:()=>sp,VolumeChannel:()=>gp,VrmView:()=>Hg,WalkRefusal:()=>an,WalletTrait:()=>Ko,WarmHud:()=>Dm,WaterMaterial:()=>Bb,Weapon:()=>Oh,WeaponKind:()=>Mo,WeaponNumber:()=>ic,WeaponsTrait:()=>da,WelcomesTrait:()=>Tl,Window:()=>nk,WireFormat:()=>Rf,World:()=>Vp,WorldRandomTrait:()=>Ce,abilities:()=>ka,activateItem:()=>fs,addBotPlayer:()=>Xm,addCoins:()=>un,addController:()=>ca,addItem:()=>Fn,addLinearVelocity:()=>th,addModifierTotals:()=>Pt,addSpeedModifier:()=>Dr,addStatModifier:()=>Cn,aimAlongTrack:()=>ah,aimAt:()=>Is,aimShot:()=>dh,anchorIfPresent:()=>cu,angleInput:()=>Du,angleSteps:()=>zl,applyForce:()=>Ma,applyImpulse:()=>ji,applyModifierTotals:()=>Lr,applyPaintStroke:()=>ng,applyTerrainStroke:()=>$h,applyTorque:()=>uc,applyTorqueImpulse:()=>Fc,approachShare:()=>Ii,attach:()=>yc,attachDevtools:()=>tf,axisInput:()=>Tu,axisSteps:()=>254,bakeGroundObstacles:()=>xt,beginDefinitionReload:()=>yl,beginPaintStroke:()=>tg,beginTerrainStroke:()=>eg,behaviours:()=>hs,bindSaveSession:()=>sg,boolean:()=>lu,box:()=>Fr,buildAiTree:()=>hd,buildTrackSurface:()=>y_,button:()=>Td,buttonInput:()=>Qc,calculateDaylight:()=>Fa,cameraSettings:()=>qs,cameraShakeSettings:()=>Uu,capsule:()=>Qr,captureEntity:()=>Ng,captureInstance:()=>Fg,captureScreen:()=>jg,captureView:()=>kg,castCoverRay:()=>Ps,castDroppedText:()=>lr,castPress:()=>ri,castPressDeclaration:()=>Ot,castRay:()=>Ho,castRayAll:()=>Ja,castRefusalText:()=>Gc,castReservation:()=>nr,castShape:()=>Ra,castTurnSeconds:()=>mc,castsAsPress:()=>Le,changeResource:()=>no,characterMotion:()=>Os,characterMovementSettings:()=>Er,characters:()=>Uo,chaserCollisionMask:()=>Es,checkCost:()=>Hi,checkRespawn:()=>Ac,checkTarget:()=>jc,claimShotHits:()=>uh,clearModifierTotals:()=>ei,clearSentShots:()=>yf,commitCost:()=>as,commitPose:()=>lh,composePlugins:()=>Hs,composeScatterMatrix:()=>ii,cone:()=>Tt,connectionNoticeText:()=>Yg,control:()=>Fo,controls:()=>Ya,convertVolumeToGain:()=>qp,convexHull:()=>on,cooldowns:()=>za,core:()=>Ri,correctionTolerance:()=>Mn,countItem:()=>yt,createAdded:()=>fl,createCastPress:()=>qr,createChanged:()=>ml,createGameWorld:()=>Ki,createGlowMaterial:()=>_O,createGroundSurface:()=>Xi,createHeadlessGame:()=>Ze,createJoint:()=>ze,createQuery:()=>vl,createRemoved:()=>tl,createSaveSession:()=>ag,createStore:()=>$u,createSweepRecord:()=>So,createTrackFrame:()=>Ks,createTransform:()=>Ul,crtFragment:()=>Lb,custom:()=>Ed,cycleTarget:()=>Ft,cylinder:()=>vs,daylightSettings:()=>Pi,dealDamage:()=>xs,dealHealing:()=>$t,declareInventory:()=>Ut,declareMoveSpeed:()=>br,declareResource:()=>zs,declareRespawn:()=>qe,declareStats:()=>Nn,defaultCharacterCapsule:()=>Ua,defaultCharacterController:()=>Na,defaultMessagesPerSecond:()=>4,defaultPressesPerSecond:()=>20,defaultProjectileSpeed:()=>20,defaultRandomSeed:()=>0,defaultRoomPlayers:()=>oh,defaultRoomSendRate:()=>eh,defineBehaviour:()=>Ds,defineCooldown:()=>bc,defineEvent:()=>Oc,defineLevels:()=>oi,defineMessage:()=>fu,definePhysics:()=>sn,definePlugin:()=>Zl,definePluginFactory:()=>Il,definePrefab:()=>dn,definePress:()=>vu,defineReservation:()=>Ge,defineResource:()=>ra,defineRoom:()=>Ym,defineSave:()=>Yl,defineSaveCodec:()=>ch,defineSpeedModifier:()=>ut,defineTrait:()=>El,deliverMessage:()=>Nl,describeCastRefusal:()=>Rr,describeRoutines:()=>ss,describeSystem:()=>oa,destroy:()=>Ss,detach:()=>wr,dialog:()=>Xo,dragAndDrop:()=>G_,dropItem:()=>hn,dumpKey:()=>Ol,dumpState:()=>yn,emitEvent:()=>We,energyOrbFragment:()=>Vb,engineActions:()=>Wn,engineStartLevels:()=>s,entities:()=>Hl,entity:()=>iu,equipItem:()=>pc,extendGltfLoader:()=>im,extendVrmLoader:()=>Kg,fanPellet:()=>Th,filterChaseTargets:()=>eo,findAuthority:()=>Nt,findClickedTarget:()=>ti,findController:()=>Ha,findDrawnTarget:()=>Gi,findEntity:()=>Fl,findNearestControlled:()=>gi,findPath:()=>_s,findPendingController:()=>ja,findRapierWorld:()=>Oe,findRayHit:()=>gf,findResourceTrait:()=>nc,findRewindSends:()=>hh,findSaveSession:()=>rg,findTargetsInFront:()=>Et,findTimeOfDay:()=>go,finishLevel:()=>yi,fixedStepSeconds:()=>wo,focusCamera:()=>Bu,followGround:()=>Jg,followVolume:()=>lp,frameCamera:()=>Vu,frameShot:()=>md,frameView:()=>_d,freeCharacter:()=>$i,gameInsetLengths:()=>I,gizmoUserData:()=>Pg,globalCooldown:()=>Te,grantAbilities:()=>Je,grantPredicted:()=>$_,groundTextures:()=>bd,hasItem:()=>ur,hasLineOfSight:()=>wc,hash32:()=>Jl,hashKeys:()=>Pl,healthResource:()=>la,heightfield:()=>Yt,heldRule:()=>xh,holdInput:()=>Me,holdsAbility:()=>kr,holdsWeapon:()=>ms,inputContext:()=>gl,integer:()=>Su,inventory:()=>Bc,isAuthoritative:()=>Zs,isBoostHeld:()=>Yf,isCoolingDown:()=>Tr,isCursorCaptured:()=>ed,isLocallyControlled:()=>Wr,isOlderReader:()=>X_,isRemote:()=>ol,isRoomWorld:()=>pu,isSleeping:()=>Yi,isTouching:()=>Li,itemStack:()=>rh,keptLags:()=>8,kick:()=>bn,kickedCloseCode:()=>Pf,lateEdgeTicks:()=>17,launchProjectile:()=>Qo,launchTrackMover:()=>Ee,leftCloseCode:()=>Vf,listLevels:()=>$n,listMotionUrls:()=>Ug,listMountedMaps:()=>uf,listenToAction:()=>Id,loadRapier:()=>dc,loadRecast:()=>Jt,machines:()=>Mc,mapPreviewScene:()=>ue,maxHealthStat:()=>rs,maximumFrameBytes:()=>hu,maximumHeldEventBytes:()=>jn,maximumHeldEvents:()=>Jn,maximumInputButtons:()=>32,maximumInputBytes:()=>96,maximumInputChanges:()=>8,maximumPressReasonLength:()=>64,maximumTextBytes:()=>Ql,maximumUnreadSteps:()=>60,measureLatency:()=>gh,measureMessageFrameBytes:()=>Ll,measureMiss:()=>vf,measureShotDistance:()=>No,menuPane:()=>ym,messageRefusalText:()=>id,messageTooLargeCloseCode:()=>Af,mostRoomPlayers:()=>ih,mountHeadlessScene:()=>ce,moveAndSlide:()=>ho,moveCharacter:()=>Sc,moveSpeedStat:()=>yo,moveStack:()=>Jr,nameAbilityCooldown:()=>ba,nameMap:()=>sf,nextLevel:()=>be,npcs:()=>xr,number:()=>Wl,omit:()=>xu,openingModels:()=>sk,originRule:()=>vh,overlapShape:()=>hc,pageAction:()=>Au,pendingStandSeconds:()=>Js,persist:()=>o_,pickEntity:()=>gd,pinTarget:()=>cn,placeCharacter:()=>Mr,placeSpawnPoints:()=>Ga,placeTrackScatter:()=>x_,playClip:()=>Or,playLevel:()=>Sa,playerVolumeRange:()=>Mm,portalFragment:()=>Ub,positiveY:()=>Xs,prepareVrm:()=>Gg,pressBurst:()=>2,pushCharacter:()=>tt,quaternionToYaw:()=>Rn,queuePress:()=>hl,raiseHeightfield:()=>H_,random:()=>Go,randomInt:()=>Ts,randomRange:()=>Qa,rateRule:()=>ph,readAbilityInspection:()=>Yn,readAimAt:()=>hf,readAngularVelocity:()=>Dc,readAuthorityWorld:()=>Ir,readAxisSides:()=>wl,readCameraShakeScale:()=>ep,readControlled:()=>Ai,readCooldown:()=>lt,readCreditedCoins:()=>ui,readDisplayName:()=>Ji,readEach:()=>Bl,readEvents:()=>Bt,readField:()=>Eu,readInput:()=>Xt,readInputChanges:()=>mi,readJointReaction:()=>Rt,readLinearVelocity:()=>mr,readLocalCharacter:()=>jt,readMap:()=>cf,readMapRevision:()=>lf,readMessages:()=>uu,readModel:()=>$a,readModelSilhouette:()=>Xh,readModelSize:()=>Eo,readModelThumbnail:()=>Zh,readMoveSpeed:()=>po,readNextPose:()=>He,readPastPlace:()=>bh,readPastTraits:()=>yh,readPendingControlled:()=>lc,readPlayers:()=>mt,readPresses:()=>rl,readResource:()=>ds,readResourcesSave:()=>Ro,readRoomFailedReason:()=>Sf,readRoomNotice:()=>Xg,readRoomSeconds:()=>kl,readSaveRefusalReason:()=>bf,readSentPlace:()=>_h,readSentZones:()=>fh,readStat:()=>_t,readStatsSave:()=>Vt,readStepProfile:()=>Va,readStrafe:()=>qm,readTimeline:()=>q_,readTrait:()=>ul,readTriggerOccupants:()=>Ca,readWeaponNumber:()=>qa,recordPreviousTransforms:()=>xa,recordRefusedShot:()=>mf,recordSentShot:()=>_f,refundCost:()=>Wa,registerAbility:()=>Hn,registerAvatar:()=>Wd,registerClip:()=>qo,registerHealth:()=>Pa,registerItem:()=>zr,registerItemTarget:()=>Ka,registerMap:()=>pf,registerMapProps:()=>ff,registerMaps:()=>df,registerModel:()=>$s,registerShotSettings:()=>Sh,registerStatField:()=>mn,registerWeapon:()=>La,releaseControl:()=>Pc,reloadScene:()=>Y_,removeItem:()=>ni,removeSpeedModifier:()=>Bn,removeStatModifiers:()=>cr,requestSave:()=>J_,requireAuthority:()=>$r,requirePlugin:()=>to,reserveCost:()=>Ni,resolveStat:()=>Wc,resources:()=>Ye,restoreEquipment:()=>Ia,restoreInventory:()=>Fi,restoreLevels:()=>Fs,restoreResources:()=>fc,restoreStats:()=>Ie,revokeAbilities:()=>xo,rewindCeilingSeconds:()=>1,rewindRule:()=>wh,rewindStep:()=>mh,rollAbilityDamage:()=>Ae,roomFailedCloseCode:()=>Ef,roomSendRates:()=>sh,roundTo:()=>Xl,route:()=>ia,routines:()=>jo,save:()=>c_,saveNewerCloseCode:()=>kf,saveNotLoadedCloseCode:()=>wf,scaleZoneDamage:()=>fa,scatterModels:()=>Od,screenOverlayUserData:()=>Ag,seedRandom:()=>Bi,selectCustomQuality:()=>e,selectNextQualityLevel:()=>d,sendMessage:()=>um,sendPlayerInput:()=>nn,sendPress:()=>lm,setAngularVelocity:()=>vc,setBody:()=>Uc,setCollider:()=>Fe,setGravity:()=>Kn,setInput:()=>qd,setJoint:()=>Vr,setLinearVelocity:()=>Cr,setNextPose:()=>ct,setRewindStep:()=>Eh,setStatBase:()=>Kr,setTimeOfDay:()=>Dn,setVoxel:()=>Gr,shakeCamera:()=>Ru,shuffle:()=>ns,sizeArmColliders:()=>qg,sleep:()=>Qe,slowCharacter:()=>mo,sounds:()=>ck,spawn:()=>Ei,spawnCharacter:()=>Pr,spawnLocal:()=>ir,spawnNpc:()=>Yo,spawnNpcBody:()=>Zr,spendCoins:()=>Ti,sphere:()=>fi,splitStack:()=>Dt,startCooldown:()=>et,states:()=>Da,stats:()=>Tc,steerFromStick:()=>Jf,stepSeconds:()=>Kt,stepWorld:()=>ki,stopClip:()=>dt,strikeTarget:()=>Tn,takeEscape:()=>Qu,takeStepWindow:()=>Nc,teleport:()=>Zm,teleportActor:()=>rt,text:()=>ql,toMachineId:()=>js,trackCameraSettings:()=>$m,trackMovementKeys:()=>Qf,trackResource:()=>Qm,tracks:()=>Ar,triangleMesh:()=>ci,tryControl:()=>Ve,unequipItem:()=>Zi,updateEach:()=>Cl,updateTarget:()=>Zt,useAction:()=>YD,useActionHeld:()=>XD,useActiveQualityLevel:()=>ee,useAfterPose:()=>BO,useBehaviour:()=>pm,useCamera:()=>Np,useCast:()=>R_,useCharacter:()=>Um,useClipMark:()=>zO,useCooldown:()=>B_,useCursor:()=>Zu,useDevtools:()=>M,useDevtoolsPanel:()=>ZD,useDisplayName:()=>Ip,useDragging:()=>U_,useEntity:()=>em,useEntityRef:()=>Xp,useEvent:()=>mm,useFloatingText:()=>sO,useFreeCursor:()=>bm,useHeadless:()=>de,useHealth:()=>Bm,useInput:()=>lk,useInspect:()=>v_,useInventory:()=>hm,useKtx2:()=>pk,useLatestPressResult:()=>P_,useLevelPlace:()=>RC,useLevels:()=>LC,useLoading:()=>N,useLookGrading:()=>Fp,useMachineState:()=>WO,useMenu:()=>fd,useModel:()=>Yp,useParticles:()=>N_,usePlayer:()=>Gm,usePlayerVoice:()=>KO,usePressResults:()=>j_,useQualityLevel:()=>ve,useQualitySettings:()=>w,useQualityStore:()=>_e,useResource:()=>Ex,useRoom:()=>A,useSaveStatus:()=>u_,useScenes:()=>n,useSettings:()=>P,useSkinnedBatch:()=>$p,useSpeaking:()=>Rp,useTarget:()=>z_,useTime:()=>Yd,useTrait:()=>GO,useUnscaledFrame:()=>Ah,useVoice:()=>jm,useVoiceSession:()=>L,useWallet:()=>YS,useWorldEntity:()=>Lp,vector2Input:()=>Yc,vectorSteps:()=>127,versionsOf:()=>Q_,voxels:()=>Si,wadeDepth:()=>si,wakeUp:()=>vo,walkTo:()=>wt,watchCastRefusals:()=>vt,waterFragment:()=>dp,weapons:()=>ft,weighPlanRings:()=>C_,writeInput:()=>_c,writeStateTags:()=>ps,yawToQuaternion:()=>ke}));export{In as AbilitiesTrait,I_ as AbilityBar,Pn as AbilityCastState,Zn as AbilityKind,bt as AbilityProjectileTrait,Ty as ActionBar,Dy as ActionBarShape,is as AddedVelocityTrait,qu as AiTrait,es as AimPointTrait,Up as AmbientOcclusion,Em as Anchor,lo as AnimationCulling,hr as AttachRefusal,Ue as AttachmentTrait,al as AuthorityTrait,qi as AvatarTrait,_m as Bag,Oy as Bar,Mp as Billboard,jp as BillboardUnits,it as BindingKind,Kp as Bloom,vb as Bob,Co as BobTrait,fo as BodyIgnoreTrait,Gu as BodyNearEye,Io as BodyRefusal,Sn as BodyTrait,An as BodyVelocityTrait,O_ as Button,jy as ButtonVariant,Pp as Camera,cp as CameraPreset,Wu as CameraShakeTrait,zu as CameraTarget,k as CameraTrait,gn as CastRefusedEvent,dr as CastingTrait,Vg as CharacterAnimationView,Rs as CharacterCapsuleTrait,na as CharacterControllerTrait,Bp as CharacterSpawn,Oo as CharacterTrait,Wg as CharacterView,wb as Chase,Fb as ChaseCamera,_o as ChaseExitedEvent,On as ChaseReachedEvent,Ln as ChaseTargetsTrait,Qn as ChaseTrait,Cc as ClipLayer,nt as ClipMarkEvent,qn as ColliderTrait,Ls as CollisionEnteredEvent,ta as CollisionExitedEvent,ht as CombineRule,Zg as ConnectionNotice,xi as ConnectionState,er as ConnectionTrait,To as ControlRefusal,pi as ControlVisibility,li as ControlledTrait,Nr as ConversationTrait,zn as CooldownsTrait,Ou as CoreLayers,R as CostLevel,Ny as Counter,zb as CrtMaterial,St as DamageSourceTrait,Gt as DamagedEvent,ks as DayClockTrait,_l as DevWorldTrait,g as DeviceClass,Jd as DevtoolsAction,$d as DevtoolsNodeKind,k_ as Dialog,xe as DialogBuilder,va as DialogNodeBuilder,A_ as DialogPanel,vn as DiedEvent,sa as DisarmedTrait,Po as DisconnectedTrait,VO as DisplayName,jl as DisplayNameTrait,sc as DownedTrait,W_ as Draggable,Al as DrawnFeetTrait,K_ as DropTarget,F_ as Emitter,Hb as EnergyOrbMaterial,nm as Entity,gm as Equipment,ln as EquipmentSlot,bs as EquipmentTrait,Mi as EventDelivery,Lc as EventScope,Ct as Faction,tc as FellOutOfWorldEvent,Ns as FiredShotsTrait,fO as FloatingText,wx as FreeCamera,ll as FromWelcomeTrait,HD as Game,rn as GaveUpEvent,__ as GroundMark,ro as GroundTrait,Fy as Heading,pr as HealedEvent,bb as Health,Be as HealthTrait,zp as HeightfieldGeometry,aO as HeldItem,so as HeldWeaponsTrait,XT as HideSetting,ao as HistoryDepth,ac as HitZonesTrait,Am as Hud,wa as HullPointsTrait,Ly as Icon,zy as Image,os as InWorldTrait,Cu as InputKind,gs as InputTrait,b_ as InstancedModel,jb as Interact,Hr as InteractedEvent,vm as Inventory,Qt as InventoryTrait,ai as InvulnerableTrait,hi as ItemAcceptedEvent,rr as ItemEffectType,Ax as Joint,Wt as JointBrokenEvent,_n as JointRefusal,fr as JointTrait,qc as JointType,ak as Joystick,Wi as LatencyTrait,ga as LeaveReason,Op as Lighting,tw as LoadingProblemKind,rw as LoadingScreen,UC as LoadingStage,Ob as Lock,fn as LockTrait,Ud as LogLevel,Tb as Loot,Cs as LootLeftTrait,tn as LootTrait,Ui as MachinePausedTrait,sx as MapCamera,Z_ as MeasureKind,mu as MessageFieldKind,dd as MessageRefusal,Ml as MessagesTrait,Nm as MicrophoneAccess,nO as Modal,QD as ModalVariant,h_ as ModelClip,dk as ModelFile,Xc as ModelTrait,Ke as MovementPreset,xc as MovementTrait,En as MoverRefusal,Ep as Nameplate,Ao as NavMeshTrait,bl as NetworkEntitiesTrait,ju as NetworkIdTrait,Zc as Not,D_ as Npc,qt as NpcEvent,Hy as NumberField,rc as ObstaclesTrait,Vn as OneShotClipTrait,tu as Or,Sm as Panel,wm as PanelVariant,V_ as Particles,Wo as PathTrait,Kc as PendingCastTrait,yu as Phase,yb as Pickup,di as PickupTrait,Qd as PlaceableKind,g_ as PlaceholderShape,Lo as PlatformOnLeave,Xa as PlayerNameTrait,Ne as PlayerSaveStatus,Ur as PlayerSaveTrait,Gs as PlayerTrait,kh as PointerButton,Wb as PortalMaterial,Ba as PoseState,zi as PoseTrait,Dp as PostProcessing,kt as PrefabTrait,su as PressDropReason,wu as PressStatus,Gl as PreviousTransformTrait,i as QualityGroup,r as QualityLevel,bu as RefTrait,ku as Refusal,Qs as ReleaseReason,pO as Replicas,_r as ReservationsTrait,Tx as Resource,Dx as ResourceBar,kc as ResourceStart,xb as Respawn,Qi as RespawnPlace,FE as RespawnScreen,Vc as RespawnTrait,ea as RespawningTrait,Vs as RewindTrait,zt as RigidBodyType,Jo as Role,tr as RoomControllerTrait,sd as RoomDrop,j as RoomStatus,As as Routine,io as RoutinesBuilder,gu as RunContext,m_ as SaveDestination,t_ as SaveLimit,au as SaveScope,i_ as SaveStatus,ua as ScatterRefTrait,Ea as ScatterTrait,AD as Scene,Dl as ScenePathTrait,Ky as Select,Bd as SendOutcome,bg as SettingKind,YT as SettingRow,z as SettingsTab,Rb as Shader,cd as ShadowType,Mt as ShapeType,Ch as ShotJudge,aa as ShotJudgedEvent,kx as SideCamera,Se as Simulation,Zp as SkinnedBatch,qy as Slider,F as Slot,gO as Sound,zo as SpawnPointsTrait,vO as SpellBeam,Re as SpellLandedEvent,M_ as SpellLook,xO as SpellRing,wO as SpellRunes,EO as SpellShards,PO as SpellSpear,Yr as SpellStruckEvent,LO as SpellSwirl,_b as Spin,or as SpinTrait,cs as StateType,RO as Stats,at as StatsTrait,Sr as SteerTrait,ws as StepProfileTrait,Xe as StrafeClip,Ec as StuckTrait,Za as SystemReadsTrait,De as TakenEvent,bi as TalkingTrait,ok as Tap,Ht as TargetMode,Lt as TargetTrait,Br as TargetableTrait,L_ as Targeting,jr as TeamTrait,Xy as Text,Qy as TextField,Qh as ThumbnailFraming,$y as Toggle,Gp as ToneMappingMode,_a as Track,T_ as TrackMover,en as TrackMoverTrait,_i as TrackRefTrait,w_ as TrackScatter,S_ as TrackSurface,E_ as TrackTrigger,Di as TrackTriggerMoversTrait,ar as TrackTriggerTrait,du as TransformTrait,Mb as Trigger,Do as TriggerEnteredEvent,ec as TriggerExitedEvent,Ws as TriggerTrait,_u as TurnSide,Vl as TurnTrait,bo as UpperBodyClipTrait,ru as VelocityTrait,ya as ViewTargetTrait,xp as Vignette,sp as VoiceMode,gp as VolumeChannel,Hg as VrmView,an as WalkRefusal,Ko as WalletTrait,Dm as WarmHud,Bb as WaterMaterial,Oh as Weapon,Mo as WeaponKind,ic as WeaponNumber,da as WeaponsTrait,Tl as WelcomesTrait,nk as Window,Rf as WireFormat,Vp as World,Ce as WorldRandomTrait,ka as abilities,fs as activateItem,Xm as addBotPlayer,un as addCoins,ca as addController,Fn as addItem,th as addLinearVelocity,Pt as addModifierTotals,Dr as addSpeedModifier,Cn as addStatModifier,ah as aimAlongTrack,Is as aimAt,dh as aimShot,cu as anchorIfPresent,Du as angleInput,zl as angleSteps,Ma as applyForce,ji as applyImpulse,Lr as applyModifierTotals,ng as applyPaintStroke,$h as applyTerrainStroke,uc as applyTorque,Fc as applyTorqueImpulse,Ii as approachShare,yc as attach,tf as attachDevtools,Tu as axisInput,xl as axisSteps,xt as bakeGroundObstacles,yl as beginDefinitionReload,tg as beginPaintStroke,eg as beginTerrainStroke,hs as behaviours,sg as bindSaveSession,lu as boolean,Fr as box,hd as buildAiTree,y_ as buildTrackSurface,Td as button,Qc as buttonInput,Fa as calculateDaylight,qs as cameraSettings,Uu as cameraShakeSettings,Qr as capsule,Ng as captureEntity,Fg as captureInstance,jg as captureScreen,kg as captureView,Ps as castCoverRay,lr as castDroppedText,ri as castPress,Ot as castPressDeclaration,Ho as castRay,Ja as castRayAll,Gc as castRefusalText,nr as castReservation,Ra as castShape,mc as castTurnSeconds,Le as castsAsPress,no as changeResource,Os as characterMotion,Er as characterMovementSettings,Uo as characters,Es as chaserCollisionMask,Hi as checkCost,Ac as checkRespawn,jc as checkTarget,uh as claimShotHits,ei as clearModifierTotals,yf as clearSentShots,as as commitCost,lh as commitPose,Hs as composePlugins,ii as composeScatterMatrix,Tt as cone,Yg as connectionNoticeText,Fo as control,Ya as controls,qp as convertVolumeToGain,on as convexHull,za as cooldowns,Ri as core,Mn as correctionTolerance,yt as countItem,fl as createAdded,qr as createCastPress,ml as createChanged,Ki as createGameWorld,_O as createGlowMaterial,Xi as createGroundSurface,Ze as createHeadlessGame,ze as createJoint,vl as createQuery,tl as createRemoved,ag as createSaveSession,$u as createStore,So as createSweepRecord,Ks as createTrackFrame,Ul as createTransform,Lb as crtFragment,Ed as custom,Ft as cycleTarget,vs as cylinder,Pi as daylightSettings,xs as dealDamage,$t as dealHealing,Ut as declareInventory,br as declareMoveSpeed,zs as declareResource,qe as declareRespawn,Nn as declareStats,Ua as defaultCharacterCapsule,Na as defaultCharacterController,eu as defaultMessagesPerSecond,Rl as defaultPressesPerSecond,Oa as defaultProjectileSpeed,Us as defaultRandomSeed,oh as defaultRoomPlayers,eh as defaultRoomSendRate,Ds as defineBehaviour,bc as defineCooldown,Oc as defineEvent,oi as defineLevels,fu as defineMessage,sn as definePhysics,Zl as definePlugin,Il as definePluginFactory,dn as definePrefab,vu as definePress,Ge as defineReservation,ra as defineResource,Ym as defineRoom,Yl as defineSave,ch as defineSaveCodec,ut as defineSpeedModifier,El as defineTrait,Nl as deliverMessage,Rr as describeCastRefusal,ss as describeRoutines,oa as describeSystem,Ss as destroy,wr as detach,Xo as dialog,G_ as dragAndDrop,hn as dropItem,Ol as dumpKey,yn as dumpState,We as emitEvent,Vb as energyOrbFragment,Wn as engineActions,s as engineStartLevels,Hl as entities,iu as entity,pc as equipItem,im as extendGltfLoader,Kg as extendVrmLoader,Th as fanPellet,eo as filterChaseTargets,Nt as findAuthority,ti as findClickedTarget,Ha as findController,Gi as findDrawnTarget,Fl as findEntity,gi as findNearestControlled,_s as findPath,ja as findPendingController,Oe as findRapierWorld,gf as findRayHit,nc as findResourceTrait,hh as findRewindSends,rg as findSaveSession,Et as findTargetsInFront,go as findTimeOfDay,yi as finishLevel,wo as fixedStepSeconds,Bu as focusCamera,Jg as followGround,lp as followVolume,Vu as frameCamera,md as frameShot,_d as frameView,$i as freeCharacter,I as gameInsetLengths,Pg as gizmoUserData,Te as globalCooldown,Je as grantAbilities,$_ as grantPredicted,bd as groundTextures,ur as hasItem,wc as hasLineOfSight,Jl as hash32,Pl as hashKeys,la as healthResource,Yt as heightfield,xh as heldRule,Me as holdInput,kr as holdsAbility,ms as holdsWeapon,gl as inputContext,Su as integer,Bc as inventory,Zs as isAuthoritative,Yf as isBoostHeld,Tr as isCoolingDown,ed as isCursorCaptured,Wr as isLocallyControlled,X_ as isOlderReader,ol as isRemote,pu as isRoomWorld,Yi as isSleeping,Li as isTouching,rh as itemStack,Vo as keptLags,bn as kick,Pf as kickedCloseCode,jf as lateEdgeTicks,Qo as launchProjectile,Ee as launchTrackMover,Vf as leftCloseCode,$n as listLevels,Ug as listMotionUrls,uf as listMountedMaps,Id as listenToAction,dc as loadRapier,Jt as loadRecast,Mc as machines,ue as mapPreviewScene,rs as maxHealthStat,hu as maximumFrameBytes,jn as maximumHeldEventBytes,Jn as maximumHeldEvents,$c as maximumInputButtons,nl as maximumInputBytes,cl as maximumInputChanges,nu as maximumPressReasonLength,Ql as maximumTextBytes,gt as maximumUnreadSteps,gh as measureLatency,Ll as measureMessageFrameBytes,vf as measureMiss,No as measureShotDistance,ym as menuPane,id as messageRefusalText,Af as messageTooLargeCloseCode,ih as mostRoomPlayers,ce as mountHeadlessScene,ho as moveAndSlide,Sc as moveCharacter,yo as moveSpeedStat,Jr as moveStack,ba as nameAbilityCooldown,sf as nameMap,be as nextLevel,xr as npcs,Wl as number,xu as omit,sk as openingModels,vh as originRule,hc as overlapShape,Au as pageAction,Js as pendingStandSeconds,o_ as persist,gd as pickEntity,cn as pinTarget,Mr as placeCharacter,Ga as placeSpawnPoints,x_ as placeTrackScatter,Or as playClip,Sa as playLevel,Mm as playerVolumeRange,Ub as portalFragment,Xs as positiveY,Gg as prepareVrm,pl as pressBurst,tt as pushCharacter,Rn as quaternionToYaw,hl as queuePress,H_ as raiseHeightfield,Go as random,Ts as randomInt,Qa as randomRange,ph as rateRule,Yn as readAbilityInspection,hf as readAimAt,Dc as readAngularVelocity,Ir as readAuthorityWorld,wl as readAxisSides,ep as readCameraShakeScale,Ai as readControlled,lt as readCooldown,ui as readCreditedCoins,Ji as readDisplayName,Bl as readEach,Bt as readEvents,Eu as readField,Xt as readInput,mi as readInputChanges,Rt as readJointReaction,mr as readLinearVelocity,jt as readLocalCharacter,cf as readMap,lf as readMapRevision,uu as readMessages,$a as readModel,Xh as readModelSilhouette,Eo as readModelSize,Zh as readModelThumbnail,po as readMoveSpeed,He as readNextPose,bh as readPastPlace,yh as readPastTraits,lc as readPendingControlled,mt as readPlayers,rl as readPresses,ds as readResource,Ro as readResourcesSave,Sf as readRoomFailedReason,Xg as readRoomNotice,kl as readRoomSeconds,bf as readSaveRefusalReason,_h as readSentPlace,fh as readSentZones,_t as readStat,Vt as readStatsSave,Va as readStepProfile,qm as readStrafe,q_ as readTimeline,ul as readTrait,Ca as readTriggerOccupants,qa as readWeaponNumber,xa as recordPreviousTransforms,mf as recordRefusedShot,_f as recordSentShot,Wa as refundCost,Hn as registerAbility,Wd as registerAvatar,qo as registerClip,Pa as registerHealth,zr as registerItem,Ka as registerItemTarget,pf as registerMap,ff as registerMapProps,df as registerMaps,$s as registerModel,Sh as registerShotSettings,mn as registerStatField,La as registerWeapon,Pc as releaseControl,Y_ as reloadScene,ni as removeItem,Bn as removeSpeedModifier,cr as removeStatModifiers,J_ as requestSave,$r as requireAuthority,to as requirePlugin,Ni as reserveCost,Wc as resolveStat,Ye as resources,Ia as restoreEquipment,Fi as restoreInventory,Fs as restoreLevels,fc as restoreResources,Ie as restoreStats,xo as revokeAbilities,Dh as rewindCeilingSeconds,wh as rewindRule,mh as rewindStep,Ae as rollAbilityDamage,Ef as roomFailedCloseCode,sh as roomSendRates,Xl as roundTo,ia as route,jo as routines,c_ as save,kf as saveNewerCloseCode,wf as saveNotLoadedCloseCode,fa as scaleZoneDamage,Od as scatterModels,Ag as screenOverlayUserData,Bi as seedRandom,e as selectCustomQuality,d as selectNextQualityLevel,um as sendMessage,nn as sendPlayerInput,lm as sendPress,vc as setAngularVelocity,Uc as setBody,Fe as setCollider,Kn as setGravity,qd as setInput,Vr as setJoint,Cr as setLinearVelocity,ct as setNextPose,Eh as setRewindStep,Kr as setStatBase,Dn as setTimeOfDay,Gr as setVoxel,Ru as shakeCamera,ns as shuffle,qg as sizeArmColliders,Qe as sleep,mo as slowCharacter,ck as sounds,Ei as spawn,Pr as spawnCharacter,ir as spawnLocal,Yo as spawnNpc,Zr as spawnNpcBody,Ti as spendCoins,fi as sphere,Dt as splitStack,et as startCooldown,Da as states,Tc as stats,Jf as steerFromStick,Kt as stepSeconds,ki as stepWorld,dt as stopClip,Tn as strikeTarget,Qu as takeEscape,Nc as takeStepWindow,Zm as teleport,rt as teleportActor,ql as text,js as toMachineId,$m as trackCameraSettings,Qf as trackMovementKeys,Qm as trackResource,Ar as tracks,ci as triangleMesh,Ve as tryControl,Zi as unequipItem,Cl as updateEach,Zt as updateTarget,YD as useAction,XD as useActionHeld,ee as useActiveQualityLevel,BO as useAfterPose,pm as useBehaviour,Np as useCamera,R_ as useCast,Um as useCharacter,zO as useClipMark,B_ as useCooldown,Zu as useCursor,M as useDevtools,ZD as useDevtoolsPanel,Ip as useDisplayName,U_ as useDragging,em as useEntity,Xp as useEntityRef,mm as useEvent,sO as useFloatingText,bm as useFreeCursor,de as useHeadless,Bm as useHealth,lk as useInput,v_ as useInspect,hm as useInventory,pk as useKtx2,P_ as useLatestPressResult,RC as useLevelPlace,LC as useLevels,N as useLoading,Fp as useLookGrading,WO as useMachineState,fd as useMenu,Yp as useModel,N_ as useParticles,Gm as usePlayer,KO as usePlayerVoice,j_ as usePressResults,ve as useQualityLevel,w as useQualitySettings,_e as useQualityStore,Ex as useResource,A as useRoom,u_ as useSaveStatus,n as useScenes,P as useSettings,$p as useSkinnedBatch,Rp as useSpeaking,z_ as useTarget,Yd as useTime,GO as useTrait,Ah as useUnscaledFrame,jm as useVoice,L as useVoiceSession,YS as useWallet,Lp as useWorldEntity,Yc as vector2Input,Kl as vectorSteps,Q_ as versionsOf,Si as voxels,si as wadeDepth,vo as wakeUp,wt as walkTo,vt as watchCastRefusals,dp as waterFragment,ft as weapons,C_ as weighPlanRings,_c as writeInput,ps as writeStateTags,ke as yawToQuaternion};
|