{"_id":"@objectifthunes/three-book","_rev":"30-50b4c50570c33511f95edb6e222c2262","name":"@objectifthunes/three-book","dist-tags":{"latest":"0.8.1"},"versions":{"0.1.0":{"name":"@objectifthunes/three-book","version":"0.1.0","_id":"@objectifthunes/three-book@0.1.0","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"6c92104a1d56839a67ee9c656fe7c32d37548add","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.1.0.tgz","fileCount":56,"integrity":"sha512-1eQ91QwcQVt10ZPUJPXJBgQgrxKvXOsKV1OtTV2J+1AhkIeK8SiWmMgW92sLdZCdPCiXsgHuUaEUiiYHYSYnVA==","signatures":[{"sig":"MEUCIFqR0eJKWkO4NhaFGGgF8KOHvvZzxltlG+mLGv7TtLtjAiEAu9VGo+p4uCX3BJ2BEED8HqiRnhWpo4OdzJhoLLhUpWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192049},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/a96019a4efb3c2d1cc71db641394c29f/objectifthunes-three-book-0.1.0.tgz","_integrity":"sha512-1eQ91QwcQVt10ZPUJPXJBgQgrxKvXOsKV1OtTV2J+1AhkIeK8SiWmMgW92sLdZCdPCiXsgHuUaEUiiYHYSYnVA==","_npmVersion":"11.7.0","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.1.0_1773012199703_0.05563137655383943","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@objectifthunes/three-book","version":"0.1.1","_id":"@objectifthunes/three-book@0.1.1","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"aad7222af51220dd29ba1db6f66a8aed00d1f00c","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.1.1.tgz","fileCount":57,"integrity":"sha512-tekcGlQaeTtyu69PbAca1kKTFcgdL66DGITX3/8XGqFp/5a3OfJ4vNufNrHBaxQ5had2juq4DD5SiuA058adAg==","signatures":[{"sig":"MEUCIH14R1Q8VuUtaW5AgeKCCFaHoIjrkXhIlEaJuUlcmnD7AiEAogkQqtcxdWUNJGX4L+9e/ngp2gkrZhl6tgWequQnzX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196117},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.1.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/69562ae9d8b209da2f87f1a6bc70a280/objectifthunes-three-book-0.1.1.tgz","_integrity":"sha512-tekcGlQaeTtyu69PbAca1kKTFcgdL66DGITX3/8XGqFp/5a3OfJ4vNufNrHBaxQ5had2juq4DD5SiuA058adAg==","_npmVersion":"11.7.0","description":"Procedural, interactive 3D book component for Three.js, ported from the Unity Procedural Book plugin.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.1.1_1773012343440_0.2009482392470252","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@objectifthunes/three-book","version":"0.1.2","_id":"@objectifthunes/three-book@0.1.2","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"17440d03c7294e2661dbbd79f9180b41e4246d58","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.1.2.tgz","fileCount":57,"integrity":"sha512-Gycsw6OwwxD2EJnTp0WY6I9gP5p1FObBQZU2Hc6pGZbABQ7borHl0L5IzTd+266uSVBZbpnWLES6k2pjY9Wq7Q==","signatures":[{"sig":"MEUCIA/i+k8ndoni+TDobbuO4UwLhAVa1eOpqkuNb72RtsirAiEA90B4RITbbqMs8XQGP9CXqXmqpJYX5tzkrBVet5Vro3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196070},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.1.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/9df171e257d2a2f12dab0cb2ef55b6b1/objectifthunes-three-book-0.1.2.tgz","_integrity":"sha512-Gycsw6OwwxD2EJnTp0WY6I9gP5p1FObBQZU2Hc6pGZbABQ7borHl0L5IzTd+266uSVBZbpnWLES6k2pjY9Wq7Q==","_npmVersion":"11.7.0","description":"Procedural, interactive 3D book component for Three.js.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.1.2_1773012540610_0.5646971375708691","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@objectifthunes/three-book","version":"0.1.3","_id":"@objectifthunes/three-book@0.1.3","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"be052196f3908f7577702681b7cd678ee4e6b8c1","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.1.3.tgz","fileCount":57,"integrity":"sha512-+mOFmZJyPg/Iq7sr3Tn4FTntiPrVUyqPq2wwSxFzONc80Eyoh7tYfHFLPXqr58R4kCm4vxITCDsSRP7fmU49fw==","signatures":[{"sig":"MEUCIEHA7/viQOQGFhh1RXYAaEcykbkZDAetmPdC+32daQZpAiEAtjPsFf45cQ7suF5o2T3b6+vs6QO1B7YsiFsPYjAAby4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196791},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"49e9bf2b64d3727c906e56a3de6162e498bd1038","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.1.3_1773022596756_0.8311211602719282","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@objectifthunes/three-book","version":"0.1.4","_id":"@objectifthunes/three-book@0.1.4","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"1322594224dde1073e881a0979f44fe8ef53c1ac","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.1.4.tgz","fileCount":57,"integrity":"sha512-9rQ1WG9aZu79kNg6RvO/tmdXRee+NvA22eQUp9mJoM7XjI9pPorc5z4BGHsjx/B4100khGvBD77FXjg8SbuaWg==","signatures":[{"sig":"MEQCIEMfqWaL8zvBzyrol9d1GB51Z/rN422HMboxcixp7hkQAiAzfUCTwWoSJ/bEBANW5FgvnwX3TJyT28hQXyLoZBzY+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196999},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8ed65bdf9b2a3e252ba99046ab094d2fca0aeff7","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.1.4_1773022853811_0.5272752356641746","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@objectifthunes/three-book","version":"0.1.5","_id":"@objectifthunes/three-book@0.1.5","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"32c48dc7330a2048d0d1768281914922955977a8","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.1.5.tgz","fileCount":59,"integrity":"sha512-vUKedROJmu1tgc8S170BjkZ34lewPR4P21hozn1CevMrkv3NVMBNt7MbpJPVGkWbmhbNYc1eeP8yMD2LUhC/YA==","signatures":[{"sig":"MEQCIDKzNxDdTSWwKo9d8H9zbjHPKq6ABRNI6MDxj5wAiDnxAiB3SsBC3fTQoyRHpO71lx0Z6P4iV2OWtYHFmd4tTvr7dA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200721},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0fa4933007ffd85a6fc61d522889278ae09349fc","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.1.5_1773044535426_0.18414279013344914","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@objectifthunes/three-book","version":"0.2.0","_id":"@objectifthunes/three-book@0.2.0","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"def6a6d44585a7217efc32cde7834dd5d97f475b","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.2.0.tgz","fileCount":65,"integrity":"sha512-9OjQ5qLun3PiPcfdAIgd2cBOjziGhQiiSE3OmDPD524Af8LGkg8pcPTz9jSr2rA0vjAqPheCS4dq1SEvZyJ37w==","signatures":[{"sig":"MEUCICFPrx5S1EYUH/68LXv6f55BafFlb9m4iBK3CLZRk926AiEA8KDFkfjZYBWd91ZaVyUBJLuAMrCZheblbaQNuTPsO50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220984},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0e6e72dd8efc1f0f6f20b4877b21fd312f79ce55","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.2.0_1773731045232_0.8035785066206333","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@objectifthunes/three-book","version":"0.2.1","_id":"@objectifthunes/three-book@0.2.1","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"b8a467b977311661af29487a4a1e02d88b703e1c","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.2.1.tgz","fileCount":65,"integrity":"sha512-LKszZuinLzm7EV7AsfTgvMwqUpMOO22Ht7skBxqw/Qw+9O5eZFuc+t1J7P1LE07/MraWkj8xI5FwxjWO2W/cpA==","signatures":[{"sig":"MEQCIDY0fdTjr+cctpw38Ey3kj26e3cQwEU1I6Y7kh7yOhstAiAi8MvnAwqwRfkpIyIqWL3Ds0+z5iask8M26r+xL6zFVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220984},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9c45b7b9d00d8f9479d62661187ef8f678f52480","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.2.1_1773741499764_0.9079080736750194","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@objectifthunes/three-book","version":"0.2.2","_id":"@objectifthunes/three-book@0.2.2","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"e9039bdd3fedabe1e3d0349dfc1bb3f3669b1ae9","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.2.2.tgz","fileCount":67,"integrity":"sha512-iJrdBfhfur0ErmCAW01w5OmymoR+x79zhzF3nVNs5Ye8SE9R8k5E+q4OO95JLx/gFMxfoTl4wcho2X1umnXm6A==","signatures":[{"sig":"MEQCIGf32im706V5/ShUG2IRP7j2XFYvm4A+Qxbe9NgchxLNAiAOm6HsbZP6AHFc35sbmHD/UxDdXJPov59RJ1Hjq7CBMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229661},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"00e89705b86178998a611b940d5f69bf321702b1","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.2.2_1773796925544_0.5597564672636293","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@objectifthunes/three-book","version":"0.3.0","_id":"@objectifthunes/three-book@0.3.0","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"15fef344ec2c3fd9670c2c23b721f6efb0325448","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.3.0.tgz","fileCount":67,"integrity":"sha512-QzgUPF/l2T61EgHpQO7eX67z6MYO7pj2CzceBpWynvJg2FuOjbeGbUb+dph60TTDpBvFkfsHGNeVCIyvbJ8OGA==","signatures":[{"sig":"MEYCIQD3PJPHEgjSHNMI2BHHMwGRQJhgPZX0dsd7wjZVhDvYwwIhAMmiGYLlBood/5IKcBqsiuc/Tn61UIvd03xUdcr46lzp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232268},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.3.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/08e5820555789b5280f3cf1d57b4f7b0/objectifthunes-three-book-0.3.0.tgz","_integrity":"sha512-QzgUPF/l2T61EgHpQO7eX67z6MYO7pj2CzceBpWynvJg2FuOjbeGbUb+dph60TTDpBvFkfsHGNeVCIyvbJ8OGA==","_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.3.0_1773906857432_0.1617217531181152","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@objectifthunes/three-book","version":"0.3.1","_id":"@objectifthunes/three-book@0.3.1","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"0d89b6b8afd9ef01412c2acec99b277eed9494cc","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.3.1.tgz","fileCount":67,"integrity":"sha512-/YcQXhFVA+ERLvqLPws0OfIxNfeMMfvedpYXyeITVh06VZOTwZMg+cHzx0geY4GssLOvK6gdwrTooJAqmra6VA==","signatures":[{"sig":"MEQCIEm1lzK3aMo2B5T8h7z8oH9fWjICq/yK7BWhYIj7B4g9AiBthVzFWZNaJgl9SWhYuquy4zaICrxHB8i/+lkml10rcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232333},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7d9d564d9ed7af0e22a5c6b3744beb3f1fcc9c42","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.3.1_1773972535049_0.3803326965023166","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@objectifthunes/three-book","version":"0.4.0","_id":"@objectifthunes/three-book@0.4.0","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"056b96d650dbf4497ca9bcd37941016f6532f9a0","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.4.0.tgz","fileCount":67,"integrity":"sha512-cF9veYgc53hqBBsqFz8EcapzYSJOPqllgc+9q76SPMTBW5Q2DxIKSrnoE3pT9u+VceU8FxDKe/0SU9UzoKkhYQ==","signatures":[{"sig":"MEYCIQCLhe/6XLgZg35o3BCarsNALbX4TITZaj0KT+vA6d7Y6QIhAJ/J9Ow5su5YS4aWidUXuETTDyd6FCLXBLPyVrVl/lJp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235484},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.4.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/e952f364161cc50af312e4b0f142d7b9/objectifthunes-three-book-0.4.0.tgz","_integrity":"sha512-cF9veYgc53hqBBsqFz8EcapzYSJOPqllgc+9q76SPMTBW5Q2DxIKSrnoE3pT9u+VceU8FxDKe/0SU9UzoKkhYQ==","_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.4.0_1773993972150_0.191848998106396","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@objectifthunes/three-book","version":"0.4.1","_id":"@objectifthunes/three-book@0.4.1","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"606de8c4bf64fe20df684750a02ab3d496c8f1e3","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.4.1.tgz","fileCount":71,"integrity":"sha512-UREX6AMwrDwuk9bXqNG+Eucq4x9jn6erwagVGfZXHgWm9cFytC2MD5PIBhHBVdwtCHvbXmu4P6yKEfFK7mR4jg==","signatures":[{"sig":"MEYCIQCQwbHzMdUeoLfOl1T1oWYNlWt/zvovvSOohs+SqhFRWAIhAO/JvOd0b/eRaz01BUb32apQje67SpVDF59zuKK9/2DB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238858},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.4.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/ce33b4151c57a697530adf370c2c249c/objectifthunes-three-book-0.4.1.tgz","_integrity":"sha512-UREX6AMwrDwuk9bXqNG+Eucq4x9jn6erwagVGfZXHgWm9cFytC2MD5PIBhHBVdwtCHvbXmu4P6yKEfFK7mR4jg==","_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.4.1_1774057509708_0.4791831744735595","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@objectifthunes/three-book","version":"0.4.2","_id":"@objectifthunes/three-book@0.4.2","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"a5f53a483a366737281fd981cb3840558bcde94d","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.4.2.tgz","fileCount":71,"integrity":"sha512-3SGlb1PXXocD8PPIS0QJKwbbS+kwDRkD4hnN6YtseqxxuHzQ2PsGUDQUQXJnJFu65sG59MmYs6F7/rSRMN2qhw==","signatures":[{"sig":"MEYCIQCkZ9p/EpZRk70JjySm3xL3w/Ja7HgNtoCzLuLUWBrJRgIhAM84oQHldHOJqzBt24zJEhMWnSdvC45hISbRc7J/mfTi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240356},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.4.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/5f3d69a8f85023ac7c9aee143c3162d3/objectifthunes-three-book-0.4.2.tgz","_integrity":"sha512-3SGlb1PXXocD8PPIS0QJKwbbS+kwDRkD4hnN6YtseqxxuHzQ2PsGUDQUQXJnJFu65sG59MmYs6F7/rSRMN2qhw==","_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.4.2_1774061013100_0.8123307645403994","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@objectifthunes/three-book","version":"0.5.0","_id":"@objectifthunes/three-book@0.5.0","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"6df23acf4e1442762bcfe1248d75c8dfbf1aa994","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.5.0.tgz","fileCount":71,"integrity":"sha512-XqrhgyysVnjWKVZ6JknIe/qerx+DxuyK6vAbdhfyE9gEulri5o6426d1iWe7TueCl0RbMPIA6jMaNii6cPrtJg==","signatures":[{"sig":"MEQCIDWm06nlVamdLKscY6PIjeD35bxTh1Gy9hxJOPeOOed3AiAuh3fFPpIjRaEJp6nl350BmqJvxDksnfLdxz+UvLOemg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240878},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8c9ecaa0e96c4ddefbaf97ce7dc5572c6cf7b993","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.5.0_1774149214717_0.506481715509729","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@objectifthunes/three-book","version":"0.5.1","_id":"@objectifthunes/three-book@0.5.1","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"34df762c2583c11211131ac40db76607038f9733","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.5.1.tgz","fileCount":71,"integrity":"sha512-LHXowiqgIn8iQ29y5fGZpg4o9vahxhs0ORqSDIHAXs30hMwHEk5SnCdOvLzujMbDEeXIQq0CJdamenbRICZkwQ==","signatures":[{"sig":"MEUCIC7vPWNWMkqiWKW/BjwWR26A/f934h0lkXOiTr00AnunAiEAxJpHM655cn4v5XFwf2VfUKc7bv57xWEXO7YpixY78QA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241275},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.5.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/5b3beb9466c5a6edba396ed7b7e93f6c/objectifthunes-three-book-0.5.1.tgz","_integrity":"sha512-LHXowiqgIn8iQ29y5fGZpg4o9vahxhs0ORqSDIHAXs30hMwHEk5SnCdOvLzujMbDEeXIQq0CJdamenbRICZkwQ==","_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.5.1_1774172721626_0.4073767117931866","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@objectifthunes/three-book","version":"0.5.2","_id":"@objectifthunes/three-book@0.5.2","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"a5ffca14e2ac1476ea0d97b75c1b10f96db4f417","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.5.2.tgz","fileCount":71,"integrity":"sha512-135HeRSQU9YjFCuxpOSHlTQc0Ix7J/13emSowp3v8poBoJXl9FWci7iiKk6UbDP3muZ5NxCWF+57IfIr6MTTRA==","signatures":[{"sig":"MEUCIQCswGz+5FpxJadOs5QgTOdy1y0frnNHVNur5twBK+yXXwIgUUDhR4wGgGEdQzf09vAKxV6q1KX9HkQU3ZpIxYxnmok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242918},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.5.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/fd68dd00ff29ba5009c23b87fe5019ec/objectifthunes-three-book-0.5.2.tgz","_integrity":"sha512-135HeRSQU9YjFCuxpOSHlTQc0Ix7J/13emSowp3v8poBoJXl9FWci7iiKk6UbDP3muZ5NxCWF+57IfIr6MTTRA==","_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.5.2_1774175923316_0.621829162549693","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@objectifthunes/three-book","version":"0.5.3","_id":"@objectifthunes/three-book@0.5.3","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"7283c63394b07fc8f3c3336ff6f0b49e7600e159","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.5.3.tgz","fileCount":71,"integrity":"sha512-3p7+va5jujd2InsNGeT0srs2Mo/OEIkG+2cPpdTxhADaqVZznVAydxExuMwCe+xPUrNlhK3BdyVwWGb3/yYx8Q==","signatures":[{"sig":"MEUCIEA/j40A5iTn8KR+wRGPd8XFxmP40tobBDAf9hGfV61tAiEA+JlmPJHYINPmZYkzNoDQEI5Agmu3NgaayPn1qUwe9V8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242918},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.5.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/008ec9e6a64fdfd7e6e02f708ff185ab/objectifthunes-three-book-0.5.3.tgz","_integrity":"sha512-3p7+va5jujd2InsNGeT0srs2Mo/OEIkG+2cPpdTxhADaqVZznVAydxExuMwCe+xPUrNlhK3BdyVwWGb3/yYx8Q==","_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.5.3_1774217514821_0.789918693583666","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@objectifthunes/three-book","version":"0.5.4","_id":"@objectifthunes/three-book@0.5.4","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"4bb4e628721c6a784d780498af87ba3957db26ab","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.5.4.tgz","fileCount":71,"integrity":"sha512-F13m4pYysnmAvacdOeOMWSbCJs6cvMKuDcKl/HQSr/L/i4XBizDSrF61WjL0BhNlOkDEsXQ+YcQP7Z9qyWXGfA==","signatures":[{"sig":"MEUCIH2b80VZJX1P7kCgwcFUz8+DMustaqCEX46t9u93kulNAiEAsspgR3wSYP5T9AQuLc+PMPaxSmZcCTsZIl03Bkp5ssQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":244102},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"47bfa08cec43ab32ec350fde4c40b53bee187ad7","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.5.4_1774222297634_0.8186993472224033","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@objectifthunes/three-book","version":"0.5.5","_id":"@objectifthunes/three-book@0.5.5","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"9e9d525491392ac5dc5b2e3c017912423805ad28","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.5.5.tgz","fileCount":71,"integrity":"sha512-CyVUws8bgI8g3QAVwUV5zbZ0VusHFUq/SrwWO7DR63FCm2hjl99pazLnCXyYcvHORAmctacEpie1UagOiHVbrg==","signatures":[{"sig":"MEUCIQD9U0O2JGwEpmk7CSwdzfPBUBg1Zbt5a2pDQlnMfcj31AIgEJnkxDHyo6RUrY7qyuv4uJaoWyAVS71OUzRjLHq6R2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":244037},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.5.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/67eccd6ec92b9baaaf2e495ce101acc6/objectifthunes-three-book-0.5.5.tgz","_integrity":"sha512-CyVUws8bgI8g3QAVwUV5zbZ0VusHFUq/SrwWO7DR63FCm2hjl99pazLnCXyYcvHORAmctacEpie1UagOiHVbrg==","_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.5.5_1774318464220_0.4595941005060862","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@objectifthunes/three-book","version":"0.5.6","_id":"@objectifthunes/three-book@0.5.6","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"e11d0c79a8c7bdb0d9ba0a79e78c10343638c5d4","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.5.6.tgz","fileCount":72,"integrity":"sha512-/2WmzsidcCkRNEyADJHORLm75FGe8muDU5vdcnNGBFFCsUxEwZb9Xw3XnZOmV1F8S7+sKv1kKEHYNDSk+UTIAA==","signatures":[{"sig":"MEYCIQClm3I3s7CpQs3hqu8e3eVoJpxKqtf0dP6I8mqu2A5u3QIhAO62KsRA01h2vVmgGyWBnjPAZTEYdgZhcLAYiEOoktsn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256817},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./demo.css":"./demo.css"},"gitHead":"ccb463cb71c4cd80bf5900c173ebcfd179d07cee","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.5.6_1774419371789_0.38660643031129927","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"@objectifthunes/three-book","version":"0.5.7","_id":"@objectifthunes/three-book@0.5.7","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"0e8bc189f5f14be4df6ae4c44a78adbc02c7767b","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.5.7.tgz","fileCount":74,"integrity":"sha512-NbxdX2TdgFDSStPfshbS4P6yNX87x+40PPcKWs/RrN7lYFK+cM7aulYbmVrKzKAsjDIieEJgFjwals4OnN3wqw==","signatures":[{"sig":"MEUCIQCF2cQGyAvy4OgMaSefLNIwfB4UnB6hqfyHPz2P8antvAIgdWk5HuFq8VbNpNM3Jo+JqYp/0T8aJcyL56RAUd3rOoU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309776},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./demo-kit":{"types":"./demo-kit/dist/index.d.ts","import":"./demo-kit/dist/index.js"},"./demo.css":"./demo.css"},"gitHead":"ccb463cb71c4cd80bf5900c173ebcfd179d07cee","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build && pnpm run build:demo-kit","typecheck":"tsc --noEmit","build:demo-kit":"cd demo-kit && vite build"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.5.7_1774422770395_0.5897261226237864","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"@objectifthunes/three-book","version":"0.5.8","license":"MIT","_id":"@objectifthunes/three-book@0.5.8","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"6aa771529895380df2971b9d2368f3daabd3acce","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.5.8.tgz","fileCount":74,"integrity":"sha512-xa7plb7TuqRm5R/QgbNYkINOu84ASILFW4yvz/L5AYM8MjQOg56PPqb8WTtlNMibe6ddWZhGd1VypG2qpG7iRA==","signatures":[{"sig":"MEUCIHJT46lyFMd+kwn19LA3MQ1Z9JmPXUSePWrLlI3U04nRAiEAlb3LTWPdzrp0KdG7urDebri6+EYHVRLRETz8lL/8yKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316501},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./demo-kit":{"types":"./demo-kit/dist/index.d.ts","import":"./demo-kit/dist/index.js"},"./demo.css":"./demo.css"},"gitHead":"87264cdf9fbd85943d1c973e764a3fb7a5609920","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build && pnpm run build:demo-kit","typecheck":"tsc --noEmit","build:demo-kit":"cd demo-kit && vite build"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.7.0","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.5.8_1774433978714_0.5350142362440449","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"@objectifthunes/three-book","version":"0.5.9","license":"UNLICENSED","_id":"@objectifthunes/three-book@0.5.9","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"c983c5a026a624e28dfd6bad6ee7218fddca5ed1","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.5.9.tgz","fileCount":74,"integrity":"sha512-/MEUv30BqyUcIVjupak9q8xHLtyp+AqTDx3FuYtjoAb4bBPjsPlXkyqkEIXwW04AgB0dhzeG9bOtd12ARC7lfQ==","signatures":[{"sig":"MEUCIQDNVG5AUN5qOq0vEkxRWP5MR2TaZSHtawcp+ky9Wu594QIgfR+HFQn8gNZNT2PJ31LozwwpEIzRMtcYlUTZNltWV7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316508},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./demo-kit":{"types":"./demo-kit/dist/index.d.ts","import":"./demo-kit/dist/index.js"},"./demo.css":"./demo.css"},"gitHead":"936d3e4cfc25e8e308c1266aa998d03ee1a59fd3","scripts":{"build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build && pnpm run build:demo-kit","typecheck":"tsc --noEmit","build:demo-kit":"cd demo-kit && vite build"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.12.1","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.5.9_1782121686883_0.6703128759485002","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@objectifthunes/three-book","version":"0.6.0","license":"UNLICENSED","_id":"@objectifthunes/three-book@0.6.0","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"27ebfb20f2f1851ce1786a8217b70acc60b8345c","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.6.0.tgz","fileCount":76,"integrity":"sha512-OtKu5m1EZVm4P/zZarfkh2nST1MCs/L3hY33zGSAwCe30Fi4I9Pex0t8Dv9gRCbzX6KRAAh2+G5K1s3+MHgJ3A==","signatures":[{"sig":"MEUCIGEMMnoha4StpAjAZ0lEg2PPCTY2kTjORJeS/KmhgCsXAiEAsGak1KWe1O5xvnysFx8Dmfp9nIIYkamc+hm+wqPA8N4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":349938},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./demo-kit":{"types":"./demo-kit/dist/index.d.ts","import":"./demo-kit/dist/index.js"},"./demo.css":"./demo.css"},"gitHead":"7c745eac2b5e0de1b6e0317ca094e2d8682fed89","scripts":{"dev":"vite dev dev --config dev/vite.config.mjs","build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build && pnpm run build:demo-kit","typecheck":"tsc --noEmit","build:demo-kit":"cd demo-kit && vite build"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.12.1","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.6.0_1783493103592_0.25141131126319016","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@objectifthunes/three-book","version":"0.7.0","license":"UNLICENSED","_id":"@objectifthunes/three-book@0.7.0","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"98501c5fe97fc89d312d0954f6cd383ed0206e7a","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.7.0.tgz","fileCount":76,"integrity":"sha512-gdyb8WLAlNAgodLEnW+/kB8M6Y/3WZ2hKRl2pooxcWKOiIw+hpoOosBxz9HpMnL5fkKYeUA7k9TzRq/VR/COiA==","signatures":[{"sig":"MEUCIGXIEuqJSoHb/hSBVtoP6x1y7KYeDZ+gn3Sqkc4P6uLEAiEAjaZZj/KmVwtlOFR+L9uDsHBFvloMNp/9kUBjnyHI62I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":349852},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./demo-kit":{"types":"./demo-kit/dist/index.d.ts","import":"./demo-kit/dist/index.js"},"./demo.css":"./demo.css"},"gitHead":"8ae1aaad1b2bdf8d0cd1414fa45d3ec982f6c07e","scripts":{"dev":"vite dev dev --config dev/vite.config.mjs","build":"vite build && tsc --emitDeclarationOnly","prepack":"pnpm run build && pnpm run build:demo-kit","typecheck":"tsc --noEmit","build:demo-kit":"cd demo-kit && vite build"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_npmVersion":"11.12.1","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.7.0_1783495979322_0.4651706017568349","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@objectifthunes/three-book","version":"0.8.0","license":"UNLICENSED","_id":"@objectifthunes/three-book@0.8.0","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"dist":{"shasum":"0afc0175076476d0488ab44f571ab7a916365252","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.8.0.tgz","fileCount":76,"integrity":"sha512-TUS6EQGiV43uaKS/L3lrldTDS1y9LbkxHivbJfbB1Cu6TvYAmHYaIyxW+LyHfzJCz4L6nx6KZvDVdesY/IzTjA==","signatures":[{"sig":"MEYCIQDLZ3h4uAFLmznOUG/r9RYjt/eAF0r6sGX8M6BmwdWOegIhANaKOPGCAzf6n2XwIES4lFKEIEM5DSgXUhSJ2Kjvuym+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":353052},"main":"./dist/index.js","type":"module","_from":"file:objectifthunes-three-book-0.8.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./demo-kit":{"types":"./demo-kit/dist/index.d.ts","import":"./demo-kit/dist/index.js"},"./demo.css":"./demo.css"},"scripts":{"dev":"vite dev dev --config dev/vite.config.mjs","build":"vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit","build:demo-kit":"cd demo-kit && vite build"},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/ab629890a67298b1b875ee3e6fa27ffe/objectifthunes-three-book-0.8.0.tgz","_integrity":"sha512-TUS6EQGiV43uaKS/L3lrldTDS1y9LbkxHivbJfbB1Cu6TvYAmHYaIyxW+LyHfzJCz4L6nx6KZvDVdesY/IzTjA==","_npmVersion":"11.12.1","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","three":"^0.172.0","typescript":"^5.7.0","@types/three":"^0.172.0","vite-plugin-dts":"^4.0.0"},"peerDependencies":{"three":">=0.150.0"},"_npmOperationalInternal":{"tmp":"tmp/three-book_0.8.0_1783980440866_0.48134390526308835","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@objectifthunes/three-book","version":"0.8.1","license":"UNLICENSED","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./demo.css":"./demo.css","./demo-kit":{"import":"./demo-kit/dist/index.js","types":"./demo-kit/dist/index.d.ts"}},"peerDependencies":{"three":">=0.150.0"},"devDependencies":{"three":"^0.172.0","@types/three":"^0.172.0","typescript":"^5.7.0","vite":"^6.0.0","vite-plugin-dts":"^4.0.0"},"scripts":{"build":"vite build && tsc --emitDeclarationOnly","build:demo-kit":"cd demo-kit && vite build","typecheck":"tsc --noEmit","dev":"vite dev dev --config dev/vite.config.mjs"},"_id":"@objectifthunes/three-book@0.8.1","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","_integrity":"sha512-lV2LZgsuCSNnoKrwhv0KPZRiGuv7HQlCBzURiaI4CHrYGRiLl7RRjtqfHQni1Ij9Nop9XhxXXwm8pi4rYGfmTA==","_resolved":"/private/var/folders/20/j926ps793qs647rtky0kpcdh0000gn/T/dba8899e54c33f958523fe560b70cc0d/objectifthunes-three-book-0.8.1.tgz","_from":"file:objectifthunes-three-book-0.8.1.tgz","_nodeVersion":"26.0.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-lV2LZgsuCSNnoKrwhv0KPZRiGuv7HQlCBzURiaI4CHrYGRiLl7RRjtqfHQni1Ij9Nop9XhxXXwm8pi4rYGfmTA==","shasum":"16bc33b1530edb0f44a121df3f3d797a16a24b59","tarball":"https://registry.npmjs.org/@objectifthunes/three-book/-/three-book-0.8.1.tgz","fileCount":76,"unpackedSize":353026,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHjHMjP6KhtIQaFLOoIdYEK4Kn8+0Hypb5wvOeOo7faOAiATvr0TjFhS5ZDreIBFLAzc3ZWLoabmhV/4l7vjjyUxhQ=="}]},"_npmUser":{"name":"maxou27","email":"maxence.gumiero@outlook.com"},"directories":{},"maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/three-book_0.8.1_1783985428258_0.32399266458933407"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-08T23:23:19.599Z","modified":"2026-07-13T23:30:28.515Z","0.1.0":"2026-03-08T23:23:19.852Z","0.1.1":"2026-03-08T23:25:43.578Z","0.1.2":"2026-03-08T23:29:00.739Z","0.1.3":"2026-03-09T02:16:36.951Z","0.1.4":"2026-03-09T02:20:53.963Z","0.1.5":"2026-03-09T08:22:15.578Z","0.2.0":"2026-03-17T07:04:05.380Z","0.2.1":"2026-03-17T09:58:19.924Z","0.2.2":"2026-03-18T01:22:05.724Z","0.3.0":"2026-03-19T07:54:17.572Z","0.3.1":"2026-03-20T02:08:55.192Z","0.4.0":"2026-03-20T08:06:12.356Z","0.4.1":"2026-03-21T01:45:09.851Z","0.4.2":"2026-03-21T02:43:33.246Z","0.5.0":"2026-03-22T03:13:34.869Z","0.5.1":"2026-03-22T09:45:21.817Z","0.5.2":"2026-03-22T10:38:43.477Z","0.5.3":"2026-03-22T22:11:54.971Z","0.5.4":"2026-03-22T23:31:37.769Z","0.5.5":"2026-03-24T02:14:24.352Z","0.5.6":"2026-03-25T06:16:11.934Z","0.5.7":"2026-03-25T07:12:50.550Z","0.5.8":"2026-03-25T10:19:38.835Z","0.5.9":"2026-06-22T09:48:07.038Z","0.6.0":"2026-07-08T06:45:03.735Z","0.7.0":"2026-07-08T07:32:59.463Z","0.8.0":"2026-07-13T22:07:21.024Z","0.8.1":"2026-07-13T23:30:28.400Z"},"license":"UNLICENSED","description":"A procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.","maintainers":[{"name":"maxou27","email":"maxence.gumiero@outlook.com"}],"readme":"# @objectifthunes/three-book\n\nA procedural, interactive 3D book for [Three.js](https://threejs.org/) — drag pages to turn them, apply textures to every surface, and drop the whole thing into your scene as a regular `THREE.Group`.\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/MaxouJS/three-book/main/docs/images/default.png\" width=\"49%\" alt=\"Closed book\" />\n  <img src=\"https://raw.githubusercontent.com/MaxouJS/three-book/main/docs/images/open-half.png\" width=\"49%\" alt=\"Book opened halfway\" />\n</p>\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/MaxouJS/three-book/main/docs/images/page-curl.png\" width=\"49%\" alt=\"Page mid-curl\" />\n  <img src=\"https://raw.githubusercontent.com/MaxouJS/three-book/main/docs/images/demo-ui.png\" width=\"49%\" alt=\"Demo app with tweakable controls\" />\n</p>\n\n## Features\n\n- **Drag-to-turn pages** — raycaster-based interaction, works with mouse or touch.\n- **Programmatic page turns** — auto-turn API for scripted animations.\n- **Per-surface textures** — assign a `THREE.Texture` (or `null`) to each cover side and page side independently.\n- **Configurable geometry** — page/cover width, height, thickness, stiffness, color.\n- **Built-in binding** — `StapleBookBinding` handles spine positioning out of the box.\n- **Standard scene-graph citizen** — `Book` extends `THREE.Group`; add it, transform it, remove it like anything else.\n\n## Installation\n\n```bash\nnpm install @objectifthunes/three-book three\n```\n\nor\n\n```bash\npnpm add @objectifthunes/three-book three\n```\n\nPeer dependency: `three >= 0.150.0` (ESM).\n\n## Quick Start\n\n```ts\nimport * as THREE from 'three';\nimport {\n  Book,\n  BookContent,\n  BookDirection,\n  StapleBookBinding,\n} from '@objectifthunes/three-book';\n\n// 1. Set up your scene as usual\nconst scene = new THREE.Scene();\nconst camera = new THREE.PerspectiveCamera(45, innerWidth / innerHeight, 0.1, 100);\ncamera.position.set(0, 4, 5);\n\nconst renderer = new THREE.WebGLRenderer({ antialias: true });\nrenderer.setSize(innerWidth, innerHeight);\ndocument.body.appendChild(renderer.domElement);\n\n// 2. Describe the book's content\nconst content = new BookContent();\ncontent.direction = BookDirection.LeftToRight;\ncontent.covers.push(frontOuterTex, frontInnerTex, backInnerTex, backOuterTex);\ncontent.pages.push(page1Tex, page2Tex, page3Tex, page4Tex);\n\n// 3. Create the book\nconst book = new Book({\n  content,\n  binding: new StapleBookBinding(),\n  castShadows: true,\n  alignToGround: true,\n  pagePaperSetup: {\n    width: 2,\n    height: 3,\n    thickness: 0.02,\n    stiffness: 0.2,\n    color: new THREE.Color(1, 1, 1),\n    material: null,\n  },\n  coverPaperSetup: {\n    width: 2.1,\n    height: 3.1,\n    thickness: 0.04,\n    stiffness: 0.5,\n    color: new THREE.Color(1, 1, 1),\n    material: null,\n  },\n});\n\nbook.init();\nscene.add(book);\n\n// 4. Update every frame\nconst clock = new THREE.Clock();\nfunction animate() {\n  requestAnimationFrame(animate);\n  book.update(clock.getDelta());\n  renderer.render(scene, camera);\n}\nanimate();\n```\n\n## Page Dragging\n\nWire up your own pointer/raycaster, then call three methods:\n\n```ts\nbook.startTurning(ray);   // pointer down\nbook.updateTurning(ray);  // pointer move\nbook.stopTurning();       // pointer up\n```\n\n## Auto Turn\n\nTurn pages programmatically:\n\n```ts\nimport { AutoTurnDirection, AutoTurnSettings } from '@objectifthunes/three-book';\n\nconst settings = new AutoTurnSettings();\nbook.startAutoTurning(AutoTurnDirection.Next, settings, 3);\n```\n\n## Content Model\n\n**Covers** — 4 entries, one per surface:\n\n| Index | Surface |\n|-------|---------|\n| 0 | Front outer |\n| 1 | Front inner |\n| 2 | Back inner |\n| 3 | Back outer |\n\n**Pages** — ordered list of page-side textures. Each entry can be a `THREE.Texture`, an `IPageContent` implementation, or `null` (renders the base paper color).\n\n## Lifecycle\n\n1. `new Book(options)` — create.\n2. `book.init()` — build geometry (call once).\n3. `book.update(dt)` — call every frame.\n4. `book.dispose()` — clean up when done.\n\n## Material Tinting\n\nFinal color = `texture * paperColor`. Keep color white (`new THREE.Color(1, 1, 1)`) if you want textures to appear unmodified.\n\n## API Surface\n\n| Category | Exports |\n|----------|---------|\n| Core | `Book`, `BookContent`, `BookDirection`, `Paper`, `PaperSetup`, `PaperUVMargin` |\n| Binding | `BookBinding`, `BookBound`, `StapleBookBinding`, `StapleBookBound`, `StapleSetup` |\n| Content | `IPageContent`, `PageContent`, `SpritePageContent2` |\n| Text | `TextBlock`, `TextBlockOptions` — styled text rendered to 2D canvas. Methods: `draw(ctx)`, `wrapLines(ctx)`, `measureHeight(ctx)`, `hitTest(ctx, px, py)` |\n| Text overlay | `TextOverlayContent`, `TextOverlayContentOptions` — `IPageContent` that composites text blocks on top of a source canvas. Methods: `addText(opts)`, `removeText(text)`, `updateText(index, opts)`, `markDirty()`, `update(root?)`, `syncMaterials(root)`, `dispose()` |\n| Spreads | `SpreadContent`, `SpreadContentOptions` — double-page spread with text. Same methods as `TextOverlayContent` plus `left`/`right` accessors. `getSpreadPairs(pageCount)` returns valid 0-indexed spread start positions |\n| Texture utils | `createPageCanvas(color, label, image, fitMode, fullBleed, pageWidth?, pageHeight?, imageRect?)`, `createPageTexture(…)`, `computeDefaultImageRect(image, canvasWidth, canvasHeight, fitMode, fullBleed)`, `loadImage(blob)` |\n| Texture types | `PX_PER_UNIT` (256) — pixels per world unit. `ImageFitMode` (`'contain' \\| 'cover' \\| 'fill'`), `ImageRect` (`{ x, y, width, height }`), `LoadedImage` (`{ image, objectUrl }`) |\n| Auto turn | `AutoTurnDirection`, `AutoTurnMode`, `AutoTurnSettings`, `AutoTurnSetting` |\n| Low-level | `PaperMeshData`, `PaperPattern`, `PaperNode`, `PaperMeshUtility`, `PaperMaterialData`, `RendererFactory`, `BookRenderer`, `MeshFactory`, `PaperMeshDataPool` |\n\n## Development\n\nFrom the workspace root:\n\n```bash\npnpm install\npnpm build   # build the library\npnpm dev     # build library + start demo app\n```\n","readmeFilename":"README.md"}