{"_id":"r3f-stage","_rev":"28-d612c4d0c6e3c272d8a06cda390d8730","name":"r3f-stage","dist-tags":{"latest":"0.3.5","canary":"0.0.0-canary-20221130162026","next":"0.3.0-next.9"},"versions":{"0.1.0":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.1.0","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.2","@babel/preset-env":"^7.18.2","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.0.22","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.12","@types/react-dom":"^18.0.5","@types/three":"^0.141.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.1.0","react-dom":"^18.1.0","rimraf":"^3.0.2","three":"^0.141.0","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.4","typescript":"^4.7.3"},"peerDependencies":{"@react-three/fiber":">=8.0.27","react":">=18.0","react-dom":">=18.0","three":">=0.141.0"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.16.0","leva":"^0.9.28","postprocessing":"^6.28.1","r3f-perf":"^6.4.2"},"licenseText":"Copyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"r3f-stage@0.1.0","dist":{"shasum":"250b88822191a1fc35fd7b01b84e9af49d4bd5f1","integrity":"sha512-T6NhH47MAVCRMY98oBl8E3T9VZnPbfTLPfmksG7QjuFchZdp3tfagjB2QT7PaM9iDwTSOeEaD/kk2nL65tCwFg==","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.1.0.tgz","fileCount":16,"unpackedSize":25469,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHaohp+dm70KWnzNLMmptIg9kBM6mg9YPIXcGuiSRj2QIhAJsTo1l13LllzwsntM4dtI2E3qJkmcYYbZw025Obw9Tr"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixVKdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5cg//V8H9y46NQPg9fGHWgQfg16rtdhgMQqPxgAiFh27nwXHChuTI\r\nd7x9285OaIPovT0aIGeMvLrPleQ7/ibjGeo0n7rJKflWVyaKBz5JIedHUjG/\r\nuxTOPJk7EW2YHl1709IoM70rf3OC2PPZMbr2kpogoEDbwnxNViyEB2Dn9aDt\r\nzD75azpTbboGSzZFq/2Y0CZx8qv96f9HEAzJSOLvhD1o5kb4b9dJoirRz7Xe\r\nv7+RD2QUjgDIyleuDVSkrilqQpTnvChzoEOStMlzR89lHPtVMTn70NVuv/I6\r\nVW7NghS16NgdgSuqoVA5XT6dSiddI8/oKW82BUdAoRizW955J/BcLhIEgC6Q\r\ndgslXXcYCEevtsRQVdX8VmaskQWSauSouVC4XX2nNByFYP/2ynNpEqWbRvsq\r\nHRwULWCr/+tThod5s2AzWDphPrrM2zcapwZtb4K7J1manE6vDyLVNj7vFDhP\r\nKdximJrT3fre16CSUNMM2tJQOL8ZPqnG8uzItcGoiWljicoq1j3qzl1EliGE\r\njrDSPX4kfCq8xghrLfgAsLh/HGa+zNLeFuNx3MUWNvHLH3j2G5mLGEIu/GAG\r\nhWNPZ8wHt26Os07tSBBC9h9NCDaiBPlv7WaZZ0w8bH1lduwkLQaMMzkv2dt/\r\npEuLDf8fNXCfpNvbaZabdZxurtgIALXeK8c=\r\n=UNYr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.1.0_1657098909385_0.11231702431807045"},"_hasShrinkwrap":false},"0.1.1":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.1.1","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.2","@babel/preset-env":"^7.18.2","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.0.22","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.12","@types/react-dom":"^18.0.5","@types/three":"^0.141.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.1.0","react-dom":"^18.1.0","rimraf":"^3.0.2","three":"^0.141.0","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.4","typescript":"^4.7.3"},"peerDependencies":{"@react-three/fiber":">=8.0.27","react":">=18.0","react-dom":">=18.0","three":">=0.141.0"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.16.0","leva":"^0.9.28","postprocessing":"^6.28.1","r3f-perf":"^6.4.2"},"licenseText":"Copyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"r3f-stage@0.1.1","dist":{"shasum":"6ccf55869fa83c1dfdec9d175a60893a8a361385","integrity":"sha512-GcSTfM2b5mFleW3oA/u0b6SZ8n42l4cqiF5mwNTGzvlxEXQF0VQKID8SV7R/5j4eAhQ3PCPG7APIXyBnxDMKEQ==","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.1.1.tgz","fileCount":19,"unpackedSize":28067,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGVDEM0tLUMTOq7SrgJRrOh+twJ7c7GPrQWSHuk/TO5zAiAe+YgbIyS0MI+9hUfrvI3Y6B7ILXSQW9B4CDmnf5dCng=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixV/GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQWw/9FvUzgIElBFicQHQFhWC+o1GRdG9yHdZybnWCARHEvQ8nV9Og\r\n2aHdABGmZAmxsNzDdNqwa0bBpKpx52ModMqRN8BPzgS22dTtJPdwetXaZAio\r\niNykn8OzpBUhEBpDi/UIBOrQEzHFckRkxiMbRhCEXfmRZwxxNwXwg3NKdJ6P\r\nfC2r+Btbyl4XM7W5TMVyPfoJD/CYaUm37lU8eRioKExPPq8JaeJ0J6ELznCX\r\nP5j8Ql6CRgAF8zkSA2FFoDrBAAncZCj4QEfij1CXnv9Wd3c2aCgIZyI8RZFI\r\nXxunk5XLDkXtAK3KKdrzRfjALF2cuiELK8oZWVBl8QVbWYAREkgNHXn5Abgy\r\nORh2zaJ/zFFJbAbCXS7oJM0tOtl+M1I/QQN01rPfnO5rY7gxAQTMxczG9mhs\r\nKESC9FsWDmwtaa0zzqAckjPBbxD4Ki7nt2hmq2Vneq1GkFY3HSUVYO+qrDbV\r\nZ1CfVW4hxbqvTt/aYe5yRUGp6vlP2bN1Grpxogb6rUfjZRcK5X4s6249hyrq\r\nFwi8AZmCoCh5F1IaeeotWCI25vYZEyXHCy1WpW6iICf5oqC+EWeYMNN35gqD\r\nk8v6OlaUHJzz79C5Mp5lAiClV2ZVmTbsSQnHlLR3E/UioAM1aG7OnxzdccNH\r\nxDFA+1nkUybQwRyMlAMM1/Ai0OnQoaIFJU4=\r\n=5kOa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.1.1_1657102278241_0.9916688235799638"},"_hasShrinkwrap":false},"0.1.2":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.1.2","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.2","@babel/preset-env":"^7.18.2","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.0.22","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.12","@types/react-dom":"^18.0.5","@types/three":"^0.141.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.1.0","react-dom":"^18.1.0","rimraf":"^3.0.2","three":"^0.141.0","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.4","typescript":"^4.7.3"},"peerDependencies":{"@react-three/fiber":">=8.0.27","react":">=18.0","react-dom":">=18.0","three":">=0.141.0"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.16.0","leva":"^0.9.28","postprocessing":"^6.28.1","r3f-perf":"^6.4.2"},"licenseText":"Copyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"r3f-stage@0.1.2","dist":{"shasum":"a1bdc110e04f30f5139dbac5e8cc850681c18047","integrity":"sha512-hIV1k+llzZUPRoJ7lXd8bB8nrOJ+OrFMx1pcw8LcbNd5d/+9N7qnXgQkK13vZfJ/7xDZ3Xt39/j3jJpJxMrFzQ==","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.1.2.tgz","fileCount":19,"unpackedSize":28363,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCC8wOUka2itQFmKa8rBSIDEYeRjAc5BYqwB59Sf/lj2QIhAJTpC78Qh98S4CgZe+9frXa6fAq/YUwaojik9EM+kbRS"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixWExACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqKTA/8DcKrl4zOSTWV0r9uaU+ZKxwf+A9UAZYL8m3M5dEZoMzGl3Hs\r\nl3lmUofMjNNNaI1R9ivKyaBbhY+dEbnl3EP2+eCyZyvwWM9KYUX77Q5Namhv\r\n0i87b06iyuv6KYOz30FXps/G1dH5WqXGvNptKzA3n/8KNiVY4LI8lVoRkHxY\r\nTxWn/+6tmCclJJnxA5py+pJ7ybJXMPR+3TCLtN8HGcKuCCGcgJvHXahOP83X\r\nSjbctSfLw/IQ0D8KvR1vvmCtkaRsidwYMgqvPhYBlLHpEGF7qoHXjYb3TjId\r\nkuniS1ab2rbYUH3+J3DbnWq2hk6OT+p4Yyav2BRXdIPRjxqV8mfljKk5kn1V\r\nl9vFQLktaVHujkW2RdGMLK3yxL01yO4k8W1e0OQ+Fey6cvcVuAEkuIMR8pu0\r\nte/6ZRh1tzoRSTcuJN8ERWAIjk5sb+C30sQxBQCQQ+5ufKMiI0UUD/+zJNiO\r\n6or6gfhsgENb0u/6YYQ85jfkuux9NvYvIcxmrA3X8LRMnYXku4gDO53CN15G\r\nFvxL0R/ewysQBmwr3fQrDRBHWzWDasEA4Lq4rT03ulrH0hR2lQ9rSRA7fIaK\r\nJg/TmY7+0Qe5/VK8xcKeWXKsfMM5REjg4wpH7VWi6F0An9yzexPk5Gr/l/Aa\r\nvb4NGn/jFg2CJl0dqgTtP5MZjogQg2mTWVg=\r\n=3VBI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.1.2_1657102641025_0.6572205101698507"},"_hasShrinkwrap":false},"0.2.0":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.2.0","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":"^0.143.0","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"peerDependencies":{"@react-three/fiber":">=8.0.27","react":">=18.0","react-dom":">=18.0","three":">=0.141.0"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.21.0","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.2","wouter":"^2.8.0-alpha.2"},"gitHead":"1ffd45b444a5b19eb3c49c9d9d4cde75c29588ab","_id":"r3f-stage@0.2.0","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Uti7jpcZ0enKtMcizeOfQbxjFLgqVDbo9+mL/ScStFCHw08zjRoSKtXv/nm2+SkJna4HQ+HFt2gRua7DtiLN1g==","shasum":"369cd4860197ccd058735b5bc78ffa2a15935eaa","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.2.0.tgz","fileCount":24,"unpackedSize":74353,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQKHzxRDdvOyDNJCfD5fqECNUnxv1aKjRBV8Nuqxag8QIhAK/5+b+fmUQGemzFyPJLyBj86k9q5Jq8BdrVajJk6Agi"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi975IACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmordQ//WwS927TSATzaMrJF9QGuw7jcv1fHelfqTc9ipGymg6VdTStd\r\n8TzdtnDVIR+onDWzhQm2Ew7oskCHUzsfHtHYWtLn+B1t7kQm0/2D7s5lAqOj\r\nyjx3vokto2z6BOih2QLd/bQG+OVtLTgGpB5R91WDCN9jYgrv+xVs11tLfG6N\r\ntkkbpiedEYiPQJCDST7N6orwYwkMqjLmfbTfID6rBNbibQDyxU3kHZZrn7Mp\r\nhkShbA/uIR5sY+ebQVUWq732UvKk8EN69bYEZKaDcTsT8fPYwfpi7DatcoRC\r\nkVvcYY09rmxKrqvQQcVO/qoutZjMwzIROlrk7YF8WAt35gATo3WEmYwnRkAx\r\noxMbB8d9ZX87hX5i2FPKSaEfnip2stPanuU54xmfQEWSS22AbM5kdM9A3rUW\r\nwGDjxHTDeW3nlPbmj1y96YOgMxEGy3wC82bZ/3kK5E1ht2BJ/VM1oL2F14cf\r\nxsnogr9mWJQKbyGV7nSutDZOV47Zpexya/57+RtsUUor3bqREzn7nm6qEHXm\r\nal7QDfX3r/wW6zBF7yk5xHDf3onPLuJOV5bhk1WYt31LK1fOXiIyz4EDSFFv\r\nqKDJbx1sX3jxe3Rkh0NYVL215IOMoIY/qYkStUi+P4WqxeRQX6LcNVwU6FKc\r\nhH6O5NDbUQku9sO8wkHcrvfCqFL6CQa4l1A=\r\n=LQ3s\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.2.0_1660403272611_0.6223396421890408"},"_hasShrinkwrap":false},"0.2.1":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.2.1","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":"^0.143.0","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"peerDependencies":{"@react-three/fiber":">=8.0.27","react":">=18.0","react-dom":">=18.0","three":">=0.141.0"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.21.0","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.2","wouter":"^2.8.0-alpha.2"},"gitHead":"2fcd4fc42bef8c8f0c6ab571e33d8829bd82016b","_id":"r3f-stage@0.2.1","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-P+MZAHtsKHBDDXBYFqteDYXLARW/QTsLzxHREBq0xhFWaiu6O4HM7a7Fi82vGiS01CS5+ORvBy7jZaSkDZgO3A==","shasum":"438d8eca3005b0afcddcf7eb68f8f6bd190bf88c","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.2.1.tgz","fileCount":24,"unpackedSize":74176,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJAr9Z+vavgbtITMMZXufafzL7wAXeywrh+hiPlrH2ngIgHM9uxnxbPPj99ql5QlOxgpA19cA2+YCzSlUEv1WfJjc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9786ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr3tBAAkcC9TD9j+uDBZlKly2iFxgVKoEgVjGrYXkyJFAk756AfIX04\r\n9on2tGlDpwcVXAIHNzwDLv3VTwrct0mdbkxcBUbaTHCfVhHkoXTlnpcsW1Uf\r\nDytVitxby4/GWu6WVpafZxaVQhs6R2LBk1SHvav6fiZDwPUhnuV3OHTwZluy\r\nT++gCcL+UgwzGwMzs78VQ2PhkAP0sSrh5JOpOFrBIUYgEzThmLXcSSGMPVqL\r\nw9Hw4TBPUie+5haOCF0UG88XbgivY0dFJ1Try4vO3q4rWyiT9c+QKmUJhO0h\r\nMQ66mOt6twBBuJj1tO9mNwN32ygefyp3XUwzHOFH2w7RTXZOvh57hHH6wtvL\r\nwF32ZEbaWg+iwyKvqz1w/ErPvfo3cSMxOTTWze38mkVFBKw96fukGOuKlUA6\r\nX8HXFTuiDxiThVXppPHAfe/VL8QmYGTy13rZs6Uw3iPegcjNk9BehkQMobmt\r\nbbGg7M8RkP1uw0imj4V9WVu1/n4sX7Rf2fu+hByT3xH1XM1N0HDWFiVJrsaY\r\ns/kaG0g1DlgBKlg7VHzk7Fw/GuKxVhBRC6m0RXgXIPota+VPnNyjaqN1D/Iz\r\nAIUXaPtoOz6cC1NRPeg/3rIsdKlh6If98eXDWOUWvW3lQvbUEVwfeBKSI3+d\r\ndeVCc5kLR67EKxKt719/eIG1UVbwHKLAOp4=\r\n=GLAP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.2.1_1660403514145_0.750185758949871"},"_hasShrinkwrap":false},"0.2.2":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.2.2","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":"^0.143.0","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"peerDependencies":{"@react-three/fiber":">=8.0.27","react":">=18.0","react-dom":">=18.0","three":">=0.141.0"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.21.0","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.2","wouter":"^2.8.0-alpha.2"},"gitHead":"fa61d56db3d50fdc6e64475e91b7d314c38b26cd","_id":"r3f-stage@0.2.2","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-0eDFsDrx35y+Eszmw3dxrggVhOxcevQSshW2EnlB4L6mpJ/TNuJ3Tl3xgQI9LQIMrUgTp0jHWmFBYIzga+sh/w==","shasum":"690d82a467d06a12d8a00a198eede0b2a480d90c","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.2.2.tgz","fileCount":24,"unpackedSize":74713,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICNGks2DgTXRZPcVYZlLeI2oKcRA/Xd45BQhnG5hkVEKAiEAjtWeG3wmVmXjDGp2CCuH0cEkjIcebcWsou+M5rV/BRI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi98AKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoqjxAAhs1nOT0tj9K6C+mvJPwb0b7u0RRjECuydmyu0+RpoUvcbK76\r\ngJL6k2P17KfceXskr1cd5H/SJF9934VGXga/i4GMUTw+xLVD0/0S8freh7Ds\r\ne+WXfUyFORZ/pQ7EXtU41MEpKv/sLwNvhemkQTU+Aq4uNkGTDO/wEDl/i41m\r\nyDB1K0t2MnTr39krT+aaDiL4S+c51isJbmMGVWbpkpzXD7yrLVJUHxxDTO5d\r\nvx/Yp/NiEbobQcfCHE1s+rRDp8455U1Z8B1EPaWo7ho6ehMabSHkHHVquHba\r\nzEUOkd7LI4B7cp0YX7/a6q2q0yEex2QaRvEJiEYi2YSlNy3sgwwVKArP9664\r\nlxZ/JEK4h8oKmi4mfgiH/RzuAlQ/AVyB3aXSkzLxl9peScWBi+uHE3hyFr/D\r\nve+nlqd+1uOeuzTWhTfJgPvIqeUUL7yqbH0TUAfrlCehj7jhJKJSqSKnzDCv\r\nX+pSPcR2cMT5dY1CtsPe0eiRx8kISzmb8ibRxsQXpyx0JIKhj3SZDigy6W3Y\r\ned/AyDNTTyhs2bwAiwL/VgGwjl+qgVrnFa68NK1XXgg7mpY43KhA+GBupGTv\r\nNnuTlOE+CIDAz7xGUi4eEnp+hMFP6OoF8PrxjRSIK2Veklbfmz2ECIwVYV11\r\nAvaiaxt22zmun40pg+Yqr5iMmENeQXHBPnE=\r\n=gn0n\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.2.2_1660403721924_0.9842150649432"},"_hasShrinkwrap":false},"0.2.3":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.2.3","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":"^0.143.0","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"peerDependencies":{"@react-three/fiber":">=8.0.27","react":">=18.0","react-dom":">=18.0","three":">=0.141.0"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.21.0","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.2","wouter":"^2.8.0-alpha.2"},"gitHead":"3ebef0ba2180b1e891b95344d794446c232d7ecc","_id":"r3f-stage@0.2.3","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-NlH8+7S2uo0iF8Ji0QexsyS6PICmJ5eva0JcuhEWVKcT6NXbQKrlYzxV8MJEIM+PpEcp6x+Xh129meVntoSXYw==","shasum":"5db90035d4457678167d7815910d8997dfb4565d","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.2.3.tgz","fileCount":24,"unpackedSize":74519,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEd2whBx+YojjdhHPJ0KMd/T6FQDLMSBBzhZqYkcWOu7AiBkFSTi8kDdnOY1SE2nl3eN98KPEZdOd+mw3s9jdHCUfw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi98ZKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmojBRAAncNZU3yx0ZkrZAcvZ0gDQN+tborszv9e62YCaCARpLQutf20\r\nI9U6S/H+B9uU6USvq+C5cOeIuJ96ZYpRtV3B1yXPD659wWNuPxUTbwa26hdW\r\nYr0Fz4JSQ6bDxN7ay7aE3oABhHBEW+zfStVg4tUYbmmZzDaJVf86Q/8z6xbW\r\nsOdg17mmvv+uJyyqflv1C6gB1aEto6pn0ZoWb4Dolf3soRiey4tyAeStqH47\r\nsWk5slKnv/FF7Rz/3PZIGL78WrVxapj8l0R7Bh8y/tU3rlmSqyKDVc/bpk7/\r\nOdjnTbxMtDAFMay2UGVyB92slkKAMaVHWJMrVKuwHL3FqB09MKMB0gmLs85E\r\n3YvJab/W/Ic0Ir5psBK3hN2s8E1i7RrQtANGhC6xNKLhwRWfYyKPh02pQgbU\r\nQy+vINu68g6Lc6zRb1JSQEEd2BKEArXmvf7zr3WVkWx717a7Ok33OTocMkw+\r\nWSPanL1fXJ3qY09oi02ngcGbS184Fy7eAFvwy9B4rWg6bgi5NMSFqOuT3Z8m\r\nmNaRmLzEy/iH9aT9hVcaluDsj3MNEumzadjfRyK90hv+HQRvXj1u3eqC0mqw\r\nLRpS2zSYKXv++gtue8W0BWnyCVSer0DG7rXzyct5uhcGBzgh6e2DTsG1PhpA\r\nnG0xtUWAXCjlB4kWKAK2IvuvUGT9oG3YQN4=\r\n=nqLV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.2.3_1660405322231_0.8268534901890379"},"_hasShrinkwrap":false},"0.2.4":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.2.4","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":"^0.143.0","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"peerDependencies":{"@react-three/fiber":">=8.0.27","react":">=18.0","react-dom":">=18.0","three":">=0.141.0"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.21.0","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.2","wouter":"^2.8.0-alpha.2"},"gitHead":"28fa276b600e940e13f8e63f18cf95bf3304df02","_id":"r3f-stage@0.2.4","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-6pdPGn1XxG+XgUXNb1Cx2GD62xXtw5eWfR6v1p4i/o5ljQ93db+OZRw+kKMNvrFio4s72zj6VCmvd9YIGgKniQ==","shasum":"f21e7cecb62b4c865efd43b8494a3d56874c44cd","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.2.4.tgz","fileCount":24,"unpackedSize":74774,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGGqSXhR4R6D8Z8JVY9QgEDo+f9tMi7Spw4Q01yrz+TOAiEA9qThiERM8VezDcOBzUHWnpME2mH8oNYAmEMUycx84+A="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi98gmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq05hAAnfGLskGvVffax3nexEryVCklNDs0/TfCrexczcq8ibQu9LUU\r\nnaXmQDoxf3B5ll+TpNK/oC/gQYcwqGYASOqlut6duIcfjcahMrLXCp6wVhjV\r\nCjZRQ6JpRJD/MsLo77RlJdh0AwcnEthBxbglfmDi8hUCchoWFhhltn1Qjyh7\r\nDEe3fSPiMr+95nwW3iGs0bGfBuz+1cvkR9XnAotfyluBsQa6hGXVjLDIeIfj\r\nqZcsnqlmJMHDYTS2qMrZXOhhw+IATVLOq5OhLvWhIfctJNmjadLe3FhFTDey\r\nk3F6/eCb5EEy0Fpm7XiqRGOe21K99mJDdianTIgjppd55l62OdZVbLBfM02z\r\n1zE8UvqFTdNNjNZIpkkPhOUzqvj3di8j9JCRCm+UmIKSWTSjpFZvjMJ1qYw2\r\na/ptPcnGzJ8ckCcA6UdZjcRYP8yrxS3r6U3lqhb1G7CSKfaCfYxl3SzJdps0\r\nRtJnZ9jTI/E5jE/2I0vpbWD0qcFpleWeJ5kSCxui2PZhkkLisdwoGRrUHTYJ\r\n4I1A8AFG1H5wOkBfdI8J4CgSLMhAtKmRbdQTx+3hogjugaE1oS65hoATT3V6\r\nZWwWCqq6DepeSwbe5BLAkxaKvTb6ozhOzqNQszgPVbaLF/UoGtuvIq1lpmhg\r\nytfNvrXrTeESaEEEppwHahbE1sDzxzKV/Ow=\r\n=NhYr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.2.4_1660405797799_0.33778243567004473"},"_hasShrinkwrap":false},"0.2.5":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.2.5","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":"^0.143.0","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"peerDependencies":{"@react-three/fiber":">=8.0.27","react":">=18.0","react-dom":">=18.0","three":">=0.141.0"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.21.0","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.2","wouter":"^2.8.0-alpha.2"},"gitHead":"20e463bf685ba7af0f84206a6d624047394e58fc","_id":"r3f-stage@0.2.5","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-9Ms8qLTUzUsS5/rbo4T1avfd7pI7iGEzoTKii37bCk7lOFHqLmOGmvs6tp/uLF04lnsbwkIwB/17zQhxGm4mfw==","shasum":"ff4961dfa3473eda266b6ffe483ecf02e410f307","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.2.5.tgz","fileCount":24,"unpackedSize":74774,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrbjWE9bt++x5W5UR5RWkC3OYPW5MqNd8xtkSuxwZPJAIhAN57RQD9oD+nPRcCn/2/aPsj4i14SvqTiQnpIr3ubRBM"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi98l7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqssg/+KYHTI0MRrM8H93skhTv4cGdMrRqJeRANof8/LBB5ZgCRwF1I\r\nZEYCrcDrquKaVay1OZNHqtDn+dHjYSFOPAFRWUd2GblGvPz5oZk27/OAJnb9\r\nrWWsS5CoiGM0rpzzt42K3BCc5dbaTyXTjyQ+g0uX9WuxiE5CWDWueZCWJzi4\r\ncraM2ryxSh1e26iqH2VmnKro2yFKFVhFUi0EfXRt4tZq51V90QCG1rScJAY0\r\nhOxtjRgAELeNgBJvb/bqkhhNc4bMukKCOHkqQsWAsxShE3N5iSWbTWBXqgPf\r\n+8f83jkZ2nZvVyUFoirkC3bCmpM83R16JTEuoF1O/GILw7VR+UvlpO9J5ldJ\r\nHiIr2Ymmd/UoFUacUVF44HAOsbh5aotP1v+Yyb7ZwnnVGA9VqWgD41m3mFOD\r\nXCxHQYG9mcH/JVQPRs8PghI3ejtEo5h9nENtZnXtAzo/W1vTwetLmAL8ewIw\r\nOOnxKQSNP2EfDMkxJjdukGGYCF2JbGbK8mtaiaB63GS4V8oXoCTMGr2lMBls\r\nIFxWPVKgjfxEJ13FsgX/wIU3ye84PdScPeo2biH2mbFeC8u76u0rMVY0VXjP\r\nOnYBudlFsfMaqZeMuzro6uu4NL9fTgSP5DMj/oy6jIVz0QKth7EFoEQrrOzI\r\n+RIhUuVtOa2JZGUBaD5iCuxfomDcCHjco4o=\r\n=mB06\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.2.5_1660406139267_0.26251671949122257"},"_hasShrinkwrap":false},"0.0.0-canary-20220813161145":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.0.0-canary-20220813161145","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","rimraf":"^3.0.2","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.21.0","@react-three/fiber":"^8.3.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.2","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.143.0","wouter":"^2.8.0-alpha.2"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while examples are being lazy-loaded.\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nIf you want to present multiple examples within the same application, you can pass an `examples` prop to `<Application>`. This prop is expected to be an object containing example definitions.\n\nEach property's key will be the URL slug to the example.\n\nThe example's optional `title` property will be used as the title of the example in the navigation UI. (If omitted, the key will be used as the title.)\n\nYou can provide an optional `Description` React component that will be rendered as the example's description when it's being viewed by the user.\n\nBut most importantly, you must provide an `Example` React component. This component should render the actual example.\n\n```tsx\nconst Dodecahedron = {\n  Description: () => <p>This is a dodecahedron.</p>,\n  Example: () => (\n    <mesh>\n      <dodecahedronGeometry />\n      <meshStandardMaterial />\n    </mesh>\n  )\n}\n\nfunction App() {\n  return <Application examples={{ Dodecahedron }} />\n}\n```\n\n### Lazy-loading Examples\n\nYou can lazy-load individual examples using the `React.lazy` helper. The application is already configured to show a loading spinner while examples are being lazy-loaded.\n\n```tsx\nconst Dodecahedron = {\n  Example: React.lazy(() => import(\"./examples/DodecahedronExample\"))\n}\n```\n\nPlease note that the modules you lazyload this way **must provide the component as their default export**.\n\n### Stages\n\nR3F Stage exports a collection of stage components you can embed your examples into:\n\n```tsx\nconst Dodecahedron = {\n  Example: () => (\n    <FlatStage>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </FlatStage>\n  )\n}\n```\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"fca82cd1038040b18c8ee31e87a835cb5933cb3f","_id":"r3f-stage@0.0.0-canary-20220813161145","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Ics9lNRdPDTNy+9SM7eDTJJSVqfpIaVAzeDBgd67I1habZORftPEDIo+xj51dYYrBS1BnWXUtNdDJm9wtsfjgQ==","shasum":"ff89205afb8481783d8381f9bb7058c1141e0286","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.0.0-canary-20220813161145.tgz","fileCount":6,"unpackedSize":9392,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6zxgdwSc6nBgzR8oGKHPaGzbqujsCVcygfkA+z7683QIgelNulNMqCkrzv0Ev+MqZ2haoVtK+zvidaZKCIL1oC80="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi981MACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplLg/9FEfNDExa7wilAUKmrfasp0pS2QV8xtdF6Mgk8rJ3yAyDvufh\r\njJBu61F7rR5DqmfWzO8dycKELHD9SYcIGwcXO7uOoBrPUSO4ZDLafgvvZs4v\r\n/zfZtQdhwiL9PWXCvMebKl3XukJxSGE0o66ilWSVr8/5N3WJ7Ah7BeLvyM+K\r\no4p3ZIFaSnk5ldgZ5v/jjAZd0MDHreKFGZpnbktHMsn1pjmgRJyfBmhWwUyc\r\ntkmwIvTJ1md4M5ieovQqlQTq+jyVFYdC8u43DZ6tVUbeW3X42cCfN4FKuLih\r\nOVuYwtWGIYTapRTPPp/CRbUvWd9HMweGflIaqM4KT5q2B8YoL2hUw7gNYrb0\r\nyVGf4xoRvtSKd1CGxoLzeE4Z3k6xvdaKw2WcimsCKo6IPTw2jtEU+N2Ldu4h\r\nx6qISkiSRkRzpEjN8pAqXF8JVe6vpZU+Ykm+icoaWU4+E/Ajoh1zmpBflRhA\r\nDs1zfP5wvcELRy7VLBBl2D3Jj+/A7CMxMA41kcdRYDKIpVfOZw+tJr0EvGbS\r\n2TEkIjthXI5xCDMCTNoFYgbis78QWjC8EN12fqHJDQ0BHUYaNcTwo7vdkBbt\r\nFj5aP9Okm5wVRUODzAY8wdHDEr3Nl65S9U1AngIFUwq7HoeZQTnzS7HGEoYP\r\nIteM09cEuB00J3vAp/xL5d8MaygbPiVhzi8=\r\n=/yAG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.0.0-canary-20220813161145_1660407116196_0.22673540735420494"},"_hasShrinkwrap":false},"0.0.0-canary-20220813161300":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.0.0-canary-20220813161300","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","rimraf":"^3.0.2","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.21.0","@react-three/fiber":"^8.3.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.2","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.143.0","wouter":"^2.8.0-alpha.2"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while examples are being lazy-loaded.\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nIf you want to present multiple examples within the same application, you can pass an `examples` prop to `<Application>`. This prop is expected to be an object containing example definitions.\n\nEach property's key will be the URL slug to the example.\n\nThe example's optional `title` property will be used as the title of the example in the navigation UI. (If omitted, the key will be used as the title.)\n\nYou can provide an optional `Description` React component that will be rendered as the example's description when it's being viewed by the user.\n\nBut most importantly, you must provide an `Example` React component. This component should render the actual example.\n\n```tsx\nconst Dodecahedron = {\n  Description: () => <p>This is a dodecahedron.</p>,\n  Example: () => (\n    <mesh>\n      <dodecahedronGeometry />\n      <meshStandardMaterial />\n    </mesh>\n  )\n}\n\nfunction App() {\n  return <Application examples={{ Dodecahedron }} />\n}\n```\n\n### Lazy-loading Examples\n\nYou can lazy-load individual examples using the `React.lazy` helper. The application is already configured to show a loading spinner while examples are being lazy-loaded.\n\n```tsx\nconst Dodecahedron = {\n  Example: React.lazy(() => import(\"./examples/DodecahedronExample\"))\n}\n```\n\nPlease note that the modules you lazyload this way **must provide the component as their default export**.\n\n### Stages\n\nR3F Stage exports a collection of stage components you can embed your examples into:\n\n```tsx\nconst Dodecahedron = {\n  Example: () => (\n    <FlatStage>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </FlatStage>\n  )\n}\n```\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"fca82cd1038040b18c8ee31e87a835cb5933cb3f","_id":"r3f-stage@0.0.0-canary-20220813161300","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-tpTTYIIKsrbXA6U6i+LEKm5HnPr38lozQcjfkZB5o8nm8vSQ3Rntwh9heR17PLOpuYL3jAKhyzEEzLz7/q/Jfg==","shasum":"60833ccf90788dd5f68908762e0e94073fce79fd","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.0.0-canary-20220813161300.tgz","fileCount":24,"unpackedSize":74290,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6yj4NgulX/Knh+73xK/Lg8sje21slWDnS6yjs1Iv4eAIgdveqiDhspMDBLhUZraxoQl3gVI6Yz7AK4cYjWcJbroQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi982dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpn6A/+L9BMvySo5OpHVzHuuJzyijeeHGs19+FVV/d8fk73zWFoFel5\r\nxPzkmunIY1crYCyevhczrFJaeF/SNobpZXnuP2ho0MMdtHOIXYbfr7yApp1b\r\nwoFmohcSg0WuubDfrdksyhnmBvcweS2XHUbJc/wbqN+hIIAkcpzrPNk55VFL\r\nXiyyZIFycTatMuhoW7Zaobr0ElGwc1+ypBmrOCeoe25PwahxV8W9xec6nWfw\r\n89BK4TGkpu0kplshd8ZBijykw22NCiH+muKRh76pPlFLVtBSoaRyK4Uq0nQL\r\nloswyfg462g+NgxqgnVCmWn0lMD4SIwWXoXlr1iXjrtDr9f8P6ogswontxTO\r\n54Dqx7KxtvLDj4nPhG6MxiH+o0SVyR1tof/JUBvfTLoFTI/TCAPFYTlMbIQK\r\n9gm02xj6MQV+WnqPiBkiKMvZVF932k1OJC/DqRyw1B9NtMGs2bbcn3NX/r3+\r\n7ou5xZhXWhf48ZJb2S6xLolTKmgT4sIRxP3v/ZxBVLBoKLv4uO+r6RRoqSaD\r\nq3tcX5JdLgAcWS2pvJVC/PT90N4BRFFaasIfBm3Ft1dYWo4HozXmAl6CyZch\r\n0czBpNmm3y88fIpARtOMNZknMZSccbFnU/XCBNTZvXIqphTz3dQbBH4qkBLh\r\na58aa6lFVyWGJNCsQYIpJ1z0b0j9M7AgSZA=\r\n=MCpV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.0.0-canary-20220813161300_1660407196889_0.9827424372385256"},"_hasShrinkwrap":false},"0.2.6":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.2.6","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.1","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.0","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","rimraf":"^3.0.2","ts-jest":"^28.0.4","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.21.0","@react-three/fiber":"^8.3.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.2","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.143.0","wouter":"^2.8.0-alpha.2"},"gitHead":"fca82cd1038040b18c8ee31e87a835cb5933cb3f","_id":"r3f-stage@0.2.6","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-zw0iziQV2ZVbej+mlhRhT25cydU+C5lGiNGUEhUYFOGQtNng2qcn32LhRIgnzMlVAL9t0kLRJ1cUXD36yCPXXQ==","shasum":"9d6f2d6bbac3259f70f52e542b0258df0afa33e6","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.2.6.tgz","fileCount":24,"unpackedSize":74268,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/wV/Mg1Tq585V+ikIo5P/qJBzo381kJGQBRqvWwqn0QIhAKAObvIL0BJSPAzlexUc7G0sIb7sq6fTOwiMy0zlQihq"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi983tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTohAAhiU8+U3+V8uGYvaygTx1IBot4EgPiBoBmyPNZYN8smCQp7sy\r\n7JJo24NwRuTlhz88QZ0mk711Fl24fwswmDADwPeEjLXY9EAJ8fov4Xnt4aB8\r\nSvUutQrnaJLbaY1mEn5jzb1ylMhZtIKpdF+MO1bJwKP6vb+z2B076h1zuh3M\r\ncLFRPkgNzV+Mrwndo7s21t8IvZmrHzQrxvuEMmdE/hC7QN+xa6cA9KQcpbMH\r\ncC0QQSLIi313s+vZ6D+htT6dFXKsp4j2mkkpx2Hw4NCDZEsnRtwmFIjXwJWZ\r\nP6t5IQpNv3ceq+bm8cnhsmw01E1R+mg040IzmbcSzoU4n1Y5RmbrNJM8kDCq\r\nz1FNwUfGRtME3IJslTh1YLjK5awTyCwR2DC69mGsPCATOeDeMQHLYyHXjxX1\r\nAZAs0VXwA7wTMcGQ7vAeA9VShFn6KLO32DJTgAdoTAT7cR3dWyHy2Ho2IPg9\r\n66koTaJiD82bm+t94Cb3Bp3hEM2fEnXu31jLdf6U6X6HOsouEQju//rBq7b5\r\nmzyNSFBLkEFSY74qEuztAc3uMfgH6lDWyWPhM20ReGoxnvHWMRNGtqtAcewf\r\nZlySk5wHJFrRKGJfs5AwZ/Tpmnu1UH8x14YvgqI17HKPvX8TcJgUXnujqAqU\r\nl8wPEK+fKdHrHjLpY/Gy2iW+lSnOeunD1w4=\r\n=CRZW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.2.6_1660407276827_0.6892939117937875"},"_hasShrinkwrap":false},"0.3.0-next.0":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.0-next.0","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","statery":"^0.5.4","three":">=0.143.0","wouter":"^2.8.0-alpha.2"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while resources are being loaded (including lazy-loaded components.)\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## What does it look like?\n\n[![image](https://user-images.githubusercontent.com/1061/185150441-7532e841-673d-47da-9af2-588469eba818.png)](https://r3f-stage.vercel.app/)\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Description\n\nR3F Stage provides a `Description` component you can use to render a description of your example at the bottom of the viewport:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n\n      <Description>\n        This is a really simple example. Let's move on to more interesting things!\n      </Description>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nYou can use R3F Stage for a simple demo, as described above, but it also allows you to provide multiple examples, and will automatically generate a navigation UI for you.\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"one\" title=\"Example 1\" makeDefault>\n        <Description>This is a very simple example.</Description>\n\n        <mesh>\n          <boxGeometry />\n          <meshStandardMaterial color=\"green\" />\n        </mesh>\n      </Example>\n\n      <Example path=\"two\" title=\"Example 2: The Exampling\">\n        <Description>This is also a very simple example.</Description>\n\n        <mesh>\n          <sphereGeometry />\n          <meshStandardMaterial color=\"white\" />\n        </mesh>\n      </Example>\n    </Application>\n  )\n}\n```\n\n> **Note**\n> Take note of the `makeDefault` prop of the first example. This will configure the applicationn to redirect requests to the root path to this example.\n\n### Lazy-loading Examples\n\nInside examples, you can use all of the tools React provides to you; including using the `React.lazy` helper to lazy-load components the first time they're rendered. While these components and their resources are being loaded, R3F Stage will display an animated loading indicator.\n\n```tsx\nconst HugeExample = lazy(() => import(\"./HugeExample\"))\n\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"huge\" title=\"Huge Example\">\n        <Description>\n          This is an example that uses a lot of resources and uses a long time to load,\n          which is why we're loading it lazily.\n        </Description>\n\n        <HugeExample />\n      </Example>\n\n      {/* ... */}\n    </Application>\n  )\n}\n```\n\n### Stages\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"c5e4523e5d584cdcb5e5b15eb1e07d893d7502ac","_id":"r3f-stage@0.3.0-next.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Be8UEFCNyLirkM5pS6l51QdnUY8G7QW+JWA9EnG3OtbBY5HytuSQ7f08KhvnC8biOezncQwZIbMZ0wZVg9U60Q==","shasum":"5e89648c8a889faa80919839633209198124d03f","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.0-next.0.tgz","fileCount":24,"unpackedSize":72957,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaPBuoHB0eXaQLRgHSPzop9alqxPs9BeNIuLdTJOnlMgIgBU9FnNIDzF6wfYjUD7ZqLiPlrl9hEYpaOy3v+ZI67BE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/Pg4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2nw/+JWRwK0+YGsYWtClDd698fN7y+FP2wdbXikFlRugIGCbQLC3p\r\nMz1wcgL8E3TuiXr8n44qlX9zJ48kKUKtxkZu720mZ87DDQTDW3HxxfLgJPg+\r\nGLMAoFsjoJh25GUI9vE7ywL9nFhX4FvPWajqfsWOpVoJ62RDBDMxH2oFUOOV\r\nUNp4+mtWJqh4/5K65J+JOga60893HN/ZtUkW3tOpvdr9VBWhhNt1Z48taOJ4\r\n9xiZyjssrzu/MNB6IvhF1EWDINXgCkRN6TLXKPzZGIW7agNnrTArYnUuBCG+\r\nEEXcKYu8nOmKg/vIX0ACLC5pdOfN06xuJBB+IMRE+6zfFoN/Xh7J4mcBsRvn\r\nhrAeZNw2lBy5TVVhWJ7FCLNR2glGNAuskEY8DV6FtGU7HIbDXklyriMdj1Db\r\nXZGNr5Il+HLld9r7cu0f0NBqpW50WNu+5p4j7z/o51t28LRAnyXyXRTOjlRB\r\nUXeJ7eF9Pc/02ex8WMA4rE6hIGbj64xI/Jbq2yHWSLsFsWx5GtSXNOhWTEWW\r\nPjXH7rmBboOsoWU7XeAasHObGdTgn8LvhT/XTmhhFTu5Eq+9lhRqDgOH5Dqx\r\nhQs2re4o67Gl7nVB9faSrf6EqRyGBieMsIx62e1jIWySa4A6Mz6FNfFZ7Uvp\r\nUPFnKcSaBN0RywuX7QqHMXUFlPDsKkg7Zag=\r\n=3hcl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.0-next.0_1660745783932_0.754288892868842"},"_hasShrinkwrap":false},"0.3.0-next.1":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.0-next.1","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":">=0.143.0","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","statery":"^0.5.4","wouter":"^2.8.0-alpha.2"},"peerDependencies":{"@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.143.0"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while resources are being loaded (including lazy-loaded components.)\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## What does it look like?\n\n[![image](https://user-images.githubusercontent.com/1061/185150441-7532e841-673d-47da-9af2-588469eba818.png)](https://r3f-stage.vercel.app/)\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Description\n\nR3F Stage provides a `Description` component you can use to render a description of your example at the bottom of the viewport:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n\n      <Description>\n        This is a really simple example. Let's move on to more interesting things!\n      </Description>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nYou can use R3F Stage for a simple demo, as described above, but it also allows you to provide multiple examples, and will automatically generate a navigation UI for you.\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"one\" title=\"Example 1\" makeDefault>\n        <Description>This is a very simple example.</Description>\n\n        <mesh>\n          <boxGeometry />\n          <meshStandardMaterial color=\"green\" />\n        </mesh>\n      </Example>\n\n      <Example path=\"two\" title=\"Example 2: The Exampling\">\n        <Description>This is also a very simple example.</Description>\n\n        <mesh>\n          <sphereGeometry />\n          <meshStandardMaterial color=\"white\" />\n        </mesh>\n      </Example>\n    </Application>\n  )\n}\n```\n\n> **Note**\n> Take note of the `makeDefault` prop of the first example. This will configure the applicationn to redirect requests to the root path to this example.\n\n### Lazy-loading Examples\n\nInside examples, you can use all of the tools React provides to you; including using the `React.lazy` helper to lazy-load components the first time they're rendered. While these components and their resources are being loaded, R3F Stage will display an animated loading indicator.\n\n```tsx\nconst HugeExample = lazy(() => import(\"./HugeExample\"))\n\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"huge\" title=\"Huge Example\">\n        <Description>\n          This is an example that uses a lot of resources and uses a long time to load,\n          which is why we're loading it lazily.\n        </Description>\n\n        <HugeExample />\n      </Example>\n\n      {/* ... */}\n    </Application>\n  )\n}\n```\n\n### Stages\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"bdab7bd95d44f40189ea40b8855fa89ebd3ecd7b","_id":"r3f-stage@0.3.0-next.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-k86aDEqNbPcaqjhwJb8dlESfT80LieLqx+PsZ/m7PHChBSyyUf3yWzLBY99qAb3YnkAasIHNucKPQVEJBeW+Qw==","shasum":"5a6a705c223fd53b99bc7c6dcb1c804f2a3d9a02","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.0-next.1.tgz","fileCount":24,"unpackedSize":73055,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzz+aRlwnxbfMznHaPEKpNmolcFr27rlfCc4cyj3R7XwIhAKrCbzURIGF1veFNerWfOP3EKx8+7WOrcXPiNfVyr5xR"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/Pv6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoR9w//ePclLuGfrWaabHiYEFyPI1yfA+TdSz6oy15EmxZeosFuAY9F\r\n5t7nUPkXBTrci8vrToqroIOY8P10ebdGwO/KO9qUrTICL0KzWrkmJpIRI0hy\r\nMeI01dkDpDjp7CK1gv0zroArE1ky6yIbEFFdaV2z4nzx2PqGos9C2a0PUKRa\r\nN4cPIYhBFHMOizw+6+RKi2gE2pIjmuemPB5TSdxLYFU/Bdi7vyhUNyBbihQn\r\nah08qfnuAZJm7K6Jf/M/F3AAf/+XSVZosXTcHFUsJklhWHB+8+sNP127haOq\r\nYFQtWyuOJtwefNrnyc1DpB3fytpvncsLSY3TUbq7CbZA5+C3j10WXRzO3vU+\r\nNulcHEuo8MwBZRs8qXmBpm433FKnkNmO9aWGfMv/fOLKexJY2CxcJx4Yml/Y\r\nKU3w0IOmq4Su35axhnv8G6WHgWQeJ2aM/dkgw9A6P3qPufBwZ7OSo81zHnrp\r\neFmADfy8k4FN9KUFPDDrkUr0alwhoPShF0bajMSBcBKCWJ8SYJG9YxV82dGO\r\nCH+zaRgM8qqf10/6lP57eoqdwZAq4zdgS/nKAKlH/qAGvkJUuxYRJP4le6BE\r\nTM/S0GVW/8G0xssUwhC/Xd1h7ldMSnAR9DnBSLoO0xsf7LeB8jXDCeK9ebcU\r\nQtgH9dekVGWKq7UQkR43U+5bw5hkbobu3oY=\r\n=OArq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.0-next.1_1660746746329_0.3272706891822621"},"_hasShrinkwrap":false},"0.3.0-next.2":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.0-next.2","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":">=0.143.0","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"statery":"^0.5.4","wouter":"^2.8.0-alpha.2"},"peerDependencies":{"@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.141.0"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while resources are being loaded (including lazy-loaded components.)\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## What does it look like?\n\n[![image](https://user-images.githubusercontent.com/1061/185150441-7532e841-673d-47da-9af2-588469eba818.png)](https://r3f-stage.vercel.app/)\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Description\n\nR3F Stage provides a `Description` component you can use to render a description of your example at the bottom of the viewport:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n\n      <Description>\n        This is a really simple example. Let's move on to more interesting things!\n      </Description>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nYou can use R3F Stage for a simple demo, as described above, but it also allows you to provide multiple examples, and will automatically generate a navigation UI for you.\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"one\" title=\"Example 1\" makeDefault>\n        <Description>This is a very simple example.</Description>\n\n        <mesh>\n          <boxGeometry />\n          <meshStandardMaterial color=\"green\" />\n        </mesh>\n      </Example>\n\n      <Example path=\"two\" title=\"Example 2: The Exampling\">\n        <Description>This is also a very simple example.</Description>\n\n        <mesh>\n          <sphereGeometry />\n          <meshStandardMaterial color=\"white\" />\n        </mesh>\n      </Example>\n    </Application>\n  )\n}\n```\n\n> **Note**\n> Take note of the `makeDefault` prop of the first example. This will configure the applicationn to redirect requests to the root path to this example.\n\n### Lazy-loading Examples\n\nInside examples, you can use all of the tools React provides to you; including using the `React.lazy` helper to lazy-load components the first time they're rendered. While these components and their resources are being loaded, R3F Stage will display an animated loading indicator.\n\n```tsx\nconst HugeExample = lazy(() => import(\"./HugeExample\"))\n\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"huge\" title=\"Huge Example\">\n        <Description>\n          This is an example that uses a lot of resources and uses a long time to load,\n          which is why we're loading it lazily.\n        </Description>\n\n        <HugeExample />\n      </Example>\n\n      {/* ... */}\n    </Application>\n  )\n}\n```\n\n### Stages\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"7280a2aa041edffacb6e44ce32a96a4c0feb966a","_id":"r3f-stage@0.3.0-next.2","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-E9z/n89dbyxlEXZBMkDQipo/qvC7zHmOdhOvhHT+J69ZyzONkjBh5cqiQNs6vlMMI1vpdsk3JdPRhwsxu02PmA==","shasum":"20769b26ae16340eb921e1e1b05a0198f665f701","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.0-next.2.tgz","fileCount":24,"unpackedSize":73138,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChzvR3Oux6SL733CjsRkr9PWjSDUZqzVSm2Lnv9o67MAIhAOsUBcI9gQrMUHxNSTuLdO320howLM9gPrQRBf73TBQK"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/QkgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmol7A/+IivcEpGhvSmVjN9fUXFFIMp/uI04mQr+1TYp0o3r6R6nl30j\r\nxJ9JhDXJ9ArpYbIo1vz427q/ZCjfoRdcLzIC0adZ7hEJOzm6BB6CXzez/ln8\r\nsiSontI3UnZnSx7aiXbhEBBtOfnzlcUAspuA5LRf2S5OfJxguz/eHzJahrqT\r\n+g/q87t+KGx2ksSExb9ceBFf3ZCLdhqruE8jmRZL3DihO8vqt59/GuOjJMK1\r\n10VtEF33Gpkwfoe2JqM0zXAs/LIR5pjvV3XDPSWB58TC/B/EIjB7eXvw0q2n\r\n7P1PWrMajLm2kjFCBVS/ie/CX4yp6bjXDKREvIEga4PnJcMk5b3Y0jPjRZ6w\r\n4QhOu2lYwVNXib/d5tc78MQEBMbnD2W/EwZSqaHK/nZh0QwKHv4UBBbh8NWD\r\nnXY0/WKry8wmiVI4DlEesHaGK+lg10ORcfrPNgECB/2T1C1eaBJb/3B5N6bP\r\nmlWWmbyMbOitSWQh0SzCBMERgQZgChcaUDSMcP7oBDP9RzXI0VVw2AxxntgP\r\nuGHhCx/5VGdwy+G+ATJD+EBf6XW2rZI16/qP3xU+pFp1xM2ozoF39GAy0h3V\r\n3yhNxXCu3iEKRweN1Lm1xc7Whxs9vX8VV3Tkc6y+jjlgospk3AYFCgZJWo1C\r\n/+t4JGDd3BevNVUr3XChWs4m6RCgWbGpg10=\r\n=K6xH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.0-next.2_1660750112422_0.15771164921543734"},"_hasShrinkwrap":false},"0.3.0-next.3":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.0-next.3","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":">=0.143.0","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"statery":"^0.5.4","wouter":"^2.8.0-alpha.2"},"peerDependencies":{"@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.141.0"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while resources are being loaded (including lazy-loaded components.)\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## What does it look like?\n\n[![image](https://user-images.githubusercontent.com/1061/185150441-7532e841-673d-47da-9af2-588469eba818.png)](https://r3f-stage.vercel.app/)\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Description\n\nR3F Stage provides a `Description` component you can use to render a description of your example at the bottom of the viewport:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n\n      <Description>\n        This is a really simple example. Let's move on to more interesting things!\n      </Description>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nYou can use R3F Stage for a simple demo, as described above, but it also allows you to provide multiple examples, and will automatically generate a navigation UI for you.\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"one\" title=\"Example 1\" makeDefault>\n        <Description>This is a very simple example.</Description>\n\n        <mesh>\n          <boxGeometry />\n          <meshStandardMaterial color=\"green\" />\n        </mesh>\n      </Example>\n\n      <Example path=\"two\" title=\"Example 2: The Exampling\">\n        <Description>This is also a very simple example.</Description>\n\n        <mesh>\n          <sphereGeometry />\n          <meshStandardMaterial color=\"white\" />\n        </mesh>\n      </Example>\n    </Application>\n  )\n}\n```\n\n> **Note**\n> Take note of the `makeDefault` prop of the first example. This will configure the applicationn to redirect requests to the root path to this example.\n\n### Lazy-loading Examples\n\nInside examples, you can use all of the tools React provides to you; including using the `React.lazy` helper to lazy-load components the first time they're rendered. While these components and their resources are being loaded, R3F Stage will display an animated loading indicator.\n\n```tsx\nconst HugeExample = lazy(() => import(\"./HugeExample\"))\n\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"huge\" title=\"Huge Example\">\n        <Description>\n          This is an example that uses a lot of resources and uses a long time to load,\n          which is why we're loading it lazily.\n        </Description>\n\n        <HugeExample />\n      </Example>\n\n      {/* ... */}\n    </Application>\n  )\n}\n```\n\n### Stages\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"91ca64d8f7e9a9174316e122dd9bce6f81c23119","_id":"r3f-stage@0.3.0-next.3","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-FPDawZvyYG6RG577hNGaVasj7tdayum9AQ1S+BEbE6dbO0x++KqvecfS2Lzi7SZOIjkLmZfsAfAB0zn/5SKwsw==","shasum":"4869e8f403c87e535a220a2c8e2103b8bf3f3f25","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.0-next.3.tgz","fileCount":24,"unpackedSize":73138,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGAkAOb5LfY5UaLLm6nSeqMk3a6DrOXdyHK2i6bJOXjmAiEAkt1zjyy0gT99UjtKNTFfzMHC9DW6QuawyCAUdzJAE8o="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/Q6mACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuDRAAhf5Fa66dTMNLUxkGghplZcCngZvwvHUbwq9rKAxnMli98Jw4\r\nmxqKhY+vQuwzl1Gdt/HOSGtJYRshja5GwWy2GsK5o/S8V4AFTuWtcDiccTls\r\nti2JBujK/YP9UVu07IN+yj+Sk98S+W4cxdsVmZlGwODZnlA79/QKclsuFKnF\r\n4ZRT3Mx6BOb7WzNByXMKtX5vFEDYYXmFQIvPY8KplswSy+MO/zGg2Yo1DbzR\r\nha09UY6Gp3u+kSW1wTYgp9A6R8s844m6DW+WsfsPPj/XaWeRF49jkDSCHqrs\r\nw2TezF/s+c7dzapjJgeqF4knuptzD3n0Sj14Vnu8dHaU3uWflHVOAXE4qo9j\r\n3aHi/S40nZ9yBVvW63feCjkRhardnXFkTE8JAe1UJoA+rspbt1WKIKaDVvBH\r\nJKgQcWcTjUvrLPWkmlIfKNXCzhGRWgtMomWOmYxpDG+lLmytYPFseIcXPWQo\r\nitvTnlw8WJNorMfqS3npRRMvWz7r2vsI6gkXu1B7iYknpcBYOzYijfs31GXu\r\nwG62Q0XmXoqyDKt51JpQu4H5FCDIt0aFJM54NwcH9T/Ue9jyFzU2nRrd1jY6\r\nhwYJ70W8+0hMCHCcdh8TbBv/nwTmXGaSCn8aOVGS4FYpBW/FrBSeVQ0iBulT\r\nzVnWxniN4Fr/D4qRcfQxzFt1awTu+uIaSo8=\r\n=PMPM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.0-next.3_1660751526065_0.28439014425871756"},"_hasShrinkwrap":false},"0.3.0-next.4":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.0-next.4","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":">=0.143.0","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"statery":"^0.5.4","wouter":"^2.8.0-alpha.2"},"peerDependencies":{"@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.141.0"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while resources are being loaded (including lazy-loaded components.)\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## What does it look like?\n\n[![image](https://user-images.githubusercontent.com/1061/185150441-7532e841-673d-47da-9af2-588469eba818.png)](https://r3f-stage.vercel.app/)\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Description\n\nR3F Stage provides a `Description` component you can use to render a description of your example at the bottom of the viewport:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n\n      <Description>\n        This is a really simple example. Let's move on to more interesting things!\n      </Description>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nYou can use R3F Stage for a simple demo, as described above, but it also allows you to provide multiple examples, and will automatically generate a navigation UI for you.\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"one\" title=\"Example 1\" makeDefault>\n        <Description>This is a very simple example.</Description>\n\n        <mesh>\n          <boxGeometry />\n          <meshStandardMaterial color=\"green\" />\n        </mesh>\n      </Example>\n\n      <Example path=\"two\" title=\"Example 2: The Exampling\">\n        <Description>This is also a very simple example.</Description>\n\n        <mesh>\n          <sphereGeometry />\n          <meshStandardMaterial color=\"white\" />\n        </mesh>\n      </Example>\n    </Application>\n  )\n}\n```\n\n> **Note**\n> Take note of the `makeDefault` prop of the first example. This will configure the applicationn to redirect requests to the root path to this example.\n\n### Lazy-loading Examples\n\nInside examples, you can use all of the tools React provides to you; including using the `React.lazy` helper to lazy-load components the first time they're rendered. While these components and their resources are being loaded, R3F Stage will display an animated loading indicator.\n\n```tsx\nconst HugeExample = lazy(() => import(\"./HugeExample\"))\n\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"huge\" title=\"Huge Example\">\n        <Description>\n          This is an example that uses a lot of resources and uses a long time to load,\n          which is why we're loading it lazily.\n        </Description>\n\n        <HugeExample />\n      </Example>\n\n      {/* ... */}\n    </Application>\n  )\n}\n```\n\n### Stages\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"523fa43b13347c4e8bb41eedb29fa4760e871ce5","_id":"r3f-stage@0.3.0-next.4","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-RKbnL7xrJERYlZTZsfMfJjFllBLME1egepUK7RommkE7kqRcrxkv3x595LkGnrXKmC4zXwFXpbEEQ+RfrM2BVw==","shasum":"b7367260059a366a1de4cff4e2245c474bf42661","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.0-next.4.tgz","fileCount":24,"unpackedSize":72639,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDc2RHIqjQQBfDNr6BWIbLc9b7gyW39N3C6Sz7wjPdLuQIhAI6SrnXftGVJLVBDxIR1QOPdrsuSCT6UCnySkBaV0qSb"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/RELACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4ahAAkXNtOXYSQQ7/PGrgMXHT6X0/cr/OCi/iMSXHzeyLwTQY3BJu\r\nhsk177gy8lwcBusaa6r0fcPYgZtSwylRfNjiDAWxAITxFqIK17pIVdCzx/nl\r\nDAS3mVLffqbqtzi3ZjjKqWlWfq22tWVqLIxlWXPIgctGygEEXbgZEH6dn7Wi\r\nenDDBkpWHnwpvx9Kf30YeuQVgYZyACjO/OlsYVU+83iWw+Qk+6B/u1c6X8o8\r\n3pqI1tzhE6dMbH+z8oHD3mYpq+wkBp2mTNScr9E4yCxoEdStP42KNvBQm4yj\r\nxDsjcp7nUts5VymKhSaT5l1Kxn1OO9rBykMAGAALvHjanNS7luHrF182aZFW\r\ncucTZRrmhN9wIfbXhRPZCF8PU6ks8a5xM+6jpNuzpR0WHdq30kMvVXJ9Wops\r\nUG9dKUph6OhYrYM+cNwnnpbBQb1G9GKf6hVcskrFu73cQ1s3IuStnTVvjTnv\r\nD0uK9KNroIe62JECJHIJQXmvgZhqjmUmAkCTcVkdgEMOx0cPbugi52XrGw/g\r\nF0TvlXiPRhdZ6Dn+l7+k7o+Od5caU93xoYhce4Ep6bUcqefJ3kmVbOwYbr/X\r\ndK02sUu5Gf6FrQ5fQku8aWrgGgrh+GRrqHDcidI2+fNAAfhHEARTdwDJd2PK\r\nKTg8b/svdBqpzR+261Mfypi/x7T00UQbu5A=\r\n=vBZw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.0-next.4_1660752139591_0.39805834927158745"},"_hasShrinkwrap":false},"0.3.0-next.5":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.0-next.5","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":">=0.143.0","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.141.0"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while resources are being loaded (including lazy-loaded components.)\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## What does it look like?\n\n[![image](https://user-images.githubusercontent.com/1061/185150441-7532e841-673d-47da-9af2-588469eba818.png)](https://r3f-stage.vercel.app/)\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Description\n\nR3F Stage provides a `Description` component you can use to render a description of your example at the bottom of the viewport:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n\n      <Description>\n        This is a really simple example. Let's move on to more interesting things!\n      </Description>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nYou can use R3F Stage for a simple demo, as described above, but it also allows you to provide multiple examples, and will automatically generate a navigation UI for you.\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"one\" title=\"Example 1\" makeDefault>\n        <Description>This is a very simple example.</Description>\n\n        <mesh>\n          <boxGeometry />\n          <meshStandardMaterial color=\"green\" />\n        </mesh>\n      </Example>\n\n      <Example path=\"two\" title=\"Example 2: The Exampling\">\n        <Description>This is also a very simple example.</Description>\n\n        <mesh>\n          <sphereGeometry />\n          <meshStandardMaterial color=\"white\" />\n        </mesh>\n      </Example>\n    </Application>\n  )\n}\n```\n\n> **Note**\n> Take note of the `makeDefault` prop of the first example. This will configure the applicationn to redirect requests to the root path to this example.\n\n### Lazy-loading Examples\n\nInside examples, you can use all of the tools React provides to you; including using the `React.lazy` helper to lazy-load components the first time they're rendered. While these components and their resources are being loaded, R3F Stage will display an animated loading indicator.\n\n```tsx\nconst HugeExample = lazy(() => import(\"./HugeExample\"))\n\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"huge\" title=\"Huge Example\">\n        <Description>\n          This is an example that uses a lot of resources and uses a long time to load,\n          which is why we're loading it lazily.\n        </Description>\n\n        <HugeExample />\n      </Example>\n\n      {/* ... */}\n    </Application>\n  )\n}\n```\n\n### Stages\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"66f95204973be503ba56cf43e9c4bae4e1b6747e","_id":"r3f-stage@0.3.0-next.5","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-BIcpG9lLzDgRSKu78DMPujcIAl4dX4GiMnxb2OyUN7kZReJWwWjADJV0a5USXv3lvAVhSBEqsftVdzjZf9JW/g==","shasum":"f0fbfe70755de46c0c42e0c66b18721062674a3f","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.0-next.5.tgz","fileCount":24,"unpackedSize":73004,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDCVDX8gk3oha37v4oIHn1U5VjYS5v0Nnns6P/4rE3DHAiEA+O9uCKpny0cc0T6Ll60PV6S3De4pL20V7/YmrGLNUJ0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/RcmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmogZQ/+OsRsCzguAGDZhXmJFUVCQOiqqllvaXgBthp+Zj9bxmyILl9t\r\nZ9asBrqmO3PAji5nsiN1PwS/Bfzmgm36xU99KVyo9sz0RujPIloSXgQqAbHw\r\nAMrywVwy6ImGLCj2Rm1LAVPA8HbonMS+CQlaFq53xeUENn9a50+308tpnNd1\r\nsL9Z7mpLaTChPKhtnTWZbhyakgwZwHaCeqAOi1U2wIKsVe200EHtQhoo9zEq\r\naDoSTqUJ7F/hHZyokLZAjOI9taUXL/adMtintYW3GB4xo8v5UuU9ofvsiQWc\r\nhH03j0HRQXbbz0+o/JB1jHL0/Ac54XZSMrQmQkGSI6WRzver8ti+2ofchopP\r\nS2VPnJEewmDWKNCXEw31jhbrcYOMQm6R6/QFEwTNJ0FCsDJ43JFBSUV2FMa/\r\nS3G0sPRCgyTrfuGvecL7vk4MfPsKqGYYV1GZpscqJcYkYK9UeQlPgtg0BsjU\r\n6KzjpniqAYhGACwWIxAhIQVbJ3usuwyyEqEMUrJ7fb/0d5RUQBNN5jPF2O7/\r\nj9h+4HBke+fFEYrm93ja2yVu9MqkeTsPau7hZbS+9bSBvznPHz9z0X5noc39\r\nf3MtbQL34i/NG6qADuNZeFI+ahY0E4reevAMLzzyGA5uTs7HIfgRyCGRT8/W\r\nKvgT9I/+lsp6UQd/1X6KhoXVb9x3YDUqDeo=\r\n=9HZU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.0-next.5_1660753702480_0.6909994661401904"},"_hasShrinkwrap":false},"0.3.0-next.6":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.0-next.6","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","postprocessing":"^6.28.5","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":">=0.143.0","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"leva":"^0.9.30","r3f-perf":"^6.4.4","wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","postprocessing":"^6.28.5","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.141.0"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while resources are being loaded (including lazy-loaded components.)\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## What does it look like?\n\n[![image](https://user-images.githubusercontent.com/1061/185150441-7532e841-673d-47da-9af2-588469eba818.png)](https://r3f-stage.vercel.app/)\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Description\n\nR3F Stage provides a `Description` component you can use to render a description of your example at the bottom of the viewport:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n\n      <Description>\n        This is a really simple example. Let's move on to more interesting things!\n      </Description>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nYou can use R3F Stage for a simple demo, as described above, but it also allows you to provide multiple examples, and will automatically generate a navigation UI for you.\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"one\" title=\"Example 1\" makeDefault>\n        <Description>This is a very simple example.</Description>\n\n        <mesh>\n          <boxGeometry />\n          <meshStandardMaterial color=\"green\" />\n        </mesh>\n      </Example>\n\n      <Example path=\"two\" title=\"Example 2: The Exampling\">\n        <Description>This is also a very simple example.</Description>\n\n        <mesh>\n          <sphereGeometry />\n          <meshStandardMaterial color=\"white\" />\n        </mesh>\n      </Example>\n    </Application>\n  )\n}\n```\n\n> **Note**\n> Take note of the `makeDefault` prop of the first example. This will configure the applicationn to redirect requests to the root path to this example.\n\n### Lazy-loading Examples\n\nInside examples, you can use all of the tools React provides to you; including using the `React.lazy` helper to lazy-load components the first time they're rendered. While these components and their resources are being loaded, R3F Stage will display an animated loading indicator.\n\n```tsx\nconst HugeExample = lazy(() => import(\"./HugeExample\"))\n\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"huge\" title=\"Huge Example\">\n        <Description>\n          This is an example that uses a lot of resources and uses a long time to load,\n          which is why we're loading it lazily.\n        </Description>\n\n        <HugeExample />\n      </Example>\n\n      {/* ... */}\n    </Application>\n  )\n}\n```\n\n### Stages\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"99b78b2606e72fb4c33e0b0331f2bb6d4a79cfd0","_id":"r3f-stage@0.3.0-next.6","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-1jV54pvfSRsM65gjHKKiRdPyMtUz9Xcu8+411AxXqCqHf8ZHpwNvKw78t5aTRtb1RuS1fhGmoOFlAxTLmYigGg==","shasum":"531e0e8a483fcbc6d79960b985ba54af2b2508c7","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.0-next.6.tgz","fileCount":24,"unpackedSize":72955,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0xefkebvE1JNJgF9VGRoUwpHWrtn7SeuvUS39Cqa98gIhAKUKTgenc69OiCjVt2TkjfdFqTp2Z9kM7mNPt/Ry0N6g"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/Ro4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrjShAAlLq/DTFk0L4czEP+N3kFo2PCLGl7KsvmZxIzCOBZWBfpCGM1\r\nmWyU1Ow8AUjAX/aNZ31YWjHzcrixnyLlVmGKZl2nw4ckV2yekYich0k1kGiH\r\nqQBcOWv63aMYvG9XWkq5zFuO3E/JBvem5pPGwFyHgA7yj9X+xJPq6fpSzRUM\r\n1/hHVBpCdzLCzajZZFRtTWYEpe0ZxlXnz7zNNQtrR71urkaQElLM92mQN+FH\r\n/RxMkc8+G0ggqt3k5FENTL0CWIng+Dk9covopHu/TkaprUvDsqdoPHVK58ER\r\nYvDlnqAZ7D0HB5CK9wE+9y5VmpdYCyPWp+zeJ2xytBpSU+SvJvk67p0CdJ5E\r\noQjDb7jaFXAl+/cVhtTrrTigs4Aj9hoG335hrthMTcNPcvLAg3UxwuhXlaUX\r\n5o+hZbFN/YEMjZj3rDkU+DRR8vZS6g9FtN76Y3T9oh+1n2ZbBcIt1RsaK/QR\r\nFzIYd5EznuIkedN0Da78yGs/a6PFVVwDaNt37s/UZYVpzGG095yBLcNoR1J3\r\nS7TeXoZZEwJ4WjG90Q/kHfVBUFgW4GdblkeQMEVAnGfUVRBK996uKLNWjQqc\r\n7Y9hRxNS4rVk2Mmdgx/RiqnLSaXI5nJZkcrjzPsoHSWlJbdPZwKUshpovSP3\r\n8HD51DDNdGaX4OblolE/EXALYsAYs0shxxk=\r\n=GXA5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.0-next.6_1660754488282_0.0019047926959689931"},"_hasShrinkwrap":false},"0.3.0-next.7":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.0-next.7","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","three":">=0.143.0","wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while resources are being loaded (including lazy-loaded components.)\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## What does it look like?\n\n[![image](https://user-images.githubusercontent.com/1061/185150441-7532e841-673d-47da-9af2-588469eba818.png)](https://r3f-stage.vercel.app/)\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Description\n\nR3F Stage provides a `Description` component you can use to render a description of your example at the bottom of the viewport:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n\n      <Description>\n        This is a really simple example. Let's move on to more interesting things!\n      </Description>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nYou can use R3F Stage for a simple demo, as described above, but it also allows you to provide multiple examples, and will automatically generate a navigation UI for you.\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"one\" title=\"Example 1\" makeDefault>\n        <Description>This is a very simple example.</Description>\n\n        <mesh>\n          <boxGeometry />\n          <meshStandardMaterial color=\"green\" />\n        </mesh>\n      </Example>\n\n      <Example path=\"two\" title=\"Example 2: The Exampling\">\n        <Description>This is also a very simple example.</Description>\n\n        <mesh>\n          <sphereGeometry />\n          <meshStandardMaterial color=\"white\" />\n        </mesh>\n      </Example>\n    </Application>\n  )\n}\n```\n\n> **Note**\n> Take note of the `makeDefault` prop of the first example. This will configure the applicationn to redirect requests to the root path to this example.\n\n### Lazy-loading Examples\n\nInside examples, you can use all of the tools React provides to you; including using the `React.lazy` helper to lazy-load components the first time they're rendered. While these components and their resources are being loaded, R3F Stage will display an animated loading indicator.\n\n```tsx\nconst HugeExample = lazy(() => import(\"./HugeExample\"))\n\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"huge\" title=\"Huge Example\">\n        <Description>\n          This is an example that uses a lot of resources and uses a long time to load,\n          which is why we're loading it lazily.\n        </Description>\n\n        <HugeExample />\n      </Example>\n\n      {/* ... */}\n    </Application>\n  )\n}\n```\n\n### Stages\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"78057dcf30973159365bd84260e1e0e45d15b68b","_id":"r3f-stage@0.3.0-next.7","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-1XF2CEdV9C7W4IJ7tdRaMs8BGYjV/CPAW1Xv1+kUgksjr8lyY/4oEJhW/fTbdMkL3wiH93wfatzo0s4fWOt3Tw==","shasum":"a863ba41d2a1a82cb0a8328cff9b7a2b219c162d","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.0-next.7.tgz","fileCount":24,"unpackedSize":72824,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJH0d17GgH1UBYkLo2a5FWsspMyogh3VbxoeKcVQiDcAIgN3yPN25dbreAzj5911o65xbQQy1RqkzVPduFJGyOFqA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/SPpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpL2hAAmR7HyjRoHnLVYOmEsVgeyKOxqy4paQ240MtWQ9FPFWeC0Ag4\r\ntxG+ypYFZfobgPQku3PIyymCZls/Fqz+0iiUiHCkya2J939uh3kZVpnxM0B8\r\nQ2XRAxdrspFzZit/dHhN0zJKIFdNnHhnOhZGk/QMF9KY5wM/gvpntcfS6JgP\r\nNRf1GNhuCPX8vmWV4bdKsprCIedyzZo3XGvJZ3OJmdBFr0ZkuSPDaKn0eHcV\r\ns/71DdQHAs51FBsaVjZ2cUwuVXriKj0w0brec4J0VpQ31CDHZeHvxDPkKCtt\r\nPENOFYGBsPMsnraMKegYVRJYc6MQz7TbhwUP59p3v6UVNq06tXrbJvDMwI2O\r\nMQz50E+UQsO1L1Zi6KosFYArVhzW+i18Xd+m8dmJiIitlbaiph3N0AYUR0fH\r\np1J3M8W+7kBKk9HukLrQBThH2V3lps8uiON5c/e47TCCjFyU/15mIAUCL8aS\r\nwKcMQzemuihigT+2xzOrpzIL1q+/sZ4lh8xoz2TrQUkwQ4wD+MoMMaTPZ1sY\r\nWtHRvRznnF+IZclfhqDSl+HZR2g+VUrEKlDx3ST43nIs3WWLjLrDQtzYPW2j\r\nxhVXBgGpY+7/Lr2xXLuB8YaTF404+JwMoVGxDa5zQwrF3fI4XzIe0S0G3lu8\r\n11WPwvPwpCfBz4o+8zZAqZI8QUG5YulQ0zI=\r\n=N/dE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.0-next.7_1660756968811_0.7178022306141256"},"_hasShrinkwrap":false},"0.3.0-next.8":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.0-next.8","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.22.7","@react-three/fiber":"^8.3.1","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","three":">=0.143.0","wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while resources are being loaded (including lazy-loaded components.)\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## What does it look like?\n\n[![image](https://user-images.githubusercontent.com/1061/185150441-7532e841-673d-47da-9af2-588469eba818.png)](https://r3f-stage.vercel.app/)\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Description\n\nR3F Stage provides a `Description` component you can use to render a description of your example at the bottom of the viewport:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n\n      <Description>\n        This is a really simple example. Let's move on to more interesting things!\n      </Description>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nYou can use R3F Stage for a simple demo, as described above, but it also allows you to provide multiple examples, and will automatically generate a navigation UI for you.\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"one\" title=\"Example 1\" makeDefault>\n        <Description>This is a very simple example.</Description>\n\n        <mesh>\n          <boxGeometry />\n          <meshStandardMaterial color=\"green\" />\n        </mesh>\n      </Example>\n\n      <Example path=\"two\" title=\"Example 2: The Exampling\">\n        <Description>This is also a very simple example.</Description>\n\n        <mesh>\n          <sphereGeometry />\n          <meshStandardMaterial color=\"white\" />\n        </mesh>\n      </Example>\n    </Application>\n  )\n}\n```\n\n> **Note**\n> Take note of the `makeDefault` prop of the first example. This will configure the applicationn to redirect requests to the root path to this example.\n\n### Lazy-loading Examples\n\nInside examples, you can use all of the tools React provides to you; including using the `React.lazy` helper to lazy-load components the first time they're rendered. While these components and their resources are being loaded, R3F Stage will display an animated loading indicator.\n\n```tsx\nconst HugeExample = lazy(() => import(\"./HugeExample\"))\n\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"huge\" title=\"Huge Example\">\n        <Description>\n          This is an example that uses a lot of resources and uses a long time to load,\n          which is why we're loading it lazily.\n        </Description>\n\n        <HugeExample />\n      </Example>\n\n      {/* ... */}\n    </Application>\n  )\n}\n```\n\n### Stages\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"4511b1893bbd6e4c55e5f5973e91600b6e60600d","_id":"r3f-stage@0.3.0-next.8","_nodeVersion":"18.7.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-cIcbO/ZPxmAKAnOqiqHqWu6Hecec4cOrCMwWImBM/0BvMLhs0HqTgdSp8qzmt46bHg3pBMk/0MP7yKMc8uOodw==","shasum":"1ded25da34585f31de8497e2d94101c25593035a","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.0-next.8.tgz","fileCount":24,"unpackedSize":72824,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2fDUDsuAtHFml5OfYX+BzcJbow1ORVHxk0DIQkfFgsAiEAum0GP7PEqPRm/GPKPI9sD70Cw6hRtVNRwBDi6qiMUMs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/TDAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJFg//V0M2CWixAbRNoTdNXlbHusaMx9iqDo+v5iqNPovvM6XxAXcc\r\nGW3AHsUfTHTZT+8KV+RRRyCjqOo9WKqwEi2a8S0It/XBn8i1E3+9tYhzrIuV\r\n1zdDkIMofdOanpkSTuUHNZu0De0dR/Su+FcD9pMYwm9UO0qmYhsdR16+xgVN\r\nudIHloqrBGLRAErGDPEAVaZU0s74bdwWZgQpGcQxez6pXhsusJvv7vXq2G1z\r\n6ksrTchbgWo+fOXaPxkdgg9h/Qm3vpFK46UTseVEUmv0mMpefHy9z6xIqDk6\r\nSpDkaLG/OyWGeUgX9KLDc5/db9poHSC5/7x/yaLVRe0umIIv9HToQ3Vc1u9F\r\n6op4a2tYn8hw2MEDLnojmx2YCZhHGvwMsmtP/Vcj5t6PVTmd4h/PC1yOjT/m\r\nw9MRmxJE8t2dpv3gRf3sfHTkApd9Q0E7y8/PZrKcxKhrPJeSCC8Gm+UH98A6\r\nHwq8R2JjWIVKQiFnNkfoFcOhtPIZbP31WjQRXlP1Z2Pz7zWS3D5aXLRiR2yW\r\nzpQU8qAx8wPdDYGAXswpDhSLx1tnj16CdTdYNwyAHvPIt5SB0rhwjiq6haDA\r\nm+/FVvEGpb4Ieo6P4YRwvzHFSQy0y/45IuUrIkLN9rLpVl0IeJ+MIK1yFivy\r\n77x9YTIRc/DN7OZlQ/RNpWMmnUQnOyg7Bdo=\r\n=jdQt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.0-next.8_1660760256039_0.46871968664316466"},"_hasShrinkwrap":false},"0.3.0-next.9":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.0-next.9","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":">=0.143.0","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.22.7","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","render-composer":"^0.1.4","wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"@react-three/fiber":"^8.3.1","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.143.0"},"readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while resources are being loaded (including lazy-loaded components.)\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## What does it look like?\n\n[![image](https://user-images.githubusercontent.com/1061/185150441-7532e841-673d-47da-9af2-588469eba818.png)](https://r3f-stage.vercel.app/)\n\n## Usage\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Description\n\nR3F Stage provides a `Description` component you can use to render a description of your example at the bottom of the viewport:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n\n      <Description>\n        This is a really simple example. Let's move on to more interesting things!\n      </Description>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nYou can use R3F Stage for a simple demo, as described above, but it also allows you to provide multiple examples, and will automatically generate a navigation UI for you.\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"one\" title=\"Example 1\" makeDefault>\n        <Description>This is a very simple example.</Description>\n\n        <mesh>\n          <boxGeometry />\n          <meshStandardMaterial color=\"green\" />\n        </mesh>\n      </Example>\n\n      <Example path=\"two\" title=\"Example 2: The Exampling\">\n        <Description>This is also a very simple example.</Description>\n\n        <mesh>\n          <sphereGeometry />\n          <meshStandardMaterial color=\"white\" />\n        </mesh>\n      </Example>\n    </Application>\n  )\n}\n```\n\n> **Note**\n> Take note of the `makeDefault` prop of the first example. This will configure the applicationn to redirect requests to the root path to this example.\n\n### Lazy-loading Examples\n\nInside examples, you can use all of the tools React provides to you; including using the `React.lazy` helper to lazy-load components the first time they're rendered. While these components and their resources are being loaded, R3F Stage will display an animated loading indicator.\n\n```tsx\nconst HugeExample = lazy(() => import(\"./HugeExample\"))\n\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"huge\" title=\"Huge Example\">\n        <Description>\n          This is an example that uses a lot of resources and uses a long time to load,\n          which is why we're loading it lazily.\n        </Description>\n\n        <HugeExample />\n      </Example>\n\n      {/* ... */}\n    </Application>\n  )\n}\n```\n\n### Stages\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","gitHead":"e7bff06f0a59239d674100992589e2b893f032c6","_id":"r3f-stage@0.3.0-next.9","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-LEpwVoqKOMyMy192kW9ZAc1lUb4dSGCbt20sBi8DyHhZDS3zL5au0Dc7ZJumwVXLG2jRLfE/7R7nSd4g78VO7A==","shasum":"571cd712fddb76164b4959774f4795082da50ac9","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.0-next.9.tgz","fileCount":20,"unpackedSize":43525,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaeWcyTHV27o6q61/TQBwzD4te2WmNldVPMrMMqMKd7gIhANwE5BUrAWzmTfYlcOrpJSrKkAW3BiLaMNj+VheFl4YB"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/hb0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2VBAAnYhhKM8mpaWBwGXc7nGjR7wguU7ZQ5aFGpSaVBREGlprKVGr\r\ngi47BD2B4tPVZaSVPDb7QekwwQk59uXigmjCh/YLteqw7nek0MqMp0T64OEh\r\njMrLq9s944p32LbpJN2AHK0f6cMd2zgvOjxfylaWqQigNboQilKxXaASzkBd\r\naLkPX+70uhZqEmP3fSmQXoMH/+3q5UCEdP1dQ0b+eREidW0Vbvk7+l+1kLO4\r\naOZyRTYfL/YqZyTJSJsAv40i8N3sJP/7br1bGz+JOGd9rwbq0fMD9KFNFfRz\r\n5C1sRlpM0K2EJKuMpTi230aJsyA4+0LDQZ00rdDW60SN2C3kwgyDDg/zHBFu\r\ncGQCEElbyDWageKGWjiHXpMgc0Q/oPhxRUY3LB9kM5BlVrlH9DfiOSLJEXBi\r\nNmWnuIXDJQs57SCmOL7Bl6TgKGcTLn3T+ox4GlZbBTxt0P+dM52O/NQBHK4o\r\nbMa7/lbWassdPkUSGQOO6u90q39+WKM3WB15JFdcWI9ptTlSPyPc6ec5OUi2\r\nDROHuU8DcNTPAKUvkpcstK+/duWHDDRtVs095Jlq351pGYcxjKhW/kbQfpOd\r\nQYp1/XDN5tVh8TC6tCIMuehww8qllyjdvdqIeM17zV7nfA3pad5oHhLuJCyw\r\nqtyCEchezxkYpnS1wmE8aAm6KdU6f1MD5A8=\r\n=2irw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.0-next.9_1660819188506_0.6853266777437927"},"_hasShrinkwrap":false},"0.3.0":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.0","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":">=0.143.0","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.22.7","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","render-composer":"^0.1.4","wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"@react-three/fiber":"^8.3.1","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.143.0"},"gitHead":"125fe08ef47abc09b49ad4b034928b845aaa56de","_id":"r3f-stage@0.3.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-TPpdssMD4cHyDY0Svhm244Hc52bXfFBmq7XvSJd64IHtSO9lUzN0BzFr4ceN4YxKSygrAX22VESqYevpjhMhoQ==","shasum":"315033c27c721ad23d6f53e6a45811dd4d97609e","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.0.tgz","fileCount":20,"unpackedSize":43518,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGLmkrkLEOlsXgAGsxCd8YxBqPPCYA916Dz3Mrv5kIJDAiEA0VGjOoE/7j5a/EmVwwZt+EPswNlDYC8g3jsWUpxGvh0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/jhlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplexAAj9nEcrRPDVS1wMKuH2AEMErKE2vihMgox9CixftbC7epiOa7\r\nvgrkAFkI4CwjCWIbU/qQSJt8j+IJMCQsFNKu3XZJ0s0th1Auvui+WyiDvAmv\r\n0JHnboYCATmSGemWR9LS6zBtsjdeT2UYviWRquhFMsrkc/BQZEgxyySw9Lcw\r\nAydMJzFYn/QYVnnOAbve+H6c44eQqzggVbp3kCR92tB1LKJTkkIZJ3/RuGfb\r\nRMuttUYwvdCtLkcSPgLzTt4HjNP7Uen2IWC79mpql6nYM4N9GeexaX8LcYsQ\r\nL8q8nf3cYNClOTdoz6VD4QdZIeeFkEbhEqOvQOdtrtwZEeG0O2ZF68QpGIUa\r\nA5qvw23RVNbAYIQERnDySDCuqNKSOE+Oj+COa0aYF2YF4lRmAyr1b5HjzmUS\r\n5ik0VUOSrX+vDElLVhyIWZeKOlLk+OjutVAxiMkXswKAN75uQCv7nbz5iaGY\r\nNhDQE1oS8rbnuC8MHTwZd2pLVlEVElChRiiieiYBQ3m31RwAS+PjDCtpBC81\r\nexQVg0+aCJF0jMnFjZKCrQAYxtFKfgwA2/1K0tU/3WQ3xlZ96exRYJ92IpSU\r\nqaGtwRQi0TxJWfK9flr3JGAZxas6ztlqq5ga/pbl/R5MCzdmlICGjudhMkrJ\r\nM0kQh6rYU7ZBgOUL3iaKpzFWh4ERp93A+Yk=\r\n=/frW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.0_1660827749723_0.6768534317502402"},"_hasShrinkwrap":false},"0.3.1":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.1","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":">=0.143.0","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.22.7","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","render-composer":"^0.1.4","wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"@react-three/fiber":"^8.3.1","react":"^18.2.0","react-dom":"^18.2.0","three":">=0.143.0"},"gitHead":"aff9b347f4e81b4600d166d65864e5467dc1a87d","_id":"r3f-stage@0.3.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-wWUteRqcVDbu5kViLvfEYd6NnimdPxQE66MqgOOE6egzUybtMvSEX08jYXzwljZWeyxwRZnNZVGAsWQ/ngWnpg==","shasum":"ec41406cfd8cce038efebbb8118b758196762c44","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.1.tgz","fileCount":21,"unpackedSize":44738,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGbYQ4wzcWPsI8WamqQYDw1V1lAikNBwQLb5K8y9YKApAiApQvXEQ9NtcX44B5xWbnunIk5uTXO7pF9aYwp3+zY3Nw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/9vMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZdA/9E9erKrxHuSmFxlQzTR1PnzmmTmqOmgmXDJbGTZpDX9I3ZgoP\r\naO5/8azvnAzHRRXPXLVOtGQJqDKbnVRPz9qsD9nAStf4QJ8od1QDDbhQ5KFE\r\naz7ihgeNMSQzOZWIiJHVPJi8X89dE+rk+Q5u0LcKh6A0iJH4Z4rg4MhLW8w9\r\n/sJZK3S6YLkKtiwRYInpfuWXLiI5lk5IBGMiDs/pkCT9dqmTrd2f/xMZ1ft0\r\n9+qMZWheurcL6rgJ0nOdJ/UmOEx7uT05ChZeMMvcSMyuVWoXANiQ/s1q19VM\r\njQnIWs190juKltW30eNKQXfHF+11/3jRPYYtloIjf6G2fWGgaPoo7yss6EqU\r\nM8i6peJnNEFtMlxfUpCivtEkmHghoN56dnQwt/gs83j0Wi5XKolsqlq7qQdU\r\n2OUC83RVhyQ5RhY7XLU/ws85dQwJZbRSBc7j+au6Z0Ujp4EkkJ7glj4jiX9q\r\nVMZa5lOu09ToSVRNoqucLk61liC+6DJfm2JNldHHtS5GP7gspqIb57i49eAT\r\neiKHihDqow3wdqileX+bbvj52BJoqKSgoA9YGsxGRIlYctcL94BbWEmZ/d5F\r\nodOt5N7cgdUGQCHDKKkX4BvQcmjr7oXdO4YqoOpCG3ePu5v2dYikYUq91fT2\r\nolPfxsLVtNp+x6NK1m/LNBYdY+HoskjaqqU=\r\n=z6og\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.1_1660935116117_0.6282078307391075"},"_hasShrinkwrap":false},"0.3.2":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.2","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.10","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.3.1","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.7","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":">=0.143.0","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.22.7","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","render-composer":"^0.1.4","wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"@react-three/fiber":">=8.3.1","react":">=18.2.0","react-dom":">=18.2.0","three":">=0.143.0"},"gitHead":"ee2bc2e89b6f3c93ed38a3bf531555f411170a75","_id":"r3f-stage@0.3.2","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-TqpdrlAepEFV/IvZe83Pua/i7Mgfx2g4ICxG8S8Qzygyy+J5rcVK+uPUYvEuxp5MXJchnEsh6W6g7rSULB5p1Q==","shasum":"0fc5a694484d56cc41920486fc745b5e46340d76","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.2.tgz","fileCount":21,"unpackedSize":45139,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWrqKJMG1fASiCiEDEgr61ggWmXxmdZ7VSzrmAEfWv2AiEAkEwSzsYz53KhP79jqwXr26FAyJOffNn/MhGhyUrORuc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAzx/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqVZRAAlYWo8s+REYz1q1WTyrpeP96F3IcOzSLX0252Zl/1j2h1lcp2\r\nv2/2AebKX07MULyY19SsyQvRUpbmWAhk7LaxQTEKTeNuK5WFqTakNYtRHqRe\r\nuTBIkRi2lQr4jUbgftQmCctk7bAPzvHJy0ssHuovq7hfR1lcSJLLTZ+e2XhR\r\n6G5RbWE3ioSeBep9fp9IErMTWZ8gN1WxakZJCzbJytnaa/zw7x/N72xQUTla\r\nZ7nwYy+3wj6SJDnQ9FxKSxz1riZnUwi7Fx5h0yMybLt4/EPwohd9juXTBZPD\r\n1gkUd1uv3mah0KD5tzWtED5QMmtJa37UKZrFyoWF7Ro1nTcL3qiA5xgN1ek9\r\nCfIpTYmIpDKkSSSLZda/Mm+KiyZ8k7vbpZSMtxbAfaqRpewSj8og8VUxYxz6\r\nIl6Ga5XVngMlg3eDpLOl4454R0QyYI43T1IFG2m+q/D2xLHNPGOGl8q8fCSV\r\nPbmLmhwrMAJ/uCfY69IB9xB78C5fAG8iBr83ywqO+60X7yMcXBPyWTtBqXqk\r\nSEmNHPZMMfLDhWFevprii1g0mTs4NclQ3dTbIF/wiBhCLQRXj+KONdZ7+KjM\r\nQZb9L4+OF+E/LKN3svpzD+pLtnDXS79g/FCU5L+2WmnEoBeNJDHfBoGIiPjE\r\nhj74ubHeb1JPwwKql3LqK8btt1mABSIpaxA=\r\n=n2sX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.2_1661156478978_0.3079366423480048"},"_hasShrinkwrap":false},"0.3.3":{"name":"r3f-stage","private":false,"author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.3","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","types":"dist/r3f-stage.cjs.d.ts","license":"MIT","sideEffects":false,"scripts":{"clean":"rimraf dist","dev":"preconstruct watch","build":"preconstruct build","release":"yarn ci && yarn publish","test":"jest --passWithNoTests","ci":"yarn clean && yarn build && yarn test","docs":"typedoc"},"devDependencies":{"@babel/core":"^7.18.13","@babel/preset-env":"^7.18.10","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@react-three/fiber":"^8.6.0","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^13.3.0","@types/jest":"^28.1.8","@types/react":"^18.0.17","@types/react-dom":"^18.0.6","@types/three":"^0.143.1","jest":"^28.1.1","jest-environment-jsdom":"^28.1.1","react":"^18.2.0","react-dom":"^18.2.0","rimraf":"^3.0.2","three":">=0.143.0","ts-jest":"^28.0.8","tslib":"^2.4.0","typedoc":"^0.23.10","typescript":"^4.7.3"},"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.23.5","leva":"^0.9.30","postprocessing":"^6.28.5","r3f-perf":"^6.4.4","render-composer":"^0.1.5","wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"@react-three/fiber":">=8.3.1","react":">=18.2.0","react-dom":">=18.2.0","three":">=0.143.0"},"gitHead":"a037b1c940b79516e6f66e5634818e9db0cae0b2","_id":"r3f-stage@0.3.3","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-/oHPehuhmzBzZ8ZK+2i/EhyM1IiVEmdAT5TsMPM+8wiRH7CPiJlEFWty+bzyHimr1MtFxKMizSqYXPyhCmX/cQ==","shasum":"8bdcb63f8ecdc6fdbe3e7aefc74ae5ef175c183f","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.3.tgz","fileCount":21,"unpackedSize":45135,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJSSalQ5YMcX2WmsLOPAX0mx3nhHuDxQAnR2vobPBOFwIgLrVJI/cck32bB75MzuDWef7TeYsAtNXOUr9GU7nzv9Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBgKTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQRA/+NxZGDhdCeyBNk3nL8t3Fi5VFa3hI2D/bqT/L2Pq6nAiMF02A\r\nwUf9O+jFCHrGxxUFUxRgEQYjRJGkL1SQGFZfwh4s4z5GL4CES0L2AO32HnSq\r\nUTM972xZFQ2bSIZl5d/21A1dOR0NPFLDX9i4YiCBiXrmzk1CvmoU6nous/Gk\r\nMsFYN6mW8qZqFHCcy2yDweA10GOAVsD+JQct4mOaZManQLOj1QwWevFUNH21\r\nDyhJf4YvMSHNPL5e95OVhkpITfT3CuS/bQEckiFZrUsyr1SX5YbJASteyJID\r\npJYYOwIrPfYgKpRtwIyujL55KH6HCzjK/KZ5wPTYHWvjYVXs/Nps/jLHIrVD\r\ngNxVOAdrXfcMuf+oMwQwzKJPmpIH8Y5rV3slImW1HwwnWdElDrrD8bVipHdh\r\n2V7Xb8iVVQn5YI5Hx5bjabqa2kiL6fNcyuefs9kJdCpXyjKEBXipahYs2u7d\r\njxbR51jZtIZigKMHX8cvKq686Id/laSBoen0el0zwPnoXEkJ75XmYwPxlY3s\r\ntVzuGdUELblu4dDmiOiwpKI8FeLZOaO8TuhvtVLQXmEMSp/xdtBsvs2XfWo5\r\nlKWrg1ajBMcLFc1GbLwub2r+6CmDQU4Ft7fd0n1Ogs0CaX34E5FoncNGWDI2\r\n8QepDZ9uo8vAZctZ1wF2f+T2qYzubi0JR/g=\r\n=GREi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.3_1661338259069_0.8807473945076172"},"_hasShrinkwrap":false},"0.3.4":{"name":"r3f-stage","author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.4","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","license":"MIT","sideEffects":false,"devDependencies":{"@react-three/fiber":"^8.6.2","react":"^18.2.0","react-dom":"^18.2.0","three":"^0.143.0"},"dependencies":{"@react-three/drei":"^9.25.3","leva":"^0.9.30","postprocessing":"^6.28.7","r3f-perf":"^6.4.4","render-composer":"^0.1.5","three-stdlib":"^2.14.3","wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"@react-three/fiber":">=8.3.1","react":">=18.2.0","react-dom":">=18.2.0","three":">=0.143.0"},"types":"./dist/r3f-stage.cjs.d.ts","_id":"r3f-stage@0.3.4","_integrity":"sha512-dfyHeYgwkn1PMA1tG/EtWh4WPnV0giQEVGuQ9fpyMK01AuJGADx4GG/UfTEZwDBykRijsPJXjn6PSk+uYIqMpQ==","_resolved":"/tmp/bc0d26f73d42feafbc28207648cbe1c6/r3f-stage-0.3.4.tgz","_from":"file:r3f-stage-0.3.4.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-dfyHeYgwkn1PMA1tG/EtWh4WPnV0giQEVGuQ9fpyMK01AuJGADx4GG/UfTEZwDBykRijsPJXjn6PSk+uYIqMpQ==","shasum":"003a04a7262b216e3b4e96f85e9ddf3d0c291452","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.4.tgz","fileCount":21,"unpackedSize":44054,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAIbwQ+Za3mTmz/24i8rTjq0nA92DxQsKXm83yqgwgGpAiEA1AwVsUzNU+Ly3PjX4fbpbuKxYEDsjLrNvqV6wZUWBB8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjEJJgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTgxAAm2aWAvYJhlnGA1bywfOwzz45vvDS2qvlzxZU86aMPFQL+yKZ\r\nL19vwjBKlzOG6Yq77jbyjx4YOjHmLH2AxbcZA0uk3cWt1wt3L3HSq+LsFTbA\r\nGAdRi9+ZHvm2gUh67PHgcPIkQa1uGpnTv7XgVslJrSmSzVGcRl0jzLQKXun3\r\ntw3ctsnNA4VjSUFgO7snjceta5/Ks+fNrmyelupj1NzI1F2JMMxLgztA/xrW\r\nBlncS9eLwZDGTArVRgJGUDgBO30ASSjcufKhkJhrMBeCOhgVlmL/DiOlHCRi\r\ndXceeX53zFSToifeNU3xJT3xGQHfD/A55OoFn7KbtraMFiJ0IcfKfewIOEGP\r\nbYFD+U0Ib+rF5/MupVhn7Y6VgOG7eAQx1LjLpE2tDVQm9K6VoKWSutkDjqQt\r\n8nlMdDyvS9j7KElzU6Fn5u2Ue1xsDVTvY4DpHvBSAO6M399bk/CtGXCqvmKY\r\n3DTy927R4taitGLZvDV1RuzOHCi/vTHh1iOaAsfvvgSZJVYjTzGCMtknHxvR\r\nLCnZwbGn9YmsBG1Kn/j5T12aV78am6bNLVZnriQ7RWRviReM1CQ9j9Y4+Opf\r\nm6ZPObB+RAh/mzrH6hmwpG7US7/jpEz5iPCPXFL+Qhwipptc+e1U4SB6jPFU\r\nYAOT3xxd99W79cGa4inhtmRRP7f0+bnnTH0=\r\n=ozyq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.4_1662030432558_0.8674269370378451"},"_hasShrinkwrap":false},"0.3.5":{"name":"r3f-stage","author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.3.5","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","license":"MIT","sideEffects":false,"devDependencies":{"@react-three/fiber":"^8.7.0","react":"^18.2.0","react-dom":"^18.2.0","three":"^0.143.0"},"dependencies":{"@react-three/drei":"^9.29.1","leva":"^0.9.31","postprocessing":"^6.28.7","r3f-perf":"^6.4.4","render-composer":"^0.2.0","three-stdlib":"^2.15.0","wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"@react-three/fiber":">=8.3.1","react":">=18.2.0","react-dom":">=18.2.0","three":">=0.143.0"},"types":"./dist/r3f-stage.cjs.d.ts","_id":"r3f-stage@0.3.5","_integrity":"sha512-jM0wO7mxYjbqfDizJaf968DQaqyWPINzB2HWaQjE1Dxw9J7/bR0WJnCxULwdPof/QXFiK25nbiXBfrQq1VWBCw==","_resolved":"/tmp/c0ff717fcd375ebb95466dbf22437290/r3f-stage-0.3.5.tgz","_from":"file:r3f-stage-0.3.5.tgz","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-jM0wO7mxYjbqfDizJaf968DQaqyWPINzB2HWaQjE1Dxw9J7/bR0WJnCxULwdPof/QXFiK25nbiXBfrQq1VWBCw==","shasum":"4cab2308eee0fb29e9827e94246e1feac5218c7a","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.3.5.tgz","fileCount":20,"unpackedSize":46100,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGOEQzL9tOyfdyMOaWj1BNT0fq3ng4VJV1kS5Yz6cT3JAiAL1Yv9rrd38CqBBewoU06Ldqju7dRLmYtCdQj/WaUgOQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJJ5uACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHChAAg1f4DquZYCZIGceulUIgF7lKZg1hyeIvg68+ZFW2tL97A4Ji\r\nR9XxFVLIv/ubw1ESHeTHLYTAwOiYelpStQntm++qG8OTWaNAJDwm5Wh8zTke\r\nMAzmpWQfGka/5CjvjRK6TnfDsOFLqyoJnfXjjEDUlMCkRviuULFEUX9C1PHV\r\nPL5sE4J1GRY98+LEss6GsLxcEe4ft/XT+wBvVulL8lRST1eV0TTeIIxkiyg3\r\nrZWlrZ0zIrsW4g8VMbYXyTwg4KByE+mE62PLKucrdrIts0PKi4L5V0EynGjZ\r\nOgPLiE1/kM4j389nGJ9ugegH5rlIKtrEKrAp2jCvUR92A4gNVoylhkBwxmpy\r\nR6WsGhgeszgm391L0DADF2bqw4CtyNL5BFkCcNZHyieTEAsk4ZNsxaIAE1mn\r\n0VhROhiEKV/PC2Ez+qaqdyncO3ckWfTX+oymzBycgA8ew9WUGebhF0XY9Paf\r\n+L9MS/jQve1JVlTMqWPNraFcuPPNw7sqmqq3YF0dQRyVzUv6Gi56Od7EZ/NH\r\nfdhuo44Gft2zLBbUJ2wrc1C+Kz9YPDkJ+uwzsrDFVi8L4AUtxKEpFMdR3/wK\r\nf0xCZsRJTanwJcioXIxFVGow5gQXHRYz8R8/t7dSzZNZ8GW8nBKRIXMU5NnT\r\nonxhsSssJvBVut4z/3MBVVuTZcFWcr8OFOo=\r\n=qViG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.3.5_1663344237752_0.6905815066918384"},"_hasShrinkwrap":false},"0.0.0-canary-20221130162026":{"name":"r3f-stage","author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"description":"A simple stage for r3f examples and sandboxes.","version":"0.0.0-canary-20221130162026","main":"dist/r3f-stage.cjs.js","module":"dist/r3f-stage.esm.js","license":"MIT","sideEffects":false,"babel":{"presets":["@babel/preset-env","@babel/preset-react",["@babel/preset-typescript",{"isTSX":true,"allExtensions":true}]]},"dependencies":{"@react-three/drei":"^9.34.3","leva":"^0.9.31","postprocessing":"^6.28.7","r3f-perf":"^6.5.0","render-composer":"0.0.0-canary-20221130162026","three-stdlib":"^2.17.2","wouter":"^2.8.0-alpha.2","zustand":"^3.6.9"},"peerDependencies":{"@react-three/fiber":">=8.3.1","react":">=18.2.0","react-dom":">=18.2.0","three":">=0.143.0"},"scripts":{"build":"preconstruct build"},"types":"./dist/r3f-stage.cjs.d.ts","readme":"# R3F Stage\n\nA pre-configured react-three-fiber environment for demos and examples.\n\n## Features\n\n- A fully pre-configured react-three-fiber environment for demos and examples, with camera, lights, environment, orbit controls, postprocessing and performance monitoring already set up for you.\n- If you have multiple examples, it'll provide a navigation UI and a loading indicator while resources are being loaded (including lazy-loaded components.)\n- Allows the user to control the current resolution of the renderer, and toggle post-processing effects on and off.\n- Comes with [Leva](https://github.com/pmndrs/leva) for easy user controls.\n- No tracking, analytics, or other externally loaded dependencies.\n\n## What does it look like?\n\n[![image](https://user-images.githubusercontent.com/1061/185150441-7532e841-673d-47da-9af2-588469eba818.png)](https://r3f-stage.vercel.app/)\n\n## Usage\n\n### CodeSandbox Quickstart\n\nYou may use [this CodeSandbox](https://codesandbox.io/s/r3f-stage-fvqlkd?file=/src/App.tsx) to get started.\n\n### Installing the Library\n\nIn your freshly created Vite/CRA React app:\n\n```sh\n# Mandatory\nyarn install r3f-stage\n\n# Types (optional, but very useful)\nyarn install -D @types/three\n```\n\n### Hello World\n\nNow you can import `Application` from `r3f-stage` and use it to quickly whip up a fully-working Three.js app. Just place the usual react-three-fiber things into the component's children:\n\n```tsx\nimport { Application } from \"r3f-stage\"\n\n/* r3f-stage provides a global stylesheet. Please import it in your application and remove any other global styles you may have defined. */\nimport \"r3f-stage/styles.css\"\n\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n    </Application>\n  )\n}\n```\n\n### Description\n\nR3F Stage provides a `Description` component you can use to render a description of your example at the bottom of the viewport:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <mesh>\n        <dodecahedronGeometry />\n        <meshStandardMaterial />\n      </mesh>\n\n      <Description>\n        This is a really simple example. Let's move on to more interesting\n        things!\n      </Description>\n    </Application>\n  )\n}\n```\n\n### Multiple Examples\n\nYou can use R3F Stage for a simple demo, as described above, but it also allows you to provide multiple examples, and will automatically generate a navigation UI for you.\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"one\" title=\"Example 1\" makeDefault>\n        <Description>This is a very simple example.</Description>\n\n        <mesh>\n          <boxGeometry />\n          <meshStandardMaterial color=\"green\" />\n        </mesh>\n      </Example>\n\n      <Example path=\"two\" title=\"Example 2: The Exampling\">\n        <Description>This is also a very simple example.</Description>\n\n        <mesh>\n          <sphereGeometry />\n          <meshStandardMaterial color=\"white\" />\n        </mesh>\n      </Example>\n    </Application>\n  )\n}\n```\n\n> **Note**\n> Take note of the `makeDefault` prop of the first example. This will configure the applicationn to redirect requests to the root path to this example.\n\n### Lazy-loading Examples\n\nInside examples, you can use all of the tools React provides to you; including using the `React.lazy` helper to lazy-load components the first time they're rendered. While these components and their resources are being loaded, R3F Stage will display an animated loading indicator.\n\n```tsx\nconst HugeExample = lazy(() => import(\"./HugeExample\"))\n\nfunction App() {\n  return (\n    <Application>\n      <Example path=\"huge\" title=\"Huge Example\">\n        <Description>\n          This is an example that uses a lot of resources and uses a long time\n          to load, which is why we're loading it lazily.\n        </Description>\n\n        <HugeExample />\n      </Example>\n\n      {/* ... */}\n    </Application>\n  )\n}\n```\n\n### Headings\n\nTo give your examples some extra structure, you may use the `<Heading>` component to insert headings into the example navigation:\n\n```tsx\nfunction App() {\n  return (\n    <Application>\n      <Heading>Main Examples</Heading>\n      <Example />\n      <Example />\n\n      <Heading>Extra Examples</Heading>\n      <Example />\n      <Example />\n      <Example />\n    </Application>\n  )\n}\n```\n\n### Stages\n\n_TODO_\n\n## LICENSE\n\n```\nCopyright (c) 2022 Hendrik Mans\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```\n","readmeFilename":"README.md","_id":"r3f-stage@0.0.0-canary-20221130162026","_integrity":"sha512-YYX+IDMa0HLQmKieTlzxLZOo7zHPWeuLcAxo1lI/9phsd02aEO3TCrL0luzsTOwFLcArIbSYWl2xgvjJJQzLEw==","_resolved":"/private/var/folders/j4/hnqh_70x7wnfnqz19p_s_mzh0000gn/T/1653e32bc91160c433a077e2d7ec522c/r3f-stage-0.0.0-canary-20221130162026.tgz","_from":"file:r3f-stage-0.0.0-canary-20221130162026.tgz","_nodeVersion":"19.1.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-YYX+IDMa0HLQmKieTlzxLZOo7zHPWeuLcAxo1lI/9phsd02aEO3TCrL0luzsTOwFLcArIbSYWl2xgvjJJQzLEw==","shasum":"b69c90ae8a3dea43c55377f61458629aa708f95d","tarball":"https://registry.npmjs.org/r3f-stage/-/r3f-stage-0.0.0-canary-20221130162026.tgz","fileCount":20,"unpackedSize":46714,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6NLuNVvCdltyatNRrrj33P8RMstj84GOTBvQEb9BkHQIhAKX/dlpjoD4arlJtOpCNUz8pEAYzrnYwSim2+dnx/7cl"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjh4LaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokkhAAm8/e2pDs8h43o3KM3A7qVsQuknNNMTQb5IvarpEHm4VvbqcQ\r\nDVqZmsRR1eNKC/JHhacQF99xJvMZ2IfS+xuKrQhdSWU05nk2GZvnTNg1azF9\r\n2teq6vClZF7VR8xEaSZovEQ4/2KlL8cJFW8BcrYnrPXXOR8Fj6978vujv9cY\r\nEz+GqVQAAevkDzkZe5ac7VCaIrdNLY0q1eZzy5WOOp8BXdh5afli3TNvu0lQ\r\nPMC++2TV1Yp5AuYA0F6khXCBu3nccFCEoq3zcF5oQScFn9p4ily5JyuTaKeV\r\n8nQvQj1lX546M6JnJPrhNOnhJfYt/pvVlYu3DJ6WbWJmzKSARkkYX05hHiqa\r\nPmKcn97UricW8okDP00IqeUgv69GPZ/0Y+KEpUc4ITrcBWkFsuybIjL5DyxB\r\nIROBEZUxcxTgi5OUeuHMckgwV7smVAD8qGQT3bHq0utgzVuGXk1rvYxjljhq\r\nV6KCp9T5y7z7eP8X4BldIvCZfw7iBp1puEojdmzJyNWv7IkwnfRfUEqfLzaQ\r\nj3JRM8DyITlH77jF72n4bSOjC/wEWCUn2B2lTqHhjO5mhtemrr1zp2qldL06\r\n6Zgb8gQfCkR0UKhrk3sswtQxbWca83QLgoT+cPO9AqDGZVoK7YACpHAZdCS1\r\nJ86uE34Rw+NSYd2ktbzS6wgFYFxt6afC8lg=\r\n=/2on\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"hendrik.mans","email":"hendrik@mans.de"},"directories":{},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/r3f-stage_0.0.0-canary-20221130162026_1669825241949_0.053716043303074335"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-06T09:15:09.322Z","0.1.0":"2022-07-06T09:15:09.554Z","modified":"2022-11-30T16:20:42.240Z","0.1.1":"2022-07-06T10:11:18.362Z","0.1.2":"2022-07-06T10:17:21.136Z","0.2.0":"2022-08-13T15:07:52.863Z","0.2.1":"2022-08-13T15:11:54.363Z","0.2.2":"2022-08-13T15:15:22.099Z","0.2.3":"2022-08-13T15:42:02.401Z","0.2.4":"2022-08-13T15:49:57.989Z","0.2.5":"2022-08-13T15:55:39.475Z","0.0.0-canary-20220813161145":"2022-08-13T16:11:56.358Z","0.0.0-canary-20220813161300":"2022-08-13T16:13:17.120Z","0.2.6":"2022-08-13T16:14:37.022Z","0.3.0-next.0":"2022-08-17T14:16:24.166Z","0.3.0-next.1":"2022-08-17T14:32:26.473Z","0.3.0-next.2":"2022-08-17T15:28:32.545Z","0.3.0-next.3":"2022-08-17T15:52:06.341Z","0.3.0-next.4":"2022-08-17T16:02:19.889Z","0.3.0-next.5":"2022-08-17T16:28:22.650Z","0.3.0-next.6":"2022-08-17T16:41:28.496Z","0.3.0-next.7":"2022-08-17T17:22:49.007Z","0.3.0-next.8":"2022-08-17T18:17:36.259Z","0.3.0-next.9":"2022-08-18T10:39:48.693Z","0.3.0":"2022-08-18T13:02:29.860Z","0.3.1":"2022-08-19T18:51:56.304Z","0.3.2":"2022-08-22T08:21:19.217Z","0.3.3":"2022-08-24T10:50:59.266Z","0.3.4":"2022-09-01T11:07:12.736Z","0.3.5":"2022-09-16T16:03:57.970Z","0.0.0-canary-20221130162026":"2022-11-30T16:20:42.108Z"},"maintainers":[{"name":"hendrik.mans","email":"hendrik@mans.de"}],"description":"A simple stage for r3f examples and sandboxes.","author":{"name":"Hendrik Mans","email":"hendrik@mans.de","url":"https://hendrik.mans.de"},"license":"MIT","readme":"","readmeFilename":""}