@spawnite/engine 0.1.0-beta.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +169 -0
- package/README.md +92 -0
- package/dist/-MLBVTaO.js +1 -0
- package/dist/28wIPE7L.js +1 -0
- package/dist/3rj0AvB6.js +1 -0
- package/dist/5L-NcwKR.js +1 -0
- package/dist/B-qLcgSf.js +1 -0
- package/dist/B0WN1jqX.js +41 -0
- package/dist/B1OUgdbN.js +1 -0
- package/dist/BEL83Bb6.js +1 -0
- package/dist/BGDOC3Q-.js +1 -0
- package/dist/BGM1SnEr.js +1 -0
- package/dist/BH6Ftfg9.js +1 -0
- package/dist/BJIJuxaE.js +1 -0
- package/dist/BJclgjKG.js +1 -0
- package/dist/BKc2k2s6.js +1 -0
- package/dist/BLB4-b4b.js +2 -0
- package/dist/BQnBIIt8.js +1 -0
- package/dist/BR3nbYwS.js +7 -0
- package/dist/BV9hGHeu.js +623 -0
- package/dist/BWOKsReG.js +1 -0
- package/dist/BWlq9jqw.js +1 -0
- package/dist/BXmxKBbF.js +3 -0
- package/dist/BYXhtwWy.js +1 -0
- package/dist/B_HFa2lJ.js +1 -0
- package/dist/BciVglt5.js +1 -0
- package/dist/Bfg1Y9_2.js +1 -0
- package/dist/Bh-CVkQx.js +1 -0
- package/dist/BiH9xCBB.js +1 -0
- package/dist/BobsCMiL.js +9 -0
- package/dist/Bp238wbZ.js +1 -0
- package/dist/Bpe0g5hX.js +1 -0
- package/dist/BrfUaL46.js +2 -0
- package/dist/Bw06YsIc.js +1 -0
- package/dist/Bydoy8wO.js +1 -0
- package/dist/BzaiZux2.js +1 -0
- package/dist/C25qqozO.js +1 -0
- package/dist/C6Ja5Z7G.js +1 -0
- package/dist/CCh4CnV9.js +1 -0
- package/dist/CEuuijY1.js +1 -0
- package/dist/CHntUxHl.js +1 -0
- package/dist/CIq9KviM.js +1 -0
- package/dist/CQPA3y5T.js +1 -0
- package/dist/CRfoqBKG.js +1 -0
- package/dist/CSXcU95U.js +1 -0
- package/dist/CU0epHFG.js +3 -0
- package/dist/CVgRrBP4.js +1 -0
- package/dist/CZV99t6a.js +7 -0
- package/dist/Cg33N9Ej.js +1 -0
- package/dist/Chcm92bZ.js +1 -0
- package/dist/CjiCdqiE.js +2 -0
- package/dist/Cp5beIll.js +1 -0
- package/dist/Cq6VqPHb.js +2 -0
- package/dist/CwZDkslT.js +1 -0
- package/dist/D3Y2LHFe.js +1 -0
- package/dist/D3wyrZ2_.js +1 -0
- package/dist/D8jIS84n.js +1 -0
- package/dist/DCIejHqp.js +1 -0
- package/dist/DHsBnfoU.js +1 -0
- package/dist/DJSpRhXB.js +1 -0
- package/dist/DOeUeeKs.js +1 -0
- package/dist/DR9bHgf0.js +1 -0
- package/dist/DRnuSAbu.js +1 -0
- package/dist/DSb1ApLU.js +1 -0
- package/dist/DXtppcZ7.js +1 -0
- package/dist/DZIhHLUn.js +1 -0
- package/dist/DgMhVbMU.js +1 -0
- package/dist/Dh5kh1nX.js +1 -0
- package/dist/DiGFL8kd.js +1 -0
- package/dist/DkKmurqu.js +1 -0
- package/dist/DlkDsMQd.js +1 -0
- package/dist/DnNEzpz-.js +1 -0
- package/dist/Dqx9hHBK.js +1 -0
- package/dist/DsgWLyZo.js +1 -0
- package/dist/DucRBEvN.js +1 -0
- package/dist/Dwcms3jX.js +1 -0
- package/dist/Dwfie-ev.js +1 -0
- package/dist/DyHjwN2H.js +1 -0
- package/dist/SMby3e6M.js +4 -0
- package/dist/THIRD-PARTY-NOTICES +329 -0
- package/dist/UJDr3Nrd.js +1 -0
- package/dist/V70ADx0g.js +2 -0
- package/dist/abilities.d.ts +1 -0
- package/dist/abilities.js +1 -0
- package/dist/core.d.ts +1 -0
- package/dist/core.js +1 -0
- package/dist/devtools.d.ts +1 -0
- package/dist/devtools.js +1 -0
- package/dist/dragAndDrop.d.ts +1 -0
- package/dist/dragAndDrop.js +1 -0
- package/dist/eYC1fQo5.js +1 -0
- package/dist/eslint.js +1 -0
- package/dist/hQBGE7c4.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +297 -0
- package/dist/internal/cli.js +1 -0
- package/dist/internal/devServer.js +2 -0
- package/dist/internal/devtools.js +1 -0
- package/dist/internal/room.js +1 -0
- package/dist/inventory.d.ts +1 -0
- package/dist/inventory.js +1 -0
- package/dist/jMKXPXIH.js +33 -0
- package/dist/looks/dusk.d.ts +1 -0
- package/dist/looks/dusk.js +1 -0
- package/dist/looks/morning.d.ts +1 -0
- package/dist/looks/morning.js +1 -0
- package/dist/looks/night.d.ts +1 -0
- package/dist/looks/night.js +1 -0
- package/dist/looks/noon.d.ts +1 -0
- package/dist/looks/noon.js +1 -0
- package/dist/looks/overcast.d.ts +1 -0
- package/dist/looks/overcast.js +1 -0
- package/dist/npcs.d.ts +1 -0
- package/dist/npcs.js +1 -0
- package/dist/public.d.ts +18818 -0
- package/dist/replay.d.ts +1 -0
- package/dist/replay.js +1 -0
- package/dist/testing.d.ts +542 -0
- package/dist/testing.js +1 -0
- package/dist/three.d.ts +1 -0
- package/dist/three.js +1 -0
- package/dist/tracks.d.ts +1 -0
- package/dist/tracks.js +1 -0
- package/dist/vite.d.ts +123 -0
- package/dist/vite.js +1 -0
- package/dist/weapons.d.ts +1 -0
- package/dist/weapons.js +1 -0
- package/dist/wiki/engine/ai/metadata.md +143 -0
- package/dist/wiki/engine/audio/sound.md +72 -0
- package/dist/wiki/engine/audio/voice.md +153 -0
- package/dist/wiki/engine/behaviours/abilities.md +328 -0
- package/dist/wiki/engine/behaviours/bob.md +37 -0
- package/dist/wiki/engine/behaviours/chase.md +158 -0
- package/dist/wiki/engine/behaviours/cooldowns.md +83 -0
- package/dist/wiki/engine/behaviours/dialog.md +172 -0
- package/dist/wiki/engine/behaviours/health.md +330 -0
- package/dist/wiki/engine/behaviours/interact.md +41 -0
- package/dist/wiki/engine/behaviours/inventory.md +266 -0
- package/dist/wiki/engine/behaviours/loot.md +90 -0
- package/dist/wiki/engine/behaviours/pickup.md +149 -0
- package/dist/wiki/engine/behaviours/resources.md +274 -0
- package/dist/wiki/engine/behaviours/routines.md +99 -0
- package/dist/wiki/engine/behaviours/spin.md +36 -0
- package/dist/wiki/engine/behaviours/stats.md +220 -0
- package/dist/wiki/engine/behaviours/targeting.md +155 -0
- package/dist/wiki/engine/behaviours/track-mover.md +121 -0
- package/dist/wiki/engine/behaviours/track-trigger.md +117 -0
- package/dist/wiki/engine/behaviours/trigger.md +158 -0
- package/dist/wiki/engine/behaviours/weapon.md +462 -0
- package/dist/wiki/engine/entities/camera.md +326 -0
- package/dist/wiki/engine/entities/entity.mdx +1063 -0
- package/dist/wiki/engine/entities/npc.md +64 -0
- package/dist/wiki/engine/entities/player.md +435 -0
- package/dist/wiki/engine/errors/SP0001.md +20 -0
- package/dist/wiki/engine/errors/SP0002.md +20 -0
- package/dist/wiki/engine/errors/SP0003.md +20 -0
- package/dist/wiki/engine/errors/SP0008.md +20 -0
- package/dist/wiki/engine/errors/SP0009.md +20 -0
- package/dist/wiki/engine/errors/SP0010.md +20 -0
- package/dist/wiki/engine/errors/SP0011.md +20 -0
- package/dist/wiki/engine/errors/SP0014.md +20 -0
- package/dist/wiki/engine/errors/SP0015.md +20 -0
- package/dist/wiki/engine/errors/SP0016.md +20 -0
- package/dist/wiki/engine/errors/SP0017.md +20 -0
- package/dist/wiki/engine/errors/SP0018.md +20 -0
- package/dist/wiki/engine/errors/SP0019.md +20 -0
- package/dist/wiki/engine/errors/SP0020.md +20 -0
- package/dist/wiki/engine/errors/SP0021.md +20 -0
- package/dist/wiki/engine/errors/SP0022.md +20 -0
- package/dist/wiki/engine/errors/SP0023.md +20 -0
- package/dist/wiki/engine/errors/SP0024.md +20 -0
- package/dist/wiki/engine/errors/SP0025.md +20 -0
- package/dist/wiki/engine/errors/SP0026.md +22 -0
- package/dist/wiki/engine/errors/SP0027.md +20 -0
- package/dist/wiki/engine/errors/SP0028.md +20 -0
- package/dist/wiki/engine/errors/SP0029.md +20 -0
- package/dist/wiki/engine/errors/SP0030.md +20 -0
- package/dist/wiki/engine/errors/SP0031.md +20 -0
- package/dist/wiki/engine/errors/SP0034.md +20 -0
- package/dist/wiki/engine/errors/SP0035.md +20 -0
- package/dist/wiki/engine/errors/SP0036.md +20 -0
- package/dist/wiki/engine/errors/SP0037.md +20 -0
- package/dist/wiki/engine/errors/SP0038.md +20 -0
- package/dist/wiki/engine/errors/SP0039.md +20 -0
- package/dist/wiki/engine/errors/SP0040.md +20 -0
- package/dist/wiki/engine/errors/SP0041.md +20 -0
- package/dist/wiki/engine/errors/SP0042.md +20 -0
- package/dist/wiki/engine/errors/SP0043.md +20 -0
- package/dist/wiki/engine/errors/SP0045.md +20 -0
- package/dist/wiki/engine/errors/SP0046.md +20 -0
- package/dist/wiki/engine/errors/SP0047.md +20 -0
- package/dist/wiki/engine/errors/SP0048.md +20 -0
- package/dist/wiki/engine/errors/SP0049.md +20 -0
- package/dist/wiki/engine/errors/SP0050.md +20 -0
- package/dist/wiki/engine/errors/SP0051.md +20 -0
- package/dist/wiki/engine/errors/SP0052.md +20 -0
- package/dist/wiki/engine/errors/SP0053.md +20 -0
- package/dist/wiki/engine/errors/SP0054.md +20 -0
- package/dist/wiki/engine/errors/SP0055.md +20 -0
- package/dist/wiki/engine/errors/SP0056.md +20 -0
- package/dist/wiki/engine/errors/SP0057.md +20 -0
- package/dist/wiki/engine/errors/SP0058.md +20 -0
- package/dist/wiki/engine/errors/SP0059.md +20 -0
- package/dist/wiki/engine/errors/SP0060.md +20 -0
- package/dist/wiki/engine/errors/SP0061.md +20 -0
- package/dist/wiki/engine/errors/SP0064.md +20 -0
- package/dist/wiki/engine/errors/SP0065.md +20 -0
- package/dist/wiki/engine/errors/SP0066.md +20 -0
- package/dist/wiki/engine/errors/SP0067.md +20 -0
- package/dist/wiki/engine/errors/SP0070.md +20 -0
- package/dist/wiki/engine/errors/SP0071.md +20 -0
- package/dist/wiki/engine/errors/SP0072.md +20 -0
- package/dist/wiki/engine/errors/SP0073.md +20 -0
- package/dist/wiki/engine/errors/SP0074.md +20 -0
- package/dist/wiki/engine/errors/SP0075.md +20 -0
- package/dist/wiki/engine/errors/SP0076.md +20 -0
- package/dist/wiki/engine/errors/SP0077.md +20 -0
- package/dist/wiki/engine/errors/SP0078.md +20 -0
- package/dist/wiki/engine/errors/SP0079.md +20 -0
- package/dist/wiki/engine/errors/SP0080.md +20 -0
- package/dist/wiki/engine/errors/SP0081.md +20 -0
- package/dist/wiki/engine/errors/SP0082.md +20 -0
- package/dist/wiki/engine/errors/SP0083.md +20 -0
- package/dist/wiki/engine/errors/SP0084.md +20 -0
- package/dist/wiki/engine/errors/SP0085.md +20 -0
- package/dist/wiki/engine/errors/SP0086.md +20 -0
- package/dist/wiki/engine/errors/SP0087.md +20 -0
- package/dist/wiki/engine/errors/SP0089.md +20 -0
- package/dist/wiki/engine/errors/SP0090.md +20 -0
- package/dist/wiki/engine/errors/SP0091.md +20 -0
- package/dist/wiki/engine/errors/SP0092.md +20 -0
- package/dist/wiki/engine/errors/SP0093.md +20 -0
- package/dist/wiki/engine/errors/SP0094.md +20 -0
- package/dist/wiki/engine/errors/SP0095.md +20 -0
- package/dist/wiki/engine/errors/SP0096.md +20 -0
- package/dist/wiki/engine/errors/SP0097.md +20 -0
- package/dist/wiki/engine/errors/SP0098.md +20 -0
- package/dist/wiki/engine/errors/SP0099.md +20 -0
- package/dist/wiki/engine/errors/SP0100.md +20 -0
- package/dist/wiki/engine/errors/SP0101.md +20 -0
- package/dist/wiki/engine/errors/SP0102.md +20 -0
- package/dist/wiki/engine/errors/SP0103.md +20 -0
- package/dist/wiki/engine/errors/SP0104.md +20 -0
- package/dist/wiki/engine/errors/SP0105.md +20 -0
- package/dist/wiki/engine/errors/SP0106.md +20 -0
- package/dist/wiki/engine/errors/SP0107.md +20 -0
- package/dist/wiki/engine/errors/SP0108.md +20 -0
- package/dist/wiki/engine/errors/SP0109.md +20 -0
- package/dist/wiki/engine/errors/SP0110.md +20 -0
- package/dist/wiki/engine/errors/SP0111.md +20 -0
- package/dist/wiki/engine/errors/SP0112.md +20 -0
- package/dist/wiki/engine/errors/SP0113.md +20 -0
- package/dist/wiki/engine/errors/SP0114.md +20 -0
- package/dist/wiki/engine/errors/SP0115.md +20 -0
- package/dist/wiki/engine/errors/SP0116.md +20 -0
- package/dist/wiki/engine/errors/SP0117.md +20 -0
- package/dist/wiki/engine/errors/SP0118.md +20 -0
- package/dist/wiki/engine/errors/SP0119.md +20 -0
- package/dist/wiki/engine/errors/SP0120.md +20 -0
- package/dist/wiki/engine/errors/SP0121.md +20 -0
- package/dist/wiki/engine/errors/SP0122.md +20 -0
- package/dist/wiki/engine/errors/SP0125.md +20 -0
- package/dist/wiki/engine/errors/SP0126.md +20 -0
- package/dist/wiki/engine/errors/SP0132.md +20 -0
- package/dist/wiki/engine/errors/SP0133.md +20 -0
- package/dist/wiki/engine/errors/SP0134.md +20 -0
- package/dist/wiki/engine/errors/SP0137.md +20 -0
- package/dist/wiki/engine/errors/SP0138.md +20 -0
- package/dist/wiki/engine/errors/SP0139.md +20 -0
- package/dist/wiki/engine/errors/SP0143.md +20 -0
- package/dist/wiki/engine/errors/SP0145.md +20 -0
- package/dist/wiki/engine/errors/SP0146.md +20 -0
- package/dist/wiki/engine/errors/SP0147.md +20 -0
- package/dist/wiki/engine/errors/SP0148.md +20 -0
- package/dist/wiki/engine/errors/SP0149.md +20 -0
- package/dist/wiki/engine/errors/SP0150.md +20 -0
- package/dist/wiki/engine/errors/SP0151.md +20 -0
- package/dist/wiki/engine/errors/SP0152.md +20 -0
- package/dist/wiki/engine/errors/SP0154.md +20 -0
- package/dist/wiki/engine/errors/SP0157.md +20 -0
- package/dist/wiki/engine/errors/SP0158.md +20 -0
- package/dist/wiki/engine/errors/SP0159.md +20 -0
- package/dist/wiki/engine/errors/SP0160.md +20 -0
- package/dist/wiki/engine/errors/SP0161.md +20 -0
- package/dist/wiki/engine/errors/SP0162.md +20 -0
- package/dist/wiki/engine/errors/SP0163.md +20 -0
- package/dist/wiki/engine/errors/SP0164.md +20 -0
- package/dist/wiki/engine/errors/SP0165.md +20 -0
- package/dist/wiki/engine/errors/SP0166.md +20 -0
- package/dist/wiki/engine/errors/SP0167.md +20 -0
- package/dist/wiki/engine/errors/SP0169.md +20 -0
- package/dist/wiki/engine/errors/SP0175.md +20 -0
- package/dist/wiki/engine/errors/SP0176.md +20 -0
- package/dist/wiki/engine/errors/SP0177.md +20 -0
- package/dist/wiki/engine/errors/SP0178.md +20 -0
- package/dist/wiki/engine/errors/SP0179.md +20 -0
- package/dist/wiki/engine/errors/SP0180.md +20 -0
- package/dist/wiki/engine/errors/SP0181.md +20 -0
- package/dist/wiki/engine/errors/SP0182.md +20 -0
- package/dist/wiki/engine/errors/SP0183.md +20 -0
- package/dist/wiki/engine/errors/SP0184.md +20 -0
- package/dist/wiki/engine/errors/SP0185.md +20 -0
- package/dist/wiki/engine/errors/SP0186.md +20 -0
- package/dist/wiki/engine/errors/SP0187.md +20 -0
- package/dist/wiki/engine/errors/SP0188.md +20 -0
- package/dist/wiki/engine/errors/SP0189.md +20 -0
- package/dist/wiki/engine/errors/SP0190.md +20 -0
- package/dist/wiki/engine/errors/SP0191.md +20 -0
- package/dist/wiki/engine/errors/SP0192.md +20 -0
- package/dist/wiki/engine/errors/SP0193.md +20 -0
- package/dist/wiki/engine/errors/SP0194.md +20 -0
- package/dist/wiki/engine/errors/SP0195.md +20 -0
- package/dist/wiki/engine/errors/SP0196.md +20 -0
- package/dist/wiki/engine/errors/SP0197.md +20 -0
- package/dist/wiki/engine/errors/SP0198.md +20 -0
- package/dist/wiki/engine/errors/SP0199.md +20 -0
- package/dist/wiki/engine/errors/SP0200.md +20 -0
- package/dist/wiki/engine/errors/SP0202.md +20 -0
- package/dist/wiki/engine/errors/SP0203.md +20 -0
- package/dist/wiki/engine/errors/SP0204.md +20 -0
- package/dist/wiki/engine/errors/SP0205.md +20 -0
- package/dist/wiki/engine/errors/SP0206.md +20 -0
- package/dist/wiki/engine/errors/SP0207.md +20 -0
- package/dist/wiki/engine/errors/SP0208.md +20 -0
- package/dist/wiki/engine/errors/SP0210.md +20 -0
- package/dist/wiki/engine/errors/SP0211.md +20 -0
- package/dist/wiki/engine/errors/SP0212.md +20 -0
- package/dist/wiki/engine/errors/SP0213.md +20 -0
- package/dist/wiki/engine/errors/SP0214.md +20 -0
- package/dist/wiki/engine/errors/SP0215.md +20 -0
- package/dist/wiki/engine/errors/SP0216.md +20 -0
- package/dist/wiki/engine/errors/SP0219.md +20 -0
- package/dist/wiki/engine/errors/SP0220.md +20 -0
- package/dist/wiki/engine/errors/SP0221.md +20 -0
- package/dist/wiki/engine/errors/SP0225.md +20 -0
- package/dist/wiki/engine/errors/SP0228.md +20 -0
- package/dist/wiki/engine/errors/SP0229.md +20 -0
- package/dist/wiki/engine/errors/SP0230.md +20 -0
- package/dist/wiki/engine/errors/SP0231.md +20 -0
- package/dist/wiki/engine/errors/SP0232.md +20 -0
- package/dist/wiki/engine/errors/SP0233.md +20 -0
- package/dist/wiki/engine/errors/SP0234.md +20 -0
- package/dist/wiki/engine/errors/SP0235.md +20 -0
- package/dist/wiki/engine/errors/SP0236.md +20 -0
- package/dist/wiki/engine/errors/SP0237.md +20 -0
- package/dist/wiki/engine/errors/SP0238.md +20 -0
- package/dist/wiki/engine/errors/SP0239.md +20 -0
- package/dist/wiki/engine/errors/SP0240.md +20 -0
- package/dist/wiki/engine/errors/SP0241.md +20 -0
- package/dist/wiki/engine/errors/SP0242.md +20 -0
- package/dist/wiki/engine/errors/SP0243.md +20 -0
- package/dist/wiki/engine/errors/SP0244.md +20 -0
- package/dist/wiki/engine/errors/SP0245.md +20 -0
- package/dist/wiki/engine/errors/SP0247.md +20 -0
- package/dist/wiki/engine/errors/SP0249.md +20 -0
- package/dist/wiki/engine/errors/SP0250.md +20 -0
- package/dist/wiki/engine/errors/SP0251.md +20 -0
- package/dist/wiki/engine/errors/SP0252.md +20 -0
- package/dist/wiki/engine/errors/SP0253.md +20 -0
- package/dist/wiki/engine/errors/SP0254.md +20 -0
- package/dist/wiki/engine/errors/SP0255.md +20 -0
- package/dist/wiki/engine/errors/SP0256.md +20 -0
- package/dist/wiki/engine/errors/SP0257.md +20 -0
- package/dist/wiki/engine/errors/SP0258.md +20 -0
- package/dist/wiki/engine/errors/SP0259.md +20 -0
- package/dist/wiki/engine/errors/SP0260.md +20 -0
- package/dist/wiki/engine/errors/SP0270.md +20 -0
- package/dist/wiki/engine/errors/SP0271.md +20 -0
- package/dist/wiki/engine/errors/SP0272.md +20 -0
- package/dist/wiki/engine/errors/SP0273.md +20 -0
- package/dist/wiki/engine/errors/SP0274.md +20 -0
- package/dist/wiki/engine/errors/SP0275.md +20 -0
- package/dist/wiki/engine/errors/SP0276.md +20 -0
- package/dist/wiki/engine/errors/SP0277.md +20 -0
- package/dist/wiki/engine/errors/SP0278.md +20 -0
- package/dist/wiki/engine/errors/SP0279.md +20 -0
- package/dist/wiki/engine/errors/SP0280.md +20 -0
- package/dist/wiki/engine/errors/SP0281.md +20 -0
- package/dist/wiki/engine/errors/SP0282.md +20 -0
- package/dist/wiki/engine/errors/SP0283.md +20 -0
- package/dist/wiki/engine/errors/SP0284.md +20 -0
- package/dist/wiki/engine/errors/SP0285.md +20 -0
- package/dist/wiki/engine/errors/SP0286.md +20 -0
- package/dist/wiki/engine/errors/SP0287.md +20 -0
- package/dist/wiki/engine/errors/SP0288.md +20 -0
- package/dist/wiki/engine/errors/SP0289.md +20 -0
- package/dist/wiki/engine/errors/SP0290.md +20 -0
- package/dist/wiki/engine/errors/SP0291.md +20 -0
- package/dist/wiki/engine/errors/SP0292.md +20 -0
- package/dist/wiki/engine/errors/SP0293.md +20 -0
- package/dist/wiki/engine/errors/SP0294.md +20 -0
- package/dist/wiki/engine/errors/SP0295.md +20 -0
- package/dist/wiki/engine/errors/SP0296.md +20 -0
- package/dist/wiki/engine/errors/SP0297.md +20 -0
- package/dist/wiki/engine/errors/SP0298.md +20 -0
- package/dist/wiki/engine/errors/SP0299.md +20 -0
- package/dist/wiki/engine/errors/SP0300.md +20 -0
- package/dist/wiki/engine/errors/SP0301.md +20 -0
- package/dist/wiki/engine/errors/SP0302.md +20 -0
- package/dist/wiki/engine/errors/SP0303.md +20 -0
- package/dist/wiki/engine/errors/SP0304.md +20 -0
- package/dist/wiki/engine/errors/SP0305.md +20 -0
- package/dist/wiki/engine/errors/SP0306.md +20 -0
- package/dist/wiki/engine/errors/SP0307.md +20 -0
- package/dist/wiki/engine/errors/SP0308.md +20 -0
- package/dist/wiki/engine/errors/SP0309.md +20 -0
- package/dist/wiki/engine/errors/SP0310.md +20 -0
- package/dist/wiki/engine/errors/SP0311.md +20 -0
- package/dist/wiki/engine/errors/SP0312.md +20 -0
- package/dist/wiki/engine/errors/SP0313.md +20 -0
- package/dist/wiki/engine/errors/SP0314.md +20 -0
- package/dist/wiki/engine/errors/SP0315.md +20 -0
- package/dist/wiki/engine/errors/SP0316.md +20 -0
- package/dist/wiki/engine/errors/SP0317.md +20 -0
- package/dist/wiki/engine/errors/SP0318.md +20 -0
- package/dist/wiki/engine/errors/SP0319.md +20 -0
- package/dist/wiki/engine/errors/SP0320.md +20 -0
- package/dist/wiki/engine/errors/SP0321.md +20 -0
- package/dist/wiki/engine/errors/SP0322.md +20 -0
- package/dist/wiki/engine/errors/SP0323.md +20 -0
- package/dist/wiki/engine/errors/SP0324.md +20 -0
- package/dist/wiki/engine/errors/SP0325.md +20 -0
- package/dist/wiki/engine/errors/SP0326.md +20 -0
- package/dist/wiki/engine/errors/SP0327.md +20 -0
- package/dist/wiki/engine/errors/SP0328.md +20 -0
- package/dist/wiki/engine/errors/SP0329.md +20 -0
- package/dist/wiki/engine/errors/SP0330.md +20 -0
- package/dist/wiki/engine/errors/SP0331.md +20 -0
- package/dist/wiki/engine/errors/SP0332.md +20 -0
- package/dist/wiki/engine/errors/SP0333.md +20 -0
- package/dist/wiki/engine/errors/SP0334.md +20 -0
- package/dist/wiki/engine/errors/SP0335.md +20 -0
- package/dist/wiki/engine/errors/SP0336.md +20 -0
- package/dist/wiki/engine/errors/SP0337.md +20 -0
- package/dist/wiki/engine/errors/SP0338.md +20 -0
- package/dist/wiki/engine/errors/SP0339.md +20 -0
- package/dist/wiki/engine/errors/SP0340.md +20 -0
- package/dist/wiki/engine/errors/SP0341.md +20 -0
- package/dist/wiki/engine/errors/SP0342.md +20 -0
- package/dist/wiki/engine/errors/SP0343.md +20 -0
- package/dist/wiki/engine/errors/SP0344.md +20 -0
- package/dist/wiki/engine/errors/SP0346.md +20 -0
- package/dist/wiki/engine/errors/SP0347.md +20 -0
- package/dist/wiki/engine/errors/SP0348.md +20 -0
- package/dist/wiki/engine/errors/SP0349.md +20 -0
- package/dist/wiki/engine/errors/SP0350.md +20 -0
- package/dist/wiki/engine/errors/SP0351.md +20 -0
- package/dist/wiki/engine/errors/SP0352.md +20 -0
- package/dist/wiki/engine/errors/SP0353.md +20 -0
- package/dist/wiki/engine/errors/SP0354.md +20 -0
- package/dist/wiki/engine/errors/SP0355.md +20 -0
- package/dist/wiki/engine/errors/SP0356.md +20 -0
- package/dist/wiki/engine/errors/SP0357.md +20 -0
- package/dist/wiki/engine/errors/SP0358.md +20 -0
- package/dist/wiki/engine/errors/SP0359.md +20 -0
- package/dist/wiki/engine/errors/SP0360.md +20 -0
- package/dist/wiki/engine/errors/SP0361.md +20 -0
- package/dist/wiki/engine/errors/SP0362.md +20 -0
- package/dist/wiki/engine/errors/SP0363.md +20 -0
- package/dist/wiki/engine/errors/SP0364.md +20 -0
- package/dist/wiki/engine/errors/SP0365.md +20 -0
- package/dist/wiki/engine/errors/SP0366.md +20 -0
- package/dist/wiki/engine/errors/SP0367.md +20 -0
- package/dist/wiki/engine/errors/SP0368.md +20 -0
- package/dist/wiki/engine/errors/SP0369.md +20 -0
- package/dist/wiki/engine/errors/SP0370.md +20 -0
- package/dist/wiki/engine/errors/SP0371.md +20 -0
- package/dist/wiki/engine/errors/SP0372.md +20 -0
- package/dist/wiki/engine/errors/SP0373.md +20 -0
- package/dist/wiki/engine/errors/SP0374.md +20 -0
- package/dist/wiki/engine/errors/SP0375.md +20 -0
- package/dist/wiki/engine/errors/SP0376.md +20 -0
- package/dist/wiki/engine/errors/SP0377.md +20 -0
- package/dist/wiki/engine/errors/SP0378.md +20 -0
- package/dist/wiki/engine/errors/SP0379.md +20 -0
- package/dist/wiki/engine/errors/SP0380.md +20 -0
- package/dist/wiki/engine/errors/SP0381.md +20 -0
- package/dist/wiki/engine/errors/SP0382.md +20 -0
- package/dist/wiki/engine/errors/SP0383.md +20 -0
- package/dist/wiki/engine/errors/SP0384.md +20 -0
- package/dist/wiki/engine/errors/SP0385.md +20 -0
- package/dist/wiki/engine/errors/SP0386.md +20 -0
- package/dist/wiki/engine/errors/SP0387.md +21 -0
- package/dist/wiki/engine/errors/SP0388.md +20 -0
- package/dist/wiki/engine/errors/SP0389.md +20 -0
- package/dist/wiki/engine/errors/SP0390.md +20 -0
- package/dist/wiki/engine/errors/SP0391.md +20 -0
- package/dist/wiki/engine/errors/SP0392.md +20 -0
- package/dist/wiki/engine/errors/SP0393.md +20 -0
- package/dist/wiki/engine/errors/SP0394.md +20 -0
- package/dist/wiki/engine/errors/SP0395.md +20 -0
- package/dist/wiki/engine/errors/SP0396.md +20 -0
- package/dist/wiki/engine/errors/SP0397.md +20 -0
- package/dist/wiki/engine/errors/SP0398.md +20 -0
- package/dist/wiki/engine/errors/SP0399.md +20 -0
- package/dist/wiki/engine/errors/SP0400.md +20 -0
- package/dist/wiki/engine/errors/SP0401.md +20 -0
- package/dist/wiki/engine/errors/SP0402.md +20 -0
- package/dist/wiki/engine/errors/SP0403.md +20 -0
- package/dist/wiki/engine/errors/SP0404.md +20 -0
- package/dist/wiki/engine/errors/SP0405.md +20 -0
- package/dist/wiki/engine/errors/SP0406.md +20 -0
- package/dist/wiki/engine/errors/SP0407.md +20 -0
- package/dist/wiki/engine/errors/SP0408.md +20 -0
- package/dist/wiki/engine/errors/SP0409.md +20 -0
- package/dist/wiki/engine/errors/SP0410.md +20 -0
- package/dist/wiki/engine/errors/SP0411.md +20 -0
- package/dist/wiki/engine/errors/SP0412.md +20 -0
- package/dist/wiki/engine/errors/SP0413.md +20 -0
- package/dist/wiki/engine/errors/SP0414.md +20 -0
- package/dist/wiki/engine/errors/SP0415.md +20 -0
- package/dist/wiki/engine/errors/SP0416.md +20 -0
- package/dist/wiki/engine/errors/SP0417.md +20 -0
- package/dist/wiki/engine/errors/SP0418.md +20 -0
- package/dist/wiki/engine/errors/SP0419.md +20 -0
- package/dist/wiki/engine/errors/SP0420.md +20 -0
- package/dist/wiki/engine/errors/SP0421.md +20 -0
- package/dist/wiki/engine/errors/SP0422.md +20 -0
- package/dist/wiki/engine/errors/SP0423.md +20 -0
- package/dist/wiki/engine/errors/SP0427.md +20 -0
- package/dist/wiki/engine/errors/SP0428.md +20 -0
- package/dist/wiki/engine/errors/SP0429.md +20 -0
- package/dist/wiki/engine/errors/SP0430.md +20 -0
- package/dist/wiki/engine/errors/SP0431.md +20 -0
- package/dist/wiki/engine/errors/SP0432.md +20 -0
- package/dist/wiki/engine/errors/SP0433.md +20 -0
- package/dist/wiki/engine/errors/SP0434.md +20 -0
- package/dist/wiki/engine/errors/SP0435.md +20 -0
- package/dist/wiki/engine/errors/SP0436.md +20 -0
- package/dist/wiki/engine/errors/SP0437.md +20 -0
- package/dist/wiki/engine/errors/SP0438.md +20 -0
- package/dist/wiki/engine/errors/SP0439.md +20 -0
- package/dist/wiki/engine/errors/SP0440.md +20 -0
- package/dist/wiki/engine/errors/SP0442.md +20 -0
- package/dist/wiki/engine/errors/SP0443.md +20 -0
- package/dist/wiki/engine/errors/SP0444.md +20 -0
- package/dist/wiki/engine/errors/SP0445.md +20 -0
- package/dist/wiki/engine/errors/SP0446.md +20 -0
- package/dist/wiki/engine/errors/SP0447.md +20 -0
- package/dist/wiki/engine/errors/SP0448.md +20 -0
- package/dist/wiki/engine/errors/SP0449.md +20 -0
- package/dist/wiki/engine/errors/SP0450.md +20 -0
- package/dist/wiki/engine/errors/SP0451.md +20 -0
- package/dist/wiki/engine/errors/SP0452.md +20 -0
- package/dist/wiki/engine/errors/SP0453.md +20 -0
- package/dist/wiki/engine/errors/SP0454.md +20 -0
- package/dist/wiki/engine/errors/SP0455.md +20 -0
- package/dist/wiki/engine/errors/SP0456.md +20 -0
- package/dist/wiki/engine/errors/SP0457.md +20 -0
- package/dist/wiki/engine/errors/SP0458.md +20 -0
- package/dist/wiki/engine/errors/SP0459.md +20 -0
- package/dist/wiki/engine/errors/SP0460.md +20 -0
- package/dist/wiki/engine/errors/SP0461.md +20 -0
- package/dist/wiki/engine/errors/SP0462.md +20 -0
- package/dist/wiki/engine/errors/SP0463.md +20 -0
- package/dist/wiki/engine/errors/SP0464.md +20 -0
- package/dist/wiki/engine/errors/SP0465.md +20 -0
- package/dist/wiki/engine/errors/SP0466.md +20 -0
- package/dist/wiki/engine/errors/SP0467.md +20 -0
- package/dist/wiki/engine/errors/SP0468.md +20 -0
- package/dist/wiki/engine/errors/SP0469.md +20 -0
- package/dist/wiki/engine/errors/SP0470.md +20 -0
- package/dist/wiki/engine/errors/SP0471.md +20 -0
- package/dist/wiki/engine/errors/SP0472.md +20 -0
- package/dist/wiki/engine/errors/SP0473.md +20 -0
- package/dist/wiki/engine/errors/SP0474.md +20 -0
- package/dist/wiki/engine/errors/SP0475.md +20 -0
- package/dist/wiki/engine/errors/SP0476.md +20 -0
- package/dist/wiki/engine/errors/SP0477.md +20 -0
- package/dist/wiki/engine/errors/SP0478.md +20 -0
- package/dist/wiki/engine/errors/SP0479.md +20 -0
- package/dist/wiki/engine/errors/SP0480.md +20 -0
- package/dist/wiki/engine/errors/SP0481.md +20 -0
- package/dist/wiki/engine/errors/SP0482.md +20 -0
- package/dist/wiki/engine/errors/SP0483.md +20 -0
- package/dist/wiki/engine/errors/SP0484.md +20 -0
- package/dist/wiki/engine/errors/SP0497.md +20 -0
- package/dist/wiki/engine/errors/SP0498.md +20 -0
- package/dist/wiki/engine/errors/SP0500.md +20 -0
- package/dist/wiki/engine/errors/SP0501.md +20 -0
- package/dist/wiki/engine/errors/SP0502.md +20 -0
- package/dist/wiki/engine/errors/SP0503.md +20 -0
- package/dist/wiki/engine/errors/SP0504.md +20 -0
- package/dist/wiki/engine/errors/SP0505.md +20 -0
- package/dist/wiki/engine/errors/SP0506.md +20 -0
- package/dist/wiki/engine/errors/SP0507.md +20 -0
- package/dist/wiki/engine/errors/SP0508.md +20 -0
- package/dist/wiki/engine/errors/SP0509.md +20 -0
- package/dist/wiki/engine/errors/SP0510.md +20 -0
- package/dist/wiki/engine/errors/SP0511.md +20 -0
- package/dist/wiki/engine/errors/SP0512.md +20 -0
- package/dist/wiki/engine/errors/SP0513.md +20 -0
- package/dist/wiki/engine/errors/SP0514.md +20 -0
- package/dist/wiki/engine/errors/SP0515.md +20 -0
- package/dist/wiki/engine/errors/SP0516.md +20 -0
- package/dist/wiki/engine/errors/SP0517.md +20 -0
- package/dist/wiki/engine/errors/SP0518.md +20 -0
- package/dist/wiki/engine/errors/SP0519.md +20 -0
- package/dist/wiki/engine/errors/SP0520.md +20 -0
- package/dist/wiki/engine/errors/SP0521.md +20 -0
- package/dist/wiki/engine/errors/SP0522.md +20 -0
- package/dist/wiki/engine/errors/SP0523.md +20 -0
- package/dist/wiki/engine/errors/SP0524.md +20 -0
- package/dist/wiki/engine/errors/SP0525.md +20 -0
- package/dist/wiki/engine/errors/SP0526.md +20 -0
- package/dist/wiki/engine/errors/SP0527.md +20 -0
- package/dist/wiki/engine/errors/SP0528.md +20 -0
- package/dist/wiki/engine/errors/SP0529.md +20 -0
- package/dist/wiki/engine/errors/SP0530.md +20 -0
- package/dist/wiki/engine/errors/SP0531.md +20 -0
- package/dist/wiki/engine/errors/SP0532.md +20 -0
- package/dist/wiki/engine/errors/SP0533.md +20 -0
- package/dist/wiki/engine/errors/SP0534.md +20 -0
- package/dist/wiki/engine/errors/SP0535.md +20 -0
- package/dist/wiki/engine/errors/SP0536.md +20 -0
- package/dist/wiki/engine/errors/SP0537.md +20 -0
- package/dist/wiki/engine/errors/SP0538.md +20 -0
- package/dist/wiki/engine/errors/SP0539.md +20 -0
- package/dist/wiki/engine/errors/SP0540.md +20 -0
- package/dist/wiki/engine/errors/SP0541.md +20 -0
- package/dist/wiki/engine/errors/SP0542.md +20 -0
- package/dist/wiki/engine/errors/SP0543.md +20 -0
- package/dist/wiki/engine/errors/SP0545.md +20 -0
- package/dist/wiki/engine/errors/SP0546.md +20 -0
- package/dist/wiki/engine/errors/SP0547.md +20 -0
- package/dist/wiki/engine/errors/SP0548.md +20 -0
- package/dist/wiki/engine/errors/SP0549.md +20 -0
- package/dist/wiki/engine/errors/SP0550.md +20 -0
- package/dist/wiki/engine/errors/SP0551.md +20 -0
- package/dist/wiki/engine/errors/SP0552.md +20 -0
- package/dist/wiki/engine/errors/SP0553.md +20 -0
- package/dist/wiki/engine/errors/SP0554.md +20 -0
- package/dist/wiki/engine/errors/SP0555.md +20 -0
- package/dist/wiki/engine/errors/SP0556.md +20 -0
- package/dist/wiki/engine/errors/SP0557.md +20 -0
- package/dist/wiki/engine/errors/SP0558.md +20 -0
- package/dist/wiki/engine/errors/SP0559.md +20 -0
- package/dist/wiki/engine/errors/SP0560.md +20 -0
- package/dist/wiki/engine/errors/SP0561.md +20 -0
- package/dist/wiki/engine/errors/SP0562.md +20 -0
- package/dist/wiki/engine/errors/SP0563.md +20 -0
- package/dist/wiki/engine/errors/SP0564.md +20 -0
- package/dist/wiki/engine/errors/SP0565.md +20 -0
- package/dist/wiki/engine/errors/SP0566.md +20 -0
- package/dist/wiki/engine/errors/SP0567.md +20 -0
- package/dist/wiki/engine/errors/SP0568.md +20 -0
- package/dist/wiki/engine/errors/SP0569.md +20 -0
- package/dist/wiki/engine/errors/SP0570.md +20 -0
- package/dist/wiki/engine/errors/index.md +504 -0
- package/dist/wiki/engine/graphics/crt-material.md +64 -0
- package/dist/wiki/engine/graphics/energy-orb-material.md +52 -0
- package/dist/wiki/engine/graphics/instanced-model.md +89 -0
- package/dist/wiki/engine/graphics/looks.md +196 -0
- package/dist/wiki/engine/graphics/particles.md +185 -0
- package/dist/wiki/engine/graphics/portal-material.md +49 -0
- package/dist/wiki/engine/graphics/post-processing.md +130 -0
- package/dist/wiki/engine/graphics/renderer.md +103 -0
- package/dist/wiki/engine/graphics/shader.md +331 -0
- package/dist/wiki/engine/graphics/skinned-batch.md +115 -0
- package/dist/wiki/engine/graphics/track-scatter.md +124 -0
- package/dist/wiki/engine/graphics/track-surface.md +107 -0
- package/dist/wiki/engine/graphics/water-material.md +60 -0
- package/dist/wiki/engine/graphics/webgpu.md +87 -0
- package/dist/wiki/engine/structure/game.md +301 -0
- package/dist/wiki/engine/structure/levels.md +239 -0
- package/dist/wiki/engine/structure/plugins.md +423 -0
- package/dist/wiki/engine/structure/round.md +229 -0
- package/dist/wiki/engine/structure/saves.md +251 -0
- package/dist/wiki/engine/structure/scene.md +69 -0
- package/dist/wiki/engine/structure/states.md +202 -0
- package/dist/wiki/engine/structure/systems.md +242 -0
- package/dist/wiki/engine/structure/track-level.md +73 -0
- package/dist/wiki/engine/structure/world.md +371 -0
- package/dist/wiki/engine/testing/agent-state.md +131 -0
- package/dist/wiki/engine/testing/dev-server.md +101 -0
- package/dist/wiki/engine/testing/devtools-wiki.md +80 -0
- package/dist/wiki/engine/testing/devtools.md +143 -0
- package/dist/wiki/engine/testing/directing.md +125 -0
- package/dist/wiki/engine/testing/director.md +285 -0
- package/dist/wiki/engine/testing/editing.md +71 -0
- package/dist/wiki/engine/testing/errors.md +146 -0
- package/dist/wiki/engine/testing/frame.md +175 -0
- package/dist/wiki/engine/testing/headless.md +133 -0
- package/dist/wiki/engine/testing/hitches.md +140 -0
- package/dist/wiki/engine/testing/joins.md +129 -0
- package/dist/wiki/engine/testing/measuring.md +97 -0
- package/dist/wiki/engine/testing/performance.md +48 -0
- package/dist/wiki/engine/testing/processes.md +87 -0
- package/dist/wiki/engine/testing/replay-storage.md +156 -0
- package/dist/wiki/engine/testing/replay.md +230 -0
- package/dist/wiki/engine/testing/runs.md +162 -0
- package/dist/wiki/engine/testing/which-tool.md +155 -0
- package/dist/wiki/engine/ui/action-bar.md +121 -0
- package/dist/wiki/engine/ui/bar.md +54 -0
- package/dist/wiki/engine/ui/billboard.md +64 -0
- package/dist/wiki/engine/ui/button.md +69 -0
- package/dist/wiki/engine/ui/controls.md +131 -0
- package/dist/wiki/engine/ui/counter.md +40 -0
- package/dist/wiki/engine/ui/devtools-panel.md +69 -0
- package/dist/wiki/engine/ui/drag-and-drop.md +134 -0
- package/dist/wiki/engine/ui/floating-text.md +129 -0
- package/dist/wiki/engine/ui/graphics-quality.md +254 -0
- package/dist/wiki/engine/ui/heading.md +43 -0
- package/dist/wiki/engine/ui/hud.md +100 -0
- package/dist/wiki/engine/ui/icon.md +34 -0
- package/dist/wiki/engine/ui/image.md +38 -0
- package/dist/wiki/engine/ui/index.md +59 -0
- package/dist/wiki/engine/ui/joystick.md +32 -0
- package/dist/wiki/engine/ui/modal.md +95 -0
- package/dist/wiki/engine/ui/panel.md +100 -0
- package/dist/wiki/engine/ui/settings.md +303 -0
- package/dist/wiki/engine/ui/tap.md +33 -0
- package/dist/wiki/engine/ui/text.md +56 -0
- package/dist/wiki/engine/ui/theme.md +119 -0
- package/dist/wiki/engine/ui/window.md +68 -0
- package/dist/wmIDrLkF.js +1 -0
- package/dist/yhuZzG90.js +1 -0
- package/dist/z3YXvfLT.js +1 -0
- package/dist-browser/@pixiv/three-vrm/nodes.js +1 -0
- package/dist-browser/@pixiv/three-vrm.js +1 -0
- package/dist-browser/@react-three/drei/exports/-accumulative-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-adaptive-dpr.js +1 -0
- package/dist-browser/@react-three/drei/exports/-adaptive-events.js +1 -0
- package/dist-browser/@react-three/drei/exports/-arcball-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-ascii-renderer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-b-b-anchor.js +1 -0
- package/dist-browser/@react-three/drei/exports/-backdrop.js +1 -0
- package/dist-browser/@react-three/drei/exports/-bake-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-billboard.js +1 -0
- package/dist-browser/@react-three/drei/exports/-bounds.js +1 -0
- package/dist-browser/@react-three/drei/exports/-box.js +1 -0
- package/dist-browser/@react-three/drei/exports/-bvh.js +1 -0
- package/dist-browser/@react-three/drei/exports/-camera-controls-impl.js +1 -0
- package/dist-browser/@react-three/drei/exports/-camera-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-camera-shake.js +1 -0
- package/dist-browser/@react-three/drei/exports/-capsule.js +1 -0
- package/dist-browser/@react-three/drei/exports/-catmull-rom-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-caustics.js +1 -0
- package/dist-browser/@react-three/drei/exports/-center.js +1 -0
- package/dist-browser/@react-three/drei/exports/-circle.js +1 -0
- package/dist-browser/@react-three/drei/exports/-clone.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cloud-instance.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cloud.js +1 -0
- package/dist-browser/@react-three/drei/exports/-clouds.js +1 -0
- package/dist-browser/@react-three/drei/exports/-computed-attribute.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cone.js +1 -0
- package/dist-browser/@react-three/drei/exports/-contact-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cube-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cube-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cubic-bezier-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-curve-modifier.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cycle-raycast.js +1 -0
- package/dist-browser/@react-three/drei/exports/-cylinder.js +1 -0
- package/dist-browser/@react-three/drei/exports/-decal.js +1 -0
- package/dist-browser/@react-three/drei/exports/-detailed.js +1 -0
- package/dist-browser/@react-three/drei/exports/-detect-g-p-u.js +1 -0
- package/dist-browser/@react-three/drei/exports/-device-orientation-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-dodecahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-drag-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-edges.js +1 -0
- package/dist-browser/@react-three/drei/exports/-effects.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment-cube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment-map.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment-portal.js +1 -0
- package/dist-browser/@react-three/drei/exports/-environment.js +1 -0
- package/dist-browser/@react-three/drei/exports/-example.js +1 -0
- package/dist-browser/@react-three/drei/exports/-extrude.js +1 -0
- package/dist-browser/@react-three/drei/exports/-face-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-face-landmarker-defaults.js +1 -0
- package/dist-browser/@react-three/drei/exports/-face-landmarker.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh-datas.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh-eye-defaults.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh-eye.js +1 -0
- package/dist-browser/@react-three/drei/exports/-facemesh.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fbo.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fbx.js +1 -0
- package/dist-browser/@react-three/drei/exports/-first-person-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fisheye.js +1 -0
- package/dist-browser/@react-three/drei/exports/-float.js +1 -0
- package/dist-browser/@react-three/drei/exports/-fly-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gizmo-helper.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gizmo-viewcube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gizmo-viewport.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gltf.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gradient-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-gradient-type.js +1 -0
- package/dist-browser/@react-three/drei/exports/-grid.js +1 -0
- package/dist-browser/@react-three/drei/exports/-helper.js +1 -0
- package/dist-browser/@react-three/drei/exports/-html.js +1 -0
- package/dist-browser/@react-three/drei/exports/-hud.js +1 -0
- package/dist-browser/@react-three/drei/exports/-icosahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-image.js +1 -0
- package/dist-browser/@react-three/drei/exports/-instance.js +1 -0
- package/dist-browser/@react-three/drei/exports/-instanced-attribute.js +1 -0
- package/dist-browser/@react-three/drei/exports/-instances.js +1 -0
- package/dist-browser/@react-three/drei/exports/-is-object.js +1 -0
- package/dist-browser/@react-three/drei/exports/-keyboard-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-ktx2.js +1 -0
- package/dist-browser/@react-three/drei/exports/-lathe.js +1 -0
- package/dist-browser/@react-three/drei/exports/-lightformer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-loader.js +1 -0
- package/dist-browser/@react-three/drei/exports/-map-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-marching-cube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-marching-cubes.js +1 -0
- package/dist-browser/@react-three/drei/exports/-marching-plane.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mask.js +1 -0
- package/dist-browser/@react-three/drei/exports/-matcap-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-merged.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-discard-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-distort-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-portal-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-reflector-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-refraction-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-transmission-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-mesh-wobble-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-motion-path-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-multi-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-normal-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-octahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-orbit-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-orthographic-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/-outlines.js +1 -0
- package/dist-browser/@react-three/drei/exports/-performance-monitor.js +1 -0
- package/dist-browser/@react-three/drei/exports/-perspective-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/-pivot-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-plane.js +1 -0
- package/dist-browser/@react-three/drei/exports/-point-material-impl.js +1 -0
- package/dist-browser/@react-three/drei/exports/-point-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/-point.js +1 -0
- package/dist-browser/@react-three/drei/exports/-pointer-lock-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-points-buffer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-points.js +1 -0
- package/dist-browser/@react-three/drei/exports/-polyhedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-position-mesh.js +1 -0
- package/dist-browser/@react-three/drei/exports/-position-point.js +1 -0
- package/dist-browser/@react-three/drei/exports/-positional-audio.js +1 -0
- package/dist-browser/@react-three/drei/exports/-preload.js +1 -0
- package/dist-browser/@react-three/drei/exports/-presentation-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-progress.js +1 -0
- package/dist-browser/@react-three/drei/exports/-quadratic-bezier-line.js +1 -0
- package/dist-browser/@react-three/drei/exports/-randomized-light.js +1 -0
- package/dist-browser/@react-three/drei/exports/-render-cube-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-render-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-resize.js +1 -0
- package/dist-browser/@react-three/drei/exports/-ring.js +1 -0
- package/dist-browser/@react-three/drei/exports/-rounded-box-geometry.js +1 -0
- package/dist-browser/@react-three/drei/exports/-rounded-box.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sampler.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-quad.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-sizer.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-space.js +1 -0
- package/dist-browser/@react-three/drei/exports/-screen-video-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-scroll-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-scroll.js +1 -0
- package/dist-browser/@react-three/drei/exports/-segment-object.js +1 -0
- package/dist-browser/@react-three/drei/exports/-segment.js +1 -0
- package/dist-browser/@react-three/drei/exports/-segments.js +1 -0
- package/dist-browser/@react-three/drei/exports/-select.js +1 -0
- package/dist-browser/@react-three/drei/exports/-shadow-alpha.js +1 -0
- package/dist-browser/@react-three/drei/exports/-shadow.js +1 -0
- package/dist-browser/@react-three/drei/exports/-shape.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sky.js +1 -0
- package/dist-browser/@react-three/drei/exports/-soft-shadows.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sparkles.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sphere.js +1 -0
- package/dist-browser/@react-three/drei/exports/-splat.js +1 -0
- package/dist-browser/@react-three/drei/exports/-spot-light-shadow.js +1 -0
- package/dist-browser/@react-three/drei/exports/-spot-light.js +1 -0
- package/dist-browser/@react-three/drei/exports/-sprite-animator.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stage.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stars.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stats-gl.js +1 -0
- package/dist-browser/@react-three/drei/exports/-stats.js +1 -0
- package/dist-browser/@react-three/drei/exports/-svg.js +1 -0
- package/dist-browser/@react-three/drei/exports/-tetrahedron.js +1 -0
- package/dist-browser/@react-three/drei/exports/-text.js +1 -0
- package/dist-browser/@react-three/drei/exports/-text3-d.js +1 -0
- package/dist-browser/@react-three/drei/exports/-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-torus-knot.js +1 -0
- package/dist-browser/@react-three/drei/exports/-torus.js +1 -0
- package/dist-browser/@react-three/drei/exports/-trackball-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-trail-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-trail.js +1 -0
- package/dist-browser/@react-three/drei/exports/-transform-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/-tube.js +1 -0
- package/dist-browser/@react-three/drei/exports/-video-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-view.js +1 -0
- package/dist-browser/@react-three/drei/exports/-webcam-video-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/-wireframe.js +1 -0
- package/dist-browser/@react-three/drei/exports/accumulative-context.js +1 -0
- package/dist-browser/@react-three/drei/exports/calc-pos-from-angles.js +1 -0
- package/dist-browser/@react-three/drei/exports/calculate-scale-factor.js +1 -0
- package/dist-browser/@react-three/drei/exports/check-if-frame-is-empty.js +1 -0
- package/dist-browser/@react-three/drei/exports/create-instances.js +1 -0
- package/dist-browser/@react-three/drei/exports/get-first-frame.js +1 -0
- package/dist-browser/@react-three/drei/exports/is-web-g-l2-available.js +1 -0
- package/dist-browser/@react-three/drei/exports/mesh-bounds.js +1 -0
- package/dist-browser/@react-three/drei/exports/shader-material.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-animations.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-aspect.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-b-v-h.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-bounds.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-box-projected-env.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-context-bridge.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-cube-camera.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-cube-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-cursor.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-depth-buffer.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-detect-g-p-u.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-environment.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-f-b-o.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-f-b-x.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-face-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-face-landmarker.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-font.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-g-l-t-f.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-gizmo-context.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-helper.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-intersect.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-k-t-x2.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-keyboard-controls.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-mask.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-matcap-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-motion.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-normal-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-performance-monitor.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-progress.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-scroll.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-select.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-sprite-animator.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-sprite-loader.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-surface-sampler.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-trail-texture.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-trail.js +1 -0
- package/dist-browser/@react-three/drei/exports/use-video-texture.js +1 -0
- package/dist-browser/@react-three/drei.js +1 -0
- package/dist-browser/@react-three/fiber.js +1 -0
- package/dist-browser/@react-three/postprocessing.js +1 -0
- package/dist-browser/@spawnite/engine/abilities.js +1 -0
- package/dist-browser/@spawnite/engine/core.js +1 -0
- package/dist-browser/@spawnite/engine/dragAndDrop.js +1 -0
- package/dist-browser/@spawnite/engine/inventory.js +1 -0
- package/dist-browser/@spawnite/engine/looks/dusk.js +1 -0
- package/dist-browser/@spawnite/engine/looks/morning.js +1 -0
- package/dist-browser/@spawnite/engine/looks/night.js +1 -0
- package/dist-browser/@spawnite/engine/looks/noon.js +1 -0
- package/dist-browser/@spawnite/engine/looks/overcast.js +1 -0
- package/dist-browser/@spawnite/engine/npcs.js +1 -0
- package/dist-browser/@spawnite/engine/rounds.js +1 -0
- package/dist-browser/@spawnite/engine/three.js +1 -0
- package/dist-browser/@spawnite/engine/tracks.js +1 -0
- package/dist-browser/@spawnite/engine/weapons.js +1 -0
- package/dist-browser/@spawnite/engine.js +376 -0
- package/dist-browser/@spawnite/schema/exports/-agent-state.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-app-message-type.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-channel-handshake.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-clip-clock.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-clip-record-action.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-clip-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-collision-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-cover-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-credential-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-device-class.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-engine-save-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-favorite-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-model-style.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-page-connection-status.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-page-message-type.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-performance-stats-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-prop-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-quality-group.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-quality-level.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-room-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-save-owner-change.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-save-section.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-scatter-family.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-scatter-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-shot-angle.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-voice-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/-wiki-scope.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-asset-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-behaviour-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-dialog-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-entity-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-hud-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-item-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-map-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-npc-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-panel-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-scene-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/add-shader-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/agent-activity-event.js +1 -0
- package/dist-browser/@spawnite/schema/exports/agent-heartbeat-milliseconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-channel-version.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-credential.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-inset-edges.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-insets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-message-versions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-player.js +1 -0
- package/dist-browser/@spawnite/schema/exports/app-settings-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-catalog.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-category.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-declaration.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-filters.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-key.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-kind.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-licence.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-manifest.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-source.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-style.js +1 -0
- package/dist-browser/@spawnite/schema/exports/asset-url.js +1 -0
- package/dist-browser/@spawnite/schema/exports/assets-site.js +1 -0
- package/dist-browser/@spawnite/schema/exports/brush-shapes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/build-save-manifest-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-manifest-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-manifest.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-page-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/bundle-server-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/carried-setting-key-list.js +1 -0
- package/dist-browser/@spawnite/schema/exports/carried-setting-keys.js +1 -0
- package/dist-browser/@spawnite/schema/exports/carried-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/catalog-row.js +1 -0
- package/dist-browser/@spawnite/schema/exports/cell-paint.js +1 -0
- package/dist-browser/@spawnite/schema/exports/channel-connect.js +1 -0
- package/dist-browser/@spawnite/schema/exports/channel-hello.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/chat-read-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-game-slug.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-model-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-save-migrations.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-save-publish.js +1 -0
- package/dist-browser/@spawnite/schema/exports/check-sound-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clip-finish.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clip-meta.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clip-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clips-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/clips-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/compare-save-manifest-entries.js +1 -0
- package/dist-browser/@spawnite/schema/exports/compare-shots-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/component-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/condition-seconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/connection-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/create-quality-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/create-site.js +1 -0
- package/dist-browser/@spawnite/schema/exports/create-tagged-save-value-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/credential-versions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/day-hour.js +1 -0
- package/dist-browser/@spawnite/schema/exports/day-length.js +1 -0
- package/dist-browser/@spawnite/schema/exports/default-player-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/default-room-players.js +1 -0
- package/dist-browser/@spawnite/schema/exports/default-room-send-rate.js +1 -0
- package/dist-browser/@spawnite/schema/exports/describe-entity-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/describe-map-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/describe-save-publish-refusal.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-saves-cleared-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-saves-cleared-meta-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-saves-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-server-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/dev-server-prefix.js +1 -0
- package/dist-browser/@spawnite/schema/exports/devtools-favorites.js +1 -0
- package/dist-browser/@spawnite/schema/exports/devtools-presets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/direct-link.js +1 -0
- package/dist-browser/@spawnite/schema/exports/edit-material-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/edit-terrain-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-build-meta-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-build-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-label.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-origin.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-save-readers.js +1 -0
- package/dist-browser/@spawnite/schema/exports/engine-save-schemas.js +1 -0
- package/dist-browser/@spawnite/schema/exports/error-reports-config.js +1 -0
- package/dist-browser/@spawnite/schema/exports/error-reports-meta-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/error-reports-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/favorite-field.js +1 -0
- package/dist-browser/@spawnite/schema/exports/filter-assets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/find-particle-effect-excess.js +1 -0
- package/dist-browser/@spawnite/schema/exports/find-room-settings-problems.js +1 -0
- package/dist-browser/@spawnite/schema/exports/find-terrain-cell.js +1 -0
- package/dist-browser/@spawnite/schema/exports/fingerprint-save-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/format-clip-length.js +1 -0
- package/dist-browser/@spawnite/schema/exports/format-clip-size.js +1 -0
- package/dist-browser/@spawnite/schema/exports/format-link-conditions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/framed-shot-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/fullscreen-answer-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/fullscreen-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-materials-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-materials-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-origin.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-page-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/game-save-key.js +1 -0
- package/dist-browser/@spawnite/schema/exports/grid-map.js +1 -0
- package/dist-browser/@spawnite/schema/exports/ground-rule-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/ground-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/hud-slot.js +1 -0
- package/dist-browser/@spawnite/schema/exports/init-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/init-save.js +1 -0
- package/dist-browser/@spawnite/schema/exports/insets-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-additive-schema-change.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-game-id.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-game-slug.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-kept-label.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-link-direct.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-older-reader.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-particle-effect-looping.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-room-players.js +1 -0
- package/dist-browser/@spawnite/schema/exports/is-room-send-rate.js +1 -0
- package/dist-browser/@spawnite/schema/exports/item-definition.js +1 -0
- package/dist-browser/@spawnite/schema/exports/join-room-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/leave-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/left-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-assets-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-clips-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-templates-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/list-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/long-call-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/longest-timeout-seconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/make-model-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-base-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-point.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-prop-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-props-patch.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-props-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-sea-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/map-terrain-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-cover-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-look-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/material-sets.js +1 -0
- package/dist-browser/@spawnite/schema/exports/materials-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-error-report-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-body-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-body-ceiling-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-unpacked-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/max-save-unpacked-ceiling-bytes.js +1 -0
- package/dist-browser/@spawnite/schema/exports/menu-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/merge-carried-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/merge-save-highest.js +1 -0
- package/dist-browser/@spawnite/schema/exports/model-reference-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/model-triangle-budget.js +1 -0
- package/dist-browser/@spawnite/schema/exports/most-rejoin-hold-seconds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/most-room-players.js +1 -0
- package/dist-browser/@spawnite/schema/exports/name-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/new-game-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/package-room-hint.js +1 -0
- package/dist-browser/@spawnite/schema/exports/package-room.js +1 -0
- package/dist-browser/@spawnite/schema/exports/page-message-versions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/page-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/page-settings-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/parse-link-conditions.js +1 -0
- package/dist-browser/@spawnite/schema/exports/particle-effect-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/particle-sprite-max-side.js +1 -0
- package/dist-browser/@spawnite/schema/exports/place-loot-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/place-props-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/play-domain.js +1 -0
- package/dist-browser/@spawnite/schema/exports/profile-game-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/project-folder.js +1 -0
- package/dist-browser/@spawnite/schema/exports/publish-assets-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/publish-version-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/query-map-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-ai-tree-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-chat-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-clip-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-clip-start-time.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-game-id.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-game-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-package-room.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-paint-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-particle-effect.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-room-mode.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-run-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-save-mark.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-save-record.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-terrain-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-track-level.js +1 -0
- package/dist-browser/@spawnite/schema/exports/read-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/ready-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/record-clip-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-file.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-item-schema-url.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-item.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry-schema-url.js +1 -0
- package/dist-browser/@spawnite/schema/exports/registry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/resolve-room-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/reverse-wiki-relation.js +1 -0
- package/dist-browser/@spawnite/schema/exports/room-send-rates.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-codec-mark.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-failed-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-fingerprint-format.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-limit-warning-share.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-load-failed-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-now-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/save-record-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-health-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-level-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-stack-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-stat-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/saved-vector-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/scatter-kinds.js +1 -0
- package/dist-browser/@spawnite/schema/exports/scene-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/screenshot-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/search-wiki-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/seat-credential.js +1 -0
- package/dist-browser/@spawnite/schema/exports/seat-message.js +1 -0
- package/dist-browser/@spawnite/schema/exports/send-input-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/servers-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/set-nickname-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/set-trait-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/set-visibility-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/settings-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shot-angle-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shot-camera-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shot-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shots-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/shots-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/simulate-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/slug-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/slugify-game-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/snapshot-save-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/space-point-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/spawnite-folder-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/start-playtest-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/start-save-key.js +1 -0
- package/dist-browser/@spawnite/schema/exports/steps-per-second.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-age-bands.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-page-limits.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-page.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-picture-rules.js +1 -0
- package/dist-browser/@spawnite/schema/exports/store-picture.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-info.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-post.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tab-token-header.js +1 -0
- package/dist-browser/@spawnite/schema/exports/tagged-save-value-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-brush.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-fill.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-map.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-restore.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-settlings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-stroke-shape.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-stroke.js +1 -0
- package/dist-browser/@spawnite/schema/exports/terrain-tools.js +1 -0
- package/dist-browser/@spawnite/schema/exports/timeline-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/to-display-name.js +1 -0
- package/dist-browser/@spawnite/schema/exports/to-wiki-anchor.js +1 -0
- package/dist-browser/@spawnite/schema/exports/track-level-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/untouched.js +1 -0
- package/dist-browser/@spawnite/schema/exports/upload-store-page-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/upload-version-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/versions-of-save-manifest-entry.js +1 -0
- package/dist-browser/@spawnite/schema/exports/versions-of.js +1 -0
- package/dist-browser/@spawnite/schema/exports/view-schema.js +1 -0
- package/dist-browser/@spawnite/schema/exports/voice-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/whoami-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-overview-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-page-path.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-page-ref.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-path-part.js +1 -0
- package/dist-browser/@spawnite/schema/exports/wiki-site.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-link-settings.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-paint-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-save-record.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-terrain-grid.js +1 -0
- package/dist-browser/@spawnite/schema/exports/write-wiki-page-input.js +1 -0
- package/dist-browser/@spawnite/schema/exports/z.js +1 -0
- package/dist-browser/@spawnite/schema.js +1 -0
- package/dist-browser/@spawnite/ui/motion.js +1 -0
- package/dist-browser/@spawnite/ui.js +1 -0
- package/dist-browser/THIRD-PARTY-NOTICES +2949 -0
- package/dist-browser/assets/basis_transcoder-VXdx5NbI.wasm +0 -0
- package/dist-browser/assets/basis_transcoder-o4Hde_L7.js +19 -0
- package/dist-browser/assets/draco_decoder-C32yEggz.wasm +0 -0
- package/dist-browser/assets/draco_decoder-Z1_iN-Ht.wasm +0 -0
- package/dist-browser/assets/draco_decoder-fzg4nYZr.js +34 -0
- package/dist-browser/assets/draco_wasm_wrapper-DxJM36Ib.js +117 -0
- package/dist-browser/assets/draco_wasm_wrapper-fZCQGLGb.js +116 -0
- package/dist-browser/assets/rapier_wasm3d_bg-CcJdV3OS.wasm +0 -0
- package/dist-browser/chunks/-8xKUVc-.js +1 -0
- package/dist-browser/chunks/0Bppyo06.js +1 -0
- package/dist-browser/chunks/0XBYBf4e.js +1 -0
- package/dist-browser/chunks/1Pk4GW-o.js +1 -0
- package/dist-browser/chunks/1TfeBVY_.js +1 -0
- package/dist-browser/chunks/2GzBwp8F.js +1 -0
- package/dist-browser/chunks/37dBpPRN.js +1 -0
- package/dist-browser/chunks/3GDQ_l39.js +1 -0
- package/dist-browser/chunks/4r3wlCT-.js +56 -0
- package/dist-browser/chunks/51muForc.js +2 -0
- package/dist-browser/chunks/5l3Kj8OA.js +25 -0
- package/dist-browser/chunks/5v0sm-la.js +1 -0
- package/dist-browser/chunks/6RSie8Zr.js +1 -0
- package/dist-browser/chunks/6VxScSBj.js +1 -0
- package/dist-browser/chunks/6r1L_s87.js +1 -0
- package/dist-browser/chunks/703AF8IC.js +2 -0
- package/dist-browser/chunks/7kk1UrXM.js +54 -0
- package/dist-browser/chunks/7v-xFmSc.js +1 -0
- package/dist-browser/chunks/8CwB1oG9.js +1 -0
- package/dist-browser/chunks/8GjxAP3h.js +1 -0
- package/dist-browser/chunks/8Pep1QKH.js +1 -0
- package/dist-browser/chunks/8eSx71cM.js +1 -0
- package/dist-browser/chunks/8qLBuj0B.js +1 -0
- package/dist-browser/chunks/8uMFNz4F.js +48 -0
- package/dist-browser/chunks/9BUmmiDi.js +64 -0
- package/dist-browser/chunks/AEQH3xKs.js +1 -0
- package/dist-browser/chunks/B04SdTxo.js +1 -0
- package/dist-browser/chunks/B0d1OhsT.js +1 -0
- package/dist-browser/chunks/B0d94ulh.js +1 -0
- package/dist-browser/chunks/B0dIJJnS.js +104 -0
- package/dist-browser/chunks/B0sEcOA4.js +1 -0
- package/dist-browser/chunks/B17MsfBW.js +2 -0
- package/dist-browser/chunks/B1Q2EYQa.js +409 -0
- package/dist-browser/chunks/B1VGbFnq.js +1 -0
- package/dist-browser/chunks/B1ZLDwkb.js +1 -0
- package/dist-browser/chunks/B1gZ4XNT.js +1 -0
- package/dist-browser/chunks/B2P8OKx4.js +114 -0
- package/dist-browser/chunks/B2lwHY_A.js +1 -0
- package/dist-browser/chunks/B2rfjAu3.js +1 -0
- package/dist-browser/chunks/B3cpZ7qW.js +1 -0
- package/dist-browser/chunks/B3zyuqQe.js +1 -0
- package/dist-browser/chunks/B4HH7vxm.js +1 -0
- package/dist-browser/chunks/B4L72GuI.js +1 -0
- package/dist-browser/chunks/B4PXM93E.js +1 -0
- package/dist-browser/chunks/B4dyXOK4.js +2 -0
- package/dist-browser/chunks/B4f83JmW.js +1 -0
- package/dist-browser/chunks/B4rtOA11.js +1 -0
- package/dist-browser/chunks/B53Q2-Fw.js +42 -0
- package/dist-browser/chunks/B5YG9Ima.js +35 -0
- package/dist-browser/chunks/B5npwEiE.js +1 -0
- package/dist-browser/chunks/B6TyyPfn.js +2280 -0
- package/dist-browser/chunks/B6YPgX9B.js +1 -0
- package/dist-browser/chunks/B7K2KMcP.js +289 -0
- package/dist-browser/chunks/B8GCRzu-.js +1 -0
- package/dist-browser/chunks/B8f3enUO.js +42 -0
- package/dist-browser/chunks/B9dPPcmc.js +239 -0
- package/dist-browser/chunks/B9n7U8x8.js +24 -0
- package/dist-browser/chunks/BAcEoh4A.js +1 -0
- package/dist-browser/chunks/BBTy17gV.js +23 -0
- package/dist-browser/chunks/BBoWq_28.js +1 -0
- package/dist-browser/chunks/BCEkROxA.js +1 -0
- package/dist-browser/chunks/BCSDojKA.js +2 -0
- package/dist-browser/chunks/BCnGjanZ.js +1 -0
- package/dist-browser/chunks/BCy2Imwl.js +1 -0
- package/dist-browser/chunks/BD93nK4k.js +1 -0
- package/dist-browser/chunks/BDYWv4Pt.js +1 -0
- package/dist-browser/chunks/BDntRBeD.js +1 -0
- package/dist-browser/chunks/BE0sHH_C.js +1 -0
- package/dist-browser/chunks/BE7yKwOS.js +1 -0
- package/dist-browser/chunks/BFDqfrDx.js +61 -0
- package/dist-browser/chunks/BFnCgym5.js +1 -0
- package/dist-browser/chunks/BFpenkAR.js +1 -0
- package/dist-browser/chunks/BFvqTjM2.js +1 -0
- package/dist-browser/chunks/BG8QaCAl.js +1 -0
- package/dist-browser/chunks/BGsrJU1n.js +219 -0
- package/dist-browser/chunks/BGze3w87.js +1 -0
- package/dist-browser/chunks/BHYG5big.js +1 -0
- package/dist-browser/chunks/BHZuFsZC.js +26 -0
- package/dist-browser/chunks/BHePouWp.js +1 -0
- package/dist-browser/chunks/BIGc2B5x.js +106 -0
- package/dist-browser/chunks/BIgbJOA7.js +1 -0
- package/dist-browser/chunks/BIlEJ_uM.js +1 -0
- package/dist-browser/chunks/BIrJsLCp.js +1 -0
- package/dist-browser/chunks/BJCTIWwI.js +97 -0
- package/dist-browser/chunks/BJWwGEft.js +22 -0
- package/dist-browser/chunks/BJbnvkQD.js +33 -0
- package/dist-browser/chunks/BJj_P5qy.js +40 -0
- package/dist-browser/chunks/BKMmwIjP.js +1 -0
- package/dist-browser/chunks/BL2b-bga.js +1 -0
- package/dist-browser/chunks/BL3GFPpX.js +1 -0
- package/dist-browser/chunks/BL3JqalM.js +1 -0
- package/dist-browser/chunks/BLQoPgRQ.js +17 -0
- package/dist-browser/chunks/BLdTHuK5.js +38 -0
- package/dist-browser/chunks/BLxVM0Bx.js +1 -0
- package/dist-browser/chunks/BMOXLfbG.js +1 -0
- package/dist-browser/chunks/BMyF16Pb.js +1 -0
- package/dist-browser/chunks/BN0JituG.js +1 -0
- package/dist-browser/chunks/BNiTh9Zb.js +1 -0
- package/dist-browser/chunks/BNm7BDEl.js +1 -0
- package/dist-browser/chunks/BNucCtAC.js +1 -0
- package/dist-browser/chunks/BOAa4bZ5.js +80 -0
- package/dist-browser/chunks/BOIXSUZ_.js +1 -0
- package/dist-browser/chunks/BOY2osHs.js +1 -0
- package/dist-browser/chunks/BP9HooTj.js +1 -0
- package/dist-browser/chunks/BPsQn259.js +1 -0
- package/dist-browser/chunks/BPyPftW0.js +1 -0
- package/dist-browser/chunks/BQl3ddsW.js +1 -0
- package/dist-browser/chunks/BSaFdJJr.js +1 -0
- package/dist-browser/chunks/BSb5Y-Am.js +1 -0
- package/dist-browser/chunks/BSoHyLeW.js +1 -0
- package/dist-browser/chunks/BUJHJVUo.js +1 -0
- package/dist-browser/chunks/BV45MfzJ.js +206 -0
- package/dist-browser/chunks/BWLobtMG.js +1 -0
- package/dist-browser/chunks/BWX2omqC.js +1 -0
- package/dist-browser/chunks/BX-IJ6Jw.js +1 -0
- package/dist-browser/chunks/BZ67u85L.js +1 -0
- package/dist-browser/chunks/BZL3DkMo.js +1 -0
- package/dist-browser/chunks/BZkTFuN8.js +32 -0
- package/dist-browser/chunks/B_olo1g0.js +1 -0
- package/dist-browser/chunks/B_xcv6lP.js +1 -0
- package/dist-browser/chunks/BadDFgpu.js +3 -0
- package/dist-browser/chunks/BbIllpJG.js +1 -0
- package/dist-browser/chunks/Bc7uTOHd.js +1 -0
- package/dist-browser/chunks/BcH7_nnK.js +1 -0
- package/dist-browser/chunks/Bdd_iq-Z.js +1 -0
- package/dist-browser/chunks/BdkaRoRG.js +3 -0
- package/dist-browser/chunks/BeUM0nnI.js +1 -0
- package/dist-browser/chunks/BfkxY7do.js +13 -0
- package/dist-browser/chunks/BfzfmpKY.js +1 -0
- package/dist-browser/chunks/BgNGXLZH.js +1 -0
- package/dist-browser/chunks/Bgmtnmc9.js +1 -0
- package/dist-browser/chunks/BgtS-68o.js +1 -0
- package/dist-browser/chunks/BhE7ED0P.js +1 -0
- package/dist-browser/chunks/BhG-aLlJ.js +17 -0
- package/dist-browser/chunks/BhtgOF9y.js +1 -0
- package/dist-browser/chunks/BhvPhm_f.js +12 -0
- package/dist-browser/chunks/Bhvb25xz.js +1 -0
- package/dist-browser/chunks/Bi2imP0-.js +1 -0
- package/dist-browser/chunks/Bi4f74NJ.js +1 -0
- package/dist-browser/chunks/BiCMFIxo.js +1 -0
- package/dist-browser/chunks/BiSn0Dtc.js +1 -0
- package/dist-browser/chunks/BiU0PYSX.js +1 -0
- package/dist-browser/chunks/BipZQXT8.js +1 -0
- package/dist-browser/chunks/BiqCT0be.js +1 -0
- package/dist-browser/chunks/BjVVweLJ.js +1 -0
- package/dist-browser/chunks/BjeL5CV8.js +1 -0
- package/dist-browser/chunks/BjikXbkr.js +1 -0
- package/dist-browser/chunks/BkNRpWJF.js +1 -0
- package/dist-browser/chunks/BkWdvCr2.js +1 -0
- package/dist-browser/chunks/BkfYP8sS.js +1 -0
- package/dist-browser/chunks/BkoAp3nt.js +17 -0
- package/dist-browser/chunks/BkuNzUds.js +5 -0
- package/dist-browser/chunks/BlDBqfnQ.js +1 -0
- package/dist-browser/chunks/Blob4piG.js +1 -0
- package/dist-browser/chunks/Bm-NgCJv.js +290 -0
- package/dist-browser/chunks/BmwnZMHR.js +1 -0
- package/dist-browser/chunks/Bn-oguIM.js +1 -0
- package/dist-browser/chunks/Bn8JxKQd.js +947 -0
- package/dist-browser/chunks/Bn8l74kN.js +1 -0
- package/dist-browser/chunks/Bo2vvsC6.js +1 -0
- package/dist-browser/chunks/BoJD7UsQ.js +5 -0
- package/dist-browser/chunks/BoRPdfTd.js +1 -0
- package/dist-browser/chunks/BoTmVVAp.js +1 -0
- package/dist-browser/chunks/BoiOnH_p.js +1 -0
- package/dist-browser/chunks/Bpe2I0GB.js +1 -0
- package/dist-browser/chunks/BqD0o821.js +25 -0
- package/dist-browser/chunks/BqXaJXLb.js +1 -0
- package/dist-browser/chunks/BqsB_Ag5.js +1 -0
- package/dist-browser/chunks/Br-JA8rZ.js +1 -0
- package/dist-browser/chunks/Br2nhNMH.js +1 -0
- package/dist-browser/chunks/BrezGx31.js +3 -0
- package/dist-browser/chunks/BsZMTFvx.js +1 -0
- package/dist-browser/chunks/Bt2nCTua.js +51 -0
- package/dist-browser/chunks/BtM7kQaS.js +1 -0
- package/dist-browser/chunks/BtZNIAhj.js +1 -0
- package/dist-browser/chunks/Btgu8kW9.js +3 -0
- package/dist-browser/chunks/Btjboa9G.js +248 -0
- package/dist-browser/chunks/Btn1Hp7-.js +1 -0
- package/dist-browser/chunks/Bu1cOMsK.js +1 -0
- package/dist-browser/chunks/Bv2bGJo9.js +1 -0
- package/dist-browser/chunks/BvK95JoS.js +1 -0
- package/dist-browser/chunks/BvrPFs0h.js +1 -0
- package/dist-browser/chunks/BvsNGgEj.js +1 -0
- package/dist-browser/chunks/ByyEEkYz.js +1 -0
- package/dist-browser/chunks/BzAJiB5u.js +1 -0
- package/dist-browser/chunks/BzCmY2x1.js +68 -0
- package/dist-browser/chunks/BzKtjbg2.js +1 -0
- package/dist-browser/chunks/BzZ2lwsC.js +134 -0
- package/dist-browser/chunks/BzcZWs3f.js +1 -0
- package/dist-browser/chunks/BzuN4nW7.js +33 -0
- package/dist-browser/chunks/BzwHJPea.js +1 -0
- package/dist-browser/chunks/Bzy44bV2.js +4216 -0
- package/dist-browser/chunks/C-O8NhHK.js +1 -0
- package/dist-browser/chunks/C-_LmeNn.js +934 -0
- package/dist-browser/chunks/C-ztiLpW.js +1 -0
- package/dist-browser/chunks/C0Iji4Qk.js +1 -0
- package/dist-browser/chunks/C12xlM79.js +1 -0
- package/dist-browser/chunks/C1BDCorD.js +99 -0
- package/dist-browser/chunks/C2Dm6eUt.js +1 -0
- package/dist-browser/chunks/C2RePWen.js +1 -0
- package/dist-browser/chunks/C2suuPFw.js +1 -0
- package/dist-browser/chunks/C33aG9gN.js +1 -0
- package/dist-browser/chunks/C3Y15gp1.js +1 -0
- package/dist-browser/chunks/C3gvA1lh.js +1 -0
- package/dist-browser/chunks/C3pLayiC.js +143 -0
- package/dist-browser/chunks/C3wBsE11.js +1 -0
- package/dist-browser/chunks/C4E_bIDB.js +1 -0
- package/dist-browser/chunks/C4OFzvAP.js +1 -0
- package/dist-browser/chunks/C4fzyzUE.js +1 -0
- package/dist-browser/chunks/C5P0RHNI.js +1 -0
- package/dist-browser/chunks/C6XZSTSj.js +39 -0
- package/dist-browser/chunks/C784v2VA.js +1 -0
- package/dist-browser/chunks/C7CUzsYJ.js +1 -0
- package/dist-browser/chunks/C7FykdRJ.js +1 -0
- package/dist-browser/chunks/C7RSxM0z.js +1 -0
- package/dist-browser/chunks/C9J2i9In.js +2 -0
- package/dist-browser/chunks/C9Kd-Lrf.js +1 -0
- package/dist-browser/chunks/C9OKiK4z.js +15 -0
- package/dist-browser/chunks/C9bAX0wX.js +1 -0
- package/dist-browser/chunks/C9duFT9_.js +9 -0
- package/dist-browser/chunks/CA52Vkpa.js +3 -0
- package/dist-browser/chunks/CAB0sdkM.js +8 -0
- package/dist-browser/chunks/CBcRTsvX.js +1 -0
- package/dist-browser/chunks/CC8kNj4O.js +1 -0
- package/dist-browser/chunks/CC_taxfs.js +1 -0
- package/dist-browser/chunks/CCnjeop3.js +1 -0
- package/dist-browser/chunks/CD1Phcj7.js +1 -0
- package/dist-browser/chunks/CDBmfTua.js +1 -0
- package/dist-browser/chunks/CDFKagMr.js +1 -0
- package/dist-browser/chunks/CDZegpP1.js +1 -0
- package/dist-browser/chunks/CD_-ZdOx.js +1 -0
- package/dist-browser/chunks/CDmSfsbx.js +1 -0
- package/dist-browser/chunks/CDy5CkBb.js +1 -0
- package/dist-browser/chunks/CDyybrEA.js +1 -0
- package/dist-browser/chunks/CENY_jwA.js +5 -0
- package/dist-browser/chunks/CEfq3wMj.js +1 -0
- package/dist-browser/chunks/CEtY4HlI.js +1 -0
- package/dist-browser/chunks/CEtbZ-Ou.js +51 -0
- package/dist-browser/chunks/CFVbNh1J.js +1 -0
- package/dist-browser/chunks/CG5A_mHR.js +1 -0
- package/dist-browser/chunks/CGFRQ0IS.js +3 -0
- package/dist-browser/chunks/CGPPrudP.js +1 -0
- package/dist-browser/chunks/CGZdRHCz.js +1 -0
- package/dist-browser/chunks/CG_ggIC3.js +230 -0
- package/dist-browser/chunks/CHD7Siks.js +61 -0
- package/dist-browser/chunks/CHGAmNbz.js +24 -0
- package/dist-browser/chunks/CH_3weAk.js +136 -0
- package/dist-browser/chunks/CHnMaz0U.js +1 -0
- package/dist-browser/chunks/CHx28aAq.js +1 -0
- package/dist-browser/chunks/CIPEdQZg.js +1 -0
- package/dist-browser/chunks/CIU50MA1.js +1 -0
- package/dist-browser/chunks/CIXqygz5.js +42 -0
- package/dist-browser/chunks/CIz-HH07.js +1585 -0
- package/dist-browser/chunks/CJ4zQQhO.js +1 -0
- package/dist-browser/chunks/CJD9mRmQ.js +1 -0
- package/dist-browser/chunks/CJgknJ-O.js +12 -0
- package/dist-browser/chunks/CL1lltpM.js +1 -0
- package/dist-browser/chunks/CLxcu-z_.js +73 -0
- package/dist-browser/chunks/CM3pB59z.js +1 -0
- package/dist-browser/chunks/CM7fr6V2.js +1 -0
- package/dist-browser/chunks/CMCldyjy.js +1 -0
- package/dist-browser/chunks/CMhbdUh_.js +1 -0
- package/dist-browser/chunks/CMj-G0tG.js +1 -0
- package/dist-browser/chunks/CMy5JYMZ.js +1 -0
- package/dist-browser/chunks/CNS048lI.js +1 -0
- package/dist-browser/chunks/CO0SZ1hy.js +1 -0
- package/dist-browser/chunks/COnv2PBF.js +2 -0
- package/dist-browser/chunks/CP27PMpS.js +1 -0
- package/dist-browser/chunks/CQRcPihd.js +6 -0
- package/dist-browser/chunks/CRDIjF8C.js +2 -0
- package/dist-browser/chunks/CRFCYrrv.js +1 -0
- package/dist-browser/chunks/CRL527zA.js +1 -0
- package/dist-browser/chunks/CRuuK4qI.js +1 -0
- package/dist-browser/chunks/CSrliGR5.js +1 -0
- package/dist-browser/chunks/CT24MROG.js +36 -0
- package/dist-browser/chunks/CTKsfpS6.js +1 -0
- package/dist-browser/chunks/CTovL-9G.js +1 -0
- package/dist-browser/chunks/CU2_4WYp.js +1 -0
- package/dist-browser/chunks/CVn3AkL4.js +3 -0
- package/dist-browser/chunks/CW47wlpJ.js +1 -0
- package/dist-browser/chunks/CWtE2FH4.js +6 -0
- package/dist-browser/chunks/CWtqwiJb.js +1 -0
- package/dist-browser/chunks/CX2yvOMR.js +32 -0
- package/dist-browser/chunks/CXYvZiC5.js +1 -0
- package/dist-browser/chunks/CY2_o-A_.js +1 -0
- package/dist-browser/chunks/CYD5IpHG.js +1 -0
- package/dist-browser/chunks/CYFmo-2d.js +1 -0
- package/dist-browser/chunks/CYzJaZmG.js +1 -0
- package/dist-browser/chunks/CZng9q4s.js +1 -0
- package/dist-browser/chunks/C_3LSlp_.js +1 -0
- package/dist-browser/chunks/C_popvm5.js +1 -0
- package/dist-browser/chunks/Ca2qCbBO.js +227 -0
- package/dist-browser/chunks/CaayFmFc.js +68 -0
- package/dist-browser/chunks/CagC9ufD.js +6 -0
- package/dist-browser/chunks/CamHr2sm.js +9 -0
- package/dist-browser/chunks/Caw9wDgF.js +1 -0
- package/dist-browser/chunks/CbRyzWz3.js +1 -0
- package/dist-browser/chunks/CcQz6dxG.js +68 -0
- package/dist-browser/chunks/CcUHIKVc.js +1 -0
- package/dist-browser/chunks/Cd20lYkt.js +23 -0
- package/dist-browser/chunks/Cdj8C4sv.js +1 -0
- package/dist-browser/chunks/CeWzMWwP.js +1 -0
- package/dist-browser/chunks/Ceeo2sCz.js +1 -0
- package/dist-browser/chunks/CerF2aP5.js +1 -0
- package/dist-browser/chunks/Cew-kv76.js +1 -0
- package/dist-browser/chunks/Cf1F89pD.js +1 -0
- package/dist-browser/chunks/Cff8_5zr.js +1 -0
- package/dist-browser/chunks/Cgy6G_V-.js +1 -0
- package/dist-browser/chunks/ChAqhjhd.js +243 -0
- package/dist-browser/chunks/Chg_Q8x6.js +1 -0
- package/dist-browser/chunks/Chx9z6ee.js +3 -0
- package/dist-browser/chunks/Ci0DiZOM.js +1 -0
- package/dist-browser/chunks/CiD_XHlg.js +1 -0
- package/dist-browser/chunks/CjL-uP84.js +1 -0
- package/dist-browser/chunks/CjPBNVRF.js +2 -0
- package/dist-browser/chunks/CjTILWD4.js +3 -0
- package/dist-browser/chunks/CkmGh-87.js +1 -0
- package/dist-browser/chunks/ClZqxSEX.js +1 -0
- package/dist-browser/chunks/CluBrQDl.js +1 -0
- package/dist-browser/chunks/Clzbw8hC.js +104 -0
- package/dist-browser/chunks/CmEJbuVc.js +1 -0
- package/dist-browser/chunks/CmlWyQpr.js +1 -0
- package/dist-browser/chunks/Cnh5-qw-.js +10 -0
- package/dist-browser/chunks/CnwbVRym.js +1 -0
- package/dist-browser/chunks/Co55Z6b-.js +34 -0
- package/dist-browser/chunks/CoqDcyee.js +1 -0
- package/dist-browser/chunks/CorZBnkZ.js +71 -0
- package/dist-browser/chunks/CpKf07f9.js +72 -0
- package/dist-browser/chunks/CqXobSJH.js +82 -0
- package/dist-browser/chunks/CqwcKTEN.js +1 -0
- package/dist-browser/chunks/Cs23D-lk.js +18 -0
- package/dist-browser/chunks/CsT20qOq.js +1 -0
- package/dist-browser/chunks/CsTuUPUb.js +1 -0
- package/dist-browser/chunks/CtCvKs-8.js +1 -0
- package/dist-browser/chunks/CtpF73Mi.js +1 -0
- package/dist-browser/chunks/CuHid4qh.js +1 -0
- package/dist-browser/chunks/CuhwmTWw.js +2 -0
- package/dist-browser/chunks/Cv31r4NA.js +1 -0
- package/dist-browser/chunks/CvVTau-c.js +1 -0
- package/dist-browser/chunks/Cvdyeg_0.js +1 -0
- package/dist-browser/chunks/CvgsNxMb.js +1 -0
- package/dist-browser/chunks/Cvk3fWJd.js +31 -0
- package/dist-browser/chunks/Cvq_OonK.js +1 -0
- package/dist-browser/chunks/Cvzg7xRz.js +1039 -0
- package/dist-browser/chunks/CwPUhsCN.js +111 -0
- package/dist-browser/chunks/CwTYnDSQ.js +1 -0
- package/dist-browser/chunks/CwVb7sDh.js +1 -0
- package/dist-browser/chunks/CwkwVzf9.js +1 -0
- package/dist-browser/chunks/Cwsm87qt.js +1 -0
- package/dist-browser/chunks/CwtYJaZ0.js +1 -0
- package/dist-browser/chunks/CxBgnQIE.js +1 -0
- package/dist-browser/chunks/CxRCGV_D.js +1 -0
- package/dist-browser/chunks/CxW3h7EP.js +1 -0
- package/dist-browser/chunks/CxdFFqFC.js +1 -0
- package/dist-browser/chunks/Cxl6U4QM.js +1 -0
- package/dist-browser/chunks/CxqqJceE.js +262 -0
- package/dist-browser/chunks/CyUjhzls.js +1 -0
- package/dist-browser/chunks/CzHZycAX.js +1 -0
- package/dist-browser/chunks/CzVBHx3T.js +1 -0
- package/dist-browser/chunks/D-J5r5vm.js +502 -0
- package/dist-browser/chunks/D-ZRVGDk.js +1 -0
- package/dist-browser/chunks/D10MTZ8f.js +1 -0
- package/dist-browser/chunks/D1dFmEHc.js +82 -0
- package/dist-browser/chunks/D2SJBO5U.js +1 -0
- package/dist-browser/chunks/D2bDAUlP.js +1 -0
- package/dist-browser/chunks/D2qpNyTi.js +1 -0
- package/dist-browser/chunks/D3Fr6yvq.js +1 -0
- package/dist-browser/chunks/D3_eaTYS.js +1 -0
- package/dist-browser/chunks/D3lBoMMr.js +29 -0
- package/dist-browser/chunks/D5CFWMVX.js +1 -0
- package/dist-browser/chunks/D5Cj4ub7.js +1 -0
- package/dist-browser/chunks/D5EJDMZ-.js +2 -0
- package/dist-browser/chunks/D6E_gImS.js +1 -0
- package/dist-browser/chunks/D6XXX9Ue.js +1 -0
- package/dist-browser/chunks/D6fd1dZA.js +1 -0
- package/dist-browser/chunks/D852BHwA.js +40 -0
- package/dist-browser/chunks/D8inQ_yL.js +1 -0
- package/dist-browser/chunks/D9XZ_4Ga.js +145 -0
- package/dist-browser/chunks/D9dlo-Ln.js +1 -0
- package/dist-browser/chunks/DAB0WqX0.js +1 -0
- package/dist-browser/chunks/DAH2JXIW.js +1 -0
- package/dist-browser/chunks/DAPFhXVb.js +22 -0
- package/dist-browser/chunks/DAxE8pMD.js +45 -0
- package/dist-browser/chunks/DBj6QGQs.js +1 -0
- package/dist-browser/chunks/DC3L5U86.js +1 -0
- package/dist-browser/chunks/DC9vc-0L.js +1 -0
- package/dist-browser/chunks/DCJlJ3lv.js +1 -0
- package/dist-browser/chunks/DCaQLeIq.js +1 -0
- package/dist-browser/chunks/DCc-gTDg.js +1 -0
- package/dist-browser/chunks/DD2V7Wxl.js +1 -0
- package/dist-browser/chunks/DD6onItE.js +1 -0
- package/dist-browser/chunks/DDLmvpjg.js +1 -0
- package/dist-browser/chunks/DDRCiC_a.js +1 -0
- package/dist-browser/chunks/DEW70SgN.js +1 -0
- package/dist-browser/chunks/DEucxoKb.js +1 -0
- package/dist-browser/chunks/DF6Qh6eu.js +1 -0
- package/dist-browser/chunks/DFtj_qQf.js +63 -0
- package/dist-browser/chunks/DG4h2xXm.js +45 -0
- package/dist-browser/chunks/DGYxR7PN.js +26 -0
- package/dist-browser/chunks/DGlba0EV.js +1 -0
- package/dist-browser/chunks/DHOehIg0.js +30 -0
- package/dist-browser/chunks/DHiTLWtz.js +1 -0
- package/dist-browser/chunks/DIHxCXEJ.js +1 -0
- package/dist-browser/chunks/DII2y8tL.js +546 -0
- package/dist-browser/chunks/DIcTMzLD.js +31 -0
- package/dist-browser/chunks/DImXrYb5.js +1 -0
- package/dist-browser/chunks/DIvOsQJS.js +393 -0
- package/dist-browser/chunks/DJCfJlBy.js +1 -0
- package/dist-browser/chunks/DKnN7RH0.js +1 -0
- package/dist-browser/chunks/DKrOx_1M.js +1 -0
- package/dist-browser/chunks/DMcWzziy.js +1 -0
- package/dist-browser/chunks/DMk6G0lv.js +1 -0
- package/dist-browser/chunks/DMyNEYzI.js +1 -0
- package/dist-browser/chunks/DN0xP1fa.js +1 -0
- package/dist-browser/chunks/DNef-bWt.js +1 -0
- package/dist-browser/chunks/DNhTxxCh.js +1 -0
- package/dist-browser/chunks/DNoIqPE7.js +1 -0
- package/dist-browser/chunks/DNsR67l1.js +3 -0
- package/dist-browser/chunks/DOEmZHjx.js +1 -0
- package/dist-browser/chunks/DOFYt5cj.js +1 -0
- package/dist-browser/chunks/DOWMFTFl.js +38 -0
- package/dist-browser/chunks/DOYycP3M.js +1 -0
- package/dist-browser/chunks/DOidSPk5.js +1 -0
- package/dist-browser/chunks/DOvE9vCY.js +97 -0
- package/dist-browser/chunks/DOyIRes1.js +1 -0
- package/dist-browser/chunks/DPIksCnG.js +41 -0
- package/dist-browser/chunks/DPNgRv8u.js +1 -0
- package/dist-browser/chunks/DPXctdFS.js +27 -0
- package/dist-browser/chunks/DPnn0uIO.js +1 -0
- package/dist-browser/chunks/DQ0A9BJI.js +1 -0
- package/dist-browser/chunks/DQbqNpgw.js +1 -0
- package/dist-browser/chunks/DQea7zxR.js +1 -0
- package/dist-browser/chunks/DSMSQCrr.js +36 -0
- package/dist-browser/chunks/DSp9shD_.js +1 -0
- package/dist-browser/chunks/DT0rWxA4.js +1176 -0
- package/dist-browser/chunks/DTtjHrtM.js +1 -0
- package/dist-browser/chunks/DV53iZve.js +64 -0
- package/dist-browser/chunks/DVAMQgZs.js +1 -0
- package/dist-browser/chunks/DVcRBsZ0.js +69 -0
- package/dist-browser/chunks/DVrViq4W.js +1 -0
- package/dist-browser/chunks/DWe0PJKb.js +1 -0
- package/dist-browser/chunks/DWgUahRJ.js +1 -0
- package/dist-browser/chunks/DXJRs_pC.js +1 -0
- package/dist-browser/chunks/DXq97sWO.js +1 -0
- package/dist-browser/chunks/DXzwsPHQ.js +8 -0
- package/dist-browser/chunks/DYoIHzIt.js +2 -0
- package/dist-browser/chunks/DZJGj1NY.js +1 -0
- package/dist-browser/chunks/DZYUBtK-.js +10 -0
- package/dist-browser/chunks/DZmRZ_iP.js +1 -0
- package/dist-browser/chunks/D_MQ9Xc9.js +1 -0
- package/dist-browser/chunks/D_V_oqfi.js +1 -0
- package/dist-browser/chunks/D_fJrOcA.js +1 -0
- package/dist-browser/chunks/DaE8j1Mj.js +1 -0
- package/dist-browser/chunks/DaNJDW05.js +120 -0
- package/dist-browser/chunks/DaqOKjgV.js +2 -0
- package/dist-browser/chunks/DbM1VGG0.js +1 -0
- package/dist-browser/chunks/DbVolxbX.js +1 -0
- package/dist-browser/chunks/Dd3Azzh1.js +102 -0
- package/dist-browser/chunks/Dd_HZKyk.js +1 -0
- package/dist-browser/chunks/DePrIwoT.js +1 -0
- package/dist-browser/chunks/Df-3V4RI.js +1 -0
- package/dist-browser/chunks/DfPCBWZC.js +35 -0
- package/dist-browser/chunks/DfTjtDZE.js +1 -0
- package/dist-browser/chunks/Dfdpy3ar.js +1 -0
- package/dist-browser/chunks/DhQi6uM8.js +1 -0
- package/dist-browser/chunks/Dhq0zrZC.js +131 -0
- package/dist-browser/chunks/DhrQ_H4H.js +1 -0
- package/dist-browser/chunks/Di27GzYt.js +1 -0
- package/dist-browser/chunks/Di8-zyqt.js +1 -0
- package/dist-browser/chunks/DifZdnzu.js +1 -0
- package/dist-browser/chunks/DikvOXI-.js +1 -0
- package/dist-browser/chunks/Dj3lr7h3.js +33 -0
- package/dist-browser/chunks/Dj8ovMlo.js +1 -0
- package/dist-browser/chunks/DjcMDPrm.js +67 -0
- package/dist-browser/chunks/DkVVho_1.js +1 -0
- package/dist-browser/chunks/Dkh1AfX5.js +1 -0
- package/dist-browser/chunks/DkwGHqUD.js +1 -0
- package/dist-browser/chunks/Dl96d5U7.js +1 -0
- package/dist-browser/chunks/DlW29B4u.js +3 -0
- package/dist-browser/chunks/DmSNe3jl.js +387 -0
- package/dist-browser/chunks/DmxSxKXn.js +1 -0
- package/dist-browser/chunks/DnFdLC2j.js +1 -0
- package/dist-browser/chunks/DnUyDgmE.js +1 -0
- package/dist-browser/chunks/DnvK0nWc.js +1 -0
- package/dist-browser/chunks/DoEd4p-l.js +1 -0
- package/dist-browser/chunks/DoX7pGYd.js +140 -0
- package/dist-browser/chunks/Dp6fzsZG.js +1 -0
- package/dist-browser/chunks/DpM23pTz.js +33 -0
- package/dist-browser/chunks/DpZZtTTL.js +2 -0
- package/dist-browser/chunks/DqAbaJTn.js +1 -0
- package/dist-browser/chunks/DqMSA0q-.js +1 -0
- package/dist-browser/chunks/DqNrCZSo.js +1 -0
- package/dist-browser/chunks/DqP3aSvp.js +43 -0
- package/dist-browser/chunks/Dqi6K18W.js +1 -0
- package/dist-browser/chunks/DqqKpYoS.js +2 -0
- package/dist-browser/chunks/Dqqmos-r.js +1 -0
- package/dist-browser/chunks/Dr26QZ_C.js +1 -0
- package/dist-browser/chunks/DrRp_OBG.js +1 -0
- package/dist-browser/chunks/Ds0gQyON.js +1 -0
- package/dist-browser/chunks/DsNI9SjT.js +1 -0
- package/dist-browser/chunks/DskxWO57.js +1 -0
- package/dist-browser/chunks/DspI2fym.js +33 -0
- package/dist-browser/chunks/DtbRpC-a.js +2 -0
- package/dist-browser/chunks/Dtc9u0hV.js +1 -0
- package/dist-browser/chunks/DtdxxwYW.js +1 -0
- package/dist-browser/chunks/Du2r_IDC.js +1 -0
- package/dist-browser/chunks/DuiL5B5s.js +1 -0
- package/dist-browser/chunks/DvMRww-v.js +1 -0
- package/dist-browser/chunks/Dvzw_jou.js +1 -0
- package/dist-browser/chunks/DwsXVYGF.js +1 -0
- package/dist-browser/chunks/DxVZve2V.js +89 -0
- package/dist-browser/chunks/Dy4Ev-pT.js +1 -0
- package/dist-browser/chunks/DyGuOmo0.js +1 -0
- package/dist-browser/chunks/DyXA-iwx.js +1 -0
- package/dist-browser/chunks/Dypqlsev.js +1 -0
- package/dist-browser/chunks/Dyqt3CuN.js +1 -0
- package/dist-browser/chunks/DyxvzuFy.js +284 -0
- package/dist-browser/chunks/DzMSiy_7.js +1 -0
- package/dist-browser/chunks/DzaY1F1G.js +1 -0
- package/dist-browser/chunks/EtRHumNJ.js +1 -0
- package/dist-browser/chunks/FASUCRk-.js +3 -0
- package/dist-browser/chunks/FeUl7sn8.js +1 -0
- package/dist-browser/chunks/FjuaFAN8.js +25 -0
- package/dist-browser/chunks/FsV9kMlK.js +1 -0
- package/dist-browser/chunks/GB4zXBMC.js +1 -0
- package/dist-browser/chunks/Guirowam.js +8 -0
- package/dist-browser/chunks/HJHNBZzR.js +1 -0
- package/dist-browser/chunks/HOXwa5Zi.js +1 -0
- package/dist-browser/chunks/HhGGA2q1.js +1 -0
- package/dist-browser/chunks/HjLsj9Wb.js +1 -0
- package/dist-browser/chunks/ILniMPMQ.js +1 -0
- package/dist-browser/chunks/IPgW5q-o.js +1 -0
- package/dist-browser/chunks/IRJFdyYz.js +1 -0
- package/dist-browser/chunks/J1EyHJSp.js +1 -0
- package/dist-browser/chunks/JtVcQQeX.js +5 -0
- package/dist-browser/chunks/KYZpoAyE.js +1 -0
- package/dist-browser/chunks/KjHCb3-W.js +2 -0
- package/dist-browser/chunks/Kp8JypHd.js +441 -0
- package/dist-browser/chunks/Ku6I7UKh.js +1 -0
- package/dist-browser/chunks/KzprlngN.js +1 -0
- package/dist-browser/chunks/L5CwTQJI.js +4 -0
- package/dist-browser/chunks/L9tCceA2.js +150 -0
- package/dist-browser/chunks/L_tB79W_.js +1 -0
- package/dist-browser/chunks/MDiJyUbk.js +1 -0
- package/dist-browser/chunks/MaXgxQlM.js +1 -0
- package/dist-browser/chunks/N5x7ZUws.js +1 -0
- package/dist-browser/chunks/NZYk81nU.js +1 -0
- package/dist-browser/chunks/Np7O_rbA.js +1 -0
- package/dist-browser/chunks/Oo8Rc01u.js +1 -0
- package/dist-browser/chunks/OtECxeEN.js +9 -0
- package/dist-browser/chunks/OtOkABqS.js +158 -0
- package/dist-browser/chunks/Oyc0qEPK.js +1 -0
- package/dist-browser/chunks/PDPf8POY.js +1 -0
- package/dist-browser/chunks/QRJE7tia.js +1 -0
- package/dist-browser/chunks/Q_sagimg.js +1 -0
- package/dist-browser/chunks/QgFqrot_.js +1 -0
- package/dist-browser/chunks/QpPH2K9r.js +1 -0
- package/dist-browser/chunks/R8vFmq4f.js +1 -0
- package/dist-browser/chunks/RxUw8kPH.js +1 -0
- package/dist-browser/chunks/SO6iJj34.js +1 -0
- package/dist-browser/chunks/SWr9_u-k.js +13 -0
- package/dist-browser/chunks/TQJJL2UK.js +27 -0
- package/dist-browser/chunks/UE6Xi3ol.js +1 -0
- package/dist-browser/chunks/VGXLiJ0S.js +1 -0
- package/dist-browser/chunks/VMH7wDAk.js +1 -0
- package/dist-browser/chunks/VwXcqbG4.js +23 -0
- package/dist-browser/chunks/Wmd1pmNu.js +1 -0
- package/dist-browser/chunks/XTdr3vkK.js +1 -0
- package/dist-browser/chunks/XaLSS-X1.js +23 -0
- package/dist-browser/chunks/XhPbWY7N.js +1 -0
- package/dist-browser/chunks/Y4nknrnT.js +1 -0
- package/dist-browser/chunks/Y9xF8jFn.js +23 -0
- package/dist-browser/chunks/_-SUJuni.js +1 -0
- package/dist-browser/chunks/_M7-qabf.js +101 -0
- package/dist-browser/chunks/_qsNVwXW.js +1 -0
- package/dist-browser/chunks/_vvwCLWQ.js +1 -0
- package/dist-browser/chunks/b6V8XMYY.js +1 -0
- package/dist-browser/chunks/bA3FB4mi.js +3 -0
- package/dist-browser/chunks/bAf7cF9y.js +1 -0
- package/dist-browser/chunks/bhrkTdEx.js +538 -0
- package/dist-browser/chunks/dFGbvMHe.js +1 -0
- package/dist-browser/chunks/dOIX3hJ7.js +1 -0
- package/dist-browser/chunks/eUYPiZ2p.js +1 -0
- package/dist-browser/chunks/eUiHGfWU.js +1 -0
- package/dist-browser/chunks/f6_vnw-E.js +1 -0
- package/dist-browser/chunks/fE2ZfJiX.js +1 -0
- package/dist-browser/chunks/gZQtAM7h.js +2 -0
- package/dist-browser/chunks/h8XD1xl-.js +1 -0
- package/dist-browser/chunks/hEdm-zUW.js +1 -0
- package/dist-browser/chunks/hWCYme74.js +1 -0
- package/dist-browser/chunks/hfB064S0.js +1 -0
- package/dist-browser/chunks/hlEBxUea.js +1 -0
- package/dist-browser/chunks/j5sGo2Pt.js +1 -0
- package/dist-browser/chunks/kG0ku-oF.js +1 -0
- package/dist-browser/chunks/kLNROLfT.js +1 -0
- package/dist-browser/chunks/kggDnku6.js +1 -0
- package/dist-browser/chunks/klRtNUrN.js +1 -0
- package/dist-browser/chunks/lOD1Gn8c.js +1 -0
- package/dist-browser/chunks/lrh33Ko2.js +1 -0
- package/dist-browser/chunks/mB6FoGFb.js +1 -0
- package/dist-browser/chunks/msmucz6Z.js +1 -0
- package/dist-browser/chunks/nEtJtbDE.js +1 -0
- package/dist-browser/chunks/nvwS1LmH.js +1 -0
- package/dist-browser/chunks/oqmnhzmi.js +2 -0
- package/dist-browser/chunks/pICTBHHN.js +1 -0
- package/dist-browser/chunks/pU4H1b3r.js +43 -0
- package/dist-browser/chunks/qBpAlJSP.js +1 -0
- package/dist-browser/chunks/qCjqID6v.js +1 -0
- package/dist-browser/chunks/r-cfH8A5.js +1 -0
- package/dist-browser/chunks/rgDalb_G.js +1 -0
- package/dist-browser/chunks/rolldown-runtime-hePW80VL.js +1 -0
- package/dist-browser/chunks/sdmDudQj.js +1 -0
- package/dist-browser/chunks/shRf5cdU.js +1 -0
- package/dist-browser/chunks/tvcsfh86.js +1 -0
- package/dist-browser/chunks/tz7IArSg.js +1 -0
- package/dist-browser/chunks/u--BrnjZ.js +1 -0
- package/dist-browser/chunks/uBIymjUX.js +1 -0
- package/dist-browser/chunks/uHO_HSNA.js +1 -0
- package/dist-browser/chunks/uZz_bF7-.js +1 -0
- package/dist-browser/chunks/uc0Y9KUA.js +1 -0
- package/dist-browser/chunks/ud6upqGO.js +2 -0
- package/dist-browser/chunks/udTuD3NU.js +1 -0
- package/dist-browser/chunks/ul0Kb67V.js +38 -0
- package/dist-browser/chunks/uq1wJ3hU.js +322 -0
- package/dist-browser/chunks/vA_owFWw.js +1 -0
- package/dist-browser/chunks/vgYSnL0k.js +1 -0
- package/dist-browser/chunks/vjQO9b4G.js +1 -0
- package/dist-browser/chunks/vm1kntVK.js +18 -0
- package/dist-browser/chunks/vnMr9U1p.js +1 -0
- package/dist-browser/chunks/vyik5ymL.js +1 -0
- package/dist-browser/chunks/w2RB3fs9.js +1 -0
- package/dist-browser/chunks/wmdxOiEL.js +1 -0
- package/dist-browser/chunks/xtpWQ17d.js +27 -0
- package/dist-browser/chunks/yRMgu4ay.js +3 -0
- package/dist-browser/chunks/yYrq3lUc.js +42 -0
- package/dist-browser/chunks/yieoIIce.js +1 -0
- package/dist-browser/chunks/yzr1keSX.js +38 -0
- package/dist-browser/chunks/z94mqM9o.js +1 -0
- package/dist-browser/chunks/zSWKwMId.js +1 -0
- package/dist-browser/importmap.json +1761 -0
- package/dist-browser/koota/react.js +1 -0
- package/dist-browser/koota.js +1 -0
- package/dist-browser/postprocessing.js +1 -0
- package/dist-browser/react/jsx-runtime.js +1 -0
- package/dist-browser/react-dom/client.js +1 -0
- package/dist-browser/react-dom.js +1 -0
- package/dist-browser/react.js +1 -0
- package/dist-browser/release.json +11655 -0
- package/dist-browser/three/addons/Addons.js +1 -0
- package/dist-browser/three/addons/animation/AnimationClipCreator.js +1 -0
- package/dist-browser/three/addons/animation/CCDIKSolver.js +1 -0
- package/dist-browser/three/addons/capabilities/WebGL.js +1 -0
- package/dist-browser/three/addons/capabilities/WebGPU.js +1 -0
- package/dist-browser/three/addons/controls/ArcballControls.js +1 -0
- package/dist-browser/three/addons/controls/DragControls.js +1 -0
- package/dist-browser/three/addons/controls/FirstPersonControls.js +1 -0
- package/dist-browser/three/addons/controls/FlyControls.js +1 -0
- package/dist-browser/three/addons/controls/MapControls.js +1 -0
- package/dist-browser/three/addons/controls/OrbitControls.js +1 -0
- package/dist-browser/three/addons/controls/PointerLockControls.js +1 -0
- package/dist-browser/three/addons/controls/TrackballControls.js +1 -0
- package/dist-browser/three/addons/controls/TransformControls.js +1 -0
- package/dist-browser/three/addons/csm/CSM.js +1 -0
- package/dist-browser/three/addons/csm/CSMFrustum.js +1 -0
- package/dist-browser/three/addons/csm/CSMHelper.js +1 -0
- package/dist-browser/three/addons/csm/CSMShader.js +1 -0
- package/dist-browser/three/addons/csm/CSMShadowNode.js +1 -0
- package/dist-browser/three/addons/curves/CurveExtras.js +1 -0
- package/dist-browser/three/addons/curves/NURBSCurve.js +1 -0
- package/dist-browser/three/addons/curves/NURBSSurface.js +1 -0
- package/dist-browser/three/addons/curves/NURBSUtils.js +1 -0
- package/dist-browser/three/addons/curves/NURBSVolume.js +1 -0
- package/dist-browser/three/addons/effects/AnaglyphEffect.js +1 -0
- package/dist-browser/three/addons/effects/AsciiEffect.js +1 -0
- package/dist-browser/three/addons/effects/OutlineEffect.js +1 -0
- package/dist-browser/three/addons/effects/ParallaxBarrierEffect.js +1 -0
- package/dist-browser/three/addons/effects/StereoEffect.js +1 -0
- package/dist-browser/three/addons/environments/ColorEnvironment.js +1 -0
- package/dist-browser/three/addons/environments/DebugEnvironment.js +1 -0
- package/dist-browser/three/addons/environments/RoomEnvironment.js +1 -0
- package/dist-browser/three/addons/exporters/DRACOExporter.js +1 -0
- package/dist-browser/three/addons/exporters/EXRExporter.js +1 -0
- package/dist-browser/three/addons/exporters/GLTFExporter.js +1 -0
- package/dist-browser/three/addons/exporters/KTX2Exporter.js +1 -0
- package/dist-browser/three/addons/exporters/OBJExporter.js +1 -0
- package/dist-browser/three/addons/exporters/PLYExporter.js +1 -0
- package/dist-browser/three/addons/exporters/STLExporter.js +1 -0
- package/dist-browser/three/addons/exporters/USDZExporter.js +1 -0
- package/dist-browser/three/addons/generators/CityGenerator.js +1 -0
- package/dist-browser/three/addons/generators/ForestGenerator.js +1 -0
- package/dist-browser/three/addons/generators/TerrainGenerator.js +1 -0
- package/dist-browser/three/addons/generators/TreeGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/BenchGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/CarGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/CityGeneratorUtils.js +1 -0
- package/dist-browser/three/addons/generators/city/HydrantGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/InstancedMeshGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/PersonGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/SidewalkGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/SkyscraperGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/StreetTreeGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/StreetlightGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/TrafficlightGenerator.js +1 -0
- package/dist-browser/three/addons/generators/city/TrashcanGenerator.js +1 -0
- package/dist-browser/three/addons/geometries/BoxLineGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/ConvexGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/DecalGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/LoftGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/ParametricFunctions.js +1 -0
- package/dist-browser/three/addons/geometries/ParametricGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/RoundedBoxGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/TeapotGeometry.js +1 -0
- package/dist-browser/three/addons/geometries/TextGeometry.js +1 -0
- package/dist-browser/three/addons/gpgpu/BitonicSort.js +1 -0
- package/dist-browser/three/addons/gpgpu/CountingSort.js +1 -0
- package/dist-browser/three/addons/helpers/AnimationPathHelper.js +1 -0
- package/dist-browser/three/addons/helpers/LightProbeGridHelper.js +1 -0
- package/dist-browser/three/addons/helpers/LightProbeGridHelperWebGL.js +80 -0
- package/dist-browser/three/addons/helpers/LightProbeHelper.js +1 -0
- package/dist-browser/three/addons/helpers/LightProbeHelperGPU.js +1 -0
- package/dist-browser/three/addons/helpers/OctreeHelper.js +1 -0
- package/dist-browser/three/addons/helpers/PositionalAudioHelper.js +1 -0
- package/dist-browser/three/addons/helpers/RapierHelper.js +1 -0
- package/dist-browser/three/addons/helpers/RectAreaLightHelper.js +1 -0
- package/dist-browser/three/addons/helpers/TextureHelper.js +1 -0
- package/dist-browser/three/addons/helpers/TextureHelperGPU.js +1 -0
- package/dist-browser/three/addons/helpers/VertexNormalsHelper.js +1 -0
- package/dist-browser/three/addons/helpers/VertexTangentsHelper.js +1 -0
- package/dist-browser/three/addons/helpers/ViewHelper.js +1 -0
- package/dist-browser/three/addons/inspector/Extension.js +1 -0
- package/dist-browser/three/addons/inspector/Inspector.js +1 -0
- package/dist-browser/three/addons/inspector/RendererInspector.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/ColorGrading.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/ColorWheel.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/CurveEditor.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/LUT3DStyle.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/LUTMath.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/BrightnessModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ColorWheelModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ContrastModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/CurvesModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ExposureHueModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ExposureModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/HueModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/ImportedCubeModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/Module.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/OutputModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/RendererModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/SatVibranceModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/SaturationModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/VibranceModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/color-grading/modules/WhiteBalanceModule.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/tsl-graph/TSLGraphEditor.js +1 -0
- package/dist-browser/three/addons/inspector/extensions/tsl-graph/TSLGraphLoader.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Console.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Memory.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Parameters.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Performance.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Settings.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Timeline.js +1 -0
- package/dist-browser/three/addons/inspector/tabs/Viewer.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Graph.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Item.js +1 -0
- package/dist-browser/three/addons/inspector/ui/List.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Profiler.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Style.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Tab.js +1 -0
- package/dist-browser/three/addons/inspector/ui/Values.js +1 -0
- package/dist-browser/three/addons/inspector/ui/utils.js +1 -0
- package/dist-browser/three/addons/interaction/InteractionManager.js +1 -0
- package/dist-browser/three/addons/interactive/HTMLMesh.js +1 -0
- package/dist-browser/three/addons/interactive/InteractiveGroup.js +1 -0
- package/dist-browser/three/addons/interactive/SelectionBox.js +1 -0
- package/dist-browser/three/addons/interactive/SelectionHelper.js +1 -0
- package/dist-browser/three/addons/libs/chevrotain.module.min.js +1 -0
- package/dist-browser/three/addons/libs/demuxer_mp4.js +1 -0
- package/dist-browser/three/addons/libs/fflate.module.js +1 -0
- package/dist-browser/three/addons/libs/ktx-parse.module.js +1 -0
- package/dist-browser/three/addons/libs/lil-gui.module.min.js +4 -0
- package/dist-browser/three/addons/libs/meshopt_clusterizer.module.js +1 -0
- package/dist-browser/three/addons/libs/meshopt_decoder.module.js +1 -0
- package/dist-browser/three/addons/libs/meshopt_simplifier.module.js +1 -0
- package/dist-browser/three/addons/libs/mikktspace.module.js +1 -0
- package/dist-browser/three/addons/libs/motion-controllers.module.js +1 -0
- package/dist-browser/three/addons/libs/potpack.module.js +1 -0
- package/dist-browser/three/addons/libs/stats.module.js +1 -0
- package/dist-browser/three/addons/libs/surfaceNet.js +1 -0
- package/dist-browser/three/addons/libs/tween.module.js +1 -0
- package/dist-browser/three/addons/libs/utif.module.js +1 -0
- package/dist-browser/three/addons/libs/zstddec.module.js +1 -0
- package/dist-browser/three/addons/lighting/ClusteredLighting.js +1 -0
- package/dist-browser/three/addons/lighting/DynamicLighting.js +1 -0
- package/dist-browser/three/addons/lighting/LightProbeGrid.js +1 -0
- package/dist-browser/three/addons/lighting/LightProbeGridUtils.js +1 -0
- package/dist-browser/three/addons/lighting/LightProbeGridWebGL.js +135 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGIConeTracer.js +1 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGINode.js +1 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGISceneCollector.js +1 -0
- package/dist-browser/three/addons/lighting/vxgi/VXGIVolume.js +1 -0
- package/dist-browser/three/addons/lights/LightProbeGenerator.js +1 -0
- package/dist-browser/three/addons/lights/RectAreaLightTexturesLib.js +1 -0
- package/dist-browser/three/addons/lights/RectAreaLightUniformsLib.js +1 -0
- package/dist-browser/three/addons/lights/SunLight.js +1 -0
- package/dist-browser/three/addons/lights/SunLightNode.js +1 -0
- package/dist-browser/three/addons/lights/SunLightShadow.js +1 -0
- package/dist-browser/three/addons/lights/SunShadowNode.js +1 -0
- package/dist-browser/three/addons/lines/Line2.js +1 -0
- package/dist-browser/three/addons/lines/LineGeometry.js +1 -0
- package/dist-browser/three/addons/lines/LineMaterial.js +1 -0
- package/dist-browser/three/addons/lines/LineSegments2.js +1 -0
- package/dist-browser/three/addons/lines/LineSegmentsGeometry.js +1 -0
- package/dist-browser/three/addons/lines/Wireframe.js +1 -0
- package/dist-browser/three/addons/lines/WireframeGeometry2.js +1 -0
- package/dist-browser/three/addons/lines/webgpu/Line2.js +1 -0
- package/dist-browser/three/addons/lines/webgpu/LineSegments2.js +1 -0
- package/dist-browser/three/addons/lines/webgpu/Wireframe.js +1 -0
- package/dist-browser/three/addons/loaders/3DMLoader.js +1 -0
- package/dist-browser/three/addons/loaders/3MFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/AMFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/BVHLoader.js +1 -0
- package/dist-browser/three/addons/loaders/ColladaLoader.js +1 -0
- package/dist-browser/three/addons/loaders/DDSLoader.js +1 -0
- package/dist-browser/three/addons/loaders/DRACOLoader.js +1 -0
- package/dist-browser/three/addons/loaders/EXRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/FBXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/FontLoader.js +1 -0
- package/dist-browser/three/addons/loaders/GCodeLoader.js +1 -0
- package/dist-browser/three/addons/loaders/GLTFGaussianSplatLoaderExtension.js +1 -0
- package/dist-browser/three/addons/loaders/GLTFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/GaussianSplatPLYLoader.js +1 -0
- package/dist-browser/three/addons/loaders/HDRCubeTextureLoader.js +1 -0
- package/dist-browser/three/addons/loaders/HDRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/IESLoader.js +1 -0
- package/dist-browser/three/addons/loaders/KMZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/KSPLATLoader.js +1 -0
- package/dist-browser/three/addons/loaders/KTX2Loader.js +1 -0
- package/dist-browser/three/addons/loaders/KTXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LDrawLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LUT3dlLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LUTCubeLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LUTImageLoader.js +1 -0
- package/dist-browser/three/addons/loaders/LWOLoader.js +1 -0
- package/dist-browser/three/addons/loaders/MD2Loader.js +1 -0
- package/dist-browser/three/addons/loaders/MDDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/MTLLoader.js +1 -0
- package/dist-browser/three/addons/loaders/MaterialXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/NRRDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/OBJLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PCDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PDBLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PLYLoader.js +1 -0
- package/dist-browser/three/addons/loaders/PVRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/RGBELoader.js +1 -0
- package/dist-browser/three/addons/loaders/SPLATLoader.js +1 -0
- package/dist-browser/three/addons/loaders/SPZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/STLLoader.js +1 -0
- package/dist-browser/three/addons/loaders/SVGLoader.js +1 -0
- package/dist-browser/three/addons/loaders/TDSLoader.js +1 -0
- package/dist-browser/three/addons/loaders/TGALoader.js +1 -0
- package/dist-browser/three/addons/loaders/TIFFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/TTFLoader.js +1 -0
- package/dist-browser/three/addons/loaders/USDLoader.js +1 -0
- package/dist-browser/three/addons/loaders/USDZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/UltraHDRLoader.js +1 -0
- package/dist-browser/three/addons/loaders/VOXLoader.js +1 -0
- package/dist-browser/three/addons/loaders/VRMLLoader.js +1 -0
- package/dist-browser/three/addons/loaders/VTKLoader.js +1 -0
- package/dist-browser/three/addons/loaders/XYZLoader.js +1 -0
- package/dist-browser/three/addons/loaders/collada/ColladaComposer.js +1 -0
- package/dist-browser/three/addons/loaders/collada/ColladaParser.js +1 -0
- package/dist-browser/three/addons/loaders/lwo/IFFParser.js +1 -0
- package/dist-browser/three/addons/loaders/lwo/LWO2Parser.js +1 -0
- package/dist-browser/three/addons/loaders/lwo/LWO3Parser.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXArchive.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXDocument.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXHextile.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXInterfaceValidation.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXLog.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXNodeInterfaceRegistry.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXNodeLibrary.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXSurfaceMappings.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/MaterialXUtils.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/compile/MaterialXCompileRegistry.js +1 -0
- package/dist-browser/three/addons/loaders/materialx/parse/MaterialXParser.js +1 -0
- package/dist-browser/three/addons/loaders/usd/USDAParser.js +1 -0
- package/dist-browser/three/addons/loaders/usd/USDCParser.js +1 -0
- package/dist-browser/three/addons/loaders/usd/USDComposer.js +1 -0
- package/dist-browser/three/addons/materials/LDrawConditionalLineMaterial.js +1 -0
- package/dist-browser/three/addons/materials/LDrawConditionalLineNodeMaterial.js +1 -0
- package/dist-browser/three/addons/materials/WoodNodeMaterial.js +42 -0
- package/dist-browser/three/addons/math/Capsule.js +1 -0
- package/dist-browser/three/addons/math/ColorConverter.js +1 -0
- package/dist-browser/three/addons/math/ColorSpaces.js +1 -0
- package/dist-browser/three/addons/math/ConvexHull.js +1 -0
- package/dist-browser/three/addons/math/ImprovedNoise.js +1 -0
- package/dist-browser/three/addons/math/Lut.js +1 -0
- package/dist-browser/three/addons/math/MeshSurfaceSampler.js +1 -0
- package/dist-browser/three/addons/math/OBB.js +1 -0
- package/dist-browser/three/addons/math/Octree.js +1 -0
- package/dist-browser/three/addons/math/SimplexNoise.js +1 -0
- package/dist-browser/three/addons/misc/ConvexObjectBreaker.js +1 -0
- package/dist-browser/three/addons/misc/GPUComputationRenderer.js +1 -0
- package/dist-browser/three/addons/misc/Gyroscope.js +1 -0
- package/dist-browser/three/addons/misc/MD2Character.js +1 -0
- package/dist-browser/three/addons/misc/MD2CharacterComplex.js +1 -0
- package/dist-browser/three/addons/misc/MorphAnimMesh.js +1 -0
- package/dist-browser/three/addons/misc/MorphBlendMesh.js +1 -0
- package/dist-browser/three/addons/misc/ProgressiveLightMap.js +1 -0
- package/dist-browser/three/addons/misc/ProgressiveLightMapGPU.js +1 -0
- package/dist-browser/three/addons/misc/RollerCoaster.js +1 -0
- package/dist-browser/three/addons/misc/Sculptor.js +1 -0
- package/dist-browser/three/addons/misc/SculptorMesh.js +1 -0
- package/dist-browser/three/addons/misc/SculptorTools.js +1 -0
- package/dist-browser/three/addons/misc/SculptorUtils.js +1 -0
- package/dist-browser/three/addons/misc/TileCreasedNormalsPlugin.js +1 -0
- package/dist-browser/three/addons/misc/TubePainter.js +1 -0
- package/dist-browser/three/addons/misc/Volume.js +1 -0
- package/dist-browser/three/addons/misc/VolumeSlice.js +1 -0
- package/dist-browser/three/addons/modifiers/CurveModifier.js +1 -0
- package/dist-browser/three/addons/modifiers/CurveModifierGPU.js +1 -0
- package/dist-browser/three/addons/modifiers/EdgeSplitModifier.js +1 -0
- package/dist-browser/three/addons/modifiers/SimplifyModifier.js +1 -0
- package/dist-browser/three/addons/modifiers/TessellateModifier.js +1 -0
- package/dist-browser/three/addons/objects/GaussianSplat.js +1 -0
- package/dist-browser/three/addons/objects/GroundedSkybox.js +1 -0
- package/dist-browser/three/addons/objects/Lensflare.js +1 -0
- package/dist-browser/three/addons/objects/LensflareMesh.js +1 -0
- package/dist-browser/three/addons/objects/MarchingCubes.js +1 -0
- package/dist-browser/three/addons/objects/Reflector.js +1 -0
- package/dist-browser/three/addons/objects/ReflectorForSSRPass.js +1 -0
- package/dist-browser/three/addons/objects/Refractor.js +1 -0
- package/dist-browser/three/addons/objects/ShadowMesh.js +1 -0
- package/dist-browser/three/addons/objects/Sky.js +1 -0
- package/dist-browser/three/addons/objects/SkyMesh.js +1 -0
- package/dist-browser/three/addons/objects/Water.js +1 -0
- package/dist-browser/three/addons/objects/Water2.js +1 -0
- package/dist-browser/three/addons/objects/Water2Mesh.js +1 -0
- package/dist-browser/three/addons/objects/WaterMesh.js +1 -0
- package/dist-browser/three/addons/offscreen/jank.js +1 -0
- package/dist-browser/three/addons/offscreen/offscreen.js +0 -0
- package/dist-browser/three/addons/offscreen/scene.js +1 -0
- package/dist-browser/three/addons/physics/AmmoPhysics.js +1 -0
- package/dist-browser/three/addons/physics/JoltPhysics.js +1 -0
- package/dist-browser/three/addons/physics/RapierPhysics.js +1 -0
- package/dist-browser/three/addons/postprocessing/AfterimagePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/BloomPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/BokehPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/ClearPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/CubeTexturePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/DotScreenPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/EffectComposer.js +1 -0
- package/dist-browser/three/addons/postprocessing/FXAAPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/FilmPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/GTAOPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/GlitchPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/HalftonePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/LUTPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/MaskPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/OutlinePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/OutputPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/Pass.js +1 -0
- package/dist-browser/three/addons/postprocessing/RenderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/RenderPixelatedPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/RenderTransitionPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SAOPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SMAAPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SSAARenderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SSAOPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SSRPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/SavePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/ShaderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/TAARenderPass.js +1 -0
- package/dist-browser/three/addons/postprocessing/TexturePass.js +1 -0
- package/dist-browser/three/addons/postprocessing/UnrealBloomPass.js +1 -0
- package/dist-browser/three/addons/renderers/CSS2DRenderer.js +1 -0
- package/dist-browser/three/addons/renderers/CSS3DRenderer.js +1 -0
- package/dist-browser/three/addons/renderers/Projector.js +1 -0
- package/dist-browser/three/addons/renderers/SVGRenderer.js +1 -0
- package/dist-browser/three/addons/shaders/ACESFilmicToneMappingShader.js +1 -0
- package/dist-browser/three/addons/shaders/AfterimageShader.js +1 -0
- package/dist-browser/three/addons/shaders/BasicShader.js +1 -0
- package/dist-browser/three/addons/shaders/BleachBypassShader.js +1 -0
- package/dist-browser/three/addons/shaders/BlendShader.js +1 -0
- package/dist-browser/three/addons/shaders/BokehShader.js +1 -0
- package/dist-browser/three/addons/shaders/BokehShader2.js +1 -0
- package/dist-browser/three/addons/shaders/BrightnessContrastShader.js +1 -0
- package/dist-browser/three/addons/shaders/ColorCorrectionShader.js +1 -0
- package/dist-browser/three/addons/shaders/ColorifyShader.js +1 -0
- package/dist-browser/three/addons/shaders/ConvolutionShader.js +1 -0
- package/dist-browser/three/addons/shaders/CopyShader.js +1 -0
- package/dist-browser/three/addons/shaders/DOFMipMapShader.js +1 -0
- package/dist-browser/three/addons/shaders/DepthLimitedBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/DigitalGlitch.js +1 -0
- package/dist-browser/three/addons/shaders/DotScreenShader.js +1 -0
- package/dist-browser/three/addons/shaders/ExposureShader.js +1 -0
- package/dist-browser/three/addons/shaders/FXAAShader.js +1 -0
- package/dist-browser/three/addons/shaders/FilmShader.js +1 -0
- package/dist-browser/three/addons/shaders/FocusShader.js +1 -0
- package/dist-browser/three/addons/shaders/FreiChenShader.js +1 -0
- package/dist-browser/three/addons/shaders/GTAOShader.js +1 -0
- package/dist-browser/three/addons/shaders/GammaCorrectionShader.js +1 -0
- package/dist-browser/three/addons/shaders/HalftoneShader.js +1 -0
- package/dist-browser/three/addons/shaders/HorizontalBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/HorizontalTiltShiftShader.js +1 -0
- package/dist-browser/three/addons/shaders/HueSaturationShader.js +1 -0
- package/dist-browser/three/addons/shaders/KaleidoShader.js +1 -0
- package/dist-browser/three/addons/shaders/LuminosityHighPassShader.js +1 -0
- package/dist-browser/three/addons/shaders/LuminosityShader.js +1 -0
- package/dist-browser/three/addons/shaders/MirrorShader.js +1 -0
- package/dist-browser/three/addons/shaders/NormalMapShader.js +1 -0
- package/dist-browser/three/addons/shaders/OutputShader.js +1 -0
- package/dist-browser/three/addons/shaders/PoissonDenoiseShader.js +1 -0
- package/dist-browser/three/addons/shaders/RGBShiftShader.js +1 -0
- package/dist-browser/three/addons/shaders/SAOShader.js +1 -0
- package/dist-browser/three/addons/shaders/SMAAShader.js +1 -0
- package/dist-browser/three/addons/shaders/SSAOShader.js +1 -0
- package/dist-browser/three/addons/shaders/SSRShader.js +1 -0
- package/dist-browser/three/addons/shaders/SepiaShader.js +1 -0
- package/dist-browser/three/addons/shaders/SobelOperatorShader.js +1 -0
- package/dist-browser/three/addons/shaders/SubsurfaceScatteringShader.js +1 -0
- package/dist-browser/three/addons/shaders/TechnicolorShader.js +1 -0
- package/dist-browser/three/addons/shaders/ToonShader.js +1 -0
- package/dist-browser/three/addons/shaders/TriangleBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/UnpackDepthRGBAShader.js +1 -0
- package/dist-browser/three/addons/shaders/VelocityShader.js +1 -0
- package/dist-browser/three/addons/shaders/VerticalBlurShader.js +1 -0
- package/dist-browser/three/addons/shaders/VerticalTiltShiftShader.js +1 -0
- package/dist-browser/three/addons/shaders/VignetteShader.js +1 -0
- package/dist-browser/three/addons/shaders/VolumeShader.js +1 -0
- package/dist-browser/three/addons/shaders/WaterRefractionShader.js +1 -0
- package/dist-browser/three/addons/textures/FlakesTexture.js +1 -0
- package/dist-browser/three/addons/transpiler/AST.js +1 -0
- package/dist-browser/three/addons/transpiler/GLSLDecoder.js +1 -0
- package/dist-browser/three/addons/transpiler/Linker.js +1 -0
- package/dist-browser/three/addons/transpiler/ShaderToyDecoder.js +1 -0
- package/dist-browser/three/addons/transpiler/TSLEncoder.js +55 -0
- package/dist-browser/three/addons/transpiler/Transpiler.js +1 -0
- package/dist-browser/three/addons/transpiler/TranspilerUtils.js +1 -0
- package/dist-browser/three/addons/transpiler/WGSLEncoder.js +30 -0
- package/dist-browser/three/addons/tsl/WebGLNodesHandler.js +1 -0
- package/dist-browser/three/addons/tsl/display/AfterImageNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/AnaglyphPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/BilateralBlurNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/BleachBypass.js +1 -0
- package/dist-browser/three/addons/tsl/display/BloomNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/CRT.js +1 -0
- package/dist-browser/three/addons/tsl/display/ChromaticAberrationNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/DenoiseNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/DepthOfFieldNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/DotScreenNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/FSR1Node.js +1 -0
- package/dist-browser/three/addons/tsl/display/FXAANode.js +1 -0
- package/dist-browser/three/addons/tsl/display/FilmNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/GTAONode.js +1 -0
- package/dist-browser/three/addons/tsl/display/GaussianBlurNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/GodraysNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/ImportanceSampledEnvironment.js +1 -0
- package/dist-browser/three/addons/tsl/display/LensflareNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/Lut3DNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/MotionBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/OITPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/OutlineNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/ParallaxBarrierPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/PixelationPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/RGBShiftNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/RecurrentDenoiseNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/RetroPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SMAANode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSAAPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSAONode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSGINode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSRNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SSSNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/Sepia.js +1 -0
- package/dist-browser/three/addons/tsl/display/Shape.js +1 -0
- package/dist-browser/three/addons/tsl/display/SharpenNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/SobelOperatorNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/StereoCompositePassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/StereoPassNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TAAUNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TRAANode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TemporalReprojectNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/TransitionNode.js +1 -0
- package/dist-browser/three/addons/tsl/display/boxBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/depthAwareBlend.js +1 -0
- package/dist-browser/three/addons/tsl/display/depthAwareBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/hashBlur.js +1 -0
- package/dist-browser/three/addons/tsl/display/radialBlur.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/ClusteredLightsNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/DynamicLightsNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/LightProbeGridNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/AmbientLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/DirectionalLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/HemisphereLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/PointLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/lighting/data/SpotLightDataNode.js +1 -0
- package/dist-browser/three/addons/tsl/math/Bayer.js +1 -0
- package/dist-browser/three/addons/tsl/math/curlNoise.js +1 -0
- package/dist-browser/three/addons/tsl/math/voronoiNoise.js +1 -0
- package/dist-browser/three/addons/tsl/shadows/TileShadowNode.js +1 -0
- package/dist-browser/three/addons/tsl/shadows/TileShadowNodeHelper.js +1 -0
- package/dist-browser/three/addons/tsl/utils/GroundedSkybox.js +1 -0
- package/dist-browser/three/addons/tsl/utils/RNoise.js +1 -0
- package/dist-browser/three/addons/tsl/utils/Raymarching.js +1 -0
- package/dist-browser/three/addons/tsl/utils/SoftParticles.js +1 -0
- package/dist-browser/three/addons/tsl/utils/SpecularHelpers.js +1 -0
- package/dist-browser/three/addons/tsl/utils/TAAUtils.js +1 -0
- package/dist-browser/three/addons/utils/BufferGeometryUtils.js +1 -0
- package/dist-browser/three/addons/utils/CameraUtils.js +1 -0
- package/dist-browser/three/addons/utils/ColorUtils.js +1 -0
- package/dist-browser/three/addons/utils/GaussianSplatUtils.js +1 -0
- package/dist-browser/three/addons/utils/GeometryCompressionUtils.js +1 -0
- package/dist-browser/three/addons/utils/GeometryUtils.js +1 -0
- package/dist-browser/three/addons/utils/LDrawUtils.js +1 -0
- package/dist-browser/three/addons/utils/SceneOptimizer.js +1 -0
- package/dist-browser/three/addons/utils/SceneUtils.js +1 -0
- package/dist-browser/three/addons/utils/ShadowMapViewer.js +1 -0
- package/dist-browser/three/addons/utils/ShadowMapViewerGPU.js +1 -0
- package/dist-browser/three/addons/utils/SkeletonUtils.js +1 -0
- package/dist-browser/three/addons/utils/SortUtils.js +1 -0
- package/dist-browser/three/addons/utils/UVsDebug.js +1 -0
- package/dist-browser/three/addons/utils/WebGLTextureUtils.js +1 -0
- package/dist-browser/three/addons/utils/WebGPUTextureUtils.js +1 -0
- package/dist-browser/three/addons/utils/WorkerPool.js +1 -0
- package/dist-browser/three/addons/webxr/ARButton.js +1 -0
- package/dist-browser/three/addons/webxr/OculusHandModel.js +1 -0
- package/dist-browser/three/addons/webxr/OculusHandPointerModel.js +1 -0
- package/dist-browser/three/addons/webxr/Text2D.js +1 -0
- package/dist-browser/three/addons/webxr/VRButton.js +1 -0
- package/dist-browser/three/addons/webxr/WebGLXRFallback.js +1 -0
- package/dist-browser/three/addons/webxr/XRButton.js +1 -0
- package/dist-browser/three/addons/webxr/XRControllerModelFactory.js +1 -0
- package/dist-browser/three/addons/webxr/XREstimatedLight.js +1 -0
- package/dist-browser/three/addons/webxr/XRHandMeshModel.js +1 -0
- package/dist-browser/three/addons/webxr/XRHandModelFactory.js +1 -0
- package/dist-browser/three/addons/webxr/XRHandPrimitiveModel.js +1 -0
- package/dist-browser/three/addons/webxr/XRPlanes.js +1 -0
- package/dist-browser/three/addons.js +1 -0
- package/dist-browser/three/tsl.js +1 -0
- package/dist-browser/three/webgpu.js +1 -0
- package/dist-browser/three.js +1 -0
- package/dist-browser/three.quarks.js +1 -0
- package/dist-browser/zustand/middleware.js +1 -0
- package/dist-browser/zustand/shallow.js +1 -0
- package/dist-browser/zustand/vanilla.js +1 -0
- package/dist-browser/zustand.js +1 -0
- package/package.json +194 -0
- package/rapier/LICENSE +201 -0
- package/rapier/NOTICE +23 -0
- package/rapier/simd/coarena.js +1 -0
- package/rapier/simd/control/character_controller.js +1 -0
- package/rapier/simd/control/index.js +1 -0
- package/rapier/simd/control/pid_controller.js +1 -0
- package/rapier/simd/control/ray_cast_vehicle_controller.js +1 -0
- package/rapier/simd/dynamics/ccd_solver.js +1 -0
- package/rapier/simd/dynamics/coefficient_combine_rule.js +1 -0
- package/rapier/simd/dynamics/impulse_joint.js +1 -0
- package/rapier/simd/dynamics/impulse_joint_set.js +1 -0
- package/rapier/simd/dynamics/index.js +1 -0
- package/rapier/simd/dynamics/integration_parameters.js +1 -0
- package/rapier/simd/dynamics/island_manager.js +1 -0
- package/rapier/simd/dynamics/multibody_joint.js +1 -0
- package/rapier/simd/dynamics/multibody_joint_set.js +1 -0
- package/rapier/simd/dynamics/rigid_body.js +1 -0
- package/rapier/simd/dynamics/rigid_body_set.js +1 -0
- package/rapier/simd/exports.js +1 -0
- package/rapier/simd/geometry/broad_phase.js +1 -0
- package/rapier/simd/geometry/collider.js +1 -0
- package/rapier/simd/geometry/collider_set.js +1 -0
- package/rapier/simd/geometry/contact.js +1 -0
- package/rapier/simd/geometry/feature.js +1 -0
- package/rapier/simd/geometry/index.js +1 -0
- package/rapier/simd/geometry/interaction_groups.js +0 -0
- package/rapier/simd/geometry/narrow_phase.js +1 -0
- package/rapier/simd/geometry/point.js +1 -0
- package/rapier/simd/geometry/ray.js +1 -0
- package/rapier/simd/geometry/shape.js +1 -0
- package/rapier/simd/geometry/toi.js +1 -0
- package/rapier/simd/init.js +0 -0
- package/rapier/simd/math.js +1 -0
- package/rapier/simd/pipeline/debug_render_pipeline.js +1 -0
- package/rapier/simd/pipeline/event_queue.js +1 -0
- package/rapier/simd/pipeline/index.js +1 -0
- package/rapier/simd/pipeline/physics_hooks.js +1 -0
- package/rapier/simd/pipeline/physics_pipeline.js +1 -0
- package/rapier/simd/pipeline/query_pipeline.js +1 -0
- package/rapier/simd/pipeline/serialization_pipeline.js +1 -0
- package/rapier/simd/pipeline/world.js +1 -0
- package/rapier/simd/rapier.js +1 -0
- package/rapier/simd/rapier_wasm3d.js +1 -0
- package/rapier/simd/rapier_wasm3d_bg.js +1 -0
- package/rapier/simd/rapier_wasm3d_bg.wasm +0 -0
- package/rapier/simd/raw.js +1 -0
- package/rapier/simd-compat/rapier.mjs +1 -0
- package/rapier/types/coarena.d.ts +15 -0
- package/rapier/types/control/character_controller.d.ts +191 -0
- package/rapier/types/control/index.d.ts +3 -0
- package/rapier/types/control/pid_controller.d.ts +50 -0
- package/rapier/types/control/ray_cast_vehicle_controller.d.ts +277 -0
- package/rapier/types/dynamics/ccd_solver.d.ts +15 -0
- package/rapier/types/dynamics/coefficient_combine_rule.d.ts +13 -0
- package/rapier/types/dynamics/impulse_joint.d.ts +375 -0
- package/rapier/types/dynamics/impulse_joint_set.d.ts +79 -0
- package/rapier/types/dynamics/index.d.ts +10 -0
- package/rapier/types/dynamics/integration_parameters.d.ts +57 -0
- package/rapier/types/dynamics/island_manager.d.ts +24 -0
- package/rapier/types/dynamics/multibody_joint.d.ts +42 -0
- package/rapier/types/dynamics/multibody_joint_set.d.ts +76 -0
- package/rapier/types/dynamics/rigid_body.d.ts +803 -0
- package/rapier/types/dynamics/rigid_body_set.d.ts +78 -0
- package/rapier/types/exports.d.ts +8 -0
- package/rapier/types/geometry/broad_phase.d.ts +164 -0
- package/rapier/types/geometry/collider.d.ts +996 -0
- package/rapier/types/geometry/collider_set.d.ts +72 -0
- package/rapier/types/geometry/contact.d.ts +36 -0
- package/rapier/types/geometry/feature.d.ts +6 -0
- package/rapier/types/geometry/index.d.ts +11 -0
- package/rapier/types/geometry/interaction_groups.d.ts +18 -0
- package/rapier/types/geometry/narrow_phase.d.ts +130 -0
- package/rapier/types/geometry/point.d.ts +58 -0
- package/rapier/types/geometry/ray.d.ts +108 -0
- package/rapier/types/geometry/shape.d.ts +632 -0
- package/rapier/types/geometry/toi.d.ts +44 -0
- package/rapier/types/init.d.ts +5 -0
- package/rapier/types/math.d.ts +98 -0
- package/rapier/types/pipeline/debug_render_pipeline.d.ts +40 -0
- package/rapier/types/pipeline/event_queue.d.ts +101 -0
- package/rapier/types/pipeline/index.d.ts +7 -0
- package/rapier/types/pipeline/physics_hooks.d.ts +39 -0
- package/rapier/types/pipeline/physics_pipeline.d.ts +12 -0
- package/rapier/types/pipeline/query_pipeline.d.ts +38 -0
- package/rapier/types/pipeline/serialization_pipeline.d.ts +37 -0
- package/rapier/types/pipeline/world.d.ts +602 -0
- package/rapier/types/rapier.d.ts +3 -0
- package/rapier/types/rapier_wasm3d.d.ts +2204 -0
- package/rapier/types/rapier_wasm3d_bg.wasm.d.ts +582 -0
- package/rapier/types/raw.d.ts +1 -0
- package/readable/rounds/LevelBanner.tsx +44 -0
- package/readable/rounds/Round.tsx +228 -0
- package/readable/rounds/RoundScreen.tsx +89 -0
- package/readable/rounds/dist/LevelBanner.d.ts +13 -0
- package/readable/rounds/dist/LevelBanner.d.ts.map +1 -0
- package/readable/rounds/dist/LevelBanner.js +20 -0
- package/readable/rounds/dist/LevelBanner.js.map +1 -0
- package/readable/rounds/dist/Round.d.ts +74 -0
- package/readable/rounds/dist/Round.d.ts.map +1 -0
- package/readable/rounds/dist/Round.js +137 -0
- package/readable/rounds/dist/Round.js.map +1 -0
- package/readable/rounds/dist/RoundScreen.d.ts +39 -0
- package/readable/rounds/dist/RoundScreen.d.ts.map +1 -0
- package/readable/rounds/dist/RoundScreen.js +23 -0
- package/readable/rounds/dist/RoundScreen.js.map +1 -0
- package/readable/rounds/dist/index.d.ts +7 -0
- package/readable/rounds/dist/index.d.ts.map +1 -0
- package/readable/rounds/dist/index.js +11 -0
- package/readable/rounds/dist/index.js.map +1 -0
- package/readable/rounds/dist/rounds.d.ts +16 -0
- package/readable/rounds/dist/rounds.d.ts.map +1 -0
- package/readable/rounds/dist/rounds.js +82 -0
- package/readable/rounds/dist/rounds.js.map +1 -0
- package/readable/rounds/dist/rules.d.ts +65 -0
- package/readable/rounds/dist/rules.d.ts.map +1 -0
- package/readable/rounds/dist/rules.js +150 -0
- package/readable/rounds/dist/rules.js.map +1 -0
- package/readable/rounds/dist/traits.d.ts +103 -0
- package/readable/rounds/dist/traits.d.ts.map +1 -0
- package/readable/rounds/dist/traits.js +79 -0
- package/readable/rounds/dist/traits.js.map +1 -0
- package/readable/rounds/index.ts +11 -0
- package/readable/rounds/rounds.ts +117 -0
- package/readable/rounds/rules.ts +182 -0
- package/readable/rounds/traits.ts +82 -0
|
@@ -0,0 +1,546 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./Cvdyeg_0.js";import{B as n,Hn as r,Io as i,Ls as a,Mr as o,Nt as s,Or as c,Os as l,Pt as u,Qr as d,Rs as f,So as p,Un as m,et as h,jn as g,mi as _,mn as v,po as y,qr as b,si as x,so as S,xa as C,zs as ee}from"./BoJD7UsQ.js";import{D as te,F as ne,M as re}from"./CJgknJ-O.js";import{t as ie}from"./NZYk81nU.js";import{Bc as ae,Ds as oe,Hf as se,Vt as ce,Wp as le,Wt as ue,jc as de,wc as fe,xm as pe,zc as me}from"./BdkaRoRG.js";import{i as he,n as w,o as ge,r as _e,s as T}from"./DYoIHzIt.js";import"./Bn-oguIM.js";import{Dt as ve,Mn as ye,bi as be,yt as xe}from"./7kk1UrXM.js";import{n as E}from"./BFvqTjM2.js";import{c as Se,t as Ce}from"./BHePouWp.js";import{r as we,s as Te}from"./DVAMQgZs.js";import{c as Ee,g as De,h as Oe,i as ke,o as D,r as Ae,s as je}from"./QgFqrot_.js";import{t as Me}from"./PDPf8POY.js";import{t as Ne}from"./VMH7wDAk.js";import{$t as O,Bt as Pe,G as Fe,Gt as k,H as Ie,Ht as Le,Jt as Re,Kt as ze,Qt as Be,Rt as Ve,Ut as A,V as He,Vt as Ue,Wt as We,Yt as j,Zt as Ge,en as Ke,h as M,nn as N,qt as qe,rn as Je,s as P,zt as Ye}from"./DNsR67l1.js";import{i as Xe,n as Ze}from"./CagC9ufD.js";import{m as Qe,p as $e}from"./yRMgu4ay.js";import{d as et,l as tt}from"./D2SJBO5U.js";import{a as nt,l as rt,o as it}from"./C0Iji4Qk.js";import{t as at}from"./BSaFdJJr.js";import{n as ot,t as st}from"./C9J2i9In.js";import{t as ct}from"./DDLmvpjg.js";import{i as lt,t as ut}from"./CmlWyQpr.js";import{a as dt,c as ft,f as pt,l as F,m as mt,o as ht,s as gt,u as _t}from"./7v-xFmSc.js";var vt=`https://assets.spawnite.com/assets/e625cc0fae36514fd7a2fef7dc4ab143be6250aac9ea72cdb7a3968a597ea3f6.webp`,yt=`https://assets.spawnite.com/assets/0530784d9007c4fa32309dc6d7ed69d76e9d0161719b43f2f4e3a676e736a2ed.webp`,bt=`https://assets.spawnite.com/assets/76a384e7a51c31f9d3627997181e0eb6ab2a1a0beed3026b1e984db36ac1ca3d.webp`,xt=`https://assets.spawnite.com/assets/bbcf8979655a3c17d3e425d00bbd736e2e4a002516789f9b4f3f54d3d71d2242.webp`,St=`https://assets.spawnite.com/assets/6ecff902891f3361bc148db55d5d09cf0c91145c0e17822fd5676be17c8af048.webp`,Ct=`https://assets.spawnite.com/assets/524301efe5e76d0d0e99c9d78470ce431c8dd56eff2147b7cd90820638560ee4.webp`,wt=`https://assets.spawnite.com/assets/1bb339c98550216df2a463218ff4de2391d1f368efad10858b4594a9ff4034ee.webp`,Tt=`https://assets.spawnite.com/assets/7bcefb492fa56298e4fc619c4a188596ce5708d7440d5f7b9bed123efab22df1.webp`,Et=`https://assets.spawnite.com/assets/e7fd6fb4d998f09adde0eb579554d66aa0bbc9d75d56a3ca06c9b6bb50593d92.webp`,Dt=`https://assets.spawnite.com/assets/39e674b5226190db3909f24cf6012afd12fa9221ba55ebb50737678c63d24c87.webp`,Ot=`https://assets.spawnite.com/assets/f30cbcf33d2f2f2da5a8387e313e39e26bc26ee71bba769f729ae6db76141ee7.webp`,kt=`https://assets.spawnite.com/assets/c9c0cf11c34dc0ba40605e13b398381237badc69bc62ca540dbcf495c1afa05f.webp`,At=`https://assets.spawnite.com/assets/4f9a866ea385446135ebfdbd6996a49a8c74691451dd4c010573b9d7d52df106.webp`,jt=`https://assets.spawnite.com/assets/f220b58fd809ccd91774550d4423870035bb625d6e672bd65e91095cb33d1acd.webp`,Mt=`https://assets.spawnite.com/assets/421c4404b780f21f110b30becab02721ae7b67e4bb290723865fe6ae07262047.webp`,Nt=`https://assets.spawnite.com/assets/baa918b6cf885fd68298084411ca476a10cb3e732bc93d8663b3aa0eb42adb0e.webp`,Pt=`https://assets.spawnite.com/assets/18835a6d4ef27699a29daea66abb429e5dda64ceac830cc4424aea7a947c8bb5.webp`,Ft=`https://assets.spawnite.com/assets/13308885d92c2b3c86b4a017d669ba2b79cce3e7cbb4534e6fd38f42711ad808.webp`,It=`https://assets.spawnite.com/assets/b1601c4a3ed7f30e8229307a1de5d084cbc82a70f5a58f9fdcf6cc522bc361dc.webp`,Lt=`https://assets.spawnite.com/assets/bd217091544988537560a31551adaa7defdc5bd76cac8c1b6c0c407f297be947.webp`,Rt=`https://assets.spawnite.com/assets/5a50001c1c941f42c2dfafebefd8d6fa7b12f334f9ac4c76668130a891fa0dda.webp`,zt=`https://assets.spawnite.com/assets/f08ad63d58c38726397366736f95e33ad8ed3bb42ae39f972747eb4cec6c2b61.webp`,Bt=`https://assets.spawnite.com/assets/f2cc2ceeab184e42f8772951c35861f6832027931491e261db814fd0829c5ad4.webp`,Vt=`https://assets.spawnite.com/assets/0693d45437a41331b144382ff1ea77706a7d3ade45cccfde1d075271e4c36666.webp`,Ht=`https://assets.spawnite.com/assets/07c9f2d4ee0b2179431774dd732cc9753f4a2400e024ccadb34bd1ee820af401.webp`,Ut=`https://assets.spawnite.com/assets/1d5af26cc11839de3805def2962698f1d675d6d9108575e2491f4d0cb58e1081.webp`,Wt=`https://assets.spawnite.com/assets/631089f3de44685602a639726b835abc0ef917a330d2a408a15ca4be19852d66.webp`,Gt=`https://assets.spawnite.com/assets/40bcf32bbe28d35dd2e15cb7f97e5fee237db094f49ba71407d7010d1d4c1b9f.webp`,Kt=`https://assets.spawnite.com/assets/160d39153db773ed5655f7f564f944ff289bf52da46bc01ad4c6f6c6aa339c3a.webp`,qt=`https://assets.spawnite.com/assets/427498a96bf3b14891c1243b3bba634591311bdd3682205bb60631782491ae4c.webp`,Jt=`https://assets.spawnite.com/assets/fa31ff7080871bd2da8205a0529b5c390fe52302b324541d827d089370d659cc.webp`,Yt=`https://assets.spawnite.com/assets/bcbe97879d59efa5c15eab65260fdde8ce7115a5b4ecfa2dd3ead8ce5221e1f6.webp`,Xt=`https://assets.spawnite.com/assets/b72b0ee3e9609a534f0c7e6f2f4a61440c05e9af79d524dce80f2975fc8d46f0.webp`,Zt=`https://assets.spawnite.com/assets/ae62830b28d7d589d4f9364f8cdd0c3e62fa8b4d9fdb7e9ad16d8ef7c5e7f7d3.webp`,Qt=`https://assets.spawnite.com/assets/1361e0bf7bdc7dba32820e77b24ef65fc43bdc49c8490cabc4a0264357ef00b8.webp`,$t=`https://assets.spawnite.com/assets/f95d6bc11928ea1189ebc01be301310a51e17da34cb16193ad39caaf4e4a43a1.webp`,en=`https://assets.spawnite.com/assets/9f9e74aebd806d16e39feb9bf13e1bee8524e7f7cce0a4d3b3538d6c7e08bf58.webp`,tn=`https://assets.spawnite.com/assets/f3b9567e2ca22a5f1bbed768c5d49ab12c4e034878d64cd43d42b2e75eb71ad7.webp`,nn=`https://assets.spawnite.com/assets/f48a8eca82fb713f44814e265c1580ab29e2cfc6ffa86b012da8d1fbfeedb093.webp`,rn=`https://assets.spawnite.com/assets/c5a6d8851535517435a6954395680647d0a831ece5abb0cc61ed5c24b6013882.webp`,an=`https://assets.spawnite.com/assets/45a81d4f7da2fcfa13905af6ffbcf021fabdd036faa7042d6b4c046faf1c5e17.webp`,on=`https://assets.spawnite.com/assets/0b529edaa0cefe1de99d6bdca7c29701a5d6a1cb5dc303e18b22528ec557994f.webp`,sn=`https://assets.spawnite.com/assets/06335b42f5eb18168bcdd24486b543a38da9f3f5ce97b65ad96ddd98c990d1a9.webp`,cn=`https://assets.spawnite.com/assets/126d8cfd992a909fe06641a8f58ed672f356eefb95d22eef4d810f9a9a6fbffb.webp`,ln=`https://assets.spawnite.com/assets/e8447e2cb1b2a078ea82316b59c197440806aa1f2d699ed204aa303b40d8f65c.webp`,un=`https://assets.spawnite.com/assets/dd67b0919e2e6c9d1f0999b8e54e5d102c13286242972e30fdb9e727f75a5156.webp`,dn=`https://assets.spawnite.com/assets/f7cd8a67829bfab2d48b14282f4abc2c69f07f9df63376297ebecd0e2668b080.webp`,fn=`https://assets.spawnite.com/assets/0e64d0be31687cfd5e89e748b054d8c517a767b5f6feb478dd9d6fb0334e6f6f.webp`,I=e(t(),1),L=e(ie(),1),pn=e(ae(),1),mn=new st().setDecoderPath(ot),hn=e=>{e.setDRACOLoader(mn).setMeshoptDecoder(ct)};function gn(e){let t=ne(e=>e.gl),n=Ie(t);return(0,I.useEffect)(()=>{n&&Fe(e)},[n,e]),!n}var _n=new WeakMap;function R(e,t){if(!e)return t;let n=_n.get(e);n||_n.set(e,n=new WeakMap);let r=n.get(t);return r||n.set(t,r=e(t)),r}function vn(e,t){return Array.isArray(t)?t.map(t=>R(e,t)):R(e,t)}var yn=new WeakMap,bn=0;function xn(e){let t=yn.get(e);return t===void 0&&(bn+=1,t=`material ${bn}`,yn.set(e,t)),t}var Sn=`varying vec2 vUv;
|
|
2
|
+
varying vec3 vWorldPosition;
|
|
3
|
+
void main() {
|
|
4
|
+
vUv = uv;
|
|
5
|
+
vec4 worldPosition = modelMatrix * vec4(position, 1.0);
|
|
6
|
+
vWorldPosition = worldPosition.xyz;
|
|
7
|
+
gl_Position = projectionMatrix * viewMatrix * worldPosition;
|
|
8
|
+
}
|
|
9
|
+
`;function Cn(e){return typeof e==`number`?`float`:e instanceof a?`vec2`:e instanceof f||e instanceof h?`vec3`:`sampler2D`}function wn(e,t){return`uniform float uTime;
|
|
10
|
+
uniform vec2 uPointer;
|
|
11
|
+
varying vec2 vUv;
|
|
12
|
+
varying vec3 vWorldPosition;
|
|
13
|
+
`+Object.entries(t).map(([e,t])=>`uniform ${Cn(t)} ${e};\n`).join(``)+e}function z(e,t){return t>0&&!M.getState().paused?lt(e,t):0}var Tn=16;function En(e,t=e.terrain&&D(e.terrain)){let{map:n,size:r,cell:i}=e,{ground:a,regions:o,seed:s}=n,c=Math.round(r/i),l=r/2,u=Object.keys(o),d=Object.values(o),f=new Me({random:(0,pn.default)(`${s}:ground`)}),p=[a.base],m=e=>{let t=p.indexOf(e);if(t<0){if(p.length>=Tn)throw w(Error(`The map resolves to more than ${Tn} materials, the most the ground draws: ${[...p,e].join(`, `)}. Paint or rule fewer.`),`SP0101`,`resolveGroundMaterials`);t=p.push(e)-1}return t},h=(t,n,r)=>(t.above===void 0||r.height>t.above)&&(t.below===void 0||r.height<t.below)&&(t.steeperThan===void 0||r.slope>t.steeperThan)&&(t.flatterThan===void 0||r.slope<t.flatterThan)&&(t.region===void 0||r.regionWeights[u.indexOf(t.region)]>.5)&&(t.noise===void 0||f.noise(r.x/t.noise.scale+n*97.31,r.z/t.noise.scale)>t.noise.above)&&(t.deeperThan===void 0||r.depth>t.deeperThan)&&(t.shallowerThan===void 0||r.depth>0&&r.depth<t.shallowerThan)&&(t.shoreWithin===void 0||r.depth<=0&&e.getShoreDistanceAt(r)<=t.shoreWithin);function g(e){let t=a.rules.find((t,n)=>t.material!==void 0&&h(t,n,e));if(t)return t.material;if(e.slope>a.steepAbove)return a.steep;let n=a.base;return d.forEach((t,r)=>{t.material&&e.regionWeights[r]>.5&&(n=t.material)}),n}let _=c*c,v={names:p,base:new Uint8Array(_),overlay:new Uint8Array(_),blend:new Float32Array(_),ruled:new Uint8Array(_)};for(let n=0;n<c;n++)for(let r=0;r<c;r++){let o=n*c+r,s={x:(r+.5)*i-l,z:(n+.5)*i-l},u=e.getHeightAt(s),d={...s,height:u,depth:e.sea-u,slope:b.radToDeg(Math.atan(e.getSlopeAt(s))),regionWeights:e.getRegionWeightsAt(s)},f=e.getPathSurfaceAt(s),p=f&&f.weight>.5?f.surface:g(d);v.ruled[o]=m(p);let _=t?.paint[o]??NaN,y=t?.overlay[o]??NaN;if(!Number.isNaN(_)||!Number.isNaN(y)){v.base[o]=Number.isNaN(_)?v.ruled[o]:m(t.palette[_]),Number.isNaN(y)||(v.overlay[o]=m(t.palette[y]),v.blend[o]=t.blend[o]||0);continue}v.base[o]=v.ruled[o];let x=a.rules.find((e,t)=>e.overlay!==void 0&&h(e,t,d));x&&(v.overlay[o]=m(x.overlay),v.blend[o]=x.blend)}return v}var Dn=new WeakMap;function B(e){let t=Dn.get(e);return t||(t=En(e),Dn.set(e,t)),t}var V={grass:{swatch:`#7dac52`,tile:4,sharpness:16,roughness:.9,cover:{kind:Ce.Grass,density:1},textures:{stylised:[It,Lt],photographed:[Pt,Ft]}},"dry-grass":{family:`grass`,swatch:`#b89252`,tile:4,sharpness:16,roughness:.9,cover:{kind:Ce.Grass,density:1},textures:{stylised:[Mt,Nt],photographed:[At,jt]}},dirt:{swatch:`#7f583a`,tile:4,sharpness:24,roughness:.9,textures:{stylised:[Ot,kt],photographed:[Et,Dt]}},mud:{family:`dirt`,swatch:`#4b4138`,tile:4,sharpness:24,roughness:.6,textures:{stylised:[Kt,qt],photographed:[Wt,Gt]}},gravel:{family:`rock`,swatch:`#89877a`,tile:2.5,sharpness:32,roughness:.85,textures:{stylised:[Bt,Vt],photographed:[Rt,zt]}},sand:{swatch:`#eec888`,tile:5,sharpness:16,roughness:.9,rotate:!1,textures:{stylised:[en,tn],photographed:[Qt,$t]}},snow:{swatch:`#f3f3f3`,tile:6,sharpness:12,roughness:.7,rotate:!1,textures:{stylised:[sn,cn]}},ice:{family:`snow`,swatch:`#cad7e2`,tile:6,sharpness:32,roughness:.15,textures:{stylised:[Ht,Ut]}},rock:{swatch:`#64675d`,tile:4,sharpness:32,roughness:.8,textures:{stylised:[Xt,Zt],photographed:[Jt,Yt]}},cliff:{family:`rock`,swatch:`#464030`,tile:6,sharpness:40,roughness:.8,textures:{stylised:[bt,xt],photographed:[vt,yt]}},stone:{family:`rock`,swatch:`#878577`,tile:3,sharpness:40,roughness:.75,textures:{stylised:[dn,fn],photographed:[ln,un]}},"shallow-bed":{family:`sand`,swatch:`#bdab83`,tile:3,sharpness:24,roughness:.5,rotate:!1,textures:{stylised:[an,on],photographed:[nn,rn]}},grid:{swatch:`#9a9da3`,tile:1,sharpness:16,roughness:.9,rotate:!1,lines:1},"deep-bed":{swatch:`#1e3d45`,tile:5,sharpness:16,roughness:.6,textures:{stylised:[wt,Tt],photographed:[St,Ct]}}},On={kind:Ce.Grass,density:1,height:.32,sway:!0},kn=({tint:e,tintAmount:t})=>e.map(e=>1+(e-1)*t);function H(e,{set:t,materials:n}){function r(e,i){if(i.includes(e))throw w(Error(`The ground materials start from each other in a loop: ${[...i,e].join(`, `)}. Start one of them from a built-in: ${Object.keys(V).join(`, `)}.`),`SP0250`,void 0);let a=n[e],o=a?.from,s;if(o!==void 0)s=r(o,[...i,e]);else{let n=V[e];if(!n)throw w(Error(`The map uses the material "${e}", which is not built in: add it to src/maps/materials.json or the map's materials with the material it starts "from", such as "${e}": { "from": "rock" }, or use a built-in: ${Object.keys(V).join(`, `)}.`),`SP0251`,void 0);let[r,i]=n.textures?n.textures[t]??n.textures.stylised:[null,null];s={name:e,family:n.family??e,colour:r,detail:i,swatch:n.swatch,tint:[1,1,1],tintAmount:1,tile:n.tile,sharpness:n.sharpness,roughness:n.roughness,bumps:1,hexTiling:n.hexTiling??!1,rotate:n.rotate??!0,wet:n.wet??!1,scroll:[0,0],frames:1,frameTime:.1,lines:n.lines??0,cover:n.cover?{...On,...n.cover}:null}}if(!a)return s;let c=a.tint&&new h(a.tint);return{...s,name:e,...a.texture!==void 0&&{colour:a.texture,detail:null},...c&&{tint:[c.r,c.g,c.b]},tintAmount:a.tintAmount??s.tintAmount,tile:a.tile??s.tile,sharpness:a.sharpness??s.sharpness,bumps:a.bumps??s.bumps,hexTiling:a.hexTiling??s.hexTiling,rotate:a.rotate??s.rotate,wet:a.wet??s.wet,scroll:a.animate?.scroll??s.scroll,frames:a.animate?.frames??s.frames,frameTime:a.animate?.frameTime??s.frameTime,cover:a.cover?{...s.cover??On,...a.cover}:s.cover}}return e.map(e=>r(e,[]))}var An=`spawnite-terrain-editor`,U={radius:{min:.1,max:30},strength:{min:.1,max:1}},jn={radius:8,strength:.5,shape:`circle`},Mn={more:2,thin:.5},Nn={paint:null,overlay:null,blend:null},Pn=class extends Error{},Fn=class extends Error{},In=class extends Error{constructor(){_e(super(he(`This dev server has no map endpoint at ${ke}, so the editor cannot read or save the map. Install @spawnite/dev-server, add import { devServer } from "@spawnite/dev-server/vite" to the game's vite.config, put devServer() in its plugins, and restart the dev server.`,`SP0368`)))}};async function Ln(e,t){let n=await fetch(e,t);if(!n.headers.get(`content-type`)?.includes(`application/json`))throw new In;return n}var Rn=(e,t)=>e instanceof In?e.message:`${t}: ${e instanceof Error?e.message:String(e)}.`,zn=(e,t)=>Number.isNaN(e[t])?null:e[t];function W(e,t=j(e)){let{size:n,cell:r}=A(e);return{height:{size:n,cell:r,base:[],offsets:je(t?.height,Math.round(n/r)+1)},paint:D(t??{size:n,cell:r})}}function Bn(e,{height:t,paint:n},r=j(e)){let i=A(e),a=De(t.offsets,Math.round(i.size/i.cell)+1);N(e,{size:i.size,cell:i.cell,base:r?.base??we.parse(i),...a&&{height:a},...Oe(n)})}function G(e,t){let n=_t(e.paint,t);return{...mt(e.height,t),cells:n.cells,paintBefore:n.paintBefore,paintAfter:n.paintAfter}}function Vn(e,t,n){return{points:t,height:t.map(t=>zn(e.height.offsets,t)),cells:n,paint:n.map(t=>F(e.paint,t))}}function Hn(e,t,n){let r=t=>me({...A(e),...t,terrain:void 0}).baseHeights,i=r(n);return r(t).map((e,t)=>e-i[t])}async function Un(e){let t=await Ln(`${ke}?map=${encodeURIComponent(e)}`),n=await t.json();if(!t.ok)throw Error(n.error??`the dev server answered ${t.status}`);return n}var Wn=e=>`The ${e} map's terrain changed outside the editor: it is reloaded, and the undo list starts again.`;async function K(e){let t=await Ln(ke,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({...e,revision:qe(e.map)})});if(t.status===409){let{error:e,conflict:n}=await t.json().catch(()=>({}));throw n===`base`?new Fn(e):new Pn}if(!t.ok){let{error:e}=await t.json().catch(()=>({}));throw Error(e??`the dev server answered ${t.status}`)}let n=await t.json();return O(e.map,n.revision),n}var q=e=>We(e)??A(e).materials,J=e=>ze(e)??A(e).props,Gn=new WeakMap;function Kn(e){if(e.sea!==void 0)return e.sea;let t=Gn.get(e);return t===void 0&&(t=me({...e,terrain:void 0}).sea,Gn.set(e,t)),t}var Y=e=>Re(e)??Kn(A(e)),qn=100;function Jn({kind:e,name:t},n){let r=n.map(e=>Math.round(e*qn)/qn),i=e===P.Model?{model:t}:e===P.Shape||e===P.Scatter?{kind:t}:null;return i&&Te.parse({card:{...i,position:r}}).card}function Yn(e,t,n){let r=q(e);return{...r,[t]:{...r[t],...n}}}var Xn=ye({families:ve(xe(E)).check(be(1)),action:xe([`more`,`thin`,`erase`])});function Zn(e=()=>localStorage){let t=null,n=null,r=new Map,i=new Map,a=e=>{let t=i.get(e);return t||(t={points:new Map,cells:new Map,materials:new Map,props:new Map},i.set(e,t)),t},o=({points:e,cells:t,materials:n,props:r,sea:i})=>e.size+t.size+n.size+r.size>0||i!==void 0,s=()=>[...i.values()].some(o);function c({map:e,change:t,materials:n=[],props:r=[],sea:i},o){let s=a(e),c=o===`before`?t?.paintBefore:t?.paintAfter;t?.points.forEach((e,n)=>{s.points.has(e)||s.points.set(e,t[o][n])}),t?.cells?.forEach((e,t)=>{s.cells.has(e)||s.cells.set(e,c[t])});for(let e of n)s.materials.has(e.name)||s.materials.set(e.name,e[o]);for(let e of r)s.props.has(e.name)||s.props.set(e.name,e[o]);i&&s.sea===void 0&&(s.sea=i[o])}function l({map:e,change:t,materials:n=[],props:r=[],sea:i},a){if(i&&Ke(e,i[a]),t){let n=W(e);G(n,{points:t.points,height:t[a],cells:t.cells??[],paint:(a===`before`?t.paintBefore:t.paintAfter)??[]}),Bn(e,n)}if(n.length>0){let t={...q(e)};for(let{name:e,[a]:r}of n)r===null?delete t[e]:t[e]=r;Ge(e,t)}if(r.length>0){let t={...J(e)};for(let{name:e,[a]:n}of r)n===null?delete t[e]:t[e]=n;Be(e,t)}}function u(e,t,n=a(e),r){let i=W(e);if(r)for(let e of n.points.keys())i.height.offsets[e]+=r[e];let o=W(e,t),s=G(o,Vn(i,[...n.points.keys()],[...n.cells.keys()]));s.points.forEach((e,t)=>n.points.set(e,s.before[t])),s.cells?.forEach((e,t)=>n.cells.set(e,s.paintBefore[t])),Bn(e,o,t)}let d=Promise.resolve(),f=e=>{let t=d.then(e);return d=t.catch(()=>void 0),t};function p({grid:e,paint:t,stroke:n,level:r},i){return n.tool===`scatter`?{points:[],grid:e}:t?{points:[],grid:e,cells:i,paint:i.map(e=>F(t,e))}:{points:i,grid:e,level:r}}let m=(e,t)=>e?{clear:e}:{material:t,clear:e};function g(e,t,n){let{paint:r}=e,i={...r,palette:[...r.palette],paint:r.paint.slice(),overlay:r.overlay.slice(),blend:r.blend.slice()},{cells:a=[]}=ft({paint:i,height:e.grid},{rect:[e.corner,e.at],...m(t,n)},()=>0);for(let t of a)e.touched.add(t);let o=[...e.touched];return{points:[],grid:e.grid,cells:o,paint:o.map(e=>F(i,e))}}let _=Ne()(Xe((e,d)=>{async function _(t,n){n instanceof Pn?await d().followOutsideWrite(t):n instanceof Fn?e({baseMoved:t,notice:n.message}):e({notice:Rn(n,`The map was not written`)})}function v(t){return c(t,`before`),l(t,`after`),e({undoSteps:[...d().undoSteps,t],redoSteps:[],unsaved:!0}),!0}function y(e,t){return Promise.resolve(v({map:e,change:t(W(e))}))}function x(e,t,n){return v({map:e,props:[{name:t,before:J(e)[t]??null,after:n}]}),Promise.resolve()}function S(t,n,r){let i=d()[t].at(-1);if(!i)return Promise.resolve();c(i,r===`before`?`after`:`before`),l(i,r),e({[t]:d()[t].slice(0,-1),[n]:[...d()[n],i],unsaved:!0,notice:null});for(let{name:t,[r]:n,after:a}of i.materials??[])n===null&&a?.from!==void 0&&d().material===t&&e({material:a.from});return Promise.resolve()}async function C(e,t){let n=a(e);i.delete(e);try{if(t){let t=await Un(e);u(e,t.terrain,n),O(e,t.revision)}let r=[...n.points.keys()],i=[...n.cells.keys()];if(r.length+i.length>0){let{terrain:t}=await K({map:e,restore:Vn(W(e),r,i)});N(e,{...j(e),base:t.base}),n.points.clear(),n.cells.clear()}for(let t of[...n.materials.keys()])await K({map:e,restoreMaterial:{name:t,look:q(e)[t]??null}}),n.materials.delete(t);if(n.props.size>0){let t=J(e);await K({map:e,props:Object.fromEntries([...n.props.keys()].map(e=>[e,t[e]??null]))}),n.props.clear()}return n.sea!==void 0&&(await K({map:e,sea:Y(e)}),n.sea=void 0),!0}catch(t){let r=a(e);for(let[e,t]of n.points)r.points.set(e,t);for(let[e,t]of n.cells)r.cells.set(e,t);for(let[e,t]of n.materials)r.materials.set(e,t);for(let[e,t]of n.props)r.props.set(e,t);return n.sea!==void 0&&(r.sea=n.sea),await _(e,t),!1}}return{map:null,tool:null,card:null,holdCard:t=>{if(t===null){e({card:t});return}d().preloadCard(t),e({card:t,tool:null,adjusting:null,mode:`select`});let{freeCamera:n,mapCamera:r,setMapCamera:i}=M.getState();!n&&!r&&i(!0)},preloadCard:({kind:e,name:t})=>{if(e!==P.Model)return;let n;try{n=oe(t)}catch{return}re.preload(at,n,hn)},placeCard:(e,t)=>{let{card:n}=d(),r=n&&Jn(n,t);if(!n||!r)return null;let i=J(e),a=n.name;for(let e=2;Object.hasOwn(i,a);e++)a=`${n.name}-${e}`;return v({map:e,props:[{name:a,before:null,after:r}]}),a},mode:`select`,setMode:t=>e(t===`terrain`?{mode:t,card:null}:{mode:t,tool:null,adjusting:null,...t===`look`&&{card:null}}),brush:jn,lower:!1,setLower:t=>e({lower:t}),material:`grass`,setMaterial:t=>{e({material:t}),d().tool!==`fill`&&d().holdTool(`paint`)},scatter:{families:[E.Tree],action:`erase`},setScatter:t=>{e({scatter:{...d().scatter,...t}}),d().holdTool(`scatter`)},makeEditable:({map:e,kind:t,family:n,position:[r,,i],yaw:a,height:o})=>{let s=J(e),c=1;for(;Object.hasOwn(s,`${n}${c}`);)c++;let l=`${n}${c}`,u={kind:t,position:[r,i],yaw:a,scale:Math.round(o/ce(t,1)*1e3)/1e3};return v({map:e,change:gt(W(e).paint,n,$n(e,t,r,i)),props:[{name:l,before:null,after:u}]}),Promise.resolve(l)},removeScattered:async({map:e,kind:t,family:n,position:[r,,i]})=>{await y(e,({paint:a})=>gt(a,n,$n(e,t,r,i)))},moveProp:(e,t,n)=>{let r=J(e)[t];return r?x(e,t,{...r,position:n}):Promise.resolve()},removeProp:(e,t)=>x(e,t,null),readSea:Y,seaPreview:null,previewSea:(t,n)=>{Number.isFinite(n)&&e({seaPreview:{map:t,level:n}})},setSea:(t,n)=>{if(!Number.isFinite(n))return;e({seaPreview:null});let r=Y(t);n!==r&&v({map:t,sea:{before:r,after:n}})},clear:!1,setClear:t=>e({clear:t}),level:null,setLevel:t=>{(t===null||Number.isFinite(t))&&e({level:t})},pickLevel:(t,[n,r])=>e({level:t.getHeightAt({x:n,z:r})}),pickMaterial:(t,n)=>e({material:Qn(t,n)}),adjusting:null,undoSteps:[],redoSteps:[],unsaved:!1,changedOnDisk:!1,save:async({anyway:t=!1}={})=>{let n=await f(async()=>{let e=!0;for(let n of[...i.keys()])e=await C(n,t)&&e;return e});return e({unsaved:s(),...n&&{changedOnDisk:!1,notice:null}}),n},revert:()=>f(async()=>{let t=new Map;try{for(let e of i.keys())t.set(e,await Un(e))}catch(t){return e({notice:Rn(t,`The map was not read`)}),!1}for(let[n,r]of[...i]){let a=t.get(n),o=W(n,a.terrain),s=q(n),c=J(n),u={map:n,change:G(W(n),Vn(o,[...r.points.keys()],[...r.cells.keys()])),materials:[...r.materials].map(([e,t])=>({name:e,before:s[e]??null,after:t})),props:[...r.props].map(([e,t])=>({name:e,before:c[e]??null,after:t})),...r.sea!==void 0&&{sea:{before:Y(n),after:r.sea}}};i.delete(n),l(u,`after`),a.terrain&&N(n,a.terrain),O(n,a.revision),e({undoSteps:[...d().undoSteps,u],redoSteps:[]})}return e({unsaved:s(),changedOnDisk:!1,notice:null}),!0}),resetToBase:t=>f(async()=>{let n=W(t),r=a(t),{offsets:i}=n.height,o=[...i.keys()].filter(e=>!Number.isNaN(i[e])||r.points.has(e)),c=[...n.paint.paint.keys()].filter(e=>{let{paint:t,overlay:i,scatter:a,erased:o}=F(n.paint,e);return t!==null||i!==null||a!==void 0||o!==void 0||r.cells.has(e)}),l={points:o,height:o.map(()=>null),cells:c,paint:c.map(()=>Nn)},u;try{({terrain:u}=await K({map:t,restore:l}))}catch(e){return await _(t,e),!1}let f=G(n,l);return Bn(t,n,u),r.points.clear(),r.cells.clear(),e({undoSteps:[...d().undoSteps,{map:t,change:f}],redoSteps:[],unsaved:s(),notice:null}),!0}),followOutsideWrite:async t=>{let n=i.get(t);n&&o(n)?e({changedOnDisk:!0}):await d().reloadTerrain(t,Wn(t))},notice:null,baseMoved:null,readPaintMaterials:e=>{let t=k(A(e),e);return H([...new Set([...Object.keys(V),...Object.keys(t.materials)])],t).map(e=>({name:e.name,family:e.family,swatch:e.swatch,texture:t.set===`flat`?null:e.colour,tint:`#${new h(...kn(e)).getHexString()}`}))},readMapRegions:e=>Object.keys(A(e).regions),readMaterialLook:(e,t)=>{let[n]=H([t],k(A(e),e));return{tint:`#${new h(...n.tint).getHexString()}`,tintAmount:n.tintAmount,tile:n.tile,bumps:n.bumps,wet:n.wet}},previewMaterial:(e,t,n)=>{r.has(e)||r.set(e,q(e)),Ge(e,Yn(e,t,n))},refineMaterial:async(e,t,n)=>{let i=(r.get(e)??q(e))[t]??null;r.delete(e),v({map:e,materials:[{name:t,before:i,after:Yn(e,t,n)[t]}]})},duplicateMaterial:async(t,n)=>{let r=new Set(d().readPaintMaterials(t).map(e=>e.name)),i=2;for(;r.has(`${n}-${i}`);)i++;let a=`${n}-${i}`;v({map:t,materials:[{name:a,before:null,after:{from:n}}]}),e({material:a})},readMapChoices:()=>{let e=new Set(Pe().map(({map:e})=>Ue(e)));return Ye().map(t=>({name:t,mounted:e.has(t)}))},openMap:t=>{let n=new URL(window.location.href);n.searchParams.set(`map`,t),window.history.replaceState(null,``,n),e({map:t,undoSteps:[],redoSteps:[],notice:null})},holdTool:t=>{let{mode:n,card:r}=d();e({tool:t,card:t===null?r:null,adjusting:null,mode:t===null?n===`terrain`?`select`:n:`terrain`});let{freeCamera:i,mapCamera:a,setMapCamera:o}=M.getState();t!==null&&!i&&!a&&o(!0)},setBrush:t=>{let{radius:n,strength:r,shape:i}={...d().brush,...t};e({brush:{radius:b.clamp(n,U.radius.min,U.radius.max),strength:b.clamp(r,U.strength.min,U.strength.max),shape:i}})},setAdjusting:t=>e({adjusting:t}),beginStroke:(e,r,i,{lower:a=!1,smooth:o=!1}={})=>{let{size:s,cell:c,baseHeights:l,offsets:u}=r,{tool:f,brush:m,material:h,clear:_,level:v,scatter:y}=d(),b=(f===`paint`||f===`scatter`)&&!o,x={size:s,cell:c,base:l,offsets:u.slice()};if(f===`fill`&&!o)return n={grid:x,map:e,corner:i,at:i,paint:D(r.terrain??{size:s,cell:c}),touched:new Set},g(n,_,h);let S={tool:o?`smooth`:f===`fill`?`sculpt`:f??`sculpt`,points:[i],...m,lower:f===`sculpt`&&!o&&d().lower!==a,...f===`paint`&&!_&&{material:h},...f===`scatter`&&{families:y.families,...y.action!==`erase`&&{multiplier:Mn[y.action]}},erase:f===`scatter`&&!o&&y.action===`erase`,clear:f===`paint`&&!o&&_,...f===`flatten`&&!o&&v!==null&&{level:v}};if(b&&S.erase){let n=D(r.terrain??{size:s,cell:c}),i=ue(r);return t={grid:x,map:e,stroke:S,run:{extend:()=>[],change:()=>ht(n,S,i)},paint:n},p(t,[])}if(b){let{names:n,ruled:i}=B(r),a=D(r.terrain??{size:s,cell:c}),o=dt(a,S,e=>n[i[e]]);return t={grid:x,map:e,stroke:S,run:o,paint:a},p(t,o.change().cells??[])}let C=pt(x,S);return t={grid:x,map:e,stroke:S,run:C,level:C.level},p(t,C.change().points)},extendStroke:e=>{if(n){n.at=e;let{clear:t,material:r}=d();return g(n,t,r)}if(t)return t.stroke.points.push(e),p(t,t.run.extend(e))},cancelStroke:()=>{t=null,n=null,e({seaPreview:null})},endStroke:()=>{let e=t,r=n;if(t=null,n=null,r){let{clear:e,material:t}=d();return y(r.map,({paint:n})=>ft({paint:n,height:r.grid},{rect:[r.corner,r.at],...m(e,t)},()=>0))}return e?y(e.map,()=>e.run.change()):Promise.resolve(!1)},fillRegion:(t,n)=>{let{clear:r,material:i}=d(),a=A(t),o=Object.keys(a.regions).indexOf(n);if(o<0)return e({notice:`The ${t} map has no region ${n}.`}),Promise.resolve(!1);let s=me(a,j(t));return y(t,({height:e,paint:t})=>ft({paint:t,height:{...e,base:s.baseHeights}},{region:n,...m(r,i)},([e,t])=>s.getRegionWeightsAt({x:e,z:t})[o]))},resetHere:(e,{size:t,cell:n},[r,i])=>{let{radius:a,shape:o}=d().brush,s=(e,s)=>{let c=[];for(let l=0;l<e;l++)for(let u=0;u<e;u++){let d=(u+s)*n-t/2-r,f=(l+s)*n-t/2-i;(o===`circle`?Math.hypot(d,f)<=a:Math.max(Math.abs(d),Math.abs(f))<=a)&&c.push(l*e+u)}return c},c=Math.round(t/n),l=s(c+1,0),u=s(c,.5);return y(e,e=>G(e,{points:l,height:l.map(()=>null),cells:u,paint:u.map(()=>Nn)}))},settleBase:async t=>{await f(async()=>{let n=d().baseMoved;if(!n)return!1;let r=j(n)?.base;try{let{terrain:e}=await K({map:n,settle:t});u(n,e,a(n),t===`keep-heights`&&r?Hn(n,r,e.base):void 0)}catch(t){return e({baseMoved:null}),await _(n,t),!1}return e({baseMoved:null,notice:null,...t===`keep-heights`&&{undoSteps:[],redoSteps:[]}}),!0})&&await d().save()},undo:()=>S(`undoSteps`,`redoSteps`,`before`),redo:()=>S(`redoSteps`,`undoSteps`,`after`),reloadTerrain:async(t,n)=>{let r;try{r=await Un(t)}catch(t){e({notice:Rn(t,`The map was not read`)});return}let{terrain:i,revision:a}=r;i&&N(t,i),O(t,a),n!==void 0&&e({undoSteps:[],redoSteps:[],notice:n})}}},{name:An,storage:Ze(e),partialize:({brush:e,lower:t,material:n,scatter:r})=>({brush:e,lower:t,material:n,scatter:r}),merge:(e,t)=>{let n=Ee.safeParse(e?.brush),r=Se.safeParse(e?.material),i=Xn.safeParse(e?.scatter),a=e?.lower;return{...t,...typeof a==`boolean`&&{lower:a},...n.success&&{brush:n.data},...r.success&&{material:r.data},...i.success&&{scatter:i.data}}}}));return Ve((e,t)=>{let n=i.get(e);if(!n||!o(n))return!1;for(let e of n.materials.keys())n.materials.set(e,t.materials[e]??null);for(let e of n.props.keys())n.props.set(e,t.props[e]??null);return n.sea===void 0?Ke(e,Kn(t)):n.sea=Kn(t),_.setState({changedOnDisk:!0}),!0}),M.subscribe(({freeCamera:e,mapCamera:t})=>{if(e||t)return;let{tool:n,card:r,holdTool:i,holdCard:a}=_.getState();n!==null&&i(null),r!==null&&a(null)}),_}function Qn(e,t){let{names:n,base:r}=B(e);return n[r[Ae(e,t)]]}function $n(e,t,n,r){for(let{ground:i,map:a}of Pe()){if(Ue(a)!==e)continue;let o=(i.get(de)?.placements??[]).find(({kind:e,prop:i,position:a})=>e===t&&i===void 0&&Math.abs(a.x-n)<=.01&&Math.abs(a.z-r)<=.01);if(o)return[o.position.x,o.position.z]}return[n,r]}var er=Zn(),X=new h;function tr(e,t,{base:n,overlay:r,blend:i,multiplier:a}){let o=0,s=0,c=0,l=0,u=0,d=0,f=0;for(let[e,t]of[[n,1-i],[r,i]])!e.cover||t<=0||(o+=t,s+=e.cover.density*t,c+=e.cover.height*t,e.cover.sway&&(l+=t),e.cover.colour?X.set(e.cover.colour):X.set(e.swatch).multiply(rr(e)),u+=X.r*t,d+=X.g*t,f+=X.b*t);e.share[t]=o,e.density[t]=Math.min(s*a,2),e.height[t]=o>0?c/o:0,e.sway[t]=o>0?l/o:0,e.colour.set(o>0?[u/o,d/o,f/o]:[0,0,0],t*3)}var nr=new h,rr=e=>nr.setRGB(...kn(e));function ir(e,t=B(e)){let n=Math.round(e.size/e.cell),r=H(t.names,k(e.map)),i=e.terrain?.scatter?.[E.Tuft],a=i&&je(i,n),o=n*n,s={share:new Float32Array(o),density:new Float32Array(o),height:new Float32Array(o),colour:new Float32Array(o*3),sway:new Float32Array(o)};for(let e=0;e<o;e++){let n=a?.[e];tr(s,e,{base:r[t.base[e]],overlay:r[t.overlay[e]],blend:t.blend[e],multiplier:n===void 0||Number.isNaN(n)?1:n})}return s}var ar=220,or=2;function sr(e){let t=(0,pn.default)(`grass`),n=Math.round(36*ar*or*e),r=new Float32Array(n*3);for(let e=0;e<n;e++)r.set([t()*6,t()*6,e/n],e*3);return r}function cr({distance:e,density:t,draw:n,blades:r}){let i=1-b.smoothstep(e,n.near,n.far);return Math.min(r,Math.ceil(i*Math.min(t,or)/or*r))}function lr(e){let t=Math.round(e.size/e.cell),n=t+1,r=Math.ceil(e.size/6),i=(e,t,n)=>{let r=new u(e,t,t,n,e instanceof Float32Array?v:l);return r.needsUpdate=!0,r};return{cells:t,cell:e.cell,patches:r,heights:i(new Float32Array(n*n),n,S),cover:i(new Float32Array(t*t*4),t,C),colours:i(new Uint8Array(t*t*4),t,C),patchDensity:new Float32Array(r*r),patchHeights:new Float32Array(r*r*2)}}function ur(e,t,n,r){let i=e=>Math.max(Math.floor(e/6),0),a=t=>Math.min(Math.ceil(t/6)-1,e-1);for(let o=i(t[0]);o<=a(t[1]);o++)for(let t=i(n[0]);t<=a(n[1]);t++)r(o*e+t)}function dr(e,{base:t,offsets:n},r){let i=e.heights.image.data,{cell:a,patches:o,patchHeights:s}=e,c=e.cells+1,l=e=>{let r=t[e]+(Number.isNaN(n[e])?0:n[e]);i[e]=r;let l=Math.floor(e/c),u=e%c;ur(o,[(l-1)*a,(l+1)*a],[(u-1)*a,(u+1)*a],e=>{s[e*2]<=r||(s[e*2]=r),s[e*2+1]>=r||(s[e*2+1]=r)})};if(r===void 0){s.fill(NaN);for(let e=0;e<i.length;e++)l(e)}else for(let e of r)l(e);e.heights.needsUpdate=!0}var fr=-1e4;function pr(e,t,{indices:n,now:r}){let i=e.cover.image.data,a=e.colours.image.data,{cells:o,cell:s,patches:c,patchDensity:l}=e;n===void 0&&l.fill(0);let u=e=>{let n=t.density[e],u=i[e*4+1];i[e*4]=t.share[e],i[e*4+1]=n,i[e*4+2]=t.height[e],r===null?i[e*4+3]=fr:u<.1&&n>=.1&&(i[e*4+3]=r);for(let n=0;n<3;n++)a[e*4+n]=Math.round(b.clamp(t.colour[e*3+n],0,1)*255);a[e*4+3]=Math.round(b.clamp(t.sway[e],0,1)*255);let d=Math.floor(e/o),f=e%o;ur(c,[(d-.5)*s,(d+1.5)*s],[(f-.5)*s,(f+1.5)*s],e=>{l[e]=Math.max(l[e],n)})};if(n===void 0)for(let e=0;e<o*o;e++)u(e);else for(let e of n)u(e);e.cover.needsUpdate=!0,e.colours.needsUpdate=!0}function mr(e){e.heights.dispose(),e.cover.dispose(),e.colours.dispose()}var hr=.001;function gr(e){let t=e/400;return t>=1?1:t<=0?hr:Math.max(hr,1-Math.exp(-_r*t)*Math.cos(3*Math.PI*t))}var _r=-3*Math.log(.2),vr=Math.max(...Array.from({length:1001},(e,t)=>gr(t/1e3*400)));function yr(e){let t=Object.entries(e?.uniforms??{}).map(([e,t])=>`uniform ${Cn(t)} ${e};`).join(`
|
|
14
|
+
`);return`
|
|
15
|
+
attribute vec2 blade;
|
|
16
|
+
attribute vec3 pattern;
|
|
17
|
+
// Seconds on the blades' own clock, which a pop's start is written in.
|
|
18
|
+
uniform float uTime;
|
|
19
|
+
// Seconds on the effects' clock, which the wind blows on: the devtools'
|
|
20
|
+
// pause holds it, and their speed leaves it alone.
|
|
21
|
+
uniform float uGrassWind;
|
|
22
|
+
// 1 where the blades sway, as the quality level or the player's Grass sway
|
|
23
|
+
// setting has it, and 0 where they stand still.
|
|
24
|
+
uniform float uGrassSway;
|
|
25
|
+
// Metres from the camera where the blades start to thin, and where the last goes.
|
|
26
|
+
uniform vec2 uGrassFade;
|
|
27
|
+
// Metres of a blade's width at its root for each metre of its height.
|
|
28
|
+
uniform float uGrassWidth;
|
|
29
|
+
// The cells along a side, a cell's metres, and half the map's side.
|
|
30
|
+
uniform vec3 uGrassGrid;
|
|
31
|
+
// The ground's height at each point of the grid.
|
|
32
|
+
uniform sampler2D uGrassHeights;
|
|
33
|
+
// Each cell's share that grows grass, its density, its blades' height and
|
|
34
|
+
// when its pop started, in seconds of uTime.
|
|
35
|
+
uniform sampler2D uGrassCover;
|
|
36
|
+
// Each cell's colour, and in alpha the share of its cover that sways.
|
|
37
|
+
uniform sampler2D uGrassColours;
|
|
38
|
+
// Where the characters stand: x, z, the radius they press, and how hard, 0 to 1.
|
|
39
|
+
uniform vec4 uGrassTrample[4];
|
|
40
|
+
varying vec3 vGrassColour;
|
|
41
|
+
|
|
42
|
+
// A hash with no sine: exact at any coordinate on the map, and cheap.
|
|
43
|
+
float grassHash(vec2 point) {
|
|
44
|
+
vec3 mixed = fract(vec3(point.xyx) * 0.1031);
|
|
45
|
+
mixed += dot(mixed, mixed.yzx + 33.33);
|
|
46
|
+
return fract((mixed.x + mixed.y) * mixed.z);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
float grassNoise(vec2 point) {
|
|
50
|
+
vec2 cell = floor(point);
|
|
51
|
+
vec2 inside = fract(point);
|
|
52
|
+
vec2 blend = inside * inside * (3.0 - 2.0 * inside);
|
|
53
|
+
float a = grassHash(cell);
|
|
54
|
+
float b = grassHash(cell + vec2(1.0, 0.0));
|
|
55
|
+
float c = grassHash(cell + vec2(0.0, 1.0));
|
|
56
|
+
float d = grassHash(cell + vec2(1.0, 1.0));
|
|
57
|
+
return mix(mix(a, b, blend.x), mix(c, d, blend.x), blend.y);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Two octaves, the second turned off the first's grid; 0 to 1.
|
|
61
|
+
float grassFractal(vec2 point) {
|
|
62
|
+
vec2 turned = mat2(0.8, -0.6, 0.6, 0.8) * point * 2.07 + 13.1;
|
|
63
|
+
return (grassNoise(point) + grassNoise(turned) * 0.5) / 1.5;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// The elastic ease the scatter grows in with, 0 before its start.
|
|
67
|
+
float popGrass(float elapsed) {
|
|
68
|
+
float progress = elapsed / ${(400/1e3).toFixed(3)};
|
|
69
|
+
if (progress >= 1.0) return 1.0;
|
|
70
|
+
if (progress <= 0.0) return 0.0;
|
|
71
|
+
return pow(2.0, -10.0 * progress) * sin((progress * 10.0 - 0.75) * 2.0943951) + 1.0;
|
|
72
|
+
}
|
|
73
|
+
${t}
|
|
74
|
+
${e?.functions??``}
|
|
75
|
+
`}function br(e){return`
|
|
76
|
+
vec3 bladeRoot = vec3(modelMatrix[3].x + pattern.x, 0.0, modelMatrix[3].z + pattern.y);
|
|
77
|
+
float bladeRank = pattern.z;
|
|
78
|
+
|
|
79
|
+
// The ground under the root, split as the ground's mesh splits each cell,
|
|
80
|
+
// from its far-left to its near-right corner.
|
|
81
|
+
int lastPoint = int(uGrassGrid.x);
|
|
82
|
+
vec2 point = (bladeRoot.xz + uGrassGrid.z) / uGrassGrid.y;
|
|
83
|
+
ivec2 corner = clamp(ivec2(floor(point)), ivec2(0), ivec2(lastPoint - 1));
|
|
84
|
+
vec2 inside = clamp(point - vec2(corner), 0.0, 1.0);
|
|
85
|
+
float nearLeft = texelFetch(uGrassHeights, corner, 0).r;
|
|
86
|
+
float nearRight = texelFetch(uGrassHeights, corner + ivec2(1, 0), 0).r;
|
|
87
|
+
float farLeft = texelFetch(uGrassHeights, corner + ivec2(0, 1), 0).r;
|
|
88
|
+
float farRight = texelFetch(uGrassHeights, corner + ivec2(1, 1), 0).r;
|
|
89
|
+
vec2 rise;
|
|
90
|
+
if (inside.x + inside.y <= 1.0) {
|
|
91
|
+
rise = vec2(nearRight - nearLeft, farLeft - nearLeft);
|
|
92
|
+
bladeRoot.y = nearLeft + dot(inside, rise);
|
|
93
|
+
} else {
|
|
94
|
+
rise = vec2(farRight - farLeft, farRight - nearRight);
|
|
95
|
+
bladeRoot.y = farRight - dot(1.0 - inside, rise);
|
|
96
|
+
}
|
|
97
|
+
float groundUp = inversesqrt(1.0 + dot(rise, rise) / (uGrassGrid.y * uGrassGrid.y));
|
|
98
|
+
|
|
99
|
+
// The cover, weighed across the four cells around the root from one
|
|
100
|
+
// cell's middle to the next's, as the ground weighs its materials.
|
|
101
|
+
vec2 cellAt = (bladeRoot.xz + uGrassGrid.z) / uGrassGrid.y - 0.5;
|
|
102
|
+
vec2 cellInside = fract(cellAt);
|
|
103
|
+
ivec2 cellCorner = ivec2(floor(cellAt));
|
|
104
|
+
ivec2 lastCell = ivec2(lastPoint - 1);
|
|
105
|
+
ivec2 cell00 = clamp(cellCorner, ivec2(0), lastCell);
|
|
106
|
+
ivec2 cell10 = clamp(cellCorner + ivec2(1, 0), ivec2(0), lastCell);
|
|
107
|
+
ivec2 cell01 = clamp(cellCorner + ivec2(0, 1), ivec2(0), lastCell);
|
|
108
|
+
ivec2 cell11 = clamp(cellCorner + ivec2(1, 1), ivec2(0), lastCell);
|
|
109
|
+
vec4 cover00 = texelFetch(uGrassCover, cell00, 0);
|
|
110
|
+
vec4 cover10 = texelFetch(uGrassCover, cell10, 0);
|
|
111
|
+
vec4 cover01 = texelFetch(uGrassCover, cell01, 0);
|
|
112
|
+
vec4 cover11 = texelFetch(uGrassCover, cell11, 0);
|
|
113
|
+
vec4 cover = mix(mix(cover00, cover10, cellInside.x), mix(cover01, cover11, cellInside.x), cellInside.y);
|
|
114
|
+
vec4 colourAndSway = mix(
|
|
115
|
+
mix(texelFetch(uGrassColours, cell00, 0), texelFetch(uGrassColours, cell10, 0), cellInside.x),
|
|
116
|
+
mix(texelFetch(uGrassColours, cell01, 0), texelFetch(uGrassColours, cell11, 0), cellInside.x),
|
|
117
|
+
cellInside.y
|
|
118
|
+
);
|
|
119
|
+
vec3 bladeColour = colourAndSway.rgb;
|
|
120
|
+
// The pop is the root's own cell's, so a cell's blades rise together.
|
|
121
|
+
float popStart = cellInside.x < 0.5
|
|
122
|
+
? (cellInside.y < 0.5 ? cover00.w : cover01.w)
|
|
123
|
+
: (cellInside.y < 0.5 ? cover10.w : cover11.w);
|
|
124
|
+
float coverShare = cover.x;
|
|
125
|
+
float onMap = step(abs(bladeRoot.x), uGrassGrid.z) * step(abs(bladeRoot.z), uGrassGrid.z);
|
|
126
|
+
|
|
127
|
+
float bladeSeed = grassHash(bladeRoot.xz * 17.13);
|
|
128
|
+
float bladeSize = grassHash(bladeRoot.xz * 9.71 + 3.1);
|
|
129
|
+
float bladeLean = grassHash(bladeRoot.xz * 5.3 + 7.7);
|
|
130
|
+
|
|
131
|
+
// Thinned with distance and by the cover's density: the pattern holds
|
|
132
|
+
// twice a density of 1, so a blade ranked past the share kept here shrinks
|
|
133
|
+
// away rather than popping. The distance is the eye's, so a camera high
|
|
134
|
+
// over the map draws none.
|
|
135
|
+
float bladeDistance = distance(bladeRoot, cameraPosition);
|
|
136
|
+
float keptShare = (1.0 - smoothstep(uGrassFade.x, uGrassFade.y, bladeDistance)) * cover.y * 0.5;
|
|
137
|
+
float kept = 1.0 - smoothstep(keptShare - 0.03, keptShare, bladeRank);
|
|
138
|
+
// Low right under the camera, where a blade would fill the screen.
|
|
139
|
+
kept *= mix(0.35, 1.0, smoothstep(1.5, 4.5, length(bladeRoot.xz - cameraPosition.xz)));
|
|
140
|
+
|
|
141
|
+
float tall = grassFractal(bladeRoot.xz * 0.35 + 11.0);
|
|
142
|
+
float bladeHeight = cover.z * mix(0.5, 1.3, tall) * (0.65 + bladeSize * 0.7);
|
|
143
|
+
${e?.shape??``}
|
|
144
|
+
bladeHeight *= smoothstep(0.05, 0.6, coverShare) * kept * onMap
|
|
145
|
+
* max(popGrass(uTime - popStart - bladeSeed * ${(100/1e3).toFixed(3)}), 0.001);
|
|
146
|
+
// Far blades are wider, so a thinner field still covers the ground.
|
|
147
|
+
float bladeWidth = cover.z * uGrassWidth * (0.75 + bladeLean * 0.5)
|
|
148
|
+
* mix(1.0, 2.4, smoothstep(uGrassFade.x, uGrassFade.y, bladeDistance));
|
|
149
|
+
|
|
150
|
+
// Bent low and pushed aside round a character.
|
|
151
|
+
float pressed = 0.0;
|
|
152
|
+
vec2 pushed = vec2(0.0);
|
|
153
|
+
for (int character = 0; character < 4; character++) {
|
|
154
|
+
vec4 trample = uGrassTrample[character];
|
|
155
|
+
vec2 away = bladeRoot.xz - trample.xy;
|
|
156
|
+
float press = (1.0 - smoothstep(trample.z * 0.6, trample.z, length(away))) * trample.w;
|
|
157
|
+
pressed = max(pressed, press);
|
|
158
|
+
pushed += normalize(away + 0.0001) * press;
|
|
159
|
+
}
|
|
160
|
+
bladeHeight *= 1.0 - pressed * 0.4;
|
|
161
|
+
|
|
162
|
+
float along = blade.y;
|
|
163
|
+
float yaw = bladeSeed * 6.2832;
|
|
164
|
+
vec2 facing = vec2(cos(yaw), sin(yaw));
|
|
165
|
+
vec2 across = vec2(-facing.y, facing.x);
|
|
166
|
+
|
|
167
|
+
vec2 bend = facing * (0.15 + bladeLean * 0.35) + pushed * 1.5;
|
|
168
|
+
|
|
169
|
+
// The wind: a slow sway along the map, gusts that roll across it, and a
|
|
170
|
+
// flutter of each blade's own. Skipped where the grass stands still.
|
|
171
|
+
float swayWeight = uGrassSway * colourAndSway.a;
|
|
172
|
+
if (swayWeight > 0.0) {
|
|
173
|
+
vec2 windDirection = normalize(vec2(1.0, 0.35));
|
|
174
|
+
float gust = grassNoise(bladeRoot.xz * 0.07 - windDirection * uGrassWind * 0.8);
|
|
175
|
+
float sway = sin(uGrassWind * 1.6 + dot(bladeRoot.xz, windDirection) * 0.55 + bladeSize * 2.0) * 0.3
|
|
176
|
+
+ gust * 0.9;
|
|
177
|
+
float flutter = sin(uGrassWind * 5.1 + bladeLean * 6.2832) * 0.07;
|
|
178
|
+
bend += (windDirection * sway * 0.55 + across * flutter) * swayWeight;
|
|
179
|
+
}
|
|
180
|
+
float curve = along * along;
|
|
181
|
+
|
|
182
|
+
vec3 bladePosition = bladeRoot;
|
|
183
|
+
bladePosition.xz += across * blade.x * bladeWidth * (1.0 - along) + bend * curve * bladeHeight;
|
|
184
|
+
bladePosition.y += along * bladeHeight * (1.0 - 0.25 * curve * dot(bend, bend));
|
|
185
|
+
|
|
186
|
+
// Mostly up, so the field takes the light as the ground does, with the
|
|
187
|
+
// blade's own face and its curl across it.
|
|
188
|
+
vec3 objectNormal = normalize(
|
|
189
|
+
vec3(facing.x, 0.0, facing.y) * 0.35 + vec3(across.x, 0.0, across.y) * blade.x * 0.2
|
|
190
|
+
+ vec3(0.0, 1.0, 0.0)
|
|
191
|
+
);
|
|
192
|
+
|
|
193
|
+
// Dark at the root, where the blades shade each other, to the cover's
|
|
194
|
+
// colour, lighter and warmer at the tip.
|
|
195
|
+
vec3 tipColour = bladeColour * vec3(1.3, 1.45, 1.1) + vec3(0.012, 0.012, 0.0) * bladeSize;
|
|
196
|
+
vGrassColour = mix(bladeColour * 0.3, tipColour, pow(along, 0.8));
|
|
197
|
+
`}var xr=`
|
|
198
|
+
vec3 transformed = bladePosition - vec3(modelMatrix[3].x, 0.0, modelMatrix[3].z);
|
|
199
|
+
`,Sr=`
|
|
200
|
+
varying vec3 vGrassColour;
|
|
201
|
+
`,Cr=.45,wr=.15;function Tr(e){return!e||e.isGrounded?1:Math.max(0,1-e.airSeconds/wr)}var Z=4,Er=.03/.32,Dr=3.5,Q=new WeakMap;function Or(e,t,n){Q.get(e)?.cover(t,n)}function kr(e,t,n){Q.get(e)?.heights(t,n)}function Ar(){let e=[];for(let t=0;t<Z;t++)e.push(-1,t/Z,1,t/Z);e.push(0,1);let t=[];for(let e=0;e<3;e++){let n=e*2;t.push(n,n+1,n+2,n+1,n+3,n+2)}return t.push(6,7,8),{blade:new n(new Float32Array(e),2),placeholder:new n(new Float32Array(e.length/2*3),3),index:new n(new Uint16Array(t),1)}}function jr(e){return{uTime:{value:0},uGrassWind:{value:0},uGrassSway:{value:0},uGrassFade:{value:new a},uGrassWidth:{value:Er},uGrassGrid:{value:new f},uGrassHeights:{value:e.heights},uGrassCover:{value:e.cover},uGrassColours:{value:e.colours},uGrassTrample:{value:[0,1,2,3].map(()=>new ee(1e4,1e4,1,0))}}}function Mr(e,t,n){let r=new x({roughness:.75,metalness:0,side:2}),i=yr(n),a=br(n);return r.onBeforeCompile=n=>{Object.assign(n.uniforms,e,t),n.vertexShader=n.vertexShader.replace(`#include <common>`,`#include <common>\n${i}`).replace(`#include <beginnormal_vertex>`,a).replace(`#include <begin_vertex>`,xr),n.fragmentShader=n.fragmentShader.replace(`#include <common>`,`#include <common>\n${Sr}`).replace(`#include <color_fragment>`,`#include <color_fragment>
|
|
202
|
+
diffuseColor.rgb = vGrassColour;`).replace(`#include <normal_fragment_begin>`,`#include <normal_fragment_begin>
|
|
203
|
+
normal = normalize(vNormal);`)},r.customProgramCacheKey=()=>i+a,r}function Nr(){let e=performance.now();return()=>(performance.now()-e)/1e3}function Pr({entity:e,shader:t}){try{let n=tt(e,fe),r=$e(),i=gn(He.Grass);return!n||r.share<=0||!i?null:(0,L.jsx)(Fr,{surface:n.surface,draw:r,shader:t})}catch(e){throw T(`GrassView`,e)}}function Fr({surface:e,draw:t,shader:n}){try{let a=et(),o=(0,I.useSyncExternalStore)(Je,Le),[s]=(0,I.useState)(Nr),{size:c,cell:l}=e,u=(0,I.useMemo)(()=>lr({size:c,cell:l}),[c,l]);(0,I.useEffect)(()=>()=>mr(u),[u]);let f=(0,I.useMemo)(()=>jr(u),[u]),p=Object.keys(n?.uniforms??{}).join(` `),{material:h,own:_}=(0,I.useMemo)(()=>{let e={};return{own:e,material:Mr(f,e,n)}},[f,n?.functions,n?.shape,p]);(0,I.useLayoutEffect)(()=>{for(let[e,t]of Object.entries(n?.uniforms??{}))(_[e]??={value:t}).value=t}),(0,I.useEffect)(()=>()=>h.dispose(),[h]);let v=(0,I.useRef)(null),y=(0,I.useRef)(null);(0,I.useLayoutEffect)(()=>{dr(u,{base:e.baseHeights,offsets:e.offsets});let t=ir(e);v.current=t;let{reducedMotion:n}=rt.getState(),r=y.current===u&&!(n??nt());pr(u,t,{now:r?s():null}),y.current=u,f.uGrassGrid.value.set(u.cells,l,c/2)},[u,e,o,f,l,c,s]),(0,I.useEffect)(()=>{let t=B(e),n=k(e.map),r=new Map,i=e=>{let t=r.get(e);return t||([t]=H([e],n),r.set(e,t)),t};return Q.set(e,{cover:(n,r)=>{let a=v.current;if(!a)return;if(!n||!r){v.current=ir(e,t),pr(u,v.current,{now:null});return}n.forEach((e,n)=>{let o=r[n],s=i(o.paint??t.names[t.ruled[e]]);tr(a,e,{base:s,overlay:o.overlay===null?s:i(o.overlay),blend:o.overlay===null?0:o.blend??0,multiplier:o.scatter?.tuft??1})});let{reducedMotion:o}=rt.getState();pr(u,a,{indices:n,now:o??nt()?null:s()})},heights:(e,t)=>dr(u,e,t)}),()=>{Q.delete(e)}},[e,u,o,s]);let b=(0,I.useMemo)(()=>{let e=new r(sr(t.share),3),n=Ar(),a=Math.ceil(2*t.far/6)+2,o=new g;return o.name=`grass`,{group:o,meshes:Array.from({length:a*a},()=>{let t=new m;t.setIndex(n.index),t.setAttribute(`position`,n.placeholder),t.setAttribute(`normal`,n.placeholder),t.setAttribute(`blade`,n.blade),t.setAttribute(`pattern`,e),t.instanceCount=0;let r=new i;t.boundingSphere=r;let a=new d(t,h);return a.name=`grass patch`,a.receiveShadow=!0,a.visible=!1,a.raycast=()=>void 0,o.add(a),{mesh:a,geometry:t,bounds:r}}),blades:e.count}},[t.share,t.far,h]);(0,I.useEffect)(()=>()=>{for(let{geometry:e}of b.meshes)e.dispose()},[b]);let[x]=(0,I.useState)(()=>({distance:0,density:0,draw:t,blades:0}));return te(ge(`GrassPatches`,(e,n)=>{let{camera:r}=e;f.uTime.value=s(),f.uGrassWind.value+=z(e,n),f.uGrassSway.value=+!!it(rt.getState(),t),f.uGrassFade.value.set(t.near,t.far);let i=f.uGrassTrample.value,o=0;for(let e of a.query(pe,le)){let t=e.get(le)?.position;t&&o!==i.length&&i[o++].set(t.x,t.z,Cr,Tr(e.get(se)))}for(;o<i.length;o++)i[o].set(1e4,1e4,1,0);let{patches:l,patchDensity:d,patchHeights:p}=u,m=c/2,{x:h,y:g,z:_}=r.position,v=(e,t)=>Math.min(Math.max(Math.floor((e+t+m)/6),0),l-1);x.draw=t,x.blades=b.blades;let y=0;for(let e=v(_,-t.far);e<=v(_,t.far);e++)for(let n=v(h,-t.far);n<=v(h,t.far);n++){let t=e*l+n;if(d[t]<=0||y===b.meshes.length)continue;let r=n*6-m,i=e*6-m;x.distance=Math.hypot(Math.max(r-h,0,h-r-6),Math.max(i-_,0,_-i-6),Math.max(p[t*2]-g,0,g-p[t*2+1])),x.density=d[t];let a=cr(x);if(a===0)continue;let{mesh:o,geometry:s,bounds:c}=b.meshes[y++],u=p[t*2],f=p[t*2+1];o.position.set(r,0,i),s.instanceCount=a,c.center.set(3,(u+f+Dr)/2,3),c.radius=Math.hypot(6*Math.SQRT1_2,(f-u+Dr)/2),o.visible=!0}for(let e=y;e<b.meshes.length;e++)b.meshes[e].mesh.visible=!1})),(0,L.jsx)(`primitive`,{object:b.group})}catch(e){throw T(`GrassPatches`,e)}}var Ir=[20,35],Lr=.25,Rr=.5,$=256;function zr(){let e=[4,8,16,32],t=[.5,.26,.15,.09],n=(e,t)=>{let n=Math.sin(e*127.1+t*311.7)*43758.5453;return n-Math.floor(n)},r=(e,t,r,i)=>n((e%r+r)%r+i*17.3,(t%r+r)%r+i*31.9),i=e=>e*e*(3-2*e),a=(e,t,n,a)=>{let o=Math.floor(e),s=Math.floor(t),c=i(e-o),l=i(t-s),u=r(o,s,n,a),d=r(o+1,s,n,a),f=r(o,s+1,n,a),p=r(o+1,s+1,n,a);return u+(d-u)*c+(f-u)*l+(u-d-f+p)*c*l},s=[new Float32Array($**2),new Float32Array($**2)];s.forEach((n,r)=>{for(let i=0;i<$;i++)for(let o=0;o<$;o++){let s=0;e.forEach((e,n)=>{s+=t[n]*a(o/$*e,i/$*e,e,n+1+r*10)}),n[i*$+o]=s}let i=1/0,o=-1/0;for(let e of n)i=Math.min(i,e),o=Math.max(o,e);for(let e=0;e<n.length;e++)n[e]=(n[e]-i)/(o-i)});let l=new Uint8Array($**2*4);for(let e=0;e<$**2;e++)l.set([s[0][e]*255,s[1][e]*255,0,255],e*4);let d=new u(l,$,$,C);return d.wrapS=d.wrapT=y,d.magFilter=c,d.minFilter=o,d.generateMipmaps=!0,d.needsUpdate=!0,d}function Br(e,t,n,r){let i=(e,t)=>{let i=new s(e,n,n,r);return i.format=C,i.type=l,i.colorSpace=t?p:``,i.wrapS=i.wrapT=y,i.magFilter=c,i.minFilter=n>1?o:_,i.generateMipmaps=n>1,i.anisotropy=4,i.needsUpdate=!0,i};return{colour:i(e,!0),detail:i(t,!1)}}function Vr(e){let t=new u(new Uint8Array(e*e*4),e,e,C);return t.magFilter=t.minFilter=_,t.generateMipmaps=!1,t}function Hr(e,t,n,r,i){e[t*4]=n,e[t*4+1]=r,e[t*4+2]=Math.round(i*255),e[t*4+3]=255}var Ur=`
|
|
204
|
+
varying vec3 vGroundPosition;
|
|
205
|
+
varying vec3 vGroundNormal;
|
|
206
|
+
`,Wr=`
|
|
207
|
+
vGroundPosition = (modelMatrix * vec4(transformed, 1.0)).xyz;
|
|
208
|
+
vGroundNormal = normalize(mat3(modelMatrix) * objectNormal);
|
|
209
|
+
`,Gr=`
|
|
210
|
+
varying vec3 vGroundPosition;
|
|
211
|
+
varying vec3 vGroundNormal;
|
|
212
|
+
uniform highp sampler2D uGroundControl;
|
|
213
|
+
uniform highp sampler2DArray uGroundColour;
|
|
214
|
+
uniform highp sampler2DArray uGroundDetail;
|
|
215
|
+
uniform sampler2D uGroundNoise;
|
|
216
|
+
// cells a side, metres a cell, half the map's size
|
|
217
|
+
uniform vec3 uGroundGrid;
|
|
218
|
+
// One row per layer, read by texelFetch rather than from uniform arrays,
|
|
219
|
+
// which ANGLE copies whole on every read by a varying index. Its columns:
|
|
220
|
+
// 1 / tile, sharpness, bumps and roughness; hex tiling, wet, turned per
|
|
221
|
+
// cell and metres between grid lines; scroll along x and z, frames and
|
|
222
|
+
// seconds a frame; the tint.
|
|
223
|
+
uniform highp sampler2D uGroundLayers;
|
|
224
|
+
uniform float uGroundTime;
|
|
225
|
+
uniform vec2 uGroundFade;
|
|
226
|
+
|
|
227
|
+
float groundRoughness = 0.9;
|
|
228
|
+
|
|
229
|
+
vec4 layerGround(int id, int column) {
|
|
230
|
+
return texelFetch(uGroundLayers, ivec2(column, id), 0);
|
|
231
|
+
}
|
|
232
|
+
vec3 groundTangentNormal = vec3(0.0, 0.0, 1.0);
|
|
233
|
+
|
|
234
|
+
vec2 hashGround(vec2 point) {
|
|
235
|
+
vec3 mixed = fract(point.xyx * vec3(0.1031, 0.1030, 0.0973));
|
|
236
|
+
mixed += dot(mixed, mixed.yzx + 33.33);
|
|
237
|
+
return fract((mixed.xx + mixed.yz) * mixed.zy);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
void readLayer(float layer, vec2 uv, vec2 dx, vec2 dy, out vec3 colour, out vec3 detail) {
|
|
241
|
+
colour = textureGrad(uGroundColour, vec3(uv, layer), dx, dy).rgb;
|
|
242
|
+
detail = textureGrad(uGroundDetail, vec3(uv, layer), dx, dy).rgb;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
// Hex tiling after Mikkelsen (JCGT 2022): three reads offset on a
|
|
246
|
+
// triangle grid, weighted toward the brighter, for a texture whose repeat
|
|
247
|
+
// shows.
|
|
248
|
+
void readTiled(int id, float layer, vec2 uv, vec2 dx, vec2 dy, out vec3 colour, out vec3 detail) {
|
|
249
|
+
#ifndef GROUND_HEX
|
|
250
|
+
readLayer(layer, uv, dx, dy, colour, detail);
|
|
251
|
+
}
|
|
252
|
+
#else
|
|
253
|
+
if (layerGround(id, 1).x < 0.5) {
|
|
254
|
+
readLayer(layer, uv, dx, dy, colour, detail);
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
vec2 skewed = vec2(uv.x * 2.0 - 0.57735027 * uv.y * 2.0, 1.15470054 * uv.y * 2.0);
|
|
258
|
+
vec2 corner = floor(skewed);
|
|
259
|
+
vec2 inside = fract(skewed);
|
|
260
|
+
float z = 1.0 - inside.x - inside.y;
|
|
261
|
+
float s = step(0.0, -z);
|
|
262
|
+
float sign2 = 2.0 * s - 1.0;
|
|
263
|
+
vec3 w = vec3(-z * sign2, s - inside.y * sign2, s - inside.x * sign2);
|
|
264
|
+
vec3 c1; vec3 c2; vec3 c3; vec3 d1; vec3 d2; vec3 d3;
|
|
265
|
+
readLayer(layer, uv + hashGround(corner + vec2(s, s)), dx, dy, c1, d1);
|
|
266
|
+
readLayer(layer, uv + hashGround(corner + vec2(s, 1.0 - s)), dx, dy, c2, d2);
|
|
267
|
+
readLayer(layer, uv + hashGround(corner + vec2(1.0 - s, s)), dx, dy, c3, d3);
|
|
268
|
+
vec3 bright = mix(vec3(1.0), vec3(d1.b, d2.b, d3.b), 0.6);
|
|
269
|
+
vec3 weights = bright * pow(max(w, vec3(0.0)), vec3(7.0));
|
|
270
|
+
weights /= max(weights.x + weights.y + weights.z, 1e-5);
|
|
271
|
+
colour = weights.x * c1 + weights.y * c2 + weights.z * c3;
|
|
272
|
+
detail = weights.x * d1 + weights.y * d2 + weights.z * d3;
|
|
273
|
+
}
|
|
274
|
+
#endif
|
|
275
|
+
|
|
276
|
+
// A layer as one cell lays it: turned by the cell's own angle, moved by
|
|
277
|
+
// its animation where the camera is near, and tinted. slope is the normal's
|
|
278
|
+
// tilt turned back into the ground's frame. An animated layer keeps its
|
|
279
|
+
// angle, so everything it moves moves one way.
|
|
280
|
+
void tapGround(int id, vec2 cell, vec2 at, vec2 dx, vec2 dy, float fade,
|
|
281
|
+
out vec3 colour, out vec2 slope, out float height) {
|
|
282
|
+
vec4 layer = layerGround(id, 0);
|
|
283
|
+
vec4 flags = layerGround(id, 1);
|
|
284
|
+
float index = float(id);
|
|
285
|
+
#ifdef GROUND_MOTION
|
|
286
|
+
vec4 motion = layerGround(id, 2);
|
|
287
|
+
vec2 scroll = motion.xy;
|
|
288
|
+
float frames = motion.z;
|
|
289
|
+
bool moves = frames > 1.0 || dot(scroll, scroll) > 0.0;
|
|
290
|
+
#else
|
|
291
|
+
bool moves = false;
|
|
292
|
+
#endif
|
|
293
|
+
#ifdef GROUND_TURN
|
|
294
|
+
vec2 turn = moves || flags.z < 0.5 ? vec2(0.0) : hashGround(cell + 11.7);
|
|
295
|
+
#else
|
|
296
|
+
vec2 turn = vec2(0.0);
|
|
297
|
+
#endif
|
|
298
|
+
float angle = turn.x * 6.2831853;
|
|
299
|
+
mat2 rotation = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));
|
|
300
|
+
vec2 still = rotation * (at * layer.x) + turn * 17.0;
|
|
301
|
+
vec2 gx = rotation * dx * layer.x;
|
|
302
|
+
vec2 gy = rotation * dy * layer.x;
|
|
303
|
+
vec3 detail;
|
|
304
|
+
#ifdef GROUND_MOTION
|
|
305
|
+
vec2 moving = still + scroll * uGroundTime;
|
|
306
|
+
if (frames > 1.0) {
|
|
307
|
+
// Frames stacked down the texture, the first at its top: each
|
|
308
|
+
// takes a band of v.
|
|
309
|
+
float frame = mod(floor(uGroundTime / motion.w), frames);
|
|
310
|
+
still.y = (fract(still.y) + frames - 1.0) / frames;
|
|
311
|
+
moving.y = (fract(moving.y) + frames - 1.0 - frame) / frames;
|
|
312
|
+
gx.y /= frames;
|
|
313
|
+
gy.y /= frames;
|
|
314
|
+
}
|
|
315
|
+
if (moves && fade > 0.0) {
|
|
316
|
+
readTiled(id, index, moving, gx, gy, colour, detail);
|
|
317
|
+
if (fade < 1.0) {
|
|
318
|
+
vec3 stillColour; vec3 stillDetail;
|
|
319
|
+
readTiled(id, index, still, gx, gy, stillColour, stillDetail);
|
|
320
|
+
colour = mix(stillColour, colour, fade);
|
|
321
|
+
detail = mix(stillDetail, detail, fade);
|
|
322
|
+
}
|
|
323
|
+
} else {
|
|
324
|
+
readTiled(id, index, still, gx, gy, colour, detail);
|
|
325
|
+
}
|
|
326
|
+
#else
|
|
327
|
+
readTiled(id, index, still, gx, gy, colour, detail);
|
|
328
|
+
#endif
|
|
329
|
+
colour *= layerGround(id, 3).rgb;
|
|
330
|
+
#ifdef GROUND_LINES
|
|
331
|
+
if (flags.w > 0.0) {
|
|
332
|
+
// A line a pixel wide at each multiple of the spacing, fading out
|
|
333
|
+
// where the lines crowd closer than a few pixels and would shimmer.
|
|
334
|
+
vec2 lines = at / flags.w;
|
|
335
|
+
vec2 pixel = max((abs(dx) + abs(dy)) / flags.w, vec2(1e-5));
|
|
336
|
+
vec2 off = abs(fract(lines + 0.5) - 0.5) / pixel;
|
|
337
|
+
float line = 1.0 - min(min(off.x, off.y), 1.0);
|
|
338
|
+
colour *= 1.0 - 0.45 * line * (1.0 - smoothstep(0.1, 0.4, max(pixel.x, pixel.y)));
|
|
339
|
+
}
|
|
340
|
+
#endif
|
|
341
|
+
slope = ((detail.rg * 2.0 - 1.0) * layer.z) * rotation;
|
|
342
|
+
height = detail.b;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
vec4 cellGround(vec2 cell) {
|
|
346
|
+
return texelFetch(uGroundControl, ivec2(clamp(cell, vec2(0.0), vec2(uGroundGrid.x - 1.0))), 0);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
// Rain rings on a wet material: four layers of rings at offset times.
|
|
350
|
+
vec2 rippleGround(vec2 at, float time) {
|
|
351
|
+
vec2 gradient = vec2(0.0);
|
|
352
|
+
for (int ring = 0; ring < 4; ring++) {
|
|
353
|
+
float offset = float(ring);
|
|
354
|
+
vec2 q = at * 0.9 + vec2(offset * 0.37, offset * 0.71);
|
|
355
|
+
vec2 cell = floor(q);
|
|
356
|
+
vec2 centre = 0.3 + 0.4 * hashGround(cell + offset * 7.1 + 3.0);
|
|
357
|
+
float life = fract(time * 0.8 + hashGround(cell + offset * 19.3).x + offset * 0.25);
|
|
358
|
+
vec2 away = q - cell - centre;
|
|
359
|
+
float distance = length(away) + 1e-4;
|
|
360
|
+
float front = distance - life * 0.3;
|
|
361
|
+
float envelope = (1.0 - life) * (1.0 - life) * exp(-front * front * 500.0);
|
|
362
|
+
gradient += (away / distance) * (-sin(front * 40.0) * 40.0 * envelope) * 0.06;
|
|
363
|
+
}
|
|
364
|
+
return gradient;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
vec3 paintGround(vec3 world) {
|
|
368
|
+
vec2 at = vec2(world.x, -world.z);
|
|
369
|
+
vec2 dx = dFdx(at);
|
|
370
|
+
vec2 dy = dFdy(at);
|
|
371
|
+
float fade = 1.0 - smoothstep(uGroundFade.x, uGroundFade.y, distance(cameraPosition, world));
|
|
372
|
+
// The cell grid, bent by noise so no seam runs straight.
|
|
373
|
+
#ifdef GROUND_DETAIL
|
|
374
|
+
vec2 bend = (texture(uGroundNoise, world.xz * 0.11).rg - 0.5) * 0.7;
|
|
375
|
+
#else
|
|
376
|
+
vec2 bend = vec2(0.0);
|
|
377
|
+
#endif
|
|
378
|
+
vec2 grid = (world.xz + uGroundGrid.z) / uGroundGrid.y + bend - 0.5;
|
|
379
|
+
vec2 first = floor(grid);
|
|
380
|
+
// Bilinear across the whole cell, so a material's share runs smoothly
|
|
381
|
+
// from one cell's middle to the next's rather than stepping at the edge.
|
|
382
|
+
vec2 part = grid - first;
|
|
383
|
+
// A material's texture keeps its own cell's angle away from the edge.
|
|
384
|
+
vec2 turnPart = smoothstep(0.5 - ${Lr}, 0.5 + ${Lr}, part);
|
|
385
|
+
vec3 colour = vec3(0.0);
|
|
386
|
+
vec2 slope = vec2(0.0);
|
|
387
|
+
float roughness = 0.0;
|
|
388
|
+
float wet = 0.0;
|
|
389
|
+
float total = 0.0;
|
|
390
|
+
// The four cells alike, with no overlay: the path most of a map's
|
|
391
|
+
// pixels take. A material that keeps its angle takes one sample; one
|
|
392
|
+
// that turns takes a sample at each cell's angle where the band mixes
|
|
393
|
+
// them, and one in a cell's middle.
|
|
394
|
+
vec4 own = cellGround(first);
|
|
395
|
+
int ownId = int(own.r * 255.0 + 0.5);
|
|
396
|
+
bool alike = own.b < 0.004 &&
|
|
397
|
+
own.rgb == cellGround(first + vec2(1.0, 0.0)).rgb &&
|
|
398
|
+
own.rgb == cellGround(first + vec2(0.0, 1.0)).rgb &&
|
|
399
|
+
own.rgb == cellGround(first + vec2(1.0, 1.0)).rgb;
|
|
400
|
+
if (alike) {
|
|
401
|
+
float height;
|
|
402
|
+
#ifdef GROUND_TURN
|
|
403
|
+
if (layerGround(ownId, 1).z > 0.5) {
|
|
404
|
+
float sharpness = layerGround(ownId, 0).y;
|
|
405
|
+
for (int corner = 0; corner < 4; corner++) {
|
|
406
|
+
vec2 step2 = vec2(float(corner - (corner / 2) * 2), float(corner / 2));
|
|
407
|
+
vec2 turns2 = mix(1.0 - turnPart, turnPart, step2);
|
|
408
|
+
float band = turns2.x * turns2.y;
|
|
409
|
+
if (band <= 0.0) continue;
|
|
410
|
+
vec3 tapped;
|
|
411
|
+
vec2 tilt;
|
|
412
|
+
tapGround(ownId, first + step2, at, dx, dy, fade, tapped, tilt, height);
|
|
413
|
+
// Terrain3D's weight, so the taller of two angles shows.
|
|
414
|
+
float weight = band * exp2(sharpness * log2(band + 1.0 + height));
|
|
415
|
+
colour += tapped * weight;
|
|
416
|
+
slope += tilt * weight;
|
|
417
|
+
total += weight;
|
|
418
|
+
}
|
|
419
|
+
} else
|
|
420
|
+
#endif
|
|
421
|
+
{
|
|
422
|
+
tapGround(ownId, first, at, dx, dy, fade, colour, slope, height);
|
|
423
|
+
total = 1.0;
|
|
424
|
+
}
|
|
425
|
+
roughness = layerGround(ownId, 0).w * total;
|
|
426
|
+
wet = layerGround(ownId, 1).y * total;
|
|
427
|
+
} else {
|
|
428
|
+
// The four cells around the pixel, each with its bilinear share and
|
|
429
|
+
// its share within the band where a texture's angle turns. The loops
|
|
430
|
+
// run a fixed count, so the compiler unrolls them and the arrays stay
|
|
431
|
+
// in registers.
|
|
432
|
+
vec4 controls[4];
|
|
433
|
+
float linear[4];
|
|
434
|
+
float turning[4];
|
|
435
|
+
for (int corner = 0; corner < 4; corner++) {
|
|
436
|
+
vec2 step2 = vec2(float(corner - (corner / 2) * 2), float(corner / 2));
|
|
437
|
+
vec2 weights2 = mix(1.0 - part, part, step2);
|
|
438
|
+
vec2 turns2 = mix(1.0 - turnPart, turnPart, step2);
|
|
439
|
+
controls[corner] = cellGround(first + step2);
|
|
440
|
+
linear[corner] = weights2.x * weights2.y;
|
|
441
|
+
turning[corner] = turns2.x * turns2.y;
|
|
442
|
+
}
|
|
443
|
+
// Each entry, a cell's base or its overlay, tapped where it shows:
|
|
444
|
+
// at each cell's angle mixed over the band, or once for a material
|
|
445
|
+
// that keeps its angle, which reads alike in every cell.
|
|
446
|
+
vec3 colours[8];
|
|
447
|
+
vec2 tilts[8];
|
|
448
|
+
float heights[8];
|
|
449
|
+
float weights[8];
|
|
450
|
+
float peak = 0.0;
|
|
451
|
+
for (int entry = 0; entry < 8; entry++) {
|
|
452
|
+
weights[entry] = 0.0;
|
|
453
|
+
int corner = entry / 2;
|
|
454
|
+
int side = entry - corner * 2;
|
|
455
|
+
vec4 control = controls[corner];
|
|
456
|
+
float own = side == 0 ? 1.0 - control.b : control.b;
|
|
457
|
+
int id = int((side == 0 ? control.r : control.g) * 255.0 + 0.5);
|
|
458
|
+
// The material's share here: the four cells' shares of it,
|
|
459
|
+
// interpolated, and the same within the band.
|
|
460
|
+
float material = 0.0;
|
|
461
|
+
float band = 0.0;
|
|
462
|
+
bool repeat = false;
|
|
463
|
+
for (int other = 0; other < 8; other++) {
|
|
464
|
+
vec4 cell = controls[other / 2];
|
|
465
|
+
bool base = other - (other / 2) * 2 == 0;
|
|
466
|
+
if (int((base ? cell.r : cell.g) * 255.0 + 0.5) != id) continue;
|
|
467
|
+
float share = base ? 1.0 - cell.b : cell.b;
|
|
468
|
+
material += linear[other / 2] * share;
|
|
469
|
+
band += turning[other / 2] * share;
|
|
470
|
+
if (other < entry && share >= 0.004) repeat = true;
|
|
471
|
+
}
|
|
472
|
+
if (own < 0.004 || material < 0.004) continue;
|
|
473
|
+
#ifdef GROUND_TURN
|
|
474
|
+
bool turns = layerGround(id, 1).z > 0.5;
|
|
475
|
+
#else
|
|
476
|
+
bool turns = false;
|
|
477
|
+
#endif
|
|
478
|
+
// Outside the band a material reads at one cell's angle alone.
|
|
479
|
+
float within = turns && band > 0.0 ? turning[corner] * own / band
|
|
480
|
+
: repeat ? 0.0 : 1.0;
|
|
481
|
+
if (within <= 0.0) continue;
|
|
482
|
+
float height;
|
|
483
|
+
tapGround(id, first + vec2(float(corner - (corner / 2) * 2), float(corner / 2)) + float(side) * 0.37,
|
|
484
|
+
at, dx, dy, fade, colours[entry], tilts[entry], height);
|
|
485
|
+
heights[entry] = material * ${Rr} + height;
|
|
486
|
+
weights[entry] = within * material;
|
|
487
|
+
peak = max(peak, heights[entry]);
|
|
488
|
+
}
|
|
489
|
+
// A height blend over the interpolated shares: each material's share
|
|
490
|
+
// plus its height, against the highest, with its sharpness as the
|
|
491
|
+
// falloff. Materials level with each other mix by their shares, so a
|
|
492
|
+
// 40% overlay reads as a soft patch rather than a checker of cells;
|
|
493
|
+
// one that stands higher takes over, so where two meet the line runs
|
|
494
|
+
// smooth and the taller texture shows.
|
|
495
|
+
for (int entry = 0; entry < 8; entry++) {
|
|
496
|
+
if (weights[entry] <= 0.0) continue;
|
|
497
|
+
vec4 control = controls[entry / 2];
|
|
498
|
+
bool base = entry - (entry / 2) * 2 == 0;
|
|
499
|
+
int id = int((base ? control.r : control.g) * 255.0 + 0.5);
|
|
500
|
+
vec4 layer = layerGround(id, 0);
|
|
501
|
+
float weight = weights[entry] * exp2(layer.y * (heights[entry] - peak));
|
|
502
|
+
colour += colours[entry] * weight;
|
|
503
|
+
slope += tilts[entry] * weight;
|
|
504
|
+
roughness += layer.w * weight;
|
|
505
|
+
wet += layerGround(id, 1).y * weight;
|
|
506
|
+
total += weight;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
colour /= total;
|
|
510
|
+
slope /= total;
|
|
511
|
+
roughness /= total;
|
|
512
|
+
wet /= total;
|
|
513
|
+
// Broad colour variation, so a field of one material never reads flat;
|
|
514
|
+
// without it, the variation's mean tint.
|
|
515
|
+
#ifdef GROUND_DETAIL
|
|
516
|
+
float broad = texture(uGroundNoise, world.xz * 0.019 + vec2(0.31, 0.17)).r;
|
|
517
|
+
float patches = texture(uGroundNoise, world.xz * 0.043 + vec2(0.63, 0.05)).g;
|
|
518
|
+
colour *= mix(vec3(0.82, 0.87, 0.8), vec3(1.0), broad) * mix(vec3(0.96, 0.9, 0.84), vec3(1.0), patches) * 1.08;
|
|
519
|
+
#else
|
|
520
|
+
colour *= vec3(0.963, 0.959, 0.894);
|
|
521
|
+
#endif
|
|
522
|
+
#ifdef GROUND_WET
|
|
523
|
+
if (wet > 0.0) {
|
|
524
|
+
if (fade > 0.0) slope += rippleGround(world.xz, uGroundTime) * wet * fade;
|
|
525
|
+
colour *= mix(1.0, 0.8, wet);
|
|
526
|
+
roughness = mix(roughness, 0.2, wet);
|
|
527
|
+
}
|
|
528
|
+
#endif
|
|
529
|
+
groundTangentNormal = normalize(vec3(slope, 1.0));
|
|
530
|
+
groundRoughness = roughness;
|
|
531
|
+
return colour;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
// The painted normal in view space: the tilt in the frame the ground's
|
|
535
|
+
// world position lays the layers in, x east and y north.
|
|
536
|
+
vec3 tiltGround(vec3 tangentNormal) {
|
|
537
|
+
vec3 up = normalize(vGroundNormal);
|
|
538
|
+
vec3 east = normalize(vec3(1.0, 0.0, 0.0) - up * up.x);
|
|
539
|
+
vec3 north = cross(up, east);
|
|
540
|
+
vec3 world = normalize(east * tangentNormal.x + north * tangentNormal.y + up * tangentNormal.z);
|
|
541
|
+
return normalize((viewMatrix * vec4(world, 0.0)).xyz);
|
|
542
|
+
}
|
|
543
|
+
`;function Kr(e,t){let n=e.uGroundLayers.value,r=n.image.data;t.forEach((e,t)=>r.set([1/e.tile,e.sharpness,e.bumps,e.roughness,+!!e.hexTiling,+!!e.wet,+!!e.rotate,e.lines,...e.scroll,e.frames,e.frameTime,...kn(e),1],t*16)),n.needsUpdate=!0}function qr(e,t,n){let r={GROUND_DETAIL:n,GROUND_TURN:n&&t.some(({rotate:e})=>e),GROUND_HEX:t.some(({hexTiling:e})=>e),GROUND_MOTION:t.some(({frames:e,scroll:t})=>e>1||t[0]!==0||t[1]!==0),GROUND_WET:t.some(({wet:e})=>e),GROUND_LINES:t.some(({lines:e})=>e>0)},i=e.defines??={},a=!1;for(let[e,t]of Object.entries(r))t!==e in i&&(t?i[e]=``:delete i[e],a=!0);return a&&(e.needsUpdate=!0),a}function Jr(){let e=new u(new Float32Array(256),4,16,C,v);return e.magFilter=e.minFilter=_,e.generateMipmaps=!1,e.needsUpdate=!0,e}function Yr(e){let t=new x({roughness:1,metalness:0});return t.onBeforeCompile=t=>{Object.assign(t.uniforms,e),t.vertexShader=t.vertexShader.replace(`#include <common>`,`#include <common>\n${Ur}`).replace(`#include <worldpos_vertex>`,`#include <worldpos_vertex>\n${Wr}`),t.fragmentShader=t.fragmentShader.replace(`#include <common>`,`#include <common>\n${Gr}`).replace(`#include <color_fragment>`,`#include <color_fragment>
|
|
544
|
+
diffuseColor.rgb = paintGround(vGroundPosition);`).replace(`#include <roughnessmap_fragment>`,`#include <roughnessmap_fragment>
|
|
545
|
+
roughnessFactor = groundRoughness;`).replace(`#include <normal_fragment_maps>`,`#include <normal_fragment_maps>
|
|
546
|
+
normal = tiltGround(groundTangentNormal);`)},t.customProgramCacheKey=()=>`spawnite-ground ${Object.keys(t.defines??{}).join(` `)}|${String(t.onBeforeCompile)}`,t}function Xr(e,t,n,r){return{uGroundControl:{value:e},uGroundColour:{value:t.colour},uGroundDetail:{value:t.detail},uGroundNoise:{value:n},uGroundGrid:{value:new f(r.cells,r.cell,r.size/2)},uGroundLayers:{value:Jr()},uGroundTime:{value:0},uGroundFade:{value:new a(...Ir)}}}var Zr=1024,Qr=[128,128,128,255],$r=new Map;function ei(e,t){let n=`${t}:${e}`,r=$r.get(n);return r||(r=(async()=>{let n=await fetch(e);if(!n.ok)throw w(Error(`the ground texture ${e} answered ${n.status}`),`SP0252`,void 0);let r=await createImageBitmap(await n.blob(),{imageOrientation:`flipY`,premultiplyAlpha:`none`,colorSpaceConversion:`none`,resizeWidth:t,resizeHeight:t,resizeQuality:`high`}),i=new OffscreenCanvas(t,t).getContext(`2d`,{willReadFrequently:!0});return i.drawImage(r,0,0),r.close(),i.getImageData(0,0,t,t).data})(),r.catch(()=>$r.delete(n)),$r.set(n,r)),r}function ti({swatch:e}){let t=new h(e).convertLinearToSRGB();return[t.r*255,t.g*255,t.b*255,255]}function ni(e){let t=new Uint8Array(e.length*4),n=new Uint8Array(e.length*4);return e.forEach((e,r)=>{t.set(ti(e),r*4),n.set(Qr,r*4)}),Br(t,n,1,Math.max(e.length,1))}async function ri(e,t=Zr){let n=t*t*4,r=new Uint8Array(n*e.length),i=new Uint8Array(n*e.length);return await Promise.all(e.map(async(e,a)=>{let[o,s]=await Promise.all([e.colour===null?null:ei(e.colour,t),e.detail===null?null:ei(e.detail,t)]);if(o)r.set(o,a*n);else{let t=ti(e);for(let e=0;e<n;e+=4)r.set(t,a*n+e)}if(s)i.set(s,a*n);else for(let e=0;e<n;e+=4)i.set(Qr,a*n+e)})),Br(r,i,t,e.length)}var ii=new WeakMap;function ai(e,t,n){Array.isArray(e)||ii.get(e)?.(t,n)}var oi=null;function si(e,{base:t,overlay:n,blend:r}){let i=e.uGroundControl.value,a=i.image.data;for(let e=0;e<t.length;e++)Hr(a,e,t[e],r[e]>0?n[e]:t[e],r[e]);i.needsUpdate=!0}function ci({surface:e,material:t}){try{let n=(0,I.useSyncExternalStore)(Je,Le),r=Qe();gn(He.Ground);let i=B(e),a=Math.round(e.size/e.cell),o=er(e=>e.tool===`paint`||e.tool===`fill`?e.material:null),{names:s,layers:c}=(0,I.useMemo)(()=>{let t=k(e.map),n=o!==null&&!i.names.includes(o)&&i.names.length<16&&(o in V||o in t.materials)?[...i.names,o]:i.names;return{names:n,layers:H(n,t)}},[i,e.map,n,o]),l=n.set!==`flat`&&c.some(({colour:e})=>e!==null),u=r&&l,d=c.map(({colour:e,detail:t,swatch:n})=>`${e} ${t} ${n}`).join(`|`),[{material:f,uniforms:p}]=(0,I.useState)(()=>{oi??=zr();let t=Xr(Vr(a),ni(c),oi,{cells:a,cell:e.cell,size:e.size}),n=Yr(t);return n.userData.groundUniforms=t,{uniforms:t,material:n}}),m=(0,I.useMemo)(()=>R(t,f),[t,f]);return(0,I.useLayoutEffect)(()=>{let t=p.uGroundControl;t.value.image.width!==a&&(t.value.dispose(),t.value=Vr(a)),p.uGroundGrid.value.set(a,e.cell,e.size/2),si(p,i)},[p,i,a,e.cell,e.size]),(0,I.useLayoutEffect)(()=>{Kr(p,c),qr(f,c,u)},[f,p,c,u]),(0,I.useEffect)(()=>{let e=!0;function t(e){p.uGroundColour.value.dispose(),p.uGroundDetail.value.dispose(),p.uGroundColour.value=e.colour,p.uGroundDetail.value=e.detail}if(!l||typeof createImageBitmap!=`function`||typeof OffscreenCanvas!=`function`){t(ni(c));return}return ri(c).then(n=>{if(e)return t(n);n.colour.dispose(),n.detail.dispose()},n=>{e&&t(ni(c)),console.error(`The ground draws its materials' swatch colours: ${n instanceof Error?n.message:String(n)}. Check each material's texture in src/maps/materials.json and the map's materials.`)}),()=>{e=!1}},[p,d,l]),(0,I.useEffect)(()=>{let e=(e,t)=>{if(!e||!t){si(p,i);return}let{ruled:n}=i,r=p.uGroundControl.value.image.data;e.forEach((e,i)=>{let a=t[i],o=s.indexOf(a.paint??s[n[e]]),c=a.overlay===null?o:s.indexOf(a.overlay);o<0||c<0||Hr(r,e,o,c,a.overlay===null?0:a.blend??0)}),p.uGroundControl.value.needsUpdate=!0};ii.set(f,e),ii.set(m,e)},[f,m,p,i,s]),(0,I.useEffect)(()=>()=>{f.dispose(),p.uGroundControl.value.dispose(),p.uGroundColour.value.dispose(),p.uGroundDetail.value.dispose(),p.uGroundLayers.value.dispose()},[f,p]),te(ge(`GroundMaterial`,(e,t)=>{p.uGroundTime.value+=z(e,t)})),(0,L.jsx)(`primitive`,{object:m,attach:`material`})}catch(e){throw T(`GroundMaterial`,e)}}function li({children:e,ref:t}){try{let n=(0,I.useRef)(null),r=t??n;return te(ge(`EditorDrawing`,()=>{r.current&&(r.current.visible=!ut())})),(0,L.jsx)(`group`,{ref:r,children:e})}catch(e){throw T(`EditorDrawing`,e)}}export{hn as _,kr as a,vr as c,wn as d,Sn as f,gn as g,vn as h,Pr as i,er as l,R as m,ci as n,Or as o,xn as p,ai as r,gr as s,li as t,z as u};
|