{"_id":"@needle-tools/facefilter","_rev":"46-ff2d35aa65df36c8d7e40967ce85633d","name":"@needle-tools/facefilter","dist-tags":{"stable":"1.0.4","next":"1.0.4-next.49fa872","latest":"1.0.4"},"versions":{"1.0.0-alpha.0":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.0","_id":"@needle-tools/facefilter@1.0.0-alpha.0","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"a736c399144b999b6c7eebac19f6dd14c4650945","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.0.tgz","fileCount":208,"integrity":"sha512-pwD/0HQ4hwOJHqOSP3pHbXlfI6OuYwGn35/1e59t7o2IrjvFxSiyxlkEyRXgj3opuJDqzh4CgxU4+sCHhWAS2g==","signatures":[{"sig":"MEUCIQCmTwubAOe9Y7g01N7uWYpz7cD6OhCDIvjnytkqXTW5cgIgWPBJAQFSFm9DXLq/2YXCESjdxuS57cdmCUInJ4Jt6D8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10992977},"main":"index.ts","_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.3.2-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.0_1742402583419_0.15398983308483172","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.1":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.1","_id":"@needle-tools/facefilter@1.0.0-alpha.1","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"352cbc787a5f117197e60d3ab4a38cb8a9675a1d","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.1.tgz","fileCount":208,"integrity":"sha512-CkjeU3lbgBhnsy3Sw+k9tMrJUYu2NW96vozVGtutRNOtQmy029HLJgIqhVEjouHLSUtW+Open3MASmeSM7aKLQ==","signatures":[{"sig":"MEUCIQDwC29saJgcA+NuObQspqcc9YV91jBEMcME0bDe7JEEqwIgClAbFzrxd2QeEs39HXQnYbbOUMb1Y904u+70bSSI2Sc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10993227},"main":"index.ts","_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.3.2-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.1_1742468159189_0.21035932134247437","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.2":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.2","_id":"@needle-tools/facefilter@1.0.0-alpha.2","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"c4567aada1da84d608f5d74652575319a5667cf7","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.2.tgz","fileCount":208,"integrity":"sha512-69eIVAEQY/miqUtLWHjgHaLe1IjOaFPJt3apLAmRxZl6Ggr4xtdfprK3tOiZJPk6MNdmfIauG1ow6R8uAq6oYw==","signatures":[{"sig":"MEYCIQC36scavwtvZ5oczo4b0wEbhTwl9+NH9Apm/2Jj724yOAIhAIFFsYDWoSsvRfpuS070DioL+sDZLnznBGKfsYTAR80n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10993227},"main":"index.ts","_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.3.2-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.2_1742468209501_0.706238177940538","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.3":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.3","_id":"@needle-tools/facefilter@1.0.0-alpha.3","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"cf5ad7ede547ebb78d0ca11ed79f14aa8fe6d021","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.3.tgz","fileCount":208,"integrity":"sha512-bzWVP2wATfhPBuUghntiby2Xm4zlocX2DoHJfsPSBeYqAGFe85OrHKAGzWp1V4YDybcAPMcymtMrdiK+bGjyEA==","signatures":[{"sig":"MEUCIFbkbp50XYP5MGGcaYM0O/FThuvVU5EQs3e7oxn088NXAiEA/4CKeyq09bOoVdPM9PPHmv/ujbUTZpViUNE0lBcHxys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10993235},"main":"index.ts","_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.3.2-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.3_1742468738766_0.7907405307428068","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.4":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.4","_id":"@needle-tools/facefilter@1.0.0-alpha.4","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"0f85e44b5ae68d7e5a56bc6fa33d1f09491556a5","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.4.tgz","fileCount":208,"integrity":"sha512-aB42TUbRXpZivSL7Rl2CyEHovvLHkv7E3UDTSXsCkOGKFD1vf78/+BwzeGublC/pXHu3jh1VuO6NyWVdTqQf4g==","signatures":[{"sig":"MEUCIBi1JkRtT8GUqgIA6VFCS7Ze7YjjrR7SpZjE1UEvqUWzAiEA/Gj/SBRwyMzJ0mSfVFMbq2/c25yiaTylpNq30YzmZ5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10993235},"main":"index.ts","_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.3.2-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.4_1742469039006_0.22051494185099063","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.6":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.6","_id":"@needle-tools/facefilter@1.0.0-alpha.6","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"db552d309e8f03d2c12a3e70419bc7cc927500a8","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.6.tgz","fileCount":209,"integrity":"sha512-WhlPWw0JJDgeUxtxdTF8tRrSH7AM81MJoBi5VtCRtdTk2hnq47NI45WXTyRu1PGfKTKOXxOsWG9mG+V98HjBJQ==","signatures":[{"sig":"MEUCIGAhQbR05RsN/cz8s19yE1hLuq2+0M0DQJWGmEZdhUZZAiEAixHUZmlF/CFN0hGTpdTvkTz9t9R2sBmEJsTqSCeQ4U0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10994986},"main":"index.ts","scripts":{"prepublishOnly":"node publish-npmdef.js"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.3.2-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.6_1742470320603_0.7406092385226641","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.7":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.7","_id":"@needle-tools/facefilter@1.0.0-alpha.7","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"00a5fe6e354e086ea0f7223632301e8e5a7b32d8","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.7.tgz","fileCount":209,"integrity":"sha512-7WvE8Hy9EO7Pks3+xoO0pu2xec2Ygr+ctTovwY/IWNhPL/HnHH/XvjUxiex2BURBr9y+m7lRzL4Gjvm42K5MKA==","signatures":[{"sig":"MEUCIQD1ujIq6kPbK23MMTV2lGMIRNkcQHfaaHx18ua2+1mwwwIgA3npOIflspgLsUEwPNJlwKTGL97uNWI31koFEZH0AIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10995210},"main":"index.ts","scripts":{"prepublishOnly":"node publish-npmdef.js"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.3.2-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.7_1742470618980_0.9282016688397927","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.8":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.8","_id":"@needle-tools/facefilter@1.0.0-alpha.8","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"59c385cd5d0b77cfc211b1a6ef22b9ff119105a6","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.8.tgz","fileCount":209,"integrity":"sha512-3kyU+OQYKz4xAboTlzltWKiL9Ok29wr76V5Hw4o4PrrJ+zKp/bS342m+V3CgtV4E3YnJCckAudih0hLKnTZ76Q==","signatures":[{"sig":"MEYCIQCJBxVtYqRdKDm+kxoQWp/fPbx4Y8qDTL+1BQzc4Xiz/wIhAOn7P9rM9nFkrLIc+uYt6qu0T/M3vFawx0ctGqSnxduq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10995379},"main":"index.ts","scripts":{"prepublishOnly":"node publish-npmdef.js"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.3.2-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.8_1742475918188_0.1549892862101534","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.9":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.9","_id":"@needle-tools/facefilter@1.0.0-alpha.9","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"d8797fd069c92b3deb9a9f693188d09a40beb066","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.9.tgz","fileCount":209,"integrity":"sha512-iS6uMAo0+vuU5dh+tgk9hlGUDs3zw3gDA8Jab856UsapAfdOPFEfT9ojCtbhDIOill7tYlfJxrFWggY43TWzRA==","signatures":[{"sig":"MEUCIBPmWcOlr4Z9FlObXaZ2nqDQayIMAuPpn7Oba+SsBQFbAiEAj+KA04uP9OCYxkoYNEcJao4KzmKlL2yyzkTGQ7++ifg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10995398},"main":"index.ts","scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.3.2-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.9_1742479369238_0.12600767686091086","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.10":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.10","_id":"@needle-tools/facefilter@1.0.0-alpha.10","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"38853df0d3f3950b64ab7eea0c2c5810d5df5232","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.10.tgz","fileCount":211,"integrity":"sha512-g0A92Vp/ktbdfhjvkIYTN9Uj2yJwrXKcaVisf4bXfZL7GUPaPgnejKay0e7L/kH4LqBLBJle7DZedYrb+ZCDPw==","signatures":[{"sig":"MEUCIQDhUC8rGuTk+VDtqnnPijqJsnP5/Udwt0utCtpp5FqvPQIgMKjqJUvDRpuyVTNxiMNJK8JVaOiwFyrPcZrtjqIYrz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10995789},"main":"index.ts","scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.10_1742484156783_0.7126812294203944","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.11":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.11","_id":"@needle-tools/facefilter@1.0.0-alpha.11","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"34532931451d04e256e43dc3ac1cb57a6a25dc9b","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.11.tgz","fileCount":211,"integrity":"sha512-mzzJBbTR8GylQUv3HnBt71VeoMxw0HlMH9J43ux3wsoSjyQw3AyxT9Ns0iLTCfsa/o2FFkNbCVrCQQ/7Qw0HKQ==","signatures":[{"sig":"MEUCICjNDttG1JhbkeFD8hn1lWIfMbih68WlIEUwl0p5sSDrAiEA4QHgCX1E91QAMElr6Gc1AoBOs/x+v9xWT0OI4TdUjfY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10995789},"main":"index.ts","scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.11_1742484630052_0.7312605083951913","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.12":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.12","_id":"@needle-tools/facefilter@1.0.0-alpha.12","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"992ce71e128188f90a7a00c508c00dfc067d8839","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.12.tgz","fileCount":211,"integrity":"sha512-VLGM4xY1Z30qk1qs//oVbNuK7M2EsLQZRfmLfFMOAdtya5QyET8ptj8EJp9NlurNYmslRhwJ3Xv8wszEGYNH3Q==","signatures":[{"sig":"MEYCIQDj5qw3d3iWLV6FWUQLo8P9HFTYpf+WerRsamUQjdMY0wIhAPnB+QEvsC53j/d2C9GC1xOvq+lCR3XvdmNdH7V4y9TO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11003062},"main":"index.ts","scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.12_1742559642494_0.7275584627749083","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.13":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.13","_id":"@needle-tools/facefilter@1.0.0-alpha.13","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"3fe480ff206ecd2e218bffd1a98a7ddd081c4853","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.13.tgz","fileCount":211,"integrity":"sha512-Dd3uwE1KxBDelbYtekmqNrLtemjPybDkPAyZ31bItouwf7TQgVfXjeb5Jxly/UR4JeAoHB9Puyo/5azNjeo6lQ==","signatures":[{"sig":"MEUCIFLsN/8OvEQuShD3A93/vIdPWPk0f6C7E/Rs7mMHsDiVAiEA6RpxraaKCozxkxLUu20uihVFp4G+X9eyo43KZFfx0xE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11004821},"main":"index.ts","scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.13_1742560753721_0.06529506172136101","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.14":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.14","_id":"@needle-tools/facefilter@1.0.0-alpha.14","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"a27da0ec163a5c8f998fb3dfcd2798d5529e4b10","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.14.tgz","fileCount":211,"integrity":"sha512-eicyqYq3jaYzdyHVoD7+fRwpxMmXrlBHoLYlL79JfmgDZjNj7R+kdIg+L1ru7YwGttJqaCObHqKBnj8uD++p4A==","signatures":[{"sig":"MEUCIFtQN+XF4uuZI+wnNOfnmBsTWPnHNdaKqcBDAXn9bp7nAiEAqhCcK6tfBSpHWQy+ADuAV+uWrWoxVplHUwfmNs5pCtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11005072},"main":"index.ts","scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.14_1742561073552_0.013514153690546094","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.15":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.15","_id":"@needle-tools/facefilter@1.0.0-alpha.15","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"0e62c29548e522dbec0da034b4119416261e883b","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.15.tgz","fileCount":212,"integrity":"sha512-P55WT0Hx2HPPy7NfNAmxr+VMcb46aPv643UNtqVGlQJJz4ae2XFHVNVeN4bGA1n/ojq6AkgjTa3vJVmD7+dPMA==","signatures":[{"sig":"MEUCIQCYF1ibABbo6bYsys2zqnJ8WiUcse3stEOWj7tvbifxbgIgHz/6B1sjrQeG3jNaykdlKT9YIav+oMcHY8iTaBytP6c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11005298},"main":"index.ts","scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.15_1742562074551_0.5222347073837508","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.16":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.16","_id":"@needle-tools/facefilter@1.0.0-alpha.16","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"f6728f107c6d24f491802c4ca990843050d10294","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.16.tgz","fileCount":212,"integrity":"sha512-9UHxk7lXHE0NjbvEiDEIZwNAzvP+DYUGIOPGGONmdlNPPKNAN+nayOxFaNO28pvlpBob9s4/joD13gwO3aa7Pg==","signatures":[{"sig":"MEYCIQCBp1mLT23EM3a2iIzE4p4xSbUAl1cP+f7w8usd9wTk3AIhAKUvCcdJ11fZ1eo6JIubSm5gBYTtBBpHb7zODabdcKcD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11005857},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./examples":{"import":"./src/examples/index.ts"}},"scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.16_1742562987431_0.7079075239423045","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.17":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.17","_id":"@needle-tools/facefilter@1.0.0-alpha.17","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"adb39da1583c2740fc5000d361e1221b1c3e2d1a","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.17.tgz","fileCount":212,"integrity":"sha512-W9vbtq0lfpJ86X9puuJMfuQRKOZZRisbEG67XBUXzlZzptmoJv2n6WAlqBfmeuEDJwVcK6RpXxMMmA2zoNO3WQ==","signatures":[{"sig":"MEUCIQC6lcDYVx716fQRv8X9ByaNuOqXPe/qPrg16lFXV+5BAQIgOGVZzKl5dcRrlY+28PxGJFs86g+yKWoD1UwiQnCEgmc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11006161},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./examples":{"import":"./src/examples/index.ts"}},"scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.3.2-beta.4"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.17_1742563769648_0.6795843958779955","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.18":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.18","_id":"@needle-tools/facefilter@1.0.0-alpha.18","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"aff732acac07c7418fdd7a723eae7afda3841af9","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.18.tgz","fileCount":212,"integrity":"sha512-O+zPckuOxd3EyBNkUfIvKJiu16BxlRf8smyfu60MPqcQXD8n86SY1C5AiiuLG6sSkQzRbxQNQsARVNslLQXAMA==","signatures":[{"sig":"MEUCIQDBRCRYfZKdhfQ+ZDtNdu1ynsiHx5Sj15JZ+B4hgP7fLQIgIepaG+k1IL98liVcBh8juO9oHllJTXsNiuaDJuEH86c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11007638},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./src/codegen/register_types.ts"}},"scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"4 || ^4.4.0-alpha.2"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.18_1742894145259_0.2780235255545753","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.19":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.19","_id":"@needle-tools/facefilter@1.0.0-alpha.19","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"2ecfe1796ff24d033878594e908acf01f4b77459","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.19.tgz","fileCount":212,"integrity":"sha512-3ShxqreYWS7thGc7lJ7WTTlVNhfHPnXuePlRj3uaZUXHezvjb2oNl8CgEoMFZDBmevubeO8Ccn8PuEqQCNqHJg==","signatures":[{"sig":"MEQCIBEGy/d+re99TJjU6dOLLUakIpriW2s4DJbZGjQMrHBSAiBoEwSe5/wNPX4N6yk+diID7LUSzyJuijLUMhWwuWXm4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11007631},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.19_1742894888015_0.5806818413777606","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.20":{"name":"@needle-tools/facefilter","version":"1.0.0-alpha.20","_id":"@needle-tools/facefilter@1.0.0-alpha.20","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"ebad073323ae8bd86e2507420b1689f3a844bd51","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-alpha.20.tgz","fileCount":212,"integrity":"sha512-7D59hu2MCPA/4lbDauEdl2gLOG1PP/nlG/QkDU9NBwo1Svv5z6zBuZzHBS2FlAkNuhda5mXPhq0ygNONbtfKVA==","signatures":[{"sig":"MEYCIQC5I/7xW+/gdLswJoo9BjwWmiqSJexC2E4n3A5uuKTsqgIhAJtfTO+3HjXBGCd4XQhRYvZFBKkqDzRqZp91xccMO9aT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11009257},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-alpha.20_1742897842067_0.570724004508576","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta":{"name":"@needle-tools/facefilter","version":"1.0.0-beta","_id":"@needle-tools/facefilter@1.0.0-beta","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"af7faa1c9b1e0a383a17ff2f6fdb7e17c0de9275","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.tgz","fileCount":212,"integrity":"sha512-Mkf9RdvzTJh0WLcmVcOzstW6QwAj+hKYsw95J/VWhPP1Y6EkUinsnm4cgqypbDlf2ZrNWh9uyxLL9Qho+ZFB2g==","signatures":[{"sig":"MEUCIQD4TjKsoGuHRX1qHOf1o/J1Yy0qWjwK5wu2gFCGeUjc8QIgbMBcX5Vwswq5DKMnIXRwPxYfmmXT0oGee65lVYrrbj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11011774},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2 || 4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta_1742901985877_0.8322332522454858","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.1":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.1","_id":"@needle-tools/facefilter@1.0.0-beta.1","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"9a45a25883f18f5cbeaa55a718d27c11f5c5f7f2","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.1.tgz","fileCount":212,"integrity":"sha512-m0IHZ1/2pc6guvjeHRnaJF0PYX2lUyfgaDz9qUpxSNHDpkckaImoCn32SZetiE9LJI0gj3yVnkBgTn3J4/x4bQ==","signatures":[{"sig":"MEYCIQD+vN1aZwqd7ddzMwoSub95fyG2rPDE1VZ6FbFRCKvpiAIhAIbtfHjZIwsw2rXIj1/cpRNBZZcvqV2QSBu6oJUzJoSX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11011920},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2 || 4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.1_1742904536789_0.01432128484034334","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.2":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.2","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-beta.2","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"36411ccab44c10b83d53c452d0a16e6c4a13d220","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.2.tgz","fileCount":243,"integrity":"sha512-ZGwjf/yyiPDlkjhhVr5URwQK43J/3XY9qWzf7CJuhq8elNDeZXfwSt4MK9vDm/lXZEzWDNeKjp3LxQYLhTZzoQ==","signatures":[{"sig":"MEUCIHC+HhSMtDoxTelZgN4jF/I4RO8iniqOUKYUcPrc+2hyAiEAjI1Yo+kDfYdKk9rPFnlWARraVg9j5JLoMS3Bb8sWGLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12001121},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2 || 4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.2_1742994566204_0.43127344119937927","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.3":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.3","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-beta.3","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"c27e3db1ab7df52890854561072d8a77c276ceca","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.3.tgz","fileCount":243,"integrity":"sha512-Gj5kaHixttIvUwd59cYI6T4e319JUoXldEPSwmXsEvHP97l2yk1IN0Z6nMfV7x7oeUHQbw7KLL/+NGsiiq775A==","signatures":[{"sig":"MEYCIQDfKCZuRbUFZh0yQdtYN60gfmpIACyeJIwUO3fYAlGc8AIhANh7nLElUQnv3mSEai0cHQmyndCnVQ100vJ/olei1/bV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12001277},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2 || 4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.3_1742997250680_0.4019232622335369","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.4":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.4","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-beta.4","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"ceee5f59dcc78cdbc7f7e93eb9f0b7bb8b183825","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.4.tgz","fileCount":243,"integrity":"sha512-2LUiblNnToT/xHJo6DT3mYZukf2vbJHZ8jVgwEe7IK9lAccczBipUT5+vJ19d88ywBKJs8O/gOGztiSfBDxL+g==","signatures":[{"sig":"MEQCIAFcVCts4tFwff/UkzBfB6/wkCxyvK3G499Kp56Zxkd1AiBE905CSWMeUnjfJ2Fm5qxm/mxQt/3XWckoE23jx/QCAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12001489},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2 || 4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.4_1742998290754_0.7425869869772757","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.5":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.5","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-beta.5","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"a15cfaf53475bdce390fefd5784993d9129d1e60","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.5.tgz","fileCount":246,"integrity":"sha512-yBc/y6X02PHAA6rWNJLvqytpTyCEBa4KzCcNA8hqnb0HLjfN/x2F8rOWrM95UK1t1t+OzdBxHXJtu2/hIv0anQ==","signatures":[{"sig":"MEQCIEOExRx0G08wC+n+ug2gFGPve22gHntLF86KFZD0/QzrAiAn75GITYTC8a0HPtC6aTUgearO6cs2HA/qSznv39Tflw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12008584},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"compile":"npx --yes needle-tools/npm-publish-helper compile","prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2 || 4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.5_1743093480171_0.08128181377115906","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.6":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.6","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-beta.6","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"c580b9cb082ccf7ec9d4b274a05a817b8b820a0f","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.6.tgz","fileCount":246,"integrity":"sha512-r/bP2zbX9Ckv4f29zZQawXqt6yYQmtw6GMlyDWWM582aOqLOiGCbOA/1TGWLOro2Uy16qVqR11P/LXIX32zbSQ==","signatures":[{"sig":"MEYCIQCcWXBjlZoht5iVLxVpu9uzIZKw5XExhOvMWu7LsgksgAIhANDGeYo5UZBI7V+x5daMB6PD0R02T0fQn7q+jfon4Pvl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12023141},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"compile":"npx --yes needle-tools/npm-publish-helper compile","prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2 || 4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.6_1743162921143_0.40506003272723","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.7":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.7","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-beta.7","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"5b0ed7d1a2bd3a2e48d5e229157b9b5659b39522","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.7.tgz","fileCount":246,"integrity":"sha512-8e2hYc2MO2nwDFs5eWgdOl//QygrmhnYnYpbY+Ssz0gimlkL1RW/NddxGkfNiKjRBLeIJU12htvCOP57JdJuEA==","signatures":[{"sig":"MEYCIQDAmzDzVDxhE96M8a1kCT56GnqlB0Ha/5ohk0U6wvm1fAIhALuuBaRsJh7cMFLs08Wl5qpVN2pGMbjc6DVqR6wYrKDY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12023670},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"compile":"npx --yes needle-tools/npm-publish-helper compile","prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2 || 4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.7_1743163237123_0.46433807945048144","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.8":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.8","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-beta.8","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"950b825c16c4e090eba618ebc27cdb9d1c99f1b0","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.8.tgz","fileCount":246,"integrity":"sha512-qoFh4jmBYPNFTgbycfT8LbuhHEDSNASRkLgotm/lS4sw728ePhTkZbjhXI+BAkjRwpeZvgocl3YWEjLCxbFaIw==","signatures":[{"sig":"MEUCIQCtPIy0dwJseQXgjVvvpqnAGK9zXRY8k42YETN4RkhMYgIgMiaNMWoxyNvbRu/I28bkvP0wKz07WvYwE16rYLRORvg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12030500},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"compile":"npx --yes needle-tools/npm-publish-helper compile","prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2 || 4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.8_1743167198371_0.16716146744665106","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.9":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.9","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-beta.9","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"3d652d1c4c89068db5bea472169280d378c4efa4","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.9.tgz","fileCount":246,"integrity":"sha512-oGoM/VGy5cpy7kB+SMoUIejDf3el1f/ad1uCio9MiDi81cM2hzJ6vMmMzVvCFgIrj9X4KyllKA+8R3uaIuwkGQ==","signatures":[{"sig":"MEUCIGoKIJoAHAZjbLrWdF1CDnk0HS+30EBKs1ULxU2aD3iCAiEAucmeAUnWS5+84kysY53qoH10jka6FAz6bRuP1f/loZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12031496},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"compile":"npx --yes needle-tools/npm-publish-helper compile","prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2 || 4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.9_1743168804441_0.3688103405881924","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.10":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.10","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-beta.10","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"4a3a22c9b6a459ef597aef7b8ec2ad612c90bb02","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.10.tgz","fileCount":246,"integrity":"sha512-aK91Z4IP7l/Y1CliOtcQzzE1y2fVB2iSPqxWV4jaDpLZRqDaA9RZ7T5fK9+B130naIOujjMO4qoZf8PEGLsIMA==","signatures":[{"sig":"MEQCIB/s2bDJRYPFpW05nPDO4Q8bQKmm3yx/PHcGh+tsOHG1AiBbR7/zJp7k7bj2rUWvBj6kCasaQr7agbWeHXpLdsZmDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12041645},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-tools/npm-publish-helper compile","prepublishOnly":"npx --yes needle-tools/npm-publish-helper"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":"npm:@needle-tools/three@^0.169.5","@needle-tools/engine":"^4.4.0-alpha.2 || 4"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.10_1744208237970_0.9008946019428881","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.11":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.11","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-beta.11","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"e50f0d70dc2c6104957315e9bb5c03b3a885c372","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.11.tgz","fileCount":250,"integrity":"sha512-kfgnX/AJsI7zgzVjXlEppW6n2K6f49aqSJHH2pK4GYBtxHbfJK8rA3Qz/3kEgyRGtIiJdeliHzocHsoXLUwHcg==","signatures":[{"sig":"MEUCIEX0fdKhg3CELC65OWVqKCzWGU5h7ZvCbm5O7c03xzGOAiEA4fiyCjlRMh+k5MfuOVneFp2zBqJDUqdhvmOf+eFD/UY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12029057},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-tools/npm-publish-helper compile","prepublishOnly":"npx --yes needle-tools/npm-publish-helper prepare-publish"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":">=0.160.0"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.11_1753372946413_0.05986122699007734","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.8bf1405":{"name":"@needle-tools/facefilter","version":"1.0.0-next.8bf1405","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-next.8bf1405","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"7755d52fc5bf079dfd6a1c2bf97a4532bd379e84","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-next.8bf1405.tgz","fileCount":246,"integrity":"sha512-vtxGDeXYYMgGAKqz+rttmN+YHhX7897xKj+VMiQrOEQEsH+4EMhvQ6AGKBmdeulskAsroZJdn66k0FjT31w3kg==","signatures":[{"sig":"MEQCIET3tdfK4leJh0fRPlViKMBExZ7GhTxuHv1+PwHchY/eAiAD9YaMJBP4QWDMdXcLMGM/dNIgpGFw5uEeKPL91tnLqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12003109},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"gitHead":"8bf14056f33f12753b8c9aa997deacc84326a97e","scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-tools/npm-publish-helper compile-library","prepublishOnly":"npx --yes needle-tools/npm-publish-helper prepare-publish"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.17.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":">=0.160.0"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-next.8bf1405_1753373697998_0.29363744750488996","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.a9802e8":{"name":"@needle-tools/facefilter","version":"1.0.0-next.a9802e8","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"_id":"@needle-tools/facefilter@1.0.0-next.a9802e8","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"dist":{"shasum":"b37f47668f17895f508da5a095186dba152fa079","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-next.a9802e8.tgz","fileCount":246,"integrity":"sha512-ZelnIdWYhqCZ0f6Axzyn7FeA7CDzCjTA2dsLqmKb5OQIwwxHptU9C6qSGTnBYQABDe+WQZ91SmFWn5JYKyijAQ==","signatures":[{"sig":"MEYCIQCBtj5/9EZ9rXfZ1jcqKPZy1E5GtKp5Aff6BoPQPuoFTAIhAKyfdFKxV0RLFusfaAkdwueI1zD6oezH+WsqDQo7Y6Gt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12003089},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"gitHead":"a9802e8ac56b2cda19ec9a52d3facca354cd6074","scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-publish-helper compile-library","prepublishOnly":"npx --yes needle-publish-helper prepare-publish"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.17.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":">=0.160.0"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-next.a9802e8_1753444606860_0.8727523880751633","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.cc714d2":{"name":"@needle-tools/facefilter","version":"1.0.0-next.cc714d2","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"author":{"url":"https://needle.tools/","name":"Needle","email":"hi@needle.tools"},"_id":"@needle-tools/facefilter@1.0.0-next.cc714d2","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"homepage":"https://needle.tools","bugs":{"url":"https://github.com/needle-engine/facefilter/issues"},"dist":{"shasum":"f2614fe00e3b7fde14d8638dd0707fb7bfb8b7ae","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-next.cc714d2.tgz","fileCount":246,"integrity":"sha512-KNG4EIDkNRXUfb32XmBREcJy8QX0mwGuixnmqzDge1d2UVS6myO/qqhZT/IcZKUyd9N34JmoxYm3UbOAP7lP5w==","signatures":[{"sig":"MEUCIE0/AKu5Z1hvJiY32vuMT0lpNkqvDkizPf5chPns9OeaAiEAxJNyd8PoyfnrIja6WGX3tOaQnFqO++PC7tqG/PPX7ns=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12003334},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"gitHead":"cc714d2f0567c479a1a8aa57a0bbc715b48deaac","scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-publish-helper compile-library","prepublishOnly":"npx --yes needle-publish-helper prepare-publish"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"repository":{"url":"git+https://github.com/needle-engine/facefilter.git","type":"git"},"_npmVersion":"10.9.2","description":"Needle Engine FaceFilter","directories":{},"_nodeVersion":"22.17.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":">=0.160.0"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-next.cc714d2_1753444933436_0.9164658375333201","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.12":{"name":"@needle-tools/facefilter","version":"1.0.0-beta.12","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"author":{"url":"https://needle.tools/","name":"Needle","email":"hi@needle.tools"},"_id":"@needle-tools/facefilter@1.0.0-beta.12","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"homepage":"https://needle.tools","bugs":{"url":"https://github.com/needle-engine/facefilter/issues"},"dist":{"shasum":"485bcb46458bb5d55da98076fb3cdd47000114ec","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-beta.12.tgz","fileCount":251,"integrity":"sha512-lZUqbVc9bHWYy8N42y7d8G/xk8418T6hq7Mzdbvcdp/wmkeDs38T2rk1pZ6BlHQMDCHVjMq6XyvEox+lE4oJpw==","signatures":[{"sig":"MEUCIQDM9Fjgfyx5ja1S/d1+rNThbpd8M/lEKEC+uirQioBVrwIgB0KrSiDIRUSWUGIy6uVW2ocJcEGOfpfdeLQw/9M57+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12030315},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-publish-helper compile-library","prepublishOnly":"npx --yes needle-publish-helper prepare-publish"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"repository":{"url":"git+https://github.com/needle-engine/facefilter.git","type":"git"},"_npmVersion":"10.9.2","description":"Create FaceFilter effects with Needle Engine and Mediapipe","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":">=0.160.0"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-beta.12_1755160193268_0.2488827978818693","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@needle-tools/facefilter","version":"1.0.0","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"author":{"url":"https://needle.tools/","name":"Needle","email":"hi@needle.tools"},"_id":"@needle-tools/facefilter@1.0.0","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"homepage":"https://needle.tools","bugs":{"url":"https://github.com/needle-engine/facefilter/issues"},"dist":{"shasum":"83951bdcc1559aee9b553b95659b1b9f025ab730","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0.tgz","fileCount":251,"integrity":"sha512-gN4A1L3d/aNzMg/OVHTiOM2hPyiTU5+9iTKp0A4lIDdL903zWoCNLEOdzHpyjhCSZn3q+ssLReeSP2TDEiA4kg==","signatures":[{"sig":"MEYCIQCJG5jx3jRj7ffsySIu5Uh6WH/4eyoflOzcaEQPmpQHsAIhALylhAPSjS18tT7otRKguw3YwBnIR8ACgEMuy+5f38mH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12030329},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-publish-helper compile-library","prepublishOnly":"npx --yes needle-publish-helper prepare-publish"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"repository":{"url":"git+https://github.com/needle-engine/facefilter.git","type":"git"},"_npmVersion":"10.9.2","description":"Create FaceFilter effects with Needle Engine and Mediapipe","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":">=0.160.0"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0_1755245264590_0.8660363865142506","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.048933d":{"name":"@needle-tools/facefilter","version":"1.0.0-next.048933d","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"author":{"url":"https://needle.tools/","name":"Needle","email":"hi@needle.tools"},"_id":"@needle-tools/facefilter@1.0.0-next.048933d","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"homepage":"https://needle.tools","bugs":{"url":"https://github.com/needle-engine/facefilter/issues"},"dist":{"shasum":"25584a91e6a0537fb691fb0b4ef48d90f2943e13","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.0-next.048933d.tgz","fileCount":247,"integrity":"sha512-GUCbxT5Q+hzHUx71JCAylZ/MYTAm/JnWC+h4UbkIbCUgstqroRWNniO+d/u11GkXo+azEytP28BaVEdaKhb/vw==","signatures":[{"sig":"MEYCIQDMnOXA6gnlWMcLAqJJp6cEkMcjIBtaDCzJfQPkhb9JUgIhAPucKX7KBsVkH874BKEFYL/NT72ZN1eO6fDJqKfBtDwl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12003466},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"gitHead":"048933d9e0da84843918b8ad300bd8805a0de0c7","scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-publish-helper compile-library","prepublishOnly":"npx --yes needle-publish-helper prepare-publish"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"repository":{"url":"git+https://github.com/needle-engine/facefilter.git","type":"git"},"_npmVersion":"10.9.3","description":"Create FaceFilter effects with Needle Engine and Mediapipe","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":">=0.160.0"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.0-next.048933d_1757348490122_0.41870529119834754","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-next.6a22a5b":{"name":"@needle-tools/facefilter","version":"1.0.1-next.6a22a5b","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"author":{"url":"https://needle.tools/","name":"Needle","email":"hi@needle.tools"},"_id":"@needle-tools/facefilter@1.0.1-next.6a22a5b","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"homepage":"https://needle.tools","bugs":{"url":"https://github.com/needle-engine/facefilter/issues"},"dist":{"shasum":"b4801bc576c0ebd77aaf83cd6c60a3fdf239449a","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.1-next.6a22a5b.tgz","fileCount":247,"integrity":"sha512-jKF7T7C/GQ1BzhLnbGhWsi1ftt4S/wnkY76OOaHWtqwJIsvSaEgLL+6/f8WFYRtaruNFmSxvAlCvhoVMwBwfcQ==","signatures":[{"sig":"MEUCICAdvHV+XdSbS7LNIzA/45/YNasuWoqTy4TlVzVAAgwGAiEAmFdK7TGkTyHQE9eceAOAag2WrcUFHXZgdHXBEv5wPqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12003465},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"gitHead":"6a22a5ba63e011831ab67d0ee3ae9dfe0f9b596e","scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-publish-helper compile-library","prepublishOnly":"npx --yes needle-publish-helper prepare-publish"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"repository":{"url":"git+https://github.com/needle-engine/facefilter.git","type":"git"},"_npmVersion":"10.9.3","description":"Create FaceFilter effects with Needle Engine and Mediapipe","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"three":"npm:@needle-tools/three@^0.169.5","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"^4.4.0-alpha.2"},"peerDependencies":{"three":">=0.160.0"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.1-next.6a22a5b_1757588956518_0.43590764417365935","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@needle-tools/facefilter","version":"1.0.2","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"author":{"url":"https://needle.tools/","name":"Needle","email":"hi@needle.tools"},"_id":"@needle-tools/facefilter@1.0.2","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"homepage":"https://needle.tools","bugs":{"url":"https://github.com/needle-engine/facefilter/issues"},"dist":{"shasum":"d29d64e1f791f9ebfcf5b9cf51c9f20088ab2e07","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.2.tgz","fileCount":247,"integrity":"sha512-i2PDSkVct0R3kShwNM/dtwwKCc9DAgiLW35yTyox7NGvckOaLcOnEo/IiVMZYqqh3w34fi62OcZJmtX3Amq5eA==","signatures":[{"sig":"MEUCIHn+DpJYXVr/kzWG/LmtrVhO80YPRvoNXk1hETVvchFxAiEAigsNuTb/Ra6zN/Hlu3Vi2eA1BWYECnDB7/8sVERPDok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12005069},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"gitHead":"3a18f7f8b1d3e524f512ddea9e8321e8c163db94","scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-publish-helper compile-library","prepublishOnly":"npx --yes needle-publish-helper@next prepare-publish --verbose"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"repository":{"url":"git+https://github.com/needle-engine/facefilter.git","type":"git"},"_npmVersion":"10.9.3","description":"Create FaceFilter effects with Needle Engine and Mediapipe","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@0.169.11","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"4.10.2"},"peerDependencies":{"three":"npm:@needle-tools/three@0.169.11"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.2_1759494504869_0.8447516688336665","host":"s3://npm-registry-packages-npm-production"}},"1.0.3-next.62e48dc":{"name":"@needle-tools/facefilter","version":"1.0.3-next.62e48dc","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"author":{"url":"https://needle.tools/","name":"Needle","email":"hi@needle.tools"},"_id":"@needle-tools/facefilter@1.0.3-next.62e48dc","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"homepage":"https://needle.tools","bugs":{"url":"https://github.com/needle-engine/facefilter/issues"},"dist":{"shasum":"64f53a9c5687724a1037ab8e4c1b5ef4f424ae7e","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.3-next.62e48dc.tgz","fileCount":247,"integrity":"sha512-XV4kNvEloedpKWfh9wCX2sJqsk0EHXjcpaNF0mjHqYwUbvTi1NQtAvGZSlzGLrL/t7xR4zrCvDUNhI1pmlKspA==","signatures":[{"sig":"MEUCIC/4ImeYMjE/Ppuf6n2spdzaIBqJLkXF4+cNz9l6r2t1AiEAqCYRl6lOmiliTmPx4oaW3KIKAsBWoCqqffU12awyl/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12006263},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"gitHead":"62e48dc8127d1cdec0bcb404adf4917b7926a60c","scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-publish-helper compile-library","prepublishOnly":"npx --yes needle-publish-helper@next prepare-publish --verbose"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"repository":{"url":"git+https://github.com/needle-engine/facefilter.git","type":"git"},"_npmVersion":"10.9.3","description":"Create FaceFilter effects with Needle Engine and Mediapipe","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"three":"npm:@needle-tools/three@0.169.11","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"4.10.2"},"peerDependencies":{"three":"npm:@needle-tools/three@0.169.11"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.3-next.62e48dc_1759504336025_0.9148275230259029","host":"s3://npm-registry-packages-npm-production"}},"1.0.3-next.0efb160":{"name":"@needle-tools/facefilter","version":"1.0.3-next.0efb160","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"author":{"url":"https://needle.tools/","name":"Needle","email":"hi@needle.tools"},"_id":"@needle-tools/facefilter@1.0.3-next.0efb160","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"homepage":"https://needle.tools","bugs":{"url":"https://github.com/needle-engine/facefilter/issues"},"dist":{"shasum":"bb48bf42bc8f9a7bc064611dd7d66a5abbc356c0","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.3-next.0efb160.tgz","fileCount":247,"integrity":"sha512-vEs6zizaUOwBG8iroHFqmgoyWKLEjZemTb8QBmD1gmBYQ3dscLL6sK0QsF0FZ6oBdVRPvE+EpOOpBasT85RA0Q==","signatures":[{"sig":"MEYCIQCxP1lBx6S4lo33OrBmM3m9/rwGPwD3BTH1W717YLNMsAIhAKJZ9Uo1nQGUp6F/83u249lTAY1+t76ZeUnQn4BNuM0n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12008894},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"gitHead":"0efb160b510ef119d31c9911bc4fb0293e2e7abd","scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-publish-helper compile-library","prepublishOnly":"npx --yes needle-publish-helper@next prepare-publish --verbose"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"repository":{"url":"git+https://github.com/needle-engine/facefilter.git","type":"git"},"_npmVersion":"10.9.3","description":"Create FaceFilter effects with Needle Engine and Mediapipe","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"three":"npm:@needle-tools/three@0.169.11","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"4.10.2"},"peerDependencies":{"three":"npm:@needle-tools/three@0.169.11"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.3-next.0efb160_1759509133561_0.12051334486969512","host":"s3://npm-registry-packages-npm-production"}},"1.0.4-next.49fa872":{"name":"@needle-tools/facefilter","version":"1.0.4-next.49fa872","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"author":{"url":"https://needle.tools/","name":"Needle","email":"hi@needle.tools"},"_id":"@needle-tools/facefilter@1.0.4-next.49fa872","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"homepage":"https://needle.tools","bugs":{"url":"https://github.com/needle-engine/facefilter/issues"},"dist":{"shasum":"01235ab400afd7ccca31252e8262d68e5d3c3afc","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.4-next.49fa872.tgz","fileCount":247,"integrity":"sha512-8J0lZklEkchjGd4YR10GXqBmsJHMOAbVfpYXB1ejUdGk3FQOfNniXACaDxvNR6pTIv5Z2vTcsTy8Vo5YwnKcEw==","signatures":[{"sig":"MEYCIQDJJStMsVzDzD1FcVPFxiWm6/REisd96toG0o3O6knPvwIhAIEmTZskbeG7vzE+MyEJf6Vznthxozrgr32jQxs5HCHT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12011984},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"gitHead":"49fa87240651f9ac11dd0f7f4f860dd8063ed43c","scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-publish-helper compile-library","prepublishOnly":"npx --yes needle-publish-helper@next prepare-publish --verbose"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"repository":{"url":"git+https://github.com/needle-engine/facefilter.git","type":"git"},"_npmVersion":"10.9.3","description":"Create FaceFilter effects with Needle Engine and Mediapipe","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"three":"npm:@needle-tools/three@0.169.11","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"4.10.2"},"peerDependencies":{"three":"npm:@needle-tools/three@0.169.11"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.4-next.49fa872_1761733846169_0.043374679862450805","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@needle-tools/facefilter","version":"1.0.4","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"author":{"url":"https://needle.tools/","name":"Needle","email":"hi@needle.tools"},"_id":"@needle-tools/facefilter@1.0.4","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"homepage":"https://needle.tools","bugs":{"url":"https://github.com/needle-engine/facefilter/issues"},"dist":{"shasum":"7caee3c0f87acd1d75f5760e213a218d1d1671a9","tarball":"https://registry.npmjs.org/@needle-tools/facefilter/-/facefilter-1.0.4.tgz","fileCount":247,"integrity":"sha512-hGDtFUY4pkpktj5wBQ5xstDaCYaNOlMKSvAyxHpZ//mv+ajL3fCulW8L3WKS6UzXG7xCCOccBGVwfM84QeJ8vw==","signatures":[{"sig":"MEUCIQCIFNbzuytb/ttuqtYS5oS23htI40JqO4F0imdOR2zppwIgN0X1Sl0HyKcsilS07Xrq+JbNtSZhv3UwU+HPuwAcUCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12011935},"main":"index.ts","exports":{".":{"import":"./index.ts"},"./codegen/register_types.ts":{"import":"./codegen/register_types.ts"}},"gitHead":"49fa87240651f9ac11dd0f7f4f860dd8063ed43c","scripts":{"dev":"npx nodemon --watch src --ext ts,tsx --exec \"npm run compile\"","compile":"npx --yes needle-publish-helper compile-library","prepublishOnly":"npx --yes needle-publish-helper@next prepare-publish --verbose"},"_npmUser":{"name":"marwi123","email":"marcel@needle.tools"},"repository":{"url":"git+https://github.com/needle-engine/facefilter.git","type":"git"},"_npmVersion":"10.9.3","description":"Create FaceFilter effects with Needle Engine and Mediapipe","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@mediapipe/tasks-vision":"0.10.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"three":"npm:@needle-tools/three@0.169.11","esbuild":"^0.25.1","@types/three":"0.169.0","@needle-tools/engine":"4.10.2"},"peerDependencies":{"three":"npm:@needle-tools/three@0.169.11"},"_npmOperationalInternal":{"tmp":"tmp/facefilter_1.0.4_1761733891347_0.22244458271383638","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-03-19T16:43:03.316Z","modified":"2025-10-29T10:31:33.066Z","1.0.0-alpha.0":"2025-03-19T16:43:03.734Z","1.0.0-alpha.1":"2025-03-20T10:55:59.547Z","1.0.0-alpha.2":"2025-03-20T10:56:49.813Z","1.0.0-alpha.3":"2025-03-20T11:05:39.145Z","1.0.0-alpha.4":"2025-03-20T11:10:39.287Z","1.0.0-alpha.6":"2025-03-20T11:32:00.925Z","1.0.0-alpha.7":"2025-03-20T11:36:59.451Z","1.0.0-alpha.8":"2025-03-20T13:05:18.559Z","1.0.0-alpha.9":"2025-03-20T14:02:49.634Z","1.0.0-alpha.10":"2025-03-20T15:22:37.601Z","1.0.0-alpha.11":"2025-03-20T15:30:30.518Z","1.0.0-alpha.12":"2025-03-21T12:20:42.950Z","1.0.0-alpha.13":"2025-03-21T12:39:14.174Z","1.0.0-alpha.14":"2025-03-21T12:44:34.609Z","1.0.0-alpha.15":"2025-03-21T13:01:14.862Z","1.0.0-alpha.16":"2025-03-21T13:16:28.242Z","1.0.0-alpha.17":"2025-03-21T13:29:30.074Z","1.0.0-alpha.18":"2025-03-25T09:15:45.577Z","1.0.0-alpha.19":"2025-03-25T09:28:08.476Z","1.0.0-alpha.20":"2025-03-25T10:17:22.454Z","1.0.0-beta":"2025-03-25T11:26:26.230Z","1.0.0-beta.1":"2025-03-25T12:08:57.093Z","1.0.0-beta.2":"2025-03-26T13:09:26.622Z","1.0.0-beta.3":"2025-03-26T13:54:11.105Z","1.0.0-beta.4":"2025-03-26T14:11:31.579Z","1.0.0-beta.5":"2025-03-27T16:38:00.688Z","1.0.0-beta.6":"2025-03-28T11:55:21.506Z","1.0.0-beta.7":"2025-03-28T12:00:38.054Z","1.0.0-beta.8":"2025-03-28T13:06:38.908Z","1.0.0-beta.9":"2025-03-28T13:33:24.901Z","1.0.0-beta.10":"2025-04-09T14:17:18.349Z","1.0.0-beta.11":"2025-07-24T16:02:26.772Z","1.0.0-next.8bf1405":"2025-07-24T16:14:58.334Z","1.0.0-next.a9802e8":"2025-07-25T11:56:47.210Z","1.0.0-next.cc714d2":"2025-07-25T12:02:13.775Z","1.0.0-beta.12":"2025-08-14T08:29:53.545Z","1.0.0":"2025-08-15T08:07:44.921Z","1.0.0-next.048933d":"2025-09-08T16:21:30.412Z","1.0.1-next.6a22a5b":"2025-09-11T11:09:16.802Z","1.0.2":"2025-10-03T12:28:25.212Z","1.0.3-next.62e48dc":"2025-10-03T15:12:16.379Z","1.0.3-next.0efb160":"2025-10-03T16:32:13.890Z","1.0.4-next.49fa872":"2025-10-29T10:30:46.600Z","1.0.4":"2025-10-29T10:31:31.664Z"},"bugs":{"url":"https://github.com/needle-engine/facefilter/issues"},"author":{"url":"https://needle.tools/","name":"Needle","email":"hi@needle.tools"},"homepage":"https://needle.tools","keywords":["needle","ar","augmented-reality","facefilter","blendshapes","facemesh","procreate","google","mediapipe","cannonical","arkit","arcore","sparkar","three","threejs","webgl","camera","video"],"repository":{"url":"git+https://github.com/needle-engine/facefilter.git","type":"git"},"description":"Create FaceFilter effects with Needle Engine and Mediapipe","maintainers":[{"name":"herbst","email":"felix@needle.tools"},{"name":"marwi123","email":"marcel@needle.tools"}],"readme":"# Needle Engine FaceFilter\n\nAdd face tracking to your Needle Engine projects with ease.\n\n\n# Features\n- Blendshape mesh face tracking\n- Texture face tracking with google/mediapipe canonical or procreate texture layouts (Use the `FaceMeshTexture` class)\n- Video face tracking: Play a video as a face texture (Use the `FaceMeshVideo` class)\n- Custom shader face meshes: Use custom materials on your face mesh (Use the `FaceMeshCustomShader` class)\n- Tracking for multiple faces at once (with smoothing)\n- *Can be used with Unity to create filters, animations, materials...*\n\n\n## Quickstart\n\nRun `npm i @needle-tools/facefilter` in your web project   \n\nThen see the code or examples below:\n\n\n### Face Filter with HTML only\n\nSee full examples in `/examples/html/`   \n\n#### Supported attributes\n\n| | |\n| -- | -- |\n| `face-filter` | URL to either a image or model file. Supported formats: `glTF`, `GLB`, `FBX`, `OBJ` **or 2D** `jpeg`, `jpg`, `png`, `webp` |\n| `face-filter-mask` | (optional, 2D only) URL to image file that will be used to mask out the face filter texture\n| `face-filter-layout` | (optional, 2D only) Either `procreate`, `mediapipe` or `canonical`. Default `mediapipe`\n| `face-filter-scale` | (optional, 3D only) Apply scale to the 3D face filter model (e.g. `face-filter-scale=\".5\"`)\n| `face-filter-offset` | (optional, 3D only) Offset the 3D face filter model (e.g. `face-filter-offset=\"0.0, 0.1, 0.1\"`)\n| `face-filter-max-faces` | (optional) How many faces should be tracked automatically. Default: `1`\n| `face-filter-show-video` | (optional) Should the camera videofeed be rendered in the background? Default: `true`. Can be set to `0` to hide the videofeed in the background.\n| `face-filter-video-selector` | (optional) HTML selector for a HTMLVideoElement. Useful if you want to render provide your own video element on the website elsewhere. If none is provided a hidden video element will be created automatically. \n\n\n#### HTML Example\n```html\n<!DOCTYPE html>\n<html>\n  <head>\n      <script type=\"importmap\">\n          {\n            \"imports\": {\n              \"three\": \"https://cdn.jsdelivr.net/npm/@needle-tools/engine@4.4.0-alpha.5/dist/three.min.js\",\n              \"@needle-tools/engine\": \"https://cdn.jsdelivr.net/npm/@needle-tools/engine@4.4.0-alpha.5/dist/needle-engine.min.js\",\n              \"@needle-tools/facefilter\": \"https://cdn.jsdelivr.net/npm/@needle-tools/facefilter/dist/facefilter.min.js\"\n            }\n          }\n      </script>\n      <script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/@needle-tools/facefilter/dist/facefilter.min.js\"></script>\n  </head>\n\n  <body style=\"margin:0; padding:0;\">\n      <needle-engine\n          background-color=\"#ffffdd\"\n          face-filter=\"https://cdn.needle.tools/static/facefilter/facemask-template-procreate.webp\"\n          face-filter-mask=\"https://cdn.needle.tools/static/facefilter/facemask-occlusion-procreate.webp\"\n          face-filter-layout=\"procreate\"\n          >\n      </needle-engine>\n  </body>\n</html>\n```\n[Open 2D Example](https://stackblitz.com/edit/needle-engine-facefilter-html-only?file=index.html) – \n[Open 3D Example](https://stackblitz.com/edit/needle-engine-facefilter-html-only-3d?file=index.html)\n\n\n\n### Face Mesh Texture Filter\n\n\n```ts\nimport { onStart } from '@needle-tools/engine';\nimport { FaceMeshTexture, NeedleFaceFilterTrackingManager } from '@needle-tools/facefilter';\n\nonStart(context => {\n  const scene = context.scene;\n\n  // Create a face filter tracking manager and add it to the scene\n  const filtermanager = new NeedleFaceFilterTrackingManager();\n  filtermanager.createMenuButton = true;\n  scene.addComponent(filtermanager);\n\n  // Creating a filter\n  const filter = new FaceMeshTexture({\n    layout: 'procreate', // we support both the google/mediapipe canonical layout and procreate/arkit layouts\n    texture: {\n      url: './assets/crocodile.webp', // provide a URL to the texture\n      // texture: <your texture> // alternatively you can assign an existing texture directly\n    },\n  });\n  // Activate one of your filters\n  filtermanager.activateFilter(filter);\n});\n```\n[Open Example on Stackblitz](https://stackblitz.com/edit/needle-engine-facefilter)\n\n\n\n### Face Mesh Blendshapes Filter\n\n\n```ts\nimport { onStart } from '@needle-tools/engine';\nimport { FaceMeshTexture, NeedleFaceFilterTrackingManager } from '@needle-tools/facefilter';\n\nonStart(context => {\n  const scene = context.scene;\n\n  // Create a face filter tracking manager and add it to the scene\n  const filtermanager = new NeedleFaceFilterTrackingManager();\n  filtermanager.createMenuButton = false;\n  scene.addComponent(filtermanager);\n\n  // Creating a filter using a GLB/glTF URL model that has blendshapes\n  const filter = await FaceFilterRoot.create('https://cloud.needle.tools/-/assets/Z23hmXBZWllze-ZWllze/file', {\n    scale: 0.5,\n    offset: { x: 0, y: 0.01, z: 0 },\n  });\n  if (filter) filtermanager.activateFilter(filter);\n});\n  ```\n[Open Example on Stackblitz](https://stackblitz.com/edit/needle-engine-facefilter-blendshapes?file=src%2Fmain.ts)\n\n\n# Examples\n- [Full project & source on Github](https://github.com/needle-engine/facefilter)\n- [Example with Blendshapes on Stackblitz](https://stackblitz.com/edit/needle-engine-facefilter-blendshapes?file=src%2Fmain.ts)\n- [Example with Sunglasses on Stackblitz](https://stackblitz.com/edit/needle-engine-facefilter-glasses?file=src%2Fmain.ts)\n- [Example with Texture Mesh on Stackblitz](https://stackblitz.com/edit/needle-engine-facefilter)\n- [Example with ShaderToy on Stackblitz](https://stackblitz.com/edit/needle-engine-shadertoy-facefilter)\n- [Example without a bundler on Stackblitz](https://stackblitz.com/edit/needle-engine-facefilter-html?file=index.html)\n- [Example with HTML only 2D filter on Stackblitz](https://stackblitz.com/edit/needle-engine-facefilter-html-only?file=index.html) ([or github](https://github.com/needle-engine/facefilter/blob/main/package/examples/html/index.html))\n- [Example with HTML only 3D filter on Stackblitz](https://stackblitz.com/edit/needle-engine-facefilter-html-only-3d?file=index.html) ([or github](https://github.com/needle-engine/facefilter/blob/main/package/examples/html/model.html))\n- [Demo Video](https://github.com/user-attachments/assets/51300430-6290-4672-b2aa-f1e870b9e99c)\n\n# Contributing\nSee [Github](https://github.com/needle-engine/facefilter) for more information\n\n# Package Dependencies\n\nSource files are 75 kB (gzip).  \nThis package contains files for the Unity integration and are not included in web builds.   \n\n\n# Contact\n\n<b>[needle](https://needle.tools)</b> •\n[Twitter](https://twitter.com/NeedleTools) •\n[Forum](https://forum.needle.tools) •\n[Youtube](https://www.youtube.com/@needle-tools)\n","readmeFilename":"README.md"}