{"_id":"@3dverse/livelink-webxr","_rev":"30-d26fb5c440db44ce42d95282b08af399","name":"@3dverse/livelink-webxr","dist-tags":{"latest":"0.8.3"},"versions":{"0.1.1":{"name":"@3dverse/livelink-webxr","version":"0.1.1","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.1","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"18731dabb88dcb786b9402fb16eb37dde4403605","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.1.tgz","fileCount":21,"integrity":"sha512-ZMjg0AhNDnkVMF4EPfd8h+JZVGzVL7IzXOZPfNVugs618q04VYAtYyJtrg45hlSkA1qsi3tgrAnCDdcq+8+DTQ==","signatures":[{"sig":"MEUCIDZeomtqSZMH8mK5bPm0ZmiljaMVLmvSN/ir+u920X6wAiEAlmKYjw/3D87heVbYqRMEKmHpIkT7zxBsKxkDmtw7V88=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1365335},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"9183848cc21071ce5ccf5dfd3f0ce7d6e88803ce","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@types/webxr":"^0.5.20"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.6.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.1_1744963227373_0.42985919746121737","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@3dverse/livelink-webxr","version":"0.1.2","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.2","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"bc035cf86a405688f01dff34acbe5b8ef6b60f80","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.2.tgz","fileCount":21,"integrity":"sha512-0bKkvNimwRHZys1uQsdiGWXbFLNZz+5g+Rpbqct0pS5GJ6aRtWyt2rltAuuGWXyk6sJM161FvGgO5cIVXoNxKA==","signatures":[{"sig":"MEQCICEOe3eyycpGgWatIh2/d1dHtQWnY9mtuVvR/SL9RzMxAiBXqX890oYB3/6dVQmBKMA/4stGP9T/2VKRixcJJ9WTrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1366132},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"3212ebde2ad895b708c920a13a67be47da22fbd3","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@types/webxr":"^0.5.20"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.6.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.2_1744997183313_0.24710787228855868","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@3dverse/livelink-webxr","version":"0.1.3","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.3","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"a7e5472e8450333f2b8c560c3383b322fb53b976","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.3.tgz","fileCount":21,"integrity":"sha512-7lpplB+v/MmZfb48M86f3infVmAIVt9msxYG2+RDHMD2xrWVsXTSpbb9bmW9nrw2olQSygu5W5Ed3CpM0MSjXA==","signatures":[{"sig":"MEUCIDS+dOn/9JAPJKWc95UDfeZD+wcXaNuQcpCgwrBvzUXfAiEArtx+E8y+TN0/vBrICIWNvwEeZEZUI6L/wmj75bIfbeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1365972},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"b471c491535e8814ee6ec260f923579235d9884c","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@types/webxr":"^0.5.20"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.6.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.3_1745429489236_0.20737937216729452","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@3dverse/livelink-webxr","version":"0.1.4","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.4","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"1e237b70ddffe5f6c332e552a50b8a91eae4e533","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.4.tgz","fileCount":21,"integrity":"sha512-tLcH0CWChL/wfSrSjFv7oLbgEuM/OEGR0ZOsDUKuhgHGwHDzrWHWRzHZx57v7RUsuorRQdN3rDo9ZpzA0s3rCg==","signatures":[{"sig":"MEUCIHyaU7Hm9g8HuO+GBfn1yNseMgrE47QrM+7KPMOerfj0AiEAp/3DOixef6lXpoKNQUh7UDq0zMqMNau8+CJZ6SMaARY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1369604},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"f5a7a4b1aa4b4659d0a173f2b75d41a48305e833","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.20"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.6.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.4_1745599399237_0.9205478581787756","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@3dverse/livelink-webxr","version":"0.1.5","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.5","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"3d4f189d059a4b350406cbcab5f6cb125fa92221","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.5.tgz","fileCount":21,"integrity":"sha512-kTI7t8Hl9RWRYCD7Y8QeGCiIYN/co1zwPcDNDiv99NJQ3rkZn98J/20ipJMhoV4EUSpogCeVAMxQ2I/loZ85PQ==","signatures":[{"sig":"MEYCIQCbQg78AjUqQNIeVfWqTodQRArzzz86kW/9WI8KR8kHcQIhAPnIiWuYdhY+/xqywYgp61tEPU0oBzm1nCtTwa5oKqez","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1368207},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"b9c88c262cc9ba3cb63212fee3d213dcce6273ee","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.20"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.6.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.5_1746742893107_0.8698248479000461","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@3dverse/livelink-webxr","version":"0.1.6","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.6","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"34b456ca610988830ad5eb14d5d9430aec89170b","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.6.tgz","fileCount":21,"integrity":"sha512-oHmBRq7TJs27iYmgjE8ItFPN/KW2bjE4u56IYCpLJTUSZugbBs3nrjxt8d6gz0+6E34aHE5PqiiVVMW/do8HRw==","signatures":[{"sig":"MEYCIQCXV3MJMLQAJrhc8yiHGLcn1w9JXDyjmG8ie4ekH2LOVQIhAJL61h2u1x+85el+0RuEk2ailXNXKpIGeQDwuOIzmRb0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1373575},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"5d819868725edcb9e0a85c16fafe4f835112a552","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.20"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.6.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.6_1747143156806_0.5272677063260116","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@3dverse/livelink-webxr","version":"0.1.7","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.7","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"1081d32be1cf6e4636d656c21aec3cdd9245eb76","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.7.tgz","fileCount":21,"integrity":"sha512-9U+DDV+C7QZIsRkQGuuO+/IpYcXhtEzw0i0kN+Taf/pSvj78EZWcQHAtJQw1+rOpDcHB9kQghcG2kRrKXBkF+w==","signatures":[{"sig":"MEQCIHs5RMLG4brRaWwFqvi/kpD8H68ZKmlZhHgD/MZX/21+AiAT2r1mKHJYb9xz/O6N5Xhkqn8cRyPhshy0Z6SVHxTRmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1390245},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"ec3f0828ff966774fdef403a86a47fe2f0212ee3","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.20"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.6.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.7_1747929007409_0.7087731285225791","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@3dverse/livelink-webxr","version":"0.1.8","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.8","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"b87ee3955a0d67858dfbb98b1e93be564fe50d80","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.8.tgz","fileCount":21,"integrity":"sha512-f6lYwKheFXlVNKpqYiiiXVkpcIn1Pfj9udoduHE5m9uT6ngHhp5ggMIAPZkR4eOUAi/Ko5td4igNIO3gq78tQg==","signatures":[{"sig":"MEQCIDewlUDa8dFUw+WShaJVqwG99+R5b6cnKtk8xQy+8kzxAiAvG6aTZbBTprQoOsgim1PA2J0cWXYQ6vku77h0UFDWwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1387497},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"60a2710f46adf6fd0384585f7ac27489dd517548","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.22"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.5","typescript":"^5.8.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.8_1749478600751_0.06392272515411723","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@3dverse/livelink-webxr","version":"0.1.9","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.9","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"1b9cdb219024272a0c4cbfd54e96ea449b374bd7","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.9.tgz","fileCount":21,"integrity":"sha512-SOlT+fMpDV5DUKnM6qk1e62YHq/3n5GUYwFtbN4E9Jza6BNyPsmXuAbpvhPkb/x5tOLu8BMuqdVFzFTxng49Qw==","signatures":[{"sig":"MEUCIQCYnjmt5Qly3XBLDCuAbLWIlTse6plwf7pleW9ywHsf0wIgGczHqEoLnMn9E2XWdvAqXvJPD95r3lxmVVIaVUjSSgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1387729},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"810f13f2fd9e7f9c91205d150e0166e79e4c9df7","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","actor":{"name":"apetitescure","type":"user","email":"alex@3dverse.com"},"email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.22"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.6","typescript":"^5.8.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.9_1752070563980_0.8339835174123755","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@3dverse/livelink-webxr","version":"0.1.10","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.10","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"a85753a161d9b22a9939d22358a7c77f4efc0a4b","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.10.tgz","fileCount":21,"integrity":"sha512-WpofA6kIQESVOVRFoFz8QvauRTRAQz5+qF3Hz3xrQnM3YNZlDgXzZJjwUcr7/vEfED9ngIVw6hM6HAljqB5f/w==","signatures":[{"sig":"MEUCICrJliIQ2jNb1rN80JAZaS6QBlIKesEkGWOa+m96dMDjAiEA2KrimaMxjKK/LBgVtgY6OTJMAPBZkfxJDmVZPjqV0Ns=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1397075},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"c926260225d3e10aea34d3696bf8fb28f4debc5e","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.22"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.6","typescript":"^5.8.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.10_1753982137030_0.8250513344437789","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@3dverse/livelink-webxr","version":"0.1.11","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.11","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"a65d35b797546cb80207ccdc492df8973b94faf4","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.11.tgz","fileCount":21,"integrity":"sha512-xWiED8lXSclw+3QZWVLLFP36nEzgBp1mDkvcQxlxODVnWMUZbqzl+a2Lvo2/Sk5nsx9YlRKKWKX3DjPDMvllDQ==","signatures":[{"sig":"MEYCIQDNeFDGaPOE/tUgdq2xHWnrdXEHJvK3s8F0/kYk0jCt7wIhAPccicMnxSuHhFirNkuNLWYJolpWUpuT8RVufbAvr8zK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1399574},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"534e6ddb7945e5961975269b40160d41d668bfe0","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.22"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.6","typescript":"^5.8.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.11_1754504524756_0.2975391630327633","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@3dverse/livelink-webxr","version":"0.1.12","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.12","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"76357102266275862bec1ec2d0d3fb97b0525762","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.12.tgz","fileCount":21,"integrity":"sha512-7xbIBfWn0qqAWD6xGF/OyGDABMlM7rNiW6Qx3Y6wPTjEH7pPqc9YXyIqFz6bLypcrUyhuIbGINgLir4pGc+Gkw==","signatures":[{"sig":"MEUCIQCnqLYU0+uaBJT1QAc66olMWGtKqwv4gc9CLl8b5fKYugIgR2hH3SWNVI/+kNdxjTIFz7uKb2C/Qozq1svSzmrbhZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1399574},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"458791c6651a91eb78678a9cf930538ba55d732e","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.22"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.8","typescript":"^5.9.2","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.12_1754688707290_0.38978665294710546","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@3dverse/livelink-webxr","version":"0.1.13","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.13","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"7dd0a15b8a38efbf0b75334a2f47bf96108884c6","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.13.tgz","fileCount":21,"integrity":"sha512-v1laoJ7tdDl7QcNN4yg+FiSKMqz8eG4o8LyxOvLqN2+sheV8Osf1I9Wl8l79Rq2dLDPyrCn9xVaKadi+CwAUrg==","signatures":[{"sig":"MEQCIHmIko++8mWTUXnZcOENafOi0n12W+hPzh6V+sYdROviAiBl/zscrVgb30vnYk6b7khxEoGf2EBEDhUDHnnzrJygMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1433425},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"9fbe52d0e1b8472cf718ecaa2826defe3566764a","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.10","typescript":"^5.9.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.13_1760047758697_0.10317115712138136","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@3dverse/livelink-webxr","version":"0.1.14","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.14","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"2da92448ab89b8bd8535e298ba1d7947a9589914","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.14.tgz","fileCount":21,"integrity":"sha512-AkC6gc4Eu9SVJxStjYTgOx21opUVX8VaKRS+gbI4KniGIccttHhiEfEB5BsQyJ//BDik2TrbvSEV0zxxcHghGg==","signatures":[{"sig":"MEUCIEDDXGrEjktv5e/nRaE/0L98uxX/71YGVNGZAG0nLlljAiEAn3bGQXFpK+omJ8zQQWEkniGNHBen0BTME5Tc8DUfxkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1433425},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"5a87ea65cfb9c32d819c08a6224b47bd759978bc","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.11","typescript":"^5.9.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.14_1761927247003_0.103610658554667","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@3dverse/livelink-webxr","version":"0.1.15","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.15","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"e519d85201dfdcc8aa0812fef0649dd9a421cfe6","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.15.tgz","fileCount":21,"integrity":"sha512-vqMgjbuU3nAQt+T3F8ZfDPlwpQ3IvAZcbtZCkp+hIRJMKz4L2pc4Avrzs9QVQ6MSSPCICkMmMl0D9mHmN8CHcg==","signatures":[{"sig":"MEYCIQCT8pa+lu2rlX9S+2QWP+HDquBF2+PG0CJ5teIVNlh8uQIhAIK8QXMYg8FHlvfjg+JOS2Ea2A9C61UejDD6QQ6PED/m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1434744},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"5f8977bc5c68d9ad31a3d8d188414eeb9c622f26","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.11","typescript":"^5.9.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.15_1764377563876_0.34549040502194694","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@3dverse/livelink-webxr","version":"0.1.16","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.16","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"8d062c939e29f8af61043434f96cc7c9e106d80c","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.16.tgz","fileCount":21,"integrity":"sha512-UXrlzv9KxxdFuTpZEGaHZwVszXQ5c55trsrRw0uJ4OL5Yxx/2uZ7q4tIZsuMj1hB3RyXs4tQ1BEVNkVYZZ9c2g==","signatures":[{"sig":"MEUCIBzds6i0ib0OjVnNITzhyFgqAVBpq0PF4J7dMe5i/M02AiEAj9/+QFZYlrYA7Zj3NF/9Dgk5HnmT5rk6k1uxQDVg+d4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1429753},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"06c704cb2205cf93bd19cb7f3d48907c47b3d892","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.1","typescript":"^5.9.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.16_1764888535977_0.36836945939569365","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@3dverse/livelink-webxr","version":"0.1.17","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.17","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"56019b94e1c67c465966d4b6fe8f8887d81c9d1d","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.17.tgz","fileCount":21,"integrity":"sha512-oxcpo7fqvKrDIae5BEIOMHIBiJU+N2yC7p6N7uC/FIcxp/OHImWs2Yw//okpPcuWI+mPrgTX+bpRuMV/xgOaTA==","signatures":[{"sig":"MEYCIQCRTFzbsoWx0crRRAiuEr6w+gsSwnAFpntIDnPTrlwiUwIhAIsZZ7WwYmrfjfy3zCjudydF64sM+Kzcw07Ajpb4DmCi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1451209},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"ad9eca327c5e95a49c79bfc4f9bda668832d4336","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.1","typescript":"^5.9.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.17_1765557322815_0.2126192572499468","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@3dverse/livelink-webxr","version":"0.1.18","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.18","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"81cef5581fa167fea78e82cc562574a475c5bdbf","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.18.tgz","fileCount":29,"integrity":"sha512-pds3/3xMJQfHV6Drz3wrKvyAlHQx/zqx+KQWHtq2OGj/wbzRHyd8fqN3U0yZQYuo3GzrxZtwnaD//Nd5ZT0BDg==","signatures":[{"sig":"MEQCIFU7yJCxXPUyxykNm8AMrWbXj5gP2fpIxDm7gAEQJuyfAiAZRAtUVrzbEU4LvTfUpcNGFUd7qdwkaHACh1nrLDwJhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1522388},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"8e2748a9ad752154627aeaaa96f3e8c4eaa0ebfc","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.1","typescript":"^5.9.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.18_1770751687976_0.14121042000341122","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@3dverse/livelink-webxr","version":"0.1.19","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.1.19","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"c533c198f70e855a844b4b5397e0745330cc5b0b","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.1.19.tgz","fileCount":47,"integrity":"sha512-Jkz2JqbZEEty1AmmrDWv2rVPF2RJHVEdDioIK/eaWzlA7Fv0Sb7U1EJ+JlZ03NZXmfxWX4G+Pi27F3Tin7wGRA==","signatures":[{"sig":"MEYCIQDH6Go9/G094DYbNfDu1weA+15N6RgGqmQ5r1TMsJ4RXwIhAIXqnAiEO47FFXfWBGqsFTp+DNpLfMgS9yjkk4TEs5HL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2092471},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"c4b0a59df6645876a6a114be344d8fbc0be96dd3","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.1","typescript":"^5.9.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.1.19_1775030716094_0.9389190137063768","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@3dverse/livelink-webxr","version":"0.2.1","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.2.1","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"8a0a7b50e171b958398691ec26724fc9fe82ddda","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.2.1.tgz","fileCount":50,"integrity":"sha512-dXe7lI1TqD8pZnCjcvv5WeF/3MJBCMSz4kEC8GBjdropX6EY3eUT7AMJ432l+DvlacIXbcfoJBicDS7MzBWLDw==","signatures":[{"sig":"MEUCIQDjwnXaLKx7VOCF/3xepnhDTsdlDYjYK+pMvGJICLRzMgIgfnShGYESDZR1DmLyIZhe4PSqlg2bYum2o1UFHUE2p2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2128033},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"3671c96897fac8cc403dfd092700989259a558f4","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.1","typescript":"^5.9.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.2.1_1775654605933_0.8437156697574235","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@3dverse/livelink-webxr","version":"0.2.2","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.2.2","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"6ced6927ef99e2f9f2aa1c233f5d4f53498d67e8","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.2.2.tgz","fileCount":50,"integrity":"sha512-ThWZAwk2CSKGF+BNOfJx14mATowwboSNUi38PDaG0w0dM3UoYs6N+2ryEHw+Oam6bR9hET3WR5EgFTk2gGxNMQ==","signatures":[{"sig":"MEQCIDnslWtWlvNYAOicOj8iZ+Im83PtXn9Zr7hRxBL2Qq/mAiA5HCm6jlorll4IFv4xiZ/CKANJNfPFjkHQowyUX5Kehw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2145604},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"55092ab11446c770690e2812be08642736fba620","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.1","typescript":"^5.9.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.2.2_1776330553905_0.003751451662365124","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@3dverse/livelink-webxr","version":"0.2.3","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.2.3","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"60a4b81c9bac27d0026d8f3836a74c2d40b82444","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.2.3.tgz","fileCount":50,"integrity":"sha512-v+LfXS1hN5AKMyKAIoQPpa6Z/OW4B3/z3mS6E+F+RALin2qXDqW8rqKwbH8J0KZpt9cSsDQac7O4QXzUdL7sHw==","signatures":[{"sig":"MEYCIQCBwZkHM5yp3JGN336Va/8wzjOJ/dFSiQ5nnix3Eaa7OgIhAIGhwXO/1wf9ON9uM1TUYzeSoohnkbPDQ/9Wz0juM0vg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2149051},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"91aa621db6199731d18f19c6134b5475628fb9a0","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.1","typescript":"^5.9.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.2.3_1776465467099_0.7020089651647461","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@3dverse/livelink-webxr","version":"0.2.4","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.2.4","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"91d610f7d3739670cafd363961232527d46d2c53","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.2.4.tgz","fileCount":50,"integrity":"sha512-NBosZDpf11ZuBO9Zm71qkZrv2WLYyP/xrd6I6FrpuHFT9cJcqNapF7JRF4H1QcSOX0DyBwUmA+xYDhYM/UG0rQ==","signatures":[{"sig":"MEYCIQDNwAN7JceeimGbRAF47YWowubxvASu6zesark1jDGKIQIhAOzJ4OwCz+7rq9kUzmV1g6/skjSPmjAx1+EqIxNMq/lh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2149531},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"04450c5f2cf55e7258637c545d69892c7909cd80","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.1","typescript":"^5.9.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.2.4_1776466197293_0.7681422851950486","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@3dverse/livelink-webxr","version":"0.2.5","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.2.5","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"73ab0d8772c6c8dd40212a69aedc209806e5cd8f","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.2.5.tgz","fileCount":50,"integrity":"sha512-VR5zP7wBjHmQwenNLUW9DW6/6XgSy0c7Fs2P6MAzQzwD0uYulXKcJ87e3eHBWybpYD2tS47vvhyzHTRJpMkByA==","signatures":[{"sig":"MEUCIF8+VvjYDK/Qm81Djs3oTVyKjjvFGM5QNCIQJ1klaboAAiEAp9lJsbKvX3qeuxSTG+JMAmc2iOvR3c/7wusKrWNzJ9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2149531},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"2521c5986efcdbb50b35b03cff009a2ae3da6ff9","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typescript":"^6.0.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.2.5_1780067347590_0.22825489024906975","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@3dverse/livelink-webxr","version":"0.2.6","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.2.6","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"21952b09117c16f2173783678707b47c8858777c","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.2.6.tgz","fileCount":50,"integrity":"sha512-T28/GZsy+fE7whmjYlQPJ8dMB6KuczfJxX9DVzdLZ8FYuC3ZNBY88L90IxxQLRsWLS+ocsNs1/dpJUa68cnWXg==","signatures":[{"sig":"MEQCIDuTbkp7jIO4agWyhLQAYaQiXcOxhQ3jREV5tnDFeBQFAiAeUId3JbIMYUCPVP4dE7nzozstwKF2E6KP5ZYv323zpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2241110},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"4723a3789d77f8e7407f2ef0eab3e0fd6f4161df","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typescript":"^6.0.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.2.6_1786377289760_0.6033898864752796","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@3dverse/livelink-webxr","version":"0.2.7","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.2.7","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"fbaa334bc831c4744c72f06f6faaf6a1db421269","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.2.7.tgz","fileCount":52,"integrity":"sha512-RZSmswK2+fcRJ4pD3BeawJ3FmSY69GOEGMyf9ksygGs6kONDrLTd9+11opgIAubWuKQtkw48K0S292lw1XhSkA==","signatures":[{"sig":"MEUCIQDZeNnm6bTQtREjJAZnzXFzuotRp4aC9zx6HxOtbH2MuAIgSpRJyxZ7sXPq+GlvpA1VxjmlNWQ0Ag6LFyrAVJ2U3CM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2479672},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"b1a32669899c03deece8be1f68e0e4019296087d","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typescript":"^6.0.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.2.7_1786469455067_0.2955664915042848","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@3dverse/livelink-webxr","version":"0.2.8","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.2.8","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"873c7b840d80fb92e122973a168956e6850369b3","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.2.8.tgz","fileCount":54,"integrity":"sha512-V36l9m+MuMeJSpSKGkQR9JxgTR2RJ3ZtY9VgJQ5TVBQxdP0VZzlAQyX3KZGJal4d4tlgr1qjOeFLXvMXTIFCAw==","signatures":[{"sig":"MEUCIC03eyR7PLp8JpzJzmD1vjAFGLrEgq/72PeAlzOv7iLEAiEAx0Jn8j6FWj1RgT359jTcoKdk0ttEK+7oMYdbAVVjQ2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2567786},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"d9bf551b58cd1eec11622e34a3cd8f2de01d682c","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"apetitescure","email":"alex@3dverse.com"},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"10.9.2","description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/webxr":"^0.5.24"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typescript":"^6.0.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.2.8_1787865438551_0.6294988693934325","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@3dverse/livelink-webxr","version":"0.8.1","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.8.1","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"a30ac6bf4de5903ca9909ce5f5951698e6a3d225","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.8.1.tgz","fileCount":84,"integrity":"sha512-5qSwVdUjrKKM7ahvwa1z7fIf1FD/q5P+6/VM/0KcDgrXHALa4A9u9nwfnzrztIF0ns2A8dEQkPWqIEiVO4DqVQ==","signatures":[{"sig":"MEQCIA9eGuudKZlCgTyIH6mCfJrJnfUHT6UtFJFoEjj7nXgtAiAUch46/GFhEtJ79A9MNA/eECRqd5edPsmTEqFSn+8dDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4235989},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"c7fc2e29fc00253b7b1571a16a5b53e1d6ce8ba8","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:ede40fd5-1901-45e6-98e5-20c5950ad5a8"}},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"11.19.0","description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@types/webxr":"^0.5.24","@webxr-input-profiles/motion-controllers":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typescript":"^6.0.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.8.1_1788364517163_0.054917940935577336","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@3dverse/livelink-webxr","version":"0.8.2","author":"","license":"ISC","_id":"@3dverse/livelink-webxr@0.8.2","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"homepage":"https://github.com/3dverse/livelink#readme","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"5df1f488a7a8bd1ffd4b4c9fdfafff6c26ad3aca","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.8.2.tgz","fileCount":94,"integrity":"sha512-wq99yIdeh2mT4ovCX3WYQAZmkboVt25ZgWH8guP6eQ7m7TkHr/j1PRRyCQ185RL/3OrBZXgyBKB35vNpca2w5A==","signatures":[{"sig":"MEUCIQDdPAxU4wGrDp1jUNjRDPdlU4u8EbtECJusIbDdX6ZwJQIgZeKkssN40BcDXpW1W6hoi2QpqbKxzT+CFocaacFtAB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFSUCQbWd2NKG0qE8/MLncuAF1TzE7bd2DqLqoNQ4H3iAiAL/9+64Wb2DzXWDbLdN1uY+cd7AL8jZmkG/XztkzpZLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4341344},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"14b1f0379da0ee2a2170ed320440361767a2165e","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:ede40fd5-1901-45e6-98e5-20c5950ad5a8"}},"repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"11.19.0","description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@types/webxr":"^0.5.24","@webxr-input-profiles/motion-controllers":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typescript":"^6.0.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"tmp":"tmp/livelink-webxr_0.8.2_1789682634592_0.08257987716924275","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"_id":"@3dverse/livelink-webxr@0.8.3","bugs":{"url":"https://github.com/3dverse/livelink/issues"},"dist":{"shasum":"0ebf2efbf54369d5c52fac407f84591f35f5e051","tarball":"https://registry.npmjs.org/@3dverse/livelink-webxr/-/livelink-webxr-0.8.3.tgz","fileCount":94,"integrity":"sha512-ODihLogAtZloGAm6mEQ7ZBYRfUPcL8pnKcstsjFeQn0MD515vGYMZ7/GEK79LmWHYUY8v4HWhNZMjAVoxKOhXQ==","signatures":[{"sig":"MEYCIQDPjgxyR2n840A12s6mdPzavpKYg51670IDOMnCGSPdbQIhAM/FKwwZg+KyqZ0rvEbiHrjthcplTXgt3Y8a1qYAN7y+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFuhZm8O8KRoecB8mQqEfH4h2v5Ko5JlB9X4eb5633VnAiEA2IoZcamE7rqOWrStsE7nO+K1syewRxzkjd6MnSsFUhY="}],"unpackedSize":4349102},"name":"@3dverse/livelink-webxr","author":"","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.cjs"}},"gitHead":"553deb6c18ac9015a49a1582d20d62f0c3614f95","license":"ISC","scripts":{"dev":"run-p dev:*","build":"node esbuild.js && tsc","clean":"rimraf dist","dev:tsc":"tsc -w","dev:esbuild":"node esbuild.js dev"},"version":"0.8.3","_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:ede40fd5-1901-45e6-98e5-20c5950ad5a8"}},"homepage":"https://github.com/3dverse/livelink#readme","repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"_npmVersion":"11.19.0","description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","directories":{},"maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"_nodeVersion":"24.20.0","dependencies":{"@types/webxr":"^0.5.24","@webxr-input-profiles/motion-controllers":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typescript":"^6.0.3","npm-run-all":"^4.1.5"},"peerDependencies":{"react":">=18.2.0","react-dom":">=18.2.0","@types/react":">=18.2.0","threejs-math":"^0.147.0","@types/react-dom":">=18.2.0","@3dverse/livelink":"^0.8.32","@3dverse/livelink-react":"^0.2.45","@3dverse/livelink-react-ui":"^0.3.18"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/livelink-webxr_0.8.3_1790601226754_0.4877316601586543"}}},"time":{"created":"2025-04-18T08:00:27.303Z","modified":"2026-09-28T13:13:47.198Z","0.1.1":"2025-04-18T08:00:27.543Z","0.1.2":"2025-04-18T17:26:23.580Z","0.1.3":"2025-04-23T17:31:29.600Z","0.1.4":"2025-04-25T16:43:19.471Z","0.1.5":"2025-05-08T22:21:33.442Z","0.1.6":"2025-05-13T13:32:37.043Z","0.1.7":"2025-05-22T15:50:07.635Z","0.1.8":"2025-06-09T14:16:40.988Z","0.1.9":"2025-07-09T14:16:04.134Z","0.1.10":"2025-07-31T17:15:37.312Z","0.1.11":"2025-08-06T18:22:05.001Z","0.1.12":"2025-08-08T21:31:47.522Z","0.1.13":"2025-10-09T22:09:18.904Z","0.1.14":"2025-10-31T16:14:07.225Z","0.1.15":"2025-11-29T00:52:44.120Z","0.1.16":"2025-12-04T22:48:56.189Z","0.1.17":"2025-12-12T16:35:22.985Z","0.1.18":"2026-02-10T19:28:08.158Z","0.1.19":"2026-04-01T08:05:16.297Z","0.2.1":"2026-04-08T13:23:26.141Z","0.2.2":"2026-04-16T09:09:14.122Z","0.2.3":"2026-04-17T22:37:47.411Z","0.2.4":"2026-04-17T22:49:57.452Z","0.2.5":"2026-05-29T15:09:07.730Z","0.2.6":"2026-08-10T15:54:49.984Z","0.2.7":"2026-08-11T17:30:55.230Z","0.2.8":"2026-08-27T21:17:18.722Z","0.8.1":"2026-09-02T15:55:17.393Z","0.8.2":"2026-09-17T22:03:54.798Z","0.8.3":"2026-09-28T13:13:46.874Z"},"bugs":{"url":"https://github.com/3dverse/livelink/issues"},"license":"ISC","homepage":"https://github.com/3dverse/livelink#readme","repository":{"url":"git+https://github.com/3dverse/livelink.git","type":"git"},"description":"Integrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session manage","maintainers":[{"name":"h-eal","email":"houssem@3dverse.com"},{"name":"apetitescure","email":"alex@3dverse.com"}],"readme":"# Livelink WebXR\n\nIntegrates the [Livelink](https://www.3dverse.com/) real-time 3D streaming SDK with the [WebXR Device API](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API) to deliver immersive VR and AR experiences. The package handles XR session management, stereo viewport configuration, latency compensation via billboard rendering, and a three-layer camera rig for physical + virtual movement composition.\n\n**Live samples:**\n\n- VR/AR (desktop & Android): https://samples.livelink.3dverse.com/#/web-xr\n- AR (iOS via Variant Launch): https://samples.livelink.3dverse.com/#/web-xr-ios\n\n---\n\n## Architecture Overview\n\n`XRLivelink` is the main facade. It orchestrates four internal managers:\n\n| Manager        | Responsibility                                                |\n| -------------- | ------------------------------------------------------------- |\n| `LXRSession`   | XRSession lifecycle, reference space                          |\n| `LXRSurface`   | WebGL layer, resolution scaling, overscan, display parameters |\n| `LXRViewport`  | Per-eye viewport and camera entity setup                      |\n| `LXRCameraRig` | Transform composition, virtual locomotion, billboard reversal |\n\nIn React applications the `<WebXR>` component wraps `XRLivelink` entirely. In vanilla TypeScript, `XRLivelink` is used directly.\n\n---\n\n## React — `<WebXR>`\n\nMust be placed inside a `<Livelink>` context. Manages the full XR session lifecycle and exposes the `XRLivelink` instance via `ref`.\n\n```tsx\nimport { Livelink } from \"@3dverse/livelink-react\";\nimport { WebXR } from \"@3dverse/livelink-webxr/react\";\n\n<Livelink sceneId={sceneId} token={token}>\n  <WebXR\n    mode=\"immersive-vr\"\n    originTransform={{ position: [0, 2, 5], eulerOrientation: [0, 45, 0] }}\n    latencyCompensation={true}\n    overscan={false}\n    scale={1.0}\n    onSessionEnd={() => setXRMode(null)}\n    ref={ref => setXrLivelink(ref?.livelinkXR ?? null)}\n  >\n    <WebXRVirtualJoysticks />\n    {/* DOM overlay content */}\n  </WebXR>\n</Livelink>;\n```\n\n### Props\n\n| Prop                         | Type                                               | Default       | Description                                                                                |\n| ---------------------------- | -------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------------ |\n| `mode`                       | `XRSessionMode`                                    | —             | `\"immersive-vr\"` or `\"immersive-ar\"`                                                       |\n| `requiredFeatures`           | `string[]`                                         | `[]`          | XR session required features                                                               |\n| `optionalFeatures`           | `string[]`                                         | `[]`          | XR session optional features (`\"dom-overlay\"` always added)                                |\n| `forceSingleView`            | `boolean`                                          | —             | Forces mono rendering on stereo-capable devices                                            |\n| `originTransform`            | `Partial<Transform>`                               | —             | Initial position/orientation/scale of the XR origin. Supports `eulerOrientation` (degrees) |\n| `preserveInitialOrientation` | `boolean`                                          | `false`       | If `true`, preserves device pitch/roll at session start; default zeros them out            |\n| `latencyCompensation`        | `boolean`                                          | `true`        | Enables billboard rendering to reduce perceived streaming latency                          |\n| `overscan`                   | `boolean`                                          | `false`       | Increases FOV for billboard to hide edge artifacts during head movement                    |\n| `fakeAlpha`                  | `boolean`                                          | `true` for AR | Simulates alpha blending with camera feed (AR sessions)                                    |\n| `scale`                      | `number`                                           | `1.0`         | Resolution scale factor for the XR surface                                                 |\n| `domOverlayRoot`             | `Element`                                          | —             | Custom DOM overlay root (required on iOS, see [Entering XR on iOS](#entering-xr-on-ios))   |\n| `onSessionEnd`               | `(event: XRSessionEvent) => void`                  | —             | Callback when the XR session ends                                                          |\n| `renderViewport`             | `(viewport: Viewport, index: number) => ReactNode` | —             | Custom render function for each eye viewport                                               |\n\nThe `ref` resolves to `{ livelinkXR: XRLivelink | undefined }` once the session is active.\n\n---\n\n## Entering XR on iOS\n\niOS Safari exposes no `navigator.xr`, so `isSessionSupported` is false there and always will be. The\nsession has to run inside a native **App Clip** that wraps the page in a `WKWebView`, puts an ARKit\ncamera behind it and injects a WebXR polyfill. A **launcher** encapsulates that: it answers \"can this\npage enter XR, and if not, where do I send the user\", so a consumer never branches on the platform\nitself — off iOS every launcher reports `supported` and gets out of the way.\n\n```tsx\nimport { LXRAppClipLauncher, useXRLaunch } from \"@3dverse/livelink-webxr\";\n\n// Built once, outside render: the hook re-resolves whenever the launcher identity changes.\nconst launcher = new LXRAppClipLauncher({ domain: \"xr.example.com\" });\n\nfunction EnterARButton({ onEnter }: { onEnter: (mode: XRSessionMode) => void }) {\n  const { canLaunch, message, launch } = useXRLaunch({\n    mode: \"immersive-ar\",\n    launcher,\n    onEnter,\n  });\n\n  return (\n    <button onClick={launch} disabled={!canLaunch}>\n      {message}\n    </button>\n  );\n}\n```\n\n`launch()` either enters the session in place or navigates to the clip, whichever the state calls\nfor. Without React, call `launcher.resolve({ mode })` and switch on `state.status` yourself.\n\n### Launchers\n\n| Launcher                   | Clip owned by  | Needs                                    |\n| -------------------------- | -------------- | ---------------------------------------- |\n| `LXRAppClipLauncher`       | You            | A domain serving an App Clip association |\n| `LXRVariantLaunchLauncher` | Variant Launch | An SDK key and a paid plan               |\n\n`LXRAppClipLauncher` builds `https://<domain>/?to=<this page>` — no SDK, no key, no network round\ntrip. Hosting it requires an `apple-app-site-association` naming the clip, a Smart App Banner meta\ntag on that domain, and the clip's parent app released on the App Store; see\n[MIGRATION_wem-technology_ios-webxr.md](./MIGRATION_wem-technology_ios-webxr.md).\n\n`LXRVariantLaunchLauncher` loads the Variant Launch SDK to reach their clip, and loads it\n**without** `redirect=true`: that parameter sends iOS visitors to the Launch Card as soon as the SDK\ninitializes, which would fire from inside `resolve()` — during detection, before the user has asked\nfor anything. Pass your own `sdkUrl` if you want that behaviour.\n\nTo launch into a page other than the current one, call `launcher.getLaunchUrl(target)` rather than\nusing `state.launch_url`: the clip reloads the app from scratch, so a session token or the mode to\nenter only survives if it travels in the address.\n\n### What it cannot do\n\nApp Clip cards render in **Safari only**. Chrome, Firefox and every in-app browser on iOS load the\nlaunch URL as an ordinary page instead — `state.needs_safari` reports this so the UI can say so\nbefore the user taps, and the stock `message` already does.\n\n---\n\n## Vanilla TypeScript — `XRLivelink`\n\n```typescript\nimport { XRLivelink } from \"@3dverse/livelink-webxr\";\n\n// Check support before showing the Enter XR button\nconst supported = await XRLivelink.isSessionSupported(\"immersive-vr\");\n\nconst xr = new XRLivelink(livelinkInstance);\n\nconst session = await xr.initialize({\n  mode: \"immersive-vr\",\n  xr_session_init: { requiredFeatures: [\"local\"] },\n  origin_transform: { position: [0, 2, 5], eulerOrientation: [0, 45, 0] },\n  preserve_initial_orientation: false,\n});\n\nsession.addEventListener(\"end\", () => xr.release());\nxr.start(); // begins the XR animation frame loop\n```\n\n### Key `XRLivelink` properties\n\n| Property                      | Type                      | Description                                        |\n| ----------------------------- | ------------------------- | -------------------------------------------------- |\n| `camera_rig`                  | `LXRCameraRig`            | Access virtual locomotion controls (see below)     |\n| `xr_session`                  | `XRSession`               | Underlying XRSession                               |\n| `xr_mode`                     | `XRSessionMode`           | Active session mode                                |\n| `xr_reference_space`          | `XRReferenceSpace`        | Active reference space                             |\n| `lxr_viewports`               | `Map<XREye, LXRViewport>` | Per-eye viewport configuration                     |\n| `viewports`                   | `Viewport[]`              | Livelink viewport array                            |\n| `is_stereo_vision`            | `boolean`                 | `true` when two viewports are configured           |\n| `resolution_scale`            | `number`                  | XR surface resolution scale                        |\n| `enable_latency_compensation` | `boolean`                 | Toggle billboard latency compensation              |\n| `enable_overscan`             | `boolean`                 | Toggle overscan padding                            |\n| `overscan_fov_factor`         | `number`                  | FOV multiplier when overscan is on (default `1.5`) |\n| `enable_fake_alpha`           | `boolean`                 | Toggle AR fake alpha blending                      |\n| `overriden_near_plane`        | `number \\| undefined`     | Override near plane (useful for WebXR emulator)    |\n\n---\n\n## Virtual Locomotion — `LXRCameraRig`\n\n`LXRCameraRig` is the central piece of the package. It is always accessed through `xrLivelink.camera_rig` — it is created and managed internally by `XRLivelink`.\n\nAll locomotion examples use `threejs-math` (a peer dependency):\n\n```typescript\nimport { Vector3, Quaternion } from \"threejs-math\";\n```\n\n### Joystick Movement\n\nMove relative to current head orientation:\n\n```typescript\nfunction applyJoystickMovement(rig: LXRCameraRig, joystickX: number, joystickY: number, speed = 0.02): void {\n  if (Math.abs(joystickX) < 0.1 && Math.abs(joystickY) < 0.1) return;\n\n  const poseOri = rig.pose_entity?.local_transform.orientation;\n  if (!poseOri) return;\n\n  const q = new Quaternion(...poseOri);\n  const forward = new Vector3(0, 0, 1).applyQuaternion(q);\n  const right = new Vector3(1, 0, 0).applyQuaternion(q);\n\n  const move = new Vector3().addScaledVector(right, joystickX * speed).addScaledVector(forward, joystickY * speed);\n  move.y = 0; // keep horizontal\n\n  rig.incrementPoseLocalOffset({ position: [move.x, move.y, move.z] });\n}\n```\n\nBuilt-in locomotion helpers are exported from the package: `LXRThrustMoveLocalSpace`, `LXRStrafeMoveLocalSpace`, `LXRThrustMoveWorldSpace`, `LXRStrafeMoveWorldSpace`, `LXRVerticalMoveLocalSpace`, `LXRVerticalMoveWorldSpace`. They handle the orientation math and call `incrementPoseLocalOffset` / `incrementWorldSpaceOffset` accordingly. The `<WebXRVirtualJoysticks>` React component uses them.\n\n### Teleportation\n\n```typescript\n// Absolute position\nrig.setPoseLocalOffset({ position: [10, 0, 5] });\n\n// Forward teleport relative to current facing\nfunction teleportForward(rig: LXRCameraRig, distance: number): void {\n  const poseOri = rig.pose_entity?.local_transform.orientation;\n  if (!poseOri) return;\n\n  const forward = new Vector3(0, 0, 1).applyQuaternion(new Quaternion(...poseOri));\n  const current = rig.pose_local_offset.position;\n  rig.setPoseLocalOffset({\n    position: [current.x + forward.x * distance, current.y, current.z + forward.z * distance],\n  });\n}\n```\n\n### Snap & Smooth Turning\n\nTurning updates `pose_local_offset.orientation` — orbiting compensation is applied automatically:\n\n```typescript\nfunction snapTurn(rig: LXRCameraRig, direction: \"left\" | \"right\", angle = Math.PI / 4): void {\n  const sign = direction === \"left\" ? 1 : -1;\n  const rotation = new Quaternion().setFromAxisAngle(new Vector3(0, 1, 0), sign * angle);\n  rig.incrementPoseLocalOffset({ orientation: rotation.toArray() });\n}\n\nfunction smoothTurn(rig: LXRCameraRig, direction: number, deltaTime: number, turnSpeed = Math.PI / 2): void {\n  const angle = direction * turnSpeed * deltaTime;\n  if (Math.abs(angle) < 0.001) return;\n  const rotation = new Quaternion().setFromAxisAngle(new Vector3(0, 1, 0), angle);\n  rig.incrementPoseLocalOffset({ orientation: rotation.toArray() });\n}\n```\n\n### Global Rotation (World-Space)\n\nRotate the entire virtual world around the user — useful for rotating the scene's forward direction at world scale:\n\n```typescript\nrig.setWorldSpaceOffset({\n  orientation: [0, Math.sin(angle / 2), 0, Math.cos(angle / 2)], // Y-axis rotation\n});\n```\n\n### Scaling\n\n`rig.scale` drives billboard compensation so camera positions are correctly reversed at any scale. Values above `1` make the user feel smaller; below `1`, larger:\n\n```typescript\nfunction setWorldScale(rig: LXRCameraRig, scale: number): void {\n  rig.scale = Math.max(0.1, Math.min(10, scale));\n}\n```\n\n`LXRScaling.ts` exports helpers `nextScaleUp()` / `nextScaleDown()` for coarse-logarithmic stepping, and `applyScale()` which optionally compensates anchor position (VR) or leaves it fixed (AR).\n\n### Adjust Floor Height\n\n```typescript\nfunction setFloorHeight(rig: LXRCameraRig, floorY: number): void {\n  if (!rig.anchor_entity) return;\n  const current = rig.anchor_entity.local_transform;\n  rig.anchor_entity.local_transform = {\n    position: [current.position[0], floorY, current.position[2]],\n    orientation: current.orientation,\n    scale: current.scale,\n  };\n}\n```\n\n### Reset & Recenter\n\n```typescript\n// Clear all virtual movement\nfunction recenter(rig: LXRCameraRig): void {\n  rig.resetPoseLocalOffset();\n  rig.resetWorldSpaceOffset();\n}\n\n// Respawn at a specific world position\nfunction respawnAt(rig: LXRCameraRig, position: [number, number, number]): void {\n  if (rig.anchor_entity) {\n    rig.anchor_entity.local_transform = { position, orientation: [0, 0, 0, 1] };\n  }\n  recenter(rig);\n}\n```\n\n### Direct Mutation vs Setters\n\n`world_space_offset` and `pose_local_offset` return mutable objects. Before directly mutating an **orientation**, call the corresponding flag method to trigger compensation. Position can be mutated freely:\n\n```typescript\n// World-space orientation: direct mutation — requires flag\nrig.markWorldSpaceOffsetOrientationChanged();\nrig.world_space_offset.orientation.multiply(deltaQuat);\n\n// World-space: setter — flag called internally\nrig.setWorldSpaceOffset({ orientation: [0, 0.707, 0, 0.707] });\nrig.incrementWorldSpaceOffset({ orientation: deltaQuat.toArray() });\n\n// Pose-local orientation: direct mutation — requires flag\nrig.markPoseLocalOffsetOrientationChanged();\nrig.pose_local_offset.orientation.multiply(deltaQuat);\n\n// Pose-local: setter — flag called internally\nrig.setPoseLocalOffset({ orientation: [0, 0.707, 0, 0.707] });\nrig.incrementPoseLocalOffset({ orientation: deltaQuat.toArray() });\n```\n\nAll setters also accept `eulerOrientation: [x, y, z]` (degrees) as an alternative to `orientation`.\n\n---\n\n## Architecture\n\n### Entity Hierarchy\n\n```\nxr_rig_origin          (world anchor — anchor_entity)\n  └─ xr_rig_pose       (updated per frame — pose_entity)\n       ├─ camera_left   (static IPD offset, child of pose_entity)\n       └─ camera_right  (static IPD offset, child of pose_entity)\n```\n\n- **`anchor_entity`**: World anchor; repositioning it moves the entire rig. Typically set once via `originTransform`.\n- **`pose_entity`**: Receives fully composed transforms per frame. **Do not** set its `local_transform` manually — it is overwritten on every XR frame.\n- **Camera entities**: Created by `LXRViewport` and parented to `pose_entity` during `XRLivelink.initialize()`.\n\n### Transform Layers\n\nThree independent layers compose into `pose_entity.local_transform` each frame:\n\n| Layer                     | Space       | Purpose                                 | API                                                    |\n| ------------------------- | ----------- | --------------------------------------- | ------------------------------------------------------ |\n| **Tracking**              | room-space  | Physical XR device movement             | Read-only (hardware)                                   |\n| **Pose-local offset**     | pose-local  | Virtual locomotion (joystick, teleport) | `setPoseLocalOffset()`, `incrementPoseLocalOffset()`   |\n| **World-space transform** | world-space | Global rig rotation/position            | `setWorldSpaceOffset()`, `incrementWorldSpaceOffset()` |\n\n**Composition formula** (all values in origin-local space; world-space inputs auto-converted):\n\n```\nposition    = ws_ori * (ls_ori * tracking + ls_comp) + ws_comp + ls_pos + ws_pos\norientation = ws_ori * ls_ori * tracking_ori\n```\n\n**Composition order** (executed each frame inside `#updatePoseTransform`):\n\n1. Start with XR device tracking pose (room-space)\n2. Normalize tracking relative to the initial pose captured at init (when `originTransform` is provided)\n3. Rotate tracking position by pose-local offset orientation — physical movement follows virtual turn direction\n4. Accumulate pose-local compensation if orientation changed (prevents orbiting)\n5. Rotate by world-space orientation in anchor-local frame\n6. Accumulate world-space compensation if orientation changed (prevents orbiting)\n7. Add pose-local offset position and world-space position\n\n### Compensation\n\nWhen either `pose_local_offset.orientation` or `world_space_offset.orientation` changes, the current tracking position would arc around the origin (\"orbiting\"). The rig computes a one-time correction so the user stays visually in place:\n\n```\n// Pose-local (applied before world-space rotation)\nls_comp += Q_ls_old * tracking_pos − Q_ls_new * tracking_pos\n\n// World-space (applied after world-space rotation)\nws_comp += Q_ws_old * (ls_ori * tracking_pos + ls_comp)\n         − Q_ws_new * (ls_ori * tracking_pos + ls_comp)\n```\n\nEach compensation vector accumulates over successive orientation changes and is reset by `resetPoseLocalOffset()` / `resetWorldSpaceOffset()`.\n\n### Billboard Reversal\n\n`update({ remote_camera_transforms })` composes the pose transform and then strips all rig layers from the world-space camera transforms to recover raw XR device poses for billboard placement. All steps run per-camera per-frame:\n\n**Position reversal:**\n\n1. Undo rig scale (`× scale`)\n2. Apply `inv(anchor)` matrix (world → anchor-local)\n3. Subtract additive offsets: `ws_pos`, `ws_comp`, `ls_pos`\n4. Apply `inv(ws_ori)` rotation\n5. Subtract `ls_comp`\n6. Apply `inv(ls_ori)` rotation\n7. Restore tracking normalization: `inv(init_ori) * pos + init_pos` (only when `originTransform` was provided)\n\n**Orientation reversal:** left-multiply `inv(anchor_ori)` → `inv(ws_ori)` → `inv(ls_ori)` → `inv(init_tracking_ori)` (if present)\n\n**Critical:** Additive offsets (step 3) must be subtracted **before** rotation reversal (step 4) because they are added _after_ rotation in forward composition.\n\n`remote_camera_transforms` is modified **in place** — consume values only after `update()` returns.\n\n---\n\n## Design Principles\n\n1. **Separation of Concerns**: Three independent layers (tracking, pose-local, world-space)\n2. **Dual Compensation**: Both pose-local and world-space orientation changes compensated automatically\n3. **Explicit Reversibility**: All transforms composable and reversed inside `update()` for billboard-ready camera poses\n4. **Explicit Signaling**: `markWorldSpaceOffsetOrientationChanged()` / `markPoseLocalOffsetOrientationChanged()` required before direct orientation mutation\n5. **Performance**: Compensation computed once per change; pre-allocated scratch vectors avoid per-frame GC pressure\n6. **Flexibility**: Direct entity access via `anchor_entity` and `pose_entity` for advanced use cases\n","readmeFilename":"README.md"}