lockfileVersion: "9.0" settings: autoInstallPeers: true excludeLinksFromLockfile: false importers: .: dependencies: "@react-three/drei": specifier: ^10.0.8 version: 10.0.8(@react-three/fiber@9.1.2(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(three@0.176.0))(@types/react@19.1.5)(@types/three@0.176.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(three@0.176.0) "@react-three/fiber": specifier: ^9.1.2 version: 9.1.2(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(three@0.176.0) react: specifier: ^19.1.0 version: 19.1.0 react-dom: specifier: ^19.1.0 version: 19.1.0(react@19.1.0) three: specifier: ^0.176.0 version: 0.176.0 devDependencies: "@eslint/js": specifier: ^9.25.0 version: 9.27.0 "@types/react": specifier: ^19.1.2 version: 19.1.5 "@types/react-dom": specifier: ^19.1.2 version: 19.1.5(@types/react@19.1.5) "@types/three": specifier: ^0.176.0 version: 0.176.0 "@vitejs/plugin-react-swc": specifier: ^3.9.0 version: 3.9.0(vite@6.3.5) eslint: specifier: ^9.25.0 version: 9.27.0 eslint-plugin-react-hooks: specifier: ^5.2.0 version: 5.2.0(eslint@9.27.0) eslint-plugin-react-refresh: specifier: ^0.4.19 version: 0.4.20(eslint@9.27.0) globals: specifier: ^16.0.0 version: 16.1.0 prettier: specifier: ^3.5.3 version: 3.5.3 typescript: specifier: ~5.8.3 version: 5.8.3 typescript-eslint: specifier: ^8.30.1 version: 8.32.1(eslint@9.27.0)(typescript@5.8.3) vite: specifier: ^6.3.5 version: 6.3.5 packages: "@babel/runtime@7.27.1": resolution: { integrity: sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==, } engines: { node: ">=6.9.0" } "@dimforge/rapier3d-compat@0.12.0": resolution: { integrity: sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==, } "@esbuild/aix-ppc64@0.25.4": resolution: { integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==, } engines: { node: ">=18" } cpu: [ppc64] os: [aix] "@esbuild/android-arm64@0.25.4": resolution: { integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==, } engines: { node: ">=18" } cpu: [arm64] os: [android] "@esbuild/android-arm@0.25.4": resolution: { integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==, } engines: { node: ">=18" } cpu: [arm] os: [android] "@esbuild/android-x64@0.25.4": resolution: { integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==, } engines: { node: ">=18" } cpu: [x64] os: [android] "@esbuild/darwin-arm64@0.25.4": resolution: { integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==, } engines: { node: ">=18" } cpu: [arm64] os: [darwin] "@esbuild/darwin-x64@0.25.4": resolution: { integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==, } engines: { node: ">=18" } cpu: [x64] os: [darwin] "@esbuild/freebsd-arm64@0.25.4": resolution: { integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==, } engines: { node: ">=18" } cpu: [arm64] os: [freebsd] "@esbuild/freebsd-x64@0.25.4": resolution: { integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==, } engines: { node: ">=18" } cpu: [x64] os: [freebsd] "@esbuild/linux-arm64@0.25.4": resolution: { integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==, } engines: { node: ">=18" } cpu: [arm64] os: [linux] "@esbuild/linux-arm@0.25.4": resolution: { integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==, } engines: { node: ">=18" } cpu: [arm] os: [linux] "@esbuild/linux-ia32@0.25.4": resolution: { integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==, } engines: { node: ">=18" } cpu: [ia32] os: [linux] "@esbuild/linux-loong64@0.25.4": resolution: { integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==, } engines: { node: ">=18" } cpu: [loong64] os: [linux] "@esbuild/linux-mips64el@0.25.4": resolution: { integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==, } engines: { node: ">=18" } cpu: [mips64el] os: [linux] "@esbuild/linux-ppc64@0.25.4": resolution: { integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==, } engines: { node: ">=18" } cpu: [ppc64] os: [linux] "@esbuild/linux-riscv64@0.25.4": resolution: { integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==, } engines: { node: ">=18" } cpu: [riscv64] os: [linux] "@esbuild/linux-s390x@0.25.4": resolution: { integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==, } engines: { node: ">=18" } cpu: [s390x] os: [linux] "@esbuild/linux-x64@0.25.4": resolution: { integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==, } engines: { node: ">=18" } cpu: [x64] os: [linux] "@esbuild/netbsd-arm64@0.25.4": resolution: { integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==, } engines: { node: ">=18" } cpu: [arm64] os: [netbsd] "@esbuild/netbsd-x64@0.25.4": resolution: { integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==, } engines: { node: ">=18" } cpu: [x64] os: [netbsd] "@esbuild/openbsd-arm64@0.25.4": resolution: { integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==, } engines: { node: ">=18" } cpu: [arm64] os: [openbsd] "@esbuild/openbsd-x64@0.25.4": resolution: { integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==, } engines: { node: ">=18" } cpu: [x64] os: [openbsd] "@esbuild/sunos-x64@0.25.4": resolution: { integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==, } engines: { node: ">=18" } cpu: [x64] os: [sunos] "@esbuild/win32-arm64@0.25.4": resolution: { integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==, } engines: { node: ">=18" } cpu: [arm64] os: [win32] "@esbuild/win32-ia32@0.25.4": resolution: { integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==, } engines: { node: ">=18" } cpu: [ia32] os: [win32] "@esbuild/win32-x64@0.25.4": resolution: { integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==, } engines: { node: ">=18" } cpu: [x64] os: [win32] "@eslint-community/eslint-utils@4.7.0": resolution: { integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 "@eslint-community/regexpp@4.12.1": resolution: { integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==, } engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } "@eslint/config-array@0.20.0": resolution: { integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } "@eslint/config-helpers@0.2.2": resolution: { integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } "@eslint/core@0.14.0": resolution: { integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } "@eslint/eslintrc@3.3.1": resolution: { integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } "@eslint/js@9.27.0": resolution: { integrity: sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } "@eslint/object-schema@2.1.6": resolution: { integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } "@eslint/plugin-kit@0.3.1": resolution: { integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } "@humanfs/core@0.19.1": resolution: { integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==, } engines: { node: ">=18.18.0" } "@humanfs/node@0.16.6": resolution: { integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==, } engines: { node: ">=18.18.0" } "@humanwhocodes/module-importer@1.0.1": resolution: { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, } engines: { node: ">=12.22" } "@humanwhocodes/retry@0.3.1": resolution: { integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==, } engines: { node: ">=18.18" } "@humanwhocodes/retry@0.4.3": resolution: { integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==, } engines: { node: ">=18.18" } "@mediapipe/tasks-vision@0.10.17": resolution: { integrity: sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg==, } "@monogrid/gainmap-js@3.1.0": resolution: { integrity: sha512-Obb0/gEd/HReTlg8ttaYk+0m62gQJmCblMOjHSMHRrBP2zdfKMHLCRbh/6ex9fSUJMKdjjIEiohwkbGD3wj2Nw==, } peerDependencies: three: ">= 0.159.0" "@nodelib/fs.scandir@2.1.5": resolution: { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, } engines: { node: ">= 8" } "@nodelib/fs.stat@2.0.5": resolution: { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, } engines: { node: ">= 8" } "@nodelib/fs.walk@1.2.8": resolution: { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, } engines: { node: ">= 8" } "@react-three/drei@10.0.8": resolution: { integrity: sha512-ZE9LgtzMWutpfwrUYFM//kdInzkzWT/3keHdqNQ2s/+IBEuNHPII4QJTS6e8Ko2uYdL/mPeCRFcmEKFUNFrhBQ==, } peerDependencies: "@react-three/fiber": ^9.0.0 react: ^19 react-dom: ^19 three: ">=0.159" peerDependenciesMeta: react-dom: optional: true "@react-three/fiber@9.1.2": resolution: { integrity: sha512-k8FR9yVHV9kIF3iuOD0ds5hVymXYXfgdKklqziBVod9ZEJ8uk05Zjw29J/omU3IKeUfLNAIHfxneN3TUYM4I2w==, } peerDependencies: expo: ">=43.0" expo-asset: ">=8.4" expo-file-system: ">=11.0" expo-gl: ">=11.0" react: ^19.0.0 react-dom: ^19.0.0 react-native: ">=0.78" three: ">=0.156" peerDependenciesMeta: expo: optional: true expo-asset: optional: true expo-file-system: optional: true expo-gl: optional: true react-dom: optional: true react-native: optional: true "@rollup/rollup-android-arm-eabi@4.41.0": resolution: { integrity: sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==, } cpu: [arm] os: [android] "@rollup/rollup-android-arm64@4.41.0": resolution: { integrity: sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==, } cpu: [arm64] os: [android] "@rollup/rollup-darwin-arm64@4.41.0": resolution: { integrity: sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==, } cpu: [arm64] os: [darwin] "@rollup/rollup-darwin-x64@4.41.0": resolution: { integrity: sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==, } cpu: [x64] os: [darwin] "@rollup/rollup-freebsd-arm64@4.41.0": resolution: { integrity: sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==, } cpu: [arm64] os: [freebsd] "@rollup/rollup-freebsd-x64@4.41.0": resolution: { integrity: sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==, } cpu: [x64] os: [freebsd] "@rollup/rollup-linux-arm-gnueabihf@4.41.0": resolution: { integrity: sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==, } cpu: [arm] os: [linux] "@rollup/rollup-linux-arm-musleabihf@4.41.0": resolution: { integrity: sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==, } cpu: [arm] os: [linux] "@rollup/rollup-linux-arm64-gnu@4.41.0": resolution: { integrity: sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==, } cpu: [arm64] os: [linux] "@rollup/rollup-linux-arm64-musl@4.41.0": resolution: { integrity: sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==, } cpu: [arm64] os: [linux] "@rollup/rollup-linux-loongarch64-gnu@4.41.0": resolution: { integrity: sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==, } cpu: [loong64] os: [linux] "@rollup/rollup-linux-powerpc64le-gnu@4.41.0": resolution: { integrity: sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==, } cpu: [ppc64] os: [linux] "@rollup/rollup-linux-riscv64-gnu@4.41.0": resolution: { integrity: sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==, } cpu: [riscv64] os: [linux] "@rollup/rollup-linux-riscv64-musl@4.41.0": resolution: { integrity: sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==, } cpu: [riscv64] os: [linux] "@rollup/rollup-linux-s390x-gnu@4.41.0": resolution: { integrity: sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==, } cpu: [s390x] os: [linux] "@rollup/rollup-linux-x64-gnu@4.41.0": resolution: { integrity: sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==, } cpu: [x64] os: [linux] "@rollup/rollup-linux-x64-musl@4.41.0": resolution: { integrity: sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==, } cpu: [x64] os: [linux] "@rollup/rollup-win32-arm64-msvc@4.41.0": resolution: { integrity: sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==, } cpu: [arm64] os: [win32] "@rollup/rollup-win32-ia32-msvc@4.41.0": resolution: { integrity: sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==, } cpu: [ia32] os: [win32] "@rollup/rollup-win32-x64-msvc@4.41.0": resolution: { integrity: sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==, } cpu: [x64] os: [win32] "@swc/core-darwin-arm64@1.11.24": resolution: { integrity: sha512-dhtVj0PC1APOF4fl5qT2neGjRLgHAAYfiVP8poJelhzhB/318bO+QCFWAiimcDoyMgpCXOhTp757gnoJJrheWA==, } engines: { node: ">=10" } cpu: [arm64] os: [darwin] "@swc/core-darwin-x64@1.11.24": resolution: { integrity: sha512-H/3cPs8uxcj2Fe3SoLlofN5JG6Ny5bl8DuZ6Yc2wr7gQFBmyBkbZEz+sPVgsID7IXuz7vTP95kMm1VL74SO5AQ==, } engines: { node: ">=10" } cpu: [x64] os: [darwin] "@swc/core-linux-arm-gnueabihf@1.11.24": resolution: { integrity: sha512-PHJgWEpCsLo/NGj+A2lXZ2mgGjsr96ULNW3+T3Bj2KTc8XtMUkE8tmY2Da20ItZOvPNC/69KroU7edyo1Flfbw==, } engines: { node: ">=10" } cpu: [arm] os: [linux] "@swc/core-linux-arm64-gnu@1.11.24": resolution: { integrity: sha512-C2FJb08+n5SD4CYWCTZx1uR88BN41ZieoHvI8A55hfVf2woT8+6ZiBzt74qW2g+ntZ535Jts5VwXAKdu41HpBg==, } engines: { node: ">=10" } cpu: [arm64] os: [linux] "@swc/core-linux-arm64-musl@1.11.24": resolution: { integrity: sha512-ypXLIdszRo0re7PNNaXN0+2lD454G8l9LPK/rbfRXnhLWDBPURxzKlLlU/YGd2zP98wPcVooMmegRSNOKfvErw==, } engines: { node: ">=10" } cpu: [arm64] os: [linux] "@swc/core-linux-x64-gnu@1.11.24": resolution: { integrity: sha512-IM7d+STVZD48zxcgo69L0yYptfhaaE9cMZ+9OoMxirNafhKKXwoZuufol1+alEFKc+Wbwp+aUPe/DeWC/Lh3dg==, } engines: { node: ">=10" } cpu: [x64] os: [linux] "@swc/core-linux-x64-musl@1.11.24": resolution: { integrity: sha512-DZByJaMVzSfjQKKQn3cqSeqwy6lpMaQDQQ4HPlch9FWtDx/dLcpdIhxssqZXcR2rhaQVIaRQsCqwV6orSDGAGw==, } engines: { node: ">=10" } cpu: [x64] os: [linux] "@swc/core-win32-arm64-msvc@1.11.24": resolution: { integrity: sha512-Q64Ytn23y9aVDKN5iryFi8mRgyHw3/kyjTjT4qFCa8AEb5sGUuSj//AUZ6c0J7hQKMHlg9do5Etvoe61V98/JQ==, } engines: { node: ">=10" } cpu: [arm64] os: [win32] "@swc/core-win32-ia32-msvc@1.11.24": resolution: { integrity: sha512-9pKLIisE/Hh2vJhGIPvSoTK4uBSPxNVyXHmOrtdDot4E1FUUI74Vi8tFdlwNbaj8/vusVnb8xPXsxF1uB0VgiQ==, } engines: { node: ">=10" } cpu: [ia32] os: [win32] "@swc/core-win32-x64-msvc@1.11.24": resolution: { integrity: sha512-sybnXtOsdB+XvzVFlBVGgRHLqp3yRpHK7CrmpuDKszhj/QhmsaZzY/GHSeALlMtLup13M0gqbcQvsTNlAHTg3w==, } engines: { node: ">=10" } cpu: [x64] os: [win32] "@swc/core@1.11.24": resolution: { integrity: sha512-MaQEIpfcEMzx3VWWopbofKJvaraqmL6HbLlw2bFZ7qYqYw3rkhM0cQVEgyzbHtTWwCwPMFZSC2DUbhlZgrMfLg==, } engines: { node: ">=10" } peerDependencies: "@swc/helpers": ">=0.5.17" peerDependenciesMeta: "@swc/helpers": optional: true "@swc/counter@0.1.3": resolution: { integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==, } "@swc/types@0.1.21": resolution: { integrity: sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==, } "@tweenjs/tween.js@23.1.3": resolution: { integrity: sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==, } "@types/draco3d@1.4.10": resolution: { integrity: sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==, } "@types/estree@1.0.7": resolution: { integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==, } "@types/json-schema@7.0.15": resolution: { integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, } "@types/offscreencanvas@2019.7.3": resolution: { integrity: sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==, } "@types/react-dom@19.1.5": resolution: { integrity: sha512-CMCjrWucUBZvohgZxkjd6S9h0nZxXjzus6yDfUb+xLxYM7VvjKNH1tQrE9GWLql1XoOP4/Ds3bwFqShHUYraGg==, } peerDependencies: "@types/react": ^19.0.0 "@types/react-reconciler@0.28.9": resolution: { integrity: sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==, } peerDependencies: "@types/react": "*" "@types/react@19.1.5": resolution: { integrity: sha512-piErsCVVbpMMT2r7wbawdZsq4xMvIAhQuac2gedQHysu1TZYEigE6pnFfgZT+/jQnrRuF5r+SHzuehFjfRjr4g==, } "@types/stats.js@0.17.4": resolution: { integrity: sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==, } "@types/three@0.176.0": resolution: { integrity: sha512-FwfPXxCqOtP7EdYMagCFePNKoG1AGBDUEVKtluv2BTVRpSt7b+X27xNsirPCTCqY1pGYsPUzaM3jgWP7dXSxlw==, } "@types/webxr@0.5.22": resolution: { integrity: sha512-Vr6Stjv5jPRqH690f5I5GLjVk8GSsoQSYJ2FVd/3jJF7KaqfwPi3ehfBS96mlQ2kPCwZaX6U0rG2+NGHBKkA/A==, } "@typescript-eslint/eslint-plugin@8.32.1": resolution: { integrity: sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" "@typescript-eslint/parser@8.32.1": resolution: { integrity: sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" "@typescript-eslint/scope-manager@8.32.1": resolution: { integrity: sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } "@typescript-eslint/type-utils@8.32.1": resolution: { integrity: sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" "@typescript-eslint/types@8.32.1": resolution: { integrity: sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } "@typescript-eslint/typescript-estree@8.32.1": resolution: { integrity: sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: typescript: ">=4.8.4 <5.9.0" "@typescript-eslint/utils@8.32.1": resolution: { integrity: sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" "@typescript-eslint/visitor-keys@8.32.1": resolution: { integrity: sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } "@use-gesture/core@10.3.1": resolution: { integrity: sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw==, } "@use-gesture/react@10.3.1": resolution: { integrity: sha512-Yy19y6O2GJq8f7CHf7L0nxL8bf4PZCPaVOCgJrusOeFHY1LvHgYXnmnXg6N5iwAnbgbZCDjo60SiM6IPJi9C5g==, } peerDependencies: react: ">= 16.8.0" "@vitejs/plugin-react-swc@3.9.0": resolution: { integrity: sha512-jYFUSXhwMCYsh/aQTgSGLIN3Foz5wMbH9ahb0Zva//UzwZYbMiZd7oT3AU9jHT9DLswYDswsRwPU9jVF3yA48Q==, } peerDependencies: vite: ^4 || ^5 || ^6 "@webgpu/types@0.1.60": resolution: { integrity: sha512-8B/tdfRFKdrnejqmvq95ogp8tf52oZ51p3f4QD5m5Paey/qlX4Rhhy5Y8tgFMi7Ms70HzcMMw3EQjH/jdhTwlA==, } acorn-jsx@5.3.2: resolution: { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, } peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn@8.14.1: resolution: { integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==, } engines: { node: ">=0.4.0" } hasBin: true ajv@6.12.6: resolution: { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, } ansi-styles@4.3.0: resolution: { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, } engines: { node: ">=8" } argparse@2.0.1: resolution: { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, } balanced-match@1.0.2: resolution: { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, } base64-js@1.5.1: resolution: { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, } bidi-js@1.0.3: resolution: { integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==, } brace-expansion@1.1.11: resolution: { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, } brace-expansion@2.0.1: resolution: { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, } braces@3.0.3: resolution: { integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, } engines: { node: ">=8" } buffer@6.0.3: resolution: { integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, } callsites@3.1.0: resolution: { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, } engines: { node: ">=6" } camera-controls@2.10.1: resolution: { integrity: sha512-KnaKdcvkBJ1Irbrzl8XD6WtZltkRjp869Jx8c0ujs9K+9WD+1D7ryBsCiVqJYUqt6i/HR5FxT7RLASieUD+Q5w==, } peerDependencies: three: ">=0.126.1" chalk@4.1.2: resolution: { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, } engines: { node: ">=10" } color-convert@2.0.1: resolution: { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, } engines: { node: ">=7.0.0" } color-name@1.1.4: resolution: { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, } concat-map@0.0.1: resolution: { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, } cross-env@7.0.3: resolution: { integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==, } engines: { node: ">=10.14", npm: ">=6", yarn: ">=1" } hasBin: true cross-spawn@7.0.6: resolution: { integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, } engines: { node: ">= 8" } csstype@3.1.3: resolution: { integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, } debug@4.4.1: resolution: { integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==, } engines: { node: ">=6.0" } peerDependencies: supports-color: "*" peerDependenciesMeta: supports-color: optional: true deep-is@0.1.4: resolution: { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, } detect-gpu@5.0.70: resolution: { integrity: sha512-bqerEP1Ese6nt3rFkwPnGbsUF9a4q+gMmpTVVOEzoCyeCc+y7/RvJnQZJx1JwhgQI5Ntg0Kgat8Uu7XpBqnz1w==, } draco3d@1.5.7: resolution: { integrity: sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==, } esbuild@0.25.4: resolution: { integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==, } engines: { node: ">=18" } hasBin: true escape-string-regexp@4.0.0: resolution: { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, } engines: { node: ">=10" } eslint-plugin-react-hooks@5.2.0: resolution: { integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==, } engines: { node: ">=10" } peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 eslint-plugin-react-refresh@0.4.20: resolution: { integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==, } peerDependencies: eslint: ">=8.40" eslint-scope@8.3.0: resolution: { integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } eslint-visitor-keys@3.4.3: resolution: { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } eslint-visitor-keys@4.2.0: resolution: { integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } eslint@9.27.0: resolution: { integrity: sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } hasBin: true peerDependencies: jiti: "*" peerDependenciesMeta: jiti: optional: true espree@10.3.0: resolution: { integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } esquery@1.6.0: resolution: { integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==, } engines: { node: ">=0.10" } esrecurse@4.3.0: resolution: { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, } engines: { node: ">=4.0" } estraverse@5.3.0: resolution: { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, } engines: { node: ">=4.0" } esutils@2.0.3: resolution: { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, } engines: { node: ">=0.10.0" } fast-deep-equal@3.1.3: resolution: { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, } fast-glob@3.3.3: resolution: { integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==, } engines: { node: ">=8.6.0" } fast-json-stable-stringify@2.1.0: resolution: { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, } fast-levenshtein@2.0.6: resolution: { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, } fastq@1.19.1: resolution: { integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==, } fdir@6.4.4: resolution: { integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==, } peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: optional: true fflate@0.6.10: resolution: { integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==, } fflate@0.8.2: resolution: { integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==, } file-entry-cache@8.0.0: resolution: { integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==, } engines: { node: ">=16.0.0" } fill-range@7.1.1: resolution: { integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, } engines: { node: ">=8" } find-up@5.0.0: resolution: { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, } engines: { node: ">=10" } flat-cache@4.0.1: resolution: { integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==, } engines: { node: ">=16" } flatted@3.3.3: resolution: { integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==, } fsevents@2.3.3: resolution: { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, } engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] glob-parent@5.1.2: resolution: { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, } engines: { node: ">= 6" } glob-parent@6.0.2: resolution: { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, } engines: { node: ">=10.13.0" } globals@14.0.0: resolution: { integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==, } engines: { node: ">=18" } globals@16.1.0: resolution: { integrity: sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==, } engines: { node: ">=18" } glsl-noise@0.0.0: resolution: { integrity: sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==, } graphemer@1.4.0: resolution: { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, } has-flag@4.0.0: resolution: { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, } engines: { node: ">=8" } hls.js@1.6.2: resolution: { integrity: sha512-rx+pETSCJEDThm/JCm8CuadcAC410cVjb1XVXFNDKFuylaayHk1+tFxhkjvnMDAfqsJHxZXDAJ3Uc2d5xQyWlQ==, } ieee754@1.2.1: resolution: { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, } ignore@5.3.2: resolution: { integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, } engines: { node: ">= 4" } ignore@7.0.4: resolution: { integrity: sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==, } engines: { node: ">= 4" } immediate@3.0.6: resolution: { integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==, } import-fresh@3.3.1: resolution: { integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==, } engines: { node: ">=6" } imurmurhash@0.1.4: resolution: { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, } engines: { node: ">=0.8.19" } is-extglob@2.1.1: resolution: { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, } engines: { node: ">=0.10.0" } is-glob@4.0.3: resolution: { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, } engines: { node: ">=0.10.0" } is-number@7.0.0: resolution: { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, } engines: { node: ">=0.12.0" } is-promise@2.2.2: resolution: { integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==, } isexe@2.0.0: resolution: { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, } its-fine@2.0.0: resolution: { integrity: sha512-KLViCmWx94zOvpLwSlsx6yOCeMhZYaxrJV87Po5k/FoZzcPSahvK5qJ7fYhS61sZi5ikmh2S3Hz55A2l3U69ng==, } peerDependencies: react: ^19.0.0 js-yaml@4.1.0: resolution: { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, } hasBin: true json-buffer@3.0.1: resolution: { integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, } json-schema-traverse@0.4.1: resolution: { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, } json-stable-stringify-without-jsonify@1.0.1: resolution: { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, } keyv@4.5.4: resolution: { integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, } levn@0.4.1: resolution: { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, } engines: { node: ">= 0.8.0" } lie@3.3.0: resolution: { integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==, } locate-path@6.0.0: resolution: { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, } engines: { node: ">=10" } lodash.merge@4.6.2: resolution: { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, } maath@0.10.8: resolution: { integrity: sha512-tRvbDF0Pgqz+9XUa4jjfgAQ8/aPKmQdWXilFu2tMy4GWj4NOsx99HlULO4IeREfbO3a0sA145DZYyvXPkybm0g==, } peerDependencies: "@types/three": ">=0.134.0" three: ">=0.134.0" merge2@1.4.1: resolution: { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, } engines: { node: ">= 8" } meshline@3.3.1: resolution: { integrity: sha512-/TQj+JdZkeSUOl5Mk2J7eLcYTLiQm2IDzmlSvYm7ov15anEcDJ92GHqqazxTSreeNgfnYu24kiEvvv0WlbCdFQ==, } peerDependencies: three: ">=0.137" meshoptimizer@0.18.1: resolution: { integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==, } micromatch@4.0.8: resolution: { integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==, } engines: { node: ">=8.6" } minimatch@3.1.2: resolution: { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, } minimatch@9.0.5: resolution: { integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==, } engines: { node: ">=16 || 14 >=14.17" } ms@2.1.3: resolution: { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, } nanoid@3.3.11: resolution: { integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==, } engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true natural-compare@1.4.0: resolution: { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, } optionator@0.9.4: resolution: { integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==, } engines: { node: ">= 0.8.0" } p-limit@3.1.0: resolution: { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, } engines: { node: ">=10" } p-locate@5.0.0: resolution: { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, } engines: { node: ">=10" } parent-module@1.0.1: resolution: { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, } engines: { node: ">=6" } path-exists@4.0.0: resolution: { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, } engines: { node: ">=8" } path-key@3.1.1: resolution: { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, } engines: { node: ">=8" } picocolors@1.1.1: resolution: { integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, } picomatch@2.3.1: resolution: { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, } engines: { node: ">=8.6" } picomatch@4.0.2: resolution: { integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==, } engines: { node: ">=12" } postcss@8.5.3: resolution: { integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==, } engines: { node: ^10 || ^12 || >=14 } potpack@1.0.2: resolution: { integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==, } prelude-ls@1.2.1: resolution: { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, } engines: { node: ">= 0.8.0" } prettier@3.5.3: resolution: { integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==, } engines: { node: ">=14" } hasBin: true promise-worker-transferable@1.0.4: resolution: { integrity: sha512-bN+0ehEnrXfxV2ZQvU2PetO0n4gqBD4ulq3MI1WOPLgr7/Mg9yRQkX5+0v1vagr74ZTsl7XtzlaYDo2EuCeYJw==, } punycode@2.3.1: resolution: { integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, } engines: { node: ">=6" } queue-microtask@1.2.3: resolution: { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, } react-dom@19.1.0: resolution: { integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==, } peerDependencies: react: ^19.1.0 react-reconciler@0.31.0: resolution: { integrity: sha512-7Ob7Z+URmesIsIVRjnLoDGwBEG/tVitidU0nMsqX/eeJaLY89RISO/10ERe0MqmzuKUUB1rmY+h1itMbUHg9BQ==, } engines: { node: ">=0.10.0" } peerDependencies: react: ^19.0.0 react-use-measure@2.1.7: resolution: { integrity: sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==, } peerDependencies: react: ">=16.13" react-dom: ">=16.13" peerDependenciesMeta: react-dom: optional: true react@19.1.0: resolution: { integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==, } engines: { node: ">=0.10.0" } require-from-string@2.0.2: resolution: { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, } engines: { node: ">=0.10.0" } resolve-from@4.0.0: resolution: { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, } engines: { node: ">=4" } reusify@1.1.0: resolution: { integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==, } engines: { iojs: ">=1.0.0", node: ">=0.10.0" } rollup@4.41.0: resolution: { integrity: sha512-HqMFpUbWlf/tvcxBFNKnJyzc7Lk+XO3FGc3pbNBLqEbOz0gPLRgcrlS3UF4MfUrVlstOaP/q0kM6GVvi+LrLRg==, } engines: { node: ">=18.0.0", npm: ">=8.0.0" } hasBin: true run-parallel@1.2.0: resolution: { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, } scheduler@0.25.0: resolution: { integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==, } scheduler@0.26.0: resolution: { integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==, } semver@7.7.2: resolution: { integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==, } engines: { node: ">=10" } hasBin: true shebang-command@2.0.0: resolution: { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, } engines: { node: ">=8" } shebang-regex@3.0.0: resolution: { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, } engines: { node: ">=8" } source-map-js@1.2.1: resolution: { integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, } engines: { node: ">=0.10.0" } stats-gl@2.4.2: resolution: { integrity: sha512-g5O9B0hm9CvnM36+v7SFl39T7hmAlv541tU81ME8YeSb3i1CIP5/QdDeSB3A0la0bKNHpxpwxOVRo2wFTYEosQ==, } peerDependencies: "@types/three": "*" three: "*" stats.js@0.17.0: resolution: { integrity: sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==, } strip-json-comments@3.1.1: resolution: { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, } engines: { node: ">=8" } supports-color@7.2.0: resolution: { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, } engines: { node: ">=8" } suspend-react@0.1.3: resolution: { integrity: sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==, } peerDependencies: react: ">=17.0" three-mesh-bvh@0.8.3: resolution: { integrity: sha512-4G5lBaF+g2auKX3P0yqx+MJC6oVt6sB5k+CchS6Ob0qvH0YIhuUk1eYr7ktsIpY+albCqE80/FVQGV190PmiAg==, } peerDependencies: three: ">= 0.159.0" three-stdlib@2.36.0: resolution: { integrity: sha512-kv0Byb++AXztEGsULgMAs8U2jgUdz6HPpAB/wDJnLiLlaWQX2APHhiTJIN7rqW+Of0eRgcp7jn05U1BsCP3xBA==, } peerDependencies: three: ">=0.128.0" three@0.176.0: resolution: { integrity: sha512-PWRKYWQo23ojf9oZSlRGH8K09q7nRSWx6LY/HF/UUrMdYgN9i1e2OwJYHoQjwc6HF/4lvvYLC5YC1X8UJL2ZpA==, } tinyglobby@0.2.13: resolution: { integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==, } engines: { node: ">=12.0.0" } to-regex-range@5.0.1: resolution: { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, } engines: { node: ">=8.0" } troika-three-text@0.52.4: resolution: { integrity: sha512-V50EwcYGruV5rUZ9F4aNsrytGdKcXKALjEtQXIOBfhVoZU9VAqZNIoGQ3TMiooVqFAbR1w15T+f+8gkzoFzawg==, } peerDependencies: three: ">=0.125.0" troika-three-utils@0.52.4: resolution: { integrity: sha512-NORAStSVa/BDiG52Mfudk4j1FG4jC4ILutB3foPnfGbOeIs9+G5vZLa0pnmnaftZUGm4UwSoqEpWdqvC7zms3A==, } peerDependencies: three: ">=0.125.0" troika-worker-utils@0.52.0: resolution: { integrity: sha512-W1CpvTHykaPH5brv5VHLfQo9D1OYuo0cSBEUQFFT/nBUzM8iD6Lq2/tgG/f1OelbAS1WtaTPQzE5uM49egnngw==, } ts-api-utils@2.1.0: resolution: { integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==, } engines: { node: ">=18.12" } peerDependencies: typescript: ">=4.8.4" tunnel-rat@0.1.2: resolution: { integrity: sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==, } type-check@0.4.0: resolution: { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, } engines: { node: ">= 0.8.0" } typescript-eslint@8.32.1: resolution: { integrity: sha512-D7el+eaDHAmXvrZBy1zpzSNIRqnCOrkwTgZxTu3MUqRWk8k0q9m9Ho4+vPf7iHtgUfrK/o8IZaEApsxPlHTFCg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" typescript@5.8.3: resolution: { integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==, } engines: { node: ">=14.17" } hasBin: true uri-js@4.4.1: resolution: { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, } use-sync-external-store@1.5.0: resolution: { integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==, } peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 utility-types@3.11.0: resolution: { integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==, } engines: { node: ">= 4" } vite@6.3.5: resolution: { integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==, } engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } hasBin: true peerDependencies: "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 jiti: ">=1.21.0" less: "*" lightningcss: ^1.21.0 sass: "*" sass-embedded: "*" stylus: "*" sugarss: "*" terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 peerDependenciesMeta: "@types/node": optional: true jiti: optional: true less: optional: true lightningcss: optional: true sass: optional: true sass-embedded: optional: true stylus: optional: true sugarss: optional: true terser: optional: true tsx: optional: true yaml: optional: true webgl-constants@1.1.1: resolution: { integrity: sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==, } webgl-sdf-generator@1.1.1: resolution: { integrity: sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==, } which@2.0.2: resolution: { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, } engines: { node: ">= 8" } hasBin: true word-wrap@1.2.5: resolution: { integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, } engines: { node: ">=0.10.0" } yocto-queue@0.1.0: resolution: { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, } engines: { node: ">=10" } zustand@4.5.7: resolution: { integrity: sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==, } engines: { node: ">=12.7.0" } peerDependencies: "@types/react": ">=16.8" immer: ">=9.0.6" react: ">=16.8" peerDependenciesMeta: "@types/react": optional: true immer: optional: true react: optional: true zustand@5.0.5: resolution: { integrity: sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg==, } engines: { node: ">=12.20.0" } peerDependencies: "@types/react": ">=18.0.0" immer: ">=9.0.6" react: ">=18.0.0" use-sync-external-store: ">=1.2.0" peerDependenciesMeta: "@types/react": optional: true immer: optional: true react: optional: true use-sync-external-store: optional: true snapshots: "@babel/runtime@7.27.1": {} "@dimforge/rapier3d-compat@0.12.0": {} "@esbuild/aix-ppc64@0.25.4": optional: true "@esbuild/android-arm64@0.25.4": optional: true "@esbuild/android-arm@0.25.4": optional: true "@esbuild/android-x64@0.25.4": optional: true "@esbuild/darwin-arm64@0.25.4": optional: true "@esbuild/darwin-x64@0.25.4": optional: true "@esbuild/freebsd-arm64@0.25.4": optional: true "@esbuild/freebsd-x64@0.25.4": optional: true "@esbuild/linux-arm64@0.25.4": optional: true "@esbuild/linux-arm@0.25.4": optional: true "@esbuild/linux-ia32@0.25.4": optional: true "@esbuild/linux-loong64@0.25.4": optional: true "@esbuild/linux-mips64el@0.25.4": optional: true "@esbuild/linux-ppc64@0.25.4": optional: true "@esbuild/linux-riscv64@0.25.4": optional: true "@esbuild/linux-s390x@0.25.4": optional: true "@esbuild/linux-x64@0.25.4": optional: true "@esbuild/netbsd-arm64@0.25.4": optional: true "@esbuild/netbsd-x64@0.25.4": optional: true "@esbuild/openbsd-arm64@0.25.4": optional: true "@esbuild/openbsd-x64@0.25.4": optional: true "@esbuild/sunos-x64@0.25.4": optional: true "@esbuild/win32-arm64@0.25.4": optional: true "@esbuild/win32-ia32@0.25.4": optional: true "@esbuild/win32-x64@0.25.4": optional: true "@eslint-community/eslint-utils@4.7.0(eslint@9.27.0)": dependencies: eslint: 9.27.0 eslint-visitor-keys: 3.4.3 "@eslint-community/regexpp@4.12.1": {} "@eslint/config-array@0.20.0": dependencies: "@eslint/object-schema": 2.1.6 debug: 4.4.1 minimatch: 3.1.2 transitivePeerDependencies: - supports-color "@eslint/config-helpers@0.2.2": {} "@eslint/core@0.14.0": dependencies: "@types/json-schema": 7.0.15 "@eslint/eslintrc@3.3.1": dependencies: ajv: 6.12.6 debug: 4.4.1 espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 js-yaml: 4.1.0 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color "@eslint/js@9.27.0": {} "@eslint/object-schema@2.1.6": {} "@eslint/plugin-kit@0.3.1": dependencies: "@eslint/core": 0.14.0 levn: 0.4.1 "@humanfs/core@0.19.1": {} "@humanfs/node@0.16.6": dependencies: "@humanfs/core": 0.19.1 "@humanwhocodes/retry": 0.3.1 "@humanwhocodes/module-importer@1.0.1": {} "@humanwhocodes/retry@0.3.1": {} "@humanwhocodes/retry@0.4.3": {} "@mediapipe/tasks-vision@0.10.17": {} "@monogrid/gainmap-js@3.1.0(three@0.176.0)": dependencies: promise-worker-transferable: 1.0.4 three: 0.176.0 "@nodelib/fs.scandir@2.1.5": dependencies: "@nodelib/fs.stat": 2.0.5 run-parallel: 1.2.0 "@nodelib/fs.stat@2.0.5": {} "@nodelib/fs.walk@1.2.8": dependencies: "@nodelib/fs.scandir": 2.1.5 fastq: 1.19.1 "@react-three/drei@10.0.8(@react-three/fiber@9.1.2(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(three@0.176.0))(@types/react@19.1.5)(@types/three@0.176.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(three@0.176.0)": dependencies: "@babel/runtime": 7.27.1 "@mediapipe/tasks-vision": 0.10.17 "@monogrid/gainmap-js": 3.1.0(three@0.176.0) "@react-three/fiber": 9.1.2(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(three@0.176.0) "@use-gesture/react": 10.3.1(react@19.1.0) camera-controls: 2.10.1(three@0.176.0) cross-env: 7.0.3 detect-gpu: 5.0.70 glsl-noise: 0.0.0 hls.js: 1.6.2 maath: 0.10.8(@types/three@0.176.0)(three@0.176.0) meshline: 3.3.1(three@0.176.0) react: 19.1.0 stats-gl: 2.4.2(@types/three@0.176.0)(three@0.176.0) stats.js: 0.17.0 suspend-react: 0.1.3(react@19.1.0) three: 0.176.0 three-mesh-bvh: 0.8.3(three@0.176.0) three-stdlib: 2.36.0(three@0.176.0) troika-three-text: 0.52.4(three@0.176.0) tunnel-rat: 0.1.2(@types/react@19.1.5)(react@19.1.0) use-sync-external-store: 1.5.0(react@19.1.0) utility-types: 3.11.0 zustand: 5.0.5(@types/react@19.1.5)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)) optionalDependencies: react-dom: 19.1.0(react@19.1.0) transitivePeerDependencies: - "@types/react" - "@types/three" - immer "@react-three/fiber@9.1.2(@types/react@19.1.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(three@0.176.0)": dependencies: "@babel/runtime": 7.27.1 "@types/react-reconciler": 0.28.9(@types/react@19.1.5) "@types/webxr": 0.5.22 base64-js: 1.5.1 buffer: 6.0.3 its-fine: 2.0.0(@types/react@19.1.5)(react@19.1.0) react: 19.1.0 react-reconciler: 0.31.0(react@19.1.0) react-use-measure: 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) scheduler: 0.25.0 suspend-react: 0.1.3(react@19.1.0) three: 0.176.0 use-sync-external-store: 1.5.0(react@19.1.0) zustand: 5.0.5(@types/react@19.1.5)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)) optionalDependencies: react-dom: 19.1.0(react@19.1.0) transitivePeerDependencies: - "@types/react" - immer "@rollup/rollup-android-arm-eabi@4.41.0": optional: true "@rollup/rollup-android-arm64@4.41.0": optional: true "@rollup/rollup-darwin-arm64@4.41.0": optional: true "@rollup/rollup-darwin-x64@4.41.0": optional: true "@rollup/rollup-freebsd-arm64@4.41.0": optional: true "@rollup/rollup-freebsd-x64@4.41.0": optional: true "@rollup/rollup-linux-arm-gnueabihf@4.41.0": optional: true "@rollup/rollup-linux-arm-musleabihf@4.41.0": optional: true "@rollup/rollup-linux-arm64-gnu@4.41.0": optional: true "@rollup/rollup-linux-arm64-musl@4.41.0": optional: true "@rollup/rollup-linux-loongarch64-gnu@4.41.0": optional: true "@rollup/rollup-linux-powerpc64le-gnu@4.41.0": optional: true "@rollup/rollup-linux-riscv64-gnu@4.41.0": optional: true "@rollup/rollup-linux-riscv64-musl@4.41.0": optional: true "@rollup/rollup-linux-s390x-gnu@4.41.0": optional: true "@rollup/rollup-linux-x64-gnu@4.41.0": optional: true "@rollup/rollup-linux-x64-musl@4.41.0": optional: true "@rollup/rollup-win32-arm64-msvc@4.41.0": optional: true "@rollup/rollup-win32-ia32-msvc@4.41.0": optional: true "@rollup/rollup-win32-x64-msvc@4.41.0": optional: true "@swc/core-darwin-arm64@1.11.24": optional: true "@swc/core-darwin-x64@1.11.24": optional: true "@swc/core-linux-arm-gnueabihf@1.11.24": optional: true "@swc/core-linux-arm64-gnu@1.11.24": optional: true "@swc/core-linux-arm64-musl@1.11.24": optional: true "@swc/core-linux-x64-gnu@1.11.24": optional: true "@swc/core-linux-x64-musl@1.11.24": optional: true "@swc/core-win32-arm64-msvc@1.11.24": optional: true "@swc/core-win32-ia32-msvc@1.11.24": optional: true "@swc/core-win32-x64-msvc@1.11.24": optional: true "@swc/core@1.11.24": dependencies: "@swc/counter": 0.1.3 "@swc/types": 0.1.21 optionalDependencies: "@swc/core-darwin-arm64": 1.11.24 "@swc/core-darwin-x64": 1.11.24 "@swc/core-linux-arm-gnueabihf": 1.11.24 "@swc/core-linux-arm64-gnu": 1.11.24 "@swc/core-linux-arm64-musl": 1.11.24 "@swc/core-linux-x64-gnu": 1.11.24 "@swc/core-linux-x64-musl": 1.11.24 "@swc/core-win32-arm64-msvc": 1.11.24 "@swc/core-win32-ia32-msvc": 1.11.24 "@swc/core-win32-x64-msvc": 1.11.24 "@swc/counter@0.1.3": {} "@swc/types@0.1.21": dependencies: "@swc/counter": 0.1.3 "@tweenjs/tween.js@23.1.3": {} "@types/draco3d@1.4.10": {} "@types/estree@1.0.7": {} "@types/json-schema@7.0.15": {} "@types/offscreencanvas@2019.7.3": {} "@types/react-dom@19.1.5(@types/react@19.1.5)": dependencies: "@types/react": 19.1.5 "@types/react-reconciler@0.28.9(@types/react@19.1.5)": dependencies: "@types/react": 19.1.5 "@types/react@19.1.5": dependencies: csstype: 3.1.3 "@types/stats.js@0.17.4": {} "@types/three@0.176.0": dependencies: "@dimforge/rapier3d-compat": 0.12.0 "@tweenjs/tween.js": 23.1.3 "@types/stats.js": 0.17.4 "@types/webxr": 0.5.22 "@webgpu/types": 0.1.60 fflate: 0.8.2 meshoptimizer: 0.18.1 "@types/webxr@0.5.22": {} "@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0)(typescript@5.8.3))(eslint@9.27.0)(typescript@5.8.3)": dependencies: "@eslint-community/regexpp": 4.12.1 "@typescript-eslint/parser": 8.32.1(eslint@9.27.0)(typescript@5.8.3) "@typescript-eslint/scope-manager": 8.32.1 "@typescript-eslint/type-utils": 8.32.1(eslint@9.27.0)(typescript@5.8.3) "@typescript-eslint/utils": 8.32.1(eslint@9.27.0)(typescript@5.8.3) "@typescript-eslint/visitor-keys": 8.32.1 eslint: 9.27.0 graphemer: 1.4.0 ignore: 7.0.4 natural-compare: 1.4.0 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color "@typescript-eslint/parser@8.32.1(eslint@9.27.0)(typescript@5.8.3)": dependencies: "@typescript-eslint/scope-manager": 8.32.1 "@typescript-eslint/types": 8.32.1 "@typescript-eslint/typescript-estree": 8.32.1(typescript@5.8.3) "@typescript-eslint/visitor-keys": 8.32.1 debug: 4.4.1 eslint: 9.27.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color "@typescript-eslint/scope-manager@8.32.1": dependencies: "@typescript-eslint/types": 8.32.1 "@typescript-eslint/visitor-keys": 8.32.1 "@typescript-eslint/type-utils@8.32.1(eslint@9.27.0)(typescript@5.8.3)": dependencies: "@typescript-eslint/typescript-estree": 8.32.1(typescript@5.8.3) "@typescript-eslint/utils": 8.32.1(eslint@9.27.0)(typescript@5.8.3) debug: 4.4.1 eslint: 9.27.0 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color "@typescript-eslint/types@8.32.1": {} "@typescript-eslint/typescript-estree@8.32.1(typescript@5.8.3)": dependencies: "@typescript-eslint/types": 8.32.1 "@typescript-eslint/visitor-keys": 8.32.1 debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.2 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color "@typescript-eslint/utils@8.32.1(eslint@9.27.0)(typescript@5.8.3)": dependencies: "@eslint-community/eslint-utils": 4.7.0(eslint@9.27.0) "@typescript-eslint/scope-manager": 8.32.1 "@typescript-eslint/types": 8.32.1 "@typescript-eslint/typescript-estree": 8.32.1(typescript@5.8.3) eslint: 9.27.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color "@typescript-eslint/visitor-keys@8.32.1": dependencies: "@typescript-eslint/types": 8.32.1 eslint-visitor-keys: 4.2.0 "@use-gesture/core@10.3.1": {} "@use-gesture/react@10.3.1(react@19.1.0)": dependencies: "@use-gesture/core": 10.3.1 react: 19.1.0 "@vitejs/plugin-react-swc@3.9.0(vite@6.3.5)": dependencies: "@swc/core": 1.11.24 vite: 6.3.5 transitivePeerDependencies: - "@swc/helpers" "@webgpu/types@0.1.60": {} acorn-jsx@5.3.2(acorn@8.14.1): dependencies: acorn: 8.14.1 acorn@8.14.1: {} ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 argparse@2.0.1: {} balanced-match@1.0.2: {} base64-js@1.5.1: {} bidi-js@1.0.3: dependencies: require-from-string: 2.0.2 brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 braces@3.0.3: dependencies: fill-range: 7.1.1 buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 callsites@3.1.0: {} camera-controls@2.10.1(three@0.176.0): dependencies: three: 0.176.0 chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 color-convert@2.0.1: dependencies: color-name: 1.1.4 color-name@1.1.4: {} concat-map@0.0.1: {} cross-env@7.0.3: dependencies: cross-spawn: 7.0.6 cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 csstype@3.1.3: {} debug@4.4.1: dependencies: ms: 2.1.3 deep-is@0.1.4: {} detect-gpu@5.0.70: dependencies: webgl-constants: 1.1.1 draco3d@1.5.7: {} esbuild@0.25.4: optionalDependencies: "@esbuild/aix-ppc64": 0.25.4 "@esbuild/android-arm": 0.25.4 "@esbuild/android-arm64": 0.25.4 "@esbuild/android-x64": 0.25.4 "@esbuild/darwin-arm64": 0.25.4 "@esbuild/darwin-x64": 0.25.4 "@esbuild/freebsd-arm64": 0.25.4 "@esbuild/freebsd-x64": 0.25.4 "@esbuild/linux-arm": 0.25.4 "@esbuild/linux-arm64": 0.25.4 "@esbuild/linux-ia32": 0.25.4 "@esbuild/linux-loong64": 0.25.4 "@esbuild/linux-mips64el": 0.25.4 "@esbuild/linux-ppc64": 0.25.4 "@esbuild/linux-riscv64": 0.25.4 "@esbuild/linux-s390x": 0.25.4 "@esbuild/linux-x64": 0.25.4 "@esbuild/netbsd-arm64": 0.25.4 "@esbuild/netbsd-x64": 0.25.4 "@esbuild/openbsd-arm64": 0.25.4 "@esbuild/openbsd-x64": 0.25.4 "@esbuild/sunos-x64": 0.25.4 "@esbuild/win32-arm64": 0.25.4 "@esbuild/win32-ia32": 0.25.4 "@esbuild/win32-x64": 0.25.4 escape-string-regexp@4.0.0: {} eslint-plugin-react-hooks@5.2.0(eslint@9.27.0): dependencies: eslint: 9.27.0 eslint-plugin-react-refresh@0.4.20(eslint@9.27.0): dependencies: eslint: 9.27.0 eslint-scope@8.3.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.2.0: {} eslint@9.27.0: dependencies: "@eslint-community/eslint-utils": 4.7.0(eslint@9.27.0) "@eslint-community/regexpp": 4.12.1 "@eslint/config-array": 0.20.0 "@eslint/config-helpers": 0.2.2 "@eslint/core": 0.14.0 "@eslint/eslintrc": 3.3.1 "@eslint/js": 9.27.0 "@eslint/plugin-kit": 0.3.1 "@humanfs/node": 0.16.6 "@humanwhocodes/module-importer": 1.0.1 "@humanwhocodes/retry": 0.4.3 "@types/estree": 1.0.7 "@types/json-schema": 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.1 escape-string-regexp: 4.0.0 eslint-scope: 8.3.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 transitivePeerDependencies: - supports-color espree@10.3.0: dependencies: acorn: 8.14.1 acorn-jsx: 5.3.2(acorn@8.14.1) eslint-visitor-keys: 4.2.0 esquery@1.6.0: dependencies: estraverse: 5.3.0 esrecurse@4.3.0: dependencies: estraverse: 5.3.0 estraverse@5.3.0: {} esutils@2.0.3: {} fast-deep-equal@3.1.3: {} fast-glob@3.3.3: dependencies: "@nodelib/fs.stat": 2.0.5 "@nodelib/fs.walk": 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.8 fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} fastq@1.19.1: dependencies: reusify: 1.1.0 fdir@6.4.4(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 fflate@0.6.10: {} fflate@0.8.2: {} file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 flat-cache@4.0.1: dependencies: flatted: 3.3.3 keyv: 4.5.4 flatted@3.3.3: {} fsevents@2.3.3: optional: true glob-parent@5.1.2: dependencies: is-glob: 4.0.3 glob-parent@6.0.2: dependencies: is-glob: 4.0.3 globals@14.0.0: {} globals@16.1.0: {} glsl-noise@0.0.0: {} graphemer@1.4.0: {} has-flag@4.0.0: {} hls.js@1.6.2: {} ieee754@1.2.1: {} ignore@5.3.2: {} ignore@7.0.4: {} immediate@3.0.6: {} import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 imurmurhash@0.1.4: {} is-extglob@2.1.1: {} is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-number@7.0.0: {} is-promise@2.2.2: {} isexe@2.0.0: {} its-fine@2.0.0(@types/react@19.1.5)(react@19.1.0): dependencies: "@types/react-reconciler": 0.28.9(@types/react@19.1.5) react: 19.1.0 transitivePeerDependencies: - "@types/react" js-yaml@4.1.0: dependencies: argparse: 2.0.1 json-buffer@3.0.1: {} json-schema-traverse@0.4.1: {} json-stable-stringify-without-jsonify@1.0.1: {} keyv@4.5.4: dependencies: json-buffer: 3.0.1 levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 lie@3.3.0: dependencies: immediate: 3.0.6 locate-path@6.0.0: dependencies: p-locate: 5.0.0 lodash.merge@4.6.2: {} maath@0.10.8(@types/three@0.176.0)(three@0.176.0): dependencies: "@types/three": 0.176.0 three: 0.176.0 merge2@1.4.1: {} meshline@3.3.1(three@0.176.0): dependencies: three: 0.176.0 meshoptimizer@0.18.1: {} micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 ms@2.1.3: {} nanoid@3.3.11: {} natural-compare@1.4.0: {} optionator@0.9.4: dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.5 p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 p-locate@5.0.0: dependencies: p-limit: 3.1.0 parent-module@1.0.1: dependencies: callsites: 3.1.0 path-exists@4.0.0: {} path-key@3.1.1: {} picocolors@1.1.1: {} picomatch@2.3.1: {} picomatch@4.0.2: {} postcss@8.5.3: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 source-map-js: 1.2.1 potpack@1.0.2: {} prelude-ls@1.2.1: {} prettier@3.5.3: {} promise-worker-transferable@1.0.4: dependencies: is-promise: 2.2.2 lie: 3.3.0 punycode@2.3.1: {} queue-microtask@1.2.3: {} react-dom@19.1.0(react@19.1.0): dependencies: react: 19.1.0 scheduler: 0.26.0 react-reconciler@0.31.0(react@19.1.0): dependencies: react: 19.1.0 scheduler: 0.25.0 react-use-measure@2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: react: 19.1.0 optionalDependencies: react-dom: 19.1.0(react@19.1.0) react@19.1.0: {} require-from-string@2.0.2: {} resolve-from@4.0.0: {} reusify@1.1.0: {} rollup@4.41.0: dependencies: "@types/estree": 1.0.7 optionalDependencies: "@rollup/rollup-android-arm-eabi": 4.41.0 "@rollup/rollup-android-arm64": 4.41.0 "@rollup/rollup-darwin-arm64": 4.41.0 "@rollup/rollup-darwin-x64": 4.41.0 "@rollup/rollup-freebsd-arm64": 4.41.0 "@rollup/rollup-freebsd-x64": 4.41.0 "@rollup/rollup-linux-arm-gnueabihf": 4.41.0 "@rollup/rollup-linux-arm-musleabihf": 4.41.0 "@rollup/rollup-linux-arm64-gnu": 4.41.0 "@rollup/rollup-linux-arm64-musl": 4.41.0 "@rollup/rollup-linux-loongarch64-gnu": 4.41.0 "@rollup/rollup-linux-powerpc64le-gnu": 4.41.0 "@rollup/rollup-linux-riscv64-gnu": 4.41.0 "@rollup/rollup-linux-riscv64-musl": 4.41.0 "@rollup/rollup-linux-s390x-gnu": 4.41.0 "@rollup/rollup-linux-x64-gnu": 4.41.0 "@rollup/rollup-linux-x64-musl": 4.41.0 "@rollup/rollup-win32-arm64-msvc": 4.41.0 "@rollup/rollup-win32-ia32-msvc": 4.41.0 "@rollup/rollup-win32-x64-msvc": 4.41.0 fsevents: 2.3.3 run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 scheduler@0.25.0: {} scheduler@0.26.0: {} semver@7.7.2: {} shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 shebang-regex@3.0.0: {} source-map-js@1.2.1: {} stats-gl@2.4.2(@types/three@0.176.0)(three@0.176.0): dependencies: "@types/three": 0.176.0 three: 0.176.0 stats.js@0.17.0: {} strip-json-comments@3.1.1: {} supports-color@7.2.0: dependencies: has-flag: 4.0.0 suspend-react@0.1.3(react@19.1.0): dependencies: react: 19.1.0 three-mesh-bvh@0.8.3(three@0.176.0): dependencies: three: 0.176.0 three-stdlib@2.36.0(three@0.176.0): dependencies: "@types/draco3d": 1.4.10 "@types/offscreencanvas": 2019.7.3 "@types/webxr": 0.5.22 draco3d: 1.5.7 fflate: 0.6.10 potpack: 1.0.2 three: 0.176.0 three@0.176.0: {} tinyglobby@0.2.13: dependencies: fdir: 6.4.4(picomatch@4.0.2) picomatch: 4.0.2 to-regex-range@5.0.1: dependencies: is-number: 7.0.0 troika-three-text@0.52.4(three@0.176.0): dependencies: bidi-js: 1.0.3 three: 0.176.0 troika-three-utils: 0.52.4(three@0.176.0) troika-worker-utils: 0.52.0 webgl-sdf-generator: 1.1.1 troika-three-utils@0.52.4(three@0.176.0): dependencies: three: 0.176.0 troika-worker-utils@0.52.0: {} ts-api-utils@2.1.0(typescript@5.8.3): dependencies: typescript: 5.8.3 tunnel-rat@0.1.2(@types/react@19.1.5)(react@19.1.0): dependencies: zustand: 4.5.7(@types/react@19.1.5)(react@19.1.0) transitivePeerDependencies: - "@types/react" - immer - react type-check@0.4.0: dependencies: prelude-ls: 1.2.1 typescript-eslint@8.32.1(eslint@9.27.0)(typescript@5.8.3): dependencies: "@typescript-eslint/eslint-plugin": 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0)(typescript@5.8.3))(eslint@9.27.0)(typescript@5.8.3) "@typescript-eslint/parser": 8.32.1(eslint@9.27.0)(typescript@5.8.3) "@typescript-eslint/utils": 8.32.1(eslint@9.27.0)(typescript@5.8.3) eslint: 9.27.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color typescript@5.8.3: {} uri-js@4.4.1: dependencies: punycode: 2.3.1 use-sync-external-store@1.5.0(react@19.1.0): dependencies: react: 19.1.0 utility-types@3.11.0: {} vite@6.3.5: dependencies: esbuild: 0.25.4 fdir: 6.4.4(picomatch@4.0.2) picomatch: 4.0.2 postcss: 8.5.3 rollup: 4.41.0 tinyglobby: 0.2.13 optionalDependencies: fsevents: 2.3.3 webgl-constants@1.1.1: {} webgl-sdf-generator@1.1.1: {} which@2.0.2: dependencies: isexe: 2.0.0 word-wrap@1.2.5: {} yocto-queue@0.1.0: {} zustand@4.5.7(@types/react@19.1.5)(react@19.1.0): dependencies: use-sync-external-store: 1.5.0(react@19.1.0) optionalDependencies: "@types/react": 19.1.5 react: 19.1.0 zustand@5.0.5(@types/react@19.1.5)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)): optionalDependencies: "@types/react": 19.1.5 react: 19.1.0 use-sync-external-store: 1.5.0(react@19.1.0)