{"_id":"@firecms/neat","_rev":"33-e0324545b8c5107aa45d1bb88947df88","name":"@firecms/neat","dist-tags":{"latest":"1.1.0","canary":"1.0.3-canary.20260916111045"},"versions":{"0.1.0":{"name":"@firecms/neat","version":"0.1.0","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.1.0","maintainers":[{"name":"gatti675","email":"francesco@camberi.com"}],"homepage":"https://github.com/Camberi/neat#readme","bugs":{"url":"https://github.com/Camberi/neat/issues"},"dist":{"shasum":"043f0192c161e6565ed41874e5aad23750ceb8ec","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.1.0.tgz","fileCount":6,"integrity":"sha512-dczGKiQT7SQJf1+eDw385OjLfRNFOZQp+8vE302WexOqM3kJ08DnK1V0zxrFMznhGYF0TZHpCnayiXjiZrBvLQ==","signatures":[{"sig":"MEUCIDo6s+RGH0QipRkmsAUWEJ75DKpZuxMQo1ZqdhSpjnuvAiEAxRLwJB8zCGUBbGZ8QTTOlG14ms9EIpAE8Fh7byKmUis=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25950},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"b40ab2675d0304f806a1770672d233144c0f4110","scripts":{"build":"../node_modules/.bin/vite build","start":"../node_modules/.bin/vite"},"_npmUser":{"name":"gatti675","email":"francesco@camberi.com"},"repository":{"url":"git+https://github.com/Camberi/neat.git","type":"git"},"_npmVersion":"9.6.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"16.19.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"typescript":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.144.0"},"peerDependencies":{"three":"^0.144.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.1.0_1700692721171_0.3999843797578482","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@firecms/neat","version":"0.1.1","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.1.1","maintainers":[{"name":"gatti675","email":"francesco@camberi.com"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"5fdc3f5ccd5883f630697d8b8269fc40aba872c7","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.1.1.tgz","fileCount":6,"integrity":"sha512-0GJgjPutyKJDf2l3ld6v7vJ8n7TB0bpdon9FNgMFIYQp5e0szudZG/sVorHWQhRlyjJCPGd1BxLWw+nPOLf1yA==","signatures":[{"sig":"MEUCIQCnnYGEyBsipbYtgYDLQ+YEQhlxz/KOYBWdQbzqibFFoAIgM2O/dBhE+yn/RefzYCAtkQemAqsZBlKUPvYG4aAc/Dk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25963},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"b40ab2675d0304f806a1770672d233144c0f4110","scripts":{"build":"../node_modules/.bin/vite build && tsc","start":"../node_modules/.bin/vite"},"_npmUser":{"name":"gatti675","email":"francesco@camberi.com"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"9.6.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"16.19.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"typescript":"^4.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.144.0"},"peerDependencies":{"three":"^0.144.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.1.1_1700694070334_0.21499201487619257","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@firecms/neat","version":"0.1.2","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.1.2","maintainers":[{"name":"gatti675","email":"francesco@camberi.com"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"5121ccc8f887936162826bc62bc2550f540ae6bc","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.1.2.tgz","fileCount":14,"integrity":"sha512-wHqvY+kqP72rXC07cY9rIjFVUqkmAHPkiFZRlaqJdWBBlfvFF2gIoAOjK7cNxVULXCUmqlr0yNp0WKKSEdZY6A==","signatures":[{"sig":"MEQCIFMYP9uZoI1HyRGTSJyyqwL+d0W65Roh07BeoCVW+SkwAiBm5waQCQrMM4ytagI16PCcQwTn+If6XdpRg5K9sVK76g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":151250},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"b40ab2675d0304f806a1770672d233144c0f4110","scripts":{"build":"../node_modules/.bin/vite build && tsc","start":"../node_modules/.bin/vite"},"_npmUser":{"name":"gatti675","email":"francesco@camberi.com"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"9.6.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"16.19.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.144.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.144.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.1.2_1700695069031_0.4653732779390951","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@firecms/neat","version":"0.1.3","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.1.3","maintainers":[{"name":"gatti675","email":"francesco@camberi.com"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"2c72fa284e69e1ae2e68eeb13fb31e2cea224ecb","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.1.3.tgz","fileCount":14,"integrity":"sha512-oyXcpQ54X1l/l0bkYWic8Szj6A4hG65dWCHwi2r04kv+MhCKy/a1KfidMIHiLd335nyTpz8A8hyA+H+TeYyv1g==","signatures":[{"sig":"MEQCIBMrx4gzTl4qYYRyXULk913LX9dCQFmuCrWGt7mT2OwSAiAmaKB97i1pccvoZcTqX4y5lWlMvDoc+I564oyorXY3Qw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":151931},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"b40ab2675d0304f806a1770672d233144c0f4110","scripts":{"build":"../node_modules/.bin/vite build && tsc","start":"../node_modules/.bin/vite"},"_npmUser":{"name":"gatti675","email":"francesco@camberi.com"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"9.6.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"16.19.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.144.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.144.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.1.3_1700786081266_0.43251407153614285","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"@firecms/neat","version":"0.1.4","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.1.4","maintainers":[{"name":"gatti675","email":"francesco@camberi.com"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"c922e751e4b8bb3bd5d657fba1c85329d7451047","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.1.4.tgz","fileCount":14,"integrity":"sha512-kqp9cupqOtU8xXNuTqx0TFKTYLfKjp4KTJK0lPIZ/KRd44W4Y0Kaw2JC6yKaTQOa4T9L8+vRbF8htKqqrI01gQ==","signatures":[{"sig":"MEUCIQCoampaHHAFtpL6T6eGksh147J+/9NuUeALlLVeSVLuPAIgQQQAOkih5mSawsl6C9vQa2fWL/M0G/gPe3Ev78Ms1t0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":155366},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"b40ab2675d0304f806a1770672d233144c0f4110","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@camberi.com"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"9.6.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"16.19.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.144.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.144.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.1.4_1700831490340_0.6453530035380126","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"@firecms/neat","version":"0.1.5","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.1.5","maintainers":[{"name":"gatti675","email":"francesco@camberi.com"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"64480d85cc21a5c8b95637354fc18e1e283ca312","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.1.5.tgz","fileCount":14,"integrity":"sha512-HFc829+5ErodqvqQc3r8LTVA+3f73e4j2ABXWI3FBZ2/UhQlNsU6ITj/ALpngykvqeIn8+nOr+Z0ANJKRmTHAg==","signatures":[{"sig":"MEQCIF8A47K6j2GXpqE5e6/6HeI+85o79b1rsbV5LFU0RFaLAiBFsJQ+ZE8vEvttkch62vRMafBEHSYxHSZtK2sJl4gIQQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159736},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"b40ab2675d0304f806a1770672d233144c0f4110","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@camberi.com"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"9.6.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"16.19.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.144.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.144.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.1.5_1701309447834_0.6876549850207883","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@firecms/neat","version":"0.2.0","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.2.0","maintainers":[{"name":"gatti675","email":"francesco@camberi.com"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"2b7902d5edb9f6b300333fb078c3f46c2a7229b2","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.2.0.tgz","fileCount":14,"integrity":"sha512-wqxrGamFjvs+SsJ5XjDaFLhHwcRCuTPE3yPohwgDHQOhGQiJtpp/sTEWC+7srEN3pRzd0vPEUidJH+Kj7gPMDg==","signatures":[{"sig":"MEUCIQD4tyja/vPkdXf2gWI5Ex3R0Pua9JGTRQhWfvr0EqGqzwIgaWs/eQHhOyy+HiorUGW5qUlM4KkJdT6hp8XnYxmXwqU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":171002},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"cdf5ff1546386e431ff4395475805584120508d4","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@camberi.com"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"10.2.4","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"18.19.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.144.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.144.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.2.0_1709130787041_0.760189624555325","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@firecms/neat","version":"0.2.1","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.2.1","maintainers":[{"name":"gatti675","email":"francesco@camberi.com"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"466e39eff918e18d4098ea7a29aa504457cccdba","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.2.1.tgz","fileCount":14,"integrity":"sha512-tvmDKKMKmqK86iCwedpzFyw4KkWITUFEgmpzn9Bgzw3oWXL9PaHVmhsxOtbPBT1KvjVwVQiiS0Hut5VPw5ZpVw==","signatures":[{"sig":"MEUCIQDRNHFKhf5odl84jJ3J6WAQWH1YityXaS1S+0dRBHLtKQIgJDXLhNmPUS0fUeuW/JYAhhgdl3+1bB2MJLS8BcRJ9RI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":173000},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"cafe7289c8d4f4c000aa9010b4ddf02f9c99f632","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@camberi.com"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"10.2.4","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"18.19.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.144.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.144.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.2.1_1709135104432_0.13255216766398226","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"@firecms/neat","version":"0.2.2","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.2.2","maintainers":[{"name":"gatti675","email":"francesco@camberi.com"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"9162bb8aa80b45df64a7c55d0311cec16af08b0c","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.2.2.tgz","fileCount":14,"integrity":"sha512-u/1DJxrA+3uiYSayHGFFsYsSBOwknAY85HIwCRK19Fobnfz3YdIzGK2NoPRLrylxsKdUu/U/1lR/GOruwd+Eog==","signatures":[{"sig":"MEQCIAZMX/va93RIqlB6KC0nUnEeqlvtrqfZ7Ca/hYIByJ6mAiAe96FxGPt9Itab+jsQ/tza9qRLEntAw18YumFCTUF55w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":175735},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"00da85eeb4a1767e757a5d3a7552359e7cd053b6","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@camberi.com"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"10.2.4","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"21.6.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.144.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.144.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.2.2_1715169726457_0.9668752214642933","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@firecms/neat","version":"0.3.0","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.3.0","maintainers":[{"name":"gatti675","email":"francesco@camberi.com"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"8a36e13a862bfbac2870352e5878ce63eabc9b3f","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.3.0.tgz","fileCount":14,"integrity":"sha512-sYNhQhv04x1LgdebrXTW1aWH08ubsEYd7sJa5ElI+hF1A4YN+FuWOpOzI8BHrKCLLSOhvhUDWMLCqisW/ZAe7g==","signatures":[{"sig":"MEYCIQCeKvsYZe2YNBsQmBNsmAywlXubGjbCoLGAqT0g4PhFhAIhAPXiQugWF2M/ZECm0NPPm/QCXfhqNlIxr7cMWoWws5x5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":191921},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"dce13013e9ce2a0a885dc42f3643b412f2c501c1","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@camberi.com"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"10.8.1","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.4.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.169.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.169.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.3.0_1728924617542_0.8520639384985556","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@firecms/neat","version":"0.4.0","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.4.0","maintainers":[{"name":"gatti675","email":"francesco@camberi.com"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"ab1fdee483e077403b77827cf3bc95197dc6c1e5","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.4.0.tgz","fileCount":14,"integrity":"sha512-a99QILBQsrbcm44KDsOvtcIVXWSLtRyqUq+dQPmkYECyYc69Sv7tgXFrv2ogbYayMMkAaVqZqhZndXVZaAsRqA==","signatures":[{"sig":"MEYCIQC7o79oEQoC7TqFhhMLJ5s7Gi0tC1k6tbpxdTYXoF8SsgIhAN2PajiDf50x+43vVrLFM8ffjdmsqO+2nqa6Zix5MTF0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201189},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"a5264d920d330b5799ac1b98ba8ccb1b422f43b0","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@camberi.com"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.1.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"18.20.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.169.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.169.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.4.0_1744937474708_0.3949841797624787","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@firecms/neat","version":"0.5.0","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.5.0","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"72b8e92b6e58f9ee070e04089f712ff6b98b30e1","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.5.0.tgz","fileCount":14,"integrity":"sha512-UOa2sZcKde4SB7E4aRxbKUz4/WSMESXsYKgkNuZBXK3Z6r7l/88S5iXSfUB1xOLHxoRRw4Y7soHoayQKS9sIDw==","signatures":[{"sig":"MEUCIQCK9HcFKQclbm4DCan7DOAn7AXONcdeF/FswjGlLQBvSwIgIAshxcy8GjZe4ACd84yAnCRWfKwEr8AJO0hsQ4rDEmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":403849},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"64fc53b21f0197fe390610f37a93edff15979d5b","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.7.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"24.5.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.182.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.182.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.5.0_1766003535957_0.17855879484243964","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@firecms/neat","version":"0.5.1","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"ISC","_id":"@firecms/neat@0.5.1","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"19c1af86ab0ee6d8020f50f602b5c06a2f66845d","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.5.1.tgz","fileCount":14,"integrity":"sha512-mD2fph3ECQ5H7nHVaZu/ZHfiSeCnysqQCMUJQoupDhIflaoKlHcUCWckmMJfJ25/OLwC/SZQPUSjcTyf+tkc1w==","signatures":[{"sig":"MEUCIQDTLS/5M3dxUmVEZQZCi60HAKHH1Nl6WyGvjMbNM+HFHgIgMBI57lN10lpDu1P4NPoni57WaCLVSFWu/F/j3eUWtF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":427173},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"0584f38ba7de6ec0cc0c98e8f91ed7529033873e","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.7.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"25.3.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.182.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.182.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.5.1_1768499331853_0.7536872225241389","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@firecms/neat","version":"0.6.0","keywords":["threejs","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"SEE LICENSE IN LICENSE","_id":"@firecms/neat@0.6.0","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"09d8a559317010bef9162e794344eb29ddbae135","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.6.0.tgz","fileCount":14,"integrity":"sha512-tKqmPMGLxpNX1LFUOXGRX9Wdshm3u6SEwO0u/Rv3GDZkkOjsnleYDVTGbSQw/3GNiep2RrtznWHYe1ARAVORYA==","signatures":[{"sig":"MEUCIQDLBm/YXiLQ+cufrTIBMyr1z08oq1vmzHeHw84KUhD1ewIgSy+jL50p53XeZYpMej1itbPHQVji0i2QOyIzZIR/5kk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":441824},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"f7c718d2ce298213eb104c2d5c0113735c78b32f","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"10.9.4","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","three":"^0.182.0","typescript":"^4.8.4"},"peerDependencies":{"three":"^0.182.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.6.0_1772465306391_0.6183791517115118","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@firecms/neat","version":"0.7.0","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"MIT AND Commons-Clause","_id":"@firecms/neat@0.7.0","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"5341a2fdc70f711225bbbfdb46868966d28f1c2c","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.7.0.tgz","fileCount":26,"integrity":"sha512-iKvIsRLP00eLDTDujUB3eIEZZH1/QeazkNqzFJ3rcgzxSm93HWcRRCQQYue8YVhSsoc3d4ENg3XECKy0CRvUuA==","signatures":[{"sig":"MEUCIQCQ8KZZiCOcMjvNZ6R+pW+tzsucryGmbSuYirfrKPVZdAIgfLFt1GLqGzxcCn9+/bH6b+Hz15dJECvCN/fibt9Q5uo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":476528},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"5fad2d70a9117905c69b94b34a61526634b32a6c","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"10.9.4","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.7.0_1773676703866_0.6812815788450142","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@firecms/neat","version":"0.7.1","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"MIT AND Commons-Clause","_id":"@firecms/neat@0.7.1","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"b844a8d91653d74cac28c080e53354c701df2f62","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.7.1.tgz","fileCount":26,"integrity":"sha512-1JqW3bpwjETbgf2MKLnXh3dreicjkL+a49h9BARxK+uaZ4Ql+K/wCn0wx3QrimDlGjmCd1ONqrQXlYYPQwCjFg==","signatures":[{"sig":"MEQCIEHhee0K6yfjRqsS6f2Y2D0kLkcmuwwKkxFYNnu8D4w6AiBcxUeLSCLe6aSszuXUNN90RS4XvFPTuMiB2UGYlPGgzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":476528},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"76d01e30e978fad75061d2bfe7783bb83d8e47f6","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"10.9.4","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.7.1_1773677085309_0.6228554275294751","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@firecms/neat","version":"0.8.0","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"MIT AND Commons-Clause","_id":"@firecms/neat@0.8.0","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"adfa10a4fedac8ba3ac7456d545042fb7c64fcc3","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.8.0.tgz","fileCount":26,"integrity":"sha512-gwvYd63voJa+ZtEt6SW3toJwVx9smisKuXE7vsXvZtlGPzsWpR1lzaltIsijuPkg8Qj/ybS2tEdsttWE7g2KsA==","signatures":[{"sig":"MEYCIQDor8TyzE9QNj/zj6KSwvyDTD2E4gml+l8hSm48CAUblQIhAJY59g2LCALMvej9KhWMpQN0lqQ11mV6S3EK1WZhGrtT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542662},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"63008b2dec9a9666849103ec6286c48892cd9f4d","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"10.9.4","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.8.0_1774885431961_0.7061235487327855","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@firecms/neat","version":"0.9.0","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"MIT AND Commons-Clause","_id":"@firecms/neat@0.9.0","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"4b4ef237f313052156914fa732e83cc2c4c5262f","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.9.0.tgz","fileCount":26,"integrity":"sha512-9TMY4Y9IV/S+ar05lRah5fz3XffqzK1nf/Zuf2V0lm29kM0jIyOqRVSyZtzTDbrZvF5GHnLvODyjR5SkEhkNrA==","signatures":[{"sig":"MEYCIQDWK05RhMrNTBDygnwqG70ynWSXDXDZO2YvfyR3u0azCwIhAIWsrj1YG47FyWd1XiDWFbVmmdxkWQSUH9FKlXtWtpLG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":867761},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"0a14dedde3c9bbc389bf4f94dcbd669c6c44e9d1","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"10.9.7","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.9.0_1780356570477_0.36213820641656835","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@firecms/neat","version":"0.9.1","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"MIT AND Commons-Clause","_id":"@firecms/neat@0.9.1","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"e030c3ea47a2e371b2763575e3c71033547d40cc","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.9.1.tgz","fileCount":26,"integrity":"sha512-Sc8iKkqjQ98YKQJFGFYdQHBo8P+c2+fEojtevVUBcZsjI4NeDqQI7reSpk/Zq3SUN16c5lknVaby9IrfiHproA==","signatures":[{"sig":"MEYCIQCZmUcG06T2NjItccE/fUpDI972JWlpmmfczfkmPj2P1AIhAKRdik2aNYYn2GBLWCCUtbxTLWqLliLOoo3uNzUflgOb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":889902},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"22ccb0f7bc17ce0d543043f83c4f015aa82cdeff","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.16.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.9.1_1781388636856_0.6269338374515883","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@firecms/neat","version":"0.9.2","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"MIT AND Commons-Clause","_id":"@firecms/neat@0.9.2","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"4faaede5bc30e985a9f8ff8332c417fb48641a53","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.9.2.tgz","fileCount":26,"integrity":"sha512-vjHyFn3Jbg7GIG3kjeBc078QoNfHt1IL63yLpM8hRr6R52WstuzzpcFjgxILAsKajP8UqOPxBh1F082vQn/qFA==","signatures":[{"sig":"MEUCIBcIqv/WpB8Qt2Y5CLUQdEKtZ2/9nRloNZeYJEiEFWfqAiEA8jsVInLCaYwFbjLkuL8v922vCulycPROayEgu+NhAco=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":891369},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"e5ad51697935ffc8660decf7345459ab8d2f814c","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.16.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.9.2_1781472041658_0.8562249784499778","host":"s3://npm-registry-packages-npm-production"}},"0.9.3-canary.20260615000629":{"name":"@firecms/neat","version":"0.9.3-canary.20260615000629","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"MIT AND Commons-Clause","_id":"@firecms/neat@0.9.3-canary.20260615000629","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"3bb70d64acd6988619d0a6b57a1fefed34cf5540","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.9.3-canary.20260615000629.tgz","fileCount":26,"integrity":"sha512-qTbjiyMcxfYw4eSAyTPz3Oj6Ou4R3Ze71CItehMDVbuV7I3MGjquQO3oUUJ0bVrXUeZ5jTqi3bxsitbc9kjWvQ==","signatures":[{"sig":"MEQCIF+CWVRYfuIk+nFGBzzBBq3PLHGe0d1mkGHln++YxTNLAiADGkN9rIfemQoZvgPhbKPCXkN9eadlX9GArPzbcRzn8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":941712},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"7ae8eb164c4697bada9739c53656c93a3dc32104","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.16.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.9.3-canary.20260615000629_1781474981445_0.8154220993947034","host":"s3://npm-registry-packages-npm-production"}},"0.9.3-canary.20260614235729":{"name":"@firecms/neat","version":"0.9.3-canary.20260614235729","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"MIT AND Commons-Clause","_id":"@firecms/neat@0.9.3-canary.20260614235729","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"90e2d3ee3251a2ed083955202a258ad7fb0b029f","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.9.3-canary.20260614235729.tgz","fileCount":30,"integrity":"sha512-/GkbOkZcEfy8qOmqQ5uZIMohDocy4R2La5EgxtlFiBu91MKKOPKFbjrjePQPRMBS1I1+u/OmszJQd0oYsMkqdA==","signatures":[{"sig":"MEYCIQC/ZES09CN1brfxM5NzSjbpWaxAX85RNGPJfiN5kbH3XAIhAJYDZ19PC4rKr5kOMMcxOT5t6w9xRMvG2HQM4SQurz+h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":975137},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"f5602ee683e90f23e5c5651fd3b0b8a072a8ed5e","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.16.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.9.3-canary.20260614235729_1781481597306_0.2347961452442222","host":"s3://npm-registry-packages-npm-production"}},"0.9.3-canary.20260615103956":{"name":"@firecms/neat","version":"0.9.3-canary.20260615103956","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"MIT AND Commons-Clause","_id":"@firecms/neat@0.9.3-canary.20260615103956","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"e8154975a32018d953280bf6ccbb46e3194afb5d","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.9.3-canary.20260615103956.tgz","fileCount":30,"integrity":"sha512-bsxnuO0nXUjEqN83iDwM+R80GXH9st50oS5wJ3o2gIN3bB5Yub+4vJ3G1i3X11JdmzjwJNlSfkg3XHDXHrD8rw==","signatures":[{"sig":"MEUCIQCSDG5coQNn+vJxNXyiApAE+tRULhSka89bgoE2Ic26wAIgMBtD82tj0U7GdhBAH1cXQJJBVjTE0RS8WjHitJpsNAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":979447},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"f5602ee683e90f23e5c5651fd3b0b8a072a8ed5e","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.16.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.9.3-canary.20260615103956_1781520262791_0.6528462398350188","host":"s3://npm-registry-packages-npm-production"}},"0.9.3-canary.20260615211214":{"name":"@firecms/neat","version":"0.9.3-canary.20260615211214","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"MIT AND Commons-Clause","_id":"@firecms/neat@0.9.3-canary.20260615211214","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"3581eb0cc0243ae551a4d87a126b15e8911d1e64","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-0.9.3-canary.20260615211214.tgz","fileCount":30,"integrity":"sha512-/Dt9ZvVm+3VVR10xyvONFbxN0bTCW2A5G4tt5gM99NHgrK0H/B/4UCnx+yiQDFujHR+TcIzZZ3H53hoiQb1ouw==","signatures":[{"sig":"MEUCICKjkqFLeQz6E+iUxjntTUw/bsK+R7Stp5pdetNVGWhJAiEA0SK/dzPW4OWzFTt8jJFtOrDg27acIZ+TuCxlCmGCj5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":857626},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"589219e5b7a9474cadeff0c6f096e1c3413592e7","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.16.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4"},"_npmOperationalInternal":{"tmp":"tmp/neat_0.9.3-canary.20260615211214_1781558614717_0.19043419275283546","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@firecms/neat","version":"1.0.0","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"SEE LICENSE IN LICENSE","_id":"@firecms/neat@1.0.0","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"bad8a32a0198e3c5a4730124f3051f0cc602cb7a","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-1.0.0.tgz","fileCount":30,"integrity":"sha512-XfPV/Eqshca+Er9ktT6qHx3gjjiBtlIAy8Q4om9/xtZ2J/i5O1EhADBU896rQDmoCZe90Pc9EhWJI7JkzBgZAg==","signatures":[{"sig":"MEYCIQC8j25huA7sABD8W4jEjoC+7CFQJOTfvKRYUOP+7HlxQgIhAPNmL4SpgTRlwW5g+9kbEK7cmJyqq0yNm3iyzoBYKvFj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":882974},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"dd8dbd63f67587fb68b919895e7a9591fd19b1fe","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.16.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4"},"_npmOperationalInternal":{"tmp":"tmp/neat_1.0.0_1781564676804_0.042832862000513394","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@firecms/neat","version":"1.0.1","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"SEE LICENSE IN LICENSE","_id":"@firecms/neat@1.0.1","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"22628f174372fd2452de1075aa43c7ad12b9bdfe","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-1.0.1.tgz","fileCount":30,"integrity":"sha512-9eKpzGh3odIXdKbRAzkD1q8+zwrJ3TKuh7vKh5twbbOQ6oKdjT0uhypeBeI4VRIv2GaLGGPKamKxd2kb4mkfTQ==","signatures":[{"sig":"MEUCIGK3Bo6ZeFPu/0sEH9L/qMRJ2DZTFA5CRM2rUcRXHTnCAiEAm4CIRnIiDQpI63aA9TMznIuMu8zO6a+GHkJJY+eaXV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":885033},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"b9ca975f5a0205e73059a7d916173a8123c4f60b","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.16.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4","@types/node":"^25.9.3"},"_npmOperationalInternal":{"tmp":"tmp/neat_1.0.1_1781819744208_0.44726473596962446","host":"s3://npm-registry-packages-npm-production"}},"1.0.2-canary.20260624122857":{"name":"@firecms/neat","version":"1.0.2-canary.20260624122857","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"SEE LICENSE IN LICENSE","_id":"@firecms/neat@1.0.2-canary.20260624122857","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"7da9ddb27bd9465900dcabde7a8cdd13743d36cc","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-1.0.2-canary.20260624122857.tgz","fileCount":30,"integrity":"sha512-AY6LvxyjodgILS/nycy0Gazn0vg7sRF7B6joaDz0UVJNH3nQp5iOPJ04ZA0AmZv2i0VylKg/Ped2hYNnoCvTqQ==","signatures":[{"sig":"MEQCIH+LbMA1gqQIT3IBXCzMq12wblUqVEHs8FoQ/5hWyaQrAiA7ibXNdqlx64oobBKGHvYvoDGTwXOcR4SfBVsZPmEFbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":894209},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"3ef83ed651a66b01894441120c37a72e98a7e51a","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.16.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4","@types/node":"^25.9.3"},"_npmOperationalInternal":{"tmp":"tmp/neat_1.0.2-canary.20260624122857_1782297197597_0.05716675027645435","host":"s3://npm-registry-packages-npm-production"}},"1.0.2-canary.20260629124312":{"name":"@firecms/neat","version":"1.0.2-canary.20260629124312","keywords":["webgl","3d","gradient","background"],"author":"Francesco Gatti","license":"SEE LICENSE IN LICENSE","_id":"@firecms/neat@1.0.2-canary.20260629124312","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"01829020c7d31c85d5162c6a4610b6fcfddeba94","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-1.0.2-canary.20260629124312.tgz","fileCount":30,"integrity":"sha512-FUsFa+J59Hx1hYUrZMoDwrJqYnFUYXkNqgzV3tmxP/3qV9QEL+i0huRJ9F3peODB35Be7QFCS3BftwvBIBa68A==","signatures":[{"sig":"MEUCIQDAmVUcWXZleHG6XCB67cS73At7khBzlO1aiIS/6J4qDAIgBdr7NuRK+T8pKG9sUJGlb/mfCnyUs90996/S4SQSF0g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":904098},"main":"./dist/index.umd.js","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","scripts":{"build":"vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4","@types/node":"^25.9.3"},"_npmOperationalInternal":{"tmp":"tmp/neat_1.0.2-canary.20260629124312_1782737123809_0.6590541625041577","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@firecms/neat","version":"1.0.2","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"SEE LICENSE IN LICENSE","_id":"@firecms/neat@1.0.2","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"a1b4e5cfc604f4ede497f1fdd627113488ca479d","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-1.0.2.tgz","fileCount":34,"integrity":"sha512-hP9Qqz3mPEgwMKOZygjkFMqDyKjrQwuSYt352+QJfg1SfAlGOfHzpQSeIAgeeLmdtSjE45zekBpnJPgtRhxclA==","signatures":[{"sig":"MEYCIQCoOSs8fRveewj7tSjTqDcJROYjOvTuR1w3oKKotDbYLQIhAN8acg2T0bOf2quRCZ7pccInIJJZwsjwjKhQ3m9IrUR/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":905329},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"b9688dfeb491d510dc76443dd75a32543d6c0c97","scripts":{"build":"node ./scripts/sync-version.js && vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.16.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4","@types/node":"^25.9.3"},"_npmOperationalInternal":{"tmp":"tmp/neat_1.0.2_1784652093418_0.8073741542855304","host":"s3://npm-registry-packages-npm-production"}},"1.0.3-canary.20260731173236":{"name":"@firecms/neat","version":"1.0.3-canary.20260731173236","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"SEE LICENSE IN LICENSE","_id":"@firecms/neat@1.0.3-canary.20260731173236","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"c6d9d63f8d884ad5c937f503fda1ee893b0a0d27","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-1.0.3-canary.20260731173236.tgz","fileCount":42,"integrity":"sha512-rQPpo/dOx3trBke1c9qC6riTPPxT18HrXZ25vaa50wtMDjqR0i0zEXWt6bIFlwyYvZf0oC+7rj29VCe3hkHZHg==","signatures":[{"sig":"MEYCIQDSTzM7iWNF3YZVifRp08MJI3wyu1TOkQBvH//KUVoHygIhAOHTyTeOzkSDp8oz39z8HpwVwXIjuZFueOGY3HY4usGB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1192981},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","gitHead":"351f516d0f4bef4506b87e5ea1605aba6c4968ba","scripts":{"build":"node ./scripts/sync-version.js && vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"11.16.0","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.22.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^3.1.4","typescript":"^4.8.4","@types/node":"^25.9.3"},"_npmOperationalInternal":{"tmp":"tmp/neat_1.0.3-canary.20260731173236_1785577256163_0.8987660025172257","host":"s3://npm-registry-packages-npm-production"}},"1.0.3-canary.20260916094552":{"name":"@firecms/neat","version":"1.0.3-canary.20260916094552","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"SEE LICENSE IN LICENSE","_id":"@firecms/neat@1.0.3-canary.20260916094552","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"89637bd346f420f085b261169e4e7087b41dc3e2","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-1.0.3-canary.20260916094552.tgz","fileCount":42,"integrity":"sha512-LB6U8zYD6Sa5DLmrYAXWXeObyXJXpfc6VpdocPgCrVcTbsMPGTdGItdfoQU5/0Y7RsCfh0/Bka74sb7v979l0g==","signatures":[{"sig":"MEQCIHn9zwgt1bYz4lVi2DqaiILYgTpdOP8jGqkx9oiFGNsrAiBV7ubw6FWsca21q7SCNQhX6hlw4EmZgTQ4X30QiUaLyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCdVSYYW97abPutuKCbCZJKgMaJIVkwaO1sZ9hNb96LsAIgbog3XaZD0mpjS5HEyb75sKaMwd6j3n29HlXcmGPNVtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1378427},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"_from":"file:/private/tmp/claude-501/-Users-francesco-rebase/52a8e2c5-e670-4efa-9cde-b38480dc6c5c/scratchpad/firecms-neat-1.0.3-canary.20260916094552.tgz","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","scripts":{"build":"node ./scripts/sync-version.js && vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"_resolved":"/private/tmp/claude-501/-Users-francesco-rebase/52a8e2c5-e670-4efa-9cde-b38480dc6c5c/scratchpad/firecms-neat-1.0.3-canary.20260916094552.tgz","_integrity":"sha512-LB6U8zYD6Sa5DLmrYAXWXeObyXJXpfc6VpdocPgCrVcTbsMPGTdGItdfoQU5/0Y7RsCfh0/Bka74sb7v979l0g==","repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"12.0.2","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.23.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^8.2.1","typescript":"^5.9.3","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_1.0.3-canary.20260916094552_1789552231437_0.9862135068497138","host":"s3://npm-registry-packages-npm-production"}},"1.0.3-canary.20260916111045":{"name":"@firecms/neat","version":"1.0.3-canary.20260916111045","keywords":["webgl","3d","gradient","background"],"author":{"name":"Francesco Gatti"},"license":"SEE LICENSE IN LICENSE","_id":"@firecms/neat@1.0.3-canary.20260916111045","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"homepage":"https://github.com/FireCMSco/neat#readme","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"4a5d4b5ec222213780b146bdad47941c684ccf99","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-1.0.3-canary.20260916111045.tgz","fileCount":42,"integrity":"sha512-pmvITNjC/aMUACHVphoBszvEOBK6LF/vvgEfIA0094rQM4/CAuJpFmg0FW2ZjOnMBLRtdYNNIuxeFclcPx9Lyg==","signatures":[{"sig":"MEUCIEwkSvn4lf6jxp/TauJTEf7e7rboPOI/lQpY5EbsQeWoAiEAkoXuOkCnpA4xA35+xu2CX8vXH6nA0H945NMsQe5pvYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCV02ctNFNNgr9ocNQc+QgG1516rsT914bS0H4aPGP3GgIhAPBUpPcsrC2V3k3+nLl3mIEt95MA/CQoXpCvXEoztyFr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1380154},"main":"./dist/index.umd.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"_from":"file:/private/tmp/claude-501/-Users-francesco-rebase/52a8e2c5-e670-4efa-9cde-b38480dc6c5c/scratchpad/firecms-neat-1.0.3-canary.20260916111045.tgz","types":"dist/index.d.ts","access":"public","module":"./dist/index.es.js","source":"src/index.ts","scripts":{"build":"node ./scripts/sync-version.js && vite build && tsc","start":"vite"},"_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"_resolved":"/private/tmp/claude-501/-Users-francesco-rebase/52a8e2c5-e670-4efa-9cde-b38480dc6c5c/scratchpad/firecms-neat-1.0.3-canary.20260916111045.tgz","_integrity":"sha512-pmvITNjC/aMUACHVphoBszvEOBK6LF/vvgEfIA0094rQM4/CAuJpFmg0FW2ZjOnMBLRtdYNNIuxeFclcPx9Lyg==","repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"12.0.2","description":"Beautiful 3D gradients for your website","directories":{},"_nodeVersion":"22.23.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^8.2.1","typescript":"^5.9.3","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/neat_1.0.3-canary.20260916111045_1789557405681_0.9162551784394666","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"_id":"@firecms/neat@1.1.0","bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"dist":{"shasum":"ea296c6e4888758d6e388e9c9ea0399dcd13cfa5","tarball":"https://registry.npmjs.org/@firecms/neat/-/neat-1.1.0.tgz","fileCount":42,"integrity":"sha512-cHeFNz5zw9YQ6dDrddm+gzZUSi50hLtk+hGFWAKXqi1MBeVglB58PidNp+OXtpnTAsuq1ou93TSjgqPGY6EQbw==","signatures":[{"sig":"MEUCIBaAOFLtxNsT7Qte/tm7uCnw4WG7N/QS7FRtwjT9B/0qAiEA/y2AKaJtAmdqu++rzkPAPqc6A4qjWWtt2DLQqH0rWsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGlZNSDLa7LSSblTVCHzS/W5+drL2Hk9e6nsgm8welHZAiEAhgK5HPDbiuECeMZO6yj+MSKcZoLTQBAv2kBzeTqpSE4="}],"unpackedSize":1381674},"main":"./dist/index.umd.js","name":"@firecms/neat","pnpm":{"onlyBuiltDependencies":["esbuild"]},"_from":"file:/private/tmp/claude-501/-Users-francesco-rebase/52a8e2c5-e670-4efa-9cde-b38480dc6c5c/scratchpad/firecms-neat-1.1.0.tgz","types":"dist/index.d.ts","access":"public","author":{"name":"Francesco Gatti"},"module":"./dist/index.es.js","source":"src/index.ts","license":"SEE LICENSE IN LICENSE","scripts":{"build":"node ./scripts/sync-version.js && vite build && tsc","start":"vite"},"version":"1.1.0","_npmUser":{"name":"gatti675","email":"francesco@firecms.co"},"homepage":"https://github.com/FireCMSco/neat#readme","keywords":["webgl","3d","gradient","background"],"_resolved":"/private/tmp/claude-501/-Users-francesco-rebase/52a8e2c5-e670-4efa-9cde-b38480dc6c5c/scratchpad/firecms-neat-1.1.0.tgz","_integrity":"sha512-cHeFNz5zw9YQ6dDrddm+gzZUSi50hLtk+hGFWAKXqi1MBeVglB58PidNp+OXtpnTAsuq1ou93TSjgqPGY6EQbw==","repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"_npmVersion":"12.0.2","description":"Beautiful 3D gradients for your website","directories":{},"maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"_nodeVersion":"22.23.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","typescript":"^5.9.3","@types/node":"^26.2.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/neat_1.1.0_1790032863779_0.5141415114469938"}}},"time":{"created":"2023-11-22T22:38:41.077Z","modified":"2026-09-21T23:21:04.555Z","0.1.0":"2023-11-22T22:38:41.345Z","0.1.1":"2023-11-22T23:01:10.557Z","0.1.2":"2023-11-22T23:17:49.199Z","0.1.3":"2023-11-24T00:34:41.473Z","0.1.4":"2023-11-24T13:11:30.529Z","0.1.5":"2023-11-30T01:57:28.035Z","0.2.0":"2024-02-28T14:33:07.172Z","0.2.1":"2024-02-28T15:45:04.600Z","0.2.2":"2024-05-08T12:02:06.624Z","0.3.0":"2024-10-14T16:50:17.759Z","0.4.0":"2025-04-18T00:51:14.925Z","0.5.0":"2025-12-17T20:32:16.131Z","0.5.1":"2026-01-15T17:48:52.035Z","0.6.0":"2026-03-02T15:28:26.644Z","0.7.0":"2026-03-16T15:58:24.049Z","0.7.1":"2026-03-16T16:04:45.539Z","0.8.0":"2026-03-30T15:43:52.140Z","0.9.0":"2026-06-01T23:29:30.688Z","0.9.1":"2026-06-13T22:10:37.044Z","0.9.2":"2026-06-14T21:20:41.791Z","0.9.3-canary.20260615000629":"2026-06-14T22:09:41.594Z","0.9.3-canary.20260614235729":"2026-06-14T23:59:57.437Z","0.9.3-canary.20260615103956":"2026-06-15T10:44:22.948Z","0.9.3-canary.20260615211214":"2026-06-15T21:23:34.892Z","1.0.0":"2026-06-15T23:04:36.977Z","1.0.1":"2026-06-18T21:55:44.349Z","1.0.2-canary.20260624122857":"2026-06-24T10:33:17.848Z","1.0.2-canary.20260629124312":"2026-06-29T12:45:23.994Z","1.0.2":"2026-07-21T16:41:33.637Z","1.0.3-canary.20260731173236":"2026-08-01T09:40:56.316Z","1.0.3-canary.20260916094552":"2026-09-16T09:50:31.541Z","1.0.3-canary.20260916111045":"2026-09-16T11:16:45.793Z","1.1.0":"2026-09-21T23:21:03.866Z"},"bugs":{"url":"https://github.com/FireCMSco/neat/issues"},"author":{"name":"Francesco Gatti"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/FireCMSco/neat#readme","keywords":["webgl","3d","gradient","background"],"repository":{"url":"git+https://github.com/FireCMSco/neat.git","type":"git"},"description":"Beautiful 3D gradients for your website","maintainers":[{"name":"gatti675","email":"francesco@firecms.co"}],"readme":"# 🌈 Neat Gradients\n\nCreate stunning, animated 3D gradients with hardware-accelerated WebGL performance.\n\n[![npm version](https://badge.fury.io/js/@firecms%2Fneat.svg)](https://www.npmjs.com/package/@firecms/neat)\n[![License: MIT + Commons Clause](https://img.shields.io/badge/License-MIT%20%2B%20Commons%20Clause-lightgrey.svg)](https://github.com/FireCMSco/neat/blob/main/LICENSE)\n\n**✨ [Try the Interactive Editor](https://neat.firecms.co/) ✨**\n\nDesign your perfect gradient with our visual editor, featuring 20+ presets and real-time preview. Export the config and use it in your project instantly.\n\n![Neat Gradient Examples](https://neat.firecms.co/og_image_v3.png)\n\n---\n\n## 📦 Installation\n\n```bash\nnpm install @firecms/neat\n```\n\nor\n\n```bash\nyarn add @firecms/neat\n```\n\n---\n\n## 🚀 Quick Start\n\n### Basic Usage\n\n```typescript\nimport { NeatGradient } from \"@firecms/neat\";\n\nconst gradient = new NeatGradient({\n    ref: document.getElementById(\"canvas\"),\n    colors: [\n        { color: \"#FF5772\", enabled: true },\n        { color: \"#4CB4BB\", enabled: true },\n        { color: \"#FFC600\", enabled: true },\n        { color: \"#8B6AE6\", enabled: true },\n        { color: \"#2E0EC7\", enabled: true }\n    ],\n    speed: 4,\n    waveAmplitude: 5,\n    backgroundColor: \"#003FFF\",\n    backgroundAlpha: 1\n});\n\n// Clean up when done (important for React, Vue, etc.)\ngradient.destroy();\n```\n\n### React Example\n\n```tsx\nimport { useEffect, useRef } from \"react\";\nimport { NeatGradient, NeatConfig } from \"@firecms/neat\";\n\nfunction BackgroundGradient() {\n    const canvasRef = useRef<HTMLCanvasElement>(null);\n    const gradientRef = useRef<NeatGradient | null>(null);\n\n    useEffect(() => {\n        if (!canvasRef.current) return;\n\n        gradientRef.current = new NeatGradient({\n            ref: canvasRef.current,\n            colors: [\n                { color: \"#FF5772\", enabled: true },\n                { color: \"#4CB4BB\", enabled: true },\n                { color: \"#FFC600\", enabled: true }\n            ],\n            speed: 3,\n            waveAmplitude: 5\n        });\n\n        return () => gradientRef.current?.destroy();\n    }, []);\n\n    return (\n        <canvas\n            ref={canvasRef}\n            style={{\n                position: \"fixed\",\n                top: 0,\n                left: 0,\n                width: \"100%\",\n                height: \"100%\",\n                zIndex: -1\n            }}\n        />\n    );\n}\n```\n\n---\n\n## ⚙️ Configuration API\n\n### Core Animation\n\n| Property | Type | Default | Range | Description |\n|----------|------|---------|-------|-------------|\n| `speed` | `number` | `4` | `0-10` | Animation speed (0 = static) |\n| `waveAmplitude` | `number` | `3` | `0-10` | Wave height intensity |\n| `waveFrequencyX` | `number` | `5` | `0-10` | Horizontal wave frequency |\n| `waveFrequencyY` | `number` | `5` | `0-10` | Vertical wave frequency |\n\n### Colors\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `colors` | `NeatColor[]` | Required | Array of color objects (up to 6) |\n| `colorBlending` | `number` | `5` | How colors mix together (0-10) |\n| `colorBrightness` | `number` | `1` | Overall brightness multiplier |\n| `colorSaturation` | `number` | `0` | Color saturation adjustment (-10 to 10) |\n| `horizontalPressure` | `number` | `3` | Horizontal color distribution (0-10) |\n| `verticalPressure` | `number` | `3` | Vertical color distribution (0-10) |\n\n**Color Object:**\n```typescript\n{\n    color: string;      // Hex color (e.g., \"#FF5772\")\n    enabled: boolean;   // Toggle color on/off\n    influence?: number; // Color strength (0-1, optional)\n}\n```\n\n### Visual Effects\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `shadows` | `number` | `4` | Shadow intensity (0-10) |\n| `highlights` | `number` | `4` | Highlight intensity (0-10) |\n| `grainIntensity` | `number` | `0.55` | Film grain amount (0-1) |\n| `grainScale` | `number` | `2` | Grain size |\n| `grainSparsity` | `number` | `0.0` | Grain distribution sparsity (0-1) |\n| `grainSpeed` | `number` | `0.1` | Grain animation speed |\n| `wireframe` | `boolean` | `false` | Show wireframe mesh |\n\n### Advanced Shaders & Post-Processing\n\n#### Domain Warping\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `domainWarpEnabled` | `boolean` | `false` | Enable domain warping distortion |\n| `domainWarpIntensity` | `number` | `0.5` | Strength of domain warping |\n| `domainWarpScale` | `number` | `1.0` | Spatial frequency scale of warping |\n\n#### Vignette\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `vignetteIntensity` | `number` | `0.0` | Darkness intensity at corners (0-1) |\n| `vignetteRadius` | `number` | `0.8` | Radial falloff start distance |\n\n#### Fresnel (Rim Glow)\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `fresnelEnabled` | `boolean` | `false` | Enable glowing outer edge shader effect |\n| `fresnelPower` | `number` | `2.0` | Falloff exponent of the rim glow |\n| `fresnelIntensity` | `number` | `0.5` | Brightness of the glow effect |\n| `fresnelColor` | `string` | `\"#FFFFFF\"` | Color of the rim glow (hex) |\n\n#### Iridescence\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `iridescenceEnabled` | `boolean` | `false` | Enable soap-bubble style color shifting |\n| `iridescenceIntensity` | `number` | `0.5` | Strength of the color shift effect |\n| `iridescenceSpeed` | `number` | `1.0` | Color cycle speed |\n\n#### Bloom (Fake Glow)\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `bloomIntensity` | `number` | `0.0` | Intensity of the glow bleeding from highlights |\n| `bloomThreshold` | `number` | `0.7` | Brightness threshold for bloom candidate pixels |\n\n#### Chromatic Aberration\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `chromaticAberration` | `number` | `0.0` | Lens color channel splitting distance |\n\n### 3D Geometries & Shapes\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `shapeType` | `'plane' \\| 'sphere' \\| 'torus' \\| 'cylinder' \\| 'ribbon'` | `'plane'` | 3D shape geometry to render the gradient on |\n| `shapeRotationX` | `number` | `0` | Manual X rotation (radians) |\n| `shapeRotationY` | `number` | `0` | Manual Y rotation (radians) |\n| `shapeRotationZ` | `number` | `0` | Manual Z rotation (radians) |\n| `shapeAutoRotateSpeedX` | `number` | `0` | Auto-rotation speed on X-axis |\n| `shapeAutoRotateSpeedY` | `number` | `0` | Auto-rotation speed on Y-axis |\n| `sphereRadius` | `number` | `15` | Radius of the sphere shape |\n| `torusRadius` | `number` | `15` | Torus primary ring radius |\n| `torusTube` | `number` | `5` | Torus inner tube thickness |\n| `cylinderRadius` | `number` | `10` | Radius of the cylinder shape |\n| `cylinderHeight` | `number` | `40` | Height of the cylinder shape |\n| `planeBend` | `number` | `0` | Bending distortion applied to the plane geometry |\n| `planeTwist` | `number` | `0` | Twisting distortion applied to the plane geometry |\n| `silhouetteFade` | `number` | `0.25` | Edge transparency fade for sphere/torus |\n| `cylinderFade` | `number` | `0.08` | Transparency fade towards the ends of the cylinder |\n| `ribbonFade` | `number` | `0.05` | Transparency fade towards the ends of the ribbon |\n| `flatShading` | `boolean` | `true` | Use flat shading for geometry normals |\n\n### Camera Settings\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `cameraLock` | `boolean` | `false` | Lock camera controls and prevent drag rotation |\n| `cameraX` | `number` | `0` | Camera offset along X-axis |\n| `cameraY` | `number` | `0` | Camera offset along Y-axis |\n| `cameraZ` | `number` | `0` | Camera offset along Z-axis |\n| `cameraRotationX` | `number` | `0` | Camera pitch rotation (radians) |\n| `cameraRotationY` | `number` | `0` | Camera yaw rotation (radians) |\n| `cameraRotationZ` | `number` | `0` | Camera roll rotation (radians) |\n| `cameraZoom` | `number` | `1.0` | Camera zoom factor |\n\n### Background\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `backgroundColor` | `string` | `\"#FFFFFF\"` | Background color (hex) |\n| `backgroundAlpha` | `number` | `1` | Background opacity (0-1) |\n\n### Performance\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `resolution` | `number` | `1` | Mesh density (0.1-2, lower = better performance) |\n| `renderScale` | `number` | `1` | Drawing buffer size relative to the canvas' CSS size (0.1-3) |\n\n**`resolution` is mesh density, not pixel resolution.** It scales the displacement\ngrid — 240x240 segments for a plane at `1`, 120x120 for the 3D shapes. Most of the\nper-frame cost is in the vertex shader, so this is the first thing to turn down.\nThe grid is also capped to roughly one segment per 6 canvas pixels, so a small\ncanvas never pays for detail it cannot show.\n\n**`renderScale` is the pixel one.** At `0.75` the gradient renders 44% fewer pixels\nand the browser scales the result up — usually invisible behind content, and the\ncheapest win on low-end devices. It needs the canvas to be sized by CSS; if the\nlayout size comes from the width/height attributes, scaling is ignored (with a\nwarning) so the element cannot shrink itself on every resize.\n\n**`speed: 0` costs nothing.** With the clock stopped every frame would be identical,\nso the render loop parks itself and only wakes when you change a property. A static\ngradient is a one-off render, not a 60fps redraw of the same image.\n\n### Scroll Integration\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `yOffset` | `number` | `0` | Vertical scroll offset |\n| `yOffsetWaveMultiplier` | `number` | `4` | How much scroll affects waves (0-20) |\n| `yOffsetColorMultiplier` | `number` | `4` | How much scroll affects colors (0-20) |\n| `yOffsetFlowMultiplier` | `number` | `4` | How much scroll affects flow field (0-20) |\n\n### Flow Field (Distortion)\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `flowEnabled` | `boolean` | `true` | Enable flow field distortion |\n| `flowDistortionA` | `number` | `0` | Primary distortion amplitude |\n| `flowDistortionB` | `number` | `0` | Secondary distortion frequency |\n| `flowScale` | `number` | `1` | Overall flow field scale |\n| `flowEase` | `number` | `0` | Flow field smoothing (0-1) |\n\n### Procedural Texture Overlay\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `enableProceduralTexture` | `boolean` | `false` | Enable texture overlay |\n| `textureMode` | `'bitmap' \\| 'baked'` | `'bitmap'` | How the texture is drawn — see below |\n| `textureBakeResolution` | `number` | `0` | Baked texture size; 0 derives it from the canvas |\n| `bakeEdgeSoftness` | `number` | `1` | Antialiasing width when baking, in output texels |\n| `textureVoidLikelihood` | `number` | `0.45` | Gap frequency in texture (0-1) |\n| `textureVoidWidthMin` | `number` | `200` | Minimum gap width |\n| `textureVoidWidthMax` | `number` | `486` | Maximum gap width |\n| `textureBandDensity` | `number` | `2.15` | Texture band density |\n| `textureColorBlending` | `number` | `0.01` | Color mixing in texture (0-1) |\n| `textureSeed` | `number` | `333` | Random seed for texture |\n| `textureEase` | `number` | `0.5` | Flow/Image blend (0=flow, 1=image) |\n| `transparentTextureVoid` | `boolean` | `false` | Render voids as transparent instead of using proceduralBackgroundColor |\n| `proceduralBackgroundColor` | `string` | `\"#000000\"` | Texture void color |\n| `textureShapeTriangles` | `number` | `20` | Number of triangle shapes |\n| `textureShapeCircles` | `number` | `15` | Number of circle shapes |\n| `textureShapeBars` | `number` | `15` | Number of bar shapes |\n| `textureShapeSquiggles` | `number` | `10` | Number of squiggle shapes |\n\n#### Bitmap vs baked\n\n`textureMode` decides how the shapes above are drawn into the texture. Both\nmodes read the same generated artwork, so a given `textureSeed` produces the\nsame composition either way, and both end up as an ordinary mipmapped texture —\nruntime cost is identical. What differs is how sharp that texture is.\n\n**`bitmap`** (default) draws the shapes through Canvas2D at a hardcoded 1024px.\nEdges land on that grid, so once the camera magnifies the texture they soften\nand diagonals show the stair-stepping of the grid they were drawn on.\n\n**`baked`** rasterizes the same shapes analytically on the GPU: exact per-pixel\nedge coverage, at a resolution derived from the canvas rather than fixed. It is\nalso the faster of the two to generate — around 20 ms against 35 ms for the\nCanvas2D path on a full-screen hero, because it skips the CPU drawing and the\nupload.\n\n| | `bitmap` | `baked` |\n|---|---|---|\n| resolution | 1024, always | from canvas, 1024–2048 (4096 opt-in) |\n| edge quality | Canvas2D antialiasing | exact analytic coverage |\n| generation | ~35 ms | ~20 ms |\n| runtime | one texture fetch | one texture fetch |\n| memory | ~5.5 MB | ~22 MB at 2048 |\n\nThree limits to know about:\n\n- **Squiggles are not supported when baking** and are dropped with a warning.\n  Cubic Béziers have no closed-form distance function, so they would cost\n  roughly ten times what every other shape does.\n- **`baked` needs WebGL2** (`texelFetch` and float textures) and falls back to\n  `bitmap` otherwise. Read `activeTextureMode` for the mode actually in use.\n- **Memory is per instance.** WebGL textures cannot be shared across contexts,\n  and every `NeatGradient` has its own canvas and context, so a page with\n  several of them pays for each. That is why the default caps at 2048 rather\n  than 4096; raise `textureBakeResolution` deliberately.\n\n```js\nconst gradient = new NeatGradient({\n    ref: canvas,\n    enableProceduralTexture: true,\n    textureMode: \"baked\",\n    textureShapeSquiggles: 0,   // not available when baking\n    textureBakeResolution: 0,   // 0 = derive from the canvas\n    bakeEdgeSoftness: 1.0,      // antialiasing width, in output texels\n    // ...\n});\n\ngradient.activeTextureMode; // 'baked', or 'bitmap' if it had to fall back\ngradient.textureMode = \"bitmap\"; // switchable at runtime\n```\n\n---\n\n## 🛠️ API Methods\n\n### `destroy()`\n\nCleans up the WebGL context, event listeners, and removes any injected DOM elements. Call this when the component unmounts to prevent memory leaks (essential for React, Vue, etc.).\n\n```typescript\ngradient.destroy();\n```\n\n---\n\n## 🎨 Dynamic Property Updates\n\nAll properties can be updated in real-time:\n\n```typescript\n// Animation\ngradient.speed = 6;\ngradient.waveAmplitude = 8;\n\n// Colors\ngradient.colors = [\n    { color: \"#FF0000\", enabled: true },\n    { color: \"#00FF00\", enabled: true }\n];\n\n// 3D Shape Geometries & Auto-Rotation\ngradient.shapeType = \"sphere\";\ngradient.shapeAutoRotateSpeedY = 1.5;\n\n// Advanced Post-Processing Effects\ngradient.iridescenceEnabled = true;\ngradient.fresnelEnabled = true;\ngradient.fresnelColor = \"#FF0055\";\n\n// Effects\ngradient.grainIntensity = 0.5;\n\n// Texture\ngradient.enableProceduralTexture = true;\ngradient.textureEase = 0.7;\n```\n\n## 🪞 One gradient, many canvases\n\nBrowsers only grant a handful of live WebGL contexts, and every extra `NeatGradient`\nruns its own shader. So don't create one per card — create **one** gradient and mirror\nit into as many plain 2D canvases as you like. Each mirror can show a different crop,\nthey all stay perfectly in sync, and the cost per mirror is a GPU copy instead of a\nsecond render.\n\nThis is exactly how the [editor](https://neat.firecms.co) previews a gradient as a\nwebsite hero, a phone screen and a row of avatars at the same time.\n\nThe source gradient needs `preserveDrawingBuffer: true` — without it the drawing buffer\nis cleared after compositing and there is nothing left to copy:\n\n```typescript\nimport { NeatGradient } from \"@firecms/neat\";\n\nconst source = document.getElementById(\"source\") as HTMLCanvasElement;\n\nconst gradient = new NeatGradient({\n    ref: source,\n    preserveDrawingBuffer: true,   // required to read the canvas from outside its own frame\n    colors: [\n        { color: \"#FF5772\", enabled: true },\n        { color: \"#4CB4BB\", enabled: true },\n        { color: \"#FFC600\", enabled: true }\n    ]\n});\n```\n\nThen mirror regions of it wherever you want:\n\n```typescript\ntype MirrorOptions = {\n    cx?: number;    // horizontal centre of the crop, 0–1\n    cy?: number;    // vertical centre of the crop, 0–1\n    zoom?: number;  // 1 shows as much as fits, 2 shows half\n    fps?: number;   // refresh rate — drop it for small decorative mirrors\n};\n\nfunction mirror(target: HTMLCanvasElement, options: MirrorOptions = {}) {\n    const { cx = 0.5, cy = 0.5, zoom = 1, fps = 60 } = options;\n    const ctx = target.getContext(\"2d\");\n    const interval = 1000 / fps;\n    let raf = 0;\n    let last = 0;\n\n    const draw = (now: number) => {\n        raf = requestAnimationFrame(draw);\n        if (!ctx || now - last < interval) return;\n        last = now;\n\n        const dpr = Math.min(window.devicePixelRatio || 1, 2);\n        const w = Math.round(target.clientWidth * dpr);\n        const h = Math.round(target.clientHeight * dpr);\n        if (!w || !h || !source.width || !source.height) return;\n        if (target.width !== w || target.height !== h) {\n            target.width = w;\n            target.height = h;\n        }\n\n        // Largest crop of the source matching the target's aspect ratio, then zoomed\n        const aspect = w / h;\n        let cropW = source.width;\n        let cropH = source.width / aspect;\n        if (cropH > source.height) {\n            cropH = source.height;\n            cropW = source.height * aspect;\n        }\n        cropW /= zoom;\n        cropH /= zoom;\n\n        const sx = Math.min(Math.max(cx * source.width - cropW / 2, 0), source.width - cropW);\n        const sy = Math.min(Math.max(cy * source.height - cropH / 2, 0), source.height - cropH);\n\n        ctx.clearRect(0, 0, w, h);\n        ctx.drawImage(source, sx, sy, cropW, cropH, 0, 0, w, h);\n    };\n\n    raf = requestAnimationFrame(draw);\n    return () => cancelAnimationFrame(raf);\n}\n\n// A hero, a tight crop for a card, and a slow-refreshing avatar\nmirror(document.getElementById(\"hero\") as HTMLCanvasElement);\nmirror(document.getElementById(\"card\") as HTMLCanvasElement, { cx: 0.3, cy: 0.4, zoom: 1.7 });\nmirror(document.getElementById(\"avatar\") as HTMLCanvasElement, { cx: 0.7, cy: 0.6, zoom: 10, fps: 10 });\n```\n\n**Things worth knowing**\n\n- The source canvas must stay laid out. `display: none` collapses it to zero size and\n  the gradient stops rendering — hide it with `position: fixed; inset: 0; z-index: -1`\n  behind your content, or cover it with an opaque layer, instead.\n- Use one `requestAnimationFrame` loop for all mirrors rather than one each; the example\n  above is per-mirror for clarity, but a shared ticker iterating a list scales better.\n- `drawImage` from a WebGL canvas is a cross-context copy — cheap on desktop, noticeable\n  on phones. There, cap the device pixel ratio at 1 and run mirrors at 30 fps, and give\n  small decorative ones (avatars, icons) 10 fps. Nobody can tell on a 40px circle.\n- Mirrors are ordinary canvases, so they take `border-radius`, `mask-image`, `filter`\n  and anything else CSS offers. A tiny mirror blurred to nothing makes a good ambient\n  glow behind a layout.\n- Only the source needs `preserveDrawingBuffer`. It is also what makes\n  `downloadAsPNG()` and video capture work.\n\n---\n\n## 📖 TypeScript Support\n\nFull TypeScript definitions included:\n\n```typescript\nimport { NeatGradient, NeatConfig, NeatColor, NeatController } from \"@firecms/neat\";\n\nconst config: NeatConfig = {\n    // ... fully typed config\n};\n\nconst gradient: NeatController = new NeatGradient(config);\n```\n\n---\n\n## 📄 License\n\nNeat is released under the **MIT License + The Commons Clause**.\n\n**You can:**\n- ✅ Use freely in personal projects\n- ✅ Use freely in commercial projects (e.g. SaaS landing pages, company websites)\n- ✅ Modify and redistribute (with attribution)\n- ✅ Use in open-source projects\n\n**You CANNOT:**\n- ❌ Sell the software\n- ❌ Include it in a paid template or theme builder that you sell\n- ❌ Offer the software as a paid service\n\n### Remove the NEAT Watermark\n\nPurchase a license key for **€12 one-time** (per domain) to remove the NEAT watermark and console branding.\n\n**[Buy a license →](https://neat.firecms.co)**\n\nThen pass the key in your config:\n\n```typescript\nconst gradient = new NeatGradient({\n    ref: canvas,\n    colors: [...],\n    licenseKey: \"NEAT-eyJ0eXBlI...\"  // Your license key\n});\n```\n\nEach key is locked to the domain you specify at checkout (subdomains included). Development on `localhost` always works without a key.\n\nThe same key removes the watermark from PNG and video exports in the [editor](https://neat.firecms.co): click **PRO**, then **Activate your key**, and paste it in.\n\n---\n\n## 🙏 Credits\n\nCreated by [FireCMS](https://firecms.co) with ❤️\n\n---\n\n## 🐛 Issues & Contributing\n\nFound a bug or have a feature request?\n\n- **Issues:** [GitHub Issues](https://github.com/FireCMSco/neat/issues)\n- **Discussions:** [GitHub Discussions](https://github.com/FireCMSco/neat/discussions)\n\n---\n\n## 🔗 Links\n\n- 🌐 [Website & Editor](https://neat.firecms.co)\n- 📦 [npm Package](https://www.npmjs.com/package/@firecms/neat)\n- 💻 [GitHub Repository](https://github.com/FireCMSco/neat)\n- 💬 [Discord Community](https://discord.gg/fxy7xsQm3m)\n\n---\n\n**Made with ✨ by the FireCMS team**\n","readmeFilename":"README.md"}