{"_id":"handler-playable-sdk","_rev":"246-fea89a351b1cba513f1a7d3c76ae4f7c","name":"handler-playable-sdk","dist-tags":{"latest":"1.0.108"},"versions":{"0.1.0":{"name":"handler-playable-sdk","version":"0.1.0","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.0","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"bbd927bc8269f81e978bc2ab424b93286854f032","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.0.tgz","fileCount":12,"integrity":"sha512-Rqs8rQKXL1Gb7cH9Mru2pDr9nIcjkiTi3jOCm8pzG64V1Wg6+A5+Z1tfyYd+gTDC26c4x20clEric6+oUzCgoQ==","signatures":[{"sig":"MEUCIQDHyIYCuq9kTZ+4ZXoWzD9bB0jCojgksCHR2pqiMVa41QIgAvgGJxIQumrHSgs2QXlBDaM7ccvwrkiEycDvatpPkVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106441},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"}},"gitHead":"158f6f7f2911d3d1d4931617886dfe03953683b2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2"},"peerDependencies":{"pixi.js":"^8.0.0"},"peerDependenciesMeta":{"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.0_1766512560435_0.2913729452613796","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"handler-playable-sdk","version":"0.1.1","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.1","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"db8e8e94de66e64dac9f9756aa72a86020c1ac6e","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.1.tgz","fileCount":16,"integrity":"sha512-R3VkbBSMOhA5s9zcO8BDtjA+yRZB2DtCZkV+jRLlZpeY7b3Zyxzod1kOv5qnnOX/M1KMSEe2Vxb5Nx5mNJDFvw==","signatures":[{"sig":"MEUCIDk9tC3lKtAXhhnn6n/B5UXMZDMKxPqSr10liE9nyD87AiEAy6tIOp7yII+0TyWvbk8WVOxe4u39azq6ckt0/bEtnKw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195382},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8d44ab419fba9fecb6c6188bea77848e7295cd74","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.1_1766576488975_0.7990912924273714","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"handler-playable-sdk","version":"0.1.2","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.2","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"0b6500a5cba8d2589732f828cfd634438431abb6","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.2.tgz","fileCount":16,"integrity":"sha512-tanKKze43WgeOnYFeC6GKwXfi89KQfa8nEx3e1iHJuZ5DtZ39iFmmfyeCysZONoUsBTUQ6NtyjOOIpVSu0ZQbg==","signatures":[{"sig":"MEYCIQCQeUIM2nK0cRbxKHqJj+BBDySTJqrtiTfg1z/HbBcB9wIhAJcJwfbzGe42xNiffcChKM0TmAbN70hjSiGAGl5NyLln","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195942},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"9bdb115b39442abbb2f77529ae6dedf2b44fc90c","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.2_1766583203764_0.9455329100646801","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"handler-playable-sdk","version":"0.1.3","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.3","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"5be0528e174fa99630acd3d5c0d9016f3a2049fb","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.3.tgz","fileCount":16,"integrity":"sha512-SI2F+sZcKgoArFFzLeOiL1pOnV+JBuB3yh3ISCpFQFvup4F8Skqlu/0OPh1Rq146utEbKws0D736O5SS2v67WQ==","signatures":[{"sig":"MEQCIA8S1FzX+DbEnJoinMG0m9HZlwLAyIBOUgvZjam2SMHYAiAGSvao2/Jdv7VyZrUe4mmYkF6nNJXd1sApuWWF6fG14g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196354},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"85b8515dd9c04ec65f5c4849f56b632c29a38332","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.3_1766584035389_0.561654037498549","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"handler-playable-sdk","version":"0.1.4","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.4","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"1d8f812c8c4705df93a5cf8207e1eb4030b6d5fc","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.4.tgz","fileCount":16,"integrity":"sha512-adHgSOz8ZzCQsENSRgrtr4fBqKwuqPqFKHzecuUPkMLk07PLqc0mJA5rT4FNoCl+o6HdqAbM45HARxv/QfLm7Q==","signatures":[{"sig":"MEQCIFHBEORk0S+feCB3+/GI2+AQQdS4pcS0L/rhnGmTGr8ZAiBUlfsJaGIuzYAHf4iW7uHHoa8tYKu8f3VwhrbDkMP87Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196490},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"85b8515dd9c04ec65f5c4849f56b632c29a38332","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.4_1766584163062_0.8291882379426267","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"handler-playable-sdk","version":"0.1.5","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.5","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"4cb455c875924031daeeff5e9f868f73628e04ef","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.5.tgz","fileCount":16,"integrity":"sha512-nuXZan7p2ffYznxVG6zjmCwKa9oupuFqiiRwkNYFxaM9LEwwhxIY2uMrfGo1lRaamtWDhSihn0sGIjap2hyqJA==","signatures":[{"sig":"MEYCIQCkKXurutMc/4vhy0+GdqI7Oxmq5kA1wPwnicXjEtxFhQIhAMigV/vCOzF5Gb82VswVsgYz1Dg2E3Vxe27dYZ1LaE/s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198172},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"806120c30f88cecd988d611e15ac01d9f7e712ce","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.5_1766588007201_0.7936216246464673","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"handler-playable-sdk","version":"0.1.6","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.6","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"78712e52e213d3654251d30abbabe623e965eccc","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.6.tgz","fileCount":16,"integrity":"sha512-CCKHbwCs0Z+dczU+pSjqODsqYdjEw7iSa6nXrJvudG8gvJO7VW0GOT7EuKJiJFY4zGYAZnlp/sE3mOZAPiSfbQ==","signatures":[{"sig":"MEYCIQC/Ri9eCxMYoMKcOuMQfiJgx+85ylPk11sF4DRhRU/vMAIhAKIpdg5Tjg9dixJG61TKOjtJ3wnq8g8YEnu6cFmFupXS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198236},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"a02316517cd29b38e239e249b6f049148c066ad4","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.6_1766588844252_0.2790504609907747","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"handler-playable-sdk","version":"0.1.7","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.7","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"a5cab605c80740c950a6f7f125155af2390cea38","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.7.tgz","fileCount":16,"integrity":"sha512-0ZvjKrIFCEgoE4xcBLFI/5He4KYPSKlJK/ZEZb7sMX8bnXyYFdj7xrTB9JWP0UmdTjVBmWq2ieqwXlb4do147g==","signatures":[{"sig":"MEUCIFjCOKrY941o1r72Moh/0KwC2FIYmApBm6EU0wPuWHD9AiEAs/Se1PAQMKOa+QN5y2wME9e+GYMYkhybUpdxuSaiZOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198308},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"7836bf540e975c7180aea7aa3fa192a80ba8ccfa","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.7_1766589417084_0.5354415688821339","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"handler-playable-sdk","version":"0.1.8","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.8","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"38705847f82da906222d7f84492bad8c53f3d1bc","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.8.tgz","fileCount":16,"integrity":"sha512-ALmGrKGJOe3s4L23t0vKIKA07GygcgdQWZK6a6DOmy/9wkDM2LM+s7qunS62iK6IYFsphN7Tgz5TEU4ruHluWw==","signatures":[{"sig":"MEUCIQDj1CqpFG5kHmFmr0fcnhd0LpDjuH0iE7r3/SgnMODZjQIgG0BGQk5LvZEb3lu4LDQHPRHwGJXekej8zEmH7OaVz6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198786},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"05f390ae69bdd395cf3116b3604431a6cff93d70","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.8_1766590912285_0.6585954489760768","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"handler-playable-sdk","version":"0.1.9","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.9","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"8026e670c577f823c4821d81569604ce2d8385f7","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.9.tgz","fileCount":16,"integrity":"sha512-6AFo2Iuia2kk0nOioDKwIq87u5iuYezvyaCvDcZyjfYo4A1us5OYw9w5F+Rfb9f1KTxK4xcCi+aVGw8ksbCuow==","signatures":[{"sig":"MEUCIQDnM6rO8RFh1Sc+GRm2w/oXrR0Tmh+9Vvn5D9mspzNBLAIgFgT3Q8SoeCwwZPj2to5quFCRZvRtnn/7nX29CBLElhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205699},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"05f390ae69bdd395cf3116b3604431a6cff93d70","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.9_1766600629271_0.40251178960374956","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"handler-playable-sdk","version":"0.1.10","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.10","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"3913ea0a87c8f4ca771f94a1892df1c2993c2150","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.10.tgz","fileCount":16,"integrity":"sha512-aYrMQfLbGx27/X9nxz13W5hqyNaI+qr2yLbVw0Wzc8qvZ9l5qZhP1Fh88yLnxSuSs2jLwjUn9vakGBePHZkY/g==","signatures":[{"sig":"MEQCIFEXxkJpluyAzIRBMPkmjcXetlBGLFbn7CdmaQrFbQVVAiBOHN5dlvtBFhkCo8o8aDbmty6901VXTrlQOR/NoebF1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206846},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.10_1766602042292_0.7233542068211689","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"handler-playable-sdk","version":"0.1.11","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.11","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"e71b5668f7f21d67bf1d626535ebf514084e1d02","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.11.tgz","fileCount":16,"integrity":"sha512-x2iLVVEh4HsQOohO7PKdnOHc/lvn6/DxzSk3cOshSWBscrP+QNcAg9oRSt+eFF+11s+5EG53TmckmPyDfivpcg==","signatures":[{"sig":"MEUCIQCIKeQrsOnPpjIduoj9DBBIrt0ptjT/Npi2qN0muzPbvwIgJod0CLD3ZtZxjJz9h3diWst1nsYmSTCNt3L7V4qeZNM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208022},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.11_1766603508410_0.8339823410601903","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"handler-playable-sdk","version":"0.1.12","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.12","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"a5ba4d07a43d2b0feac34605f1e1e17e28173d00","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.12.tgz","fileCount":16,"integrity":"sha512-DljDE0/miHInGw8jGUG8ZN82pwAT6u+9DCLvcYcE9cblq682JEFv7a+oFJzrGw5hB6v2GL5nF1xwUcpLlvprDA==","signatures":[{"sig":"MEYCIQCcqkcMmumApRWUcO8faRZXqMd/51sVWGza4X8Wh0oSywIhAPqW6k1zlfH0p7NCfh9Gv6+GrVwRo2S606R4pgNnlqAa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208364},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.12_1766603762772_0.7792034107434378","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"handler-playable-sdk","version":"0.1.13","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.13","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"fe5149e09e984b2ac52c559466868bd2a5a07df9","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.13.tgz","fileCount":16,"integrity":"sha512-W0jqiM52KRDZBAS2D4US8TiPw7lBAc+AAs4W6JV7m+qw0j5vVSqVn9hEfnlXTWL6K71hdeoFfbXIU+dS1cY6Qg==","signatures":[{"sig":"MEQCIHRiCUstPUqvHjxBepL2Vhn5oejszOf9S0fUeT7UmZl9AiA3S89XkUbOszDUuXuPecbG4E/C3FzJDW0Svt+NChRCBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212054},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.13_1766604105092_0.6874016773865397","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"handler-playable-sdk","version":"0.1.14","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.14","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"33048ef2f3c62939bb78dd23013602c700d5ab70","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.14.tgz","fileCount":16,"integrity":"sha512-zf/1T9DVHdNm2MpgU8DHnRbtrtnl2BdYprMsBmQgJwzpYdUnfm/iAc+Bmlyxg+mR95tOSM+/DitihHLKk+98HQ==","signatures":[{"sig":"MEUCIQC4OJO9X1AWsO5HK+uTvBXIbGUR4CBZU95fL0zawb+GnAIgPuV0uknq2acf6Pbcm6G/M8GwQL4OB/Wk5/lNg39xzZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212694},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.14_1766604246083_0.8763216676014995","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"handler-playable-sdk","version":"0.1.15","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.15","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"4d894bc2a16525da5e721b9b75ae0297905d07e3","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.15.tgz","fileCount":16,"integrity":"sha512-SlWaNerDq7iJqGXJ75bvCa7qCge7dbBZj2FJ0woEEZBmiN+67PObPerm8+R3Ss3meISxhe1Q7epPF0fTf0biaA==","signatures":[{"sig":"MEUCICqp32y90Ry31npansr5sckZqbzP7TJm901usLKv/coLAiEA+Jbeh+P8vgEQGWoB7La4rgZS2KIW0IW8/dEmdV3eMa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213738},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.15_1766604811807_0.626873934601659","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"handler-playable-sdk","version":"0.1.16","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.16","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"f66b365395e982b880a14203df6785002d3b07ae","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.16.tgz","fileCount":16,"integrity":"sha512-JZ0t4+k0LHuE5/HldV2abap+gO8fIkcNF1l6mdX/UvGItz2DGpxt52gfHcdur5UspJOHMqNMBwMoR2En7KNYvg==","signatures":[{"sig":"MEUCIGVlxagLxX8rJLo11KYPpBXwmSLwiKlenaYKfJrjy6EyAiEA/H5bbMTFALqQ161K2Vcb3CrbofbG0GU2CSFezeuQxPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213988},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.16_1766605062057_0.05418519001698585","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"handler-playable-sdk","version":"0.1.17","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.17","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"2620ba5734c093ac12db6950b3594da41e172dfc","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.17.tgz","fileCount":16,"integrity":"sha512-1itX1VNXqCJKOyoEL+0CXiIl6PojmIvE5Jq5FhrzRLC0+8273+yqS6UVJ2mpztFeQPgP/S0zgPg3yBx48XmrOQ==","signatures":[{"sig":"MEQCIA33z0qHBc6n0+nAj3j8rxu10u8GR8Yr0d7r/bmYzG0TAiB+g2nnJHaIDnfbI2rj9NFlTA12rVmwkdpOZD2uGs6CaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213962},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.17_1766605213867_0.22069257806682296","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"handler-playable-sdk","version":"0.1.18","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.1.18","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"3afdc7d84f4858cc3b0722560db49e97b481be80","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.1.18.tgz","fileCount":16,"integrity":"sha512-vNkyM8lF7qTEFkYhpVF/p8TiEVqWd5GDnN3SpXAsy9XVs6FqFJeuxTac4firg5cBWoULPITpiILOI4T8j/V1Xw==","signatures":[{"sig":"MEUCIQC/PLKyaYY/V8HaLwW9iPXNBXVYx8ZEFADcAYWigMlL1gIgR14FetGBCNPMJrHuHIb8jeRvdnm+p9d2uwearSjrJu8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214386},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.1.18_1766605573167_0.9599226066702478","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"handler-playable-sdk","version":"0.2.1","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.2.1","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"6b27c44f61052831b89754a3abef285f8a2a5683","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.2.1.tgz","fileCount":16,"integrity":"sha512-l6vUewJ+X7ugfvdVllRfnfpzmq6hwmAYEhbPmc7UcXwGYFBTkl5GTcyEWrNxEKOLZcwbH2fcP5xSNSUFl3JpOQ==","signatures":[{"sig":"MEUCIQDcjRNa+nEY1UoP7qQfPm9vc6KcBBYuRCfzh3ePuN0JegIgT0i7QMRgOWVHkXiRV7iavvoAWMETuols+adrKk+4EKg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215305},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.2.1_1766688511144_0.19964239783954496","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"handler-playable-sdk","version":"0.2.2","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.2.2","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"3d22ca0f7966dd46705afcb19b8ecc324cc33030","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.2.2.tgz","fileCount":16,"integrity":"sha512-W1E3K71UTHO+Jbrn45Mfv0d60Ke59TfaSttRYT752ROjIS8nMh3/0NZMhL+k8E3U/aQ+acSkxVZYis1ojqCfqA==","signatures":[{"sig":"MEUCIQD5IQrG+BoCQhitntbU5eMEjKuKivIt3SbYD8TSFe283QIgaITs6D0KxcIpmFRDAAgD493ik6Cs9HaUZdzmpCv4ojc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215404},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.2.2_1766691187214_0.6608976479768516","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"handler-playable-sdk","version":"0.2.3","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.2.3","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"3450ecf4b498e2721cc8e45eab384f36aaab0951","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.2.3.tgz","fileCount":16,"integrity":"sha512-LRHyFIQu8dIKfbxyeM8fNZX5vBjzkDICwho45A5n1b6E6Tum0etL2BTYqrHPDEwt61FpHCQcJrypgpam47EmDg==","signatures":[{"sig":"MEUCIQCnfsvrwRHPRuTU/CoFRPjxTIhTOKIZClXFeVE8Y1cBHQIgTKfKF2PLgbe7NsEQ4DhJ/yfWU0Nl/uA3IS0kPqHCQQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216092},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.2.3_1766691347678_0.27340724775188385","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"handler-playable-sdk","version":"0.2.4","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.2.4","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"07798e4fd4739b2df034a9ccc0c17ae5d9367597","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.2.4.tgz","fileCount":16,"integrity":"sha512-zQeXa6/cBsE3kUI2kIa2hEBDafh10jMWQt9sHbhcdj2b6atq/mi5I5qXoDohciFJK8KkkLQQUUiOoDem+M0fig==","signatures":[{"sig":"MEUCIQD+BTC5xXZihmr8KXFov6EuJyldhJs8Rto3Xd15ogzoJwIgQsBaKMJJcVGMwTLUQrzn3tPTs6x+tMGM2ixJuxYFG3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216500},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.2.4_1766691592052_0.2517035873895974","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"handler-playable-sdk","version":"0.2.5","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.2.5","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"8f13c2204c092cce2d6c9c0bdceb9bb1cccdf5c8","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.2.5.tgz","fileCount":16,"integrity":"sha512-7osrDr3JF0bPDDDrgFnviRB4zhtPJUpDIxqhDddokKf84kyIV3FOwDWB9AFpYVqSsbYuEFYRh3+z4+kfeckzUQ==","signatures":[{"sig":"MEYCIQDSDsRuE95lyKk4H31cajvfDb0B1YuvMwhw4fYSygsJMQIhAJXDWtGF3byaHL8Q0Ki2O4V/+N3zM0S1iCAOysgSNXFi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219435},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"^8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.2.5_1766692442434_0.3462497370789088","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"handler-playable-sdk","version":"0.2.7","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.2.7","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"e078d53ab6124b78038af3837392e647e7f69056","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.2.7.tgz","fileCount":16,"integrity":"sha512-2stNNHr+xYwmbvFaEM0H97SUXTMm5f4lgut3ACn8lReQ3+HTWqIcsy+6SxyWxd/H7HgZ+iipkoACVFvY4eFkcw==","signatures":[{"sig":"MEYCIQDO2X9mnsnDO502ddAhcE27P6ZMwuHhEbTxwds3lwW2xQIhAKtoaQ2HSOJwdMbu/M5zkkp0WMIDjTOceCtdc+LHpB/q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252422},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run obfuscate","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web","obfuscate":"javascript-obfuscator dist/index.js dist/index.mjs dist/pixi/index.js dist/pixi/index.mjs dist/three/index.js dist/three/index.mjs --output dist --options-preset high-obfuscation --compact true --self-defending true","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.2.7_1766766481321_0.8466371964596948","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"handler-playable-sdk","version":"0.3.1","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.1","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"880062af0f38cbc0727c655ce87cc6a0931d7af7","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.1.tgz","fileCount":16,"integrity":"sha512-gjprp+sd1pszsS7zeYB2S84JyLSGWatmHSI4oPZ4B+TWjz1dcZQi5eV05IHgIYw/vWQwHvSyNy/Wk4VaBT4wrw==","signatures":[{"sig":"MEQCIF35AWVpTou2oGUGhdh+E2yVVynlxNErVjU1EkVKWwKKAiA3/P5nBh56bFqHoHAnECwcE2voCg1GmDVucKaJYLjPqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263751},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run obfuscate","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web","obfuscate":"javascript-obfuscator dist/index.js dist/index.mjs dist/pixi/index.js dist/pixi/index.mjs dist/three/index.js dist/three/index.mjs --output dist --options-preset high-obfuscation --compact true --self-defending true","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.1_1767373752779_0.8116466758285206","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"handler-playable-sdk","version":"0.3.2","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.2","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"80f30bb43cc7431a3afae3873266a634ad729f04","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.2.tgz","fileCount":25,"integrity":"sha512-aSQ+ysqegGxQNSw7b4Ql3zDN69ApTsbmZbC+yep+SDY/LzP5SGa4+wOASDP0vTp1FGWT5JebLM2Zj0ya5QrrsQ==","signatures":[{"sig":"MEUCIBls6Cx3s54SWj/3kba+MNTvcTf0MrVlyix+8t6Y7eRBAiEArECkN+u9yxr9Tf2RpJUld0dHUEKBYqHWgv+suF6CjNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":805938},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"}},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run obfuscate","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web","obfuscate":"javascript-obfuscator dist/pixi/index.js dist/pixi/index.mjs dist/three/index.js dist/three/index.mjs --output dist --options-preset high-obfuscation --compact true --self-defending true","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.2_1767712926753_0.2390101712686401","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"handler-playable-sdk","version":"0.3.3","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.3","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"89347a310e814d2a20b888556702db3077626083","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.3.tgz","fileCount":25,"integrity":"sha512-Ro2e3O4oEJwgQBlI4dMXn2J/AQerSdA6LP4XOCdrD7mkPJVDd1+mjnz5OqwEo5+XHE6kqjFsajUojZwHwYykMA==","signatures":[{"sig":"MEUCICQMuGsAxQih5SNFdKAUifETwbaP143cagues/nXGb4MAiEA9jD28af1ttDrlRpKxnNt7NJ8pGAnU2Ujn7zqQLnABBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":806428},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.mjs","require":"./dist/pixi/index.js"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.mjs","require":"./dist/three/index.js"},"./index.css":"./dist/index.css"},"gitHead":"8f76ab5c4a9114cfe0462b144617c82ebfba896e","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run obfuscate","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web","obfuscate":"javascript-obfuscator dist/pixi/index.js dist/pixi/index.mjs dist/three/index.js dist/three/index.mjs --output dist --options-preset high-obfuscation --compact true --self-defending true","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.160.0","eslint":"^8.57.1","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.160.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.160.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.3_1767713290765_0.7014068450705082","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"handler-playable-sdk","version":"0.3.4","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.4","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"9f5f86ad6d03dea2d6fcb2b07c7162bf049dbf83","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.4.tgz","fileCount":30,"integrity":"sha512-pzDkE5DS7C9wiGgw17nVlbTJihnxt9ui3YLKEyYKeidofZkic1t5O0Bg2d+0mCXImc4IrcuyyvFDI3q2CmDAnw==","signatures":[{"sig":"MEQCIG6WZK+2CcHjofuBZjactKXHT4hfms2b5LBxBD9HGkRuAiBJiSZr7RqegJKwZw4VN/pKmESdST6qkzwsLnvrcCm05w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2156128},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":"./dist/pixi/index.css"},"gitHead":"40b32139b3214b7a941296f19aa7fd2b5e36f11f","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.4_1768585604225_0.7264742507957025","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"handler-playable-sdk","version":"0.3.5","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.5","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"a571098410d5c73de44d6d88c7b85c81d440d429","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.5.tgz","fileCount":30,"integrity":"sha512-BxRc3JsECFsE9AKjQvLLo0X9xmnlapQ3lRIo3+jOqHHp3VriahxrAOIn2I7gbOWUtFWE/vmCUIr76I48RZzHrA==","signatures":[{"sig":"MEQCIF4Uc0hE/UOefag5whN8khrfbCQoN79VMUmYQOGzY1U7AiBuSmJ+Tubc5UbUktkpuRvSXLpV9/gtaz0UuFYXXEDLnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2213336},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"fc95b8fc631e69fb9b268d17fef42db7c899bfb0","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.5_1768586050615_0.6656505489792774","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"handler-playable-sdk","version":"0.3.6","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.6","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"3715ebd72153630be8d7bd134c76bd77083eea9e","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.6.tgz","fileCount":30,"integrity":"sha512-gs/kskhV+7LSRqesDbY3sTFP4jfnxjUZhar+MuAsI/K+5ePas3ec3GP8MBDLWFqc1Rf5ge31FtDW9VTS7ZGlbQ==","signatures":[{"sig":"MEQCIHrRVbqJTmKwjyUVJ6N0juE+WdBngPwCP/Op8a5JGpFiAiAYfXXJZjRqNbt1fBCjjlJO0W9F3CeBJv509q1tkyaZmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2215298},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"184fbfdaf9c2f723d05deddd90a18a4f0d4f9467","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.js patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.js major","publish:update:minor":"node scripts/publish-and-update.js minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.6_1768587009486_0.2008033336617132","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"handler-playable-sdk","version":"0.3.7","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.7","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"d4f92a3bbb258f339d1ef86b2f4b038fc93d632b","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.7.tgz","fileCount":30,"integrity":"sha512-TPVpTlyYcOwi+7bJIs1QRmAZP+LDAiS14OroqnRDKY3XFe8DHCwAdj2wptG0dLzWZ8gAyD3vfyVaH6FJruIf3w==","signatures":[{"sig":"MEQCIDwfsZk6vw4g/jz+lz+jzbHZpFd3jSYY5AWFKr/Mk3kVAiB03/gFwy97la0x1cdKb0yOKONGr9mNqJG+elc/8Gtkuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2161454},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"184fbfdaf9c2f723d05deddd90a18a4f0d4f9467","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.7_1768588226368_0.614205988657194","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"handler-playable-sdk","version":"0.3.8","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.8","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"e5a45d73556b765734f5be37ac96e8d56c61ce0f","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.8.tgz","fileCount":30,"integrity":"sha512-o4VcmDLmK7ra/ybsKeXO5vyKPp2/soa7GDji/vRk4c/7Ve9YjC84SwRGlYLsR2JfY8aDx09fX/T+f/xOqkjrBA==","signatures":[{"sig":"MEYCIQClaE8Mtr3sYHqm254Sn8t3DjRHi5SgFqe07bg6PzinTwIhAKqPXNW5Bcd8YU1IlJ6VI6cazAgzPbvoz+HnbFiceUdA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2531028},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"184fbfdaf9c2f723d05deddd90a18a4f0d4f9467","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.8_1768589711382_0.9805484062757905","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"handler-playable-sdk","version":"0.3.9","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.9","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"669a35aa1e76265d8de9cd6cb35402b851fbe782","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.9.tgz","fileCount":30,"integrity":"sha512-ESRm5gNMq1KD5zT7/Zb+bT3kDmzyJa23J8XHehbLujhndjpeAHzKBkkS5siCDAGDjWqhqvwsdUjLS7vuOkj12g==","signatures":[{"sig":"MEUCIQD8ZPSyKNJa9sgF82D3KZ/oJWAo4PkKw+QSg4CI3kX++wIgHEw3Ih86ewGX/RQD+Pj57qKoaS79F2Yv5sQtJTf264Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2588391},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"184fbfdaf9c2f723d05deddd90a18a4f0d4f9467","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.9_1768667032555_0.5368573345134924","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"handler-playable-sdk","version":"0.3.10","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.10","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"66959e5be48263a358bb516b1ee92f062f2e1084","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.10.tgz","fileCount":30,"integrity":"sha512-GjscB8Wp1GJh5YamPzITDX+BFilXKnMZ/5Mj7BNDoragsxL2yqgChxHjC0bzMwelLKhnvhJSVo9dQJ2MF+2G8A==","signatures":[{"sig":"MEYCIQCYY/mwfEpDdsKCxSUS4krNQsVplBlOxGsOXgdkuKf7jwIhAJxkfSOov8mRA0U1mFdZXUjMSd1KMso+ejhsgmIjZoKu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2561648},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"184fbfdaf9c2f723d05deddd90a18a4f0d4f9467","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.10_1768669674039_0.5137816683278476","host":"s3://npm-registry-packages-npm-production"}},"0.3.11":{"name":"handler-playable-sdk","version":"0.3.11","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.11","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"bf0ece871bdb88c1607bd7f1bed02a319f442f12","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.11.tgz","fileCount":30,"integrity":"sha512-67ctxQN4jeQtQn3Ufz3WIDOpz6gOzZeLfNE4yAHdorx9pfCveKJfmKrVlB0ds1SiRcmcHmzztS3+BSoy8R6QNQ==","signatures":[{"sig":"MEUCIB7LPhN90eKaKIPT3z36aml+9COwgIZRrpXViVBujYybAiEAtQuGmEo8jhxwOt3cEnD6WpPBTXv/l24EylmPlA/hkzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2605252},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"333f22d59353ac171e3291c227707a6d7c544353","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.11_1768673558916_0.6915331791036363","host":"s3://npm-registry-packages-npm-production"}},"0.3.13":{"name":"handler-playable-sdk","version":"0.3.13","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.13","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"1eac1a0e0852bc4fde3005048550e46ed8e793e8","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.13.tgz","fileCount":30,"integrity":"sha512-yH49p4QVt6rwIqS/iSxQzrM8yVuAug667VWQeDb5r6Znz9uYjfC1eTR1w/KKNBLrHkkIbqrF9DjFsO9o2ZORmg==","signatures":[{"sig":"MEUCIEd1NfdEojw5gkvlxMz9s3XMfoV8FyBhGbMoNSnH7pp1AiEAztN2ZMXs9ZXkTd7oDOpdQ9B9bmiDlpig/9RJg+9uqbA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2793246},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"333f22d59353ac171e3291c227707a6d7c544353","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.13_1768674996717_0.8096584895195047","host":"s3://npm-registry-packages-npm-production"}},"0.3.15":{"name":"handler-playable-sdk","version":"0.3.15","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.15","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"0930bc24791a08310e2cc8190754564cf33ee362","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.15.tgz","fileCount":30,"integrity":"sha512-E9mg5P4Lp3NmXKFdUelSoVHXvP1XjXTRa2Sqwalb0qwxsop0fv9+8VCYt6hz8iJnyb7/yyMixCuym1fzBvgTtQ==","signatures":[{"sig":"MEYCIQCYwcItpr/DpOyXj+PujM5rD0liGZFhJBl5niTpwC2HGQIhAM68DoWbBIlcyw0Qoq5r91IJ9cAibWmpX2AlG8EtY4lh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2628271},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.15_1768675731298_0.43036434090937914","host":"s3://npm-registry-packages-npm-production"}},"0.3.16":{"name":"handler-playable-sdk","version":"0.3.16","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.16","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"6521b435b752443c4dafdd7e5636f79aa3a3ade2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.16.tgz","fileCount":30,"integrity":"sha512-DBX8Xtfe299fIwOT0LQcmeZSeNNoz7Pi8Cq8Ud1pYPBNnvvkJrdhyFhcDK8/eyHTLZQim+vB1eTiyId7taB+6g==","signatures":[{"sig":"MEUCICVCC9+lw5hIYDgoaZW5PcSlLVCglPreGYr2ugw5SC8QAiEAnU/Y1q0ZCyrlzePdEjpYN+MJO0/OMpX+VfHQnMczl9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2606581},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.16_1768676497966_0.12720235867070606","host":"s3://npm-registry-packages-npm-production"}},"0.3.17":{"name":"handler-playable-sdk","version":"0.3.17","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.17","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"f215ae957c6e8cda4845ee057943334aaf1d758a","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.17.tgz","fileCount":30,"integrity":"sha512-S8kZSx+grKmpojdy7Ok3PVHUO8X0zS38Ulmg9kIMiMKUrMPmn+GWozRHz1E6Din5JuGOGUXnzTtQtTf8YWhe6w==","signatures":[{"sig":"MEUCIQDNFijOVVZygv3uCBhKlpM19cLYGiYEHuuDSLPA25lV6QIgG1AWBdXFE/o6ESj8IyHdLwVRoMjxSPR77uL4+pXRJm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2631772},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.17_1768677275471_0.7181656735610729","host":"s3://npm-registry-packages-npm-production"}},"0.3.18":{"name":"handler-playable-sdk","version":"0.3.18","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.18","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"02a7d65c6f4adb516a1438314ed133b9f8041ad1","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.18.tgz","fileCount":30,"integrity":"sha512-HExKA2/RZKzqx/wE1e4TKSKeIy0rZcfMLUKUzyoJUR73jAEv2UOeP+Bjsv1HynYO9Afe2FqichU2B4Jljcvgbw==","signatures":[{"sig":"MEUCIGRamwfXNLX6lPc6GP0wCI6jF4AdBzmGGVbicI6s82McAiEA2ZO4ZqGU0TUhLmxWeu8dFwFs1QFLDFLjCkPtn98xUD4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2862498},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.18_1768678532772_0.3316479658169067","host":"s3://npm-registry-packages-npm-production"}},"0.3.19":{"name":"handler-playable-sdk","version":"0.3.19","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.19","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"5334b93c7759723bdc54e4a0315d6000077070c2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.19.tgz","fileCount":30,"integrity":"sha512-0tM0ULsIpZbOnvb6Bxe3CR2Jq7cBXdkgDB5XueWKThLTzL4Gh99dMqSAEs2GRFSQ8HMIgSnMPN2ezE/CJAf1QQ==","signatures":[{"sig":"MEQCIA+h78/9k9Wj6ZazdVh09YePnJgf0IzugiFfFoge/DqiAiBTH1vXnnK0dy8v9uTZMqNXq/vgrWE2kW24aDB0RD6vGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2740810},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.19_1768680206601_0.5394413768526449","host":"s3://npm-registry-packages-npm-production"}},"0.3.20":{"name":"handler-playable-sdk","version":"0.3.20","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.20","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"149d92cd1528668a9dd9461991242504903425a6","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.20.tgz","fileCount":30,"integrity":"sha512-Iij7Dp8/t8BpkV7hat8MoZqavHry7DmIyVGQZPYPL/sQ35OfJu73LrBip3R5EOe6yLkROjZyFkjNbs6MjV5xDA==","signatures":[{"sig":"MEUCIQCsHheqSMvOmO7VZn7QLmOeuOWEiwEOGyhs6BSRRRT1pQIgPoFwIf2yDFQUX91oxmJFo226tWqp0NHz5gdLQlUpJb4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2856343},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.20_1768681190119_0.07189910781960629","host":"s3://npm-registry-packages-npm-production"}},"0.3.21":{"name":"handler-playable-sdk","version":"0.3.21","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.21","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"a1f2390996ae2700d17f3f8bfb10de044b925c66","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.21.tgz","fileCount":30,"integrity":"sha512-HX7qz4vCFKxKd4b1dEeazxSWda3aTB5pW1BTOQyJbtvnAmQyChgVWtHdbqbXiwqrCGscVcvtD6G7Dr+ZxjmCYg==","signatures":[{"sig":"MEYCIQC9Z5mVQqZKVTU3AkTkM3791foGfdoKDKzbAaGZQKrklgIhAMk0P40IuoxEWswSuTnerZQljCE4Cl3SIuPPSsxo9Deg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2784654},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.21_1768681445247_0.4174768230339325","host":"s3://npm-registry-packages-npm-production"}},"0.3.22":{"name":"handler-playable-sdk","version":"0.3.22","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.22","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"6654241edfa8f20e3f0f10083edbda5c6138d15b","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.22.tgz","fileCount":30,"integrity":"sha512-zlnhk+0c8Qit1xCyIEGX8irIsJ4ZANx98Tv8cpLtu+lgWp7fd0uJDTRM1cHQp/L4VBAM+QhmzuTFea0kqmUbZg==","signatures":[{"sig":"MEQCIFUirgQS49GJI094ofHeSwP2RyBFerTJE3jDDC+NCw3SAiBVeQdBvckL9zKeRyHB31pGbagQToFG0I1njoosUx5hhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2616909},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.22_1768681704274_0.8154383467378776","host":"s3://npm-registry-packages-npm-production"}},"0.3.23":{"name":"handler-playable-sdk","version":"0.3.23","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.23","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"a2c23fc9a702c980b5d89eed8a32ef67fc622cf2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.23.tgz","fileCount":30,"integrity":"sha512-HkOwzJpOsc480KHFMmJE9f84d7mjZ6DMwN4NelS7fm8s/tDG8P91/xEKH/LDt9CzaB7BjEGdwJ+v7nATNaxe5A==","signatures":[{"sig":"MEYCIQD6Ojob8rx+uFMeof1ISBNS7XDBEobaTP7z7+LotuVD0gIhAOxrqTfCD4z3dtHHo/+9ZWxPT4EFUn/hJocpWyyjoFQv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2702823},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.23_1768682391660_0.388339577769264","host":"s3://npm-registry-packages-npm-production"}},"0.3.24":{"name":"handler-playable-sdk","version":"0.3.24","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.24","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"70e8fd320afa74ebc31546cdca56dac8809e2923","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.24.tgz","fileCount":30,"integrity":"sha512-1ui3jUs6/JpU5WYOY/M0z1tg1k7vYXYMAF+CVqB0RLV25urOPhvOC0x0PI7clV8k/b9Rk6pMOLLht3OTizgUVw==","signatures":[{"sig":"MEUCIE+ioT42aZ3+IupOodS4dqi/l4koZj1TnVZ1F9JXuUgjAiEAqGEU61Sdo/5rsyAkAcvWAV/XUw5g9S+QoG51mB8/UjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2658685},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.24_1768682640814_0.2499122439221786","host":"s3://npm-registry-packages-npm-production"}},"0.3.25":{"name":"handler-playable-sdk","version":"0.3.25","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.25","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"21dcad0cd56c2daa903585d6bdd96c5566ff8497","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.25.tgz","fileCount":30,"integrity":"sha512-VIzzp5rThbqrtPZUCcppBnccHbvYCn14Hjy8Wsaw+Hwd9C0G8w5sD/8AMSoD1wa7OWmEjCfUVnkNE1ylHq017Q==","signatures":[{"sig":"MEUCIQCtxLxApa4HSCzKNAZ9jopVOTTc71uyU6U5YbApJr9uCgIgJliiji7fQkY6GlvaMslFBQ2/cAXpqL01HSm5OMNwbMw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2745452},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.25_1768682915161_0.7649457188769102","host":"s3://npm-registry-packages-npm-production"}},"0.3.26":{"name":"handler-playable-sdk","version":"0.3.26","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.26","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"1277887e2a90e51c9da94977a33a2885e597f985","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.26.tgz","fileCount":30,"integrity":"sha512-/khPZFbspFInxwXryEQTV4SWq5VXmrJc7qdgdtuyhNBbPgIYSNCFXlS3RGq8zzQcBxa4V3AGKMIykJOA7YyPug==","signatures":[{"sig":"MEUCICGBwdVg8xzB2KlMgkbsaakw4vZJzehJDhyhU00bB4vvAiEA97PQ7br/tWehGcmI6gMPY7oBs1wDG9uytp1486pAOf4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2648088},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.26_1768683571083_0.6957520960811134","host":"s3://npm-registry-packages-npm-production"}},"0.3.27":{"name":"handler-playable-sdk","version":"0.3.27","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.27","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"464f719dffd3eac79e4a5e16af2cff29a0bd3488","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.27.tgz","fileCount":30,"integrity":"sha512-rOC/tj2nUWgbpgwLM2E8lh5p70s9V2x/frHydPfptG0QbPORFrs6vFLjIRbMPJiZs52QDUqdhdMj8wQ23Ul8/w==","signatures":[{"sig":"MEQCIE1tot5/jb2AWNeT45GhRFxT97d3HUInaAaw3GsAVN6gAiBLB+hLGXLF0jvWoeMOE7dog6Nbrbhjk8okOkZNWfzKTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2824070},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.27_1768683885663_0.9426690112442122","host":"s3://npm-registry-packages-npm-production"}},"0.3.28":{"name":"handler-playable-sdk","version":"0.3.28","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.28","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"5491e6c00aa5e4e1008c92f9d11258577fb97ed2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.28.tgz","fileCount":30,"integrity":"sha512-MTZN+lDo03ZTmym/wWzITOyCkWKwQ9XOP6f4QCmzoqD2KhAScupwqdkgq9SMd3+4vLn+wQpVcMXgD4PVq4dkgg==","signatures":[{"sig":"MEUCIG+CQhA07ybKmPkuBgpQxDraLKgOslE9piDw4BmVXt0lAiEA6Zw3tRjH/zp2Rq/oa1dqTE4KCK4uUiRRm3LeswLAdAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2583448},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.28_1768684099552_0.2593166899162085","host":"s3://npm-registry-packages-npm-production"}},"0.3.29":{"name":"handler-playable-sdk","version":"0.3.29","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.29","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"f83091809473075ef62e7dd3d832fa5f0908dc10","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.29.tgz","fileCount":30,"integrity":"sha512-NdMIfDps/Zcl5UzHgMVHBmIesjdbNAC2672rTBlpe7HT3/NaMTGHD+aSVS1ejKwIDNA7+4gyrJH86wqMEV2Plw==","signatures":[{"sig":"MEUCIQCEic3NOCjYmvBc533nSv7o61+L5f2ZtKmEZthdBrKhdgIgWErItZu1k78O2saW6Os/eodOMm/1eI5QOC/LXgU1L2M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2593848},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.29_1768684275346_0.195021523166391","host":"s3://npm-registry-packages-npm-production"}},"0.3.30":{"name":"handler-playable-sdk","version":"0.3.30","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.30","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"3f0eb5c0b91d6ab1647a3ebe64dd81e7d28bdbb6","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.30.tgz","fileCount":30,"integrity":"sha512-HAkT/M3qhA4u0JD9pgtvDIms7gyCGBlAW1IAniISjb+My94UnwmqojcplcjLuDbeTBdCqQ1vhqMWRUQ6omiw3w==","signatures":[{"sig":"MEUCIQDGzLVPOMgHQ81/oeP0kBrmDgUd/f/OHWnJohzknTeQSQIgKkwDM6xV9ubpzxrSATIXdH7tInqp0V2xQEna13l+HM4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2616065},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"1f1e3e850689b361509ee7397228f5d7b67dc9bc","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.30_1768684660292_0.5955319654148348","host":"s3://npm-registry-packages-npm-production"}},"0.3.31":{"name":"handler-playable-sdk","version":"0.3.31","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.31","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"dist":{"shasum":"4dce0b62c440c7105f261ddefe5ebc9c3d15d6c6","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.31.tgz","fileCount":30,"integrity":"sha512-55Rm/7y/4SW9/SAJRC+cGR/dSgoYzEXAyBpYEPljromb9GTp3l7YOelBSoypiurFvrJN6UWcNSdXGpXPubmoCg==","signatures":[{"sig":"MEYCIQDSO6Q2DMdkpcJosi9NZRXREaqlhosKS1ys0urAG6DjtQIhAPNDXV4QbP9sqo5XPT3JT2q6ajMi7O+9xGbPQH1IvtDJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2851185},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"bb6663910d002c1e2193067284b97da30ad38577","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.31_1768777576752_0.41078609102114405","host":"s3://npm-registry-packages-npm-production"}},"0.3.32":{"name":"handler-playable-sdk","version":"0.3.32","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.32","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"6bc09f460f6394fa3943d4a840fb2d27adbced92","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.32.tgz","fileCount":50,"integrity":"sha512-9UaXooYJ3E5+1yWsrSa2wc4ixnCYfYO8fV++XoM5zMnvJprOgwqb4JC+YMJUpu1bv7SHqY6XjUQJ5N91Cs33og==","signatures":[{"sig":"MEUCIQD1CMcTU1HjKTMphh74DDyC8V3EAReePrYIBp+cEtxJWgIgaV3KUBFlIAEUhQUpAfIoNz2DI6FOSH+BKoe+f+bwLss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4258431},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"d30e2de13491837a9c6665100a3435eaad0ed8d6","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.32_1768850573367_0.5255878528204376","host":"s3://npm-registry-packages-npm-production"}},"0.3.33":{"name":"handler-playable-sdk","version":"0.3.33","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.33","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a4bb37dc9bb73a0cfb20390a670219543de1a09e","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.33.tgz","fileCount":50,"integrity":"sha512-I6IVHechUqdFK/APTlmkFduP7uM4poHQ5zePL8nqZ7yq7yLXo4RdQ+lL3VW5bGYC/NjQPObN+J+VGp9xI2Gi8w==","signatures":[{"sig":"MEYCIQCXAisfxahp0Coi7nvYSZto3N2jNXkYRVjNz7rhpXGmpgIhAP13ZE+TQHIE59ZsVuJDiPTO12YBlqN8tAvEeanLtaLX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4302019},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"d30e2de13491837a9c6665100a3435eaad0ed8d6","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.33_1768850731231_0.9543879221698455","host":"s3://npm-registry-packages-npm-production"}},"0.3.34":{"name":"handler-playable-sdk","version":"0.3.34","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.34","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"b302268f5a032ed214c2636608b4b730f395e496","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.34.tgz","fileCount":50,"integrity":"sha512-p83MRlLZ7DZibyrXGrdk8sgxEqYMZmoodurl64awbLe9tMVGTpRwKOYib7LFq9ijDpoQVcVeXdgun4c4a1xWFg==","signatures":[{"sig":"MEQCIGu/kxU0D9WfZeA6drQxtImtUk5PaYee9xHwRPON/CLtAiBBATEf8jemwiW3FLdgWOTbADLx4GQeX3hoF4G8Kk3Rzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4222188},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"d30e2de13491837a9c6665100a3435eaad0ed8d6","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.34_1768850896756_0.3538042285108509","host":"s3://npm-registry-packages-npm-production"}},"0.3.35":{"name":"handler-playable-sdk","version":"0.3.35","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.35","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"c284b49641c217f5ef50bcfa26b922c3def4e3a9","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.35.tgz","fileCount":50,"integrity":"sha512-/9SViQxGJJtM8EJzD0Fb7yjYU7hKRnmdvvhbX2B1vfUpqHUSuVI/bYQBk9v2uDQvJFcugyTcKtUADVOaI4VKlA==","signatures":[{"sig":"MEQCIEg1e//wjWwZ257dB6eDZtcOZnl8i/sjf2desI+GAkZZAiAqt8dHj15LQZ8iRbMEF5uREZvr27OXxfTODO0cBMhZzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3715600},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"d30e2de13491837a9c6665100a3435eaad0ed8d6","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.35_1768852847884_0.04817592010171734","host":"s3://npm-registry-packages-npm-production"}},"0.3.36":{"name":"handler-playable-sdk","version":"0.3.36","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.36","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"8c1e97c610d1dd1b422b99351d2a2bcd229ac9e2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.36.tgz","fileCount":50,"integrity":"sha512-YCiISLzA19Pn20DLLn0mVj9KxZLOWfgqt381+NhSP5wyJtsM0AuqCo74H2zQyuGz4l3/s9Fm/j5J82qhQ5nKyw==","signatures":[{"sig":"MEQCIBougNS0pv0J95XAQZRkCEpSMmCKDxaTSwOtvUN0IuFnAiBJUA7r+WjfrBnPvrCLQGOFkysCf3YByNAWvqPx/Q4mhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3851109},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"d30e2de13491837a9c6665100a3435eaad0ed8d6","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.36_1768853260177_0.720823052802317","host":"s3://npm-registry-packages-npm-production"}},"0.3.37":{"name":"handler-playable-sdk","version":"0.3.37","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.37","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"095a01b19997eed43672adfb9695218377e5ebfc","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.37.tgz","fileCount":50,"integrity":"sha512-33itdrYQpOnq4s1L7a+e7rk9Nk/bbeJ4iKajBD+O3uvmG3gs8yLwhD/jxkgLgmjyafZgrCl+Q6jRWytytRKGmw==","signatures":[{"sig":"MEQCICWNqwrexhK0FPhJyPbbv3ZQpQMF+PwS01tpJbaJh1doAiAqT2TX/z+mwbbS/46SdIgzprVr7WhLyDpnFsoNrOxD4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3776893},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"d30e2de13491837a9c6665100a3435eaad0ed8d6","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.37_1768853496421_0.5673818387297818","host":"s3://npm-registry-packages-npm-production"}},"0.3.38":{"name":"handler-playable-sdk","version":"0.3.38","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.38","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"1bcd0b7e824d6197716e2258849d1b56d9a9902a","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.38.tgz","fileCount":50,"integrity":"sha512-UuqHaT+q1Amp4cRcGpD3szrrGEqPIzxyRwMjbev2GJDTj43VY0JYZ7BMiln1CV7yXFCiJjsMYXOt75GrC6A4VQ==","signatures":[{"sig":"MEUCIQDzc0ijpN3GBzXBhCp3fjRof2kpl/+iSADV5NphMhWJlQIgOECgRJlhCz14oOBaAVXVoK/v4LubpyYPmv2ISd1HZOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764861},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"d30e2de13491837a9c6665100a3435eaad0ed8d6","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.38_1768855310126_0.1930583005158628","host":"s3://npm-registry-packages-npm-production"}},"0.3.39":{"name":"handler-playable-sdk","version":"0.3.39","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.39","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"1ef613caf0e23735a36fe93e878f803b48325bf7","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.39.tgz","fileCount":50,"integrity":"sha512-1v7aQYMD/BW21TMGgCjgFt7wtOGDdltXGdLtvEs1GBHC9ifoh5TRxijV3q2uDZ+wGqLyZaZ4UzIhsiq1XrzNtw==","signatures":[{"sig":"MEYCIQDwJaBUOiZdsCct/I+o8RmKOLfyRTqr3DUa+xmO35JwqAIhAP2ZOXOdSKM7fzEH40fWSb1FMy6pbOSZa3+HnEtp9ah2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3633422},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"d30e2de13491837a9c6665100a3435eaad0ed8d6","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.39_1768855536146_0.39148810050046023","host":"s3://npm-registry-packages-npm-production"}},"0.3.40":{"name":"handler-playable-sdk","version":"0.3.40","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.40","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"5607899372f2cf81a81f75bba970e947dfaf3d1f","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.40.tgz","fileCount":50,"integrity":"sha512-wY7Stxyu38ak+W+o6yMjTVTBwxvYF/6Y6SbsafpGWxGQ/nKQ9iCoV1qswr9Xolit2mtWYRnI7TQPOn19n1tPRA==","signatures":[{"sig":"MEQCIC6s7fhb4ev92+/nx+SNy9nCHPx9ImF65arXalTdBH9XAiAv+FV0X4TG+PgydzNXskR7O2q1Kj6i6VX2kMLoM4qeTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3621790},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"37afdb9dbd313a32d2f6dc5c5d58daea10787f3c","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.40_1768856334718_0.44413068073202244","host":"s3://npm-registry-packages-npm-production"}},"0.3.41":{"name":"handler-playable-sdk","version":"0.3.41","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.41","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"3f3788bba6c5cf57032eab196ab34c179c9504fc","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.41.tgz","fileCount":50,"integrity":"sha512-/l4g0Abml8xDpKPOdgPo/+4/kimO00F5NROsbKtVbPwkhxkcWPLQGUIbc4Mu5LPTWAtsRDVYvbQsEEjdYTa3AA==","signatures":[{"sig":"MEUCIBdsKDWaCDnPXVPssTZ5CrNT4/eXpbl+UypFUvL7bDMzAiEA791yh8m8aiUbuPuxzRbAAMLoSFsU1cG8hxSLc90zerY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3656182},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.41_1768857166102_0.19794932267280818","host":"s3://npm-registry-packages-npm-production"}},"0.3.42":{"name":"handler-playable-sdk","version":"0.3.42","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.42","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"be297040dba8ac44376007c2b4c89d6584c5d24f","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.42.tgz","fileCount":50,"integrity":"sha512-FTvomVvQ/Om16gmJKamYsuyqbacBzzJVzgwSLqVuVw8q8ax7leiLUChe/9ngPk0kBZemhJ5vWSBjgjOgijRTGQ==","signatures":[{"sig":"MEYCIQC4tTjX01wyZNt6aNpqSGHAzq27KnEU6tr5RUFGrakqHwIhANykhHwqTv/o8oUhdAGJZ6OTajj8vtwmFLUardQ38hXu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3829273},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.42_1768858895866_0.1620746245136233","host":"s3://npm-registry-packages-npm-production"}},"0.3.43":{"name":"handler-playable-sdk","version":"0.3.43","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.43","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2fdf8be4c790b9187624a953d384717cac29fd31","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.43.tgz","fileCount":50,"integrity":"sha512-Lib2IxkAHbTA+bZAoZsfNc9tYwJBhrnc4jhksj0wnw3as0NjD7ZxM+YytEypGzSb0uVtZaGR6kPK7kK3FQ5o3Q==","signatures":[{"sig":"MEUCIQC+YdwVm//QX2P95jNUmsvzVKClqf/lFPWpSfJQa5fVKgIgE5FfJD+RdQgZzWYNMVgKCPELgrmJTkxUrpJUL6iYKqk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3894945},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.43_1768859259795_0.2602860829714442","host":"s3://npm-registry-packages-npm-production"}},"0.3.44":{"name":"handler-playable-sdk","version":"0.3.44","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.44","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"62f15dd12530a090e07833361a92d602dc42c6e1","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.44.tgz","fileCount":50,"integrity":"sha512-ysYG5KMwc85gwrq7CXoOxX+jSy4S9/o+xJpmJOVBZMAM9miwzx2V+rKl96k3hC4xUX8ha7NllWiW4m5V4ooyFg==","signatures":[{"sig":"MEQCIFhGF8D9Fvj6vCvdHF+YKloRlINavQZ2ZClzwxjRUCOHAiAh3yZ92m3ZTtkFk/8Hk8fq9mrtXoScu5WMPYUBUqt8hQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3834844},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.44_1768860441258_0.45683588986855606","host":"s3://npm-registry-packages-npm-production"}},"0.3.45":{"name":"handler-playable-sdk","version":"0.3.45","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.45","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"0e3d6e8262de5e9ed56ff60537bf0d11d16a57df","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.45.tgz","fileCount":50,"integrity":"sha512-4/rgAm1IL0pSLi39cwsXnJi1T+2ifeNrX63kN6nS93Uo2WSLsZmJpFwAKOJf1LcuSlqk0Ui7VpPx13YTUYp6Mw==","signatures":[{"sig":"MEQCIGxch9HoN+03aACUcsEbT7QjXd1YJQkAZ/RQMk6MVr3vAiAvpRSVr8tZlVuLREMN8yeKjtmnwWF+Zj3TnSIeyQtyEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3751717},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.45_1768860649417_0.561776236951421","host":"s3://npm-registry-packages-npm-production"}},"0.3.46":{"name":"handler-playable-sdk","version":"0.3.46","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.46","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"6ca23edfcee7aafd00b921ed05633e32f3ca430b","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.46.tgz","fileCount":50,"integrity":"sha512-9N+01Ky2ym2TsdaLXh7HtGtZCDdn63Khs0WD9JVzUYq/ONcizVlh+CPlk3zZFkpFMnLemaJwAzz4O7pQKK+3KQ==","signatures":[{"sig":"MEYCIQCaLDrejMME3QNK9I0ylNjziHBrvL0CbqcPbrP/H4ZcRQIhALOfmROArakrZQKXdfLLHg8rzD3GcN9vUuuR7d6UnZcX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3622215},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.46_1768860763387_0.6888416390940748","host":"s3://npm-registry-packages-npm-production"}},"0.3.47":{"name":"handler-playable-sdk","version":"0.3.47","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.47","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"5548fd593c2ba88a1e6a36d5dfd0e9990a997785","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.47.tgz","fileCount":50,"integrity":"sha512-gXJNXZN9bWoB1cqwNpyDy3zdOq6ogfzb9gc5sTp+fFP9OlZq7fKZckFQdxE2LAe0OiCAWk3w2SXJiim7v7rvkw==","signatures":[{"sig":"MEUCICxWKNWS609EsgdlRHFW+fCD3XbgQICM5k0XyviHjauSAiEA7xOeBL5xuXQ2JH0Hj7beeTJ3gwD6xw1K7GLv3rxbbeQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3665260},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.47_1768861409482_0.05686822965354632","host":"s3://npm-registry-packages-npm-production"}},"0.3.48":{"name":"handler-playable-sdk","version":"0.3.48","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.48","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2d949b88e3bc5c8587ee8d4a6c875f43da6f4df4","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.48.tgz","fileCount":50,"integrity":"sha512-Nd0CHQNj+71oHU/9KooLVc85X4c99eSD+/kOLkEQ4vDpAmZW6BPD/D9bt6EwE7pRvOdXS6Vz6uxpYk8OD5D4EQ==","signatures":[{"sig":"MEUCIBrMijUW+n0ya2mtr7AfZ7LqZ9kplOFiVSeMAIzAOp3YAiEAseVzDvDP24YT9JpRbtMVDBFH1/woqVgysmZE3o4bvvs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3624080},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.48_1768861720909_0.3135932414912468","host":"s3://npm-registry-packages-npm-production"}},"0.3.49":{"name":"handler-playable-sdk","version":"0.3.49","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.49","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"483e1363dacd173160f15204100eb951976aa128","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.49.tgz","fileCount":50,"integrity":"sha512-TSoxCdDQFIHRDNxCFnj/wvzGAxVNCPWMrHccF2fZPYrNAeHhvdoHH8iK4fugbkiOPCBQiBKxnvnFlrym3FYIFg==","signatures":[{"sig":"MEYCIQC1JnZozgKhA+8Wjjae1qn07VjOR6ezs9lCkGmHxJbe1gIhAIhSIGZzUBRmnQCEW3q0YPceXGguph3xQczsutSSC0hA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3855586},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.49_1768862148147_0.06434399978952343","host":"s3://npm-registry-packages-npm-production"}},"0.3.50":{"name":"handler-playable-sdk","version":"0.3.50","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.50","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"fa9eb3361eabf055f9288c899783ff5357c89793","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.50.tgz","fileCount":50,"integrity":"sha512-5XE/R26trSgJLUxtdcOQtGv8yzp8/X15o21ixFWopdK9NnMkT2VU4Zjf8Sq18Bup1/Fe7az7cO8bY0YsnEu8QA==","signatures":[{"sig":"MEYCIQDgOxkrSxRpqBowhUzz2rVYPZTWnIDqGtGHubfpmtIfpAIhAK0EUTUWd2CLuPVQHjhRYw0PhWdXOuEC34nwYz26S7yL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3563171},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.50_1768862774900_0.21110468769687007","host":"s3://npm-registry-packages-npm-production"}},"0.3.51":{"name":"handler-playable-sdk","version":"0.3.51","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.51","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"c267eee355317691a136a6e385d06c4dc4e4b96e","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.51.tgz","fileCount":50,"integrity":"sha512-zLr0YCXrE2qQHa9FNuBuML+STz7DdCCrX2f9+7c12G7FOMKNyO/Ql+lJ6P8gBJGEjLhzQjgj0ebvo5gvS0I+uQ==","signatures":[{"sig":"MEUCIQD8CHlqpS95VcvIknEr0+uxHT8WaJCDrEgn7mOSE7eTnQIgSiq36YLlSWFRqaKtbXGjGB/33YWI/FQF3ixLvm+XFBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3785574},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.51_1768863086480_0.1700758537217979","host":"s3://npm-registry-packages-npm-production"}},"0.3.52":{"name":"handler-playable-sdk","version":"0.3.52","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.52","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"968c86edfeed00af0108ce40bdc88c6c034994ce","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.52.tgz","fileCount":50,"integrity":"sha512-v2Bgwxw4s6o7d7DcWcjnS0eGLnOt3++sTK/qyIVCGvbE22voer//2WRcYwcJwGvM2nTNM9KVH32kejcPgJTM0w==","signatures":[{"sig":"MEUCIQCRmL7OKwyy4+lXRrW4dlCG/GzR432UfqoKcClmdRIF4QIgav8ncXRS5kaNBPCbY8b5UQ04ZQ1vNy4oaBXyeHKTXgY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3669772},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.52_1768863313825_0.5447244010538657","host":"s3://npm-registry-packages-npm-production"}},"0.3.53":{"name":"handler-playable-sdk","version":"0.3.53","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.53","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"e184fc30e2a2b65f6923c3c7f2269aa46a632188","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.53.tgz","fileCount":50,"integrity":"sha512-Ynxl95rkqknBWJ7UsaR1cqfPvJLhGcOQuVBOXc7JRwj5PQiI+sP5e5LJoiTiHoWuYpX0Op0y6eJfU/mNxIRLWQ==","signatures":[{"sig":"MEUCIQDuNkAuhC4YMrvjhMMRf5DIJaw4MTViNrZnFd+JYNCYtgIgLcHs3ReoREbc/fME1Nk5wjHIRslgf/YaoConV0c3Si0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3643118},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.53_1768864224918_0.6456172340715312","host":"s3://npm-registry-packages-npm-production"}},"0.3.54":{"name":"handler-playable-sdk","version":"0.3.54","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.54","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"d6424124fb4649749c490f8c08b4a5d7141ee114","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.54.tgz","fileCount":50,"integrity":"sha512-5KHbTGuZ0Rag0s4mIZZ32XBRegdYtzbUrXrFZMPD4D2rPGuHa+HZBvn+iQsZyomdjZhJOok436zoBb9H5ODX+g==","signatures":[{"sig":"MEYCIQCJfZ0sWWg4eBem0IcYYUASiwIFFnXJswp3T/8TEVjdtwIhAJAk1Yng6EmgGXjODPdEntKYrgi3v7B0mGDhSb2LSGnY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3687700},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.54_1768864433383_0.5239173595375917","host":"s3://npm-registry-packages-npm-production"}},"0.3.55":{"name":"handler-playable-sdk","version":"0.3.55","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.55","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"d5cb5d15b7340ccf6ac80cf2d73365ea94191826","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.55.tgz","fileCount":50,"integrity":"sha512-uL1BDdOLte6IOw8YxhHnu56zh3KOa6KGkCeTOZQg8ZJVHOz/jHqseqATcPYXxP1OWhdl9v3XEt1ldzaT3aHcfA==","signatures":[{"sig":"MEYCIQDp9xaKiS2OOtwRqTHM45PaYvPqBscSs1meQC2uc7i5KAIhANf/ik0P8nVuMoFJ1TFf50KH66hAgLJy4H85n9Jx+GOM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3734000},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.55_1768865163485_0.6632980936732016","host":"s3://npm-registry-packages-npm-production"}},"0.3.56":{"name":"handler-playable-sdk","version":"0.3.56","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.56","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"432e48638aa3f278aeb01173c5c3dc13aed26252","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.56.tgz","fileCount":50,"integrity":"sha512-iEld4Isln4DgX8RFVyqdZ6buDuI3wk8W1CqyiXIQmULCdBmdv0pqzt6fe8KsNpuoZwHMTbxxN3pIUPVDpGKk+g==","signatures":[{"sig":"MEUCIDEepqI5mRALV4b8q+a9FZGEsPSva1WYunQ7PnfNOM+eAiEA8b8zrZhHhC4tuvmUeMYO40ns7yxlLB4hXdL+PvsNwAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3878919},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.56_1768929531689_0.8683423025341803","host":"s3://npm-registry-packages-npm-production"}},"0.3.57":{"name":"handler-playable-sdk","version":"0.3.57","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.57","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"ec4d64f6fa1c9405a09329f97018b6f0de376814","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.57.tgz","fileCount":50,"integrity":"sha512-nq/faZztS73BfgBFqgXDWmtvliPavpUE6+GkJyQaO3lhaxOyvQQ9EpRs1FFk6vy+k8E2qOukTAxpSJvYAgV3kg==","signatures":[{"sig":"MEYCIQDatwN6NjMu4SR/qtI/GZzye6iDzPDY5dWSqt0mWL6BDgIhALGCwuLAhGcD0P8IzEBbUuDIBwY+gRt/xJPRJCVEEo2e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3844434},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.57_1768930371918_0.4158264973588237","host":"s3://npm-registry-packages-npm-production"}},"0.3.58":{"name":"handler-playable-sdk","version":"0.3.58","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.58","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"7f1b5ec7c5386f8e2c5e96accf187df8a059643f","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.58.tgz","fileCount":50,"integrity":"sha512-W6oBvjkHheFXFKPJbtAH0Go5rMAv+/sl6TYAupiKK7T5mbcbFatNNulpNwzxVNGDfkjx4RDk7xDWLkATlkkHUw==","signatures":[{"sig":"MEQCIDz34zP1dJvLP5AaleXxLufuLZqjga+2WrigNBD9J9koAiBoqEjO4Cd5p3Ik/nLtoG5HaFOdYNKZy2MvOWIxIQnSsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3777504},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"4d47d312d0a9c7c878436766ac9d69e07cbeabf2","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.58_1768930885138_0.4298631977594387","host":"s3://npm-registry-packages-npm-production"}},"0.3.59":{"name":"handler-playable-sdk","version":"0.3.59","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.59","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"9a2a4161e2e10b4f8e5137a0916bacab802a9427","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.59.tgz","fileCount":50,"integrity":"sha512-Hpt3uXVkSiBn4KfFhLYZXvViL+en+oddJkhvHqYguyeSdnPM2TYskquNCWISg8V8nyJdUokaf0VYPKgx7d2sGg==","signatures":[{"sig":"MEUCIA0hlx+MQuzD7DNz2DEaIgBOvOvJo4tj52tdEfI6ujtgAiEA5QOt3YgNP48zAxBM7T3fOOQ41lGXQSVKDiKnCPg0DHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3771699},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.59_1768935379668_0.008911341859138888","host":"s3://npm-registry-packages-npm-production"}},"0.3.60":{"name":"handler-playable-sdk","version":"0.3.60","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.60","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"173bd73e006da216ef7a0465e52302234e6c78fc","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.60.tgz","fileCount":50,"integrity":"sha512-80lG+0fqXppSeeUtavLfuNQ7t8t6AKEmlDTwA8lQlPtoemdY/YfL7SbTVnKfc9lZd/KACpn2Fdh4vq7G8O8cmw==","signatures":[{"sig":"MEYCIQDlSSR65+0c+yad+zZOAep+xOGla/R8bkmCisp6kKuF4QIhAKb0xi6UD/zqoBoHA1q4ey9kCdUSkdUxZHHcORN0cGym","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3923702},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.60_1768938487395_0.24956115182532712","host":"s3://npm-registry-packages-npm-production"}},"0.3.61":{"name":"handler-playable-sdk","version":"0.3.61","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.61","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"6363d8e97c38c389cd416fd6fa87fa10835252c2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.61.tgz","fileCount":50,"integrity":"sha512-Z400wL0LH5hafhbihLWRkzx4x5b2zCWK5KdO194te1WW7Jzf7ej8HHsx3w7fF9dga1WMNRoX6zs5qC0JKvTAyg==","signatures":[{"sig":"MEYCIQC24SdfqbcAJn24Og04TAD/JsO2AezI7aEMe+z7BRMzfwIhAPyAIMSIEmbMNyt4JLyKACibwFyR9dRUgiOjaD1u7ECY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3794489},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.61_1768939298881_0.5400850163258808","host":"s3://npm-registry-packages-npm-production"}},"0.3.62":{"name":"handler-playable-sdk","version":"0.3.62","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.62","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"0b0509da4b288d8488afc183a14eadd7026c2257","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.62.tgz","fileCount":50,"integrity":"sha512-WndMXQYR2VLKkvKpEPZBYWjJ7yZmMF3/yHcE1xkh5FWajFYk3MKp4khWks5zjBASmqw+BVjFXmR2OaZtTHpPHg==","signatures":[{"sig":"MEUCIQD4WbjOUy06tgYE8K1WGd4Gq0GvDmPMVqkvlBiHJjDaYwIgZEKY449pQLxpwzqQxc7YoxdgqesK7Shi7DqtKkmGEkI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3827618},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.62_1768991099570_0.11473011903274832","host":"s3://npm-registry-packages-npm-production"}},"0.3.63":{"name":"handler-playable-sdk","version":"0.3.63","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.63","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"af75982e2fcf40f570aed06930a1afb7ede7bb86","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.63.tgz","fileCount":50,"integrity":"sha512-ScWlLkJ9vQsUOuzkzHzC1DCP4Ii3lahFVd3J/T7JYKIjBJQ3PeCn3vjPqB+QpFsSoEtpf7RJP1UsOSNDG9yLXA==","signatures":[{"sig":"MEUCIQDW08E783pIXsziP9I2qkio9maXnpBIvZXj7Nifa7WAfAIgB4TBDtDt2xb7mmkOrGPKNguCbxb6CThsJzNTFeMzZI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4008814},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.63_1768996016550_0.3700262389373281","host":"s3://npm-registry-packages-npm-production"}},"0.3.65":{"name":"handler-playable-sdk","version":"0.3.65","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.65","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"31bcc74c35e723268d22d30d30c4805438e03d6e","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.65.tgz","fileCount":50,"integrity":"sha512-3L0rQxEMX+R8rhBv4+REhjWTqtCpfklEWuqnq8S9SVlyCP7uYE5cHyYzviSPg9rFM79oP9wc2B5TLnQw5+OAPA==","signatures":[{"sig":"MEYCIQCszPayXFbpKSSWQzGu3D1/9peFKgAQgYaGiqjaOjeJMQIhAM7hFEBC0Pk0W4MytfzwArm8Rc0lqlSn8RyHkDkRQWIo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3868002},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.65_1768996794729_0.2210097046273125","host":"s3://npm-registry-packages-npm-production"}},"0.3.67":{"name":"handler-playable-sdk","version":"0.3.67","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.67","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"aa0a6f18a83e0757c55d7d7b624177757225f8f5","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.67.tgz","fileCount":50,"integrity":"sha512-rE3XgjCk9flBne23u6zwf0GgYAo5Z97ocM00Xa11PUAbQrxL2K3zGxqCCjBaMVTnHhYcw33SJnpzJPxE7IbERA==","signatures":[{"sig":"MEUCIQD+OBsNpZNYe2vwuqJ7odyJT3WHjY10fmK/KrzVjazqVQIgPMc2ZMQHABzomi8atpUEiM6GDyba5N7xODbhlQ1I1YQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3830933},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.67_1768997328464_0.8883196603094861","host":"s3://npm-registry-packages-npm-production"}},"0.3.69":{"name":"handler-playable-sdk","version":"0.3.69","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.69","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"df13022ccd1454c91b8d9808a296ba63eef95986","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.69.tgz","fileCount":50,"integrity":"sha512-eNFviC3fPYZSRE+dWBBgo1NIE1sq4yMxAJeTRZvUPU+elA9dlpEBH7WDpxyTnEk3iAdjFXretmrNx7EM9lvnzg==","signatures":[{"sig":"MEUCIQCWMq+Dh6S8N9JXTQlv59kJOw0pM+S/6tNXp1jSEXI08QIgYKWDMiFmK8JtS7FKTYCJ8BObBkrxO15CygNXPvsFCk4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3814241},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.69_1768998447809_0.7673684663512121","host":"s3://npm-registry-packages-npm-production"}},"0.3.71":{"name":"handler-playable-sdk","version":"0.3.71","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.71","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"54ab247d23d448dfec632cb85d34da387d94a676","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.71.tgz","fileCount":50,"integrity":"sha512-o2SbOfkSfjWpRF+wXp2eygW2fY0HEiLF9BvfiqrjUu/M8oWfZj+2ucjoER7rWeVSk3p5DViLexP1Hy2RauSH4A==","signatures":[{"sig":"MEUCIQCuTKS+BTLT+vRZ7nRKOb4ynTBPFvOIe2+WFR8p+5eVjAIgEenoMW4NLo8rmBUED75TmLj64vm4YPKvDSGDc7hUarE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3946182},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.71_1768999780985_0.7287390155018736","host":"s3://npm-registry-packages-npm-production"}},"0.3.72":{"name":"handler-playable-sdk","version":"0.3.72","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.72","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a22e8d59ae94623c0113f5632ff51540727c25ae","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.72.tgz","fileCount":50,"integrity":"sha512-a6CjLuPbt8p46G9cjOrYX891KbYSJnozKK1diWFWi+CtWLE1pQHKOR6+wOegF6MI50YCWf9fD7NfXrkIoCQuVA==","signatures":[{"sig":"MEUCIGZfOYHWo+lDZnfNx9/a2cmcRK6AyHAxdZ9lfm/FA+dKAiEA/glpR/29rjtTi0X5foN5uaAs1x4oXIocPL2HD66NEJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3833210},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.72_1768999843111_0.6627984236752631","host":"s3://npm-registry-packages-npm-production"}},"0.3.74":{"name":"handler-playable-sdk","version":"0.3.74","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.74","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"4b034aa0698c8108704b8e3e5520195f5943a8d2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.74.tgz","fileCount":50,"integrity":"sha512-bZz3cJErVrkItQUvh3WcoypPN2Ii6PeZ05LVyqfYWUqZuq8rhOSLXQ3gOOUtBDWk/HMlC3Jw70jZ3vDKGoQMvQ==","signatures":[{"sig":"MEQCIHx2hwHvJfBQ2iBui583VJxy6fDko/bb/8hApCRLWXouAiAc3Fc1S2w+lidOwkC7GPdKKUgNC3czV2gXMCU08zZCfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3800535},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.74_1769001173817_0.9037164486176124","host":"s3://npm-registry-packages-npm-production"}},"0.3.76":{"name":"handler-playable-sdk","version":"0.3.76","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.76","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"574af384fcb659fc0c9ef75de4ae5c70b9e5d6a2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.76.tgz","fileCount":50,"integrity":"sha512-yCHKS0dld2ChuyHQtbcIvJY80NC5AFuQIaLK/9/RXJ2lYjTxi0j1EMTTuRMS59t28q8/dYotoVbafcbbKS9Wcw==","signatures":[{"sig":"MEYCIQDV/51ItyciribFqjLE2g6uu3/Pz5X+wsH4zkVQca33ZQIhAPPe/smcvNKSYpRD/n68F1kH6AAlGMqvPwe1G1Q7XGvq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3783867},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.76_1769001703042_0.805286753904491","host":"s3://npm-registry-packages-npm-production"}},"0.3.78":{"name":"handler-playable-sdk","version":"0.3.78","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.78","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"c922f0953313ffe4500962a4f2849d672aaa8588","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.78.tgz","fileCount":50,"integrity":"sha512-hOfhTFbV8WeWb/sPBtuiG+FOn09/+60DdIi4M7IesH35opnfXzgnujOVO/9yBcnNyRC468HgloscW6DNGiJdFg==","signatures":[{"sig":"MEQCIDoPYi/0RRZ/gxFUH8iyZTPXEoyRfzyAZMm/v3T06gstAiBxjs20QDCcf36HS3UaHHg57HEOsi4QSJKLjx/Pe2jy6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3871881},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.78_1769001914237_0.5329077585453847","host":"s3://npm-registry-packages-npm-production"}},"0.3.80":{"name":"handler-playable-sdk","version":"0.3.80","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.3.80","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"f66e44a7f2679cc44d6d2939ce636e0c0ead9a58","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.3.80.tgz","fileCount":50,"integrity":"sha512-440OuaW6LRuceSvIran1UfcNKfzmTfxQ+cvZY2Hyda/Gjp4RG4lHwdgfTj0A0nOgtAbPR/SyLNBFbHTh7fAGxQ==","signatures":[{"sig":"MEUCIHu3sm7f7WmMZId8C9P5kqXNFcYvkMokhxmKwgya1+QQAiEA87WYVr9F8o56BAvptUSEvxTaHjCNGsHOHe5b5fkvuDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3866155},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.3.80_1769002903949_0.4325590520498672","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"handler-playable-sdk","version":"0.4.0","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.0","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"006dd0712c21f1c14938b4d935445e8c55925771","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.0.tgz","fileCount":50,"integrity":"sha512-f7RKRAiMzJF4fPw+2KqIy4wWlxQdECiOyhwzNl34B6Njn1YmPaRdaY4bMiicYXDHR9qTFbn3xFIWJHtYCqJELg==","signatures":[{"sig":"MEYCIQDUMnDYPm4t+f1WbHXcLztg+62+k9xghIedPrtGbDociQIhAPgw61ZDYJOL9Mnz1mg6C233ztDdiEi0jPBfH2ucyg5h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3828427},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.0_1769003038878_0.74114114454582","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"handler-playable-sdk","version":"0.4.1","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.1","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"bc306f66e3bda3970a547b0ca0bf190000e31115","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.1.tgz","fileCount":50,"integrity":"sha512-bVoNr+/risC5JQBY0076L6M/LNeJTqYEfrs+qArdZXXY0bcUtzM7n7n/7hZ4As/E2qV8LQVKJy6eMzLLmG8WpQ==","signatures":[{"sig":"MEQCIDhJGEtRQs7B2qLnZjLM3atmzy/w9XEwKAoGbuPFd9v2AiAPN1aUZvCeBqFB7LcZ69/rjdXMoUiExU6tkdBqoz2Hmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3812829},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.1_1769003451821_0.7059230295541925","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"handler-playable-sdk","version":"0.4.2","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.2","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a6616741459a3f11a7ba537efec31fc018566144","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.2.tgz","fileCount":50,"integrity":"sha512-IwNjT9R58fjV0QGo5Fv2mez5UNyw+jYxEPQm2PsbUednTFBtWuYqizH4vLgtkvtVhbZ91zghX/cLt4NGT4CSNQ==","signatures":[{"sig":"MEYCIQDgleSgzcRkuAJd/6VWfEIFHu5ssiD4//yX/C/ZuhOAkQIhAIbwgvgkp7q/4PmUW4yWG15nbAZgLqZ2mLdH9yI+OvRN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3993947},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.2_1769003837196_0.3177052147796151","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"handler-playable-sdk","version":"0.4.3","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.3","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"f5b86d85232e8733ff4a6d7c98457efe13b63cca","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.3.tgz","fileCount":50,"integrity":"sha512-iSBWSwTjXogFQCJOc6NaHm3wQWIdgmXP0onf0eQ/Kb8VWITFasqTLAi+QkD9qqJfTfCyzk+cORZqSNH3gabO2Q==","signatures":[{"sig":"MEUCIQCscgbPINtQV9EklVWG3oirfGqg74RI7kniKAJKMkqqxAIgfCX3E2eq+izj87kFW8oY+BLgjS0X6TuAKq/ULGD+vIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3886193},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.3_1769004462231_0.020429527829010086","host":"s3://npm-registry-packages-npm-production"}},"0.4.32":{"name":"handler-playable-sdk","version":"0.4.32","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.32","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"3b8fb341331983d58dcbf844c79e48e9088c6746","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.32.tgz","fileCount":50,"integrity":"sha512-UbCfbvGn28TpIlBkYP2znIJC9fSN+xgSW9spYur1XByfeOJIT/AJPAt1ont60FSCDgjlMkdgGHpQyvtiZfHcOg==","signatures":[{"sig":"MEUCIQDXIcA7alP/4uzDXtgkxX5sEYCGsMig/S6dhI2DG8atEgIgBb0N6jupDS9WXieQR9XvWzKlAT1Cd6xEL/IqdXiB7UM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3820715},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.32_1769004748933_0.19600725490312176","host":"s3://npm-registry-packages-npm-production"}},"0.4.35":{"name":"handler-playable-sdk","version":"0.4.35","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.35","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"b3ab98398c6716fd8d22163ed982f92798b1a979","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.35.tgz","fileCount":50,"integrity":"sha512-AtUPWC47lIM4rgP2On0InVGMEkQUP4v0sSNSfcyWdktcggwgtP0XCLuebScfQgLrBsp43K2/EbZQ6gioumHs9Q==","signatures":[{"sig":"MEQCIAsRLYF1XOWeD+ogIyc4MIQrzPa8xiHuBJ5qeZlqk1D1AiAsdGt9k4I52p02g1in5XuftUIiffRhabdFVCowycbeTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3894240},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.35_1769005174366_0.038357234674500695","host":"s3://npm-registry-packages-npm-production"}},"0.4.37":{"name":"handler-playable-sdk","version":"0.4.37","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.37","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"ba1a592d9fe955e6acc1a146b7303a602ae12499","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.37.tgz","fileCount":50,"integrity":"sha512-t1aW8hau4/YrvSvoKMAU6vvGfU7LfPe29WS2tPiHbBk1YeYt6StzkH3zYtgMs/FZgDPDDmPiI16OEbXf+X0tnw==","signatures":[{"sig":"MEQCIH9tvg5fz/m1pZjDpQRnlg/MgESBTzePZ7u4B9r2YyF0AiAqYET6d0VxwOYCaGGADb7QL4teDDc88jwluDa9uWAngw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4189249},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.37_1769006136077_0.4957898461276149","host":"s3://npm-registry-packages-npm-production"}},"0.4.39":{"name":"handler-playable-sdk","version":"0.4.39","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.39","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"d04e95490c77e5ad6396c3e07092531b4a7cc91c","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.39.tgz","fileCount":50,"integrity":"sha512-M4KFGvbPZvZCpN+upgt5QgcQ3XnX8yHg3KN82//FQX3sYOH0krQLijBEJMdWejOuRCvUqxfoscemI5l8tTENDA==","signatures":[{"sig":"MEUCIAQMF42cpFkdAGKL+mtBvdomTJhdU5UOtwVfMz4S9sY3AiEAjGpSdVHDiJ1hce9gZkDpXxjA+SIo06sFQeudS8qFuWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3836796},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.39_1769006862119_0.7758337743842423","host":"s3://npm-registry-packages-npm-production"}},"0.4.41":{"name":"handler-playable-sdk","version":"0.4.41","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.41","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"23c8d63e757e9769c5e554e89cacb8003480984e","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.41.tgz","fileCount":50,"integrity":"sha512-hZjRjR2vg7alengbazHgfm6nx3kRJw1QEdB9hAhfK2Y+naNUVrYwcw1nrCzqLtlspjVk48KNYsTS3/UOPTxD1g==","signatures":[{"sig":"MEUCIE21Bxx+zN9aDawuiifUoii4erLMsSYDj1GDCYgx2PdVAiEAnCJ/eyUd20U+3o9/7Y92cSkV/BVqIx/giqHOVz/8Fp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3928881},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.41_1769007422772_0.21751216899157222","host":"s3://npm-registry-packages-npm-production"}},"0.4.43":{"name":"handler-playable-sdk","version":"0.4.43","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.43","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"9ceabc78a49809d5af493ac7e7d064dcb825edcf","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.43.tgz","fileCount":50,"integrity":"sha512-XiwuJAT98Ou+MbRtEHiYDT8Z9dN3FlEWnzE9j0xIVJyovpCgFZL3zsOlDRSQ2+3KlRmkfDPS6EYrPptNG7000g==","signatures":[{"sig":"MEUCIBLqrUIyRUCuCE+Brhe5Wc22ENiTxHj2y4ckI1q0v1LrAiEAuNNy1Fxuzf9U7hJrodWhyD66aa8dYo24HiTakQSyN6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3810239},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.43_1769007851415_0.6447898532810352","host":"s3://npm-registry-packages-npm-production"}},"0.4.45":{"name":"handler-playable-sdk","version":"0.4.45","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.45","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"1c4c35881b0eb3caddf1c075e5773d5d586aedcc","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.45.tgz","fileCount":50,"integrity":"sha512-+BubaYq2ex+IoI2rgpRFe+vQvsOty3wMGfnD82wVpExwwxQX1TYReFRFvVOHTGumhRopz9ZDUQ7KEQqqUVBfqg==","signatures":[{"sig":"MEYCIQCvySB2NcctbGLnrcTVTZQKo6qS4kv5qmUseNQlTmvYHQIhAKu6681zZGa/ziS3nKOsFf1ibKHxf0PSRMVcjqhzDQw+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3870567},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.45_1769008223765_0.8719094208225537","host":"s3://npm-registry-packages-npm-production"}},"0.4.47":{"name":"handler-playable-sdk","version":"0.4.47","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.47","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"5435030ad6661c8ebac64688f3dd32cd8997d6f5","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.47.tgz","fileCount":50,"integrity":"sha512-gdlF4UyElq7aig+SucJeuj/MMOemBrf9biQt0JbDFk4tlKXJgLBwm7SJ1CxZOSMwj8DDtqu0YQfAMPdLFI+iKQ==","signatures":[{"sig":"MEUCIQDVZD/vCUfVF1C5x1Rv7ShIssZLe27UIMNZZwHddqSTKgIgK2uRZ7ZuPjNIMIeiSUKIv40AxaqgvT8P5iN76gPQSI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3787371},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.47_1769012141764_0.3817584437448771","host":"s3://npm-registry-packages-npm-production"}},"0.4.49":{"name":"handler-playable-sdk","version":"0.4.49","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.49","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"38411786fde941807b4859c4c9ed57040746bafa","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.49.tgz","fileCount":50,"integrity":"sha512-kqMFjlx40p5K9r0+N8M+eg8+4FDh2Wjk1z5faxk9OT0SnmwRuSlUnJGYgAtJMau7TINdbRlmJ4qRL91EQyxWDA==","signatures":[{"sig":"MEUCIDs4mtnYNbLIm4rgdz2u50w71LY/YT+ogWXUt0rSHV3JAiEAwOx3Teyy4EHtypXWIreaQ+7fznjRsorLmNKFJGSTu5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4019677},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.49_1769030083846_0.18946316202069546","host":"s3://npm-registry-packages-npm-production"}},"0.4.51":{"name":"handler-playable-sdk","version":"0.4.51","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.51","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"f3a83d7614eb3675e85f860504ec46f0ce1b8efb","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.51.tgz","fileCount":50,"integrity":"sha512-PJ1A37cv96Uk91u0xlwU5y4TwoWcml75nxqftEbEOQM7FDsCmvHPvVZd5Tc5s4qVnukiYUiDF5BrTZg429E7Jw==","signatures":[{"sig":"MEYCIQDkqp4XxqzA13MuXtksJSxocNQBFOpWUI1L+98Kl/4wqQIhAOrZGLlYm34uJBWIpLSHB57Jwe29boEOGX9A4qMJvkwr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4046607},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.51_1769030934230_0.17032015713499682","host":"s3://npm-registry-packages-npm-production"}},"0.4.53":{"name":"handler-playable-sdk","version":"0.4.53","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.53","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"38e236743896eb2c783054b07e651de2422077a7","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.53.tgz","fileCount":50,"integrity":"sha512-9TlLw/Rhxw3/QBXHIXzF1MfwxJ8ineMYc7hQVA+tHgaj5f0YNLKknWTqUDtdGjp/MdWhnNa6Jiv5SKfZNZ3HhQ==","signatures":[{"sig":"MEQCIFrlyC3Kz1SdfgDC+Sj+mDHozx1KImRiuqT90OvK1VsGAiAsYGYZp3iUGmZiLoYkj2IWHBmcA1lSouTKLZPlWWz2gA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3808647},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.53_1769032930808_0.6954926193579509","host":"s3://npm-registry-packages-npm-production"}},"0.4.55":{"name":"handler-playable-sdk","version":"0.4.55","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.55","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"9759777f79ade8cdae90f0abceaf2a45e95b8bea","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.55.tgz","fileCount":50,"integrity":"sha512-Kctv4Ty9oxWwfaTctuDnTWQB8nkcFgp8qDtASf4F0sbYECjXrlyMmOXGhVg14Rjx4fmkTC7p/LUNhVtjUSPd6Q==","signatures":[{"sig":"MEYCIQDvx91uvRMVqANsT9IwNlX4V1npHLMttE2jSVJnppKUbwIhAPVyM8/xmejUaaJAjCo4FfMYN+OjMozUqIqzKUpliC94","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3837977},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.55_1769033771039_0.3737891220026226","host":"s3://npm-registry-packages-npm-production"}},"0.4.57":{"name":"handler-playable-sdk","version":"0.4.57","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.57","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2db65e0be28674d8e1a312f1c0d3ab622e98f936","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.57.tgz","fileCount":50,"integrity":"sha512-nsQPysXbdDi0YceALprWzL9QhBseAZcgUV2pGYseeXsc3DgdvrlDQFt+0TjsFtbJdlZZ1R7xOZbfc+5O6QLIFw==","signatures":[{"sig":"MEQCIENb4/K95nbC40a//fspIZMHl40m2oF8tSsryoIK5BslAiA3ZrqXX+vVdhzMSguW03J6WPy/Ek0mUVqgHdnBpozqCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3993602},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.57_1769034619829_0.7263962606664038","host":"s3://npm-registry-packages-npm-production"}},"0.4.59":{"name":"handler-playable-sdk","version":"0.4.59","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.59","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"eaea091d7849488c0ca74bc60b18e63da03a6c59","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.59.tgz","fileCount":50,"integrity":"sha512-3Q7xMziyumNUkiWKKfNLdLZ53fTmpaSYsjiuFiYmqKAWoYV8R0hBUBihCIC23IUF/A9BHaSjwZwocqXu6N0Llw==","signatures":[{"sig":"MEUCICQUfKdQDtUgoVspYWQpDj+vb4AU9LW82xaPHo4oxl7sAiEAuF/NLyL3vqjD2k6aLvAuNWyCfF1QcyZqFycW70rc5q0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3819009},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.59_1769035370637_0.9256843274855209","host":"s3://npm-registry-packages-npm-production"}},"0.4.60":{"name":"handler-playable-sdk","version":"0.4.60","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.60","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"0a7a589569ab4e475f5443bab2d8a8abf751e314","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.60.tgz","fileCount":50,"integrity":"sha512-goFyqA3pV1OPGApEMZCbaHuHANe399JtkE8Tn1QY+Artu4jfXisuBKICdo7zUKU2VPrEv4C8uS24jC+1c82YDQ==","signatures":[{"sig":"MEQCIBn+iG00A6gd4YVO4nHtTohhgz3XmDLZV1dToyBpxTBDAiAq5jtbja0gKM9nngCGvAMQL72TmhueHeJJukp4GGd48Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3965184},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.60_1769035596927_0.9513853295729691","host":"s3://npm-registry-packages-npm-production"}},"0.4.62":{"name":"handler-playable-sdk","version":"0.4.62","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.62","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"cd05159416eaf7681883868fbd96ff9c20641c77","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.62.tgz","fileCount":50,"integrity":"sha512-UWdVT8Veix1/19HddoCFt2aQMwjblaiEqdWYmP3hV1O4p2GcC/QsboNcOPArJdCAASaMbfyiJkz9syXuhKh9Fg==","signatures":[{"sig":"MEQCIAzQJKcHSb+uTOfzwvmnmaNnKotp6k28wbAU6OP3oKSwAiANyXgFPQ0pkwaonC5m/0LkddDbwu0XNK/UiFBtoF1l7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3979857},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.62_1769036120235_0.9936248297048234","host":"s3://npm-registry-packages-npm-production"}},"0.4.71":{"name":"handler-playable-sdk","version":"0.4.71","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.71","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"dca9f0e21c5ff0ab383593e513e8c3cb5a2bfb9f","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.71.tgz","fileCount":50,"integrity":"sha512-/01LOiAZzbqY2xa7Ju9AGA1gOM7NlONB1wHa4WmknbJpBBbKbSbEyAJ32VMz+dXhYY2lJW5eHpA3imbRWPftTA==","signatures":[{"sig":"MEUCIC0PRKtFURfUwtmvZXyViB+8fIPiHRcmgn3RcGIdL8F3AiEA/eBA6HrPgOqSZtuvN4KNEomg/vdyaRNSh1Qlqg7S8+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4146237},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.71_1769040415922_0.9692272146981482","host":"s3://npm-registry-packages-npm-production"}},"0.4.73":{"name":"handler-playable-sdk","version":"0.4.73","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.4.73","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"40abe12161f73d5d22a0873e0a2665650a1dcd54","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.4.73.tgz","fileCount":50,"integrity":"sha512-kvEBEK3H2NBNLeLAysuUnYEese8rG8ix1W5ZmEZuUXLKBB4n/qJj0KcWGGNvgBdnfBuEzwQdQCHgey+bTvD0qg==","signatures":[{"sig":"MEUCIQD5JVrksRieXdLBlR+emCmJzhKRCQ7KsfNMWrjbhraWGwIgIBfsMsNBhxnD8AE1Il948bDOPaAcXm2Zb9L3GDuLyZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4111886},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.4.73_1769041362623_0.8326841911339933","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"handler-playable-sdk","version":"0.5.2","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.2","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"82342705aaaf552ef16557d7ae8a40351665f244","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.2.tgz","fileCount":50,"integrity":"sha512-XfoxkA5wtIBFGBhBTNrY9DrlWBhWolwtvQDfo3/0KClrxQKah9z7ZxesrtBJ2zWFU4RVDQyXELO+ev8wgx1bdQ==","signatures":[{"sig":"MEQCICWiiYWc1aMFW1QtDHAY+FAjtoGLb+rd+LELu+vJAgpxAiBYNh+MjZrXltUhWqPbxhGz92myx3UNJwVZnpa5iivdcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3983362},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.2_1769044477974_0.5808008545466834","host":"s3://npm-registry-packages-npm-production"}},"0.5.25":{"name":"handler-playable-sdk","version":"0.5.25","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.25","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"94b3f3e682069da40ba62d514551cbbb40ed91e6","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.25.tgz","fileCount":50,"integrity":"sha512-oTji9jjp6WgyS7MX5MNFhdFHSCFjAhKyvhxCbPNEkQQOUCiE9I5rA7NRAYazcVpzIliARLRMItQIeUarzdr03g==","signatures":[{"sig":"MEQCIAZJ5vHtVnxEDg85JyXO4u5bk7IsQD0DgoDOtDc4IeTuAiASkPbHora/+cILGrkoeRzj4zQUsw+qRMnYhFup7T22bQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4270947},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.25_1769087016706_0.8840845738043734","host":"s3://npm-registry-packages-npm-production"}},"0.5.26":{"name":"handler-playable-sdk","version":"0.5.26","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.26","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"0927f10b5ee7e32af797a7820ec246a9e1793e80","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.26.tgz","fileCount":50,"integrity":"sha512-oJjDhIdYP/XlQXCc028FyqWzvMRcd+Z93OJAOFLXqWBad7/k1kKy2TvhZfCkY28vKYz7P3MVJ+pHlcQ+4c4G6Q==","signatures":[{"sig":"MEQCIGOLX1a056mw6V0wh8JZVuU05xj+LyeWcZ8EE4CTJVqUAiBWgST0poZbwsvn/dvOEDYV1ltd2fXyZjAijpyVN1zbfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4148968},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.26_1769088145292_0.22894717086575067","host":"s3://npm-registry-packages-npm-production"}},"0.5.28":{"name":"handler-playable-sdk","version":"0.5.28","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.28","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"803cedac230c954215c23d31dfc3b7aeee09fb04","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.28.tgz","fileCount":50,"integrity":"sha512-Eb0vIBBfOSpY1pjqRo41VRiBM6hKmt/G9k8NWq0ut2HPH8HgUG+Tgcr4pYMDwTmLLo3ydECcWvKJTLXZOwUPjA==","signatures":[{"sig":"MEYCIQCY4ZShieDqa5ec/ZM3C1yleGvm4/k3rVnR9Eug1h6RXwIhALPGH6ZmTduEgte93GN9GMcIkwtVpSshdypb92VSXNXg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4382658},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.28_1769092363707_0.7197306624255149","host":"s3://npm-registry-packages-npm-production"}},"0.5.30":{"name":"handler-playable-sdk","version":"0.5.30","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.30","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"64e087c88aaa883f5c8996bcdebe3cb07913721d","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.30.tgz","fileCount":50,"integrity":"sha512-Xmm+IwMqoJIVi0a17QZagjSqrBxTwfZqYy0jb2ow45BegqM8AcErFxGBcpS8API3YgdWH/WrGp7HYaboSv/rjg==","signatures":[{"sig":"MEUCIAcHLSztdxBDQjeeHQDrRRY/ikgNy0bwQlgy1eb0EN1+AiEAgVS5i/biuDwln5HKSmFW/R2E+PQpXJkNKcAONV+/5Xs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4284029},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.30_1769094263374_0.5459796908853172","host":"s3://npm-registry-packages-npm-production"}},"0.5.32":{"name":"handler-playable-sdk","version":"0.5.32","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.32","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"78d8feea439c0c62dd9ade4dafde9fd830870456","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.32.tgz","fileCount":50,"integrity":"sha512-4DKI3+3tSQObl19HKynMbpKfAABha1GkQurm2lgosAMzCdD/cSnaa3nLqXlRpc11gqkARmWBMG0WCYMyc/5Lbg==","signatures":[{"sig":"MEUCIF6o4lluXJ24N5boiasq2Hqp44QG0vW5bQxUXulYvfemAiEA/3Cx6XNqM+bdDQHvek8qhcB8RKf4h7RrYLdFtPz+4XE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4312508},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.32_1769095058470_0.43381128324146023","host":"s3://npm-registry-packages-npm-production"}},"0.5.34":{"name":"handler-playable-sdk","version":"0.5.34","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.34","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"48252e59d284362d848d1e0e0754e83bf4ccc084","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.34.tgz","fileCount":50,"integrity":"sha512-sGdetMsRIPj4rhP0sWRzzKfO6suQJC/NoRiJjX4e+rb2PcbPdH4/P7JGhsxpBP70YVWZHI8n3cXQFcXFAwgusQ==","signatures":[{"sig":"MEQCIAWgO6r7XjdrUX3Z8I0iEmFNRj8PUG3C/NdyhYAQBqK/AiA5XJEf28+nZNq5+GKqIjNXlQbpXvOK8g18aI25CEX22w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4451025},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.34_1769098656292_0.1549416031908406","host":"s3://npm-registry-packages-npm-production"}},"0.5.36":{"name":"handler-playable-sdk","version":"0.5.36","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.36","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"e80e6ae18ecde8a6427c5f6374497bfba44f1948","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.36.tgz","fileCount":50,"integrity":"sha512-jMM8cCC2ucyGXpsWQa9zmg+NhZmGWuGlRGVFsdWwzz7EmKHC2Ci+hIScE33rdTihzMzRljJO7qHRQX3Hn4VCgw==","signatures":[{"sig":"MEYCIQDOBcSG7FgfQjuiTVu16qWlcaFcZ/IG8a0scMfukDhQhQIhALGVwBBPMys5MkPiuUQKrzMIDY51WgWdO2Dlku8wXySk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3624482},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.36_1769100305891_0.4417168823072368","host":"s3://npm-registry-packages-npm-production"}},"0.5.38":{"name":"handler-playable-sdk","version":"0.5.38","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.38","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2c2a537f702a715e61ba6c025505b69cbe1797de","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.38.tgz","fileCount":50,"integrity":"sha512-21L2l/0fzLKLZiou2Qj6XKdxo9fTMkzrTnwf3IexTngKDRnQWrBImUcRLJnQJL9IwKhmIWlaRTpQAUfg5kF6AA==","signatures":[{"sig":"MEUCIDuXUPFUI9w/8zrkOhsgsB0K+IgaZMY7rqcbxupJPOcKAiEAh2bO15/feMIWGrl7p9WFgTSkRvxxYLBLfNLTmLDgLac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3767018},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.38_1769101145407_0.8840053926398643","host":"s3://npm-registry-packages-npm-production"}},"0.5.40":{"name":"handler-playable-sdk","version":"0.5.40","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.40","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"7937fdd31691119ce3ac03b6d8588ac46560123b","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.40.tgz","fileCount":50,"integrity":"sha512-7HzAYS4scpEy3kogR/NM0U1x5ffOqLNF9joqURJYXIra0WUBrIB0dkfxA1lDoXL6vzm+xVcDcHI50U5RKUD8Pw==","signatures":[{"sig":"MEUCICM+w6e297tYYbb1DGrjf+xy1o3mXpL0Uk+lfJcNNI/PAiEAlIrH9PqNXPtlRuG+eU8cGaCtHoq9gM2XznJ8720SM1g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3651936},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.40_1769102699574_0.3912800200182489","host":"s3://npm-registry-packages-npm-production"}},"0.5.43":{"name":"handler-playable-sdk","version":"0.5.43","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.43","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2060d465bdb5a0ff9f70aef56d58f533b07502fa","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.43.tgz","fileCount":50,"integrity":"sha512-61ebqYHWEJ1R13VDMjdMJ8jcphZkZhRDjMil85gq6WEZFfMBny7i1fHBOx1heHlXG3a0Lbu2DS8wEmwZjNwohg==","signatures":[{"sig":"MEQCIBs735KyM9qDR7UKylCq+7muXMBwnhtESklkgmsn2mtbAiBrBnZfe8FnsQ8jXrbHIICGbQhC3PfzZOo0n3T+6wvCDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3757529},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.43_1769103967757_0.30757016197575604","host":"s3://npm-registry-packages-npm-production"}},"0.5.45":{"name":"handler-playable-sdk","version":"0.5.45","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.45","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"0e2e1b70ab2cb665a85583e842020d512a055857","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.45.tgz","fileCount":50,"integrity":"sha512-v54Rx6qcK2G2L2kiGnSh6I2ElbL8ztqJO9tCqDbG58or47PPC3ezTLKQbAVOtbpn0Ol+ik8wTGm7rWaD1JgctA==","signatures":[{"sig":"MEUCIQCD0C6AcAYgQvXkeuJkxvYWoPsA2THcIP5Jf8hSSK3H/QIgUQrUFZEb7/zLvWDnGUh2Xm+J4IojpnmbrIybj7ZUClg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3732913},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.45_1769104319283_0.1615217333133343","host":"s3://npm-registry-packages-npm-production"}},"0.5.47":{"name":"handler-playable-sdk","version":"0.5.47","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.47","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"9e7fe43ce43d6fb31093e835493420437b2e0126","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.47.tgz","fileCount":50,"integrity":"sha512-VSjmBnPt4ge0zZztNZX/aP8wV/GLdHmr6OognimTE3jNiHtgCzojdfzcsLkHWoR4Qv6eL86h1g0mprimNG7fJw==","signatures":[{"sig":"MEUCIHcf1A4+ywFm0s7cZpTM6aQyISvsN9cixf5HL71YFGDcAiEAhaADimQHnh7H0+qRu8vPJ18HGkClG1RkCGb+2xh7ETM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3754853},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.47_1769104878237_0.47026786838489","host":"s3://npm-registry-packages-npm-production"}},"0.5.49":{"name":"handler-playable-sdk","version":"0.5.49","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.49","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"ecdd982430ac1e1ee2936fb842242c573ecee956","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.49.tgz","fileCount":50,"integrity":"sha512-jpivJdtKBNh4FqCrzG5K+w/gxvggq8HbvZMfTBailyizPkFYtVxBIJ6xzqNsRfjI49ZGmhl10tdi/ZhgSCa2WQ==","signatures":[{"sig":"MEYCIQCEA0SHVnYE+Cz2mgoddMxGpzULaGXt21d1cQ/TL7ZowAIhAM1q9AdyZkDwIAOPemuP8HZKniQdN1a4AwTMNSPLqnEp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3824779},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.49_1769106253149_0.7723390867956392","host":"s3://npm-registry-packages-npm-production"}},"0.5.54":{"name":"handler-playable-sdk","version":"0.5.54","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.54","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2f97ded9b91fe53493905f6d484d5158062f8c53","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.54.tgz","fileCount":50,"integrity":"sha512-L6kolFz+bw+HVf9Wnpa9ZVu7DOPQ/kKTx9gdWwtHi3QjCGUEDWsX9aoidNF354xY5vVs/o82jfqOYQHlxVBlCg==","signatures":[{"sig":"MEYCIQDr1RHtpq/std2KGCzs4zC7MXqp9f4PbCFF48xmxW1IIAIhALl2SKOVg+V2M6/wt8tGTMsSmhKIaVFy+lm/PyBfQWXC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3860959},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.54_1769116424958_0.42345348646687153","host":"s3://npm-registry-packages-npm-production"}},"0.5.542":{"name":"handler-playable-sdk","version":"0.5.542","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.542","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"5b963deacfaf5d04f935d907e20fd59dfa0e64ab","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.542.tgz","fileCount":50,"integrity":"sha512-Wr2EpX7mDWUUpSbE8Rv7ZUtAiWn6EB1txqbKLHhInew5gewFgw00VvspgXzaih4Ntsi2ak2q0oRJOKTRIadMfA==","signatures":[{"sig":"MEUCIDnNFvN6fq7ah3/9Qyovg64SkCmXsTtGy++7Gh9ntrTNAiEA1r0eES3Cyx63y2qAyA5EvOv+P+ezmrMScOA3mqKm1Kw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3742133},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.542_1769118719313_0.2830442845314094","host":"s3://npm-registry-packages-npm-production"}},"0.5.544":{"name":"handler-playable-sdk","version":"0.5.544","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.544","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"6bfe47b78692ba84f30beca9a68a8a95b7257b90","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.544.tgz","fileCount":50,"integrity":"sha512-fXCxstyn0VCwW2mj5+DIlk9PZX8OhAoCn1qj50BsUrxAwZoT4Ws9jNJNZVaHS5VzJzLdIM3huhTE9mxTQn3ncw==","signatures":[{"sig":"MEUCIQD3nFYtzguro85NFmuw9WaPK5m8dEPq5l0RzdSwyGfg4gIgScI4Ydg7tFVxCiLeScR8r80J9GAsQx6BsNfgGTB150A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4022269},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.544_1769127263532_0.7760057018009199","host":"s3://npm-registry-packages-npm-production"}},"0.5.546":{"name":"handler-playable-sdk","version":"0.5.546","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.546","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"3eb03cc577c176f8a8a77245e5268ac876bb3b26","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.546.tgz","fileCount":50,"integrity":"sha512-pwLmWtov2Xdun9Gb85959y7RleHdpMYhJrgTRJ5UB9Ll38r2L1zj03Em6BrKI2S94CKGFrE+eymerRj+hspK3g==","signatures":[{"sig":"MEUCIC8pU+0L2JBN9XSFNamnG4hfIQ0I4GR7UQBLZovpLub3AiEAzrCvIfW8D7YaOiqNHrN9+yCRxDZcl086hq7gFV6M2ME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3859383},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.546_1769130234141_0.14325558415111117","host":"s3://npm-registry-packages-npm-production"}},"0.5.548":{"name":"handler-playable-sdk","version":"0.5.548","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.548","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"6d4ef440057990c6fd83a56dcce287c17e599303","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.548.tgz","fileCount":50,"integrity":"sha512-GwfYJYt/fRKjfiyYw1y+aPVr8Q+JHSJw+pF5Xs4pcm6HBzOenmIXU1EWwGr5PLZnXkiiQzcdbtx3/AOPMeMorQ==","signatures":[{"sig":"MEYCIQC+spz11bF/1YGXwG8sic9kqfphC+PqmK+ljRdIbbMFAAIhAOIg70phNqOFCXesJkcbvGaWnJx6u0j8Mv44xOnsYdVc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3896411},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.548_1769133514075_0.12630544494680862","host":"s3://npm-registry-packages-npm-production"}},"0.5.550":{"name":"handler-playable-sdk","version":"0.5.550","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.550","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"870e32922b1ec7fdae85327758d3ac7054ecb072","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.550.tgz","fileCount":50,"integrity":"sha512-f3WFPxA1ugOu8HYqeSjVbUew5wjEk22m6u8+LvkNUq8iqimhleLCgJ3CbkbSrVWSDW299AWdFfdoV9dHKbF8uA==","signatures":[{"sig":"MEYCIQDboOOan0uh2IXX+gszGQnnD87TIJXx8VmTgeB+1xNyawIhAODgAcpJhLKCoutLdpRfP3X3JParY/4/apNNzQpCRzAq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3892780},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.550_1769134057550_0.14310930870903515","host":"s3://npm-registry-packages-npm-production"}},"0.5.552":{"name":"handler-playable-sdk","version":"0.5.552","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.552","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"f349fee5181e743f41209d405261773a31d0b7b2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.552.tgz","fileCount":50,"integrity":"sha512-7GZLhxS6JS+NtKgQn8aGC61hPTfhxHFfmSQBD7vMip+ILsouWUhgtkaK6ZhdAA4iN5ljRc99Lx8hLS0vKesDpQ==","signatures":[{"sig":"MEUCICYzaHawuS0dGFEkm0cptOHgzzKEBDXM0bBFr10ce3wpAiEAkPdRW6mgAnTqSFFis6qy4J5yBqxNax1c7l7c5QeCds4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4054535},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.552_1769135155993_0.9958441448378046","host":"s3://npm-registry-packages-npm-production"}},"0.5.553":{"name":"handler-playable-sdk","version":"0.5.553","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.553","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"d7226a44e4ce1b57ea11f107a3bd04c800d9f275","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.553.tgz","fileCount":50,"integrity":"sha512-6ub3LzpRQ9KpinEk9qn82yHBKu8ZNhEXAXFMA+OvoAgGq4O+MqRQpiolpuCcsY5sMzSTUHpG5dKvDuo0mFvsrA==","signatures":[{"sig":"MEUCIBNzeky5fsgnpGbz8MJLB/FYOArcXFyVVHusU5cHd2p+AiEAtvVLSkcO4aOdbFZsCSedJeXcWBU1/v2MJiiBxeH6cu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4020436},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.553_1769135296026_0.6490885390427394","host":"s3://npm-registry-packages-npm-production"}},"0.5.556":{"name":"handler-playable-sdk","version":"0.5.556","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.556","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"94d02e2f751d9a4292c7e88e69c6c93c99c025b2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.556.tgz","fileCount":50,"integrity":"sha512-S4oTfeEEbfQe8/HtJ6AhWlaed+6ZXo0M59/jQyMOeJBzcft3YgSy1i23OC1h595ejJ8YC/iHqmlGlazqFFQQcA==","signatures":[{"sig":"MEQCIHNQPcb74NM3lMuwy11q36UMHbeXRqnmhBLnYNTBOp8eAiA3iieODdHKrCxUlu35AKyNEM3/AHM+OUAA7upVf7fo6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4061663},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.556_1769136279371_0.3938403701327049","host":"s3://npm-registry-packages-npm-production"}},"0.5.558":{"name":"handler-playable-sdk","version":"0.5.558","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.558","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"8f63e5eb1f1ae9a5a7016d7b03b16f9fb85a3c0b","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.558.tgz","fileCount":50,"integrity":"sha512-XeEy7JdV8VliTP0jbMYsX2R/79gl9zpdF8Eiz512dKrTPV5diDDI/3yfDca0DOkUkMoFz9JcGIX1nquNPea9ow==","signatures":[{"sig":"MEYCIQDfRbKk1cZV8PmUrIZLBeVd0r4vNp8t3jvYFo5m/CqYqwIhAPA58yAjt1E7G4NeGsmoOQ8AlUj/OLYfOkQtEqLzOBmv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3966298},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.558_1769138410258_0.6788098038217618","host":"s3://npm-registry-packages-npm-production"}},"0.5.559":{"name":"handler-playable-sdk","version":"0.5.559","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@0.5.559","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"0fe3991c327e4b898ef4cecca154786c7921d4c8","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-0.5.559.tgz","fileCount":50,"integrity":"sha512-LLw1MVXA7S2BsuiCz0ZRp8GFLXigZktABkzEeRYGI0pA1XM8EXNozPRcNhWoFOIvjNtMrXk5TqkmSYc3XmU2XA==","signatures":[{"sig":"MEYCIQDNDjfSSHiy4JwuGJILkOS+qVzX3+JJgcyKNkPdFiQPLwIhANbfbrWQkg+EUyUZ78JgdQ0PXZ5OWe6ovDSNctLjLU18","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3907184},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_0.5.559_1769139918797_0.3483076536091867","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"handler-playable-sdk","version":"1.0.1","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.1","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"ce4e316bba5e256648bac9601db56f353593f75c","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.1.tgz","fileCount":50,"integrity":"sha512-vsOoHCdoZkya/V5QpGneqFYFneMVLbsMRiXWI8X8+IyYfeO1GNzWg+8FxxvXBX+r8OMEDnM3WzRQHo8ufzRj/w==","signatures":[{"sig":"MEUCIQCFKwR0kmsqzicXjf8eEtvT99aIROogeZvS6n46xwjfBgIgKqfjsiQYnFiQl19W9D3nwyUbjrQtUg4z84Qvj3hLI/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4040189},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.1_1769140037976_0.8184356300823026","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"handler-playable-sdk","version":"1.0.2","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.2","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2d3c3261ef2bda7257bfbf0675b5a2b7335352be","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.2.tgz","fileCount":50,"integrity":"sha512-WZ8h8wtoNTKtaY9EJmDSP49CPF3Zq94Pz94ufZNnXVM8tkSqY9LgyTUxzZGT1FyCcb6Sd37KVH9JBOByXHBNBA==","signatures":[{"sig":"MEYCIQD+AGreiw//vx44ylQrFVp4lJK8KarEzdFFQWh9EeCmlgIhAP49SMNIznvskzDKmz2BuU4qu5RvOfVMACpyQNRp90eM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4122418},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.2_1769142178497_0.28708820931957213","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"handler-playable-sdk","version":"1.0.3","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.3","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"b3448be2ff79eba53fb8f39d36768e2adad0b1d4","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.3.tgz","fileCount":50,"integrity":"sha512-7MnvYhj4Y8JfTUQsd0mZFd2WkaruFpYPA13BhvDyY8BgIc4ss450kMl2py5e0vqCjYniblrtoquS58mfQIBSzg==","signatures":[{"sig":"MEYCIQCGN9nLUaaUtcERVbt/o35r1xi82lMb6Au3aXaIm+z7jAIhAO+h9gd/B3ef+VcM/x1AwZ3GsRjQXboGam5PPPAAX280","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3891802},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.3_1769143997824_0.16060048678289696","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"handler-playable-sdk","version":"1.0.4","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.4","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"809aa653c856f2206f4ad096e0dcc00ec00a9fcf","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.4.tgz","fileCount":50,"integrity":"sha512-Y7lcwwV77Q6XFYGutU1ukLYw54aEu/e/PzvNVw3UwP1KeQxsIM99seUUZ9zsy/J+KxUIw8sjgjiJO/kix8dnXA==","signatures":[{"sig":"MEYCIQD0E8OR3h8MW0Oemzl9f762qwp8BE07Bc7KkfZAtso+FAIhAKeIlStmnzmsSty9+34BmYH8oh+QUsMs5m6xC1+CBC4C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3960692},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.4_1769145611216_0.8874563971246736","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"handler-playable-sdk","version":"1.0.5","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.5","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"66d4dbe57b075af0f2433427b2fc91e2bd222a65","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.5.tgz","fileCount":50,"integrity":"sha512-7lgo1PuJ+E3gxhTDVSWPcdB7lDplw8CQvIywCgM8uh8s18VGLaT1uZXwlH51LW3JBVb04gnCMxp5D5xQKakpFw==","signatures":[{"sig":"MEUCIQD+RSjoLmIuLHF8uua1JUk1KKCeHjeme8SNYftgciISaQIgHZKW258P4xdoQY+mN2LmpEOiqS/nKuOaS9lW/jYtIdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4108874},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.5_1769147248728_0.34113985541351677","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"handler-playable-sdk","version":"1.0.6","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.6","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"3f89250719682fac6daad9df71d67a1f81a264fc","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.6.tgz","fileCount":50,"integrity":"sha512-uLGrJODkq0gtGE6zl/tl2hJ4Y+dRuB4TCaLssB3N/Q3G0VXqhqmmgng8j/aZD123OXb9zc4YE9rnHgrRkevK9g==","signatures":[{"sig":"MEYCIQCLvsHtcxt7IEXICPGe7PYQCBls35eCnmZQThKzGyQk0AIhAOKDvJ8QSYJIEUlM4kesmGJYPHI57MU7Cucw+AO//c3+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4223829},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.6_1769147335209_0.2194061157144651","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"handler-playable-sdk","version":"1.0.7","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.7","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"b5e31dfba09b54358be1681d1c4fb356e4105a2f","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.7.tgz","fileCount":50,"integrity":"sha512-u0iSWNnBiZgN1mxzLQROW93x8ValtFf+gf1ELEX0p0v4F7GObe0iet3eWkNYT/Mv/CKFqt4tJfyFc2qkrmUw1A==","signatures":[{"sig":"MEUCICQxCUbsT6OVHR+xrXxCIVsG4V71Gf9CUqeaKtC8VEsdAiEAlaZuytwYwFtLw2utVrunGwWAoNq6ipY7dcZf+1+lIxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3989511},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.7_1769147518038_0.5529773763469594","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"handler-playable-sdk","version":"1.0.8","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.8","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"b10f5cd3d71473cb0d99d38e8292d879886a47f9","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.8.tgz","fileCount":50,"integrity":"sha512-uL9I/qMjOJhMiseFypaDlAHbDOV2mQFsL+T/5QTHZDM2mK3yKN9Vfa9mA8wcbyy637vuaOaUZp0zwBTbzW2X1g==","signatures":[{"sig":"MEUCIGQY+1wu0gV6xQnYpdPCrku2oo9Uy1s4OlL0fYP+anyiAiEA8K4j3Tx4bbSoXyuiri/mmyy11G7TXWex7EuB0rTU9ZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4159762},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.8_1769150365175_0.9570643474878096","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"handler-playable-sdk","version":"1.0.9","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.9","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"805d523dfc953bf6904a165af8edd3986f90da12","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.9.tgz","fileCount":50,"integrity":"sha512-cfqNqegh30aNIrFnACNcmSI1YmxWNjym0CdKHqZxKVphltXh5ZQkPfCYzGDSFhAxuDi9QMpNm2IgMY46b0MqGg==","signatures":[{"sig":"MEUCIQDZNB8ATq5ddsdWm1A7fl0An7PxaTFHG/8w/Y8NSnCdfAIgdm75xOB/RLM/6gOEVGvy9Q0QCkamx9oeS0z5/7QOK0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4112171},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.9_1769152074132_0.7447828887456451","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"handler-playable-sdk","version":"1.0.10","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.10","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"7d801a6dde5fe5f48f9bda9ccfde64397d2144f5","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.10.tgz","fileCount":50,"integrity":"sha512-W8unLmw0ftcxxmrPvC0hCnPGNxAFORYzPy2MyRItslGvLwq5AuaEhXsEouTMt+fQ5fjf+1a9SgDaCcG6Ihf6Sw==","signatures":[{"sig":"MEUCIQDSUGDyyS0aAKkR3H+JJRg69uaYNq7Lt0dGJxMYlmtNmAIgBmQySbi+Vav65vB66dIcV3Qunwo0zq3V8V26MLkHVBQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4037911},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.10_1769152858613_0.24312715907474458","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"handler-playable-sdk","version":"1.0.12","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.12","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"cf947a110e87ba16fc5db2a9292570a5fa2d27ac","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.12.tgz","fileCount":50,"integrity":"sha512-FvAPjOPaIOLrKuZ2f8YoRiZh5XEt5vjxHOWzFgSZcZ5e34M66/4KlP7IihV0WPxACFVnY7L0j3rdhHwyQeRniA==","signatures":[{"sig":"MEYCIQDg//adajrutuQfapyjbUGOyYWtlguBKlJy5jBIZNbL0QIhAPOp3l7NrZdepISTjluFzVbTGSx2d0BhQot86K7+tY3Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3998335},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && chmod +x dist/cli/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.12_1769153844801_0.8808019092376194","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"handler-playable-sdk","version":"1.0.13","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.13","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"521e28f4182b8e99ad773bdf9530a04841451ee7","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.13.tgz","fileCount":70,"integrity":"sha512-GnJCOcHk+a4wz3kSwxlOggZNMLSdtCG0UBr1y7OWbTWFgV/yZ8jZuz0k1Gya9sloarqpczIk+61k6S19/bpSjQ==","signatures":[{"sig":"MEUCIQDnmLpfyI/tf8/2Osm8bnIYWEao6wNXo1fLS+j60DSPCwIgC6hFKhHB7RT61fEX5XaJXvyk5L4tPGEhs+E6bYPXr+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6738193},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.13_1769161696416_0.5544853150521465","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"handler-playable-sdk","version":"1.0.14","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.14","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"bc17c7965d49606263145511eeaa71d2c5b21c5b","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.14.tgz","fileCount":70,"integrity":"sha512-igOTfig0a2xAB9lzH7PTrs5SJxIYo/JoDNHMQ1p2vlJbrEr4gpORWf60LLnKlZ43WVVIF8hKfjLCQdrGEKHlTw==","signatures":[{"sig":"MEUCIDQbaOQbQVhnHn5QNTzJsyarnT+ZpMS7JMD+jyP8YDo9AiEAonNm153dOSPJpBJBM3yIt0TTE9IwN3hEsQ9hNXTZnAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6474557},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.14_1769168276956_0.2790857899608905","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"handler-playable-sdk","version":"1.0.17","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.17","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"b2756776f27e69b53b0d07c51a768c04f2eef333","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.17.tgz","fileCount":70,"integrity":"sha512-sW0lMCsPymXkqKXudPJSljZoNzp0J2JSR76M8un8q66GjyFszbk4xphj92dlHp6W2wBmQgeox1pxP/ai2PVkbQ==","signatures":[{"sig":"MEYCIQCpy0BO+XuIEGXGCuTysDb8oKuN/oWaMHwDr6IW9PCEKgIhAKurmPG82ZSsCOsSKMqU/wjqr61YEtHOLUbczia9eQ7m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6895018},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.17_1769265967304_0.24773539953771073","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"handler-playable-sdk","version":"1.0.18","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.18","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"e1fcb2a03cce88875d99445938b7e00c564e7701","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.18.tgz","fileCount":70,"integrity":"sha512-7ruDnquZI9b64yRYPE375ToLrtXoDYGDVXgUqv9QqBfMzUrGrR6BuxAwm1a8iaOh179FxsRP6/TBwnFlWyUPag==","signatures":[{"sig":"MEUCIQDNe+gMSRubNJfRcF/nSJH4go2yWbVzYpnvPU5Jfi3R/wIgD/FjT5UI7Cdixpo6+Kium9EW2Ws2DO2v3LHWj8Ni5gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6566538},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.18_1769268257974_0.1889765803196921","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"handler-playable-sdk","version":"1.0.20","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.20","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"49454700df16d3ac044e897d9fd692f5cb6cc61c","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.20.tgz","fileCount":70,"integrity":"sha512-auGJ3pR62kpvbgOkZy9bpbb6eagwCSuRnVf43r8Tfu5uq34kpJcy0d6bfk4bDvxGHYnOkLdmV1zqlC/t8vG00Q==","signatures":[{"sig":"MEQCIDkaHtESpIUMXHd1fXZQAwi1YUzQCjuCGAY+Fk2+R0IJAiBBOYrQXz5UIboccKW1dqcnbPGHg0juB5Ks7SpWPYc8cw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6264942},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.20_1769271335033_0.9380073340769834","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"handler-playable-sdk","version":"1.0.21","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.21","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"47ffb105014ce823d454af43f96629dba5a95c45","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.21.tgz","fileCount":70,"integrity":"sha512-fWGjFM0n1gftjpPTGItG+3Yslh6Yu3htyK7ChyArbV5LvTPg6N/WuIBp9ZoOOiui9NvH0Q6m1F3LirhrGEjzGQ==","signatures":[{"sig":"MEYCIQD4Rj3x2CCSpjd5NmyxOePDuphIA0mX3nh2FDUAifJb6wIhALdKnFeblh3hiMAbn5yZGdIKiq/zw1KxNA0ZXWhMST3c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6308655},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.21_1769272663856_0.7716302247696742","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"handler-playable-sdk","version":"1.0.22","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.22","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"abf3a8e4a236d926c7f3c25ffa73b8a93cfadf41","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.22.tgz","fileCount":70,"integrity":"sha512-VgNBBJqpqb6HyIK6crlux9ucMxAj1Anvw26eNadbqrCcl9EEBHsKsmHiJS4U/8u0cyhVUfa26sHMarKt7szgBQ==","signatures":[{"sig":"MEQCIFult76yNIFJkiMCBsPK6yBOrkhuMWMHUSfKfkDKctoZAiB5WxZWtpjcI2/8hV/rwg03yk/B4OrXlACM4HuIMm0Rkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6466141},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.22_1769275082027_0.7515726590367009","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"handler-playable-sdk","version":"1.0.23","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.23","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"9dc9b5024d0777561a2fe17c45d57ff9f5119da0","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.23.tgz","fileCount":70,"integrity":"sha512-pYjTaXhlonK/mRn2qTev9/DmZ9WsH7UdjTPHxzo8hXD7QnHKyL1zdZAjr+M906g04R3qjR1+fcOlND4WHpZU9w==","signatures":[{"sig":"MEYCIQC2ejWwCp9FOM/p+vrIurUgbaDIt1BG70cyDqHgIUqGKAIhAPeA6aFeTNqKw3AjTBOx2Zl7uRUdI9nkSwQuoMrufeqR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6669526},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.23_1769277664856_0.06946926816931276","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"handler-playable-sdk","version":"1.0.24","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.24","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"c1e067d5c055b6cc323bf17b4c5b936a54608ae7","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.24.tgz","fileCount":70,"integrity":"sha512-F5z8uzAZCk6mSlCHv/XN2icSHwZIKnv2Cp3aigL2oQr0kTjb2KiP+ChF/onR3DuTeZXGvdynKesMS15iz4W70w==","signatures":[{"sig":"MEQCICl9ZbS2GaDyO72vLFIAK/FKC+pqPSlxWOlWXDqh7dOcAiBIM9kl7FY8JnhkFPXpdqwDpygC/9sKD8g0DRcwvrTnSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6496612},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.24_1769279546923_0.14728478346307128","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"handler-playable-sdk","version":"1.0.25","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.25","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"77c04e26f70a25116efaa79d0419bb8516252cd4","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.25.tgz","fileCount":70,"integrity":"sha512-Ymxtb0iLB2hGMwMnCAbAjOm+t87WQE+Il/q5xjRGLftfU1LuCp8rU240UHtjAHzZWGKazU7K49Ynk6tnVUOKHQ==","signatures":[{"sig":"MEUCIFuBbxtiZ6AhWTh+ygDb5DO0A/bwKPEBTpErkbEQ9NtbAiEAuApLy2firLNqpRnmSlvHsBDdl5EnZTdKVku7RFlTIEk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6545151},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.25_1769280537493_0.06412313992260477","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"handler-playable-sdk","version":"1.0.26","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.26","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"07585958470e14bd9cbc1a2530bc07d256dd5f60","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.26.tgz","fileCount":70,"integrity":"sha512-xqUqOL55UI85h9vj6dy6PkFw1a+dnF+2Y7JZLCGScxD3v5izGQSuyeWGraYbWZRLJTBNgQmcRYDRWs81FPaLNg==","signatures":[{"sig":"MEYCIQCv5Xh3bpM+4FnF0KuQnwivNthDy4YG+WmbTA1i3kqilQIhAKBUeFVW7l6Bj0NeffTQIgBhalzu7NwCtqZ9eOJTxosT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6667710},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.26_1769281692918_0.9129409436646039","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"handler-playable-sdk","version":"1.0.27","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.27","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"4ce89c160dc6af3761d623d9fade8031126df1f7","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.27.tgz","fileCount":70,"integrity":"sha512-emJgA8UNcF52qerGUolzAgMO6MA/3sm/a0ypVEOXHAhYpP9pidugLB9WvOArPKJ/0wfny/0n2Dd1nbNXF5xlkg==","signatures":[{"sig":"MEUCICeR+rekPovood0OI0Uw0i+6aSfgpLFABhB9BrdWvQ7pAiEA0bGa1OrheVFRSz+J/N4j9uO3gBGbeN5EETbVDFG4nzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6431114},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.27_1769297760891_0.9545872484728999","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"handler-playable-sdk","version":"1.0.28","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.28","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"62158ac3a24ca035adae3a147da21e19f362575a","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.28.tgz","fileCount":70,"integrity":"sha512-Fv+MtiEROR3HwCUaGIDnxB9I2aChggSj21pYqFyvIyrJQI2s5beDZwgTr1VZAAUOBZ/YluceKeCypWbcR+smRg==","signatures":[{"sig":"MEQCICjQgTI8Nbn9JHS4/P7IXGwEvZXh1udAaeoIxGBDadRZAiAB0lxkmcwMFzPQKbuy8KxyvZJDsAAXCJvtSubc6qTseg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6375556},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.28_1769302054327_0.32030295225362004","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"handler-playable-sdk","version":"1.0.29","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.29","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"11f4fe0b53d85c0c830767d96c05417cec377df0","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.29.tgz","fileCount":70,"integrity":"sha512-FKcX3DvkcUHBzQf/ShP260PADffGEVO2exm98S9ZL7LvqtMuUH80Som6RMSbLcaAkNxJMXfKC2vKXOIOQn77eg==","signatures":[{"sig":"MEQCIBzB9avSsg+vPbRFgAI+PM4drwKrVBMkHqTAVuBsD4h6AiBhqOPP5TV/CEidex78tJftGJ+kgrTiPQwYLFcNMZvd1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6598483},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.29_1769302751249_0.12564822182038604","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"handler-playable-sdk","version":"1.0.30","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.30","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a3adf7a6b33a0e495e5e37e47831d00052cbb2f0","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.30.tgz","fileCount":70,"integrity":"sha512-UGUz5qFF8HWi7c1T7hgVi1ak7YaCbKMywgM2Hu0mXE9tgc8bYkZaGLt4a4mWgIG+xeGkL513V5ZrTJvNvqArFw==","signatures":[{"sig":"MEQCIGQybGyGJGxEi0tRMIe/I9ZeJ1NtLOZeeS2n5rIWnLMwAiBi6j191eTi2i/xAPqbiDEqWj5plmf1JEnDZWpuSj/grw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6850579},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.30_1769303434212_0.2686573615551284","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"handler-playable-sdk","version":"1.0.31","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.31","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"978278d887a3ca996ebc4930ffa8982fdeca92c6","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.31.tgz","fileCount":70,"integrity":"sha512-LcHf4SeOJ1orzEMcVyG44UxNOWzkqwGHXKTRDPFZyE4rd4ZYcniMlZkDgcWYQF1hL5OD62UR+thCf93ZkuDWSw==","signatures":[{"sig":"MEUCIQDXjf0Id9HheGc3Wv+xnZk3i15JbSjknS9zPyXekqA6oQIgdiR9CE9nt7b7GuVqXItXaTP1ZhOUp+LxzIDtnK1xFoU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6893165},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.31_1769305290060_0.24771135185230886","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"handler-playable-sdk","version":"1.0.32","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.32","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"5aa107de9b0a81b21a8f8892b4779d0817872197","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.32.tgz","fileCount":70,"integrity":"sha512-AqpIjdejZyj8+yXDdA2ZkwjMstjvpEoJ/acO3w6osjDHrqTUVsLTT7pWMA8y/TMkc2xWyCcEsaG9p11ik0b1Bw==","signatures":[{"sig":"MEUCIQDtaO4JWLp0QmTdM5UwqumSueB9AxUBz/sO1ZqDtuUaJgIgbksGYDZNHqSO6AAdh8r/vuNsQDSBrftn5lWeoZI71rg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6664269},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.32_1769305933399_0.7460692743987225","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"handler-playable-sdk","version":"1.0.33","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.33","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"1b705e5fbbd3fdcf7cb4634adeb938d4e31a2729","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.33.tgz","fileCount":70,"integrity":"sha512-GbnZ9lyfJCPyynL+8qJWgM/EFU+l0hSmScdCLCxUHqaCovsxDAzswh2LKhNqy6lt3yXW+BrKJlxdzP2LDFmDbw==","signatures":[{"sig":"MEUCIQDxPtzefiHvV/CcjPNYDHnhZ3IZk0tirThoO6aB35VcRAIgYUiEJKBmDixJ4K0WTGH9c13FhigDD29LcuM0oOoZL8Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6396606},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.33_1769306429280_0.1743512805822831","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"handler-playable-sdk","version":"1.0.34","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.34","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"3419ae01e94c61d7392bae762ad7bca9abb01ae6","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.34.tgz","fileCount":70,"integrity":"sha512-yU5dp/0v+3DxvNc07TnBHGhviwtM5kVlnpTL/jxbqlPtJ/8OdEJLvb7g5bukF6s/IxSdRxDB/ReD4/6DCj0iJw==","signatures":[{"sig":"MEUCIFshud+2B6rPiIAv29kMjIMFeq5ZJHvTGMjylQBFvqq4AiEAqXaL5ZWxEZ8Qa6/JtVZbN8xqICmHvl1Aga+Itzq3Qas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6768229},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.34_1769306879472_0.21974196394579493","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"handler-playable-sdk","version":"1.0.35","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.35","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"67e9b14b32144320e5009a38a683d0f35abe78c7","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.35.tgz","fileCount":70,"integrity":"sha512-TBjsJ4mAAYcoeizXv81J36CAcy60Xsnz7/OK6X18N0ZKVcU0H5e+OC3hSAJCCbrTamjfotdRj0d8ICUXtAvtTg==","signatures":[{"sig":"MEYCIQCgN5+HJfxiL5btRhxCxEWIZHi7BwpmJdhbG0DlJFWmcgIhAJJtlb3B/GoJ7lAu/h+6ObX4AsahJKUSZ88VPZXFwcvS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6581965},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.35_1769307486825_0.10033920349026837","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"handler-playable-sdk","version":"1.0.36","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.36","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"e590fd2d6cc9981fd24741375a10f869872ddbaa","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.36.tgz","fileCount":70,"integrity":"sha512-xL7lFlNj8tPDA7hUy418mhGhd1921vhIgsfm5ElxM6Lp8Pjtpd684uZnEwvjFUAK0/T+VofYLz3wz+4JjL/jAA==","signatures":[{"sig":"MEYCIQD5XibwGiC1KBnLaC7qc6h5a8nLkyiMGNINU6I7q9Cc8wIhAM2w0onmR94VFregPmckG7yHgCqP5QUuqy7RiH1/G3Hj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6698326},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.36_1769307844898_0.3429553827985019","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"name":"handler-playable-sdk","version":"1.0.37","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.37","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a160c2f9553e15da1ae9e6b82c81777406bedf07","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.37.tgz","fileCount":70,"integrity":"sha512-Jz8M2+rlVfutEZc422VhIPNzHjCsetu71UjAGfkclAC8+FyXOOJuGkwpMqRqVqQfg2J3RjLxwChZVwhZmTKVrg==","signatures":[{"sig":"MEUCIQDA8C9fOdMgM9iHlR0y0zB9N07PRv1CGqYW4BtYX8WYfQIgas1q/OOjHzf1gILGiBQFX557zqROxk/l9cl2xEhuIIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7118634},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.37_1769308161948_0.970323983038653","host":"s3://npm-registry-packages-npm-production"}},"1.0.38":{"name":"handler-playable-sdk","version":"1.0.38","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.38","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"593583ceac2f866474e6500d9a94525c77ac92b7","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.38.tgz","fileCount":70,"integrity":"sha512-2HXG/5akrLTYxxTiuuvZmOMnls01IInJu4fZxPbMjzIi4K7yTBa1YrrfIqvH8WB/lWY9uewpRGWuXr1xZDn4Ug==","signatures":[{"sig":"MEUCIQDluVYEbWG3Lfu+GZcUwx+eY/DlDW28BuBJA9mcGSFqkgIgQsL8abbEFAzFLD5E85fNd8gKH+xO9ymodYibBNA+Kto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6485104},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.38_1769308792800_0.22579715964056146","host":"s3://npm-registry-packages-npm-production"}},"1.0.39":{"name":"handler-playable-sdk","version":"1.0.39","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.39","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"aab986a4ec9747950acbc9cad9592237fddcac13","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.39.tgz","fileCount":70,"integrity":"sha512-7SIm3NS3nnEFdn8U6dMLjGor7QvRV4yk4atHEhmR5LCnHq0a9lHIZozmLGcTEhvneCOZlr8X1vlqE31Zs+14cw==","signatures":[{"sig":"MEUCIQDaZz+y250xxKO1Td3SIXL+/ourTchI7IFqJcxUedY+sAIgKk216Rkbt/AJuMNksKYnh2emHSLfoQThoomz8thuNEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6913560},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.39_1769309864176_0.35850810592317606","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"handler-playable-sdk","version":"1.0.40","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.40","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"11a8bc432e320faee828ef922f438228bc2b7ce1","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.40.tgz","fileCount":70,"integrity":"sha512-C6E3zE3fnXQBu4S3bfkKuAVfxw+2DmGXFJROHQMdBvWk8visiUoWYDPznl9A07St8B+B7HmRpJVa95Uq1ZGV5g==","signatures":[{"sig":"MEUCIBfTfxfGtUcdXti/pEPIH/emU7Njp5FUfAibUqp3zgj2AiEA8aP+ovQ399FLljkkWrAzXI+A30GMdnMWhrresrvgNWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6864644},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.40_1769310446483_0.2675332021244117","host":"s3://npm-registry-packages-npm-production"}},"1.0.41":{"name":"handler-playable-sdk","version":"1.0.41","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.41","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"581ac4153ada61ee0170cedb02df1c4e965c01f2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.41.tgz","fileCount":70,"integrity":"sha512-OZmxA1eWAvvNea0gzPkErRH/naJaRoz1rmZj1264tpNWw7KLA5cCMuPSAm6n9IDY9+8Wskb9mqJb379XqJH12w==","signatures":[{"sig":"MEYCIQCdDU474SJHXeQxryMeMmAJ+Meug9JSTTYKKVEChwQj/gIhAKKI0ga31w9d10jMyBqI9QPf7a5PzuqwhBI/u8MAl6b/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6338514},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.41_1769310527903_0.055616343110261424","host":"s3://npm-registry-packages-npm-production"}},"1.0.42":{"name":"handler-playable-sdk","version":"1.0.42","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.42","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"ef4f1a366a4c12918d986cfbc131fc3b11abf2fd","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.42.tgz","fileCount":70,"integrity":"sha512-qp13NtsYxw0Ruz0BR9Q93TE8yj5VQ6D99UxGbOMRG+MXKf9RSCD3gLOEBip6NIczYmLo6FqrZXXuOEzu7Lro0g==","signatures":[{"sig":"MEUCIDDV7ZSUYe4a8rbyK9pbwPGxxdBaPfVGcHC0d4ndORnMAiEAy1EGg7OnIyPBHabK0BLjsd3oUACfzD9vzURmWJK1/mY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6468412},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.42_1769311413417_0.4530281118884427","host":"s3://npm-registry-packages-npm-production"}},"1.0.44":{"name":"handler-playable-sdk","version":"1.0.44","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.44","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"d4ea882fb047d588c7d7941fca5bc5d394849dcb","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.44.tgz","fileCount":70,"integrity":"sha512-NjpKAVtO+hpDbpirZY3H6WNeNgrdStPiYdwvoSW1ifavb7zfjCWIHUkcIvAB5TNoZqvJcyTeb+xn+4T4Nw8NeQ==","signatures":[{"sig":"MEUCIGyx/2h/q7pefn5BQ6nWN6drUgsA1ahp75E9Rg0l0vXLAiEA8hg7BlFWgvaf2I7ficXO2U/Fx75d20gQ8q6EWo9NWj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6805240},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.44_1769311663160_0.5870623879266494","host":"s3://npm-registry-packages-npm-production"}},"1.0.45":{"name":"handler-playable-sdk","version":"1.0.45","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.45","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2ae1f03a676d6985181519709aaf6a54e1e469c7","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.45.tgz","fileCount":70,"integrity":"sha512-apwEigfKdmIYY0XL5D65+w57kHukVxTIli0LDnXNrNpTNygRvMWJ84NkeinGM0lQytO+vhnaTs0VSi0mnldRww==","signatures":[{"sig":"MEQCIGsRczQCGfnStr+jeb1t+1m37UYdrb79s8cBEiiuNMYUAiAkLp5vtWT3ckbyBiN2crikvoxEH6KppdDMFCVXkVqz2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6925598},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.45_1769311948905_0.8143433425074162","host":"s3://npm-registry-packages-npm-production"}},"1.0.46":{"name":"handler-playable-sdk","version":"1.0.46","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.46","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"1b12c5dce8d3ffac05ef0d4216e011175af5543c","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.46.tgz","fileCount":70,"integrity":"sha512-IxSyitoEIuidsELS2QjaPgdliUgp974dWcXHYN02Rb83B8198u0oqxrWjRQAJU5/LrjpdR/UggahOQgxPL6bXA==","signatures":[{"sig":"MEQCIEXwLUDXRDRl+2M1WzKrVp/PvYcIaL96pLADvZqU2+4eAiBuVWyEPtbACO6a7slRMrXJbV2ux8xRBVyv6vufEGrgMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6435295},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.46_1769312345463_0.46854427133300036","host":"s3://npm-registry-packages-npm-production"}},"1.0.47":{"name":"handler-playable-sdk","version":"1.0.47","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.47","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"645569f8182bb05739cfb49bbc29e211a88ef4e0","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.47.tgz","fileCount":70,"integrity":"sha512-xyVgXnhA3HIlffXde8DUMH5j5/oGdI5U1vBzbW29VZnhs8ygVJDiwnF+BEGWo50AwBtVJtqsupI4rgMAZ9UZaw==","signatures":[{"sig":"MEYCIQCOGFEL9FH/BXjh6XtOmYxvM7uQngKRmeINJKnfcm078gIhAJvQYT1f2NNOHf/QSX2xbisxRyvVAMKI9l4f7QPtKwDr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6520698},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.47_1769312677562_0.17647230802836056","host":"s3://npm-registry-packages-npm-production"}},"1.0.48":{"name":"handler-playable-sdk","version":"1.0.48","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.48","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"ab8e9843d3a2f28626b8a170923d70db47ec9463","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.48.tgz","fileCount":70,"integrity":"sha512-565eZOZoc5NMOX6AJrlEKlnrkbBCwvT6pB0Cib/wsqEBnH8H891Vqk6X8VRW6CCaDvprtGGssrBE8XvkFxv11Q==","signatures":[{"sig":"MEQCIDmcH7WDAPO8rDSvSIVLPT9uv60dEWQNDRHBTVFsDgwzAiB1emSlxK/h1tfeefof0OyVEqFzq4iHdfpokIaunqj4AA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6614092},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.48_1769313293131_0.6717753970993041","host":"s3://npm-registry-packages-npm-production"}},"1.0.49":{"name":"handler-playable-sdk","version":"1.0.49","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.49","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"6c30851b3f9f0e67ec1c36d1b5e828a227fd01b5","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.49.tgz","fileCount":70,"integrity":"sha512-Gw8J95mq1Y+2qXqYim1NvDqUepZxz8adILlOCfqQhAqe67GfRrfGxnXcrx0vsQTP2QHJe6peI2MNl5Ekt522/g==","signatures":[{"sig":"MEQCIH7zOui7iTXzg/hgrFkISkh8hUsrHcB4z+0bcbIghKA9AiAtsaLNxx0JWpyNzesq1n+axvq//umpwau0NsaHkMuOcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6693497},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.49_1769313637492_0.5315482547623471","host":"s3://npm-registry-packages-npm-production"}},"1.0.50":{"name":"handler-playable-sdk","version":"1.0.50","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.50","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a02fee79577996a931e8d4f42f93b25d4fe220fd","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.50.tgz","fileCount":70,"integrity":"sha512-yWZ38yUTK3wwMHP4L2J4ur7vReKmYnwLMKDfAAwTjTaU/WOQNNm5rHE+wj/pVyRFUKxPtFzUeUe5P0tE+7y9UQ==","signatures":[{"sig":"MEYCIQC+3Xjp3K/ZmTLeGLMETjykmtU7YRZgkgIzTmFmBX533wIhAIMhfr8stn+/+ibEcTdrxoZdmThtEAJwzKyGRRJw8bnp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6533720},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.50_1769314012261_0.38815404823841937","host":"s3://npm-registry-packages-npm-production"}},"1.0.51":{"name":"handler-playable-sdk","version":"1.0.51","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.51","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"7a7da7773faeae345bb8bd8db208ebbbfb0c8ce3","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.51.tgz","fileCount":70,"integrity":"sha512-a2bwsa4fzU0esJU4VPOt7fxb6jBshWDb4PYeWQxe3IPjm593eyTtufROl1pzxKdWn3cZ8roeb/Dv0aTidc7dcA==","signatures":[{"sig":"MEQCIFml1A8ymSqByuiEHC+m9J3PsVYKh/DT4fnzuMZkh1qaAiBQmljsSLqC9uT7jzabMiwFCnkBcQ9p1YOGrWym6Ic/EA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6495630},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.51_1769314134783_0.4461709223354742","host":"s3://npm-registry-packages-npm-production"}},"1.0.52":{"name":"handler-playable-sdk","version":"1.0.52","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.52","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"b6ff2a0db7895d7ff17a9b3e5515d76e07133ebc","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.52.tgz","fileCount":70,"integrity":"sha512-2jRYtsBwCV3zqMsFRtitsxaEIg+bfUZScx6anI5WXMTENiOHImZkzS8ab3Tx0KG6bNR6ZThyMO3IpMocbTdZDg==","signatures":[{"sig":"MEQCIEgdubNc5fpGI2CWx0bj39h4NV6ABjLbw5QOUROy4/IfAiBZnfoEEJWymalwTQd7SccPZYCUzBMf+BJlSS53pZPPRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6640185},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.52_1769314437540_0.42132094457291314","host":"s3://npm-registry-packages-npm-production"}},"1.0.53":{"name":"handler-playable-sdk","version":"1.0.53","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.53","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"c8439b55ca03f9474d2872ccbdca8143d117b70d","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.53.tgz","fileCount":70,"integrity":"sha512-zT0zE/8KeX2fv+JP/fwrPjd1NPGHt1eEqHHamIYpyb+si1zQbzc+wZrdcG/qtZspzoaKLeMoh7+P1u5JT2/dyQ==","signatures":[{"sig":"MEQCICvTgPkW43ZB+lNruK/l5hdHREgxtRHdGsxJzpOJqK13AiBax6CoZVh4A8ruxmNkOreGhwGyqocwmfELWOw66UbJ/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6544962},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.53_1769314752617_0.9417599086742932","host":"s3://npm-registry-packages-npm-production"}},"1.0.54":{"name":"handler-playable-sdk","version":"1.0.54","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.54","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a2f0e397ac2bb72ee78f97c5bc38d47e0bfea78b","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.54.tgz","fileCount":70,"integrity":"sha512-+wlR7ucV0DCPuV1wlaL3AF5sF2bHWdZd6moZkn9dkH0zGVs4V1cUjSfClrmQr5R1Es6b4d924o2qhXb17Lmidg==","signatures":[{"sig":"MEYCIQDZXAfCfze+JgqVMFGYeAYaKCj6Jlshhx7Z9yipzh0kwgIhANAZq5kY29YLW6WIVf0vmAtZ157GHlfLC5gHfGDQK2eK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6526163},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.54_1769315119466_0.17496106619343643","host":"s3://npm-registry-packages-npm-production"}},"1.0.55":{"name":"handler-playable-sdk","version":"1.0.55","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.55","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"748d9a6af2dc6c2d96a751581dc613bae33d8705","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.55.tgz","fileCount":70,"integrity":"sha512-AZvmnAOwCv72b4dpDRfVZsVKiFhd2Wv0Zo4F7coX18nvlvxsCLM23tLHvht4i0/o70fwOOEh4oQOb9D5PEh6BQ==","signatures":[{"sig":"MEUCIQCb7MuwBodTcK/QE4IsPJar3TJ0JiWKZxaLMhcQ+NojfgIgSMeMaBJrx/tSes7lDmGcq9tySgvZNFhjoJo0HQw5EuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6818236},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.55_1769315618703_0.12123443608241025","host":"s3://npm-registry-packages-npm-production"}},"1.0.56":{"name":"handler-playable-sdk","version":"1.0.56","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.56","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"46cdf940e363b216821c61bf8da9a630676cedf9","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.56.tgz","fileCount":70,"integrity":"sha512-It11b0MPHXU6DWvsDDPxnMcEjEsy/L/jiRZZ88T8G9Bpclm3lpr66RLwlzdZMlKfKVUG58Xq+Ky7Z0f2jR4DCg==","signatures":[{"sig":"MEYCIQDXJ80f5sqpTkif/Qv/3rkO6cIenTQjAUY2TMgtFndh/wIhANbHVRVNmCZlIJBR8VFyWIEaoPNigg+ODTIBvonpMQuz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6689776},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.56_1769315841290_0.9216042687532342","host":"s3://npm-registry-packages-npm-production"}},"1.0.57":{"name":"handler-playable-sdk","version":"1.0.57","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.57","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"63d54e6073aeb09947a02d05c914cbfa787dcbc3","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.57.tgz","fileCount":70,"integrity":"sha512-jXwvSRZlbEeaihCxFtr0E2lTybbn+j8INv2Bp0mUJpawSPANW1LjNcuHIlft9dMhU5B8Md7uVOk1hxuzqJFvLQ==","signatures":[{"sig":"MEYCIQCRgiuJ4xic5vgRwP8A27KRwKDxmV/7IalxJuwe//8wewIhAL26hK/BZc0m9XyfQytOMnYSVuk7La8ot7XqpH2f2pbM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6546243},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.57_1769316259476_0.05898690634627113","host":"s3://npm-registry-packages-npm-production"}},"1.0.58":{"name":"handler-playable-sdk","version":"1.0.58","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.58","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a6fe54c525184701709b61e2ababfbc9dbdcd7a3","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.58.tgz","fileCount":70,"integrity":"sha512-YO7XjOwOmTtI23dqvzUSTor0j+Gm0vZ61jRxt7SjuMw5ZeTbfv2g0N7r79dpgj5J2VgYGHB+qwhEtC1bu4SMrQ==","signatures":[{"sig":"MEYCIQDYbWAaAzM0NIj3lFDGkJ1x47AOSBm9lzAZ5hrnhoD85wIhANfoK0R++u8qkVJdnexLlD1b7wLuBbuQhK2V0cDyRfBp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6460881},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.58_1769318771156_0.7075859382268033","host":"s3://npm-registry-packages-npm-production"}},"1.0.59":{"name":"handler-playable-sdk","version":"1.0.59","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.59","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"834950c85c0d4c9323ebeab1d29e406ed547e356","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.59.tgz","fileCount":70,"integrity":"sha512-lGf1YzyEmtI/FyKE9zwUiKHpks1S7i/TUZBc5OASI+GS/leOV4wiKfGxtj5CWRWrJuF37oyILu0KC+KzlM5Lsg==","signatures":[{"sig":"MEYCIQCdz8XKbMzDY22D6j8n5qNKNp4QyCWp2LYCeC8hDjgIoQIhAOqg5zU08xiOZXS0WOOtfwL48m21euFN5E2RisjqbuY1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6791436},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.59_1769318824979_0.8866143426989692","host":"s3://npm-registry-packages-npm-production"}},"1.0.60":{"name":"handler-playable-sdk","version":"1.0.60","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.60","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"5df48a43dbc328a5984fb871e8f8c0996c78dc05","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.60.tgz","fileCount":70,"integrity":"sha512-CaLckS9ZxCaLj+oeyV7GhzdYt80fWyy4Nphq5GkMOoswBNjjayUUluF+i6rdFX0DC5UHPV562U+ECv8yY0e4/g==","signatures":[{"sig":"MEUCIFMwg1WAofalSgIkaYQUohZFFfjClthJIarTvudvuL9KAiEAsSL4nxOGAD00qhHG3O1WCVyy7jDmngjn0ZNgoV1Rwj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6690919},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.60_1769319594632_0.3542239896121169","host":"s3://npm-registry-packages-npm-production"}},"1.0.62":{"name":"handler-playable-sdk","version":"1.0.62","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.62","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"803c0444f88748d7974777e70fd06b15016230fd","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.62.tgz","fileCount":70,"integrity":"sha512-/GZU+ItD2FXG1vf3xouV4zArezKKRXGZC7j55JZawj4dkqyNR1Rrqg+4cFqw3ckv/1SA4gXmIJgXBvGCZK8oZQ==","signatures":[{"sig":"MEQCIDxSYyy7NuaFfvkP0szthVxqS63mmArhEgJy97obqzElAiAM7qCpeIZpLkDkp5U2toQ7IJZDvkgdko4m+C025iRiNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6723440},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.62_1769321039968_0.9106299379205955","host":"s3://npm-registry-packages-npm-production"}},"1.0.63":{"name":"handler-playable-sdk","version":"1.0.63","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.63","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2baae54487ecbd42ddc4efe8ce15d13b8063e666","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.63.tgz","fileCount":70,"integrity":"sha512-wNNcG3djjae8zop/yo2fjw92XmtAEh2sNMQrlUxWi/m3LHrkqAZwfkdxq8303UD99bxhHF7XXTn6TAq26tU9Gw==","signatures":[{"sig":"MEUCIQCAujiDQh2Wh7fKa3l9HBciswDAZZHcNLiXcm+tvf1kLwIgDKdlwjJGDxwTiGlxGMzH6bH4+Xd83ZQrvFuc9mOchbA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6861191},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.63_1769322328764_0.4844845545268166","host":"s3://npm-registry-packages-npm-production"}},"1.0.64":{"name":"handler-playable-sdk","version":"1.0.64","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.64","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"942dc99901162be273d7124ba98738a929bcce98","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.64.tgz","fileCount":70,"integrity":"sha512-hSLAUm/sxGKo6tyefvshlbQKR7h3Ml+F0ZzCBa6CdUVR1gECIRGeKJ7xHlx3HI3fIs8GrRyqLRPBC3PQnln4mQ==","signatures":[{"sig":"MEUCIQCID1PyBesLrpHnu1guwMOQTJLnG2iN6X5f7yvYqce/YAIgDasvSQXVN4UIREzPwkIH4qcmv/Yl860ZELZ/hC3MwSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6366019},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.64_1769322958384_0.7839284418791923","host":"s3://npm-registry-packages-npm-production"}},"1.0.65":{"name":"handler-playable-sdk","version":"1.0.65","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.65","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"1ca9fc93f03ade95f364f2f0bbcc1a6a01b99488","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.65.tgz","fileCount":70,"integrity":"sha512-SpQlslN3sKHpm+fEROEQ7XRX4GbnI+1SNTW8mX3DRhMuJN8dYzzyK0prZYrJXbh53cb6HNkJgyZ+5Tnv8XTKQA==","signatures":[{"sig":"MEYCIQDdPaT/yODLXa97n0YcQza6bzNVYmAuTZZfKBH7kYLUJgIhAI1AoYCtYcCx7/RJIdWH9PVq6RJeLumQJ9uDPBZnQX9F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6502909},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.65_1769323256908_0.04820101793909681","host":"s3://npm-registry-packages-npm-production"}},"1.0.66":{"name":"handler-playable-sdk","version":"1.0.66","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.66","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"e60625464ba93aeabbfd9a01844cc860c0ddf646","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.66.tgz","fileCount":70,"integrity":"sha512-2HUOqG325DPzNQVJ92QeUKuftRQixaeGs+SjphOr0jcG2dwPdTUi5MUKdjwsrwXR8bvnIFsh2DNtjThDauEpCQ==","signatures":[{"sig":"MEUCICEb/QettCqWOC/xVI7yt8qwoq5fuIZ/iHtt5UQUSezZAiEArq7TiXE9JvF2C9VecktQ92h64Tl3r6kZvfcJAVTYxow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6684933},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.66_1769323831046_0.6016229146887253","host":"s3://npm-registry-packages-npm-production"}},"1.0.67":{"name":"handler-playable-sdk","version":"1.0.67","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.67","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"7d4aa70265a837bf9dc17a22457545b0076a2b3e","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.67.tgz","fileCount":70,"integrity":"sha512-6hjbACX5AQ20TTOysqOqhWnYoZkbl89uUFfCdMX07dJ1gAtrmUx1fbRtKCLUG4GO6F0HOeeoWuSSX4Ov0S1CFA==","signatures":[{"sig":"MEUCICHnUNkyDyLkeES8IhQpyOM/i29nYWEWKzaeZ8NtHuG7AiEAnTpWtRhzwUonU5KYtB8ZzF3LKyFneINrKjxR3LTKWkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6618148},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.67_1769324140570_0.0882130565698711","host":"s3://npm-registry-packages-npm-production"}},"1.0.68":{"name":"handler-playable-sdk","version":"1.0.68","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.68","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"9d3bf1cb7dd5e0f787692b1691e633eac01cda36","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.68.tgz","fileCount":70,"integrity":"sha512-DPpDjVYnEcQtxjP7rIDAnmT7L+sUL7QvYaHujV0gO5t8jvE3IUdc08Fx93wGgMwyU407b+4BR8bItdtCVtWbYQ==","signatures":[{"sig":"MEUCIGNx9iOSOoQ8SCVmi++hTqhFsyKM8F2mrN/SrLFWMOuZAiEAuWgI5K+EsqE5u0tEEAsAwaEJ1EcnEY2TF8FEIxJPDCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6900087},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.68_1769324451901_0.22829657919719804","host":"s3://npm-registry-packages-npm-production"}},"1.0.69":{"name":"handler-playable-sdk","version":"1.0.69","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.69","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a5015fb97bcca0e06baf430d454cc45e94e8476d","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.69.tgz","fileCount":70,"integrity":"sha512-FcxszpZtk3krwIO+E/l1tDJ6IOi9BCNhQsMhv5o/1gvjKB5kpnWEq5BWoUDHKEVranAeZ+oYane1n3XwBx1X9g==","signatures":[{"sig":"MEUCIATXmrJ3TJZzLXJWRiWImPTlcGYiS/KOyAaLJkELwmLeAiEAp1aUsJZ7jZkQbMi49L/poS7mfUplCfcWGhBdwZY7LRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6428551},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.69_1769324721094_0.09046658206411484","host":"s3://npm-registry-packages-npm-production"}},"1.0.70":{"name":"handler-playable-sdk","version":"1.0.70","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.70","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a6451a539e4e58f6e72fb4c1d3704ce0f7a7c5df","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.70.tgz","fileCount":70,"integrity":"sha512-+3USOOvQnVqGbZToTDOCBOzyV92sOeKjJIAeGGxeQL/q7+MZCsurVJY73vLMV+/TXiCZWv5jf15IRVOSeHsfow==","signatures":[{"sig":"MEUCIQD9FVMFeLTIWgyUPnfRuaOGYNDhjn1HgvEHL/yihbm2swIgCpnBg15tsUMa3DpHXNggguaN+8tiEiNuvTulUiGRIoI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6643613},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.70_1769324813565_0.31479569918388894","host":"s3://npm-registry-packages-npm-production"}},"1.0.71":{"name":"handler-playable-sdk","version":"1.0.71","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.71","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"7cb94da3468b798a6aef8968875eec4f4e4b712d","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.71.tgz","fileCount":70,"integrity":"sha512-XtUQuQtjUm542nYgfzCv6YSHdzvPghI0W44Rsu10Ojqjd/svz+UQHDRmICWjDtJvgf29iIMdmEZ8v26bBWhTdg==","signatures":[{"sig":"MEUCIQDb85bQNaBWMzhr2WnUydgozOgjen5KsmE3hBTqHdNvowIgFnkrH3uyW2U1msv43Ok+W/a8j3ZvmLDa349uzrbc3dc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6491197},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.71_1769325046084_0.6563232926155513","host":"s3://npm-registry-packages-npm-production"}},"1.0.72":{"name":"handler-playable-sdk","version":"1.0.72","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.72","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"b3cce1ed492a20d5ab7bdf37d7e53061f086ab58","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.72.tgz","fileCount":70,"integrity":"sha512-H4BB98HRT4xOd01+mm1gPqWrtP8WXPRhUAJMh+cS16RRtIGSQhMnIBm2SSJfbydK546/v4cdd4hHyJ8x/ksVEA==","signatures":[{"sig":"MEYCIQDmgK7pG80f+Ag2Is8zzDEw6RhkXVLRgw7+eSYYkCZ0GQIhAMQ41LIgQkSUkbDVF8j5SiJlgHvfiFRRbgAaAJ2W88H2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6280379},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.72_1769326285171_0.997533310460331","host":"s3://npm-registry-packages-npm-production"}},"1.0.73":{"name":"handler-playable-sdk","version":"1.0.73","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.73","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"5eae4313112a70eaf783cb3d2de3b9c7a12291a8","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.73.tgz","fileCount":70,"integrity":"sha512-2BVEeWhZoIY6k+N4EXoPEd0CoZg4IA50L1nWhYq1mLyUiR1owdYi1jSmGR05lR9omcpQcyoypBdgFB0oMHpWPw==","signatures":[{"sig":"MEUCIAVKGeJ/32VOyrcqTkXLVi5lpMOucXodDxwSnBG/A3khAiEA/a4oxj6KV2pQINGriCDYBkwEf98vaUgm3BgJyCsX1EU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7099498},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.73_1769326777208_0.7861215262270158","host":"s3://npm-registry-packages-npm-production"}},"1.0.74":{"name":"handler-playable-sdk","version":"1.0.74","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.74","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"8d35f9d0351394d6c255e9ab0c921881134ddc3b","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.74.tgz","fileCount":70,"integrity":"sha512-q0RXkn0GtrTPdhVcIecvqAERlbIcmNJd/bLAXyPTBcMMJTfT6+fnCeFZVnopPF47I1EwRjeHnLlk52mx3T485g==","signatures":[{"sig":"MEQCIBsa8bAqTqwkiFgOtc+Bl5soSFfT85BdvE7KYArn+Xj8AiAUwzIGZ+sXursTozAH4STIdY7j+Vcqjdcf7B13naTz+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6787798},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.74_1769327217997_0.3592398950111628","host":"s3://npm-registry-packages-npm-production"}},"1.0.75":{"name":"handler-playable-sdk","version":"1.0.75","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.75","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"aa67004abdf38d5aad7f6a62b73080681c51536a","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.75.tgz","fileCount":70,"integrity":"sha512-oWWVRxKhEQGRi/bFNBLjwXIiYpYvBZKnba6q+yB6aQK0gF6FtYSgUsK6s7KghWBwGzJMrhuTDySFgGhI5q99lQ==","signatures":[{"sig":"MEUCIBlX/ilrlG6M8JK2Rz/Tk8nBdHENO41YKcvhhdGT1n3OAiEA2htNA2wj177DEoNtHG+yDqETPA5oz67m6sBGi7NKAR8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7174382},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.75_1769327787726_0.6911074086396856","host":"s3://npm-registry-packages-npm-production"}},"1.0.76":{"name":"handler-playable-sdk","version":"1.0.76","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.76","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"f2927d78f8ae3876b44f065b00d2b49ac5218ff4","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.76.tgz","fileCount":70,"integrity":"sha512-BGjQBbwVWG+T1rv1YC/sCrUdebXxmJF2MIOOSD+6PnQnGMns+ni6YrLGh6FXiXQZup8GEoTXyk9mMsWx5to9cQ==","signatures":[{"sig":"MEQCICUG/2DI/iZmid5Jjv3xPohtFLmyX87rSqObptMYwSlYAiBDS/ObxcsVG5Ay7Tm/53UmE+ijAYFxGpq9HhfdlCUU7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6619281},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.76_1769328059913_0.7830423323636537","host":"s3://npm-registry-packages-npm-production"}},"1.0.77":{"name":"handler-playable-sdk","version":"1.0.77","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.77","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"4d1b7fc1f44cece5ac02e220156781d8f170fa6c","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.77.tgz","fileCount":70,"integrity":"sha512-jqXGaLDeOldrxyyS6C71gdJuKkwMr9wjr3Cwf5pEazm6VZo6R2xkiVs4i+c9CYhKbnOO4CMuKKDsQgxAKANPug==","signatures":[{"sig":"MEQCIAzHZ2CJuWI45vQ3k8hZ0tWLroSAaK6PKpRQ6gqMdF5xAiAtED85otZyCQvrhXTZXarA8e++NuW8lxWY2+80am1+Ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6234284},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.77_1769328370009_0.5302713426751171","host":"s3://npm-registry-packages-npm-production"}},"1.0.78":{"name":"handler-playable-sdk","version":"1.0.78","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.78","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2d78c73df7458790b9b894b73fa8b6c708bddb80","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.78.tgz","fileCount":70,"integrity":"sha512-u/8Rv8g0IABANITNQ2Vlw/sM30pexxCdWaH6Zc/3Bvs0cslQXNSVTXDWn6pjFQWPv0n3+blC1owR8xG2V5ps2Q==","signatures":[{"sig":"MEYCIQDKamNOEBFbe8BNXwaHHDgWFo1F7Fbu3ZS8skMAtd0/4AIhAOkReUBqX3NjyL3hbfH/00+iCU7VPmlG32vnu1YzFBhL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6621582},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.78_1769328892500_0.9707248644594222","host":"s3://npm-registry-packages-npm-production"}},"1.0.79":{"name":"handler-playable-sdk","version":"1.0.79","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.79","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"1d645a7fc1516f54491a1c99616a911662ad5bc8","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.79.tgz","fileCount":70,"integrity":"sha512-0VZdxdpb/Q92YD70khqvWmpObUwwiI0YrhyDv9BILYEjBhVZD5ZmJDQStVZprOoRXyIJWMXAC36BZhyWHJVwTw==","signatures":[{"sig":"MEQCIE6FfTgL6zhwyCqFxiSuDjal09NhujHdxi6ynXIy5Rc3AiBO/eLCXlKYbOmVSys4sflemFcjgSzpZ8ntEnIRXnoFBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6458164},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.79_1769335300383_0.7605636832371161","host":"s3://npm-registry-packages-npm-production"}},"1.0.80":{"name":"handler-playable-sdk","version":"1.0.80","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.80","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"9c7093610296028b748f6bc9746601ff026d3b68","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.80.tgz","fileCount":70,"integrity":"sha512-Q8TJE2CV/MmNA6pY2n5L0nbgTZCm/TioSJ4T5w46HGenG9kbrYTykSyIZrM7WglM3Sg9VSmrqiZm0HCMTJ/pFw==","signatures":[{"sig":"MEYCIQDayT75v5Miok85Ev1dvL48jOoennv4zS6+13OTghjPeQIhALOqDjXOazADESckkB0pMiM7YSnKr5BAQLPgVOt++YEx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6535600},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.80_1769335701957_0.3638916289868914","host":"s3://npm-registry-packages-npm-production"}},"1.0.81":{"name":"handler-playable-sdk","version":"1.0.81","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.81","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"c4b6e758a307de09315361042f07fff031e122e0","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.81.tgz","fileCount":70,"integrity":"sha512-T6uPZssLkjfTQQurH1StvPUDDtluTenDPDzkE0hD5vrkM1ezViRTidXMyP705vFD8uRT0bohvDj7uQCox7d7Ag==","signatures":[{"sig":"MEQCIF4Z8uNZiGFLF+Zfmxa6sn9MVQ+9qaQvGdeqp0WhuuBWAiB5mYX21p3dIYZFoeJFt37/jB6kGFIwoqQuzeGJEHbUHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6848834},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.81_1769335909305_0.16789378564632762","host":"s3://npm-registry-packages-npm-production"}},"1.0.82":{"name":"handler-playable-sdk","version":"1.0.82","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.82","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"5c844c359213346d7e29794df8b69416a15ef760","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.82.tgz","fileCount":70,"integrity":"sha512-+1i9IoXXiW/I6kHRnioJXvOo/Ry0wgmltm2L0kMlSK5rd3f4WkJPJXVk42nQUka7JBePiYrYSe5dwEfyadH74w==","signatures":[{"sig":"MEQCIFWcpC98pq2f0029hCnlNu+04UjVWMHm+1hvq/SXiNV/AiApD0O8GtFxqzz51nf382X+XgizuSkL/b/YNq8L2zNZqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6855805},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.82_1769336227177_0.7833685596655902","host":"s3://npm-registry-packages-npm-production"}},"1.0.83":{"name":"handler-playable-sdk","version":"1.0.83","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.83","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"50588523a6f094dd86c245299e656c1d11922c0f","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.83.tgz","fileCount":70,"integrity":"sha512-dA9OCZRNld+mft7xaR+uaCZtnT1FoXjvZ+F7/Fo5U+5bewMYdmszzpGIuFDYP2paehUZKmihAodm1VpBqxUWlw==","signatures":[{"sig":"MEUCIGMjlVbc14b+yJLuFAWTp8fS0U6qgQDkBxBLzfPxqU4GAiEAhc1+q7gNISxzOCoiQRK6mZ4T/WGqehkEu6H2HodIqkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6608411},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.83_1769340150908_0.25533808656972856","host":"s3://npm-registry-packages-npm-production"}},"1.0.84":{"name":"handler-playable-sdk","version":"1.0.84","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.84","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"417d3df8f57c462f5782c7e235c9520a8de88e5f","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.84.tgz","fileCount":70,"integrity":"sha512-TSlZWr4M/O/OIGSRTT6sm3i/SDBG+8EtfDVSsZGX/qh9/bjPSZy1UmfhtbYq1PTdwKJ3ZqxIjaW3MRFArXlhIw==","signatures":[{"sig":"MEQCIHLTTNd4fdml3Up6Uf8xVSEOgqQxkiD3gDDzAfvw2VdgAiBJTF6DiT+rV5ZM+8qHhh/LdbFn30RxEc9lh7eGQyiR1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6906877},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.84_1769341325963_0.8217925498434437","host":"s3://npm-registry-packages-npm-production"}},"1.0.85":{"name":"handler-playable-sdk","version":"1.0.85","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.85","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"72d13a3914b5024552340ff4aa857cd302b37425","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.85.tgz","fileCount":70,"integrity":"sha512-sFjHVbe5qR70qF8DhirAaZ+QZnUS+oAlMMPRnqaFm9dZ3/AHlVXAhNvU81eIkZU4TOTInYD7AkQCRQ693ngYSw==","signatures":[{"sig":"MEQCIBjqbQtnRnolKStePPYm2AD9OVgd/fgfUbY7VjM/mWiQAiAR6kes/PL/QdGbm5PNcwJ8P8hs1SmBSVj3IQQE8ISjdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6546597},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.85_1769345517515_0.1581037071133624","host":"s3://npm-registry-packages-npm-production"}},"1.0.88":{"name":"handler-playable-sdk","version":"1.0.88","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.88","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"0efda062f119721db2f04085c28d926fe0447c5f","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.88.tgz","fileCount":70,"integrity":"sha512-iO40ldS/kB+n/YmxSkDG1XdZjsF+1cC5Ukzf2YEp/P7ovSv5/RKSbzbppEo1h4VQ94hx3RYKzD8sLQRVwGwDBw==","signatures":[{"sig":"MEUCIQD2kjXOdIULV20oBdzQ1CW8YfKZtTNuWrrtSO/205jdvwIgNfa0GHh7R02jgIFaSbCgLih4Yt4kmKhQDPbKzU47a6c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6530576},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.88_1769345807691_0.32658147120927516","host":"s3://npm-registry-packages-npm-production"}},"1.0.89":{"name":"handler-playable-sdk","version":"1.0.89","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.89","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"972a85b06b05b14e5a2ab20d0f60f00b644f3a0e","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.89.tgz","fileCount":72,"integrity":"sha512-FlyepzoMMNswJ5Z7WwJA8b8647udI1HpR/uGXfHsBOfYzMTuFxl2H+/cc8N1EEgndSP86ID761RaqwyaZlla8Q==","signatures":[{"sig":"MEUCIQCV2/N4FWaEfQEmm2vfssvFrmOnG0ZkVXGEoYWROVgUAAIgOXqNeEmetZfp+bjWaGYx6FkMhgA96EAEaOksl2+LzBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6590330},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.89_1769345964346_0.4042469809195368","host":"s3://npm-registry-packages-npm-production"}},"1.0.90":{"name":"handler-playable-sdk","version":"1.0.90","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.90","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2e225df992ac66b35be98eb1e473bda6af55d156","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.90.tgz","fileCount":72,"integrity":"sha512-x1KYa05+culQbedBKOlorSe1Xc7lPOvntQ/aCt0McIb3/LJBvg5/mvL4aew5lQHq5Wq/xEHG6teTylWTWkj29g==","signatures":[{"sig":"MEUCIQCltY1q3fBpd5wUsJvCR+GVNjlupg4JYFCzqimJvUzeLQIgOJ24RAi7T3r/RpZLh2/fwW+q7nt4LlJaTwVVBakbe0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6623250},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.90_1769346834727_0.759961013608411","host":"s3://npm-registry-packages-npm-production"}},"1.0.91":{"name":"handler-playable-sdk","version":"1.0.91","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.91","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"6a09f40c71cbb9a8ecc75bc9a11b6133211f3c98","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.91.tgz","fileCount":72,"integrity":"sha512-/ZRqiy0E1LkNua6NWVMwt1HazOVTC9DWTrvHDqSg01nHZeQ2nAq2JL7JcaVbEwbmghsTwm6F23qzoiuEBj70mA==","signatures":[{"sig":"MEUCIEwBPHFzt2PUklz25r0ovnS1n2z3Urpw7hkk7IXp83ZKAiEA2Q5VgEDBoYtHrOBNQ59i9nAIjYO7reiuPNKU2kIJY3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6453119},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.91_1769348334221_0.9462050878815345","host":"s3://npm-registry-packages-npm-production"}},"1.0.92":{"name":"handler-playable-sdk","version":"1.0.92","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.92","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"242463d46ee10cef9332c074c6555257cc558f2d","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.92.tgz","fileCount":72,"integrity":"sha512-vayFXrgyZbKAfNX5Dca4Qz+IzEUKvJ7hphoTcYUtNC4de6K2+1GuZzpmEF/ujRzZmbQ/3Q07x24yN6pc/vRdpg==","signatures":[{"sig":"MEUCIDY5WHEmIC+bqVCRCzUcuu/OnBac1E//sJiM8lvLCcc6AiEAvYMvauvU5XOcv8qztNxmfaxwTAmJduv8qto/dbcscos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6611039},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.92_1769348456546_0.20254354298951638","host":"s3://npm-registry-packages-npm-production"}},"1.0.93":{"name":"handler-playable-sdk","version":"1.0.93","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.93","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2a38d09fa15e2755672b60f757cb9a2d36e2b2c7","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.93.tgz","fileCount":72,"integrity":"sha512-fDhw/A1Hl9q9ioFxgq5uv/BXumepQwYon/WsbiECVQdos9w0zhSrSzjtS0Y6lqVq5OkLzt3ixMMrRANKNUZSbA==","signatures":[{"sig":"MEUCIQC/pvqDZceIBUO/YIKKP8nxoKHgavrGwq5XsYekf7TUCAIgZIGkW5YZwLB9A5UFfxSh+HRE6ay2nX1qX/cIck0LbW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7029393},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.93_1769352953868_0.32677101151920884","host":"s3://npm-registry-packages-npm-production"}},"1.0.94":{"name":"handler-playable-sdk","version":"1.0.94","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.94","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"855c67533f1ebf844c3627225d18521a47c83b15","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.94.tgz","fileCount":72,"integrity":"sha512-MS+4xwLN05Yrf5yH7ZQo/hR7BaPukvWz8gzIQazqIDc6e6giPg8MoZLd9VKvZFQJ2c7ba4LcNs2t7xT16yc4SA==","signatures":[{"sig":"MEYCIQD4LFZJgsBhf7sCSztKPMRx8lyepONpmJf9dn8SO1RRZQIhAMzz0JcrfqoDY2JvO4u5Wu6pqmV8YTgs2JX3QARpLlv/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6627741},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.94_1769361928030_0.45014034257609015","host":"s3://npm-registry-packages-npm-production"}},"1.0.95":{"name":"handler-playable-sdk","version":"1.0.95","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.95","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"55f8cf92ebcd7d0a268b2436326065115a9d1b86","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.95.tgz","fileCount":72,"integrity":"sha512-QiBTTHgTV65GG43DUH+XfTDiIu5nFZao3ase368DnHlRpocYzME/djavdd3ExOkMlEnzKUqv4Paw7AVwmmVAyA==","signatures":[{"sig":"MEUCIGDBao+V4ADw37+9tGiSi7h4KCrXdT+AxVm/Yb32T8YkAiEA+K+G01i4rK0MYCpI5BFA5lNZnL8BBkGiro26CbaEer8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6554303},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.95_1769369096640_0.8182137093982431","host":"s3://npm-registry-packages-npm-production"}},"1.0.100":{"name":"handler-playable-sdk","version":"1.0.100","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.100","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a72ca07f5cf645ec1a24df5118f18466988e2743","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.100.tgz","fileCount":72,"integrity":"sha512-qf+0kDUXfbJa1cuLEAFsyajAzmqgbpnwd1TI36CxnUvVGIeCgJsLNcXjJEeRW+RRawd8ssE2o9iF4Sdxxl+KTQ==","signatures":[{"sig":"MEUCIQClgXbihhhS5Ctnp9YWIOhdnINDf/qDtICmuEJEUNiLwQIgJA34lFJPpzUFsv/HAALFL9J6W8K4D8OoBBy3yTeRB0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6534233},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.100_1769370802527_0.6914905664622628","host":"s3://npm-registry-packages-npm-production"}},"1.0.101":{"name":"handler-playable-sdk","version":"1.0.101","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.101","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"53d935227d98852400748078980505e97976f96e","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.101.tgz","fileCount":72,"integrity":"sha512-yoxyh8MCDsO6tKwoFtsqlGbwlTs25QYZXzNR58AiY/gKnOhcAadxYo/EZk9gFSEQNFU4djI5zhsr3XEXvlE1dw==","signatures":[{"sig":"MEUCIQD5JhPwysT8OdhmEs1jdTSTxOa0pqzIA/VpCsU8twTQ/QIgNp/uhMnExJQ/eSaR+sXWV6dBAGoZx98EEeIUKYwX7MM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6959787},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.101_1769372255373_0.013040642186037399","host":"s3://npm-registry-packages-npm-production"}},"1.0.102":{"name":"handler-playable-sdk","version":"1.0.102","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.102","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"2806bb5f3f3361b317dae3e404db4e9fcaf0b3f8","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.102.tgz","fileCount":72,"integrity":"sha512-/cb+xVKbbWevJ23NwQf+8p6pp9syHrf4wT8hmOesvmxVXBnoyUadsBCSInQOygxOk62pTPCvfGEwzvz1KSkVCQ==","signatures":[{"sig":"MEYCIQCwIvbxHKPM5aGH5G/9jWmVdorpCq2uLhut/egZPHRQyAIhAPGPJHDta6WrXKC0v83CVotn+Uo3xqviGh1w4a7ePi8z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7138618},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.102_1769430688588_0.44180784858722544","host":"s3://npm-registry-packages-npm-production"}},"1.0.103":{"name":"handler-playable-sdk","version":"1.0.103","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.103","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"67109586c2c5cd6c05fda168480c8ea3b3c30574","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.103.tgz","fileCount":72,"integrity":"sha512-8Ikg6Q7NijiDQjuWZgHJ1RtBnFAObz+SgCE3c4Wa1odd/jwWV1UJEzGkoHs6M9UMbE/pNXfeoX9tgkhDAcQbKA==","signatures":[{"sig":"MEUCICKXfcUHPAXq1i7XkU0eGyi5KDqh2Qz4hUrWPp37kDfzAiEA6a5gE2bi6ZIMSUYyDfF+zgdni8dINZbt9ijSLB089mg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6504506},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.103_1769455387822_0.09362441856506787","host":"s3://npm-registry-packages-npm-production"}},"1.0.104":{"name":"handler-playable-sdk","version":"1.0.104","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.104","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"42deaadb859c9cb67335ff99e9bfc3157229e579","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.104.tgz","fileCount":72,"integrity":"sha512-UyqEeCdAtqm7MBDKMHeHpzVLRfbLVhC0pwcNxsWWkDleW74Vf05IR3SEt/v+g9KZKd3mCXW6WcwbmdmNgRovvA==","signatures":[{"sig":"MEUCIQDm6XmW4YG+Z7WgtFp3IP9Eo1QdikWCilIJdVLnWoXdJgIgKi5DsfuBhyZ1wn6w3g3bSnJYVfiN36M8i3aAJ6RNU3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6991757},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.104_1769461415847_0.88547098326781","host":"s3://npm-registry-packages-npm-production"}},"1.0.105":{"name":"handler-playable-sdk","version":"1.0.105","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.105","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"e43e21454db8e38a7ffa2a2bfc07ee09f7c63795","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.105.tgz","fileCount":72,"integrity":"sha512-2kNFvXyMbp+j7aqfz1ynSpiPLrtxO4lksEOHQMMt3FPnGCy1XM0bDSeK9+YgJ478fGlXmnr/QryEYubduMfg3w==","signatures":[{"sig":"MEUCIE9bKD7GSgM94JILZsVXYIOhMG5AYmEwFe+ywrccaYwfAiEAsA2cgMkcczaVo9ylc5tYZ6mY0PkeZilXYrbZq00SVsI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6650264},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.105_1769461725239_0.5795935887996833","host":"s3://npm-registry-packages-npm-production"}},"1.0.106":{"name":"handler-playable-sdk","version":"1.0.106","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.106","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"731669c1ff05ab4cbf8d0c4e77daa1389432fec2","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.106.tgz","fileCount":72,"integrity":"sha512-zf7EZUOTa9++381U+coZ1jZzHnrvTBJFSEXt/xnlwIOowWRwqZE0D1RrBIJVX9RUHpqKXsYt53/iBoHmLHGmPg==","signatures":[{"sig":"MEYCIQCR5zV4aPwG05JegHSiXbNFkuKNMdW6fY46x+5BItuIdQIhAJvmGfHdAn2F2E9F7b+F1o46HHfd8lCLdvue1l6rNGK9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6994215},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.106_1769468171178_0.18371493304667985","host":"s3://npm-registry-packages-npm-production"}},"1.0.107":{"name":"handler-playable-sdk","version":"1.0.107","author":{"name":"Handler"},"license":"MIT","_id":"handler-playable-sdk@1.0.107","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"bin":{"handler-validate":"bin/validate.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-screen-helper":"bin/screen-helper.mjs","handler-setup-library":"bin/setup-library.mjs","handler-student-helper":"bin/student-helper.mjs"},"dist":{"shasum":"a7a18b62c68ef0eb26b8c9a15fa646bf1dad33d6","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.107.tgz","fileCount":72,"integrity":"sha512-quoUQLrDiapVZ0Y1iFSYQZ9EuQucYkoVktQOuln277ESMJlDTCezIZD85zxbrdbuqwA29q9rvnRSnkubyH0B/g==","signatures":[{"sig":"MEYCIQC0eQYZAWEmD3+Jf7G0cV6Uft58aJZkRiAm+kvljHN/dQIhAMr5ETMDmt9C3hiJw+fbZtkVdU7OfzfmLMntM9YSQ6BZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6559721},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"}},"gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","scripts":{"lint":"eslint 'src/**/*.{ts,tsx}'","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","prebuild":"python3 src/preview/build-css.py","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","postbuild":"python3 src/preview/copy-css-to-dist.py","typecheck":"tsc --noEmit","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","publish:update:major":"node scripts/publish-and-update.cjs major","publish:update:minor":"node scripts/publish-and-update.cjs minor"},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"repository":{"url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git","type":"git"},"_npmVersion":"11.6.0","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"jszip":"^3.10.1","sharp":"^0.34.5","@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","three":"^0.182.0","eslint":"^9.39.2","pixi.js":"8.8.1","ts-node":"^10.9.2","typescript":"^5.7.2","@types/three":"^0.182.0","typescript-eslint":"^8.53.0","javascript-obfuscator":"^5.1.0"},"peerDependencies":{"three":"^0.182.0","pixi.js":"^8.0.0","lottie-web":"^5.0.0"},"peerDependenciesMeta":{"three":{"optional":true},"pixi.js":{"optional":true},"lottie-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/handler-playable-sdk_1.0.107_1769472847678_0.10006526034336316","host":"s3://npm-registry-packages-npm-production"}},"1.0.108":{"name":"handler-playable-sdk","version":"1.0.108","type":"module","description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./pixi":{"types":"./dist/pixi/index.d.ts","import":"./dist/pixi/index.js","require":"./dist/pixi/index.cjs"},"./pixi/index.css":{"import":"./dist/pixi/index.css","require":"./dist/pixi/index.css"},"./three":{"types":"./dist/three/index.d.ts","import":"./dist/three/index.js","require":"./dist/three/index.cjs"},"./cli":{"types":"./dist/cli/index.d.ts","import":"./dist/cli/index.js","require":"./dist/cli/index.cjs"}},"bin":{"handler-student-helper":"bin/student-helper.mjs","handler-validate":"bin/validate.mjs","handler-sync-screens":"bin/sync-screens.mjs","handler-brand-dna":"bin/brand-dna.mjs","handler-setup-library":"bin/setup-library.mjs","handler-screen-helper":"bin/screen-helper.mjs"},"scripts":{"prebuild":"python3 src/preview/build-css.py","build":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --minify --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli && npm run obfuscate && npm run postbuild","postbuild":"python3 src/preview/copy-css-to-dist.py","postbuild-cli":"cp src/cli/*.mjs dist/cli/ && mkdir -p dist/cli/student-helper && cp src/cli/student-helper/*.mjs dist/cli/student-helper/ && chmod +x dist/cli/*.mjs dist/cli/student-helper/*.mjs && chmod +x bin/*.mjs","create-mjs-symlinks":"cd dist && ln -sf index.js index.mjs && cd pixi && ln -sf index.js index.mjs && cd ../three && ln -sf index.js index.mjs","build:dev":"tsup src/index.ts src/pixi/index.ts src/three/index.ts src/cli/index.ts --format cjs,esm --dts --clean --external lottie-web --external jszip && npm run create-mjs-symlinks && npm run postbuild-cli","obfuscate":"javascript-obfuscator dist/pixi/index.js --output dist/pixi/index.js --config obfuscator.config.json && javascript-obfuscator dist/three/index.js --output dist/three/index.js --config obfuscator.config.json && javascript-obfuscator dist/cli/index.js --output dist/cli/index.js --config obfuscator.config.json && npm run obfuscate-cli","obfuscate-cli":"for file in dist/cli/*.mjs dist/cli/student-helper/*.mjs; do javascript-obfuscator \"$file\" --output \"$file\" --config obfuscator.config.json; done","lint":"eslint 'src/**/*.{ts,tsx}'","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","publish:update":"node scripts/publish-and-update.cjs patch","publish:update:minor":"node scripts/publish-and-update.cjs minor","publish:update:major":"node scripts/publish-and-update.cjs major"},"author":{"name":"Handler"},"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git"},"peerDependencies":{"lottie-web":"^5.0.0","pixi.js":"^8.0.0","three":"^0.182.0"},"peerDependenciesMeta":{"pixi.js":{"optional":true},"three":{"optional":true},"lottie-web":{"optional":true}},"devDependencies":{"@types/three":"^0.182.0","eslint":"^9.39.2","javascript-obfuscator":"^5.1.0","pixi.js":"8.8.1","three":"^0.182.0","ts-node":"^10.9.2","tsup":"^8.4.0","typescript":"^5.7.2","typescript-eslint":"^8.53.0"},"dependencies":{"@google/genai":"^1.35.0","@google/generative-ai":"^0.24.1","jszip":"^3.10.1","sharp":"^0.34.5"},"_id":"handler-playable-sdk@1.0.108","gitHead":"11c6926a6b8ba2b16c2d6fbc633365462bb6d686","bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","_nodeVersion":"24.9.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-BZMbk6V2YiTKh3zwIQaQwtLuW2u74unazdB3U7f7iOFKih0N/1ktLf3lcAECmshc+w3bXUh/0eZQMZ1lm58ScA==","shasum":"54b5add85bbcd9a1b2bcc0fe5dd5e28b2c41e371","tarball":"https://registry.npmjs.org/handler-playable-sdk/-/handler-playable-sdk-1.0.108.tgz","fileCount":72,"unpackedSize":6538287,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCfn24q7vt027FietkWKlT2aIX7aIsRZd3S0Pt4mxAiJQIhAPrZTvtuKiPF0g06m5y1f4Ww5jMSqGAXHq4spFOJjz5f"}]},"_npmUser":{"name":"handleraigames","email":"toyanc@handleraigames.com"},"directories":{},"maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/handler-playable-sdk_1.0.108_1769493629852_0.3757247391705838"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-23T17:56:00.250Z","modified":"2026-01-27T06:00:30.263Z","0.1.0":"2025-12-23T17:56:00.585Z","0.1.1":"2025-12-24T11:41:29.130Z","0.1.2":"2025-12-24T13:33:23.907Z","0.1.3":"2025-12-24T13:47:15.551Z","0.1.4":"2025-12-24T13:49:23.213Z","0.1.5":"2025-12-24T14:53:27.358Z","0.1.6":"2025-12-24T15:07:24.406Z","0.1.7":"2025-12-24T15:16:57.220Z","0.1.8":"2025-12-24T15:41:52.432Z","0.1.9":"2025-12-24T18:23:49.420Z","0.1.10":"2025-12-24T18:47:22.443Z","0.1.11":"2025-12-24T19:11:48.565Z","0.1.12":"2025-12-24T19:16:02.937Z","0.1.13":"2025-12-24T19:21:45.234Z","0.1.14":"2025-12-24T19:24:06.243Z","0.1.15":"2025-12-24T19:33:31.973Z","0.1.16":"2025-12-24T19:37:42.241Z","0.1.17":"2025-12-24T19:40:14.040Z","0.1.18":"2025-12-24T19:46:13.336Z","0.2.1":"2025-12-25T18:48:31.291Z","0.3.0":"2025-12-25T19:06:00.396Z","0.5.0":"2025-12-25T19:29:39.371Z","0.6.0":"2025-12-25T19:30:17.878Z","0.7.0":"2025-12-25T19:31:12.744Z","0.2.2":"2025-12-25T19:33:07.380Z","0.2.3":"2025-12-25T19:35:47.842Z","0.2.4":"2025-12-25T19:39:52.211Z","0.2.5":"2025-12-25T19:54:02.599Z","0.2.7":"2025-12-26T16:28:01.469Z","0.3.1":"2026-01-02T17:09:12.946Z","0.3.2":"2026-01-06T15:22:06.949Z","0.3.3":"2026-01-06T15:28:10.930Z","0.3.4":"2026-01-16T17:46:44.393Z","0.3.5":"2026-01-16T17:54:10.809Z","0.3.6":"2026-01-16T18:10:09.645Z","0.3.7":"2026-01-16T18:30:26.585Z","0.3.8":"2026-01-16T18:55:11.593Z","0.3.9":"2026-01-17T16:23:52.797Z","0.3.10":"2026-01-17T17:07:54.205Z","0.3.11":"2026-01-17T18:12:39.109Z","0.3.13":"2026-01-17T18:36:36.957Z","0.3.15":"2026-01-17T18:48:51.506Z","0.3.16":"2026-01-17T19:01:38.163Z","0.3.17":"2026-01-17T19:14:35.685Z","0.3.18":"2026-01-17T19:35:33.033Z","0.3.19":"2026-01-17T20:03:26.823Z","0.3.20":"2026-01-17T20:19:50.379Z","0.3.21":"2026-01-17T20:24:05.477Z","0.3.22":"2026-01-17T20:28:24.481Z","0.3.23":"2026-01-17T20:39:51.880Z","0.3.24":"2026-01-17T20:44:01.038Z","0.3.25":"2026-01-17T20:48:35.367Z","0.3.26":"2026-01-17T20:59:31.302Z","0.3.27":"2026-01-17T21:04:45.903Z","0.3.28":"2026-01-17T21:08:19.764Z","0.3.29":"2026-01-17T21:11:15.609Z","0.3.30":"2026-01-17T21:17:40.496Z","0.3.31":"2026-01-18T23:06:16.940Z","0.3.32":"2026-01-19T19:22:53.599Z","0.3.33":"2026-01-19T19:25:31.440Z","0.3.34":"2026-01-19T19:28:16.967Z","0.3.35":"2026-01-19T20:00:48.108Z","0.3.36":"2026-01-19T20:07:40.399Z","0.3.37":"2026-01-19T20:11:36.638Z","0.3.38":"2026-01-19T20:41:50.369Z","0.3.39":"2026-01-19T20:45:36.385Z","0.3.40":"2026-01-19T20:58:54.979Z","0.3.41":"2026-01-19T21:12:46.299Z","0.3.42":"2026-01-19T21:41:36.089Z","0.3.43":"2026-01-19T21:47:40.004Z","0.3.44":"2026-01-19T22:07:21.489Z","0.3.45":"2026-01-19T22:10:49.623Z","0.3.46":"2026-01-19T22:12:43.609Z","0.3.47":"2026-01-19T22:23:29.709Z","0.3.48":"2026-01-19T22:28:41.120Z","0.3.49":"2026-01-19T22:35:48.337Z","0.3.50":"2026-01-19T22:46:15.108Z","0.3.51":"2026-01-19T22:51:26.690Z","0.3.52":"2026-01-19T22:55:14.010Z","0.3.53":"2026-01-19T23:10:25.131Z","0.3.54":"2026-01-19T23:13:53.618Z","0.3.55":"2026-01-19T23:26:03.720Z","0.3.56":"2026-01-20T17:18:51.936Z","0.3.57":"2026-01-20T17:32:52.138Z","0.3.58":"2026-01-20T17:41:25.367Z","0.3.59":"2026-01-20T18:56:19.898Z","0.3.60":"2026-01-20T19:48:07.634Z","0.3.61":"2026-01-20T20:01:39.127Z","0.3.62":"2026-01-21T10:24:59.735Z","0.3.63":"2026-01-21T11:46:56.761Z","0.3.65":"2026-01-21T11:59:54.971Z","0.3.67":"2026-01-21T12:08:48.698Z","0.3.69":"2026-01-21T12:27:28.058Z","0.3.71":"2026-01-21T12:49:41.150Z","0.3.72":"2026-01-21T12:50:43.329Z","0.3.74":"2026-01-21T13:12:54.007Z","0.3.76":"2026-01-21T13:21:43.287Z","0.3.78":"2026-01-21T13:25:14.449Z","0.3.80":"2026-01-21T13:41:44.199Z","0.4.0":"2026-01-21T13:43:59.102Z","0.4.1":"2026-01-21T13:50:52.054Z","0.4.2":"2026-01-21T13:57:17.402Z","0.4.3":"2026-01-21T14:07:42.412Z","0.4.32":"2026-01-21T14:12:29.130Z","0.4.35":"2026-01-21T14:19:34.683Z","0.4.37":"2026-01-21T14:35:36.316Z","0.4.39":"2026-01-21T14:47:42.522Z","0.4.41":"2026-01-21T14:57:03.007Z","0.4.43":"2026-01-21T15:04:11.662Z","0.4.45":"2026-01-21T15:10:24.010Z","0.4.47":"2026-01-21T16:15:42.050Z","0.4.49":"2026-01-21T21:14:44.094Z","0.4.51":"2026-01-21T21:28:54.473Z","0.4.53":"2026-01-21T22:02:11.046Z","0.4.55":"2026-01-21T22:16:11.326Z","0.4.57":"2026-01-21T22:30:20.110Z","0.4.59":"2026-01-21T22:42:50.917Z","0.4.60":"2026-01-21T22:46:37.151Z","0.4.62":"2026-01-21T22:55:20.433Z","0.4.71":"2026-01-22T00:06:56.181Z","0.4.73":"2026-01-22T00:22:42.858Z","0.5.2":"2026-01-22T01:14:38.182Z","0.5.25":"2026-01-22T13:03:36.938Z","0.5.26":"2026-01-22T13:22:25.533Z","0.5.28":"2026-01-22T14:32:44.016Z","0.5.30":"2026-01-22T15:04:23.595Z","0.5.32":"2026-01-22T15:17:38.747Z","0.5.34":"2026-01-22T16:17:36.507Z","0.5.36":"2026-01-22T16:45:06.099Z","0.5.38":"2026-01-22T16:59:05.643Z","0.5.40":"2026-01-22T17:24:59.762Z","0.5.43":"2026-01-22T17:46:07.970Z","0.5.45":"2026-01-22T17:51:59.488Z","0.5.47":"2026-01-22T18:01:18.538Z","0.5.49":"2026-01-22T18:24:13.369Z","0.5.54":"2026-01-22T21:13:45.152Z","0.5.542":"2026-01-22T21:51:59.508Z","0.5.544":"2026-01-23T00:14:23.769Z","0.5.546":"2026-01-23T01:03:54.439Z","0.5.548":"2026-01-23T01:58:34.286Z","0.5.550":"2026-01-23T02:07:37.766Z","0.5.552":"2026-01-23T02:25:56.220Z","0.5.553":"2026-01-23T02:28:16.215Z","0.5.556":"2026-01-23T02:44:39.556Z","0.5.558":"2026-01-23T03:20:10.455Z","0.5.559":"2026-01-23T03:45:19.008Z","1.0.1":"2026-01-23T03:47:18.183Z","1.0.2":"2026-01-23T04:22:58.728Z","1.0.3":"2026-01-23T04:53:18.041Z","1.0.4":"2026-01-23T05:20:11.437Z","1.0.5":"2026-01-23T05:47:28.957Z","1.0.6":"2026-01-23T05:48:55.448Z","1.0.7":"2026-01-23T05:51:58.288Z","1.0.8":"2026-01-23T06:39:25.423Z","1.0.9":"2026-01-23T07:07:54.335Z","1.0.10":"2026-01-23T07:20:58.834Z","1.0.12":"2026-01-23T07:37:25.042Z","1.0.13":"2026-01-23T09:48:16.662Z","1.0.14":"2026-01-23T11:37:57.185Z","1.0.17":"2026-01-24T14:46:07.575Z","1.0.18":"2026-01-24T15:24:18.314Z","1.0.20":"2026-01-24T16:15:35.253Z","1.0.21":"2026-01-24T16:37:44.083Z","1.0.22":"2026-01-24T17:18:02.216Z","1.0.23":"2026-01-24T18:01:05.135Z","1.0.24":"2026-01-24T18:32:27.191Z","1.0.25":"2026-01-24T18:48:57.766Z","1.0.26":"2026-01-24T19:08:13.155Z","1.0.27":"2026-01-24T23:36:01.149Z","1.0.28":"2026-01-25T00:47:34.597Z","1.0.29":"2026-01-25T00:59:11.475Z","1.0.30":"2026-01-25T01:10:34.443Z","1.0.31":"2026-01-25T01:41:30.264Z","1.0.32":"2026-01-25T01:52:13.611Z","1.0.33":"2026-01-25T02:00:29.492Z","1.0.34":"2026-01-25T02:07:59.732Z","1.0.35":"2026-01-25T02:18:07.063Z","1.0.36":"2026-01-25T02:24:05.142Z","1.0.37":"2026-01-25T02:29:22.180Z","1.0.38":"2026-01-25T02:39:53.025Z","1.0.39":"2026-01-25T02:57:44.374Z","1.0.40":"2026-01-25T03:07:26.691Z","1.0.41":"2026-01-25T03:08:48.085Z","1.0.42":"2026-01-25T03:23:33.679Z","1.0.44":"2026-01-25T03:27:43.380Z","1.0.45":"2026-01-25T03:32:29.124Z","1.0.46":"2026-01-25T03:39:05.657Z","1.0.47":"2026-01-25T03:44:37.763Z","1.0.48":"2026-01-25T03:54:53.347Z","1.0.49":"2026-01-25T04:00:37.737Z","1.0.50":"2026-01-25T04:06:52.556Z","1.0.51":"2026-01-25T04:08:55.053Z","1.0.52":"2026-01-25T04:13:57.838Z","1.0.53":"2026-01-25T04:19:12.862Z","1.0.54":"2026-01-25T04:25:19.701Z","1.0.55":"2026-01-25T04:33:38.937Z","1.0.56":"2026-01-25T04:37:21.486Z","1.0.57":"2026-01-25T04:44:19.706Z","1.0.58":"2026-01-25T05:26:11.387Z","1.0.59":"2026-01-25T05:27:05.159Z","1.0.60":"2026-01-25T05:39:54.870Z","1.0.62":"2026-01-25T06:04:00.184Z","1.0.63":"2026-01-25T06:25:28.997Z","1.0.64":"2026-01-25T06:35:58.656Z","1.0.65":"2026-01-25T06:40:57.125Z","1.0.66":"2026-01-25T06:50:31.261Z","1.0.67":"2026-01-25T06:55:40.806Z","1.0.68":"2026-01-25T07:00:52.129Z","1.0.69":"2026-01-25T07:05:21.348Z","1.0.70":"2026-01-25T07:06:53.807Z","1.0.71":"2026-01-25T07:10:46.330Z","1.0.72":"2026-01-25T07:31:25.371Z","1.0.73":"2026-01-25T07:39:37.418Z","1.0.74":"2026-01-25T07:46:58.209Z","1.0.75":"2026-01-25T07:56:27.958Z","1.0.76":"2026-01-25T08:01:00.129Z","1.0.77":"2026-01-25T08:06:10.297Z","1.0.78":"2026-01-25T08:14:52.747Z","1.0.79":"2026-01-25T10:01:40.611Z","1.0.80":"2026-01-25T10:08:22.190Z","1.0.81":"2026-01-25T10:11:49.536Z","1.0.82":"2026-01-25T10:17:07.424Z","1.0.83":"2026-01-25T11:22:31.138Z","1.0.84":"2026-01-25T11:42:06.174Z","1.0.85":"2026-01-25T12:51:57.739Z","1.0.88":"2026-01-25T12:56:48.000Z","1.0.89":"2026-01-25T12:59:24.582Z","1.0.90":"2026-01-25T13:13:55.054Z","1.0.91":"2026-01-25T13:38:54.460Z","1.0.92":"2026-01-25T13:40:56.812Z","1.0.93":"2026-01-25T14:55:54.139Z","1.0.94":"2026-01-25T17:25:28.250Z","1.0.95":"2026-01-25T19:24:56.859Z","1.0.100":"2026-01-25T19:53:22.785Z","1.0.101":"2026-01-25T20:17:35.614Z","1.0.102":"2026-01-26T12:31:28.833Z","1.0.103":"2026-01-26T19:23:08.058Z","1.0.104":"2026-01-26T21:03:36.047Z","1.0.105":"2026-01-26T21:08:45.499Z","1.0.106":"2026-01-26T22:56:11.446Z","1.0.107":"2026-01-27T00:14:07.965Z","1.0.108":"2026-01-27T06:00:30.144Z"},"bugs":{"url":"https://github.com/HandlerAIGames/handler-playable-sdk/issues"},"author":{"name":"Handler"},"license":"MIT","homepage":"https://github.com/HandlerAIGames/handler-playable-sdk#readme","repository":{"type":"git","url":"git+https://github.com/HandlerAIGames/handler-playable-sdk.git"},"description":"Handler Playable SDK v0.1 with contract-aligned surface (root sandbox, canonical event envelope).","maintainers":[{"name":"handleraigames","email":"toyanc@handleraigames.com"}],"readme":"# @handler/playable-sdk\n\nContract-aligned Handler Playable SDK v0.1. Surface is fixed: `init`, `getRoot`, `on`, `off`, `start`, `finish`, `install`, `emit`. Provides a single root sandbox, canonical event envelope, and ID requirements for publish builds.\n\n## API (v0.1)\n\n- `Handler.init({ root?, ids, profile, consent })`: creates or adopts a single root. `ids` must include mechanic_id, variant_id, deployment_id, export_id, profile_id, instance_id (instance default \"default\" only allowed in dev). Consent/telemetry pulled from export profile.\n- `Handler.getRoot()`: returns the sandbox root element.\n- `Handler.on(name, cb)`, `Handler.off(name, cb)`: subscribe/unsubscribe to canonical events or custom namespaced ones.\n- `Handler.start()`, `Handler.finish()`: lifecycle markers.\n- `Handler.install(url?)`: emits `cta_click` and, if profile policy demands, `conversion`. Direct network open is deferred to capability policy.\n- `Handler.emit(name, payload)`: emits canonical or namespaced custom events. Reserved envelope keys are always added/overwritten.\n\nCanonical event mapping from Smoud: `interaction -> engagement`, `finish -> complete`, `install -> cta_click (+conversion policy)`, `pause/resume/resize/volume` mapped 1:1 inside the envelope. Custom events must use `custom.<mechanic_id>.<event>`.\n\n## Vite Configuration (Required)\n\nWhen using this SDK with Vite, you **must** exclude it from dependency pre-bundling. The SDK uses code protection that is incompatible with Vite's optimization process.\n\nAdd this to your `vite.config.ts`:\n\n```typescript\nexport default defineConfig({\n  // ... your other config\n  optimizeDeps: {\n    include: ['pixi.js', 'lottie-web'],\n    exclude: ['handler-playable-sdk']  // Required!\n  }\n});\n```\n\n> ⚠️ **Important:** Without this configuration, the page may hang or fail to load. This is because Vite's pre-bundling modifies the code structure, which triggers the SDK's anti-tampering protection.\n\n## Build\n\n```bash\nnpm run build\n```\n\nOutputs ESM/CJS + d.ts to `dist/`.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}