{"_id":"@thi.ng/arcball","_rev":"26-ce8f5c41881ce9b3dbf0775bed3c7901","name":"@thi.ng/arcball","dist-tags":{"latest":"1.2.3"},"versions":{"1.1.1":{"name":"@thi.ng/arcball","version":"1.1.1","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.1","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"aa0ed069e0e7e46a4e0c9f2c9e15a5d86fe271d6","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.1.tgz","fileCount":5,"integrity":"sha512-Q2yDq8PMvHEG9yRCGTXUVNIjTakx+4A0cL3ssuZZwQnDua4fcX4TfvjFr7kozEmK991TLb340h1nuw7Sf5Ahdg==","signatures":[{"sig":"MEYCIQDDTrf+W1t0gFvJLTZzcH6YFIH6tKzcd9mfMF4m7LSjIAIhALUb5WVpEUrwwERzYPRkyavU438f0aY8mFIsivkWChFN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21068},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"fdca77cabf47dd23a9ab17a5ca13e3060075c12c\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.9","@thi.ng/vectors":"^8.6.14","@thi.ng/matrices":"^3.0.29"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.0","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.1_1764074324173_0.6133361593468074","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@thi.ng/arcball","version":"1.1.2","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.2","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"9a29390a3bec750d6c66f6452091cfc17d39b3a4","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.2.tgz","fileCount":5,"integrity":"sha512-+TZVcki9ZN1UMzD1MPesftPbYieb4ix1wnUpjp+FIUi1SlzMSxnxH8D9NJQ1UHGG/f2JVw0HFEcRCl61cwf+cw==","signatures":[{"sig":"MEUCIEhiSPk+I4DLFL4W17gIvj3xaGfdsduwoclnN4XslviJAiEAgrFvZG1jirUttOTW+Dhpw9DsbFFsOiMyxjCU9BFPpcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21069},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"824bf9047b5a10f777c5c5b4aeecf0c750a22c75\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.10","@thi.ng/vectors":"^8.6.15","@thi.ng/matrices":"^3.0.30"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.0","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.2_1764802923537_0.7108695261994671","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@thi.ng/arcball","version":"1.1.3","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.3","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"689e456c433adac2a522ac9f4ef6eac94706d21b","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.3.tgz","fileCount":5,"integrity":"sha512-4fnZ8b3PIfexnX5rEzSRpoWtaU38gNr0q4X6SEirXvStZibL9TqozGb/vBpuMomHKA9/y+0OteekCChCIlApGQ==","signatures":[{"sig":"MEQCICjtCmWjVV7UhUeZ7ZT5Suw0QFa4fVn5iXFV7+zaUdXnAiBw0tpUMtnAMpiuJAh8oPREupEjnpxNBVFwe9pYBNQuTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21069},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"8625a1c6383737a8fdbe7a3f96ea3cbabc957fa6\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.10","@thi.ng/vectors":"^8.6.16","@thi.ng/matrices":"^3.0.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.0","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.3_1765463190211_0.8747175423148841","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@thi.ng/arcball","version":"1.1.4","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.4","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"f50a6b49660aac1b962e01661b3a5855b129374a","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.4.tgz","fileCount":5,"integrity":"sha512-OuqjXCZXHNvp5QTui6+CvuUgyQyX8rJkaXFSEZBNnGmSKZnh7rLN2vBIiY4+OHBO+i8pJusN6bk/R2Xu0DU3yQ==","signatures":[{"sig":"MEUCIQCvVDhQckEHZlrVATbVug9J3JVyGRb+O9zCGnGzlAqtuwIgZ8c1LkrxE393we0nRrT8ZL7c8FZEvoJu1+HOTDYMX8Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21069},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"e7a21b9d2a188fa04d4c893d8531c40fbc0f4c06\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.11","@thi.ng/vectors":"^8.6.17","@thi.ng/matrices":"^3.0.32"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.0","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.4_1766679156078_0.8484218869401623","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@thi.ng/arcball","version":"1.1.5","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.5","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"637c3dcc3f5007b4159d5359f36bf0dcb17967bf","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.5.tgz","fileCount":5,"integrity":"sha512-xL9scnyQjPeaAiS9vWbBKicMjrmS41UvL1hOhZYQ2M7KkZRCz1gU+ZImqbCewNwEmxrqgKoijKrmJhDYpQgYug==","signatures":[{"sig":"MEYCIQDr+u6FHHHJ9WbZeVXWMgzI+So9/3CZlWr0r1mc5kOTEwIhAL5ZgvkVg5af23VW7lVyon4kB8C2xaJqXI8RuqEic7KD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21076},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"deb511294f7a120091b654af0ff7e8a399a465b3\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.12","@thi.ng/vectors":"^8.6.18","@thi.ng/matrices":"^3.0.33"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.0","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.5_1768564441899_0.5965563412816417","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@thi.ng/arcball","version":"1.1.6","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.6","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"8421da5f4caabedd888f0e3cfb13fd0ae08970c5","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.6.tgz","fileCount":5,"integrity":"sha512-+DTIEGU1P0PwACetXsjlkjnrC6K8wGDGOqkJ4GWaVY0fLA6N8hyihZtGMeKAFkWFa60vqDUD/luFeyVGeuqw+A==","signatures":[{"sig":"MEUCIHhLWAPH0PIB6eyLLgsbVE+JcMK/FNiW/4lTK9mUHxpxAiEA/405uz4a7EtcTDGRmFAA//nLNLUvXlAKS/7/mjmyHB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21076},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"828ec2e9ffde7307231b03cff46598c0915b1857\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.13","@thi.ng/vectors":"^8.6.19","@thi.ng/matrices":"^3.0.34"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.6_1769174636453_0.6825303910263099","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@thi.ng/arcball","version":"1.1.7","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.7","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"5181e34540f178e5992e6a2135ecdb5a3796616d","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.7.tgz","fileCount":5,"integrity":"sha512-NSsqFK/gCS+W/gM3qfodDlk4AnLWuniA7QVGDQ3tU1kzax/WcPIiLGp4tixFjeFynglQPeFM3l1Yr3V+cbALfg==","signatures":[{"sig":"MEUCIQDCH72Y3iGXM3k4YaVzSWTheUd7uxtyG3E+WnFfnZXppAIgNBPGQymwvHvrH26EdFOEa7gjqvvQx8cFjY8JIwH+jsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21115},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"4bd1b9d8ae52ba32b90a1b9a55d329c708ca7865\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.14","@thi.ng/vectors":"^8.6.20","@thi.ng/matrices":"^3.0.35"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.7_1770474558828_0.7000499690325583","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@thi.ng/arcball","version":"1.1.8","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.8","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"152006e25435634db45780cc1536cda226d67cb9","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.8.tgz","fileCount":5,"integrity":"sha512-9dTOnBKFm09Qt0bZMrzk+h8FGEw6CWidJ9ti7KZHU43YzajIvHb2stvMXTjLFlqeQw9hhl/gfc0KNawc4VYQMA==","signatures":[{"sig":"MEYCIQCcR3tMpXEFGx5hzYdWLibHlI7aLXofdWQvtT0loGwzAwIhAIDUz36JlpSzvQawbkX88yeiHWd5xRZVcWbYchNmIrkx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21115},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"8f50352caab9ec7757d645c0afa605dfb5427abe\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.15","@thi.ng/vectors":"^8.6.21","@thi.ng/matrices":"^3.0.36"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.8_1772875323053_0.4607249883465987","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@thi.ng/arcball","version":"1.1.9","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.9","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"4fbf4c3604662f254a0fad158deef4c381308b97","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.9.tgz","fileCount":5,"integrity":"sha512-aMjBMwXwBcW4Atg5GmKAAi0kThmsDLXOs5NTulj3VlR4BH0pU3G5vQkGcpv//Azi5eK/G5KcfId1m+XmktxXTg==","signatures":[{"sig":"MEUCIQDew0WXoXjLd0SrvozI8hzbb5p8ET6+m2FaVfULLmISOwIgUcs43hDDWCLsRJgpXGI0/Rz0owpf+hMExued5oee3Yw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21115},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"411adbeeb5c03da1cf0c86e567c80942a6b875e7\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.16","@thi.ng/vectors":"^8.6.22","@thi.ng/matrices":"^3.0.37"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.9_1772880186840_0.5272165910388853","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"@thi.ng/arcball","version":"1.1.10","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.10","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"42fc37b8595edae1b598272ea7116330d6c5eddf","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.10.tgz","fileCount":5,"integrity":"sha512-uzzK9A6s5UdGIlLppZptUC4EnRsYLZeubl9mp3i+W3RLI05OBDqjApnZWO9WrxS921IqOV9YfeuWm/Kr0fc+ig==","signatures":[{"sig":"MEUCIQDFT9T4zVBCRjUHMjf87Xn6LM1mFG8hI2d/T5BSX6It0wIgHlcgdPCbmU/AwG6OTA8YbLDZksZBSqtPY+QdFmECXA4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21116},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"7a21075f27ba00b28a6eb77e70918a4c7f4e6e68\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.16","@thi.ng/vectors":"^8.6.23","@thi.ng/matrices":"^3.0.38"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.10_1773223493884_0.7266655070158734","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"@thi.ng/arcball","version":"1.1.11","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.11","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"1e2adfc475aaed08cb79e241cae07e3305c139cd","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.11.tgz","fileCount":5,"integrity":"sha512-zhN7U1iuLH0ecMCl5gMYn9k3QVmXX7zPA10kwnBS4CuPPTzuQiPevsBsYlmuIOQ/K3fkqfgRyVQfQcfv+yZBtQ==","signatures":[{"sig":"MEQCIF1gGsIn//3wR4BrXZujjtl18ESvGaEEWqsVpdUVo4GDAiBYW4fFM2ahOXeg/DLaiw5OuO4/sLGdgWoNyFwLUzNVHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21116},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"1107498d31504dc63d1a457b5def387d7a134f69\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.17","@thi.ng/vectors":"^8.6.24","@thi.ng/matrices":"^3.0.39"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.11_1773923835589_0.8245063136054827","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"@thi.ng/arcball","version":"1.1.12","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.12","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"3d68fe0f977ea3a834832b4ef8cef09e9f8ec98c","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.12.tgz","fileCount":5,"integrity":"sha512-YvDUCm8SwBjcIcaM29lYQ5AIwcZMdqgaU2DKxPnQCNZTnGkxN18duEEBPhKYvqv7oemo7Uwd6A9mjaQJ16dsVg==","signatures":[{"sig":"MEUCICJd5xibeJTxl3Nf9DjfWBzyQQdwyTAKr12jSN9d99mNAiEApe8f+W7mwVDgO/pAF6I2+ZwZnKK5btWePnGTOrRxk0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21116},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"d46ec975b426bb2ceb137cab734395c97436d59b\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.17","@thi.ng/vectors":"^8.6.25","@thi.ng/matrices":"^3.0.40"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.12_1774085115465_0.2763268473272109","host":"s3://npm-registry-packages-npm-production"}},"1.1.13":{"name":"@thi.ng/arcball","version":"1.1.13","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.13","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"347a868b344b1a30bd2e4861f4242ad13634542a","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.13.tgz","fileCount":5,"integrity":"sha512-R9OypCeU4J68/TNkI9E1bzl23RLAtGDRzD5QblZ2orsNJFZRO4QG5m+JHdEGXadxbb3zhQmGbiaO9QObtCBH0Q==","signatures":[{"sig":"MEUCIQDwVwOSLmD2dqqUH6JHgHNEjj7SBT6N9k0dTvnS4l+nSwIgbW+L3PDbFaz2TGqbm9Z/QV768jbZOEUZQQmv6YaeKu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21206},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"8ddf86ea0a1e658ddbf19cc645b29d0c176e29c4\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.18","@thi.ng/vectors":"^8.6.26","@thi.ng/matrices":"^3.0.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.13_1775128131070_0.007250681207612741","host":"s3://npm-registry-packages-npm-production"}},"1.1.14":{"name":"@thi.ng/arcball","version":"1.1.14","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.14","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"bc31984bd2bf4dfb71de2c57d91c8f81ef39db9b","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.14.tgz","fileCount":5,"integrity":"sha512-hspoGSV8NJG/5aPvs6TJz9tckPJ3kNz3QvgucUvUqpLymkxBQW1I02O0+1DRtv9gGuwszHHx70Y+Gb/Dwyz8Hg==","signatures":[{"sig":"MEYCIQC3M19fW2+zxHWcWHZ8y2xbA98ipv6nYzc+4rLcwoem4AIhAIo0FCSJemGOtnw0Nb6rviPzMvVuNcTA21PrhGXp/6Mc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21206},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"929fb6590178a41cbb77cbb87e07c59c61381607\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.18","@thi.ng/vectors":"^8.6.27","@thi.ng/matrices":"^3.0.42"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.14_1775735584672_0.000449270258961576","host":"s3://npm-registry-packages-npm-production"}},"1.1.15":{"name":"@thi.ng/arcball","version":"1.1.15","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.15","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"494b0aa646ca31598e3a9cf37a768a9af7c0aa5c","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.15.tgz","fileCount":5,"integrity":"sha512-CE0ND6A0DxQRDtZL57LOnhhg/eltNo/EFVzLmnu6O9B07PxW1lh1JRn5HTu43hthhYWIs6tKYHxGsIh6Whge5A==","signatures":[{"sig":"MEQCIGdZulhLZflfC9VZCuyiwPJgWhaytBqDR8ZbPa26SSizAiAo48JCtMyF8U5ZVLqyi8+e7j7+q1mTtIxFFscOwkX16g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21204},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"a780d4a5f6f5fc595c9d28527686f63534927d32","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.19","@thi.ng/vectors":"^8.6.28","@thi.ng/matrices":"^3.0.43"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.18","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.15_1776512838845_0.6572792300649328","host":"s3://npm-registry-packages-npm-production"}},"1.1.16":{"name":"@thi.ng/arcball","version":"1.1.16","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.16","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"c73b43d25dec3de8c96f1e9d3d49df1e5abf9975","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.16.tgz","fileCount":5,"integrity":"sha512-OztfofvKvzRBu3UgbZFs0Yw7X4kSu8BR2Wr7mQ8Bqc2dKkQtQaR0KzzZVpqw3HwCoG/1UrJ3yECxf6GbxOIAvA==","signatures":[{"sig":"MEYCIQD8HOCnHPvBxP2I5tYPBKF4gHpzec3nQOF6jAJStSIGrwIhAK/uI4dEl5eXU5Nkz4OLZYitqe5Yv3rUomdWgX9oIUTK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21204},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"92be63f24030506f09d6d156804da2798c381dc4","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.20","@thi.ng/vectors":"^8.6.29","@thi.ng/matrices":"^3.0.44"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.18","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.16_1777222369315_0.1283364863959302","host":"s3://npm-registry-packages-npm-production"}},"1.1.18":{"name":"@thi.ng/arcball","version":"1.1.18","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.18","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"385c3211f4cafd9ffe31dce534f1db32b69f92ff","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.18.tgz","fileCount":5,"integrity":"sha512-OrBFNLmmqcJ1Tj9smpm3hi9wDBIx7Yl7i6tRHJqBArsTfi5nuAEB4FmwpE9ZbVIBZYxuIU7hkPbh3w8VXpQWMg==","signatures":[{"sig":"MEYCIQCOysQWO8xyugqKgCkVDUOabTvI106zH92KFfHURJmPVwIhAPg1c7Fi5jT1s7AfCwom4yrGkT2BUos8EqJd7T6MpR+E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21204},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"dcaa4e2beb427e434a68cba1259a9bf9983a569a","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.21","@thi.ng/vectors":"^8.6.31","@thi.ng/matrices":"^3.0.46"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.18","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.18_1778242128292_0.4757053576058934","host":"s3://npm-registry-packages-npm-production"}},"1.1.19":{"name":"@thi.ng/arcball","version":"1.1.19","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.19","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"79d9843efe474c791a46fea18276e4fd5a7d72d9","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.19.tgz","fileCount":5,"integrity":"sha512-2uMPkU3fxBuZ9KB7HvrZfr2gc8Ulg1uy5pN7jkaaNnoLg4zkx7MdLASs3CufSiXaIoZpRD+yITjopwuC4fnzFw==","signatures":[{"sig":"MEYCIQCaCM3eE96XpzLlqPAs+a76VO+mobwhWUlYJBydkZIc4wIhAMZothgSN+KXDwsqSVZn6w6MgjJsquCj50QzvRl/3MPD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21204},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"17d2d1a6542704f55f2daa37550a4213b4a32cd8","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.22","@thi.ng/vectors":"^8.6.32","@thi.ng/matrices":"^3.0.47"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.19_1778489594256_0.6257794808143076","host":"s3://npm-registry-packages-npm-production"}},"1.1.21":{"name":"@thi.ng/arcball","version":"1.1.21","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.21","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"a6a58ca577539411e7ab25781685251286e45fca","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.21.tgz","fileCount":5,"integrity":"sha512-tX0ciCJZJnc9p1TP0fwQpyBLOBRd++GTu75ifidkJGDIzZiROrRxLBy46RGCI4xOhGDwECpHIDMkEql8cf04ig==","signatures":[{"sig":"MEQCIGiEBKKeEP8SROGIe7Il6FMaEKs9SgzTd7IghFq0FeLsAiBLnqJ9rAmkFMgDXwi+P7PM6/0KmMP+9znJNd66iW96Zg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21252},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"b302822c51b2ab255f8f27f8dd010433d95f29df","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.24","@thi.ng/vectors":"^8.6.34","@thi.ng/matrices":"^3.0.49"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.21_1779277008489_0.5799771176588708","host":"s3://npm-registry-packages-npm-production"}},"1.1.22":{"name":"@thi.ng/arcball","version":"1.1.22","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.22","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"d99bafaa3ea60500b6fab8d0929f4bbe88e260f2","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.22.tgz","fileCount":5,"integrity":"sha512-zzG/M2PSsE+sfvkQK/xjm72vFokjBDkXpTEiUd87Nf7pIorIt8ayhrATVXxDgv3EzfzFXx/11Jx+dfzK2MLiSA==","signatures":[{"sig":"MEUCIGEmIt5+Kj8Nli/erDjD4X5FF97lRypRu5jRLbg8wCJAAiEAgPu2WfVroWnkCoh0xUVs0sOOwfjLFaLBcR+PmMUcdrk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21252},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"65b041e97110e16c01cf968949b72a0873f14445","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.25","@thi.ng/vectors":"^8.6.35","@thi.ng/matrices":"^3.0.50"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.22_1779541410908_0.6488624663475355","host":"s3://npm-registry-packages-npm-production"}},"1.1.23":{"name":"@thi.ng/arcball","version":"1.1.23","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.23","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"bb61f7210e3cda2b49f3b5b5c9c75e4609e17958","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.23.tgz","fileCount":5,"integrity":"sha512-dwHhNehmuq1w7TSCn2BYGHS4gHUa3E+XkxhnHLO4vWjvQJcoeyHhALq2LxLJHK20vEtitKd4mKqHOUl7dmq1cA==","signatures":[{"sig":"MEYCIQDnnOf3ujbTilkW4Wxj0C1WH/jO7vzTNgx2K/66YA98NgIhAOKqS+m1OrR7N+94CUP70c9NoaC4aqRbt4fbk45AaiAY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21252},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"c47c56420bcae2e0477d252a497be44f08ca185a","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.26","@thi.ng/vectors":"^8.6.36","@thi.ng/matrices":"^3.0.51"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.23_1780685215774_0.20933337902663252","host":"s3://npm-registry-packages-npm-production"}},"1.1.24":{"name":"@thi.ng/arcball","version":"1.1.24","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.1.24","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"1775ac53d0873c9b5e316d4ac40a93daea702667","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.1.24.tgz","fileCount":5,"integrity":"sha512-vzg6DZiPsQpUXrb4crQD/Nq/M7GlsC1G2EgjLuxQV1jpHeAJ4gJuXWAESqBqMgFP3n0OVIAd6aKwOUjdW5rZ5w==","signatures":[{"sig":"MEYCIQDukCkwcawgYh65a0jR5GR8/3P+DZR5i2lcPBrPUOkRUAIhANKZjzA+6hDcAg51aHwtJ6QPIVdfR9In4Ncygbn0llAG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21252},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"febee81fd8b59e5e330a6e6521a2667ed5401a3d","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.6.1","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.27","@thi.ng/vectors":"^8.6.37","@thi.ng/matrices":"^3.0.52"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.1.24_1783003033468_0.2372343795512657","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@thi.ng/arcball","version":"1.2.0","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.2.0","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"054c374244f8909842f5292a8806e01c14416620","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.2.0.tgz","fileCount":9,"integrity":"sha512-uij/jbh0mu1a+4FvyjTmPywEzDreZ9jCiLyQbJ6AnQcZq3nRw+VeHWENs/moFVifjuzlpZJw86NWZhTsjEi9Sw==","signatures":[{"sig":"MEUCIGu6g/U/8nRiibmV5MaodR+up8/XIizKKYNhSeCDd5QXAiEAxYrfyqODnbYIJr8lTuwn7Cv7WNZROL2RDKb+BBBxxwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23788},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"},"./arcball":{"default":"./arcball.js"},"./controller":{"default":"./controller.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"bc535a90970f96564cae15f1732b5fb8562135c4","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.17.0","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"@thi.ng/api":"^8.12.27","@thi.ng/vectors":"^8.6.37","@thi.ng/matrices":"^3.0.52","@thi.ng/rstream-gestures":"^5.0.178"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.2.0_1784234382326_0.7656318202921655","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@thi.ng/arcball","version":"1.2.1","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.2.1","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"1236a024b1be3e604793faa89e92462fab1fd8a6","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.2.1.tgz","fileCount":9,"integrity":"sha512-3i7jh3xqLgtQi0zm7Bt03WUw31DizpeY1Ruj3KiuCfqGRKbGEVqB0C3YShE+fy1GEwXacevaNfLlzz+UwnV/Zw==","signatures":[{"sig":"MEYCIQD8bUqYxd5V5WC+519QD5a/Kv4NCQr+JJJvjfiqsq7ZqwIhAJoff3nwyvU2XgR8HglbBbSCkSlij0M9ydtZCB4dUpeh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23788},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"},"./arcball":{"default":"./arcball.js"},"./controller":{"default":"./controller.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"6a4e7c564ebc476770d213d98a2aa6257a41ac15","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.17.0","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"@thi.ng/api":"^8.12.27","@thi.ng/vectors":"^8.6.38","@thi.ng/matrices":"^3.0.53","@thi.ng/rstream-gestures":"^5.0.179"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.2.1_1784646243453_0.12928658354321687","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@thi.ng/arcball","version":"1.2.2","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/arcball@1.2.2","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/arcball","dist":{"shasum":"7918cc70d31e8ff8f47486f8c290d6d3c0c73956","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.2.2.tgz","fileCount":9,"integrity":"sha512-/cIHmkvUvFOr2RmdYJF3buyIaNPnVGqDcgTDrVJ+Ca7KJDJlQO6JHlC8g0X6DAB0+M14xZ2EU2ly16zOu+WKGw==","signatures":[{"sig":"MEUCIQD/8UkaknxsG+x8zJlMKV7CmQecOTQgo+Nv4m8SlBYKGgIgMktSYUk1PA7NRcCetijG/s2qpU+1c/zrVdUucaJxKJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24125},"type":"module","module":"./index.js","thi.ng":{"year":2025},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"},"./arcball":{"default":"./arcball.js"},"./controller":{"default":"./controller.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"57ce96457ee0b8de5b17f9d371e6707780c64bd7","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/arcball"},"_npmVersion":"11.17.0","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"@thi.ng/api":"^8.12.28","@thi.ng/vectors":"^8.7.0","@thi.ng/matrices":"^3.0.54","@thi.ng/rstream-gestures":"^5.0.180"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.2","typedoc":"^0.28.20","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/arcball_1.2.2_1787678796004_0.24274455760716318","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@thi.ng/arcball","version":"1.2.3","description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","type":"module","module":"./index.js","typings":"./index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://codeberg.org/thi.ng/umbrella.git","directory":"packages/arcball"},"homepage":"https://thi.ng/arcball","funding":[{"type":"github","url":"https://github.com/sponsors/postspectacular"},{"type":"patreon","url":"https://patreon.com/thing_umbrella"},{"type":"liberapay","url":"https://liberapay.com/thi.ng"}],"author":{"name":"Karsten Schmidt","url":"https://thi.ng"},"license":"Apache-2.0","scripts":{"build":"yarn build:esbuild && yarn build:decl","build:decl":"tsc --declaration --emitDeclarationOnly","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts","clean":"bun ../../tools/src/clean-package.ts","doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","pub":"npm publish --access public","test":"bun test","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts"},"dependencies":{"@thi.ng/api":"^8.12.28","@thi.ng/matrices":"^3.0.54","@thi.ng/rstream-gestures":"^5.0.181","@thi.ng/vectors":"^8.7.0"},"devDependencies":{"esbuild":"^0.28.2","typedoc":"^0.28.20","typescript":"^6.0.3"},"keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"publishConfig":{"access":"public"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"},"./arcball":{"default":"./arcball.js"},"./controller":{"default":"./controller.js"}},"thi.ng":{"year":2025},"gitHead":"49f8f312fa00c4cb6c864b5c434eb34e774a168e","_id":"@thi.ng/arcball@1.2.3","_nodeVersion":"26.5.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-WwwEsaAMG+HwXP1ioCmVPYYEtky/rB6/af6lYdExsL9Ge+W1zkQrXdbMQz4gdBF/VWGh5TYR4zZhKs4ChQSmNQ==","shasum":"e509b973bd561632cd685e59dd2abc647f16311a","tarball":"https://registry.npmjs.org/@thi.ng/arcball/-/arcball-1.2.3.tgz","fileCount":9,"unpackedSize":24125,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCR08qjyEgzFFgPrq8nn3usAQutISxZAcuPFn8AvStPRwIhAJxbdpGB+mZFZbMzRGvXFwmNErB1BVCZMgvfCKFG2Uy4"}]},"_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"directories":{},"maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/arcball_1.2.3_1788260551408_0.18787532690123987"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-25T12:38:44.050Z","modified":"2026-09-01T11:02:31.736Z","1.1.1":"2025-11-25T12:38:44.351Z","1.1.2":"2025-12-03T23:02:03.699Z","1.1.3":"2025-12-11T14:26:30.447Z","1.1.4":"2025-12-25T16:12:36.207Z","1.1.5":"2026-01-16T11:54:02.042Z","1.1.6":"2026-01-23T13:23:56.605Z","1.1.7":"2026-02-07T14:29:19.029Z","1.1.8":"2026-03-07T09:22:03.211Z","1.1.9":"2026-03-07T10:43:06.997Z","1.1.10":"2026-03-11T10:04:54.033Z","1.1.11":"2026-03-19T12:37:15.719Z","1.1.12":"2026-03-21T09:25:15.604Z","1.1.13":"2026-04-02T11:08:51.206Z","1.1.14":"2026-04-09T11:53:04.808Z","1.1.15":"2026-04-18T11:47:18.992Z","1.1.16":"2026-04-26T16:52:49.501Z","1.1.18":"2026-05-08T12:08:48.430Z","1.1.19":"2026-05-11T08:53:14.378Z","1.1.21":"2026-05-20T11:36:48.686Z","1.1.22":"2026-05-23T13:03:31.109Z","1.1.23":"2026-06-05T18:46:55.972Z","1.1.24":"2026-07-02T14:37:13.610Z","1.2.0":"2026-07-16T20:39:42.460Z","1.2.1":"2026-07-21T15:04:03.619Z","1.2.2":"2026-08-25T17:26:36.153Z","1.2.3":"2026-09-01T11:02:31.559Z"},"author":{"name":"Karsten Schmidt","url":"https://thi.ng"},"license":"Apache-2.0","homepage":"https://thi.ng/arcball","keywords":["3d","arcball","gesture","interactive","matrix","quaternion","rotation","typescript","ui"],"repository":{"type":"git","url":"git+https://codeberg.org/thi.ng/umbrella.git","directory":"packages/arcball"},"description":"3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based.","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"readme":"<!-- This file is generated - DO NOT EDIT! -->\n<!-- Please see: https://codeberg.org/thi.ng/umbrella/src/branch/develop/CONTRIBUTING.md#changes-to-readme-files -->\n# ![@thi.ng/arcball](https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/banners/thing-arcball.svg?57164613)\n\n[![npm version](https://img.shields.io/npm/v/@thi.ng/arcball.svg)](https://www.npmjs.com/package/@thi.ng/arcball)\n![npm downloads](https://img.shields.io/npm/dm/@thi.ng/arcball.svg)\n[![Mastodon Follow](https://img.shields.io/mastodon/follow/109331703950160316?domain=https%3A%2F%2Fmastodon.thi.ng&style=social)](https://mastodon.thi.ng/@toxi)\n\n> [!NOTE]\n\n> This is one of 217 standalone projects. LLM-free, human-made and\n> cared for software, maintained as part of the\n> [@thi.ng/umbrella](https://codeberg.org/thi.ng/umbrella/) ecosystem and\n> anti-framework.\n>\n> 🚀 Please help me to work full-time on these projects by [sponsoring\n> me](https://codeberg.org/thi.ng/umbrella/src/branch/develop/CONTRIBUTING.md#donations).\n> Thank you! ❤️\n\n- [About](#about)\n- [Status](#status)\n- [Installation](#installation)\n- [Dependencies](#dependencies)\n- [Usage examples](#usage-examples)\n- [API](#api)\n- [Authors](#authors)\n- [License](#license)\n\n## About\n\n3D arcball controller for intuitive click & drag gesture-based camera view rotations. Quaternion-based..\n\nPorted from:\nhttps://github.com/thi-ng/geom/blob/feature/no-org/src/thi/ng/geom/gl/arcball.cljc\n\nWhich itself is based on:\n\n\"ARCBALL: A User Interface for Specifying Three-Dimensional Orientation Using a Mouse\" by Ken Shoemake\nhttps://www.talisman.org/~erlkonig/misc/shoemake92-arcball.pdf\n\n## Status\n\n**STABLE** - used in production\n\n[Search or submit any issues for this package](https://codeberg.org/thi.ng/umbrella/issues?q=%5Barcball%5D)\n\n## Installation\n\n```bash\nyarn add @thi.ng/arcball\n```\n\nESM import:\n\n```ts\nimport * as arc from \"@thi.ng/arcball\";\n```\n\nBrowser ESM import:\n\n```html\n<script type=\"module\" src=\"https://esm.run/@thi.ng/arcball\"></script>\n```\n\n[JSDelivr documentation](https://www.jsdelivr.com/)\n\nFor Node.js REPL:\n\n```js\nconst arc = await import(\"@thi.ng/arcball\");\n```\n\nPackage sizes (brotli'd, pre-treeshake): ESM: 812 bytes\n\n## Dependencies\n\n- [@thi.ng/api](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/api)\n- [@thi.ng/matrices](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/matrices)\n- [@thi.ng/rstream-gestures](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/rstream-gestures)\n- [@thi.ng/vectors](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/vectors)\n\nNote: @thi.ng/api is in _most_ cases a type-only import (not used at runtime)\n\nThe `thi.ng/rstream-gestures` dependency is only needed when using\n[`defArcballController()`](https://docs.thi.ng/umbrella/arcball/functions/defArcballController.html).\n\n## Usage examples\n\nThree projects in this repo's\n[/examples](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples)\ndirectory are using this package:\n\n| Screenshot                                                                                                         | Description                                                       | Live demo                                           | Source                                                                                   |\n|:-------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------|:----------------------------------------------------|:-----------------------------------------------------------------------------------------|\n| <img src=\"https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/webgl-cube.png\" width=\"240\"/>  | 3D arcball controller to rotate the camera view of a colored cube | [Demo](https://demo.thi.ng/umbrella/webgl-arcball/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/webgl-arcball) |\n| <img src=\"https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/webgl-mesh.avif\" width=\"240\"/> | Basic thi.ng/geom-mesh creation and conversion from OBJ import    | [Demo](https://demo.thi.ng/umbrella/webgl-mesh/)    | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/webgl-mesh)    |\n| <img src=\"https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/webgl-obj.avif\" width=\"240\"/>  | Basic 3D OBJ model loading & interactive arcball camera control   | [Demo](https://demo.thi.ng/umbrella/webgl-obj/)     | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/webgl-obj)     |\n\n## API\n\n[Generated API docs](https://docs.thi.ng/umbrella/arcball/)\n\nTODO\n\n## Authors\n\n- [Karsten Schmidt](https://thi.ng)\n\nIf this project contributes to an academic publication, please cite it as:\n\n```bibtex\n@misc{thing-arcball,\n  title = \"@thi.ng/arcball\",\n  author = \"Karsten Schmidt\",\n  note = \"https://thi.ng/arcball\",\n  year = 2025\n}\n```\n\n## License\n\n&copy; 2025 - 2026 Karsten Schmidt // Apache License 2.0\n","readmeFilename":"README.md"}