@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,934 @@
|
|
|
1
|
+
import{$r as e,B as t,D as n,Dr as r,Ds as i,Fi as a,Ls as o,Mo as s,Po as c,Qr as l,Qt as u,Rn as d,Rs as f,Sr as p,To as m,V as h,Wr as ee,Xn as te,Xr as g,Yr as _,Zn as v,br as ne,da as y,et as b,jn as x,qr as S,sn as re,xn as C}from"./BoJD7UsQ.js";import{i as w}from"./Bzy44bV2.js";var T=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),E=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),D=class extends a{constructor(e){super(),this.weight=0,this.isBinary=!1,this.overrideBlink=`none`,this.overrideLookAt=`none`,this.overrideMouth=`none`,this._binds=[],this.name=`VRMExpression_${e}`,this.expressionName=e,this.type=`VRMExpression`,this.visible=!1}get binds(){return this._binds}get overrideBlinkAmount(){return this.overrideBlink===`block`?+(0<this.outputWeight):this.overrideBlink===`blend`?this.outputWeight:0}get overrideLookAtAmount(){return this.overrideLookAt===`block`?+(0<this.outputWeight):this.overrideLookAt===`blend`?this.outputWeight:0}get overrideMouthAmount(){return this.overrideMouth===`block`?+(0<this.outputWeight):this.overrideMouth===`blend`?this.outputWeight:0}get outputWeight(){return this.isBinary?+(this.weight>.5):this.weight}addBind(e){this._binds.push(e)}deleteBind(e){let t=this._binds.indexOf(e);t>=0&&this._binds.splice(t,1)}applyWeight(e){let t=this.outputWeight;t*=e?.multiplier??1,this.isBinary&&t<1&&(t=0),this._binds.forEach(e=>e.applyWeight(t))}clearAppliedWeight(){this._binds.forEach(e=>e.clearAppliedWeight())}};function ie(e,t,n){let r=e.parser.json,i=r.nodes?.[t];if(i==null)return console.warn(`extractPrimitivesInternal: Attempt to use nodes[${t}] of glTF but the node doesn't exist`),null;let a=i.mesh;if(a==null)return null;let o=r.meshes?.[a];if(o==null)return console.warn(`extractPrimitivesInternal: Attempt to use meshes[${a}] of glTF but the mesh doesn't exist`),null;let s=o.primitives.length,c=[];return n.traverse(e=>{c.length<s&&e.isMesh&&c.push(e)}),c}function ae(e,t){return E(this,null,function*(){return ie(e,t,yield e.parser.getDependency(`node`,t))})}function oe(e){return E(this,null,function*(){let t=yield e.parser.getDependencies(`node`),n=new Map;return t.forEach((t,r)=>{let i=ie(e,r,t);i!=null&&n.set(r,i)}),n})}var O={Aa:`aa`,Ih:`ih`,Ou:`ou`,Ee:`ee`,Oh:`oh`,Blink:`blink`,Happy:`happy`,Angry:`angry`,Sad:`sad`,Relaxed:`relaxed`,LookUp:`lookUp`,Surprised:`surprised`,LookDown:`lookDown`,LookLeft:`lookLeft`,LookRight:`lookRight`,BlinkLeft:`blinkLeft`,BlinkRight:`blinkRight`,Neutral:`neutral`};function se(e){return Math.max(Math.min(e,1),0)}var k=class e{constructor(){this.blinkExpressionNames=[`blink`,`blinkLeft`,`blinkRight`],this.lookAtExpressionNames=[`lookLeft`,`lookRight`,`lookUp`,`lookDown`],this.mouthExpressionNames=[`aa`,`ee`,`ih`,`oh`,`ou`],this._expressions=[],this._expressionMap={}}get expressions(){return this._expressions.concat()}get expressionMap(){return Object.assign({},this._expressionMap)}get presetExpressionMap(){let e={},t=new Set(Object.values(O));return Object.entries(this._expressionMap).forEach(([n,r])=>{t.has(n)&&(e[n]=r)}),e}get customExpressionMap(){let e={},t=new Set(Object.values(O));return Object.entries(this._expressionMap).forEach(([n,r])=>{t.has(n)||(e[n]=r)}),e}copy(e){return this._expressions.concat().forEach(e=>{this.unregisterExpression(e)}),e._expressions.forEach(e=>{this.registerExpression(e)}),this.blinkExpressionNames=e.blinkExpressionNames.concat(),this.lookAtExpressionNames=e.lookAtExpressionNames.concat(),this.mouthExpressionNames=e.mouthExpressionNames.concat(),this}clone(){return new e().copy(this)}getExpression(e){return this._expressionMap[e]??null}registerExpression(e){this._expressions.push(e),this._expressionMap[e.expressionName]=e}unregisterExpression(e){let t=this._expressions.indexOf(e);t===-1&&console.warn(`VRMExpressionManager: The specified expressions is not registered`),this._expressions.splice(t,1),delete this._expressionMap[e.expressionName]}getValue(e){return this.getExpression(e)?.weight??null}setValue(e,t){let n=this.getExpression(e);n&&(n.weight=se(t))}resetValues(){this._expressions.forEach(e=>{e.weight=0})}getExpressionTrackName(e){let t=this.getExpression(e);return t?`${t.name}.weight`:null}update(){let e=this._calculateWeightMultipliers();this._expressions.forEach(e=>{e.clearAppliedWeight()}),this._expressions.forEach(t=>{let n=1,r=t.expressionName;this.blinkExpressionNames.indexOf(r)!==-1&&(n*=e.blink),this.lookAtExpressionNames.indexOf(r)!==-1&&(n*=e.lookAt),this.mouthExpressionNames.indexOf(r)!==-1&&(n*=e.mouth),t.applyWeight({multiplier:n})})}_calculateWeightMultipliers(){let e=1,t=1,n=1;return this._expressions.forEach(r=>{e-=r.overrideBlinkAmount,t-=r.overrideLookAtAmount,n-=r.overrideMouthAmount}),e=Math.max(0,e),t=Math.max(0,t),n=Math.max(0,n),{blink:e,lookAt:t,mouth:n}}},A={Color:`color`,EmissionColor:`emissionColor`,ShadeColor:`shadeColor`,MatcapColor:`matcapColor`,RimColor:`rimColor`,OutlineColor:`outlineColor`},ce={_Color:A.Color,_EmissionColor:A.EmissionColor,_ShadeColor:A.ShadeColor,_RimColor:A.RimColor,_OutlineColor:A.OutlineColor},le=new b,ue=class e{constructor({material:e,type:t,targetValue:n,targetAlpha:r}){this.material=e,this.type=t,this.targetValue=n,this.targetAlpha=r??1;let i=this._initColorBindState(),a=this._initAlphaBindState();this._state={color:i,alpha:a}}applyWeight(e){let{color:t,alpha:n}=this._state;if(t!=null){let{propertyName:n,deltaValue:r}=t;this.material[n]?.add(le.copy(r).multiplyScalar(e))}if(n!=null){let{propertyName:t,deltaValue:r}=n;this.material[t]!=null&&(this.material[t]+=r*e)}}clearAppliedWeight(){let{color:e,alpha:t}=this._state;if(e!=null){let{propertyName:t,initialValue:n}=e;this.material[t]?.copy(n)}if(t!=null){let{propertyName:e,initialValue:n}=t;this.material[e]!=null&&(this.material[e]=n)}}_initColorBindState(){let{material:e,type:t,targetValue:n}=this,r=this._getPropertyNameMap()?.[t]?.[0]??null;if(r==null)return console.warn(`Tried to add a material color bind to the material ${e.name??`(no name)`}, the type ${t} but the material or the type is not supported.`),null;let i=e[r].clone();return{propertyName:r,initialValue:i,deltaValue:new b(n.r-i.r,n.g-i.g,n.b-i.b)}}_initAlphaBindState(){let{material:e,type:t,targetAlpha:n}=this,r=this._getPropertyNameMap()?.[t]?.[1]??null;if(r==null&&n!==1)return console.warn(`Tried to add a material alpha bind to the material ${e.name??`(no name)`}, the type ${t} but the material or the type does not support alpha.`),null;if(r==null)return null;let i=e[r];return{propertyName:r,initialValue:i,deltaValue:n-i}}_getPropertyNameMap(){return Object.entries(e._propertyNameMapMap).find(([e])=>this.material[e]===!0)?.[1]??null}};ue._propertyNameMapMap={isMeshStandardMaterial:{color:[`color`,`opacity`],emissionColor:[`emissive`,null]},isMeshBasicMaterial:{color:[`color`,`opacity`]},isMToonMaterial:{color:[`color`,`opacity`],emissionColor:[`emissive`,null],outlineColor:[`outlineColorFactor`,null],matcapColor:[`matcapFactor`,null],rimColor:[`parametricRimColorFactor`,null],shadeColor:[`shadeColorFactor`,null]}};var j=ue,M=class{constructor({primitives:e,index:t,weight:n}){this.primitives=e,this.index=t,this.weight=n}applyWeight(e){this.primitives.forEach(t=>{t.morphTargetInfluences?.[this.index]!=null&&(t.morphTargetInfluences[this.index]+=this.weight*e)})}clearAppliedWeight(){this.primitives.forEach(e=>{e.morphTargetInfluences?.[this.index]!=null&&(e.morphTargetInfluences[this.index]=0)})}},de=new o,N=class e{constructor({material:t,scale:n,offset:r}){this.material=t,this.scale=n,this.offset=r;let i=Object.entries(e._propertyNamesMap).find(([e])=>t[e]===!0)?.[1];i==null?(console.warn(`Tried to add a texture transform bind to the material ${t.name??`(no name)`} but the material is not supported.`),this._properties=[]):(this._properties=[],i.forEach(e=>{let i=t[e]?.clone();if(!i)return null;t[e]=i;let a=i.offset.clone(),o=i.repeat.clone(),s=r.clone().sub(a),c=n.clone().sub(o);this._properties.push({name:e,initialOffset:a,deltaOffset:s,initialScale:o,deltaScale:c})}))}applyWeight(e){this._properties.forEach(t=>{let n=this.material[t.name];n!==void 0&&(n.offset.add(de.copy(t.deltaOffset).multiplyScalar(e)),n.repeat.add(de.copy(t.deltaScale).multiplyScalar(e)))})}clearAppliedWeight(){this._properties.forEach(e=>{let t=this.material[e.name];t!==void 0&&(t.offset.copy(e.initialOffset),t.repeat.copy(e.initialScale))})}};N._propertyNamesMap={isMeshStandardMaterial:[`map`,`emissiveMap`,`bumpMap`,`normalMap`,`displacementMap`,`roughnessMap`,`metalnessMap`,`alphaMap`],isMeshBasicMaterial:[`map`,`specularMap`,`alphaMap`],isMToonMaterial:[`map`,`normalMap`,`emissiveMap`,`shadeMultiplyTexture`,`rimMultiplyTexture`,`outlineWidthMultiplyTexture`,`uvAnimationMaskTexture`]};var P=N,fe=new Set([`1.0`,`1.0-beta`]),pe=class e{get name(){return`VRMExpressionLoaderPlugin`}constructor(e){this.parser=e}afterRoot(e){return E(this,null,function*(){e.userData.vrmExpressionManager=yield this._import(e)})}_import(e){return E(this,null,function*(){return(yield this._v1Import(e))||(yield this._v0Import(e))||null})}_v1Import(e){return E(this,null,function*(){let t=this.parser.json;if(t.extensionsUsed?.indexOf(`VRMC_vrm`)===-1)return null;let n=t.extensions?.VRMC_vrm;if(!n)return null;let r=n.specVersion;if(!fe.has(r))return console.warn(`VRMExpressionLoaderPlugin: Unknown VRMC_vrm specVersion "${r}"`),null;let i=n.expressions;if(!i)return null;let a=new Set(Object.values(O)),s=new Map;i.preset!=null&&Object.entries(i.preset).forEach(([e,t])=>{if(t!=null){if(!a.has(e)){console.warn(`VRMExpressionLoaderPlugin: Unknown preset name "${e}" detected. Ignoring the expression`);return}s.set(e,t)}}),i.custom!=null&&Object.entries(i.custom).forEach(([e,t])=>{if(a.has(e)){console.warn(`VRMExpressionLoaderPlugin: Custom expression cannot have preset name "${e}". Ignoring the expression`);return}s.set(e,t)});let c=new k;return yield Promise.all(Array.from(s.entries()).map(t=>E(this,[t],function*([t,n]){var r,i,a;let s=new D(t);if(e.scene.add(s),s.isBinary=n.isBinary??!1,s.overrideBlink=n.overrideBlink??`none`,s.overrideLookAt=n.overrideLookAt??`none`,s.overrideMouth=n.overrideMouth??`none`,(r=n.morphTargetBinds)==null||r.forEach(t=>E(this,null,function*(){if(t.node===void 0||t.index===void 0)return;let r=yield ae(e,t.node),i=t.index;if(!r.every(e=>Array.isArray(e.morphTargetInfluences)&&i<e.morphTargetInfluences.length)){console.warn(`VRMExpressionLoaderPlugin: ${n.name} attempts to index morph #${i} but not found.`);return}s.addBind(new M({primitives:r,index:i,weight:t.weight??1}))})),n.materialColorBinds||n.textureTransformBinds){let t=[];e.scene.traverse(e=>{let n=e.material;n&&(Array.isArray(n)?t.push(...n):t.push(n))}),(i=n.materialColorBinds)==null||i.forEach(e=>E(this,null,function*(){t.filter(t=>{let n=this.parser.associations.get(t)?.materials;return e.material===n}).forEach(t=>{s.addBind(new j({material:t,type:e.type,targetValue:new b().fromArray(e.targetValue),targetAlpha:e.targetValue[3]}))})})),(a=n.textureTransformBinds)==null||a.forEach(e=>E(this,null,function*(){t.filter(t=>{let n=this.parser.associations.get(t)?.materials;return e.material===n}).forEach(t=>{s.addBind(new P({material:t,offset:new o().fromArray(e.offset??[0,0]),scale:new o().fromArray(e.scale??[1,1])}))})}))}c.registerExpression(s)}))),c})}_v0Import(t){return E(this,null,function*(){let n=this.parser.json,r=n.extensions?.VRM;if(!r)return null;let i=r.blendShapeMaster;if(!i)return null;let a=new k,s=i.blendShapeGroups;if(!s)return a;let c=new Set;return yield Promise.all(s.map(r=>E(this,null,function*(){let i=r.presetName,s=(i!=null&&e.v0v1PresetNameMap[i]||null)??r.name;if(s==null){console.warn(`VRMExpressionLoaderPlugin: One of custom expressions has no name. Ignoring the expression`);return}if(c.has(s)){console.warn(`VRMExpressionLoaderPlugin: An expression preset ${i} has duplicated entries. Ignoring the expression`);return}c.add(s);let l=new D(s);t.scene.add(l),l.isBinary=r.isBinary??!1,r.binds&&r.binds.forEach(e=>E(this,null,function*(){var i;if(e.mesh===void 0||e.index===void 0)return;let a=[];if((i=n.nodes)==null||i.forEach((t,n)=>{t.mesh===e.mesh&&a.push(n)}),a.length===0){console.warn(`VRMExpressionLoaderPlugin: ${r.name} attempts to bind a morph target to the mesh #${e.mesh} but the mesh is not found or not used in the scene. Ignoring the bind.`);return}let o=e.index;yield Promise.all(a.map(n=>E(this,null,function*(){let i=yield ae(t,n);if(!i.every(e=>Array.isArray(e.morphTargetInfluences)&&o<e.morphTargetInfluences.length)){console.warn(`VRMExpressionLoaderPlugin: ${r.name} attempts to index ${o}th morph but not found.`);return}l.addBind(new M({primitives:i,index:o,weight:.01*(e.weight??100)}))})))}));let u=r.materialValues;u&&u.length!==0&&u.forEach(e=>{if(e.materialName===void 0||e.propertyName===void 0||e.targetValue===void 0)return;let n=[];t.scene.traverse(t=>{if(t.material){let r=t.material;Array.isArray(r)?n.push(...r.filter(t=>(t.name===e.materialName||t.name===e.materialName+` (Outline)`)&&n.indexOf(t)===-1)):r.name===e.materialName&&n.indexOf(r)===-1&&n.push(r)}});let r=e.propertyName;n.forEach(t=>{if(r===`_MainTex_ST`){let n=new o(e.targetValue[0],e.targetValue[1]),r=new o(e.targetValue[2],e.targetValue[3]);r.y=1-r.y-n.y,l.addBind(new P({material:t,scale:n,offset:r}));return}let n=ce[r];if(n){l.addBind(new j({material:t,type:n,targetValue:new b().fromArray(e.targetValue),targetAlpha:e.targetValue[3]}));return}console.warn(r+` is not supported`)})}),a.registerExpression(l)}))),a})}};pe.v0v1PresetNameMap={a:`aa`,e:`ee`,i:`ih`,o:`oh`,u:`ou`,blink:`blink`,joy:`happy`,angry:`angry`,sorrow:`sad`,fun:`relaxed`,lookup:`lookUp`,lookdown:`lookDown`,lookleft:`lookLeft`,lookright:`lookRight`,blink_l:`blinkLeft`,blink_r:`blinkRight`,neutral:`neutral`};var me=pe,he={None:`none`,Block:`block`,Blend:`blend`},ge=class e{constructor(t,n){this._firstPersonOnlyLayer=e.DEFAULT_FIRSTPERSON_ONLY_LAYER,this._thirdPersonOnlyLayer=e.DEFAULT_THIRDPERSON_ONLY_LAYER,this._initializedLayers=!1,this.humanoid=t,this.meshAnnotations=n}copy(e){if(this.humanoid!==e.humanoid)throw Error(`VRMFirstPerson: humanoid must be same in order to copy`);return this.meshAnnotations=e.meshAnnotations.map(e=>({meshes:e.meshes.concat(),type:e.type})),this}clone(){return new e(this.humanoid,this.meshAnnotations).copy(this)}get firstPersonOnlyLayer(){return this._firstPersonOnlyLayer}get thirdPersonOnlyLayer(){return this._thirdPersonOnlyLayer}setup({firstPersonOnlyLayer:t=e.DEFAULT_FIRSTPERSON_ONLY_LAYER,thirdPersonOnlyLayer:n=e.DEFAULT_THIRDPERSON_ONLY_LAYER}={}){this._initializedLayers||=(this._firstPersonOnlyLayer=t,this._thirdPersonOnlyLayer=n,this.meshAnnotations.forEach(e=>{e.meshes.forEach(t=>{e.type===`firstPersonOnly`?(t.layers.set(this._firstPersonOnlyLayer),t.traverse(e=>e.layers.set(this._firstPersonOnlyLayer))):e.type===`thirdPersonOnly`?(t.layers.set(this._thirdPersonOnlyLayer),t.traverse(e=>e.layers.set(this._thirdPersonOnlyLayer))):e.type===`auto`&&this._createHeadlessModel(t)})}),!0)}_excludeTriangles(e,t,n,r){let i=0;if(t!=null&&t.length>0)for(let a=0;a<e.length;a+=3){let o=e[a],s=e[a+1],c=e[a+2],l=t[o],u=n[o];if(l[0]>0&&r.includes(u[0])||l[1]>0&&r.includes(u[1])||l[2]>0&&r.includes(u[2])||l[3]>0&&r.includes(u[3]))continue;let d=t[s],f=n[s];if(d[0]>0&&r.includes(f[0])||d[1]>0&&r.includes(f[1])||d[2]>0&&r.includes(f[2])||d[3]>0&&r.includes(f[3]))continue;let p=t[c],m=n[c];p[0]>0&&r.includes(m[0])||p[1]>0&&r.includes(m[1])||p[2]>0&&r.includes(m[2])||p[3]>0&&r.includes(m[3])||(e[i++]=o,e[i++]=s,e[i++]=c)}return i}_createErasedMesh(e,t){let n=new c(e.geometry.clone(),e.material);n.name=`${e.name}(erase)`,n.frustumCulled=e.frustumCulled,n.layers.set(this._firstPersonOnlyLayer);let r=n.geometry,i=r.getAttribute(`skinIndex`),a=i instanceof C?[]:i.array,o=[];for(let e=0;e<a.length;e+=4)o.push([a[e],a[e+1],a[e+2],a[e+3]]);let l=r.getAttribute(`skinWeight`),u=l instanceof C?[]:l.array,d=[];for(let e=0;e<u.length;e+=4)d.push([u[e],u[e+1],u[e+2],u[e+3]]);let f=r.getIndex();if(!f)throw Error(`The geometry doesn't have an index buffer`);let p=Array.from(f.array),m=this._excludeTriangles(p,d,o,t),h=[];for(let e=0;e<m;e++)h[e]=p[e];return r.setIndex(h),e.onBeforeRender&&(n.onBeforeRender=e.onBeforeRender),n.bind(new s(e.skeleton.bones,e.skeleton.boneInverses),new g),n}_createHeadlessModelForSkinnedMesh(e,t){let n=[];if(t.skeleton.bones.forEach((e,t)=>{this._isEraseTarget(e)&&n.push(t)}),!n.length){t.layers.enable(this._thirdPersonOnlyLayer),t.layers.enable(this._firstPersonOnlyLayer);return}t.layers.set(this._thirdPersonOnlyLayer);let r=this._createErasedMesh(t,n);e.add(r)}_createHeadlessModel(e){if(e.type===`Group`){if(e.layers.set(this._thirdPersonOnlyLayer),this._isEraseTarget(e))e.traverse(e=>e.layers.set(this._thirdPersonOnlyLayer));else{let t=new x;t.name=`_headless_${e.name}`,t.layers.set(this._firstPersonOnlyLayer),e.parent.add(t),e.children.filter(e=>e.type===`SkinnedMesh`).forEach(e=>{let n=e;this._createHeadlessModelForSkinnedMesh(t,n)})}}else if(e.type===`SkinnedMesh`){let t=e;this._createHeadlessModelForSkinnedMesh(e.parent,t)}else this._isEraseTarget(e)&&(e.layers.set(this._thirdPersonOnlyLayer),e.traverse(e=>e.layers.set(this._thirdPersonOnlyLayer)))}_isEraseTarget(e){return e===this.humanoid.getRawBoneNode(`head`)?!0:e.parent?this._isEraseTarget(e.parent):!1}};ge.DEFAULT_FIRSTPERSON_ONLY_LAYER=9,ge.DEFAULT_THIRDPERSON_ONLY_LAYER=10;var _e=ge,ve=new Set([`1.0`,`1.0-beta`]),ye=class{get name(){return`VRMFirstPersonLoaderPlugin`}constructor(e){this.parser=e}afterRoot(e){return E(this,null,function*(){let t=e.userData.vrmHumanoid;if(t!==null){if(t===void 0)throw Error(`VRMFirstPersonLoaderPlugin: vrmHumanoid is undefined. VRMHumanoidLoaderPlugin have to be used first`);e.userData.vrmFirstPerson=yield this._import(e,t)}})}_import(e,t){return E(this,null,function*(){return t==null?null:(yield this._v1Import(e,t))||(yield this._v0Import(e,t))||null})}_v1Import(e,t){return E(this,null,function*(){let n=this.parser.json;if(n.extensionsUsed?.indexOf(`VRMC_vrm`)===-1)return null;let r=n.extensions?.VRMC_vrm;if(!r)return null;let i=r.specVersion;if(!ve.has(i))return console.warn(`VRMFirstPersonLoaderPlugin: Unknown VRMC_vrm specVersion "${i}"`),null;let a=r.firstPerson,o=[],s=yield oe(e);return Array.from(s.entries()).forEach(([e,t])=>{let n=(a?.meshAnnotations)?.find(t=>t.node===e);o.push({meshes:t,type:n?.type??`auto`})}),new _e(t,o)})}_v0Import(e,t){return E(this,null,function*(){let n=this.parser.json,r=n.extensions?.VRM;if(!r)return null;let i=r.firstPerson;if(!i)return null;let a=[],o=yield oe(e);return Array.from(o.entries()).forEach(([e,t])=>{let r=n.nodes[e],o=i.meshAnnotations?i.meshAnnotations.find(e=>e.mesh===r.mesh):void 0;a.push({meshes:t,type:this._convertV0FlagToV1Type(o?.firstPersonFlag)})}),new _e(t,a)})}_convertV0FlagToV1Type(e){return e===`FirstPersonOnly`?`firstPersonOnly`:e===`ThirdPersonOnly`?`thirdPersonOnly`:e===`Both`?`both`:`auto`}},be={Auto:`auto`,Both:`both`,ThirdPersonOnly:`thirdPersonOnly`,FirstPersonOnly:`firstPersonOnly`},xe=new f,Se=new f,Ce=new y,we=class extends x{constructor(e){super(),this.vrmHumanoid=e,this._boneAxesMap=new Map,Object.values(e.humanBones).forEach(e=>{let t=new n(1);t.matrixAutoUpdate=!1,t.material.depthTest=!1,t.material.depthWrite=!1,this.add(t),this._boneAxesMap.set(e,t)})}dispose(){Array.from(this._boneAxesMap.values()).forEach(e=>{e.geometry.dispose(),e.material.dispose()})}updateMatrixWorld(e){Array.from(this._boneAxesMap.entries()).forEach(([e,t])=>{e.node.updateWorldMatrix(!0,!1),e.node.matrixWorld.decompose(xe,Ce,Se);let n=xe.set(.1,.1,.1).divide(Se);t.matrix.copy(e.node.matrixWorld).scale(n)}),super.updateMatrixWorld(e)}},F=`hips.spine.chest.upperChest.neck.head.leftEye.rightEye.jaw.leftUpperLeg.leftLowerLeg.leftFoot.leftToes.rightUpperLeg.rightLowerLeg.rightFoot.rightToes.leftShoulder.leftUpperArm.leftLowerArm.leftHand.rightShoulder.rightUpperArm.rightLowerArm.rightHand.leftThumbMetacarpal.leftThumbProximal.leftThumbDistal.leftIndexProximal.leftIndexIntermediate.leftIndexDistal.leftMiddleProximal.leftMiddleIntermediate.leftMiddleDistal.leftRingProximal.leftRingIntermediate.leftRingDistal.leftLittleProximal.leftLittleIntermediate.leftLittleDistal.rightThumbMetacarpal.rightThumbProximal.rightThumbDistal.rightIndexProximal.rightIndexIntermediate.rightIndexDistal.rightMiddleProximal.rightMiddleIntermediate.rightMiddleDistal.rightRingProximal.rightRingIntermediate.rightRingDistal.rightLittleProximal.rightLittleIntermediate.rightLittleDistal`.split(`.`),Te={Hips:`hips`,Spine:`spine`,Chest:`chest`,UpperChest:`upperChest`,Neck:`neck`,Head:`head`,LeftEye:`leftEye`,RightEye:`rightEye`,Jaw:`jaw`,LeftUpperLeg:`leftUpperLeg`,LeftLowerLeg:`leftLowerLeg`,LeftFoot:`leftFoot`,LeftToes:`leftToes`,RightUpperLeg:`rightUpperLeg`,RightLowerLeg:`rightLowerLeg`,RightFoot:`rightFoot`,RightToes:`rightToes`,LeftShoulder:`leftShoulder`,LeftUpperArm:`leftUpperArm`,LeftLowerArm:`leftLowerArm`,LeftHand:`leftHand`,RightShoulder:`rightShoulder`,RightUpperArm:`rightUpperArm`,RightLowerArm:`rightLowerArm`,RightHand:`rightHand`,LeftThumbMetacarpal:`leftThumbMetacarpal`,LeftThumbProximal:`leftThumbProximal`,LeftThumbDistal:`leftThumbDistal`,LeftIndexProximal:`leftIndexProximal`,LeftIndexIntermediate:`leftIndexIntermediate`,LeftIndexDistal:`leftIndexDistal`,LeftMiddleProximal:`leftMiddleProximal`,LeftMiddleIntermediate:`leftMiddleIntermediate`,LeftMiddleDistal:`leftMiddleDistal`,LeftRingProximal:`leftRingProximal`,LeftRingIntermediate:`leftRingIntermediate`,LeftRingDistal:`leftRingDistal`,LeftLittleProximal:`leftLittleProximal`,LeftLittleIntermediate:`leftLittleIntermediate`,LeftLittleDistal:`leftLittleDistal`,RightThumbMetacarpal:`rightThumbMetacarpal`,RightThumbProximal:`rightThumbProximal`,RightThumbDistal:`rightThumbDistal`,RightIndexProximal:`rightIndexProximal`,RightIndexIntermediate:`rightIndexIntermediate`,RightIndexDistal:`rightIndexDistal`,RightMiddleProximal:`rightMiddleProximal`,RightMiddleIntermediate:`rightMiddleIntermediate`,RightMiddleDistal:`rightMiddleDistal`,RightRingProximal:`rightRingProximal`,RightRingIntermediate:`rightRingIntermediate`,RightRingDistal:`rightRingDistal`,RightLittleProximal:`rightLittleProximal`,RightLittleIntermediate:`rightLittleIntermediate`,RightLittleDistal:`rightLittleDistal`},Ee={hips:null,spine:`hips`,chest:`spine`,upperChest:`chest`,neck:`upperChest`,head:`neck`,leftEye:`head`,rightEye:`head`,jaw:`head`,leftUpperLeg:`hips`,leftLowerLeg:`leftUpperLeg`,leftFoot:`leftLowerLeg`,leftToes:`leftFoot`,rightUpperLeg:`hips`,rightLowerLeg:`rightUpperLeg`,rightFoot:`rightLowerLeg`,rightToes:`rightFoot`,leftShoulder:`upperChest`,leftUpperArm:`leftShoulder`,leftLowerArm:`leftUpperArm`,leftHand:`leftLowerArm`,rightShoulder:`upperChest`,rightUpperArm:`rightShoulder`,rightLowerArm:`rightUpperArm`,rightHand:`rightLowerArm`,leftThumbMetacarpal:`leftHand`,leftThumbProximal:`leftThumbMetacarpal`,leftThumbDistal:`leftThumbProximal`,leftIndexProximal:`leftHand`,leftIndexIntermediate:`leftIndexProximal`,leftIndexDistal:`leftIndexIntermediate`,leftMiddleProximal:`leftHand`,leftMiddleIntermediate:`leftMiddleProximal`,leftMiddleDistal:`leftMiddleIntermediate`,leftRingProximal:`leftHand`,leftRingIntermediate:`leftRingProximal`,leftRingDistal:`leftRingIntermediate`,leftLittleProximal:`leftHand`,leftLittleIntermediate:`leftLittleProximal`,leftLittleDistal:`leftLittleIntermediate`,rightThumbMetacarpal:`rightHand`,rightThumbProximal:`rightThumbMetacarpal`,rightThumbDistal:`rightThumbProximal`,rightIndexProximal:`rightHand`,rightIndexIntermediate:`rightIndexProximal`,rightIndexDistal:`rightIndexIntermediate`,rightMiddleProximal:`rightHand`,rightMiddleIntermediate:`rightMiddleProximal`,rightMiddleDistal:`rightMiddleIntermediate`,rightRingProximal:`rightHand`,rightRingIntermediate:`rightRingProximal`,rightRingDistal:`rightRingIntermediate`,rightLittleProximal:`rightHand`,rightLittleIntermediate:`rightLittleProximal`,rightLittleDistal:`rightLittleIntermediate`};function De(e){return e.invert?e.invert():e.inverse(),e}var I=new f,L=new y,Oe=class{constructor(e){this.humanBones=e,this.restPose=this.getAbsolutePose()}getAbsolutePose(){let e={};return Object.keys(this.humanBones).forEach(t=>{let n=t,r=this.getBoneNode(n);r&&(I.copy(r.position),L.copy(r.quaternion),e[n]={position:I.toArray(),rotation:L.toArray()})}),e}getPose(){let e={};return Object.keys(this.humanBones).forEach(t=>{let n=t,r=this.getBoneNode(n);if(!r)return;I.set(0,0,0),L.identity();let i=this.restPose[n];i?.position&&I.fromArray(i.position).negate(),i?.rotation&&De(L.fromArray(i.rotation)),I.add(r.position),L.premultiply(r.quaternion),e[n]={position:I.toArray(),rotation:L.toArray()}}),e}setPose(e){Object.entries(e).forEach(([e,t])=>{let n=e,r=this.getBoneNode(n);if(!r)return;let i=this.restPose[n];i&&(t?.position&&(r.position.fromArray(t.position),i.position&&r.position.add(I.fromArray(i.position))),t?.rotation&&(r.quaternion.fromArray(t.rotation),i.rotation&&r.quaternion.multiply(L.fromArray(i.rotation))))})}resetPose(){Object.entries(this.restPose).forEach(([e,t])=>{let n=this.getBoneNode(e);n&&(t?.position&&n.position.fromArray(t.position),t?.rotation&&n.quaternion.fromArray(t.rotation))})}getBone(e){return this.humanBones[e]??void 0}getBoneNode(e){return this.humanBones[e]?.node??null}},ke=new f,Ae=new y,je=new f,Me=class e extends Oe{static _setupTransforms(e){let t=new a;t.name=`VRMHumanoidRig`;let n={},r={},i={},o={};F.forEach(t=>{var a;let s=e.getBoneNode(t);if(s){let e=new f,c=new y;s.updateWorldMatrix(!0,!1),s.matrixWorld.decompose(e,c,ke),n[t]=e,r[t]=c,i[t]=s.quaternion.clone();let l=new y;(a=s.parent)==null||a.matrixWorld.decompose(ke,l,ke),o[t]=l}});let s={};return F.forEach(r=>{let i=e.getBoneNode(r);if(i){let e=n[r],o=r,c;for(;c==null&&(o=Ee[o],o!=null);)c=n[o];let l=new a;l.name=`Normalized_`+i.name,(o?s[o]?.node:t).add(l),l.position.copy(e),c&&l.position.sub(c),s[r]={node:l}}}),{rigBones:s,root:t,parentWorldRotations:o,boneRotations:i}}constructor(t){let{rigBones:n,root:r,parentWorldRotations:i,boneRotations:a}=e._setupTransforms(t);super(n),this.original=t,this.root=r,this._parentWorldRotations=i,this._boneRotations=a}update(){F.forEach(e=>{let t=this.original.getBoneNode(e);if(t!=null){let n=this.getBoneNode(e),r=this._parentWorldRotations[e],i=Ae.copy(r).invert(),a=this._boneRotations[e];if(t.quaternion.copy(n.quaternion).multiply(r).premultiply(i).multiply(a),e===`hips`){let e=n.getWorldPosition(je);t.parent.updateWorldMatrix(!0,!1);let r=t.parent.matrixWorld,i=e.applyMatrix4(r.invert());t.position.copy(i)}}})}},Ne=class e{get restPose(){return console.warn(`VRMHumanoid: restPose is deprecated. Use either rawRestPose or normalizedRestPose instead.`),this.rawRestPose}get rawRestPose(){return this._rawHumanBones.restPose}get normalizedRestPose(){return this._normalizedHumanBones.restPose}get humanBones(){return this._rawHumanBones.humanBones}get rawHumanBones(){return this._rawHumanBones.humanBones}get normalizedHumanBones(){return this._normalizedHumanBones.humanBones}get normalizedHumanBonesRoot(){return this._normalizedHumanBones.root}constructor(e,t){this.autoUpdateHumanBones=t?.autoUpdateHumanBones??!0,this._rawHumanBones=new Oe(e),this._normalizedHumanBones=new Me(this._rawHumanBones)}copy(e){return this.autoUpdateHumanBones=e.autoUpdateHumanBones,this._rawHumanBones=new Oe(e.humanBones),this._normalizedHumanBones=new Me(this._rawHumanBones),this}clone(){return new e(this.humanBones,{autoUpdateHumanBones:this.autoUpdateHumanBones}).copy(this)}getAbsolutePose(){return console.warn(`VRMHumanoid: getAbsolutePose() is deprecated. Use either getRawAbsolutePose() or getNormalizedAbsolutePose() instead.`),this.getRawAbsolutePose()}getRawAbsolutePose(){return this._rawHumanBones.getAbsolutePose()}getNormalizedAbsolutePose(){return this._normalizedHumanBones.getAbsolutePose()}getPose(){return console.warn(`VRMHumanoid: getPose() is deprecated. Use either getRawPose() or getNormalizedPose() instead.`),this.getRawPose()}getRawPose(){return this._rawHumanBones.getPose()}getNormalizedPose(){return this._normalizedHumanBones.getPose()}setPose(e){return console.warn(`VRMHumanoid: setPose() is deprecated. Use either setRawPose() or setNormalizedPose() instead.`),this.setRawPose(e)}setRawPose(e){return this._rawHumanBones.setPose(e)}setNormalizedPose(e){return this._normalizedHumanBones.setPose(e)}resetPose(){return console.warn(`VRMHumanoid: resetPose() is deprecated. Use either resetRawPose() or resetNormalizedPose() instead.`),this.resetRawPose()}resetRawPose(){return this._rawHumanBones.resetPose()}resetNormalizedPose(){return this._normalizedHumanBones.resetPose()}getBone(e){return console.warn(`VRMHumanoid: getBone() is deprecated. Use either getRawBone() or getNormalizedBone() instead.`),this.getRawBone(e)}getRawBone(e){return this._rawHumanBones.getBone(e)}getNormalizedBone(e){return this._normalizedHumanBones.getBone(e)}getBoneNode(e){return console.warn(`VRMHumanoid: getBoneNode() is deprecated. Use either getRawBoneNode() or getNormalizedBoneNode() instead.`),this.getRawBoneNode(e)}getRawBoneNode(e){return this._rawHumanBones.getBoneNode(e)}getNormalizedBoneNode(e){return this._normalizedHumanBones.getBoneNode(e)}update(){this.autoUpdateHumanBones&&this._normalizedHumanBones.update()}},Pe={Hips:`hips`,Spine:`spine`,Head:`head`,LeftUpperLeg:`leftUpperLeg`,LeftLowerLeg:`leftLowerLeg`,LeftFoot:`leftFoot`,RightUpperLeg:`rightUpperLeg`,RightLowerLeg:`rightLowerLeg`,RightFoot:`rightFoot`,LeftUpperArm:`leftUpperArm`,LeftLowerArm:`leftLowerArm`,LeftHand:`leftHand`,RightUpperArm:`rightUpperArm`,RightLowerArm:`rightLowerArm`,RightHand:`rightHand`},Fe=new Set([`1.0`,`1.0-beta`]),Ie={leftThumbProximal:`leftThumbMetacarpal`,leftThumbIntermediate:`leftThumbProximal`,rightThumbProximal:`rightThumbMetacarpal`,rightThumbIntermediate:`rightThumbProximal`},Le=class{get name(){return`VRMHumanoidLoaderPlugin`}constructor(e,t){this.parser=e,this.helperRoot=t?.helperRoot,this.autoUpdateHumanBones=t?.autoUpdateHumanBones}afterRoot(e){return E(this,null,function*(){e.userData.vrmHumanoid=yield this._import(e)})}_import(e){return E(this,null,function*(){return(yield this._v1Import(e))||(yield this._v0Import(e))||null})}_v1Import(e){return E(this,null,function*(){let t=this.parser.json;if(t.extensionsUsed?.indexOf(`VRMC_vrm`)===-1)return null;let n=t.extensions?.VRMC_vrm;if(!n)return null;let r=n.specVersion;if(!Fe.has(r))return console.warn(`VRMHumanoidLoaderPlugin: Unknown VRMC_vrm specVersion "${r}"`),null;let i=n.humanoid;if(!i)return null;let a=i.humanBones.leftThumbIntermediate!=null||i.humanBones.rightThumbIntermediate!=null,o={};i.humanBones!=null&&(yield Promise.all(Object.entries(i.humanBones).map(e=>E(this,[e],function*([e,t]){let n=e,r=t.node;if(a){let e=Ie[n];e!=null&&(n=e)}let i=yield this.parser.getDependency(`node`,r);if(i==null){console.warn(`A glTF node bound to the humanoid bone ${n} (index = ${r}) does not exist`);return}o[n]={node:i}}))));let s=new Ne(this._ensureRequiredBonesExist(o),{autoUpdateHumanBones:this.autoUpdateHumanBones});if(e.scene.add(s.normalizedHumanBonesRoot),this.helperRoot){let e=new we(s);this.helperRoot.add(e),e.renderOrder=this.helperRoot.renderOrder}return s})}_v0Import(e){return E(this,null,function*(){let t=this.parser.json.extensions?.VRM;if(!t)return null;let n=t.humanoid;if(!n)return null;let r={};n.humanBones!=null&&(yield Promise.all(n.humanBones.map(e=>E(this,null,function*(){let t=e.bone,n=e.node;if(t==null||n==null)return;if(n<0){console.warn(`A glTF node index for the humanoid bone ${t} is negative (${n}), ignoring this bone.`);return}let i=yield this.parser.getDependency(`node`,n);if(i==null){console.warn(`A glTF node bound to the humanoid bone ${t} (index = ${n}) does not exist`);return}let a=Ie[t]??t;if(r[a]!=null){console.warn(`Multiple bone entries for ${a} detected (index = ${n}), ignoring duplicated entries.`);return}r[a]={node:i}}))));let i=new Ne(this._ensureRequiredBonesExist(r),{autoUpdateHumanBones:this.autoUpdateHumanBones});if(e.scene.add(i.normalizedHumanBonesRoot),this.helperRoot){let e=new we(i);this.helperRoot.add(e),e.renderOrder=this.helperRoot.renderOrder}return i})}_ensureRequiredBonesExist(e){let t=Object.values(Pe).filter(t=>e[t]==null);if(t.length>0)throw Error(`VRMHumanoidLoaderPlugin: These humanoid bones are required but not exist: ${t.join(`, `)}`);return e}},Re=class extends h{constructor(){super(),this._currentTheta=0,this._currentRadius=0,this.theta=0,this.radius=0,this._currentTheta=0,this._currentRadius=0,this._attrPos=new t(new Float32Array(195),3),this.setAttribute(`position`,this._attrPos),this._attrIndex=new t(new Uint16Array(189),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let e=!1;this._currentTheta!==this.theta&&(this._currentTheta=this.theta,e=!0),this._currentRadius!==this.radius&&(this._currentRadius=this.radius,e=!0),e&&this._buildPosition()}_buildPosition(){this._attrPos.setXYZ(0,0,0,0);for(let e=0;e<64;e++){let t=e/63*this._currentTheta;this._attrPos.setXYZ(e+1,this._currentRadius*Math.sin(t),0,this._currentRadius*Math.cos(t))}this._attrPos.needsUpdate=!0}_buildIndex(){for(let e=0;e<63;e++)this._attrIndex.setXYZ(e*3,0,e+1,e+2);this._attrIndex.needsUpdate=!0}},ze=class extends h{constructor(){super(),this.radius=0,this._currentRadius=0,this.tail=new f,this._currentTail=new f,this._attrPos=new t(new Float32Array(294),3),this.setAttribute(`position`,this._attrPos),this._attrIndex=new t(new Uint16Array(194),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let e=!1;this._currentRadius!==this.radius&&(this._currentRadius=this.radius,e=!0),this._currentTail.equals(this.tail)||(this._currentTail.copy(this.tail),e=!0),e&&this._buildPosition()}_buildPosition(){for(let e=0;e<32;e++){let t=e/16*Math.PI;this._attrPos.setXYZ(e,Math.cos(t),Math.sin(t),0),this._attrPos.setXYZ(32+e,0,Math.cos(t),Math.sin(t)),this._attrPos.setXYZ(64+e,Math.sin(t),0,Math.cos(t))}this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.setXYZ(96,0,0,0),this._attrPos.setXYZ(97,this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let e=0;e<32;e++){let t=(e+1)%32;this._attrIndex.setXY(e*2,e,t),this._attrIndex.setXY(64+e*2,32+e,32+t),this._attrIndex.setXY(128+e*2,64+e,64+t)}this._attrIndex.setXY(192,96,97),this._attrIndex.needsUpdate=!0}},Be=new y,Ve=new y,R=new f,He=new f,Ue=Math.sqrt(2)/2,We=new y(0,0,-Ue,Ue),Ge=new f(0,1,0),Ke=class extends x{constructor(t){super(),this.matrixAutoUpdate=!1,this.vrmLookAt=t;{let t=new Re;t.radius=.5;let n=new e({color:65280,transparent:!0,opacity:.5,side:2,depthTest:!1,depthWrite:!1});this._meshPitch=new l(t,n),this.add(this._meshPitch)}{let t=new Re;t.radius=.5;let n=new e({color:16711680,transparent:!0,opacity:.5,side:2,depthTest:!1,depthWrite:!1});this._meshYaw=new l(t,n),this.add(this._meshYaw)}{let e=new ze;e.radius=.1;let t=new p({color:16777215,depthTest:!1,depthWrite:!1});this._lineTarget=new r(e,t),this._lineTarget.frustumCulled=!1,this.add(this._lineTarget)}}dispose(){this._meshYaw.geometry.dispose(),this._meshYaw.material.dispose(),this._meshPitch.geometry.dispose(),this._meshPitch.material.dispose(),this._lineTarget.geometry.dispose(),this._lineTarget.material.dispose()}updateMatrixWorld(e){let t=S.DEG2RAD*this.vrmLookAt.yaw;this._meshYaw.geometry.theta=t,this._meshYaw.geometry.update();let n=S.DEG2RAD*this.vrmLookAt.pitch;this._meshPitch.geometry.theta=n,this._meshPitch.geometry.update(),this.vrmLookAt.getLookAtWorldPosition(R),this.vrmLookAt.getLookAtWorldQuaternion(Be),Be.multiply(this.vrmLookAt.getFaceFrontQuaternion(Ve)),this._meshYaw.position.copy(R),this._meshYaw.quaternion.copy(Be),this._meshPitch.position.copy(R),this._meshPitch.quaternion.copy(Be),this._meshPitch.quaternion.multiply(Ve.setFromAxisAngle(Ge,t)),this._meshPitch.quaternion.multiply(We);let{target:r,autoUpdate:i}=this.vrmLookAt;r!=null&&i&&(r.getWorldPosition(He).sub(R),this._lineTarget.geometry.tail.copy(He),this._lineTarget.geometry.update(),this._lineTarget.position.copy(R)),super.updateMatrixWorld(e)}},qe=new f,Je=new f;function Ye(e,t){return e.matrixWorld.decompose(qe,t,Je),t}function Xe(e){return[Math.atan2(-e.z,e.x),Math.atan2(e.y,Math.sqrt(e.x*e.x+e.z*e.z))]}function Ze(e){let t=Math.round(e/2/Math.PI);return e-2*Math.PI*t}var Qe=new f(0,0,1),$e=new f,et=new f,tt=new f,nt=new y,rt=new y,it=new y,at=new y,ot=new re,st=class e{constructor(e,t){this.offsetFromHeadBone=new f,this.autoUpdate=!0,this.faceFront=new f(0,0,1),this.humanoid=e,this.applier=t,this._yaw=0,this._pitch=0,this._needsUpdate=!0,this._restHeadWorldQuaternion=this.getLookAtWorldQuaternion(new y)}get yaw(){return this._yaw}set yaw(e){this._yaw=e,this._needsUpdate=!0}get pitch(){return this._pitch}set pitch(e){this._pitch=e,this._needsUpdate=!0}get euler(){return console.warn(`VRMLookAt: euler is deprecated. use getEuler() instead.`),this.getEuler(new re)}getEuler(e){return e.set(S.DEG2RAD*this._pitch,S.DEG2RAD*this._yaw,0,`YXZ`)}copy(e){if(this.humanoid!==e.humanoid)throw Error(`VRMLookAt: humanoid must be same in order to copy`);return this.offsetFromHeadBone.copy(e.offsetFromHeadBone),this.applier=e.applier,this.autoUpdate=e.autoUpdate,this.target=e.target,this.faceFront.copy(e.faceFront),this}clone(){return new e(this.humanoid,this.applier).copy(this)}reset(){this._yaw=0,this._pitch=0,this._needsUpdate=!0}getLookAtWorldPosition(e){let t=this.humanoid.getRawBoneNode(`head`);return e.copy(this.offsetFromHeadBone).applyMatrix4(t.matrixWorld)}getLookAtWorldQuaternion(e){return Ye(this.humanoid.getRawBoneNode(`head`),e)}getFaceFrontQuaternion(e){if(this.faceFront.distanceToSquared(Qe)<.01)return e.copy(this._restHeadWorldQuaternion).invert();let[t,n]=Xe(this.faceFront);return ot.set(0,.5*Math.PI+t,n,`YZX`),e.setFromEuler(ot).premultiply(at.copy(this._restHeadWorldQuaternion).invert())}getLookAtWorldDirection(e){return this.getLookAtWorldQuaternion(rt),this.getFaceFrontQuaternion(it),e.copy(Qe).applyQuaternion(rt).applyQuaternion(it).applyEuler(this.getEuler(ot))}lookAt(e){let t=nt.copy(this._restHeadWorldQuaternion).multiply(De(this.getLookAtWorldQuaternion(rt))),n=this.getLookAtWorldPosition(et),r=tt.copy(e).sub(n).applyQuaternion(t).normalize(),[i,a]=Xe(this.faceFront),[o,s]=Xe(r),c=Ze(o-i),l=Ze(a-s);this._yaw=S.RAD2DEG*c,this._pitch=S.RAD2DEG*l,this._needsUpdate=!0}update(e){this.target!=null&&this.autoUpdate&&this.lookAt(this.target.getWorldPosition($e)),this._needsUpdate&&(this._needsUpdate=!1,this.applier.applyYawPitch(this._yaw,this._pitch))}};st.EULER_ORDER=`YXZ`;var ct=st,lt=new f(0,0,1),z=new y,B=new y,V=new re(0,0,0,`YXZ`),H=class{constructor(e,t,n,r,i){this.humanoid=e,this.rangeMapHorizontalInner=t,this.rangeMapHorizontalOuter=n,this.rangeMapVerticalDown=r,this.rangeMapVerticalUp=i,this.faceFront=new f(0,0,1),this._restQuatLeftEye=new y,this._restQuatRightEye=new y,this._restLeftEyeParentWorldQuat=new y,this._restRightEyeParentWorldQuat=new y;let a=this.humanoid.getRawBoneNode(`leftEye`),o=this.humanoid.getRawBoneNode(`rightEye`);a&&(this._restQuatLeftEye.copy(a.quaternion),Ye(a.parent,this._restLeftEyeParentWorldQuat)),o&&(this._restQuatRightEye.copy(o.quaternion),Ye(o.parent,this._restRightEyeParentWorldQuat))}applyYawPitch(e,t){let n=this.humanoid.getRawBoneNode(`leftEye`),r=this.humanoid.getRawBoneNode(`rightEye`),i=this.humanoid.getNormalizedBoneNode(`leftEye`),a=this.humanoid.getNormalizedBoneNode(`rightEye`);n&&(V.x=t<0?-S.DEG2RAD*this.rangeMapVerticalDown.map(-t):S.DEG2RAD*this.rangeMapVerticalUp.map(t),V.y=e<0?-S.DEG2RAD*this.rangeMapHorizontalInner.map(-e):S.DEG2RAD*this.rangeMapHorizontalOuter.map(e),z.setFromEuler(V),this._getWorldFaceFrontQuat(B),i.quaternion.copy(B).multiply(z).multiply(B.invert()),z.copy(this._restLeftEyeParentWorldQuat),n.quaternion.copy(i.quaternion).multiply(z).premultiply(z.invert()).multiply(this._restQuatLeftEye)),r&&(V.x=t<0?-S.DEG2RAD*this.rangeMapVerticalDown.map(-t):S.DEG2RAD*this.rangeMapVerticalUp.map(t),V.y=e<0?-S.DEG2RAD*this.rangeMapHorizontalOuter.map(-e):S.DEG2RAD*this.rangeMapHorizontalInner.map(e),z.setFromEuler(V),this._getWorldFaceFrontQuat(B),a.quaternion.copy(B).multiply(z).multiply(B.invert()),z.copy(this._restRightEyeParentWorldQuat),r.quaternion.copy(a.quaternion).multiply(z).premultiply(z.invert()).multiply(this._restQuatRightEye))}lookAt(e){console.warn(`VRMLookAtBoneApplier: lookAt() is deprecated. use apply() instead.`);let t=S.RAD2DEG*e.y,n=S.RAD2DEG*e.x;this.applyYawPitch(t,n)}_getWorldFaceFrontQuat(e){if(this.faceFront.distanceToSquared(lt)<.01)return e.identity();let[t,n]=Xe(this.faceFront);return V.set(0,.5*Math.PI+t,n,`YZX`),e.setFromEuler(V)}};H.type=`bone`;var ut=class{constructor(e,t,n,r,i){this.expressions=e,this.rangeMapHorizontalInner=t,this.rangeMapHorizontalOuter=n,this.rangeMapVerticalDown=r,this.rangeMapVerticalUp=i}applyYawPitch(e,t){t<0?(this.expressions.setValue(`lookDown`,0),this.expressions.setValue(`lookUp`,this.rangeMapVerticalUp.map(-t))):(this.expressions.setValue(`lookUp`,0),this.expressions.setValue(`lookDown`,this.rangeMapVerticalDown.map(t))),e<0?(this.expressions.setValue(`lookLeft`,0),this.expressions.setValue(`lookRight`,this.rangeMapHorizontalOuter.map(-e))):(this.expressions.setValue(`lookRight`,0),this.expressions.setValue(`lookLeft`,this.rangeMapHorizontalOuter.map(e)))}lookAt(e){console.warn(`VRMLookAtBoneApplier: lookAt() is deprecated. use apply() instead.`);let t=S.RAD2DEG*e.y,n=S.RAD2DEG*e.x;this.applyYawPitch(t,n)}};ut.type=`expression`;var dt=class{constructor(e,t){this.inputMaxValue=e,this.outputScale=t}map(e){return this.outputScale*se(e/this.inputMaxValue)}},ft=new Set([`1.0`,`1.0-beta`]),pt=.01,mt=class{get name(){return`VRMLookAtLoaderPlugin`}constructor(e,t){this.parser=e,this.helperRoot=t?.helperRoot}afterRoot(e){return E(this,null,function*(){let t=e.userData.vrmHumanoid;if(t===null)return;if(t===void 0)throw Error(`VRMLookAtLoaderPlugin: vrmHumanoid is undefined. VRMHumanoidLoaderPlugin have to be used first`);let n=e.userData.vrmExpressionManager;if(n!==null){if(n===void 0)throw Error(`VRMLookAtLoaderPlugin: vrmExpressionManager is undefined. VRMExpressionLoaderPlugin have to be used first`);e.userData.vrmLookAt=yield this._import(e,t,n)}})}_import(e,t,n){return E(this,null,function*(){return t==null||n==null?null:(yield this._v1Import(e,t,n))||(yield this._v0Import(e,t,n))||null})}_v1Import(e,t,n){return E(this,null,function*(){let e=this.parser.json;if(e.extensionsUsed?.indexOf(`VRMC_vrm`)===-1)return null;let r=e.extensions?.VRMC_vrm;if(!r)return null;let i=r.specVersion;if(!ft.has(i))return console.warn(`VRMLookAtLoaderPlugin: Unknown VRMC_vrm specVersion "${i}"`),null;let a=r.lookAt;if(!a)return null;let o=a.type===`expression`?1:10,s=this._v1ImportRangeMap(a.rangeMapHorizontalInner,o),c=this._v1ImportRangeMap(a.rangeMapHorizontalOuter,o),l=this._v1ImportRangeMap(a.rangeMapVerticalDown,o),u=this._v1ImportRangeMap(a.rangeMapVerticalUp,o),d;d=a.type===`expression`?new ut(n,s,c,l,u):new H(t,s,c,l,u);let f=this._importLookAt(t,d);return f.offsetFromHeadBone.fromArray(a.offsetFromHeadBone??[0,.06,0]),f})}_v1ImportRangeMap(e,t){let n=e?.inputMaxValue??90,r=e?.outputScale??t;return n<pt&&(console.warn(`VRMLookAtLoaderPlugin: inputMaxValue of a range map is too small. Consider reviewing the range map!`),n=pt),new dt(n,r)}_v0Import(e,t,n){return E(this,null,function*(){let e=this.parser.json.extensions?.VRM;if(!e)return null;let r=e.firstPerson;if(!r)return null;let i=r.lookAtTypeName===`BlendShape`?1:10,a=this._v0ImportDegreeMap(r.lookAtHorizontalInner,i),o=this._v0ImportDegreeMap(r.lookAtHorizontalOuter,i),s=this._v0ImportDegreeMap(r.lookAtVerticalDown,i),c=this._v0ImportDegreeMap(r.lookAtVerticalUp,i),l;l=r.lookAtTypeName===`BlendShape`?new ut(n,a,o,s,c):new H(t,a,o,s,c);let u=this._importLookAt(t,l);return r.firstPersonBoneOffset?u.offsetFromHeadBone.set(r.firstPersonBoneOffset.x??0,r.firstPersonBoneOffset.y??.06,-(r.firstPersonBoneOffset.z??0)):u.offsetFromHeadBone.set(0,.06,0),u.faceFront.set(0,0,-1),l instanceof H&&l.faceFront.set(0,0,-1),u})}_v0ImportDegreeMap(e,t){let n=e?.curve;JSON.stringify(n)!==`[0,0,0,1,1,1,1,0]`&&console.warn(`Curves of LookAtDegreeMap defined in VRM 0.0 are not supported`);let r=e?.xRange??90,i=e?.yRange??t;return r<pt&&(console.warn(`VRMLookAtLoaderPlugin: xRange of a degree map is too small. Consider reviewing the degree map!`),r=pt),new dt(r,i)}_importLookAt(e,t){let n=new ct(e,t);if(this.helperRoot){let e=new Ke(n);this.helperRoot.add(e),e.renderOrder=this.helperRoot.renderOrder}return n}},ht={Bone:`bone`,Expression:`expression`};function gt(e,t){return typeof e!=`string`||e===``?``:(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^/]+).*/i,`$1`)),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}var _t=new Set([`1.0`,`1.0-beta`]),vt=class{get name(){return`VRMMetaLoaderPlugin`}constructor(e,t){this.parser=e,this.needThumbnailImage=t?.needThumbnailImage??!1,this.acceptLicenseUrls=t?.acceptLicenseUrls??[`https://vrm.dev/licenses/1.0/`],this.acceptV0Meta=t?.acceptV0Meta??!0}afterRoot(e){return E(this,null,function*(){e.userData.vrmMeta=yield this._import(e)})}_import(e){return E(this,null,function*(){return(yield this._v1Import(e))??(yield this._v0Import(e))??null})}_v1Import(e){return E(this,null,function*(){let e=this.parser.json;if(e.extensionsUsed?.indexOf(`VRMC_vrm`)===-1)return null;let t=e.extensions?.VRMC_vrm;if(t==null)return null;let n=t.specVersion;if(!_t.has(n))return console.warn(`VRMMetaLoaderPlugin: Unknown VRMC_vrm specVersion "${n}"`),null;let r=t.meta;if(!r)return null;let i=r.licenseUrl;if(!new Set(this.acceptLicenseUrls).has(i))throw Error(`VRMMetaLoaderPlugin: The license url "${i}" is not accepted`);let a;return this.needThumbnailImage&&r.thumbnailImage!=null&&(a=(yield this._extractGLTFImage(r.thumbnailImage))??void 0),{metaVersion:`1`,name:r.name,version:r.version,authors:r.authors,copyrightInformation:r.copyrightInformation,contactInformation:r.contactInformation,references:r.references,thirdPartyLicenses:r.thirdPartyLicenses,thumbnailImage:a,licenseUrl:r.licenseUrl,avatarPermission:r.avatarPermission,allowExcessivelyViolentUsage:r.allowExcessivelyViolentUsage,allowExcessivelySexualUsage:r.allowExcessivelySexualUsage,commercialUsage:r.commercialUsage,allowPoliticalOrReligiousUsage:r.allowPoliticalOrReligiousUsage,allowAntisocialOrHateUsage:r.allowAntisocialOrHateUsage,creditNotation:r.creditNotation,allowRedistribution:r.allowRedistribution,modification:r.modification,otherLicenseUrl:r.otherLicenseUrl}})}_v0Import(e){return E(this,null,function*(){let e=this.parser.json.extensions?.VRM;if(!e)return null;let t=e.meta;if(!t)return null;if(!this.acceptV0Meta)throw Error(`VRMMetaLoaderPlugin: Attempted to load VRM0.0 meta but acceptV0Meta is false`);let n;return this.needThumbnailImage&&t.texture!=null&&t.texture!==-1&&(n=yield this.parser.getDependency(`texture`,t.texture)),{metaVersion:`0`,allowedUserName:t.allowedUserName,author:t.author,commercialUssageName:t.commercialUssageName,contactInformation:t.contactInformation,licenseName:t.licenseName,otherLicenseUrl:t.otherLicenseUrl,otherPermissionUrl:t.otherPermissionUrl,reference:t.reference,sexualUssageName:t.sexualUssageName,texture:n??void 0,title:t.title,version:t.version,violentUssageName:t.violentUssageName}})}_extractGLTFImage(e){return E(this,null,function*(){let t=this.parser.json.images?.[e];if(t==null)return console.warn(`VRMMetaLoaderPlugin: Attempt to use images[${e}] of glTF as a thumbnail but the image doesn't exist`),null;let n=t.uri;if(t.bufferView!=null){let e=yield this.parser.getDependency(`bufferView`,t.bufferView),r=new Blob([e],{type:t.mimeType});n=URL.createObjectURL(r)}return n==null?(console.warn(`VRMMetaLoaderPlugin: Attempt to use images[${e}] of glTF as a thumbnail but the image couldn't load properly`),null):yield new d().loadAsync(gt(n,this.parser.options.path)).catch(e=>(console.error(e),console.warn(`VRMMetaLoaderPlugin: Failed to load a thumbnail image`),null))})}},yt=class{constructor(e){this.scene=e.scene,this.meta=e.meta,this.humanoid=e.humanoid,this.expressionManager=e.expressionManager,this.firstPerson=e.firstPerson,this.lookAt=e.lookAt}update(e){this.humanoid.update(),this.lookAt&&this.lookAt.update(e),this.expressionManager&&this.expressionManager.update()}},bt=class{get name(){return`VRMC_vrm`}constructor(e,t){this.parser=e;let n=t?.helperRoot,r=t?.autoUpdateHumanBones;this.expressionPlugin=t?.expressionPlugin??new me(e),this.firstPersonPlugin=t?.firstPersonPlugin??new ye(e),this.humanoidPlugin=t?.humanoidPlugin??new Le(e,{helperRoot:n,autoUpdateHumanBones:r}),this.lookAtPlugin=t?.lookAtPlugin??new mt(e,{helperRoot:n}),this.metaPlugin=t?.metaPlugin??new vt(e)}afterRoot(e){return E(this,null,function*(){yield this.metaPlugin.afterRoot(e),yield this.humanoidPlugin.afterRoot(e),yield this.expressionPlugin.afterRoot(e),yield this.lookAtPlugin.afterRoot(e),yield this.firstPersonPlugin.afterRoot(e);let t=e.userData.vrmMeta,n=e.userData.vrmHumanoid;if(t&&n){let r=new yt({scene:e.scene,expressionManager:e.userData.vrmExpressionManager,firstPerson:e.userData.vrmFirstPerson,humanoid:n,lookAt:e.userData.vrmLookAt,meta:t});e.userData.vrmCore=r}})}},xt=class extends yt{constructor(e){super(e),this.materials=e.materials,this.springBoneManager=e.springBoneManager,this.nodeConstraintManager=e.nodeConstraintManager}update(e){super.update(e),this.nodeConstraintManager&&this.nodeConstraintManager.update(),this.springBoneManager&&this.springBoneManager.update(e),this.materials&&this.materials.forEach(t=>{t.update&&t.update(e)})}},St=Object.defineProperty,Ct=Object.getOwnPropertySymbols,wt=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable,Et=(e,t,n)=>t in e?St(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Dt=(e,t)=>{for(var n in t||={})wt.call(t,n)&&Et(e,n,t[n]);if(Ct)for(var n of Ct(t))Tt.call(t,n)&&Et(e,n,t[n]);return e},U=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())});function Ot(e,t){e.colorSpace=t}var kt=class{get pending(){return Promise.all(this._pendings)}constructor(e,t){this._parser=e,this._materialParams=t,this._pendings=[]}assignPrimitive(e,t){t!=null&&(this._materialParams[e]=t)}assignColor(e,t,n){if(t!=null){let r=new b().fromArray(t);n&&r.convertSRGBToLinear(),this._materialParams[e]=r}}assignTexture(e,t,n){return U(this,null,function*(){let r=U(this,null,function*(){if(t!=null){let r=yield this._parser.assignTexture(this._materialParams,e,t);if(r==null){console.warn(`GLTFMToonMaterialParamsAssignHelper: Failed to load texture. The rendering result may be wrong`);return}n&&Ot(r,`srgb`)}});return this._pendings.push(r),r})}assignTextureByIndex(e,t,n){return U(this,null,function*(){return this.assignTexture(e,t==null?void 0:{index:t},n)})}},At=`// #define PHONG
|
|
2
|
+
|
|
3
|
+
varying vec3 vViewPosition;
|
|
4
|
+
|
|
5
|
+
#ifndef FLAT_SHADED
|
|
6
|
+
varying vec3 vNormal;
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
#include <common>
|
|
10
|
+
|
|
11
|
+
// #include <uv_pars_vertex>
|
|
12
|
+
#ifdef MTOON_USE_UV
|
|
13
|
+
varying vec2 vUv;
|
|
14
|
+
|
|
15
|
+
// COMPAT: pre-r151 uses a common uvTransform
|
|
16
|
+
#if THREE_VRM_THREE_REVISION < 151
|
|
17
|
+
uniform mat3 uvTransform;
|
|
18
|
+
#endif
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
// #include <uv2_pars_vertex>
|
|
22
|
+
// COMAPT: pre-r151 uses uv2 for lightMap and aoMap
|
|
23
|
+
#if THREE_VRM_THREE_REVISION < 151
|
|
24
|
+
#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
|
|
25
|
+
attribute vec2 uv2;
|
|
26
|
+
varying vec2 vUv2;
|
|
27
|
+
uniform mat3 uv2Transform;
|
|
28
|
+
#endif
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
// #include <displacementmap_pars_vertex>
|
|
32
|
+
// #include <envmap_pars_vertex>
|
|
33
|
+
#include <color_pars_vertex>
|
|
34
|
+
#include <fog_pars_vertex>
|
|
35
|
+
#include <morphtarget_pars_vertex>
|
|
36
|
+
#include <skinning_pars_vertex>
|
|
37
|
+
#include <shadowmap_pars_vertex>
|
|
38
|
+
#include <logdepthbuf_pars_vertex>
|
|
39
|
+
#include <clipping_planes_pars_vertex>
|
|
40
|
+
|
|
41
|
+
#ifdef USE_OUTLINEWIDTHMULTIPLYTEXTURE
|
|
42
|
+
uniform sampler2D outlineWidthMultiplyTexture;
|
|
43
|
+
uniform mat3 outlineWidthMultiplyTextureUvTransform;
|
|
44
|
+
#endif
|
|
45
|
+
|
|
46
|
+
uniform float outlineWidthFactor;
|
|
47
|
+
|
|
48
|
+
void main() {
|
|
49
|
+
|
|
50
|
+
// #include <uv_vertex>
|
|
51
|
+
#ifdef MTOON_USE_UV
|
|
52
|
+
// COMPAT: pre-r151 uses a common uvTransform
|
|
53
|
+
#if THREE_VRM_THREE_REVISION >= 151
|
|
54
|
+
vUv = uv;
|
|
55
|
+
#else
|
|
56
|
+
vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
|
|
57
|
+
#endif
|
|
58
|
+
#endif
|
|
59
|
+
|
|
60
|
+
// #include <uv2_vertex>
|
|
61
|
+
// COMAPT: pre-r151 uses uv2 for lightMap and aoMap
|
|
62
|
+
#if THREE_VRM_THREE_REVISION < 151
|
|
63
|
+
#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
|
|
64
|
+
vUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;
|
|
65
|
+
#endif
|
|
66
|
+
#endif
|
|
67
|
+
|
|
68
|
+
#include <color_vertex>
|
|
69
|
+
|
|
70
|
+
#include <beginnormal_vertex>
|
|
71
|
+
#include <morphnormal_vertex>
|
|
72
|
+
#include <skinbase_vertex>
|
|
73
|
+
#include <skinnormal_vertex>
|
|
74
|
+
|
|
75
|
+
// we need this to compute the outline properly
|
|
76
|
+
objectNormal = normalize( objectNormal );
|
|
77
|
+
|
|
78
|
+
#include <defaultnormal_vertex>
|
|
79
|
+
|
|
80
|
+
#ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED
|
|
81
|
+
vNormal = normalize( transformedNormal );
|
|
82
|
+
#endif
|
|
83
|
+
|
|
84
|
+
#include <begin_vertex>
|
|
85
|
+
|
|
86
|
+
#include <morphtarget_vertex>
|
|
87
|
+
#include <skinning_vertex>
|
|
88
|
+
// #include <displacementmap_vertex>
|
|
89
|
+
#include <project_vertex>
|
|
90
|
+
#include <logdepthbuf_vertex>
|
|
91
|
+
#include <clipping_planes_vertex>
|
|
92
|
+
|
|
93
|
+
vViewPosition = - mvPosition.xyz;
|
|
94
|
+
|
|
95
|
+
#ifdef OUTLINE
|
|
96
|
+
float worldNormalLength = length( transformedNormal );
|
|
97
|
+
vec3 outlineOffset = outlineWidthFactor * worldNormalLength * objectNormal;
|
|
98
|
+
|
|
99
|
+
#ifdef USE_OUTLINEWIDTHMULTIPLYTEXTURE
|
|
100
|
+
vec2 outlineWidthMultiplyTextureUv = ( outlineWidthMultiplyTextureUvTransform * vec3( vUv, 1 ) ).xy;
|
|
101
|
+
float outlineTex = texture2D( outlineWidthMultiplyTexture, outlineWidthMultiplyTextureUv ).g;
|
|
102
|
+
outlineOffset *= outlineTex;
|
|
103
|
+
#endif
|
|
104
|
+
|
|
105
|
+
#ifdef OUTLINE_WIDTH_SCREEN
|
|
106
|
+
outlineOffset *= vViewPosition.z / projectionMatrix[ 1 ].y;
|
|
107
|
+
#endif
|
|
108
|
+
|
|
109
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4( outlineOffset + transformed, 1.0 );
|
|
110
|
+
|
|
111
|
+
gl_Position.z += 1E-6 * gl_Position.w; // anti-artifact magic
|
|
112
|
+
#endif
|
|
113
|
+
|
|
114
|
+
#include <worldpos_vertex>
|
|
115
|
+
// #include <envmap_vertex>
|
|
116
|
+
#include <shadowmap_vertex>
|
|
117
|
+
#include <fog_vertex>
|
|
118
|
+
|
|
119
|
+
}`,jt=`// #define PHONG
|
|
120
|
+
|
|
121
|
+
uniform vec3 litFactor;
|
|
122
|
+
|
|
123
|
+
uniform float opacity;
|
|
124
|
+
|
|
125
|
+
uniform vec3 shadeColorFactor;
|
|
126
|
+
#ifdef USE_SHADEMULTIPLYTEXTURE
|
|
127
|
+
uniform sampler2D shadeMultiplyTexture;
|
|
128
|
+
uniform mat3 shadeMultiplyTextureUvTransform;
|
|
129
|
+
#endif
|
|
130
|
+
|
|
131
|
+
uniform float shadingShiftFactor;
|
|
132
|
+
uniform float shadingToonyFactor;
|
|
133
|
+
|
|
134
|
+
#ifdef USE_SHADINGSHIFTTEXTURE
|
|
135
|
+
uniform sampler2D shadingShiftTexture;
|
|
136
|
+
uniform mat3 shadingShiftTextureUvTransform;
|
|
137
|
+
uniform float shadingShiftTextureScale;
|
|
138
|
+
#endif
|
|
139
|
+
|
|
140
|
+
uniform float giEqualizationFactor;
|
|
141
|
+
|
|
142
|
+
uniform vec3 parametricRimColorFactor;
|
|
143
|
+
#ifdef USE_RIMMULTIPLYTEXTURE
|
|
144
|
+
uniform sampler2D rimMultiplyTexture;
|
|
145
|
+
uniform mat3 rimMultiplyTextureUvTransform;
|
|
146
|
+
#endif
|
|
147
|
+
uniform float rimLightingMixFactor;
|
|
148
|
+
uniform float parametricRimFresnelPowerFactor;
|
|
149
|
+
uniform float parametricRimLiftFactor;
|
|
150
|
+
|
|
151
|
+
#ifdef USE_MATCAPTEXTURE
|
|
152
|
+
uniform vec3 matcapFactor;
|
|
153
|
+
uniform sampler2D matcapTexture;
|
|
154
|
+
uniform mat3 matcapTextureUvTransform;
|
|
155
|
+
#endif
|
|
156
|
+
|
|
157
|
+
uniform vec3 emissive;
|
|
158
|
+
uniform float emissiveIntensity;
|
|
159
|
+
|
|
160
|
+
uniform vec3 outlineColorFactor;
|
|
161
|
+
uniform float outlineLightingMixFactor;
|
|
162
|
+
|
|
163
|
+
#ifdef USE_UVANIMATIONMASKTEXTURE
|
|
164
|
+
uniform sampler2D uvAnimationMaskTexture;
|
|
165
|
+
uniform mat3 uvAnimationMaskTextureUvTransform;
|
|
166
|
+
#endif
|
|
167
|
+
|
|
168
|
+
uniform float uvAnimationScrollXOffset;
|
|
169
|
+
uniform float uvAnimationScrollYOffset;
|
|
170
|
+
uniform float uvAnimationRotationPhase;
|
|
171
|
+
|
|
172
|
+
#include <common>
|
|
173
|
+
#include <packing>
|
|
174
|
+
#include <dithering_pars_fragment>
|
|
175
|
+
#include <color_pars_fragment>
|
|
176
|
+
|
|
177
|
+
// #include <uv_pars_fragment>
|
|
178
|
+
#if ( defined( MTOON_USE_UV ) && !defined( MTOON_UVS_VERTEX_ONLY ) )
|
|
179
|
+
varying vec2 vUv;
|
|
180
|
+
#endif
|
|
181
|
+
|
|
182
|
+
// #include <uv2_pars_fragment>
|
|
183
|
+
// COMAPT: pre-r151 uses uv2 for lightMap and aoMap
|
|
184
|
+
#if THREE_VRM_THREE_REVISION < 151
|
|
185
|
+
#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
|
|
186
|
+
varying vec2 vUv2;
|
|
187
|
+
#endif
|
|
188
|
+
#endif
|
|
189
|
+
|
|
190
|
+
#include <map_pars_fragment>
|
|
191
|
+
|
|
192
|
+
#ifdef USE_MAP
|
|
193
|
+
uniform mat3 mapUvTransform;
|
|
194
|
+
#endif
|
|
195
|
+
|
|
196
|
+
// #include <alphamap_pars_fragment>
|
|
197
|
+
|
|
198
|
+
#include <alphatest_pars_fragment>
|
|
199
|
+
|
|
200
|
+
#include <aomap_pars_fragment>
|
|
201
|
+
// #include <lightmap_pars_fragment>
|
|
202
|
+
#include <emissivemap_pars_fragment>
|
|
203
|
+
|
|
204
|
+
#ifdef USE_EMISSIVEMAP
|
|
205
|
+
uniform mat3 emissiveMapUvTransform;
|
|
206
|
+
#endif
|
|
207
|
+
|
|
208
|
+
// #include <envmap_common_pars_fragment>
|
|
209
|
+
// #include <envmap_pars_fragment>
|
|
210
|
+
// #include <cube_uv_reflection_fragment>
|
|
211
|
+
#include <fog_pars_fragment>
|
|
212
|
+
|
|
213
|
+
// #include <bsdfs>
|
|
214
|
+
// COMPAT: pre-r151 doesn't have BRDF_Lambert in <common>
|
|
215
|
+
#if THREE_VRM_THREE_REVISION < 151
|
|
216
|
+
vec3 BRDF_Lambert( const in vec3 diffuseColor ) {
|
|
217
|
+
return RECIPROCAL_PI * diffuseColor;
|
|
218
|
+
}
|
|
219
|
+
#endif
|
|
220
|
+
|
|
221
|
+
#include <lights_pars_begin>
|
|
222
|
+
|
|
223
|
+
#include <normal_pars_fragment>
|
|
224
|
+
|
|
225
|
+
// #include <lights_phong_pars_fragment>
|
|
226
|
+
varying vec3 vViewPosition;
|
|
227
|
+
|
|
228
|
+
struct MToonMaterial {
|
|
229
|
+
vec3 diffuseColor;
|
|
230
|
+
vec3 shadeColor;
|
|
231
|
+
float shadingShift;
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
float linearstep( float a, float b, float t ) {
|
|
235
|
+
return clamp( ( t - a ) / ( b - a ), 0.0, 1.0 );
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Convert NdotL into toon shading factor using shadingShift and shadingToony
|
|
240
|
+
*/
|
|
241
|
+
float getShading(
|
|
242
|
+
const in float dotNL,
|
|
243
|
+
const in float shadow,
|
|
244
|
+
const in float shadingShift
|
|
245
|
+
) {
|
|
246
|
+
float shading = dotNL;
|
|
247
|
+
shading = shading + shadingShift;
|
|
248
|
+
shading = linearstep( -1.0 + shadingToonyFactor, 1.0 - shadingToonyFactor, shading );
|
|
249
|
+
shading *= shadow;
|
|
250
|
+
return shading;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Mix diffuseColor and shadeColor using shading factor and light color
|
|
255
|
+
*/
|
|
256
|
+
vec3 getDiffuse(
|
|
257
|
+
const in MToonMaterial material,
|
|
258
|
+
const in float shading,
|
|
259
|
+
in vec3 lightColor
|
|
260
|
+
) {
|
|
261
|
+
#ifdef DEBUG_LITSHADERATE
|
|
262
|
+
return vec3( BRDF_Lambert( shading * lightColor ) );
|
|
263
|
+
#endif
|
|
264
|
+
|
|
265
|
+
vec3 col = lightColor * BRDF_Lambert( mix( material.shadeColor, material.diffuseColor, shading ) );
|
|
266
|
+
|
|
267
|
+
// The "comment out if you want to PBR absolutely" line
|
|
268
|
+
#ifdef V0_COMPAT_SHADE
|
|
269
|
+
col = min( col, material.diffuseColor );
|
|
270
|
+
#endif
|
|
271
|
+
|
|
272
|
+
return col;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// COMPAT: pre-r156 uses a struct GeometricContext
|
|
276
|
+
#if THREE_VRM_THREE_REVISION >= 157
|
|
277
|
+
void RE_Direct_MToon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in MToonMaterial material, const in float shadow, inout ReflectedLight reflectedLight ) {
|
|
278
|
+
float dotNL = clamp( dot( geometryNormal, directLight.direction ), -1.0, 1.0 );
|
|
279
|
+
vec3 irradiance = directLight.color;
|
|
280
|
+
|
|
281
|
+
// directSpecular will be used for rim lighting, not an actual specular
|
|
282
|
+
reflectedLight.directSpecular += irradiance;
|
|
283
|
+
|
|
284
|
+
irradiance *= dotNL;
|
|
285
|
+
|
|
286
|
+
float shading = getShading( dotNL, shadow, material.shadingShift );
|
|
287
|
+
|
|
288
|
+
// toon shaded diffuse
|
|
289
|
+
reflectedLight.directDiffuse += getDiffuse( material, shading, directLight.color );
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
void RE_IndirectDiffuse_MToon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in MToonMaterial material, inout ReflectedLight reflectedLight ) {
|
|
293
|
+
// indirect diffuse will use diffuseColor, no shadeColor involved
|
|
294
|
+
reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
|
|
295
|
+
|
|
296
|
+
// directSpecular will be used for rim lighting, not an actual specular
|
|
297
|
+
reflectedLight.directSpecular += irradiance;
|
|
298
|
+
}
|
|
299
|
+
#else
|
|
300
|
+
void RE_Direct_MToon( const in IncidentLight directLight, const in GeometricContext geometry, const in MToonMaterial material, const in float shadow, inout ReflectedLight reflectedLight ) {
|
|
301
|
+
float dotNL = clamp( dot( geometry.normal, directLight.direction ), -1.0, 1.0 );
|
|
302
|
+
vec3 irradiance = directLight.color;
|
|
303
|
+
|
|
304
|
+
// directSpecular will be used for rim lighting, not an actual specular
|
|
305
|
+
reflectedLight.directSpecular += irradiance;
|
|
306
|
+
|
|
307
|
+
irradiance *= dotNL;
|
|
308
|
+
|
|
309
|
+
float shading = getShading( dotNL, shadow, material.shadingShift );
|
|
310
|
+
|
|
311
|
+
// toon shaded diffuse
|
|
312
|
+
reflectedLight.directDiffuse += getDiffuse( material, shading, directLight.color );
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
void RE_IndirectDiffuse_MToon( const in vec3 irradiance, const in GeometricContext geometry, const in MToonMaterial material, inout ReflectedLight reflectedLight ) {
|
|
316
|
+
// indirect diffuse will use diffuseColor, no shadeColor involved
|
|
317
|
+
reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
|
|
318
|
+
|
|
319
|
+
// directSpecular will be used for rim lighting, not an actual specular
|
|
320
|
+
reflectedLight.directSpecular += irradiance;
|
|
321
|
+
}
|
|
322
|
+
#endif
|
|
323
|
+
|
|
324
|
+
#define RE_Direct RE_Direct_MToon
|
|
325
|
+
#define RE_IndirectDiffuse RE_IndirectDiffuse_MToon
|
|
326
|
+
#define Material_LightProbeLOD( material ) (0)
|
|
327
|
+
|
|
328
|
+
#include <shadowmap_pars_fragment>
|
|
329
|
+
// #include <bumpmap_pars_fragment>
|
|
330
|
+
|
|
331
|
+
// #include <normalmap_pars_fragment>
|
|
332
|
+
#ifdef USE_NORMALMAP
|
|
333
|
+
|
|
334
|
+
uniform sampler2D normalMap;
|
|
335
|
+
uniform mat3 normalMapUvTransform;
|
|
336
|
+
uniform vec2 normalScale;
|
|
337
|
+
|
|
338
|
+
#endif
|
|
339
|
+
|
|
340
|
+
// COMPAT: pre-r151
|
|
341
|
+
// USE_NORMALMAP_OBJECTSPACE used to be OBJECTSPACE_NORMALMAP in pre-r151
|
|
342
|
+
#if defined( USE_NORMALMAP_OBJECTSPACE ) || defined( OBJECTSPACE_NORMALMAP )
|
|
343
|
+
|
|
344
|
+
uniform mat3 normalMatrix;
|
|
345
|
+
|
|
346
|
+
#endif
|
|
347
|
+
|
|
348
|
+
// COMPAT: pre-r151
|
|
349
|
+
// USE_NORMALMAP_TANGENTSPACE used to be TANGENTSPACE_NORMALMAP in pre-r151
|
|
350
|
+
#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( TANGENTSPACE_NORMALMAP ) )
|
|
351
|
+
|
|
352
|
+
// Per-Pixel Tangent Space Normal Mapping
|
|
353
|
+
// http://hacksoflife.blogspot.ch/2009/11/per-pixel-tangent-space-normal-mapping.html
|
|
354
|
+
|
|
355
|
+
// three-vrm specific change: it requires \`uv\` as an input in order to support uv scrolls
|
|
356
|
+
|
|
357
|
+
// Temporary compat against shader change @ Three.js r126, r151
|
|
358
|
+
#if THREE_VRM_THREE_REVISION >= 151
|
|
359
|
+
|
|
360
|
+
mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {
|
|
361
|
+
|
|
362
|
+
vec3 q0 = dFdx( eye_pos.xyz );
|
|
363
|
+
vec3 q1 = dFdy( eye_pos.xyz );
|
|
364
|
+
vec2 st0 = dFdx( uv.st );
|
|
365
|
+
vec2 st1 = dFdy( uv.st );
|
|
366
|
+
|
|
367
|
+
vec3 N = surf_norm;
|
|
368
|
+
|
|
369
|
+
vec3 q1perp = cross( q1, N );
|
|
370
|
+
vec3 q0perp = cross( N, q0 );
|
|
371
|
+
|
|
372
|
+
vec3 T = q1perp * st0.x + q0perp * st1.x;
|
|
373
|
+
vec3 B = q1perp * st0.y + q0perp * st1.y;
|
|
374
|
+
|
|
375
|
+
float det = max( dot( T, T ), dot( B, B ) );
|
|
376
|
+
float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );
|
|
377
|
+
|
|
378
|
+
return mat3( T * scale, B * scale, N );
|
|
379
|
+
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
#else
|
|
383
|
+
|
|
384
|
+
vec3 perturbNormal2Arb( vec2 uv, vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {
|
|
385
|
+
|
|
386
|
+
vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );
|
|
387
|
+
vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );
|
|
388
|
+
vec2 st0 = dFdx( uv.st );
|
|
389
|
+
vec2 st1 = dFdy( uv.st );
|
|
390
|
+
|
|
391
|
+
vec3 N = normalize( surf_norm );
|
|
392
|
+
|
|
393
|
+
vec3 q1perp = cross( q1, N );
|
|
394
|
+
vec3 q0perp = cross( N, q0 );
|
|
395
|
+
|
|
396
|
+
vec3 T = q1perp * st0.x + q0perp * st1.x;
|
|
397
|
+
vec3 B = q1perp * st0.y + q0perp * st1.y;
|
|
398
|
+
|
|
399
|
+
// three-vrm specific change: Workaround for the issue that happens when delta of uv = 0.0
|
|
400
|
+
// TODO: Is this still required? Or shall I make a PR about it?
|
|
401
|
+
if ( length( T ) == 0.0 || length( B ) == 0.0 ) {
|
|
402
|
+
return surf_norm;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
float det = max( dot( T, T ), dot( B, B ) );
|
|
406
|
+
float scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );
|
|
407
|
+
|
|
408
|
+
return normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );
|
|
409
|
+
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
#endif
|
|
413
|
+
|
|
414
|
+
#endif
|
|
415
|
+
|
|
416
|
+
// #include <specularmap_pars_fragment>
|
|
417
|
+
#include <logdepthbuf_pars_fragment>
|
|
418
|
+
#include <clipping_planes_pars_fragment>
|
|
419
|
+
|
|
420
|
+
// == post correction ==========================================================
|
|
421
|
+
void postCorrection() {
|
|
422
|
+
#include <tonemapping_fragment>
|
|
423
|
+
#include <colorspace_fragment>
|
|
424
|
+
#include <fog_fragment>
|
|
425
|
+
#include <premultiplied_alpha_fragment>
|
|
426
|
+
#include <dithering_fragment>
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
// == main procedure ===========================================================
|
|
430
|
+
void main() {
|
|
431
|
+
#include <clipping_planes_fragment>
|
|
432
|
+
|
|
433
|
+
vec2 uv = vec2(0.5, 0.5);
|
|
434
|
+
|
|
435
|
+
#if ( defined( MTOON_USE_UV ) && !defined( MTOON_UVS_VERTEX_ONLY ) )
|
|
436
|
+
uv = vUv;
|
|
437
|
+
|
|
438
|
+
float uvAnimMask = 1.0;
|
|
439
|
+
#ifdef USE_UVANIMATIONMASKTEXTURE
|
|
440
|
+
vec2 uvAnimationMaskTextureUv = ( uvAnimationMaskTextureUvTransform * vec3( uv, 1 ) ).xy;
|
|
441
|
+
uvAnimMask = texture2D( uvAnimationMaskTexture, uvAnimationMaskTextureUv ).b;
|
|
442
|
+
#endif
|
|
443
|
+
|
|
444
|
+
float uvRotCos = cos( uvAnimationRotationPhase * uvAnimMask );
|
|
445
|
+
float uvRotSin = sin( uvAnimationRotationPhase * uvAnimMask );
|
|
446
|
+
uv = mat2( uvRotCos, -uvRotSin, uvRotSin, uvRotCos ) * ( uv - 0.5 ) + 0.5;
|
|
447
|
+
uv = uv + vec2( uvAnimationScrollXOffset, uvAnimationScrollYOffset ) * uvAnimMask;
|
|
448
|
+
#endif
|
|
449
|
+
|
|
450
|
+
#ifdef DEBUG_UV
|
|
451
|
+
gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );
|
|
452
|
+
#if ( defined( MTOON_USE_UV ) && !defined( MTOON_UVS_VERTEX_ONLY ) )
|
|
453
|
+
gl_FragColor = vec4( uv, 0.0, 1.0 );
|
|
454
|
+
#endif
|
|
455
|
+
return;
|
|
456
|
+
#endif
|
|
457
|
+
|
|
458
|
+
vec4 diffuseColor = vec4( litFactor, opacity );
|
|
459
|
+
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
|
|
460
|
+
vec3 totalEmissiveRadiance = emissive * emissiveIntensity;
|
|
461
|
+
|
|
462
|
+
#include <logdepthbuf_fragment>
|
|
463
|
+
|
|
464
|
+
// #include <map_fragment>
|
|
465
|
+
#ifdef USE_MAP
|
|
466
|
+
vec2 mapUv = ( mapUvTransform * vec3( uv, 1 ) ).xy;
|
|
467
|
+
vec4 sampledDiffuseColor = texture2D( map, mapUv );
|
|
468
|
+
#ifdef DECODE_VIDEO_TEXTURE
|
|
469
|
+
sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );
|
|
470
|
+
#endif
|
|
471
|
+
diffuseColor *= sampledDiffuseColor;
|
|
472
|
+
#endif
|
|
473
|
+
|
|
474
|
+
// #include <color_fragment>
|
|
475
|
+
#if ( defined( USE_COLOR ) && !defined( IGNORE_VERTEX_COLOR ) )
|
|
476
|
+
diffuseColor.rgb *= vColor;
|
|
477
|
+
#endif
|
|
478
|
+
|
|
479
|
+
// #include <alphamap_fragment>
|
|
480
|
+
|
|
481
|
+
#include <alphatest_fragment>
|
|
482
|
+
|
|
483
|
+
// #include <specularmap_fragment>
|
|
484
|
+
|
|
485
|
+
// #include <normal_fragment_begin>
|
|
486
|
+
float faceDirection = gl_FrontFacing ? 1.0 : -1.0;
|
|
487
|
+
|
|
488
|
+
#ifdef FLAT_SHADED
|
|
489
|
+
|
|
490
|
+
vec3 fdx = dFdx( vViewPosition );
|
|
491
|
+
vec3 fdy = dFdy( vViewPosition );
|
|
492
|
+
vec3 normal = normalize( cross( fdx, fdy ) );
|
|
493
|
+
|
|
494
|
+
#else
|
|
495
|
+
|
|
496
|
+
vec3 normal = normalize( vNormal );
|
|
497
|
+
|
|
498
|
+
#ifdef DOUBLE_SIDED
|
|
499
|
+
|
|
500
|
+
normal *= faceDirection;
|
|
501
|
+
|
|
502
|
+
#endif
|
|
503
|
+
|
|
504
|
+
#endif
|
|
505
|
+
|
|
506
|
+
#ifdef USE_NORMALMAP
|
|
507
|
+
|
|
508
|
+
vec2 normalMapUv = ( normalMapUvTransform * vec3( uv, 1 ) ).xy;
|
|
509
|
+
|
|
510
|
+
#endif
|
|
511
|
+
|
|
512
|
+
#ifdef USE_NORMALMAP_TANGENTSPACE
|
|
513
|
+
|
|
514
|
+
#ifdef USE_TANGENT
|
|
515
|
+
|
|
516
|
+
mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );
|
|
517
|
+
|
|
518
|
+
#else
|
|
519
|
+
|
|
520
|
+
mat3 tbn = getTangentFrame( - vViewPosition, normal, normalMapUv );
|
|
521
|
+
|
|
522
|
+
#endif
|
|
523
|
+
|
|
524
|
+
#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )
|
|
525
|
+
|
|
526
|
+
tbn[0] *= faceDirection;
|
|
527
|
+
tbn[1] *= faceDirection;
|
|
528
|
+
|
|
529
|
+
#endif
|
|
530
|
+
|
|
531
|
+
#endif
|
|
532
|
+
|
|
533
|
+
#ifdef USE_CLEARCOAT_NORMALMAP
|
|
534
|
+
|
|
535
|
+
#ifdef USE_TANGENT
|
|
536
|
+
|
|
537
|
+
mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );
|
|
538
|
+
|
|
539
|
+
#else
|
|
540
|
+
|
|
541
|
+
mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );
|
|
542
|
+
|
|
543
|
+
#endif
|
|
544
|
+
|
|
545
|
+
#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )
|
|
546
|
+
|
|
547
|
+
tbn2[0] *= faceDirection;
|
|
548
|
+
tbn2[1] *= faceDirection;
|
|
549
|
+
|
|
550
|
+
#endif
|
|
551
|
+
|
|
552
|
+
#endif
|
|
553
|
+
|
|
554
|
+
// non perturbed normal for clearcoat among others
|
|
555
|
+
|
|
556
|
+
vec3 nonPerturbedNormal = normal;
|
|
557
|
+
|
|
558
|
+
#ifdef OUTLINE
|
|
559
|
+
normal *= -1.0;
|
|
560
|
+
#endif
|
|
561
|
+
|
|
562
|
+
// #include <normal_fragment_maps>
|
|
563
|
+
|
|
564
|
+
// COMPAT: pre-r151
|
|
565
|
+
// USE_NORMALMAP_OBJECTSPACE used to be OBJECTSPACE_NORMALMAP in pre-r151
|
|
566
|
+
#if defined( USE_NORMALMAP_OBJECTSPACE ) || defined( OBJECTSPACE_NORMALMAP )
|
|
567
|
+
|
|
568
|
+
normal = texture2D( normalMap, normalMapUv ).xyz * 2.0 - 1.0; // overrides both flatShading and attribute normals
|
|
569
|
+
|
|
570
|
+
#ifdef FLIP_SIDED
|
|
571
|
+
|
|
572
|
+
normal = - normal;
|
|
573
|
+
|
|
574
|
+
#endif
|
|
575
|
+
|
|
576
|
+
#ifdef DOUBLE_SIDED
|
|
577
|
+
|
|
578
|
+
normal = normal * faceDirection;
|
|
579
|
+
|
|
580
|
+
#endif
|
|
581
|
+
|
|
582
|
+
normal = normalize( normalMatrix * normal );
|
|
583
|
+
|
|
584
|
+
// COMPAT: pre-r151
|
|
585
|
+
// USE_NORMALMAP_TANGENTSPACE used to be TANGENTSPACE_NORMALMAP in pre-r151
|
|
586
|
+
#elif defined( USE_NORMALMAP_TANGENTSPACE ) || defined( TANGENTSPACE_NORMALMAP )
|
|
587
|
+
|
|
588
|
+
vec3 mapN = texture2D( normalMap, normalMapUv ).xyz * 2.0 - 1.0;
|
|
589
|
+
mapN.xy *= normalScale;
|
|
590
|
+
|
|
591
|
+
// COMPAT: pre-r151
|
|
592
|
+
#if THREE_VRM_THREE_REVISION >= 151 || defined( USE_TANGENT )
|
|
593
|
+
|
|
594
|
+
normal = normalize( tbn * mapN );
|
|
595
|
+
|
|
596
|
+
#else
|
|
597
|
+
|
|
598
|
+
normal = perturbNormal2Arb( uv, -vViewPosition, normal, mapN, faceDirection );
|
|
599
|
+
|
|
600
|
+
#endif
|
|
601
|
+
|
|
602
|
+
#endif
|
|
603
|
+
|
|
604
|
+
// #include <emissivemap_fragment>
|
|
605
|
+
#ifdef USE_EMISSIVEMAP
|
|
606
|
+
vec2 emissiveMapUv = ( emissiveMapUvTransform * vec3( uv, 1 ) ).xy;
|
|
607
|
+
totalEmissiveRadiance *= texture2D( emissiveMap, emissiveMapUv ).rgb;
|
|
608
|
+
#endif
|
|
609
|
+
|
|
610
|
+
#ifdef DEBUG_NORMAL
|
|
611
|
+
gl_FragColor = vec4( 0.5 + 0.5 * normal, 1.0 );
|
|
612
|
+
return;
|
|
613
|
+
#endif
|
|
614
|
+
|
|
615
|
+
// -- MToon: lighting --------------------------------------------------------
|
|
616
|
+
// accumulation
|
|
617
|
+
// #include <lights_phong_fragment>
|
|
618
|
+
MToonMaterial material;
|
|
619
|
+
|
|
620
|
+
material.diffuseColor = diffuseColor.rgb;
|
|
621
|
+
|
|
622
|
+
material.shadeColor = shadeColorFactor;
|
|
623
|
+
#ifdef USE_SHADEMULTIPLYTEXTURE
|
|
624
|
+
vec2 shadeMultiplyTextureUv = ( shadeMultiplyTextureUvTransform * vec3( uv, 1 ) ).xy;
|
|
625
|
+
material.shadeColor *= texture2D( shadeMultiplyTexture, shadeMultiplyTextureUv ).rgb;
|
|
626
|
+
#endif
|
|
627
|
+
|
|
628
|
+
#if ( defined( USE_COLOR ) && !defined( IGNORE_VERTEX_COLOR ) )
|
|
629
|
+
material.shadeColor.rgb *= vColor;
|
|
630
|
+
#endif
|
|
631
|
+
|
|
632
|
+
material.shadingShift = shadingShiftFactor;
|
|
633
|
+
#ifdef USE_SHADINGSHIFTTEXTURE
|
|
634
|
+
vec2 shadingShiftTextureUv = ( shadingShiftTextureUvTransform * vec3( uv, 1 ) ).xy;
|
|
635
|
+
material.shadingShift += texture2D( shadingShiftTexture, shadingShiftTextureUv ).r * shadingShiftTextureScale;
|
|
636
|
+
#endif
|
|
637
|
+
|
|
638
|
+
// #include <lights_fragment_begin>
|
|
639
|
+
|
|
640
|
+
// MToon Specific changes:
|
|
641
|
+
// Since we want to take shadows into account of shading instead of irradiance,
|
|
642
|
+
// we had to modify the codes that multiplies the results of shadowmap into color of direct lights.
|
|
643
|
+
|
|
644
|
+
// COMPAT: pre-r156 uses a struct GeometricContext
|
|
645
|
+
#if THREE_VRM_THREE_REVISION >= 157
|
|
646
|
+
vec3 geometryPosition = - vViewPosition;
|
|
647
|
+
vec3 geometryNormal = normal;
|
|
648
|
+
vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );
|
|
649
|
+
|
|
650
|
+
vec3 geometryClearcoatNormal;
|
|
651
|
+
|
|
652
|
+
#ifdef USE_CLEARCOAT
|
|
653
|
+
|
|
654
|
+
geometryClearcoatNormal = clearcoatNormal;
|
|
655
|
+
|
|
656
|
+
#endif
|
|
657
|
+
#else
|
|
658
|
+
GeometricContext geometry;
|
|
659
|
+
|
|
660
|
+
geometry.position = - vViewPosition;
|
|
661
|
+
geometry.normal = normal;
|
|
662
|
+
geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );
|
|
663
|
+
|
|
664
|
+
#ifdef USE_CLEARCOAT
|
|
665
|
+
|
|
666
|
+
geometry.clearcoatNormal = clearcoatNormal;
|
|
667
|
+
|
|
668
|
+
#endif
|
|
669
|
+
#endif
|
|
670
|
+
|
|
671
|
+
IncidentLight directLight;
|
|
672
|
+
|
|
673
|
+
// since these variables will be used in unrolled loop, we have to define in prior
|
|
674
|
+
float shadow;
|
|
675
|
+
|
|
676
|
+
#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )
|
|
677
|
+
|
|
678
|
+
PointLight pointLight;
|
|
679
|
+
#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0
|
|
680
|
+
PointLightShadow pointLightShadow;
|
|
681
|
+
#endif
|
|
682
|
+
|
|
683
|
+
#pragma unroll_loop_start
|
|
684
|
+
for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
|
|
685
|
+
|
|
686
|
+
pointLight = pointLights[ i ];
|
|
687
|
+
|
|
688
|
+
// COMPAT: pre-r156 uses a struct GeometricContext
|
|
689
|
+
#if THREE_VRM_THREE_REVISION >= 157
|
|
690
|
+
getPointLightInfo( pointLight, geometryPosition, directLight );
|
|
691
|
+
#else
|
|
692
|
+
getPointLightInfo( pointLight, geometry, directLight );
|
|
693
|
+
#endif
|
|
694
|
+
|
|
695
|
+
shadow = 1.0;
|
|
696
|
+
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )
|
|
697
|
+
pointLightShadow = pointLightShadows[ i ];
|
|
698
|
+
// COMPAT: pre-r166
|
|
699
|
+
// r166 introduced shadowIntensity
|
|
700
|
+
#if THREE_VRM_THREE_REVISION >= 166
|
|
701
|
+
shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;
|
|
702
|
+
#else
|
|
703
|
+
shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;
|
|
704
|
+
#endif
|
|
705
|
+
#endif
|
|
706
|
+
|
|
707
|
+
// COMPAT: pre-r156 uses a struct GeometricContext
|
|
708
|
+
#if THREE_VRM_THREE_REVISION >= 157
|
|
709
|
+
RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, shadow, reflectedLight );
|
|
710
|
+
#else
|
|
711
|
+
RE_Direct( directLight, geometry, material, shadow, reflectedLight );
|
|
712
|
+
#endif
|
|
713
|
+
|
|
714
|
+
}
|
|
715
|
+
#pragma unroll_loop_end
|
|
716
|
+
|
|
717
|
+
#endif
|
|
718
|
+
|
|
719
|
+
#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )
|
|
720
|
+
|
|
721
|
+
SpotLight spotLight;
|
|
722
|
+
// COMPAT: pre-r144 uses NUM_SPOT_LIGHT_SHADOWS, r144+ uses NUM_SPOT_LIGHT_COORDS
|
|
723
|
+
#if THREE_VRM_THREE_REVISION >= 144
|
|
724
|
+
#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_COORDS > 0
|
|
725
|
+
SpotLightShadow spotLightShadow;
|
|
726
|
+
#endif
|
|
727
|
+
#elif defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0
|
|
728
|
+
SpotLightShadow spotLightShadow;
|
|
729
|
+
#endif
|
|
730
|
+
|
|
731
|
+
#pragma unroll_loop_start
|
|
732
|
+
for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
|
|
733
|
+
|
|
734
|
+
spotLight = spotLights[ i ];
|
|
735
|
+
|
|
736
|
+
// COMPAT: pre-r156 uses a struct GeometricContext
|
|
737
|
+
#if THREE_VRM_THREE_REVISION >= 157
|
|
738
|
+
getSpotLightInfo( spotLight, geometryPosition, directLight );
|
|
739
|
+
#else
|
|
740
|
+
getSpotLightInfo( spotLight, geometry, directLight );
|
|
741
|
+
#endif
|
|
742
|
+
|
|
743
|
+
shadow = 1.0;
|
|
744
|
+
// COMPAT: pre-r144 uses NUM_SPOT_LIGHT_SHADOWS and vSpotShadowCoord, r144+ uses NUM_SPOT_LIGHT_COORDS and vSpotLightCoord
|
|
745
|
+
// COMPAT: pre-r166 does not have shadowIntensity, r166+ has shadowIntensity
|
|
746
|
+
#if THREE_VRM_THREE_REVISION >= 166
|
|
747
|
+
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_COORDS )
|
|
748
|
+
spotLightShadow = spotLightShadows[ i ];
|
|
749
|
+
shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;
|
|
750
|
+
#endif
|
|
751
|
+
#elif THREE_VRM_THREE_REVISION >= 144
|
|
752
|
+
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_COORDS )
|
|
753
|
+
spotLightShadow = spotLightShadows[ i ];
|
|
754
|
+
shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;
|
|
755
|
+
#endif
|
|
756
|
+
#elif defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
|
|
757
|
+
spotLightShadow = spotLightShadows[ i ];
|
|
758
|
+
shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;
|
|
759
|
+
#endif
|
|
760
|
+
|
|
761
|
+
// COMPAT: pre-r156 uses a struct GeometricContext
|
|
762
|
+
#if THREE_VRM_THREE_REVISION >= 157
|
|
763
|
+
RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, shadow, reflectedLight );
|
|
764
|
+
#else
|
|
765
|
+
RE_Direct( directLight, geometry, material, shadow, reflectedLight );
|
|
766
|
+
#endif
|
|
767
|
+
|
|
768
|
+
}
|
|
769
|
+
#pragma unroll_loop_end
|
|
770
|
+
|
|
771
|
+
#endif
|
|
772
|
+
|
|
773
|
+
#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )
|
|
774
|
+
|
|
775
|
+
DirectionalLight directionalLight;
|
|
776
|
+
#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0
|
|
777
|
+
DirectionalLightShadow directionalLightShadow;
|
|
778
|
+
#endif
|
|
779
|
+
|
|
780
|
+
#pragma unroll_loop_start
|
|
781
|
+
for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
|
|
782
|
+
|
|
783
|
+
directionalLight = directionalLights[ i ];
|
|
784
|
+
|
|
785
|
+
// COMPAT: pre-r156 uses a struct GeometricContext
|
|
786
|
+
#if THREE_VRM_THREE_REVISION >= 157
|
|
787
|
+
getDirectionalLightInfo( directionalLight, directLight );
|
|
788
|
+
#else
|
|
789
|
+
getDirectionalLightInfo( directionalLight, geometry, directLight );
|
|
790
|
+
#endif
|
|
791
|
+
|
|
792
|
+
shadow = 1.0;
|
|
793
|
+
#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )
|
|
794
|
+
directionalLightShadow = directionalLightShadows[ i ];
|
|
795
|
+
// COMPAT: pre-r166
|
|
796
|
+
// r166 introduced shadowIntensity
|
|
797
|
+
#if THREE_VRM_THREE_REVISION >= 166
|
|
798
|
+
shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
|
|
799
|
+
#else
|
|
800
|
+
shadow = all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
|
|
801
|
+
#endif
|
|
802
|
+
#endif
|
|
803
|
+
|
|
804
|
+
// COMPAT: pre-r156 uses a struct GeometricContext
|
|
805
|
+
#if THREE_VRM_THREE_REVISION >= 157
|
|
806
|
+
RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, shadow, reflectedLight );
|
|
807
|
+
#else
|
|
808
|
+
RE_Direct( directLight, geometry, material, shadow, reflectedLight );
|
|
809
|
+
#endif
|
|
810
|
+
|
|
811
|
+
}
|
|
812
|
+
#pragma unroll_loop_end
|
|
813
|
+
|
|
814
|
+
#endif
|
|
815
|
+
|
|
816
|
+
// #if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )
|
|
817
|
+
|
|
818
|
+
// RectAreaLight rectAreaLight;
|
|
819
|
+
|
|
820
|
+
// #pragma unroll_loop_start
|
|
821
|
+
// for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {
|
|
822
|
+
|
|
823
|
+
// rectAreaLight = rectAreaLights[ i ];
|
|
824
|
+
// RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );
|
|
825
|
+
|
|
826
|
+
// }
|
|
827
|
+
// #pragma unroll_loop_end
|
|
828
|
+
|
|
829
|
+
// #endif
|
|
830
|
+
|
|
831
|
+
#if defined( RE_IndirectDiffuse )
|
|
832
|
+
|
|
833
|
+
vec3 iblIrradiance = vec3( 0.0 );
|
|
834
|
+
|
|
835
|
+
vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );
|
|
836
|
+
|
|
837
|
+
// COMPAT: pre-r156 uses a struct GeometricContext
|
|
838
|
+
// COMPAT: pre-r156 doesn't have a define USE_LIGHT_PROBES
|
|
839
|
+
#if THREE_VRM_THREE_REVISION >= 157
|
|
840
|
+
#if defined( USE_LIGHT_PROBES )
|
|
841
|
+
irradiance += getLightProbeIrradiance( lightProbe, geometryNormal );
|
|
842
|
+
#endif
|
|
843
|
+
#else
|
|
844
|
+
irradiance += getLightProbeIrradiance( lightProbe, geometry.normal );
|
|
845
|
+
#endif
|
|
846
|
+
|
|
847
|
+
#if ( NUM_HEMI_LIGHTS > 0 )
|
|
848
|
+
|
|
849
|
+
#pragma unroll_loop_start
|
|
850
|
+
for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
|
|
851
|
+
|
|
852
|
+
// COMPAT: pre-r156 uses a struct GeometricContext
|
|
853
|
+
#if THREE_VRM_THREE_REVISION >= 157
|
|
854
|
+
irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );
|
|
855
|
+
#else
|
|
856
|
+
irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );
|
|
857
|
+
#endif
|
|
858
|
+
|
|
859
|
+
}
|
|
860
|
+
#pragma unroll_loop_end
|
|
861
|
+
|
|
862
|
+
#endif
|
|
863
|
+
|
|
864
|
+
#endif
|
|
865
|
+
|
|
866
|
+
// #if defined( RE_IndirectSpecular )
|
|
867
|
+
|
|
868
|
+
// vec3 radiance = vec3( 0.0 );
|
|
869
|
+
// vec3 clearcoatRadiance = vec3( 0.0 );
|
|
870
|
+
|
|
871
|
+
// #endif
|
|
872
|
+
|
|
873
|
+
#include <lights_fragment_maps>
|
|
874
|
+
#include <lights_fragment_end>
|
|
875
|
+
|
|
876
|
+
// modulation
|
|
877
|
+
#include <aomap_fragment>
|
|
878
|
+
|
|
879
|
+
vec3 col = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;
|
|
880
|
+
|
|
881
|
+
#ifdef DEBUG_LITSHADERATE
|
|
882
|
+
gl_FragColor = vec4( col, diffuseColor.a );
|
|
883
|
+
postCorrection();
|
|
884
|
+
return;
|
|
885
|
+
#endif
|
|
886
|
+
|
|
887
|
+
// -- MToon: rim lighting -----------------------------------------
|
|
888
|
+
vec3 viewDir = normalize( vViewPosition );
|
|
889
|
+
|
|
890
|
+
#ifndef PHYSICALLY_CORRECT_LIGHTS
|
|
891
|
+
reflectedLight.directSpecular /= PI;
|
|
892
|
+
#endif
|
|
893
|
+
vec3 rimMix = mix( vec3( 1.0 ), reflectedLight.directSpecular, rimLightingMixFactor );
|
|
894
|
+
|
|
895
|
+
vec3 rim = parametricRimColorFactor * pow( saturate( 1.0 - dot( viewDir, normal ) + parametricRimLiftFactor ), parametricRimFresnelPowerFactor );
|
|
896
|
+
|
|
897
|
+
#ifdef USE_MATCAPTEXTURE
|
|
898
|
+
{
|
|
899
|
+
vec3 x = normalize( vec3( viewDir.z, 0.0, -viewDir.x ) );
|
|
900
|
+
vec3 y = cross( viewDir, x ); // guaranteed to be normalized
|
|
901
|
+
vec2 sphereUv = 0.5 + 0.5 * vec2( dot( x, normal ), -dot( y, normal ) );
|
|
902
|
+
sphereUv = ( matcapTextureUvTransform * vec3( sphereUv, 1 ) ).xy;
|
|
903
|
+
vec3 matcap = texture2D( matcapTexture, sphereUv ).rgb;
|
|
904
|
+
rim += matcapFactor * matcap;
|
|
905
|
+
}
|
|
906
|
+
#endif
|
|
907
|
+
|
|
908
|
+
#ifdef USE_RIMMULTIPLYTEXTURE
|
|
909
|
+
vec2 rimMultiplyTextureUv = ( rimMultiplyTextureUvTransform * vec3( uv, 1 ) ).xy;
|
|
910
|
+
rim *= texture2D( rimMultiplyTexture, rimMultiplyTextureUv ).rgb;
|
|
911
|
+
#endif
|
|
912
|
+
|
|
913
|
+
col += rimMix * rim;
|
|
914
|
+
|
|
915
|
+
// -- MToon: Emission --------------------------------------------------------
|
|
916
|
+
col += totalEmissiveRadiance;
|
|
917
|
+
|
|
918
|
+
// #include <envmap_fragment>
|
|
919
|
+
|
|
920
|
+
// -- Almost done! -----------------------------------------------------------
|
|
921
|
+
#if defined( OUTLINE )
|
|
922
|
+
col = outlineColorFactor.rgb * mix( vec3( 1.0 ), col, outlineLightingMixFactor );
|
|
923
|
+
#endif
|
|
924
|
+
|
|
925
|
+
#ifdef OPAQUE
|
|
926
|
+
diffuseColor.a = 1.0;
|
|
927
|
+
#endif
|
|
928
|
+
|
|
929
|
+
gl_FragColor = vec4( col, diffuseColor.a );
|
|
930
|
+
postCorrection();
|
|
931
|
+
}
|
|
932
|
+
`,Mt={None:`none`,Normal:`normal`,LitShadeRate:`litShadeRate`,UV:`uv`},Nt={None:`none`,WorldCoordinates:`worldCoordinates`,ScreenCoordinates:`screenCoordinates`};function Pt(e){return e.colorSpace}var Ft=class extends m{constructor(e={}){super({vertexShader:At,fragmentShader:jt}),this.uvAnimationScrollXSpeedFactor=0,this.uvAnimationScrollYSpeedFactor=0,this.uvAnimationRotationSpeedFactor=0,this.fog=!0,this.normalMapType=0,this._ignoreVertexColor=!0,this._v0CompatShade=!1,this._debugMode=Mt.None,this._outlineWidthMode=Nt.None,this._isOutline=!1,e.transparentWithZWrite&&(e.depthWrite=!0),delete e.transparentWithZWrite,e.fog=!0,e.lights=!0,e.clipping=!0,this.uniforms=i.merge([w.common,w.normalmap,w.emissivemap,w.fog,w.lights,{litFactor:{value:new b(1,1,1)},mapUvTransform:{value:new _},colorAlpha:{value:1},normalMapUvTransform:{value:new _},shadeColorFactor:{value:new b(0,0,0)},shadeMultiplyTexture:{value:null},shadeMultiplyTextureUvTransform:{value:new _},shadingShiftFactor:{value:0},shadingShiftTexture:{value:null},shadingShiftTextureUvTransform:{value:new _},shadingShiftTextureScale:{value:1},shadingToonyFactor:{value:.9},giEqualizationFactor:{value:.9},matcapFactor:{value:new b(1,1,1)},matcapTexture:{value:null},matcapTextureUvTransform:{value:new _},parametricRimColorFactor:{value:new b(0,0,0)},rimMultiplyTexture:{value:null},rimMultiplyTextureUvTransform:{value:new _},rimLightingMixFactor:{value:1},parametricRimFresnelPowerFactor:{value:5},parametricRimLiftFactor:{value:0},emissive:{value:new b(0,0,0)},emissiveIntensity:{value:1},emissiveMapUvTransform:{value:new _},outlineWidthMultiplyTexture:{value:null},outlineWidthMultiplyTextureUvTransform:{value:new _},outlineWidthFactor:{value:0},outlineColorFactor:{value:new b(0,0,0)},outlineLightingMixFactor:{value:1},uvAnimationMaskTexture:{value:null},uvAnimationMaskTextureUvTransform:{value:new _},uvAnimationScrollXOffset:{value:0},uvAnimationScrollYOffset:{value:0},uvAnimationRotationPhase:{value:0}},e.uniforms??{}]),this.setValues(e),this._uploadUniformsWorkaround(),this.customProgramCacheKey=()=>[...Object.entries(this._generateDefines()).map(([e,t])=>`${e}:${t}`),this.matcapTexture?`matcapTextureColorSpace:${Pt(this.matcapTexture)}`:``,this.shadeMultiplyTexture?`shadeMultiplyTextureColorSpace:${Pt(this.shadeMultiplyTexture)}`:``,this.rimMultiplyTexture?`rimMultiplyTextureColorSpace:${Pt(this.rimMultiplyTexture)}`:``].join(`,`),this.onBeforeCompile=e=>{let t=Object.entries(Dt(Dt({},this._generateDefines()),this.defines)).filter(([e,t])=>!!t).map(([e,t])=>`#define ${e} ${t}`).join(`
|
|
933
|
+
`)+`
|
|
934
|
+
`;e.vertexShader=t+e.vertexShader,e.fragmentShader=t+e.fragmentShader}}get color(){return this.uniforms.litFactor.value}set color(e){this.uniforms.litFactor.value=e}get map(){return this.uniforms.map.value}set map(e){this.uniforms.map.value=e}get normalMap(){return this.uniforms.normalMap.value}set normalMap(e){this.uniforms.normalMap.value=e}get normalScale(){return this.uniforms.normalScale.value}set normalScale(e){this.uniforms.normalScale.value=e}get emissive(){return this.uniforms.emissive.value}set emissive(e){this.uniforms.emissive.value=e}get emissiveIntensity(){return this.uniforms.emissiveIntensity.value}set emissiveIntensity(e){this.uniforms.emissiveIntensity.value=e}get emissiveMap(){return this.uniforms.emissiveMap.value}set emissiveMap(e){this.uniforms.emissiveMap.value=e}get shadeColorFactor(){return this.uniforms.shadeColorFactor.value}set shadeColorFactor(e){this.uniforms.shadeColorFactor.value=e}get shadeMultiplyTexture(){return this.uniforms.shadeMultiplyTexture.value}set shadeMultiplyTexture(e){this.uniforms.shadeMultiplyTexture.value=e}get shadingShiftFactor(){return this.uniforms.shadingShiftFactor.value}set shadingShiftFactor(e){this.uniforms.shadingShiftFactor.value=e}get shadingShiftTexture(){return this.uniforms.shadingShiftTexture.value}set shadingShiftTexture(e){this.uniforms.shadingShiftTexture.value=e}get shadingShiftTextureScale(){return this.uniforms.shadingShiftTextureScale.value}set shadingShiftTextureScale(e){this.uniforms.shadingShiftTextureScale.value=e}get shadingToonyFactor(){return this.uniforms.shadingToonyFactor.value}set shadingToonyFactor(e){this.uniforms.shadingToonyFactor.value=e}get giEqualizationFactor(){return this.uniforms.giEqualizationFactor.value}set giEqualizationFactor(e){this.uniforms.giEqualizationFactor.value=e}get matcapFactor(){return this.uniforms.matcapFactor.value}set matcapFactor(e){this.uniforms.matcapFactor.value=e}get matcapTexture(){return this.uniforms.matcapTexture.value}set matcapTexture(e){this.uniforms.matcapTexture.value=e}get parametricRimColorFactor(){return this.uniforms.parametricRimColorFactor.value}set parametricRimColorFactor(e){this.uniforms.parametricRimColorFactor.value=e}get rimMultiplyTexture(){return this.uniforms.rimMultiplyTexture.value}set rimMultiplyTexture(e){this.uniforms.rimMultiplyTexture.value=e}get rimLightingMixFactor(){return this.uniforms.rimLightingMixFactor.value}set rimLightingMixFactor(e){this.uniforms.rimLightingMixFactor.value=e}get parametricRimFresnelPowerFactor(){return this.uniforms.parametricRimFresnelPowerFactor.value}set parametricRimFresnelPowerFactor(e){this.uniforms.parametricRimFresnelPowerFactor.value=e}get parametricRimLiftFactor(){return this.uniforms.parametricRimLiftFactor.value}set parametricRimLiftFactor(e){this.uniforms.parametricRimLiftFactor.value=e}get outlineWidthMultiplyTexture(){return this.uniforms.outlineWidthMultiplyTexture.value}set outlineWidthMultiplyTexture(e){this.uniforms.outlineWidthMultiplyTexture.value=e}get outlineWidthFactor(){return this.uniforms.outlineWidthFactor.value}set outlineWidthFactor(e){this.uniforms.outlineWidthFactor.value=e}get outlineColorFactor(){return this.uniforms.outlineColorFactor.value}set outlineColorFactor(e){this.uniforms.outlineColorFactor.value=e}get outlineLightingMixFactor(){return this.uniforms.outlineLightingMixFactor.value}set outlineLightingMixFactor(e){this.uniforms.outlineLightingMixFactor.value=e}get uvAnimationMaskTexture(){return this.uniforms.uvAnimationMaskTexture.value}set uvAnimationMaskTexture(e){this.uniforms.uvAnimationMaskTexture.value=e}get uvAnimationScrollXOffset(){return this.uniforms.uvAnimationScrollXOffset.value}set uvAnimationScrollXOffset(e){this.uniforms.uvAnimationScrollXOffset.value=e}get uvAnimationScrollYOffset(){return this.uniforms.uvAnimationScrollYOffset.value}set uvAnimationScrollYOffset(e){this.uniforms.uvAnimationScrollYOffset.value=e}get uvAnimationRotationPhase(){return this.uniforms.uvAnimationRotationPhase.value}set uvAnimationRotationPhase(e){this.uniforms.uvAnimationRotationPhase.value=e}get ignoreVertexColor(){return this._ignoreVertexColor}set ignoreVertexColor(e){this._ignoreVertexColor=e,this.needsUpdate=!0}get v0CompatShade(){return this._v0CompatShade}set v0CompatShade(e){this._v0CompatShade=e,this.needsUpdate=!0}get debugMode(){return this._debugMode}set debugMode(e){this._debugMode=e,this.needsUpdate=!0}get outlineWidthMode(){return this._outlineWidthMode}set outlineWidthMode(e){this._outlineWidthMode=e,this.needsUpdate=!0}get isOutline(){return this._isOutline}set isOutline(e){this._isOutline=e,this.needsUpdate=!0}get isMToonMaterial(){return!0}update(e){this._uploadUniformsWorkaround(),this._updateUVAnimation(e)}copy(e){return super.copy(e),this.map=e.map,this.normalMap=e.normalMap,this.emissiveMap=e.emissiveMap,this.shadeMultiplyTexture=e.shadeMultiplyTexture,this.shadingShiftTexture=e.shadingShiftTexture,this.matcapTexture=e.matcapTexture,this.rimMultiplyTexture=e.rimMultiplyTexture,this.outlineWidthMultiplyTexture=e.outlineWidthMultiplyTexture,this.uvAnimationMaskTexture=e.uvAnimationMaskTexture,this.normalMapType=e.normalMapType,this.uvAnimationScrollXSpeedFactor=e.uvAnimationScrollXSpeedFactor,this.uvAnimationScrollYSpeedFactor=e.uvAnimationScrollYSpeedFactor,this.uvAnimationRotationSpeedFactor=e.uvAnimationRotationSpeedFactor,this.ignoreVertexColor=e.ignoreVertexColor,this.v0CompatShade=e.v0CompatShade,this.debugMode=e.debugMode,this.outlineWidthMode=e.outlineWidthMode,this.isOutline=e.isOutline,this.needsUpdate=!0,this}_updateUVAnimation(e){this.uniforms.uvAnimationScrollXOffset.value+=e*this.uvAnimationScrollXSpeedFactor,this.uniforms.uvAnimationScrollYOffset.value+=e*this.uvAnimationScrollYSpeedFactor,this.uniforms.uvAnimationRotationPhase.value+=e*this.uvAnimationRotationSpeedFactor,this.uniforms.alphaTest.value=this.alphaTest,this.uniformsNeedUpdate=!0}_uploadUniformsWorkaround(){this.uniforms.opacity.value=this.opacity,this._updateTextureMatrix(this.uniforms.map,this.uniforms.mapUvTransform),this._updateTextureMatrix(this.uniforms.normalMap,this.uniforms.normalMapUvTransform),this._updateTextureMatrix(this.uniforms.emissiveMap,this.uniforms.emissiveMapUvTransform),this._updateTextureMatrix(this.uniforms.shadeMultiplyTexture,this.uniforms.shadeMultiplyTextureUvTransform),this._updateTextureMatrix(this.uniforms.shadingShiftTexture,this.uniforms.shadingShiftTextureUvTransform),this._updateTextureMatrix(this.uniforms.matcapTexture,this.uniforms.matcapTextureUvTransform),this._updateTextureMatrix(this.uniforms.rimMultiplyTexture,this.uniforms.rimMultiplyTextureUvTransform),this._updateTextureMatrix(this.uniforms.outlineWidthMultiplyTexture,this.uniforms.outlineWidthMultiplyTextureUvTransform),this._updateTextureMatrix(this.uniforms.uvAnimationMaskTexture,this.uniforms.uvAnimationMaskTextureUvTransform),this.uniformsNeedUpdate=!0}_generateDefines(){let e=this.outlineWidthMultiplyTexture!==null,t=this.map!==null||this.normalMap!==null||this.emissiveMap!==null||this.shadeMultiplyTexture!==null||this.shadingShiftTexture!==null||this.rimMultiplyTexture!==null||this.uvAnimationMaskTexture!==null;return{THREE_VRM_THREE_REVISION:186,OUTLINE:this._isOutline,MTOON_USE_UV:e||t,MTOON_UVS_VERTEX_ONLY:e&&!t,V0_COMPAT_SHADE:this._v0CompatShade,USE_SHADEMULTIPLYTEXTURE:this.shadeMultiplyTexture!==null,USE_SHADINGSHIFTTEXTURE:this.shadingShiftTexture!==null,USE_MATCAPTEXTURE:this.matcapTexture!==null,USE_RIMMULTIPLYTEXTURE:this.rimMultiplyTexture!==null,USE_OUTLINEWIDTHMULTIPLYTEXTURE:this._isOutline&&this.outlineWidthMultiplyTexture!==null,USE_UVANIMATIONMASKTEXTURE:this.uvAnimationMaskTexture!==null,IGNORE_VERTEX_COLOR:this._ignoreVertexColor===!0,DEBUG_NORMAL:this._debugMode===`normal`,DEBUG_LITSHADERATE:this._debugMode===`litShadeRate`,DEBUG_UV:this._debugMode===`uv`,OUTLINE_WIDTH_SCREEN:this._isOutline&&this._outlineWidthMode===Nt.ScreenCoordinates}}_updateTextureMatrix(e,t){e.value&&(e.value.matrixAutoUpdate&&e.value.updateMatrix(),t.value.copy(e.value.matrix))}},It=new Set([`1.0`,`1.0-beta`]),Lt=class e{get name(){return e.EXTENSION_NAME}constructor(e,t={}){this.parser=e,this.materialType=t.materialType??Ft,this.renderOrderOffset=t.renderOrderOffset??0,this.v0CompatShade=t.v0CompatShade??!1,this.debugMode=t.debugMode??`none`,this._mToonMaterialSet=new Set}beforeRoot(){return U(this,null,function*(){this._removeUnlitExtensionIfMToonExists()})}afterRoot(e){return U(this,null,function*(){e.userData.vrmMToonMaterials=Array.from(this._mToonMaterialSet)})}getMaterialType(e){return this._getMToonExtension(e)?this.materialType:null}extendMaterialParams(e,t){let n=this._getMToonExtension(e);return n?this._extendMaterialParams(n,t):null}loadMesh(e){return U(this,null,function*(){let t=this.parser,n=t.json.meshes?.[e];if(n==null)throw Error(`MToonMaterialLoaderPlugin: Attempt to use meshes[${e}] of glTF but the mesh doesn't exist`);let r=n.primitives,i=yield t.loadMesh(e);if(r.length===1){let e=i,t=r[0].material;t!=null&&this._setupPrimitive(e,t)}else{let e=i;for(let t=0;t<r.length;t++){let n=e.children[t],i=r[t].material;i!=null&&this._setupPrimitive(n,i)}}return i})}_removeUnlitExtensionIfMToonExists(){this.parser.json.materials?.map((e,t)=>{this._getMToonExtension(t)&&e.extensions?.KHR_materials_unlit&&delete e.extensions.KHR_materials_unlit})}_getMToonExtension(t){let n=this.parser.json.materials?.[t];if(n==null){console.warn(`MToonMaterialLoaderPlugin: Attempt to use materials[${t}] of glTF but the material doesn't exist`);return}let r=n.extensions?.[e.EXTENSION_NAME];if(r==null)return;let i=r.specVersion;if(!It.has(i)){console.warn(`MToonMaterialLoaderPlugin: Unknown ${e.EXTENSION_NAME} specVersion "${i}"`);return}return r}_extendMaterialParams(e,t){return U(this,null,function*(){delete t.metalness,delete t.roughness;let n=new kt(this.parser,t);n.assignPrimitive(`transparentWithZWrite`,e.transparentWithZWrite),n.assignColor(`shadeColorFactor`,e.shadeColorFactor),n.assignTexture(`shadeMultiplyTexture`,e.shadeMultiplyTexture,!0),n.assignPrimitive(`shadingShiftFactor`,e.shadingShiftFactor),n.assignTexture(`shadingShiftTexture`,e.shadingShiftTexture,!0),n.assignPrimitive(`shadingShiftTextureScale`,e.shadingShiftTexture?.scale),n.assignPrimitive(`shadingToonyFactor`,e.shadingToonyFactor),n.assignPrimitive(`giEqualizationFactor`,e.giEqualizationFactor),n.assignColor(`matcapFactor`,e.matcapFactor),n.assignTexture(`matcapTexture`,e.matcapTexture,!0),n.assignColor(`parametricRimColorFactor`,e.parametricRimColorFactor),n.assignTexture(`rimMultiplyTexture`,e.rimMultiplyTexture,!0),n.assignPrimitive(`rimLightingMixFactor`,e.rimLightingMixFactor),n.assignPrimitive(`parametricRimFresnelPowerFactor`,e.parametricRimFresnelPowerFactor),n.assignPrimitive(`parametricRimLiftFactor`,e.parametricRimLiftFactor),n.assignPrimitive(`outlineWidthMode`,e.outlineWidthMode),n.assignPrimitive(`outlineWidthFactor`,e.outlineWidthFactor),n.assignTexture(`outlineWidthMultiplyTexture`,e.outlineWidthMultiplyTexture,!1),n.assignColor(`outlineColorFactor`,e.outlineColorFactor),n.assignPrimitive(`outlineLightingMixFactor`,e.outlineLightingMixFactor),n.assignTexture(`uvAnimationMaskTexture`,e.uvAnimationMaskTexture,!1),n.assignPrimitive(`uvAnimationScrollXSpeedFactor`,e.uvAnimationScrollXSpeedFactor),n.assignPrimitive(`uvAnimationScrollYSpeedFactor`,e.uvAnimationScrollYSpeedFactor),n.assignPrimitive(`uvAnimationRotationSpeedFactor`,e.uvAnimationRotationSpeedFactor),n.assignPrimitive(`v0CompatShade`,this.v0CompatShade),n.assignPrimitive(`debugMode`,this.debugMode),yield n.pending})}_setupPrimitive(e,t){let n=this._getMToonExtension(t);if(n){e.renderOrder=this._parseRenderOrder(n)+this.renderOrderOffset,this._generateOutline(e),this._addToMaterialSet(e);return}}_shouldGenerateOutline(e){return typeof e.outlineWidthMode==`string`&&e.outlineWidthMode!==`none`&&typeof e.outlineWidthFactor==`number`&&e.outlineWidthFactor>0}_generateOutline(e){let t=e.material;if(!(t instanceof ee)||!this._shouldGenerateOutline(t))return;e.material=[t];let n=t.clone();n.name+=` (Outline)`,n.isOutline=!0,n.side=1,e.material.push(n);let r=e.geometry,i=r.index?r.index.count:r.attributes.position.count/3;r.addGroup(0,i,0),r.addGroup(0,i,1)}_addToMaterialSet(e){let t=e.material,n=new Set;Array.isArray(t)?t.forEach(e=>n.add(e)):n.add(t);for(let e of n)this._mToonMaterialSet.add(e)}_parseRenderOrder(e){return(e.transparentWithZWrite?0:19)+(e.renderQueueOffsetNumber??0)}};Lt.EXTENSION_NAME=`VRMC_materials_mtoon`;var Rt=Lt,zt=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),Bt=class e{get name(){return e.EXTENSION_NAME}constructor(e){this.parser=e}extendMaterialParams(e,t){return zt(this,null,function*(){let n=this._getHDREmissiveMultiplierExtension(e);n!=null&&(console.warn("VRMMaterialsHDREmissiveMultiplierLoaderPlugin: `VRMC_materials_hdr_emissiveMultiplier` is archived. Use `KHR_materials_emissive_strength` instead."),t.emissiveIntensity=n.emissiveMultiplier)})}_getHDREmissiveMultiplierExtension(t){let n=this.parser.json.materials?.[t];if(n==null){console.warn(`VRMMaterialsHDREmissiveMultiplierLoaderPlugin: Attempt to use materials[${t}] of glTF but the material doesn't exist`);return}let r=n.extensions?.[e.EXTENSION_NAME];if(r!=null)return r}};Bt.EXTENSION_NAME=`VRMC_materials_hdr_emissiveMultiplier`;var Vt=Bt,Ht=Object.defineProperty,Ut=Object.defineProperties,Wt=Object.getOwnPropertyDescriptors,Gt=Object.getOwnPropertySymbols,Kt=Object.prototype.hasOwnProperty,qt=Object.prototype.propertyIsEnumerable,Jt=(e,t,n)=>t in e?Ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,W=(e,t)=>{for(var n in t||={})Kt.call(t,n)&&Jt(e,n,t[n]);if(Gt)for(var n of Gt(t))qt.call(t,n)&&Jt(e,n,t[n]);return e},Yt=(e,t)=>Ut(e,Wt(t)),Xt=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())});function G(e){return e**2.2}var Zt=class{get name(){return`VRMMaterialsV0CompatPlugin`}constructor(e){this.parser=e,this._renderQueueMapTransparent=new Map,this._renderQueueMapTransparentZWrite=new Map;let t=this.parser.json;t.extensionsUsed=t.extensionsUsed??[],t.extensionsUsed.indexOf(`KHR_texture_transform`)===-1&&t.extensionsUsed.push(`KHR_texture_transform`)}beforeRoot(){return Xt(this,null,function*(){let e=this.parser.json,t=e.extensions?.VRM?.materialProperties;t&&(this._populateRenderQueueMap(t),t.forEach((t,n)=>{let r=e.materials?.[n];if(r==null){console.warn(`VRMMaterialsV0CompatPlugin: Attempt to use materials[${n}] of glTF but the material doesn't exist`);return}if(t.shader===`VRM/MToon`){let i=this._parseV0MToonProperties(t,r);e.materials[n]=i}else if(t.shader?.startsWith(`VRM/Unlit`)){let i=this._parseV0UnlitProperties(t,r);e.materials[n]=i}else t.shader===`VRM_USE_GLTFSHADER`||console.warn(`VRMMaterialsV0CompatPlugin: Unknown shader: ${t.shader}`)}))})}_parseV0MToonProperties(e,t){let n=e.keywordMap?._ALPHABLEND_ON??!1,r=e.floatProperties?._ZWrite===1&&n,i=this._v0ParseRenderQueue(e),a=e.keywordMap?._ALPHATEST_ON??!1,o=n?`BLEND`:a?`MASK`:`OPAQUE`,s=a?e.floatProperties?._Cutoff??.5:void 0,c=(e.floatProperties?._CullMode??2)===0,l=this._portTextureTransform(e),u=(e.vectorProperties?._Color??[1,1,1,1]).map((e,t)=>t===3?e:G(e)),d=e.textureProperties?._MainTex,f=d==null?void 0:{index:d,extensions:W({},l)},p=e.floatProperties?._BumpScale??1,m=e.textureProperties?._BumpMap,h=m==null?void 0:{index:m,scale:p,extensions:W({},l)},ee=(e.vectorProperties?._EmissionColor??[0,0,0,1]).map(G),te=e.textureProperties?._EmissionMap,g=te==null?void 0:{index:te,extensions:W({},l)},_=(e.vectorProperties?._ShadeColor??[.97,.81,.86,1]).map(G),v=e.textureProperties?._ShadeTexture,ne=v==null?void 0:{index:v,extensions:W({},l)},y=e.floatProperties?._ShadeShift??0,b=e.floatProperties?._ShadeToony??.9;b=S.lerp(b,1,.5+.5*y),y=-y-(1-b);let x=e.floatProperties?._IndirectLightIntensity??.1,re=x?1-x:void 0,C=e.textureProperties?._SphereAdd,w=C==null?void 0:[1,1,1],T=C==null?void 0:{index:C},E=e.floatProperties?._RimLightingMix??0,D=e.textureProperties?._RimTexture,ie=D==null?void 0:{index:D,extensions:W({},l)},ae=(e.vectorProperties?._RimColor??[0,0,0,1]).map(G),oe=e.floatProperties?._RimFresnelPower??1,O=e.floatProperties?._RimLift??0,se=[`none`,`worldCoordinates`,`screenCoordinates`][e.floatProperties?._OutlineWidthMode??0],k=e.floatProperties?._OutlineWidth??0;k=.01*k;let A=e.textureProperties?._OutlineWidthTexture,ce=A==null?void 0:{index:A,extensions:W({},l)},le=(e.vectorProperties?._OutlineColor??[0,0,0]).map(G),ue=(e.floatProperties?._OutlineColorMode??0)===1?e.floatProperties?._OutlineLightingMix??1:0,j=e.textureProperties?._UvAnimMaskTexture,M=j==null?void 0:{index:j,extensions:W({},l)},de=e.floatProperties?._UvAnimScrollX??0,N=e.floatProperties?._UvAnimScrollY??0;N!=null&&(N=-N);let P=e.floatProperties?._UvAnimRotation??0,fe={specVersion:`1.0`,transparentWithZWrite:r,renderQueueOffsetNumber:i,shadeColorFactor:_,shadeMultiplyTexture:ne,shadingShiftFactor:y,shadingToonyFactor:b,giEqualizationFactor:re,matcapFactor:w,matcapTexture:T,rimLightingMixFactor:E,rimMultiplyTexture:ie,parametricRimColorFactor:ae,parametricRimFresnelPowerFactor:oe,parametricRimLiftFactor:O,outlineWidthMode:se,outlineWidthFactor:k,outlineWidthMultiplyTexture:ce,outlineColorFactor:le,outlineLightingMixFactor:ue,uvAnimationMaskTexture:M,uvAnimationScrollXSpeedFactor:de,uvAnimationScrollYSpeedFactor:N,uvAnimationRotationSpeedFactor:P};return Yt(W({},t),{pbrMetallicRoughness:{baseColorFactor:u,baseColorTexture:f},normalTexture:h,emissiveTexture:g,emissiveFactor:ee,alphaMode:o,alphaCutoff:s,doubleSided:c,extensions:{VRMC_materials_mtoon:fe}})}_parseV0UnlitProperties(e,t){let n=e.shader===`VRM/UnlitTransparentZWrite`,r=e.shader===`VRM/UnlitTransparent`||n,i=this._v0ParseRenderQueue(e),a=e.shader===`VRM/UnlitCutout`,o=r?`BLEND`:a?`MASK`:`OPAQUE`,s=a?e.floatProperties?._Cutoff??.5:void 0,c=this._portTextureTransform(e),l=(e.vectorProperties?._Color??[1,1,1,1]).map(G),u=e.textureProperties?._MainTex,d=u==null?void 0:{index:u,extensions:W({},c)},f={specVersion:`1.0`,transparentWithZWrite:n,renderQueueOffsetNumber:i,shadeColorFactor:l,shadeMultiplyTexture:d};return Yt(W({},t),{pbrMetallicRoughness:{baseColorFactor:l,baseColorTexture:d},alphaMode:o,alphaCutoff:s,extensions:{VRMC_materials_mtoon:f}})}_portTextureTransform(e){let t=e.vectorProperties?._MainTex;if(t==null)return{};let n=[t?.[0]??0,t?.[1]??0],r=[t?.[2]??1,t?.[3]??1];return n[1]=1-r[1]-n[1],{KHR_texture_transform:{offset:n,scale:r}}}_v0ParseRenderQueue(e){let t=e.shader===`VRM/UnlitTransparentZWrite`,n=e.keywordMap?._ALPHABLEND_ON!=null||e.shader===`VRM/UnlitTransparent`||t,r=e.floatProperties?._ZWrite===1||t,i=0;if(n){let t=e.renderQueue;t!=null&&(i=r?this._renderQueueMapTransparentZWrite.get(t):this._renderQueueMapTransparent.get(t))}return i}_populateRenderQueueMap(e){let t=new Set,n=new Set;e.forEach(e=>{let r=e.shader===`VRM/UnlitTransparentZWrite`,i=e.keywordMap?._ALPHABLEND_ON!=null||e.shader===`VRM/UnlitTransparent`||r,a=e.floatProperties?._ZWrite===1||r;if(i){let r=e.renderQueue;r!=null&&(a?n.add(r):t.add(r))}}),t.size>10&&console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${t.size} render queues for Transparent materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`),n.size>10&&console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${n.size} render queues for TransparentZWrite materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`),Array.from(t).sort().forEach((e,n)=>{let r=Math.min(Math.max(n-t.size+1,-9),0);this._renderQueueMapTransparent.set(e,r)}),Array.from(n).sort().forEach((e,t)=>{let n=Math.min(Math.max(t,0),9);this._renderQueueMapTransparentZWrite.set(e,n)})}},Qt=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),K=new f,$t=class extends x{constructor(e){super(),this._attrPosition=new t(new Float32Array([0,0,0,0,0,0]),3),this._attrPosition.setUsage(u);let n=new h;n.setAttribute(`position`,this._attrPosition);let r=new p({color:16711935,depthTest:!1,depthWrite:!1});this._line=new ne(n,r),this.add(this._line),this.constraint=e}updateMatrixWorld(e){K.setFromMatrixPosition(this.constraint.destination.matrixWorld),this._attrPosition.setXYZ(0,K.x,K.y,K.z),this.constraint.source&&K.setFromMatrixPosition(this.constraint.source.matrixWorld),this._attrPosition.setXYZ(1,K.x,K.y,K.z),this._attrPosition.needsUpdate=!0,super.updateMatrixWorld(e)}};function en(e,t){return t.set(e.elements[12],e.elements[13],e.elements[14])}var tn=new f,nn=new f;function rn(e,t){return e.decompose(tn,t,nn),t}function an(e){return e.invert?e.invert():e.inverse(),e}var on=class{constructor(e,t){this.destination=e,this.source=t,this.weight=1}},sn=new f,cn=new f,ln=new f,un=new y,dn=new y,fn=new y,pn=class extends on{get aimAxis(){return this._aimAxis}set aimAxis(e){this._aimAxis=e,this._v3AimAxis.set(e===`PositiveX`?1:e===`NegativeX`?-1:0,e===`PositiveY`?1:e===`NegativeY`?-1:0,e===`PositiveZ`?1:e===`NegativeZ`?-1:0)}get dependencies(){let e=new Set([this.source]);return this.destination.parent&&e.add(this.destination.parent),e}constructor(e,t){super(e,t),this._aimAxis=`PositiveX`,this._v3AimAxis=new f(1,0,0),this._dstRestQuat=new y}setInitState(){this._dstRestQuat.copy(this.destination.quaternion)}update(){this.destination.updateWorldMatrix(!0,!1),this.source.updateWorldMatrix(!0,!1);let e=un.identity(),t=dn.identity();this.destination.parent&&(rn(this.destination.parent.matrixWorld,e),an(t.copy(e)));let n=sn.copy(this._v3AimAxis).applyQuaternion(this._dstRestQuat).applyQuaternion(e),r=en(this.source.matrixWorld,cn).sub(en(this.destination.matrixWorld,ln)).normalize(),i=fn.setFromUnitVectors(n,r).premultiply(t).multiply(e).multiply(this._dstRestQuat);this.destination.quaternion.copy(this._dstRestQuat).slerp(i,this.weight)}};function mn(e,t){let n=[e],r=e.parent;for(;r!==null;)n.unshift(r),r=r.parent;n.forEach(e=>{t(e)})}var hn=class{constructor(){this._constraints=new Set,this._objectConstraintsMap=new Map}get constraints(){return this._constraints}addConstraint(e){this._constraints.add(e);let t=this._objectConstraintsMap.get(e.destination);t??(t=new Set,this._objectConstraintsMap.set(e.destination,t)),t.add(e)}deleteConstraint(e){this._constraints.delete(e),this._objectConstraintsMap.get(e.destination).delete(e)}setInitState(){let e=new Set,t=new Set;for(let n of this._constraints)this._processConstraint(n,e,t,e=>e.setInitState())}update(){let e=new Set,t=new Set;for(let n of this._constraints)this._processConstraint(n,e,t,e=>e.update())}_processConstraint(e,t,n,r){if(n.has(e))return;if(t.has(e))throw Error(`VRMNodeConstraintManager: Circular dependency detected while updating constraints`);t.add(e);let i=e.dependencies;for(let e of i)mn(e,e=>{let i=this._objectConstraintsMap.get(e);if(i)for(let e of i)this._processConstraint(e,t,n,r)});r(e),n.add(e)}},gn=new y,_n=new y,vn=class extends on{get dependencies(){return new Set([this.source])}constructor(e,t){super(e,t),this._dstRestQuat=new y,this._invSrcRestQuat=new y}setInitState(){this._dstRestQuat.copy(this.destination.quaternion),an(this._invSrcRestQuat.copy(this.source.quaternion))}update(){let e=gn.copy(this._invSrcRestQuat).multiply(this.source.quaternion),t=_n.copy(this._dstRestQuat).multiply(e);this.destination.quaternion.copy(this._dstRestQuat).slerp(t,this.weight)}},yn=new f,bn=new y,xn=new y,Sn=class extends on{get rollAxis(){return this._rollAxis}set rollAxis(e){this._rollAxis=e,this._v3RollAxis.set(+(e===`X`),+(e===`Y`),+(e===`Z`))}get dependencies(){return new Set([this.source])}constructor(e,t){super(e,t),this._rollAxis=`X`,this._v3RollAxis=new f(1,0,0),this._dstRestQuat=new y,this._invDstRestQuat=new y,this._invSrcRestQuatMulDstRestQuat=new y}setInitState(){this._dstRestQuat.copy(this.destination.quaternion),an(this._invDstRestQuat.copy(this._dstRestQuat)),an(this._invSrcRestQuatMulDstRestQuat.copy(this.source.quaternion)).multiply(this._dstRestQuat)}update(){let e=bn.copy(this._invDstRestQuat).multiply(this.source.quaternion).multiply(this._invSrcRestQuatMulDstRestQuat),t=yn.copy(this._v3RollAxis).applyQuaternion(e),n=xn.setFromUnitVectors(t,this._v3RollAxis).premultiply(this._dstRestQuat).multiply(e);this.destination.quaternion.copy(this._dstRestQuat).slerp(n,this.weight)}},Cn=new Set([`1.0`,`1.0-beta`]),wn=class e{get name(){return e.EXTENSION_NAME}constructor(e,t){this.parser=e,this.helperRoot=t?.helperRoot}afterRoot(e){return Qt(this,null,function*(){e.userData.vrmNodeConstraintManager=yield this._import(e)})}_import(t){return Qt(this,null,function*(){let n=this.parser.json;if(n.extensionsUsed?.indexOf(e.EXTENSION_NAME)===-1)return null;let r=new hn,i=yield this.parser.getDependencies(`node`);return i.forEach((t,a)=>{let o=n.nodes[a]?.extensions?.[e.EXTENSION_NAME];if(o==null)return;let s=o.specVersion;if(!Cn.has(s)){console.warn(`VRMNodeConstraintLoaderPlugin: Unknown ${e.EXTENSION_NAME} specVersion "${s}"`);return}let c=o.constraint;if(c.roll!=null){let e=this._importRollConstraint(t,i,c.roll);r.addConstraint(e)}else if(c.aim!=null){let e=this._importAimConstraint(t,i,c.aim);r.addConstraint(e)}else if(c.rotation!=null){let e=this._importRotationConstraint(t,i,c.rotation);r.addConstraint(e)}}),t.scene.updateMatrixWorld(),r.setInitState(),r})}_importRollConstraint(e,t,n){let{source:r,rollAxis:i,weight:a}=n,o=t[r],s=new Sn(e,o);if(i!=null&&(s.rollAxis=i),a!=null&&(s.weight=a),this.helperRoot){let e=new $t(s);this.helperRoot.add(e)}return s}_importAimConstraint(e,t,n){let{source:r,aimAxis:i,weight:a}=n,o=t[r],s=new pn(e,o);if(i!=null&&(s.aimAxis=i),a!=null&&(s.weight=a),this.helperRoot){let e=new $t(s);this.helperRoot.add(e)}return s}_importRotationConstraint(e,t,n){let{source:r,weight:i}=n,a=t[r],o=new vn(e,a);if(i!=null&&(o.weight=i),this.helperRoot){let e=new $t(o);this.helperRoot.add(e)}return o}};wn.EXTENSION_NAME=`VRMC_node_constraint`;var Tn=wn,En=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),Dn=class{},On=new f,q=new f,kn=class extends Dn{get type(){return`capsule`}constructor(e){super(),this.offset=e?.offset??new f(0,0,0),this.tail=e?.tail??new f(0,0,0),this.radius=e?.radius??0,this.inside=e?.inside??!1}calculateCollision(e,t,n,r){On.setFromMatrixPosition(e),q.subVectors(this.tail,this.offset).applyMatrix4(e),q.sub(On);let i=q.lengthSq();r.copy(t).sub(On);let a=q.dot(r);a<=0||(i<=a||q.multiplyScalar(a/i),r.sub(q));let o=r.length(),s=this.inside?this.radius-n-o:o-n-this.radius;return s<0&&(r.multiplyScalar(1/o),this.inside&&r.negate()),s}},An=new f,jn=new _,Mn=class extends Dn{get type(){return`plane`}constructor(e){super(),this.offset=e?.offset??new f(0,0,0),this.normal=e?.normal??new f(0,0,1)}calculateCollision(e,t,n,r){r.setFromMatrixPosition(e),r.negate().add(t),jn.getNormalMatrix(e),An.copy(this.normal).applyNormalMatrix(jn).normalize();let i=r.dot(An)-n;return r.copy(An),i}},Nn=new f,Pn=class extends Dn{get type(){return`sphere`}constructor(e){super(),this.offset=e?.offset??new f(0,0,0),this.radius=e?.radius??0,this.inside=e?.inside??!1}calculateCollision(e,t,n,r){r.subVectors(t,Nn.setFromMatrixPosition(e));let i=r.length(),a=this.inside?this.radius-n-i:i-n-this.radius;return a<0&&(r.multiplyScalar(1/i),this.inside&&r.negate()),a}},J=new f,Fn=class extends h{constructor(e){super(),this.worldScale=1,this._currentRadius=0,this._currentOffset=new f,this._currentTail=new f,this._shape=e,this._attrPos=new t(new Float32Array(396),3),this.setAttribute(`position`,this._attrPos),this._attrIndex=new t(new Uint16Array(264),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let e=!1,t=this._shape.radius/this.worldScale;this._currentRadius!==t&&(this._currentRadius=t,e=!0),this._currentOffset.equals(this._shape.offset)||(this._currentOffset.copy(this._shape.offset),e=!0);let n=J.copy(this._shape.tail).divideScalar(this.worldScale);this._currentTail.distanceToSquared(n)>1e-10&&(this._currentTail.copy(n),e=!0),e&&this._buildPosition()}_buildPosition(){J.copy(this._currentTail).sub(this._currentOffset);let e=J.length()/this._currentRadius;for(let t=0;t<=16;t++){let n=t/16*Math.PI;this._attrPos.setXYZ(t,-Math.sin(n),-Math.cos(n),0),this._attrPos.setXYZ(17+t,e+Math.sin(n),Math.cos(n),0),this._attrPos.setXYZ(34+t,-Math.sin(n),0,-Math.cos(n)),this._attrPos.setXYZ(51+t,e+Math.sin(n),0,Math.cos(n))}for(let t=0;t<32;t++){let n=t/16*Math.PI;this._attrPos.setXYZ(68+t,0,Math.sin(n),Math.cos(n)),this._attrPos.setXYZ(100+t,e,Math.sin(n),Math.cos(n))}let t=Math.atan2(J.y,Math.sqrt(J.x*J.x+J.z*J.z)),n=-Math.atan2(J.z,J.x);this.rotateZ(t),this.rotateY(n),this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentOffset.x,this._currentOffset.y,this._currentOffset.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let e=0;e<34;e++){let t=(e+1)%34;this._attrIndex.setXY(e*2,e,t),this._attrIndex.setXY(68+e*2,34+e,34+t)}for(let e=0;e<32;e++){let t=(e+1)%32;this._attrIndex.setXY(136+e*2,68+e,68+t),this._attrIndex.setXY(200+e*2,100+e,100+t)}this._attrIndex.needsUpdate=!0}},In=class extends h{constructor(e){super(),this.worldScale=1,this._currentOffset=new f,this._currentNormal=new f,this._shape=e,this._attrPos=new t(new Float32Array(18),3),this.setAttribute(`position`,this._attrPos),this._attrIndex=new t(new Uint16Array(10),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let e=!1;this._currentOffset.equals(this._shape.offset)||(this._currentOffset.copy(this._shape.offset),e=!0),this._currentNormal.equals(this._shape.normal)||(this._currentNormal.copy(this._shape.normal),e=!0),e&&this._buildPosition()}_buildPosition(){this._attrPos.setXYZ(0,-.5,-.5,0),this._attrPos.setXYZ(1,.5,-.5,0),this._attrPos.setXYZ(2,.5,.5,0),this._attrPos.setXYZ(3,-.5,.5,0),this._attrPos.setXYZ(4,0,0,0),this._attrPos.setXYZ(5,0,0,.25),this.translate(this._currentOffset.x,this._currentOffset.y,this._currentOffset.z),this.lookAt(this._currentNormal),this._attrPos.needsUpdate=!0}_buildIndex(){this._attrIndex.setXY(0,0,1),this._attrIndex.setXY(2,1,2),this._attrIndex.setXY(4,2,3),this._attrIndex.setXY(6,3,0),this._attrIndex.setXY(8,4,5),this._attrIndex.needsUpdate=!0}},Ln=class extends h{constructor(e){super(),this.worldScale=1,this._currentRadius=0,this._currentOffset=new f,this._shape=e,this._attrPos=new t(new Float32Array(288),3),this.setAttribute(`position`,this._attrPos),this._attrIndex=new t(new Uint16Array(192),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let e=!1,t=this._shape.radius/this.worldScale;this._currentRadius!==t&&(this._currentRadius=t,e=!0),this._currentOffset.equals(this._shape.offset)||(this._currentOffset.copy(this._shape.offset),e=!0),e&&this._buildPosition()}_buildPosition(){for(let e=0;e<32;e++){let t=e/16*Math.PI;this._attrPos.setXYZ(e,Math.cos(t),Math.sin(t),0),this._attrPos.setXYZ(32+e,0,Math.cos(t),Math.sin(t)),this._attrPos.setXYZ(64+e,Math.sin(t),0,Math.cos(t))}this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentOffset.x,this._currentOffset.y,this._currentOffset.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let e=0;e<32;e++){let t=(e+1)%32;this._attrIndex.setXY(e*2,e,t),this._attrIndex.setXY(64+e*2,32+e,32+t),this._attrIndex.setXY(128+e*2,64+e,64+t)}this._attrIndex.needsUpdate=!0}},Rn=new f,zn=class extends x{constructor(e){if(super(),this.matrixAutoUpdate=!1,this.collider=e,this.collider.shape instanceof Pn)this._geometry=new Ln(this.collider.shape);else if(this.collider.shape instanceof kn)this._geometry=new Fn(this.collider.shape);else if(this.collider.shape instanceof Mn)this._geometry=new In(this.collider.shape);else throw Error(`VRMSpringBoneColliderHelper: Unknown collider shape type detected`);let t=new p({color:16711935,depthTest:!1,depthWrite:!1});this._line=new r(this._geometry,t),this.add(this._line)}dispose(){this._geometry.dispose()}updateMatrixWorld(e){this.collider.updateWorldMatrix(!0,!1),this.matrix.copy(this.collider.matrixWorld);let t=this.matrix.elements;this._geometry.worldScale=Rn.set(t[0],t[1],t[2]).length(),this._geometry.update(),super.updateMatrixWorld(e)}},Bn=class extends h{constructor(e){super(),this.worldScale=1,this._currentRadius=0,this._currentTail=new f,this._springBone=e,this._attrPos=new t(new Float32Array(294),3),this.setAttribute(`position`,this._attrPos),this._attrIndex=new t(new Uint16Array(194),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let e=!1,t=this._springBone.settings.hitRadius/this.worldScale;this._currentRadius!==t&&(this._currentRadius=t,e=!0),this._currentTail.equals(this._springBone.initialLocalChildPosition)||(this._currentTail.copy(this._springBone.initialLocalChildPosition),e=!0),e&&this._buildPosition()}_buildPosition(){for(let e=0;e<32;e++){let t=e/16*Math.PI;this._attrPos.setXYZ(e,Math.cos(t),Math.sin(t),0),this._attrPos.setXYZ(32+e,0,Math.cos(t),Math.sin(t)),this._attrPos.setXYZ(64+e,Math.sin(t),0,Math.cos(t))}this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.setXYZ(96,0,0,0),this._attrPos.setXYZ(97,this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let e=0;e<32;e++){let t=(e+1)%32;this._attrIndex.setXY(e*2,e,t),this._attrIndex.setXY(64+e*2,32+e,32+t),this._attrIndex.setXY(128+e*2,64+e,64+t)}this._attrIndex.setXY(192,96,97),this._attrIndex.needsUpdate=!0}},Vn=new f,Hn=class extends x{constructor(e){super(),this.matrixAutoUpdate=!1,this.springBone=e,this._geometry=new Bn(this.springBone);let t=new p({color:16776960,depthTest:!1,depthWrite:!1});this._line=new r(this._geometry,t),this.add(this._line)}dispose(){this._geometry.dispose()}updateMatrixWorld(e){this.springBone.bone.updateWorldMatrix(!0,!1),this.matrix.copy(this.springBone.bone.matrixWorld);let t=this.matrix.elements;this._geometry.worldScale=Vn.set(t[0],t[1],t[2]).length(),this._geometry.update(),super.updateMatrixWorld(e)}},Un=class extends a{constructor(e){super(),this.colliderMatrix=new g,this.shape=e}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),Wn(this.colliderMatrix,this.matrixWorld,this.shape.offset)}};function Wn(e,t,n){let r=t.elements;e.copy(t),n&&(e.elements[12]=r[0]*n.x+r[4]*n.y+r[8]*n.z+r[12],e.elements[13]=r[1]*n.x+r[5]*n.y+r[9]*n.z+r[13],e.elements[14]=r[2]*n.x+r[6]*n.y+r[10]*n.z+r[14])}var Gn=new g;function Kn(e){return e.invert?e.invert():e.getInverse(Gn.copy(e)),e}var qn=class{constructor(e){this._inverseCache=new g,this._shouldUpdateInverse=!0,this.matrix=e;let t={set:(e,t,n)=>(this._shouldUpdateInverse=!0,e[t]=n,!0)};this._originalElements=e.elements,e.elements=new Proxy(e.elements,t)}get inverse(){return this._shouldUpdateInverse&&=(Kn(this._inverseCache.copy(this.matrix)),!1),this._inverseCache}revert(){this.matrix.elements=this._originalElements}},Jn=new g,Y=new f,X=new f,Z=new f,Q=new f,Yn=new g,Xn=class{constructor(e,t,n={},r=[]){this._currentTail=new f,this._prevTail=new f,this._boneAxis=new f,this._worldSpaceBoneLength=0,this._center=null,this._initialLocalMatrix=new g,this._initialLocalRotation=new y,this._initialLocalChildPosition=new f,this.bone=e,this.bone.matrixAutoUpdate=!1,this.child=t,this.settings={hitRadius:n.hitRadius??0,stiffness:n.stiffness??1,gravityPower:n.gravityPower??0,gravityDir:n.gravityDir?.clone()??new f(0,-1,0),dragForce:n.dragForce??.4},this.colliderGroups=r}get dependencies(){let e=new Set,t=this.bone.parent;t&&e.add(t);for(let t=0;t<this.colliderGroups.length;t++)for(let n=0;n<this.colliderGroups[t].colliders.length;n++)e.add(this.colliderGroups[t].colliders[n]);return e}get center(){return this._center}set center(e){this._center?.userData.inverseCacheProxy&&(this._center.userData.inverseCacheProxy.revert(),delete this._center.userData.inverseCacheProxy),this._center=e,this._center&&(this._center.userData.inverseCacheProxy||(this._center.userData.inverseCacheProxy=new qn(this._center.matrixWorld)))}get initialLocalChildPosition(){return this._initialLocalChildPosition}get _parentMatrixWorld(){return this.bone.parent?this.bone.parent.matrixWorld:Jn}setInitState(){this._initialLocalMatrix.copy(this.bone.matrix),this._initialLocalRotation.copy(this.bone.quaternion),this.child?this._initialLocalChildPosition.copy(this.child.position):this._initialLocalChildPosition.copy(this.bone.position).normalize().multiplyScalar(.07);let e=this._getMatrixWorldToCenter();this.bone.localToWorld(this._currentTail.copy(this._initialLocalChildPosition)).applyMatrix4(e),this._prevTail.copy(this._currentTail),this._boneAxis.copy(this._initialLocalChildPosition).normalize()}reset(){this.bone.quaternion.copy(this._initialLocalRotation),this.bone.updateMatrix(),this.bone.matrixWorld.multiplyMatrices(this._parentMatrixWorld,this.bone.matrix);let e=this._getMatrixWorldToCenter();this.bone.localToWorld(this._currentTail.copy(this._initialLocalChildPosition)).applyMatrix4(e),this._prevTail.copy(this._currentTail)}update(e){if(e<=0)return;this._calcWorldSpaceBoneLength();let t=X.copy(this._boneAxis).transformDirection(this._initialLocalMatrix).transformDirection(this._parentMatrixWorld);Q.copy(this._currentTail).add(Y.subVectors(this._currentTail,this._prevTail).multiplyScalar(1-this.settings.dragForce)).applyMatrix4(this._getMatrixCenterToWorld()).addScaledVector(t,this.settings.stiffness*e).addScaledVector(this.settings.gravityDir,this.settings.gravityPower*e),Z.setFromMatrixPosition(this.bone.matrixWorld),Q.sub(Z).normalize().multiplyScalar(this._worldSpaceBoneLength).add(Z),this._collision(Q),this._prevTail.copy(this._currentTail),this._currentTail.copy(Q).applyMatrix4(this._getMatrixWorldToCenter());let n=Yn.multiplyMatrices(this._parentMatrixWorld,this._initialLocalMatrix).invert();this.bone.quaternion.setFromUnitVectors(this._boneAxis,Y.copy(Q).applyMatrix4(n).normalize()).premultiply(this._initialLocalRotation),this.bone.updateMatrix(),this.bone.matrixWorld.multiplyMatrices(this._parentMatrixWorld,this.bone.matrix)}_collision(e){for(let t=0;t<this.colliderGroups.length;t++)for(let n=0;n<this.colliderGroups[t].colliders.length;n++){let r=this.colliderGroups[t].colliders[n],i=r.shape.calculateCollision(r.colliderMatrix,e,this.settings.hitRadius,Y);if(i<0){e.addScaledVector(Y,-i),e.sub(Z);let t=e.length();e.multiplyScalar(this._worldSpaceBoneLength/t).add(Z)}}}_calcWorldSpaceBoneLength(){Y.setFromMatrixPosition(this.bone.matrixWorld),this.child?X.setFromMatrixPosition(this.child.matrixWorld):(X.copy(this._initialLocalChildPosition),X.applyMatrix4(this.bone.matrixWorld)),this._worldSpaceBoneLength=Y.sub(X).length()}_getMatrixCenterToWorld(){return this._center?this._center.matrixWorld:Jn}_getMatrixWorldToCenter(){return this._center?this._center.userData.inverseCacheProxy.inverse:Jn}};function Zn(e,t){let n=[],r=e;for(;r!==null;)n.unshift(r),r=r.parent;n.forEach(e=>{t(e)})}function Qn(e,t){e.children.forEach(e=>{t(e)||Qn(e,t)})}function $n(e){let t=new Map;for(let n of e){let r=n;do{let n=(t.get(r)??0)+1;if(n===e.size)return r;t.set(r,n),r=r.parent}while(r!==null)}return null}var er=class{constructor(){this._joints=new Set,this._sortedJoints=[],this._hasWarnedCircularDependency=!1,this._ancestors=[],this._objectSpringBonesMap=new Map,this._isSortedJointsDirty=!1,this._relevantChildrenUpdated=this._relevantChildrenUpdated.bind(this)}get joints(){return this._joints}get springBones(){return console.warn(`VRMSpringBoneManager: springBones is deprecated. use joints instead.`),this._joints}get colliderGroups(){let e=new Set;return this._joints.forEach(t=>{t.colliderGroups.forEach(t=>{e.add(t)})}),Array.from(e)}get colliders(){let e=new Set;return this.colliderGroups.forEach(t=>{t.colliders.forEach(t=>{e.add(t)})}),Array.from(e)}addJoint(e){this._joints.add(e);let t=this._objectSpringBonesMap.get(e.bone);t??(t=new Set,this._objectSpringBonesMap.set(e.bone,t)),t.add(e),this._isSortedJointsDirty=!0}addSpringBone(e){console.warn(`VRMSpringBoneManager: addSpringBone() is deprecated. use addJoint() instead.`),this.addJoint(e)}deleteJoint(e){this._joints.delete(e),this._objectSpringBonesMap.get(e.bone).delete(e),this._isSortedJointsDirty=!0}deleteSpringBone(e){console.warn(`VRMSpringBoneManager: deleteSpringBone() is deprecated. use deleteJoint() instead.`),this.deleteJoint(e)}setInitState(){this._sortJoints();for(let e=0;e<this._sortedJoints.length;e++){let t=this._sortedJoints[e];t.bone.updateMatrix(),t.bone.updateWorldMatrix(!1,!1),t.setInitState()}}reset(){this._sortJoints();for(let e=0;e<this._sortedJoints.length;e++){let t=this._sortedJoints[e];t.bone.updateMatrix(),t.bone.updateWorldMatrix(!1,!1),t.reset()}}update(e){this._sortJoints();for(let e=0;e<this._ancestors.length;e++)this._ancestors[e].updateWorldMatrix(e===0,!1);for(let t=0;t<this._sortedJoints.length;t++){let n=this._sortedJoints[t];n.bone.updateMatrix(),n.bone.updateWorldMatrix(!1,!1),n.update(e),Qn(n.bone,this._relevantChildrenUpdated)}}_sortJoints(){if(!this._isSortedJointsDirty)return;let e=[],t=new Set,n=new Set,r=new Set;for(let i of this._joints)this._insertJointSort(i,t,n,e,r);this._sortedJoints=e;let i=$n(r);this._ancestors=[],i&&(this._ancestors.push(i),Qn(i,e=>(this._objectSpringBonesMap.get(e)?.size??0)>0||(this._ancestors.push(e),!1))),this._isSortedJointsDirty=!1}_insertJointSort(e,t,n,r,i){if(n.has(e))return;if(t.has(e)){this._hasWarnedCircularDependency||=(console.warn(`VRMSpringBoneManager: Circular dependency detected`),!0);return}t.add(e);let a=e.dependencies;for(let e of a){let a=!1,o=null;Zn(e,e=>{let s=this._objectSpringBonesMap.get(e);if(s)for(let e of s)a=!0,this._insertJointSort(e,t,n,r,i);else a||(o=e)}),o&&i.add(o)}r.push(e),n.add(e)}_relevantChildrenUpdated(e){return(this._objectSpringBonesMap.get(e)?.size??0)>0||(e.updateWorldMatrix(!1,!1),!1)}},tr=`VRMC_springBone_extended_collider`,nr=new Set([`1.0`,`1.0-beta`]),rr=new Set([`1.0`]),ir=class e{get name(){return e.EXTENSION_NAME}constructor(e,t){this.parser=e,this.jointHelperRoot=t?.jointHelperRoot,this.colliderHelperRoot=t?.colliderHelperRoot,this.useExtendedColliders=t?.useExtendedColliders??!0}afterRoot(e){return En(this,null,function*(){e.userData.vrmSpringBoneManager=yield this._import(e)})}_import(e){return En(this,null,function*(){return(yield this._v1Import(e))??(yield this._v0Import(e))??null})}_v1Import(t){return En(this,null,function*(){var n;let r=t.parser.json;if(r.extensionsUsed?.indexOf(e.EXTENSION_NAME)===-1)return null;let i=new er,a=yield t.parser.getDependencies(`node`),o=r.extensions?.[e.EXTENSION_NAME];if(!o)return null;let s=o.specVersion;if(!nr.has(s))return console.warn(`VRMSpringBoneLoaderPlugin: Unknown ${e.EXTENSION_NAME} specVersion "${s}"`),null;let c=o.colliders?.map((t,n)=>{let r=a[t.node];if(r==null)return console.warn(`VRMSpringBoneLoaderPlugin: The collider #${n} attempted to reference a node #${t.node} but not found. Skipping the collider`),null;let i=t.shape,o=t.extensions?.[tr];if(this.useExtendedColliders&&o!=null){let t=o.specVersion;if(!rr.has(t))console.warn(`VRMSpringBoneLoaderPlugin: Unknown ${tr} specVersion "${t}". Fallbacking to the ${e.EXTENSION_NAME} definition`);else{let e=o.shape;if(e.sphere)return this._importSphereCollider(r,{offset:new f().fromArray(e.sphere.offset??[0,0,0]),radius:e.sphere.radius??0,inside:e.sphere.inside??!1});if(e.capsule)return this._importCapsuleCollider(r,{offset:new f().fromArray(e.capsule.offset??[0,0,0]),radius:e.capsule.radius??0,tail:new f().fromArray(e.capsule.tail??[0,0,0]),inside:e.capsule.inside??!1});if(e.plane)return this._importPlaneCollider(r,{offset:new f().fromArray(e.plane.offset??[0,0,0]),normal:new f().fromArray(e.plane.normal??[0,0,1])})}}if(i.sphere)return this._importSphereCollider(r,{offset:new f().fromArray(i.sphere.offset??[0,0,0]),radius:i.sphere.radius??0,inside:!1});if(i.capsule)return this._importCapsuleCollider(r,{offset:new f().fromArray(i.capsule.offset??[0,0,0]),radius:i.capsule.radius??0,tail:new f().fromArray(i.capsule.tail??[0,0,0]),inside:!1});console.warn(`VRMSpringBoneLoaderPlugin: The collider #${n} has no valid shape. Skipping the collider`)}),l=o.colliderGroups?.map((e,t)=>({colliders:(e.colliders??[]).map(e=>c?.[e]??(console.warn(`VRMSpringBoneLoaderPlugin: The collider group #${t} attempted to reference a collider #${e} but not found. Skipping the collider`),null)).filter(e=>e!=null),name:e.name}));return(n=o.springs)==null||n.forEach((e,t)=>{let n=e.joints,r=e.colliderGroups?.map(e=>l?.[e]??(console.warn(`VRMSpringBoneLoaderPlugin: The spring #${t} attempted to reference a collider group #${e} but not found. Skipping the collider group`),null)).filter(e=>e!=null),o=e.center==null?void 0:a[e.center],s;n.forEach(e=>{if(s){let t=s.node,n=a[t],c=e.node,l=a[c],u={hitRadius:s.hitRadius,dragForce:s.dragForce,gravityPower:s.gravityPower,stiffness:s.stiffness,gravityDir:s.gravityDir==null?void 0:new f().fromArray(s.gravityDir)},d=this._importJoint(n,l,u,r);o&&(d.center=o),i.addJoint(d)}s=e})}),i.setInitState(),i})}_v0Import(e){return En(this,null,function*(){let t=e.parser.json;if(t.extensionsUsed?.indexOf(`VRM`)===-1)return null;let n=t.extensions?.VRM?.secondaryAnimation;if(!n)return null;let r=n?.boneGroups;if(!r)return null;let i=new er,a=yield e.parser.getDependencies(`node`),o=n.colliderGroups?.map((e,t)=>{let n=a[e.node];return n==null?(console.warn(`VRMSpringBoneLoaderPlugin: The collider group #${t} attempted to reference a node #${e.node} but not found. Skipping the collider group`),null):{colliders:(e.colliders??[]).map((e,t)=>{let r=new f(0,0,0);return e.offset&&r.set(e.offset.x??0,e.offset.y??0,e.offset.z?-e.offset.z:0),this._importSphereCollider(n,{offset:r,radius:e.radius??0,inside:!1})})}});return r?.forEach((e,t)=>{let n=e.bones;n&&n.forEach(n=>{let r=a[n];if(r==null){console.warn(`VRMSpringBoneLoaderPlugin: The spring bone group #${t} attempted to reference a node #${n} but not found. Skipping the node`);return}let s=new f;e.gravityDir?s.set(e.gravityDir.x??0,e.gravityDir.y??0,e.gravityDir.z??0):s.set(0,-1,0);let c=e.center==null?void 0:a[e.center],l={hitRadius:e.hitRadius,dragForce:e.dragForce,gravityPower:e.gravityPower,stiffness:e.stiffiness,gravityDir:s},u=e.colliderGroups?.map(e=>o?.[e]??(console.warn(`VRMSpringBoneLoaderPlugin: The spring #${t} attempted to reference a collider group #${e} but not found. Skipping the collider group`),null)).filter(e=>e!=null);r.traverse(e=>{let t=e.children[0]??null,n=this._importJoint(e,t,l,u);c&&(n.center=c),i.addJoint(n)})})}),e.scene.updateMatrixWorld(),i.setInitState(),i})}_importJoint(e,t,n,r){let i=new Xn(e,t,n,r);if(this.jointHelperRoot){let e=new Hn(i);this.jointHelperRoot.add(e),e.renderOrder=this.jointHelperRoot.renderOrder}return i}_importSphereCollider(e,t){let n=new Un(new Pn(t));if(e.add(n),this.colliderHelperRoot){let e=new zn(n);this.colliderHelperRoot.add(e),e.renderOrder=this.colliderHelperRoot.renderOrder}return n}_importCapsuleCollider(e,t){let n=new Un(new kn(t));if(e.add(n),this.colliderHelperRoot){let e=new zn(n);this.colliderHelperRoot.add(e),e.renderOrder=this.colliderHelperRoot.renderOrder}return n}_importPlaneCollider(e,t){let n=new Un(new Mn(t));if(e.add(n),this.colliderHelperRoot){let e=new zn(n);this.colliderHelperRoot.add(e),e.renderOrder=this.colliderHelperRoot.renderOrder}return n}};ir.EXTENSION_NAME=`VRMC_springBone`;var ar=ir,or=class{get name(){return`VRMLoaderPlugin`}constructor(e,t){this.parser=e;let n=t?.helperRoot,r=t?.autoUpdateHumanBones;this.expressionPlugin=t?.expressionPlugin??new me(e),this.firstPersonPlugin=t?.firstPersonPlugin??new ye(e),this.humanoidPlugin=t?.humanoidPlugin??new Le(e,{helperRoot:n,autoUpdateHumanBones:r}),this.lookAtPlugin=t?.lookAtPlugin??new mt(e,{helperRoot:n}),this.metaPlugin=t?.metaPlugin??new vt(e),this.mtoonMaterialPlugin=t?.mtoonMaterialPlugin??new Rt(e),this.materialsHDREmissiveMultiplierPlugin=t?.materialsHDREmissiveMultiplierPlugin??new Vt(e),this.materialsV0CompatPlugin=t?.materialsV0CompatPlugin??new Zt(e),this.springBonePlugin=t?.springBonePlugin??new ar(e,{colliderHelperRoot:n,jointHelperRoot:n}),this.nodeConstraintPlugin=t?.nodeConstraintPlugin??new Tn(e,{helperRoot:n})}beforeRoot(){return T(this,null,function*(){yield this.materialsV0CompatPlugin.beforeRoot(),yield this.mtoonMaterialPlugin.beforeRoot()})}loadMesh(e){return T(this,null,function*(){return yield this.mtoonMaterialPlugin.loadMesh(e)})}getMaterialType(e){return this.mtoonMaterialPlugin.getMaterialType(e)??null}extendMaterialParams(e,t){return T(this,null,function*(){yield this.materialsHDREmissiveMultiplierPlugin.extendMaterialParams(e,t),yield this.mtoonMaterialPlugin.extendMaterialParams(e,t)})}afterRoot(e){return T(this,null,function*(){yield this.metaPlugin.afterRoot(e),yield this.humanoidPlugin.afterRoot(e),yield this.expressionPlugin.afterRoot(e),yield this.lookAtPlugin.afterRoot(e),yield this.firstPersonPlugin.afterRoot(e),yield this.springBonePlugin.afterRoot(e),yield this.nodeConstraintPlugin.afterRoot(e),yield this.mtoonMaterialPlugin.afterRoot(e);let t=e.userData.vrmMeta,n=e.userData.vrmHumanoid;if(t&&n){let r=new xt({scene:e.scene,expressionManager:e.userData.vrmExpressionManager,firstPerson:e.userData.vrmFirstPerson,humanoid:n,lookAt:e.userData.vrmLookAt,meta:t,materials:e.userData.vrmMToonMaterials,springBoneManager:e.userData.vrmSpringBoneManager,nodeConstraintManager:e.userData.vrmNodeConstraintManager});e.userData.vrm=r}})}};function sr(e){let t=new Set;return e.traverse(e=>{if(!e.isMesh)return;let n=e;t.add(n)}),t}function cr(e,n,r){if(n.size===1){let t=n.values().next().value;if(t.weight===1)return e[t.index]}let i=new Float32Array(e[0].count*3),a=0;if(r)a=1;else for(let e of n)a+=e.weight;for(let t of n){let n=e[t.index],r=t.weight/a;for(let e=0;e<n.count;e++)i[e*3+0]+=n.getX(e)*r,i[e*3+1]+=n.getY(e)*r,i[e*3+2]+=n.getZ(e)*r}return new t(i,3)}function lr(e){let t=sr(e.scene),n=new Map,r=e.expressionManager?.expressionMap;if(r!=null)for(let[e,t]of Object.entries(r)){let r=new Set;for(let i of t.binds)if(i instanceof M){if(i.weight!==0)for(let t of i.primitives){let r=n.get(t);r??(r=new Map,n.set(t,r));let a=r.get(e);a??(a=new Set,r.set(e,a)),a.add(i)}r.add(i)}for(let e of r)t.deleteBind(e)}for(let e of t){let t=n.get(e);if(t==null)continue;let i=e.geometry.morphAttributes;e.geometry.morphAttributes={};let a=e.geometry.clone();e.geometry=a;let o=a.morphTargetsRelative,s=i.position!=null,c=i.normal!=null,l={},u={},d=[];if(s||c){s&&(l.position=[]),c&&(l.normal=[]);let n=0;for(let[a,f]of t)s&&(l.position[n]=cr(i.position,f,o)),c&&(l.normal[n]=cr(i.normal,f,o)),r?.[a].addBind(new M({index:n,weight:1,primitives:[e]})),u[a]=n,d.push(0),n++}a.morphAttributes=l,e.morphTargetDictionary=u,e.morphTargetInfluences=d}}function ur(e,t,n){if(e.getComponent)return e.getComponent(t,n);{let r=e.array[t*e.itemSize+n];return e.normalized&&(r=S.denormalize(r,e.array)),r}}function dr(e,t,n,r){e.setComponent?e.setComponent(t,n,r):(e.normalized&&(r=S.normalize(r,e.array)),e.array[t*e.itemSize+n]=r)}function fr(e){let t=pr(e),n=new Set;for(let e of t)n.has(e.geometry)&&(e.geometry=br(e.geometry)),n.add(e.geometry);let r=new Map;for(let e of n){let t=e.getAttribute(`skinIndex`),n=r.get(t)??new Map;r.set(t,n);let i=e.getAttribute(`skinWeight`),a=mr(t,i);n.set(i,a)}let i=new Map;for(let e of t){let t=hr(e,r);i.set(e,t)}let a=[];for(let[e,t]of i){let n=!1;for(let r of a)if(gr(t,r.boneInverseMap)){n=!0,r.meshes.add(e);for(let[e,n]of t)r.boneInverseMap.set(e,n);break}n||a.push({boneInverseMap:t,meshes:new Set([e])})}let o=new Map,c=new yr,l=new yr,u=new yr;for(let e of a){let{boneInverseMap:t,meshes:n}=e,r=Array.from(t.keys()),i=Array.from(t.values()),a=new s(r,i),d=l.getOrCreate(a);for(let e of n){let t=e.geometry.getAttribute(`skinIndex`),n=c.getOrCreate(t),i=e.skeleton.bones,a=`${n};${d};${i.map(e=>u.getOrCreate(e)).join(`,`)}`,s=o.get(a);s??(s=t.clone(),_r(s,i,r),o.set(a,s)),e.geometry.setAttribute(`skinIndex`,s)}for(let e of n)e.bind(a,new g)}}function pr(e){let t=new Set;return e.traverse(e=>{if(!e.isSkinnedMesh)return;let n=e;t.add(n)}),t}function mr(e,t){let n=new Set;for(let r=0;r<e.count;r++)for(let i=0;i<e.itemSize;i++){let a=ur(e,r,i);ur(t,r,i)!==0&&n.add(a)}return n}function hr(e,t){let n=new Map,r=e.skeleton,i=e.geometry,a=i.getAttribute(`skinIndex`),o=i.getAttribute(`skinWeight`),s=t.get(a)?.get(o);if(!s)throw Error(`Unreachable. attributeUsedIndexSetMap does not know the skin index attribute or the skin weight attribute.`);for(let e of s)n.set(r.bones[e],r.boneInverses[e]);return n}function gr(e,t){for(let[n,r]of e.entries()){let e=t.get(n);if(e!=null&&!vr(r,e))return!1}return!0}function _r(e,t,n){let r=new Map;for(let e of t)r.set(e,r.size);let i=new Map;for(let[e,t]of n.entries()){let n=r.get(t);i.set(n,e)}for(let t=0;t<e.count;t++)for(let n=0;n<e.itemSize;n++){let r=ur(e,t,n),a=i.get(r);dr(e,t,n,a)}e.needsUpdate=!0}function vr(e,t,n){if(n||=1e-4,e.elements.length!=t.elements.length)return!1;for(let r=0,i=e.elements.length;r<i;r++)if(Math.abs(e.elements[r]-t.elements[r])>n)return!1;return!0}var yr=class{constructor(){this._objectIndexMap=new Map,this._index=0}get(e){return this._objectIndexMap.get(e)}getOrCreate(e){let t=this._objectIndexMap.get(e);return t??(t=this._index,this._objectIndexMap.set(e,t),this._index++),t}};function br(e){let t=new h;t.name=e.name,t.setIndex(e.index);for(let[n,r]of Object.entries(e.attributes))t.setAttribute(n,r);for(let[n,r]of Object.entries(e.morphAttributes)){let e=n;t.morphAttributes[e]=r.concat()}t.morphTargetsRelative=e.morphTargetsRelative,t.groups=[];for(let n of e.groups)t.addGroup(n.start,n.count,n.materialIndex);return t.boundingSphere=e.boundingSphere?.clone()??null,t.boundingBox=e.boundingBox?.clone()??null,t.drawRange.start=e.drawRange.start,t.drawRange.count=e.drawRange.count,t.userData=e.userData,t}function xr(e){if(Object.values(e).forEach(e=>{e?.isTexture&&e.dispose()}),e.isShaderMaterial){let t=e.uniforms;t&&Object.values(t).forEach(e=>{let t=e.value;t?.isTexture&&t.dispose()})}e.dispose()}function Sr(e){let t=e.geometry;t&&t.dispose();let n=e.skeleton;n&&n.dispose();let r=e.material;r&&(Array.isArray(r)?r.forEach(e=>xr(e)):r&&xr(r))}function Cr(e){e.traverse(Sr)}function wr(e,t){console.warn(`VRMUtils.removeUnnecessaryJoints: removeUnnecessaryJoints is deprecated. Use combineSkeletons instead. combineSkeletons contributes more to the performance improvement. This function will be removed in the next major version.`);let n=t?.experimentalSameBoneCounts??!1,r=[];e.traverse(e=>{e.type===`SkinnedMesh`&&r.push(e)});let i=new Map,a=0;for(let e of r){let t=e.geometry.getAttribute(`skinIndex`);if(i.has(t))continue;let n=new Map,r=new Map;for(let e=0;e<t.count;e++)for(let i=0;i<t.itemSize;i++){let a=ur(t,e,i),o=n.get(a);o??(o=n.size,n.set(a,o),r.set(o,a)),dr(t,e,i,o)}t.needsUpdate=!0,i.set(t,r),a=Math.max(a,n.size)}for(let e of r){let t=e.geometry.getAttribute(`skinIndex`),r=i.get(t),o=[],c=[],l=n?a:r.size;for(let t=0;t<l;t++){let n=r.get(t)??0;o.push(e.skeleton.bones[n]),c.push(e.skeleton.boneInverses[n])}let u=new s(o,c);e.bind(u,new g)}}function Tr(e,t){let n=e.position.count,r=Array(n),i=0,a=t.array;for(let e=0;e<a.length;e++){let t=a[e];r[t]||(r[t]=!0,i++)}return{isVertexUsed:r,vertexCount:n,verticesUsed:i}}function Er(e){let t=[],n=[],r=0;for(let i=0;i<e.length;i++)if(e[i]){let e=r++;t[i]=e,n[e]=i}return{originalIndexNewIndexMap:t,newIndexOriginalIndexMap:n}}function Dr(e,t){t.name=e.name,t.morphTargetsRelative=e.morphTargetsRelative,e.groups.forEach(e=>{t.addGroup(e.start,e.count,e.materialIndex)}),t.boundingBox=e.boundingBox?.clone()??null,t.boundingSphere=e.boundingSphere?.clone()??null,t.setDrawRange(e.drawRange.start,e.drawRange.count),t.userData=e.userData}function Or(e,n,r){let i=n.array,a=new i.constructor(i.length);for(let e=0;e<i.length;e++){let t=i[e];a[e]=r[t]}e.setIndex(new t(a,n.itemSize,n.normalized))}function kr(e,t,n){let r=e.constructor,i=new r(t.length*n),a=!0;for(let r=0;r<t.length;r++){let o=t[r]*n,s=r*n;for(let t=0;t<n;t++){let n=e[o+t];i[s+t]=n,a&&=n===0}}return[i,a]}function Ar(e){let t=new Map,n=[];for(let[r,i]of Object.entries(e))if(i.isInterleavedBufferAttribute){let e=i,n=e.data,a=t.get(n)??[];t.set(n,a),a.push([r,e])}else{let e=i;n.push([r,e])}return[t,n]}function jr(e,n,r){let[i,a]=Ar(n);for(let[t,n]of i){let i=t.array,{stride:a}=t,[o,s]=kr(i,r,a),c=new te(o,a);c.setUsage(t.usage);for(let[t,r]of n){let{itemSize:n,offset:i,normalized:a}=r,o=new v(c,n,i,a);e.setAttribute(t,o)}}for(let[n,i]of a){let a=i.array,{itemSize:o,normalized:s}=i,[c,l]=kr(a,r,o);e.setAttribute(n,new t(c,o,s))}}function Mr(e){let t=new Map,n=[];for(let[r,i]of Object.entries(e)){let e=r;for(let r=0;r<i.length;r++){let a=i[r];if(a.isInterleavedBufferAttribute){let n=a,i=n.data,o=t.get(i)??[];t.set(i,o),o.push([e,r,n])}else{let t=a;n.push([e,r,t])}}}return[t,n]}function Nr(e,n,r){let i=!0,[a,o]=Mr(n),s={};for(let[e,t]of a){let n=e.array,{stride:a}=e,[o,c]=kr(n,r,a);i&&=c;let l=new te(o,a);l.setUsage(e.usage);for(let[e,n,r]of t){let{itemSize:t,offset:i,normalized:a}=r,o=new v(l,t,i,a);s[e]??(s[e]=[]),s[e][n]=o}}for(let[e,n,a]of o){let o=a,c=o.array,{itemSize:l,normalized:u}=o,[d,f]=kr(c,r,l);i&&=f,s[e]??(s[e]=[]),s[e][n]=new t(d,l,u)}e.morphAttributes=i?{}:s}function Pr(e){let t=new Map;e.traverse(e=>{if(!e.isMesh)return;let n=e,r=n.geometry,i=r.index;if(i==null)return;let a=t.get(r);if(a!=null){n.geometry=a;return}let{isVertexUsed:o,vertexCount:s,verticesUsed:c}=Tr(r.attributes,i);if(c===s)return;let{originalIndexNewIndexMap:l,newIndexOriginalIndexMap:u}=Er(o),d=new h;Dr(r,d),t.set(r,d),Or(d,i,l),jr(d,r.attributes,u),Nr(d,r.morphAttributes,u),n.geometry=d}),Array.from(t.keys()).forEach(e=>{e.dispose()})}function Fr(e){e.meta?.metaVersion===`0`&&(e.scene.rotation.y=Math.PI)}var $=class{constructor(){}};$.combineMorphs=lr,$.combineSkeletons=fr,$.deepDispose=Cr,$.removeUnnecessaryJoints=wr,$.removeUnnecessaryVertices=Pr,$.rotateVRM0=Fr;export{$,ut as A,Pe as B,Ee as C,or as D,Le as E,vt as F,Dn as G,vn as H,on as I,Pn as J,kn as K,$t as L,mt as M,dt as N,ct as O,ht as P,er as Q,Tn as R,Te as S,we as T,Un as U,Sn as V,zn as W,Hn as X,Xn as Y,ar as Z,P as _,xt as a,be as b,bt as c,k as d,j as f,O as g,he as h,Nt as i,Ke as j,H as k,D as l,M as m,Mt as n,pn as o,A as p,Mn as q,Rt as r,yt as s,Ft as t,me as u,_e as v,Ne as w,F as x,ye as y,hn as z};
|