{"_id":"@carbonplan/zarr-layer","_rev":"27-30f197504fda1fe6d2423ac8ff5c79cc","name":"@carbonplan/zarr-layer","dist-tags":{"latest":"0.10.0"},"versions":{"0.0.1":{"name":"@carbonplan/zarr-layer","version":"0.0.1","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.0.1","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"24accb611fe6dca4a4c096a0f6e01033d79df35e","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.0.1.tgz","fileCount":9,"integrity":"sha512-/fUxCy3yyX7i8mfbaF9p+jGFQ+y5LQWR/ZhOU4gt6zEQgFexwlXoY4/wdJqn1zVC2Co4BKvUB4UXbh57/MDBkQ==","signatures":[{"sig":"MEYCIQCLHl6r0b+eqSibFD02ixPwa+mfoUvyYaWjnltrc9rCagIhAO7wtGGpMI+qCbp8TxqavkWHndEL4/9X4Ntpu0mq8U1V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7486344},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"507599c9b39ed9bcaef6e87a2966b7f73ed9da48","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"zarrita":"^0.5.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","prettier":"^2.2.1","typescript":"^5.6.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.0.1_1766078893270_0.1031275841631285","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@carbonplan/zarr-layer","version":"0.0.2","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.0.2","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"553b0c23648d0944d007770659235e33ef7f133f","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.0.2.tgz","fileCount":9,"integrity":"sha512-z5HUOVzqYdN8sGGp1MJV4Y2aLLxNtyw/2KXVSF8Gv2qmyWar9sB0CSlQUMMB+JVrEFm21Ck6GJFy4sNteKjMbA==","signatures":[{"sig":"MEYCIQDJxYKLJFTiq7Og3OqF9kMd/vbPKnPe5YuGV4bJnVM6xwIhAJW/T1Wk+/OT2cCb8zQse2irKj5SpqlCr3ty5J8tmbV3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7575192},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"b20d0ccee4f4cee27e0175532fd8679419c21802","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"zarrita":"^0.5.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","prettier":"^2.2.1","typescript":"^5.6.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.0.2_1766177672775_0.6127184553259502","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@carbonplan/zarr-layer","version":"0.1.0","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.1.0","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"425014837223c7d79ff2ffdc11fa364e68e2ba5b","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.1.0.tgz","fileCount":9,"integrity":"sha512-1/5Magq/IemhyoJGg/2LvWZsXzOISV0UIxcOlM8Jhil/8VBi7rq+au/2GPiNGFFgKuRF94sVSy1xhhOjH9DOAg==","signatures":[{"sig":"MEUCIDXEAV+NBr7WVBguXytdmBZwMMRLXH8fYrGHnDw4kEtLAiEAgSyVxiuyodWCPH+tvCR0K/uNj14QznVbLMBMnUQCgGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7702400},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"5eacde95aabcea592988b35d4e8e1143c3b24709","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.5.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","prettier":"^2.2.1","typescript":"^5.6.3","@types/proj4":"^2.5.6","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.1.0_1766778993369_0.8623778540230642","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@carbonplan/zarr-layer","version":"0.1.1","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.1.1","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"5901b8f38decd1fbd6892fce6698a20ed2aaa6dc","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.1.1.tgz","fileCount":9,"integrity":"sha512-j01rWwNw/Vg+bCJ+7KT96CNNg7t56/HFpED7sFGW69C/Czka29H5M0B/6lsCGTS4hQtegrdJ19SiY9zJ/zTPSw==","signatures":[{"sig":"MEYCIQDWwIfHBvKsvrcXnqPFoaDRIaT5beWKzJKS7Wr/fHKvqQIhAL61Sar9heyUme8jvS9h0Iv9RqrguRGxJaUn13feBJuC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7741084},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"8fbe7b4e39354c49d6bee2c31cc266a6403abf46","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.5.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","typescript":"^5.6.3","lint-staged":"^16.2.7","@types/proj4":"^2.5.6","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.1.1_1767117032507_0.2029841838190607","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@carbonplan/zarr-layer","version":"0.2.0","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.2.0","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"01f21fd4f58dcdce75f852a0ad3e5c0e8ee45041","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.2.0.tgz","fileCount":9,"integrity":"sha512-/xgFl7tT9J9XxhDzCL+r9MjzP1aLg+myFDtbV5zb3kL/TObe0YGnwr12cq+6B3/qAxjJAGYfON7PB/J6MOZYnA==","signatures":[{"sig":"MEUCIEk4J4tqR4/BuVyTevNj0b9LhrM/tplXVqfTRdoU7aFrAiEAkXA9c+kkVKHtnqqhV86Op/487+YCkNgU+TJVQAOj+Js=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7792618},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"fa744194a6a7b177de2f8435fc0bc1bab76a09a3","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.5.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","typescript":"^5.6.3","lint-staged":"^16.2.7","@types/proj4":"^2.5.6","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.2.0_1767921195106_0.6539581642726218","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@carbonplan/zarr-layer","version":"0.2.1","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.2.1","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"d4e0d493f785e967942c0311056cead5d06b96b0","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.2.1.tgz","fileCount":9,"integrity":"sha512-5AF5lloB9TWPAIVDoViNNrg7nc1ZK9ST97Mi1PcSOCwEg7brFhiwqod6LEuYEXX4LZlA3UTnduN+mi4bLt9Ygw==","signatures":[{"sig":"MEQCIAmiQdinUZcqp7XvoR/lbd3wRi/ugWD2Z6vkuddrjEt7AiAcQU/UD4JJBR6oEdoc/j1ZezTTxpP3mUow8B19o+sZ5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7792930},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"a605d6006ea3a6ea9e6ee8f8a1ab1224e5a0551e","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.5.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","typescript":"^5.6.3","lint-staged":"^16.2.7","@types/proj4":"^2.5.6","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.2.1_1767922580243_0.997487246422778","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@carbonplan/zarr-layer","version":"0.2.2","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.2.2","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"e4b2bc03b5d31c12869dbe0de8049d0116616783","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.2.2.tgz","fileCount":9,"integrity":"sha512-XOE6s4ARn/mujknXg/mdM3GMzkOV4HuSyBP/QfZ60671RI8u9s2LyCMWTwaae/cxVsg4n1sTX1DVO2WDgh09kA==","signatures":[{"sig":"MEUCIFT4VIcnzdd738Ny6E2W1MzR3eFRnwiDfDvUYw0aH3lYAiEAhe9ZMHW1iD4UvCeDOMocqYNUdHXYW2hOVhqDqcJjI7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7815148},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ecbd5fbdb6d9109d9e53cb57fc3dbdf6ad7ea1fa","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.5.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","typescript":"^5.6.3","lint-staged":"^16.2.7","@types/proj4":"^2.5.6","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.2.2_1767938816150_0.7340918797677165","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@carbonplan/zarr-layer","version":"0.2.3","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.2.3","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"15116ef70a0a889f3599c776e9e5c64a79edb7fb","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.2.3.tgz","fileCount":9,"integrity":"sha512-ItZ5lVLpnMXK+HFSp/0KoK2ddBbxTgqtewdoER4YIkTlzK/GNzABxEWI6Y4jV2v6Vb/frnOvm3liwTw0YGpeEQ==","signatures":[{"sig":"MEYCIQDrbhB1vxKyVGzvRcI+SELtmKgxLRP2Rn9jMTGTFD5FcQIhAMwQ86Ne76si1GJFZWbkau1D5Hw5WgTBYakydDPw0YX8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7815582},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"42bce6daa8cc1c1c544e34a96e59ec34f64582bd","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.5.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.2.3_1767989814793_0.08496406949270807","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@carbonplan/zarr-layer","version":"0.2.4","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.2.4","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"ffb3c56fc0c580fcb69fa8ef0bc056d193767113","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.2.4.tgz","fileCount":9,"integrity":"sha512-oCpf0fI/ydIaoDVpC8ZsOEabs9gSWjJ9kuYtLD/Nmtyl01zdbsV7XyfvX8st9+1d88reR+NCGFDN9VNhIBsDcA==","signatures":[{"sig":"MEYCIQDCLHM8YR8rfoKRu0KU5Wa4WAKcZjPT8DEtsNE9KetFOAIhALqvOd5U3M9KdHPh11aKL53YBKDMR5+ti0kyIYBlw+Af","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7817218},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"83f94cce317333bb661f2cec83295992053e66f7","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.5.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.2.4_1768000959246_0.9115327174611358","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@carbonplan/zarr-layer","version":"0.2.5","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.2.5","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"ea2a28817e9d8a565bca1fdc4c1db0703379e88e","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.2.5.tgz","fileCount":9,"integrity":"sha512-zWf5arkwmb8Nasvnk42EsoEEGojvmshPRv1Jv59+j+hkWBQfq5bO8qLyS8c08EfY7yNmt/F9Kmc9J4lORSbWkg==","signatures":[{"sig":"MEUCID3Gfd6UT4o9xleyvJwA0JEwh5v2Yy9C6DP7TvO7x+xHAiEAhN1uW/3zTUM6Zmyuf669M3/DfANDfu67X0abwXUcGpE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7817830},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4c7b2185a8a0e32c4736bf04c7e4dbdbc6f658a7","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.5.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.2.5_1768366591658_0.41069093370062415","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@carbonplan/zarr-layer","version":"0.3.0","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.3.0","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"d3a7a7afef0af1320cd66fb0302bc58d6cccb17d","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.3.0.tgz","fileCount":9,"integrity":"sha512-jAB/+1aTFkyGldUlg45V4kSy4vkz+OLWrNtdxNNVGn+6zJPhI72hYF3aOHOVbHEH1zBocla/SmBwYtZFwRbZTg==","signatures":[{"sig":"MEUCIHbx7kdAF5Vm2IjdTx9Y4dxYqRyw2jWbpgac1jyh8GiaAiEAj4LuaTSgC3XInL6EArANJLPIvCseKa20im8HpXszR7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7930609},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"24d5713cb108cfe52da17b3c6d140d908a9223cc","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.5.4","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.3.0_1769029420245_0.3947031211692562","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@carbonplan/zarr-layer","version":"0.3.1","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.3.1","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"ca620bc0740aca423165c7dc404ae008c5f01903","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.3.1.tgz","fileCount":9,"integrity":"sha512-lXca1C+s+/lmB81uoPxj0uf72A0lavU/k28lpTskdt5SPWH0ALjy3qzsWR0F/eGP0Me/wgMdPto9B7YuJl1fEg==","signatures":[{"sig":"MEUCIQCOxoRdb/+y8hmH/4TLK7XWM0ZXnhkf6hGPtJSdCt+45QIgLsium0785Q4X30+hJOaP1eZfpbBI30M8x+7Pob0qDaE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7931649},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"c65128d90bf11a5242c4925b09dccb17f3879716","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.5.4","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.3.1_1769057389484_0.5735125518401982","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@carbonplan/zarr-layer","version":"0.4.0","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.4.0","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"9f66e9a0e15d42541b50d3fdf91658242438b868","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.4.0.tgz","fileCount":6,"integrity":"sha512-nLJOCPbHJAg3N3NgYVHRWK4oKs0v4+OY/QAv45Dnvsopd8BnJYNEo0kD2j3QgSUBL7TJky395ipFlJ/0xEcY1w==","signatures":[{"sig":"MEQCIDLcsYqvQANPoLKygFDx+ghJyuiN2PmzlQfxheWCzQyoAiAZh036otUf4cPCAoNqRg/7n10NUIGIvAdJ0oZnfh5+xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":885087},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"59f96c314ff634057abff43d1eb74b62801dcda2","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.6.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.4.0_1772839075765_0.16224668135880704","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@carbonplan/zarr-layer","version":"0.4.1","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.4.1","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"1e2af9ec770ccadb384a09a596c56975d952c63b","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.4.1.tgz","fileCount":6,"integrity":"sha512-hbUdzmThm2yVNTNgtsUDJr+Fwe5eqY34Pmse+7aYJ3fyaCZpx2OKoom4tBpJioECQq861ZD0QKazijtdGp9p6g==","signatures":[{"sig":"MEQCH25Tr8OW5ZeGuFqTdImEzZdraxuYrYR9D9wJiRbcO+4CIQCywk31U1V5n4XGh7A8tcqOMi1t3P8aeZowWoGe2mBF6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":885757},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"66fee08afd65913fcd2ab1636a1e38f12e2f788d","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.6.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.4.1_1772841739493_0.42280407637420847","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@carbonplan/zarr-layer","version":"0.4.2","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.4.2","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"aba143a5bb85e7148766b6af8e2a0d61d8850a7d","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.4.2.tgz","fileCount":6,"integrity":"sha512-SR+VtYeHBHcTF81mjUxBrN59ovk8pVJrUqKRWoXpwcd5dzVj9+DG0vDKKdjE3/K9JdY0h8ngmnaQQUrQ0/KMeA==","signatures":[{"sig":"MEQCIBVxv36Oc23gyFkPp1jKczIZa55CUcqPVxKOAl7y9FDEAiAfgdLfqU8yTFjOyEl5OZo2cQ2oWMIuE8omrALsmNCuNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":889703},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c0bb705f64fbb981d7563e9391338c6614809702","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.6.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.4.2_1773696249655_0.058795917742614945","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@carbonplan/zarr-layer","version":"0.4.3","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.4.3","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"c3a929827eb45644e472a288a8f4b727b05e1d41","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.4.3.tgz","fileCount":6,"integrity":"sha512-ywA1rhpnCpxxZGwCm+Wj5rT3p/ys3xZnmIAE2BVpOAf0JL2/CW0ogufNyKdx8MIezUnCiR4E9LTkasa2CJujRQ==","signatures":[{"sig":"MEUCIFyNjz8GiABccPx1pv33Eeu95WFAh7STMxl14fLFJCACAiEAqqoA6p2BZpvh9Qnp8w6d6hTE92OEu015dChyTisHIJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":920780},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"534f922cffda6f10f1b060cc99509532f412fc81","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.6.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.4.3_1774569711723_0.36098656224148384","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@carbonplan/zarr-layer","version":"0.5.0","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.5.0","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"687b1c8aeffcb0da9e321a85ff1176f0127310d3","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.5.0.tgz","fileCount":6,"integrity":"sha512-o8DedufLyaQ1odNUpPoW/csZLcG7PfVRU4M+W66hFjrgdvZplLo507PYSMWTlk/bC/hZXvxh+zYCLWk0udBLFg==","signatures":[{"sig":"MEUCIQCKU3wtVAArSaSUn/AdAPcLm8zziP/Udyz7iWNMVCwDlwIgRqINf8183cRtncVLZiOOyKh7HPBXD/nL+OgyYwMitVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":928457},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7fbe3c88e281fb5248c7030f49cb38673f4974c3","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.7.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.5.0_1777322572502_0.622797840240819","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@carbonplan/zarr-layer","version":"0.5.1","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.5.1","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"936bec97399d7002957b3596fd05d653781b51e3","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.5.1.tgz","fileCount":6,"integrity":"sha512-61tj2FSG9fPjvQduvqaGoKkLkRB+bj2M6aywmsp2c48OVe1g0k6mSLkgoNGGkdG+Xd2uAxmbZ4KGKfiLSWP8sA==","signatures":[{"sig":"MEUCIQDnU9bP37eFfYPDIyNmcdTYWb30N6CVCvLFUyBeglQMGgIgIxqligQp+iCRDTyyKFNES2Kcjd8VSKqNVqx+HZh++EA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":943033},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e97c457bb719603fea59dbcd319ca72e76313714","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.7.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.5.1_1782250896242_0.3715574987205037","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@carbonplan/zarr-layer","version":"0.5.2","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.5.2","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"75b9b6ab79fd85d87bf0c09e64fec9acb9a0d7bc","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.5.2.tgz","fileCount":6,"integrity":"sha512-wXoXkbdKfc3LE6tCBPSCp3cHNjxFir6GFmavjNhw2lJJdVFMGN/aPJJkZorp7/bwjwbCDevcETuuK2cEkH21wg==","signatures":[{"sig":"MEUCICIBuHIJsCrYrYinT8+1sagevDzpSKmiQ9nCbuphwWE3AiEAgm4GRZa6sKawIvOxuKjZPNFYwElLbILcsl5FsPLfNrE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":945956},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1b5a4c0a940fdd02514077403c019825f239077a","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.7.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.5.2_1782852171404_0.3373000775210304","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@carbonplan/zarr-layer","version":"0.6.0","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.6.0","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"3369da5678f81bd399df32d659889e480ea0b62b","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.6.0.tgz","fileCount":6,"integrity":"sha512-jPaq/kBKcDEXlQI/8w+Hk3aJEqXC01/Vt1JQetRLY2Hgqa6cUUkUVMT93xTmhBsLYSBRjLr+BySsQWwLHm0+Uw==","signatures":[{"sig":"MEQCIAWhfCs941aM5eVhub/mKVF86XjaTCBKd6NNOU0F2zU9AiAKzlwMuV+t/5QAGc7aos5fQ5AcHqIBckkgRqyvHDeDrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":946323},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"445fcec2801ee00859f0e47a913f55046798a5d3","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.2","zarrita":"^0.7.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.6.0_1782853693201_0.6549879124907734","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@carbonplan/zarr-layer","version":"0.6.1","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.6.1","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"bc09239d454ad0f2f794875ed22692f758c9ba52","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.6.1.tgz","fileCount":6,"integrity":"sha512-P5Oo/k2D1juVW+d+MsiYTfgHw3W+NOWicIHBqXYrrhTBBWegFh456OZIyUq/7xt/5oQqiwdRgGhysr7YCdaP5A==","signatures":[{"sig":"MEUCIQCSvrb2F3x/dCCYSPCF+UAynkwkTBrvQOZOFg3umcyrGAIgN4sNIkpqpO2RcEqbIcIfLBNzkLKh76S4I1a2WLi9C94=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":946323},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ad60b9dc9f529bba368ab4e1269e1dd5c96ddd37","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.9","zarrita":"^0.7.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.6.1_1784761593155_0.17334522550571596","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@carbonplan/zarr-layer","version":"0.7.0","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.7.0","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"a4ff95d71d9954ff564ef81d44dbfd96a4648a2d","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.7.0.tgz","fileCount":6,"integrity":"sha512-7JK2LUdin8GQRkadAFCZKfK5FsdkNMs66iLdG+xCv5ChU2gcgJwP4dNf45TKZMCtTjIgjnEkQcSl+MYUS3hz7g==","signatures":[{"sig":"MEYCIQDN1QzPqGfW72LZThRON16PsOTAOoSlZPEq4MhLK52mxAIhAKkJCl2YxGcXX2RHBYtBahF2IyG5igxFZBQonb60+0U2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":719340},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a7df3e4327cebab37f94511b0cb26269896f1439","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.9","zarrita":"^0.7.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.7.0_1785182789247_0.07041125349938726","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@carbonplan/zarr-layer","version":"0.8.0","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.8.0","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"56a2239d876ff7bd2e37f1b7345cb2fbddadd933","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.8.0.tgz","fileCount":6,"integrity":"sha512-uq4x3H9bHYbTKzEVnNM2TLdmTBOONHcZQ0D3JZZizC9tUEKdEh6q8VHPKNJDkPZq5FGeUSyG2ZGHP0NrZ8W12Q==","signatures":[{"sig":"MEYCIQC8PNvhc70wd11gm8niXl4KG6XZgDHIGh6JiLjdPqeXggIhANGwCDJJcaNSrFPJmmdZZh41axbjA9r6efMZYwSBtmW5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":814565},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3d9c8189e8a66918afb957dbee2837942f1cd974","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","test:ci":"vitest run --reporter=default --reporter=github-actions --reporter=json --outputFile=test-results.json","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"10.9.2","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"proj4":"^2.20.9","zarrita":"^0.7.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","vitest":"^3.2.4","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.8.0_1786059581440_0.29432402920916734","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@carbonplan/zarr-layer","version":"0.9.0","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.9.0","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"8b4f61bbe13d7ba5477e39045521ac4bd758dc46","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.9.0.tgz","fileCount":6,"integrity":"sha512-2Lo8F+EPMqJqKJY/5FNiUMs9CRExwW+ISknmIHuGxEpWnPQRypr5JS6rtBWDV0rKJiqRsS90US9gaHmSnFPdqw==","signatures":[{"sig":"MEYCIQC4dHl+bfecsfgxE+RH14Jaj29VFea/dgEdg/jSt4gfJQIhANdPZjc36MemrTskWDnNZRqDnoN+l3Jo1m5rjBdtEmx6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":843789},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"030a92d490da8e0449709b21c38dc1b8df8508dd","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","test:ci":"vitest run --reporter=default --reporter=github-actions --reporter=json --outputFile=test-results.json","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"11.17.0","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"proj4":"^2.20.9","zarrita":"^0.7.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","vitest":"^3.2.4","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.9.0_1787195161341_0.6848825224982806","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@carbonplan/zarr-layer","version":"0.9.1","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.9.1","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"0bbfc01db69b6583c6f0cc094fe542844078d9a7","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.9.1.tgz","fileCount":6,"integrity":"sha512-RkdqzwxU3ZUUk8MKDHEMlfw0dr8sFZLLjz5kwKfY1uYCasj1yCYrHiOUe8V1R61ggaJ0SMt5hJsMyg/i+cj5yQ==","signatures":[{"sig":"MEYCIQCClHB9wl9sp5l6ILXk6qXrVPBkBjD6vcn4IPxhg8ob1QIhAO8LZZIn7Lch3iVqL9NhkZbe6WKmVyG8Lw3b28U7k7sJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":853745},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"48ae4928625a8e5a5453ee164f496599229f6429","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","test:ci":"vitest run --reporter=default --reporter=github-actions --reporter=json --outputFile=test-results.json","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"11.17.0","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"proj4":"^2.20.9","zarrita":"^0.7.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","vitest":"^3.2.4","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.9.1_1788890230364_0.29207113185063815","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@carbonplan/zarr-layer","version":"0.9.2","keywords":["zarr","maplibre","mapbox"],"license":"MIT","_id":"@carbonplan/zarr-layer@0.9.2","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"homepage":"https://github.com/carbonplan/zarr-layer#readme","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"fb0c915d1342d536b22fb53a0af1ea70bae41b06","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.9.2.tgz","fileCount":6,"integrity":"sha512-syxTqijc1EvERtjZ5iVp8gigUBEQ4gAqheEaVn8N9sH2vbB691P9k/6fPTWx6Jm8JOQV5D0H8jOY5TQe4d5m1A==","signatures":[{"sig":"MEUCIQC6C1hi+3ljS64Zcxu3fm0xhGsksE80ToPV7WMck8BUogIgMKmM2OTdGwUVDDllZueUXL5mzotP6EN1yIFNpC3nOIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHsX8upFBMV6EkZfiB1ZQn32GCg0mvnws/MQWL4C2IdUAiB30N0stO2dyhDl45WUetKi5H8Jublnw3p2VVFWdXvwdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":861212},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b7c9e188afc12977d81eb702ff6179b690023e11","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","test:ci":"vitest run --reporter=default --reporter=github-actions --reporter=json --outputFile=test-results.json","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"11.17.0","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"proj4":"^2.20.9","zarrita":"^0.7.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","vitest":"^3.2.4","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/zarr-layer_0.9.2_1790008267736_0.886706667569545","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"_id":"@carbonplan/zarr-layer@0.10.0","bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"dist":{"shasum":"4caf8d84d689fc80f391603d1d3e3ae28e2b42b0","tarball":"https://registry.npmjs.org/@carbonplan/zarr-layer/-/zarr-layer-0.10.0.tgz","fileCount":6,"integrity":"sha512-E0sKMDPRG1lKs27JACprWuNMu8E6MF2I67j7zF2ZPsTTVdHxDbQ3cf8dgBVr6v7O3CYFjjZ2yJh/W3/kuxYQkQ==","signatures":[{"sig":"MEUCIQCWCKtftXHYZ2+9QW6kB4FgkNO49m/4Swk1q3BMYz3uygIgWrwxuH4sMouwkx5JJFuwxGOJ1DYe/KdLAOJdXjArk4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGEJBkxoS/m55GTfOMTV9+16/ybcpmeWVrKVRQy5nsDGAiEAhqETeEwtpEIoYsAQ1s5NAp28C/pTsd2LH2nzijyjNJo="}],"unpackedSize":935955},"name":"@carbonplan/zarr-layer","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"64ce590a8640331b18d6cefa3ceed84c77af12e3","license":"MIT","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","format":"prettier --write .","prepare":"husky","test:ci":"vitest run --reporter=default --reporter=github-actions --reporter=json --outputFile=test-results.json","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm test && npm run build"},"version":"0.10.0","_npmUser":{"name":"shane98c","email":"shane98c@gmail.com"},"homepage":"https://github.com/carbonplan/zarr-layer#readme","keywords":["zarr","maplibre","mapbox"],"prettier":"@carbonplan/prettier","repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"_npmVersion":"11.17.0","description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","directories":{},"lint-staged":{"*.{js,ts,tsx,json,md}":"prettier --write"},"maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"proj4":"^2.20.9","zarrita":"^0.7.1","delaunator":"^5.0.1","@developmentseed/raster-reproject":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","husky":"^9.1.7","vitest":"^3.2.4","prettier":"^2.2.1","mapbox-gl":"^3.17.0","typescript":"^5.6.3","lint-staged":"^16.2.7","maplibre-gl":"^5.15.0","@types/proj4":"^2.5.6","@types/delaunator":"^5.0.3","@carbonplan/prettier":"^1.2.0"},"peerDependencies":{"mapbox-gl":"*","maplibre-gl":"*"},"peerDependenciesMeta":{"mapbox-gl":{"optional":true},"maplibre-gl":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zarr-layer_0.10.0_1790094926855_0.8924246838577516"}}},"time":{"created":"2025-12-18T17:28:13.215Z","modified":"2026-09-22T16:35:27.096Z","0.0.1":"2025-12-18T17:28:13.506Z","0.0.2":"2025-12-19T20:54:33.007Z","0.1.0":"2025-12-26T19:56:33.681Z","0.1.1":"2025-12-30T17:50:32.740Z","0.2.0":"2026-01-09T01:13:15.374Z","0.2.1":"2026-01-09T01:36:20.498Z","0.2.2":"2026-01-09T06:06:56.442Z","0.2.3":"2026-01-09T20:16:55.064Z","0.2.4":"2026-01-09T23:22:39.477Z","0.2.5":"2026-01-14T04:56:31.895Z","0.3.0":"2026-01-21T21:03:40.467Z","0.3.1":"2026-01-22T04:49:49.725Z","0.4.0":"2026-03-06T23:17:56.007Z","0.4.1":"2026-03-07T00:02:19.745Z","0.4.2":"2026-03-16T21:24:09.803Z","0.4.3":"2026-03-27T00:01:51.931Z","0.5.0":"2026-04-27T20:42:52.715Z","0.5.1":"2026-06-23T21:41:36.381Z","0.5.2":"2026-06-30T20:42:51.526Z","0.6.0":"2026-06-30T21:08:13.428Z","0.6.1":"2026-07-22T23:06:33.390Z","0.7.0":"2026-07-27T20:06:29.419Z","0.8.0":"2026-08-06T23:39:41.588Z","0.9.0":"2026-08-20T03:06:01.484Z","0.9.1":"2026-09-08T17:57:10.565Z","0.9.2":"2026-09-21T16:31:07.854Z","0.10.0":"2026-09-22T16:35:26.942Z"},"bugs":{"url":"https://github.com/carbonplan/zarr-layer/issues"},"license":"MIT","homepage":"https://github.com/carbonplan/zarr-layer#readme","keywords":["zarr","maplibre","mapbox"],"repository":{"url":"git+https://github.com/carbonplan/zarr-layer.git","type":"git"},"description":"MapLibre/Mapbox custom layer for rendering Zarr datasets. Inspired by zarr-cesium, zarr-gl, and @carbonplan/maps.","maintainers":[{"name":"freeman-lab","email":"jeremy.freeman@mac.com"},{"name":"katamartin","email":"kata@carbonplan.org"},{"name":"shane98c","email":"shane98c@gmail.com"}],"readme":"# @carbonplan/zarr-layer\n\n![NPM Version](https://img.shields.io/npm/v/@carbonplan/zarr-layer)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\nCustom layer for rendering Zarr datasets in MapLibre or Mapbox GL, inspired (and borrowing significant code and concepts from)\n[zarr-gl](https://github.com/carderne/zarr-gl), [zarr-cesium](https://github.com/NOC-OI/zarr-cesium), [@carbonplan/maps](https://github.com/carbonplan/maps), and [deck-gl-raster](https://github.com/developmentseed/deck.gl-raster). Uses [CustomLayerInterface](https://maplibre.org/maplibre-gl-js/docs/API/interfaces/CustomLayerInterface/) to render data directly to the map and supports rendering to globe and mercator projections for both MapLibre and Mapbox. Input data are reprojected on the fly.\n\n## demo\n\nSee the [demo](https://zarr-layer.demo.carbonplan.org/) for a quick tour of capabilities. Code for the demo is in the `/demo` folder.\n\n## data requirements\n\nSupports v2 and v3 zarr stores via [zarrita](https://github.com/manzt/zarrita.js). Arbitrary CRS support via [proj4](https://github.com/proj4js/proj4js) reprojection.\n\n### Self-describing stores\n\nA store that carries the zarr [`proj`](https://github.com/zarr-conventions/geo-proj) and [`spatial`](https://github.com/zarr-conventions/spatial) conventions needs no configuration: the layer reads its CRS, extent, orientation and axis names straight out of the metadata, with no coordinate-array reads at all.\n\n| Attribute                     | What it settles                                                                                                                                          |\n| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `proj:code`                   | The CRS by identifier: `EPSG:4326`, `EPSG:3857`, `OGC:CRS84`, the WGS84 UTM zones (`EPSG:326xx`/`EPSG:327xx`), or any code registered with `proj4.defs`. |\n| `proj:wkt2` / `proj:projjson` | The CRS in full, for codes proj4 doesn't ship. No lookup table needed.                                                                                   |\n| `spatial:transform`           | The extent and which edge row 0 sits on.                                                                                                                 |\n| `spatial:bbox`                | The extent, winning over the transform's when both are declared.                                                                                         |\n| `spatial:registration`        | Whether the declared coordinates fall on cell edges (`pixel`, the default) or cell centers (`node`).                                                     |\n| `spatial:dimensions`          | Which array dimensions are y and x, for axes not named something recognizable.                                                                           |\n| `spatial:shape`               | Each pyramid level's size, on `multiscales.layout` entries, sparing an array open per level.                                                             |\n\nDeclared attributes are authoritative. If a store publishes them, they are used as-is rather than checked against its coordinate arrays, so a store whose attributes disagree with its own data will render wrong rather than be quietly corrected.\n\nConstructor options always win over what the store declares: `crs`, `proj4`, `bounds`, `latIsAscending` and `spatialDimensions` each override the corresponding attribute.\n\nFor a store declaring a `proj:code` proj4 doesn't know and no `proj:wkt2` or `proj:projjson`, the layer warns and leaves the CRS unresolved. Pass the definition as the `proj4` prop, or register the code with proj4 to have the store's own declaration resolve (see [registering a CRS](#registering-a-crs)).\n\nWhere these attributes are absent the layer falls back to what it always did: reading the coordinate arrays for extent and orientation, matching dimension names against a list of common aliases, and inferring the CRS from the magnitude of the bounds. A CF `grid_mapping` variable is read for `crs_wkt` when no `proj:` attribute is present.\n\n### Multiscales\n\nHigh resolution datasets require multiscales. Chunks are loaded based on viewport intersection, and the level is chosen to match the screen resolution. Supports the zarr [multiscales convention](https://github.com/zarr-conventions/multiscales) and legacy [ndpyramid](https://github.com/carbonplan/ndpyramid) outputs, and tries to interpret other multiscale formats. See [topozarr](https://github.com/norlandrhagen/topozarr) for a look at how to create these datasets.\n\n## globe rendering and polar coverage\n\nWeb Mercator rendering clips near ±85° latitude, leaving visible \"pole holes\" on globe projections. For EPSG:4326 and `proj4` datasets:\n\n**MapLibre** — Full polar coverage is always enabled via a direct ECEF rendering path. No configuration needed.\n\n**Mapbox** — Set `renderPoles: true` to enable an experimental direct ECEF path that bypasses tile draping. This relies on Mapbox internal APIs and may break across Mapbox GL JS versions. During Mapbox's globe-to-mercator zoom morph the layer automatically falls back to the standard draped path (with pole holes visible). Incompatible with draping the zarr layer over Mapbox terrain — when terrain is enabled the layer always uses the draped tile path.\n\n```ts\nnew ZarrLayer({\n  // ...\n  renderPoles: true, // Mapbox only — MapLibre always renders to the poles\n})\n```\n\n## install\n\n```bash\nnpm install @carbonplan/zarr-layer\n```\n\n## build locally\n\n```bash\nnpm install\nnpm run build\n```\n\n## usage\n\n```ts\nimport maplibregl from 'maplibre-gl' // or mapbox\nimport { ZarrLayer } from '@carbonplan/zarr-layer'\n\nconst map = new maplibregl.Map({container: 'map'})\nconst layer = new ZarrLayer({\n  id: 'zarr-layer',\n  source: 'https://example.com/my.zarr',\n  variable: 'temperature',\n  clim: [270, 310],\n  colormap: ['#000000', '#ffffff', ...],\n  selector: { month: 1 },\n})\nmap.on('load', () => {\n  map.addLayer(layer)\n  // optionally add before id to slot data into map layer stack.\n  // map.addLayer(layer, 'beforeID')\n})\n```\n\n## options\n\n**Required:**\n| Option | Type | Description |\n|--------|------|-------------|\n| id | string | Unique layer identifier |\n| source | string | Zarr store URL (required unless `store` is provided) |\n| variable | string | Variable name to render |\n| colormap | array | Array of hex strings or `[r,g,b]` values |\n| clim | [min, max] | Color scale limits |\n\n**Optional:**\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| store | Readable | - | Custom zarrita-compatible store (e.g., IcechunkStore). When provided, `source` becomes optional. |\n| selector | object | `{}` | Dimension selector (unspecified dims default to index 0) |\n| opacity | number | `1` | Layer opacity (0-1) |\n| zarrVersion | `2` \\| `3` | auto | Zarr format version (tries v3 first, falls back to v2) |\n| minzoom | number | `0` | Minimum zoom level for rendering |\n| maxzoom | number | `Infinity` | Maximum zoom level for rendering |\n| fillValue | number | auto | No-data value (from metadata if not set) |\n| spatialDimensions | object | auto | Custom `{ lat, lon }` dim names |\n| crs | string | auto | CRS identifier. Not needed for `EPSG:4326`/`EPSG:3857` data (detected automatically). Codes proj4 defines (the WGS84 UTM zones, among others) or that were registered with `proj4.defs` work without a `proj4` string. |\n| proj4 | string | - | Proj4 definition string for CRS reprojection (`bounds` recommended, else derived from coordinates) |\n| bounds | array | auto | `[xMin, yMin, xMax, yMax]` in source CRS units (degrees for EPSG:4326, meters for EPSG:3857). These are interpreted as edge bounds (not center-to-center) |\n| latIsAscending | boolean | auto | Latitude orientation |\n| renderingMode | `'2d'` \\| `'3d'` | `'3d'` | Custom layer rendering mode |\n| customFrag | string | - | Custom fragment shader |\n| uniforms | object | - | Shader uniform values (requires `customFrag`) |\n| onLoadingStateChange | function | - | Loading state callback |\n| transformRequest | function | - | Transform request URLs and add headers/credentials (see [authentication](#authentication)) |\n| onAuthError | function | - | Called with the HTTP status when a signed request fails with expired credentials (see [authentication](#authentication)) |\n| renderPoles | boolean | `false` | Enable polar coverage in Mapbox globe for EPSG:4326/proj4 datasets (see [globe rendering](#globe-rendering-and-polar-coverage)). No effect on EPSG:3857 data. MapLibre always renders to the poles. |\n\n## methods\n\n```ts\nlayer.setOpacity(0.8)\nlayer.setClim([0, 100])\nlayer.setColormap(['#000', '#fff'])\nlayer.setSelector({ time: 5 })\nlayer.setVariable('precipitation') // async - reloads metadata\nlayer.setUniforms({ u_weight: 1.5 }) // no-op unless layer has customFrag\n```\n\n### throttling rapid selector changes\n\n`setSelector` is synchronous and kicks off a fetch on every call. For UIs that fire rapid updates (e.g. dragging a time slider), debounce the value on your side before handing it to the layer so you aren't firing one abort-cancelled fetch per pointer event.\n\n## selectors\n\nSelectors specify which slice of your multidimensional data to render. Dimensions not specified default to index 0. Keys are the store's own non-spatial dimension names, matched exactly. A key that names no dimension is an error that lists the valid names. It surfaces through `onLoadingStateChange` for the layer's selector, and as a rejection from `queryData`.\n\n**Basic syntax:**\n\n```ts\n// Simple value - matches exact value in coordinate array\n{ time: 5 }\n{ time: '2024-01-15' }\n\n// Explicit index - uses array index directly (no coordinate lookup)\n{ time: { selected: 5, type: 'index' } }\n\n// Explicit value - same as simple syntax, matches exact value\n{ time: { selected: 5, type: 'value' } }\n```\n\n**Multi-band selection (for custom shaders):**\n\n```ts\n// String values use the string directly as the shader variable name\n{ band: ['tavg', 'prec'] }\n// exposes as: tavg, prec\n\n// Numeric values are prefixed with the dimension key (required for valid GLSL identifiers)\n{ month: [1, 2, 3] }\n// exposes as: month_1, month_2, month_3\n\n// Index selectors use dimension-prefixed shader variable names\n{ band: { selected: [0, 1, 2], type: 'index' } }\n// exposes as: band_0, band_1, band_2; update shader references accordingly\n\n// Mix with other dimensions\n{ band: ['red', 'green', 'blue'], time: 0 }\n```\n\n**Query-specific selectors:**\n\n```ts\n// Array of values for time series queries\nconst result = await layer.queryData(\n  { type: 'Point', coordinates: [lng, lat] },\n  { time: [0, 1, 2, 3, 4] } // returns data for all 5 time steps\n)\n```\n\nA non-empty array value nests the result by label, whatever its length: `{ time: [3] }` returns `{ 3: number[] }`. Repeated values collapse into one series. A single value returns a flat `number[]`, and so does an empty array or a dimension left out of the selector, both read at index 0.\n\n**Type options:**\n\n| Type                | Behavior                                                      |\n| ------------------- | ------------------------------------------------------------- |\n| `'value'` (default) | Matches exact value in coordinate array (throws if not found) |\n| `'index'`           | Uses value directly as array index                            |\n\n## custom shaders and uniforms\n\nCustom fragment shaders let you do math on your data to change how it's displayed. This can be useful for things like log scales, combining bands, or aggregating data over a time window. Bands can span separate chunks — each band is fetched in parallel and combined for rendering. You can pass in `uniforms` to allow user interaction to influence the custom shader code.\n\nBand names are automatically sanitized to valid GLSL identifiers: any characters that aren't letters, digits, or underscores are replaced with underscores, and names starting with a digit are prefixed with an underscore. For example, `s2med_harvest:B02` becomes `s2med_harvest_B02` and `123band` becomes `_123band`.\n\nThe layer blends with a premultiplied alpha blend function, so your `customFrag` must output premultiplied color. Multiply RGB by your final alpha (e.g. `fragColor = vec4(c.rgb * opacity, opacity)`). Emitting straight `vec4(c.rgb, opacity)` renders correctly only at full opacity.\n\nWhen a `customFrag` is supplied, **it owns discarding**. Missing/fill pixels are surfaced as `NaN` instead of being dropped automatically, so you can aggregate over partial coverage (e.g. a mean over bands with differing coverage) rather than just their intersection. Note that `NaN` propagates through arithmetic (even `NaN * 0.0` is `NaN`), so guard values before multiplying or accumulating, e.g. `isnan(x) ? 0.0 : x`. Add your own `discard` for pixels you want to drop:\n\n```ts\nnew ZarrLayer({\n  // ...\n  customFrag: `\n    uniform float u_weight;\n    if (isnan(band_a)) {\n      discard;\n    }\n    float val = band_a * u_weight;\n    float norm = (val - clim.x) / (clim.y - clim.x);\n    vec4 c = texture(colormap, vec2(clamp(norm, 0.0, 1.0), 0.5));\n    fragColor = vec4(c.rgb * opacity, opacity);\n  `,\n  uniforms: { u_weight: 1.0 },\n})\n```\n\n### NDVI example\n\nHere's an example of computing NDVI (Normalized Difference Vegetation Index) using custom shaders:\n\n```ts\nnew ZarrLayer({\n  source: 'https://example.com/sentinel2.zarr',\n  variable: 'data',\n  colormap: [\n    /* gradient */\n  ],\n  selector: { band: ['B08', 'B04'], time: 0 },\n  clim: [-1, 1],\n  customFrag: `\n    if (isnan(B08) || isnan(B04)) {\n      discard;\n    }\n    float ndvi = (B08 - B04) / (B08 + B04);\n    float norm = (ndvi - clim.x) / (clim.y - clim.x);\n    vec4 c = texture(colormap, vec2(clamp(norm, 0.0, 1.0), 0.5));\n    fragColor = vec4(c.rgb * opacity, opacity);\n  `,\n})\n```\n\n## custom projections\n\nDatasets in EPSG:4326 or EPSG:3857 need no CRS configuration. For anything else (e.g., Lambert Conformal Conic, UTM), set `crs` to the code. It resolves with no further configuration if proj4 defines that code or you registered it yourself; otherwise pass a `proj4` definition string alongside it, or the renderer will warn and fall back to inferred CRS. Specifying `bounds` in source CRS units is recommended for performance (otherwise derived from coordinate arrays).\n\nNone of this is needed for a store carrying the `proj` and `spatial` conventions (see [self-describing stores](#self-describing-stores)).\n\n```ts\nnew ZarrLayer({\n  // ...\n  spatialDimensions: {\n    lat: 'projection_y_coordinate',\n    lon: 'projection_x_coordinate',\n  },\n  proj4:\n    '+proj=lcc +lat_1=38.5 +lat_2=38.5 +lat_0=38.5 +lon_0=-97.5 +x_0=0 +y_0=0 +R=6371229 +units=m +no_defs',\n  bounds: [-2697520, -1587306, 2697480, 1586694], // recommended: edge bounds [xMin, yMin, xMax, yMax] in source CRS units\n})\n```\n\nThe data will be reprojected to Web Mercator for display using GPU-accelerated mesh reprojection powered by [@developmentseed/raster-reproject](https://github.com/developmentseed/deck.gl-raster). Find proj4 strings at [epsg.io](https://epsg.io/) or in your dataset's metadata.\n\n### registering a CRS\n\nproj4 defines only a small set of codes out of the box: `EPSG:4326`, `EPSG:4269`, `EPSG:3857` (with its aliases), `EPSG:5041`, `EPSG:5042`, and the 120 WGS84 UTM zones (`EPSG:32601`-`EPSG:32660` north, `EPSG:32701`-`EPSG:32760` south). Everything else needs a definition from you, including national grids like `EPSG:27700` and `EPSG:2154`, and the UTM zones on other datums, which look built-in but aren't: NAD83 (`EPSG:269xx`) and ETRS89 (`EPSG:258xx`) are separate codes from their WGS84 counterparts.\n\nPass it as the `proj4` prop, which takes precedence over `crs` and over anything the store declares. Or register it with proj4 before creating the layer, which lets a store's own `proj:code` resolve with no per-layer configuration:\n\n```ts\nimport proj4 from 'proj4'\n\nproj4.defs('EPSG:25833', '+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs')\n```\n\nRegistering pays off only when you don't know which store is in which CRS ahead of time; otherwise the prop is simpler. `proj4.defs` also accepts WKT2 and PROJJSON. Note that zarr-layer imports proj4 rather than bundling its own copy, so your `proj4` import is the registry it reads, as long as your bundler resolves both to one copy.\n\nA store declaring `proj:wkt2` or `proj:projjson` carries its own definition and needs none of this.\n\n## queries\n\nSupports `Point`, `LineString`, `Polygon`, and `MultiPolygon` geometries in geojson format. You can optionally pass a `selector`, which overrides the layer's `selector` key by key. A dimension the query leaves out stays on the slice the layer is showing, so `{ time: [0, 1, 2] }` on a layer showing one band returns that band's time series.\n\n```ts\n// Point query\nconst result = await layer.queryData(\n  { type: 'Point', coordinates: [lng, lat] },\n  // optional selector override (useful for e.g. time series creation)\n  { time: [0, 1, 2] }\n)\n\n// Polygon query\nconst result = await layer.queryData({\n  type: 'Polygon',\n  coordinates: [[...]],\n})\n\n// Returns:\n// {\n//   [variable]: number[],\n//   dimensions: ['<store-y-axis>', '<store-x-axis>'],\n//   coordinates: { '<store-y-axis>': number[], '<store-x-axis>': number[] }\n// }\n```\n\nSpatial query results are returned in the dataset's source CRS, under the store's own spatial axis names. An `EPSG:3857` dataset with `y`/`x` axes returns Web Mercator meters under `y`/`x`; an `EPSG:4326` dataset with `latitude`/`longitude` axes returns degrees under `latitude`/`longitude`; a custom-proj4 dataset returns its source-CRS values under whatever the store calls them. Input geometries are still supplied as GeoJSON lon/lat regardless of the source CRS.\n\nYou can pass a third `options` argument to control query behavior:\n\n```ts\nconst result = await layer.queryData(geometry, selector, {\n  signal: abortController.signal, // cancel in-flight query\n  includeSpatialCoordinates: false, // omit per-pixel coordinates for slimmer results\n  level: 'finest', // read the highest-resolution level instead of the drawn one\n  distanceKey: 'along', // LineString only: result key for distance, default 'distance'\n})\n```\n\nEvery other key in `coordinates` is a dimension name from the store. A `LineString` query on a store that has a dimension named `distance` throws, so that dimension's values are never overwritten. Pass a different `distanceKey` to query it.\n\n**Note:** Query results match rendered values (`scale_factor`/`add_offset` applied, `fillValue`/NaN filtered). A cell with no data is left out of the result.\n\nWith a multi-value selector such as `{ time: [0, 1, 2] }`, a cell is kept when it has data in at least one series, and the series without data hold `NaN` at that position. Every series therefore has the same length, and index `i` refers to the same cell in all of them and in the coordinate arrays, which are empty when `includeSpatialCoordinates` is `false`. Skip non-finite values when aggregating. `JSON.stringify` writes `NaN` as `null`.\n\n### line profiles\n\nA `LineString` query returns a profile: one sample per grid cell the line passes through, in path order.\n\n```ts\nconst profile = await layer.queryData({\n  type: 'LineString',\n  coordinates: [[lng0, lat0], [lng1, lat1], ...],\n})\n\n// Returns the same shape as other queries, plus `distance`:\n// {\n//   [variable]: number[],\n//   dimensions: ['<store-y-axis>', '<store-x-axis>'],\n//   coordinates: {\n//     '<store-y-axis>': number[],\n//     '<store-x-axis>': number[],\n//     distance: number[], // meters along the line, one per sample\n//   }\n// }\n```\n\n- **Distance.** `distance[i]` is the distance in meters along the line, from its start to where it enters the cell of sample `i`. Plot against it for a real distance axis rather than sample index.\n- **Density.** Sampling follows the level being read, so zooming out coarsens the profile. Pass `level: 'finest'` for a profile that doesn't depend on zoom.\n- **Values.** Samples are the stored cell values, not interpolated between cells.\n- **Gaps.** Cells with no data are left out, and the jump in `distance` shows the gap. The same goes for parts of the line that fall outside the raster.\n- **Repeats.** A cell is sampled once per pass, so a line that doubles back samples it again. A line through an exact cell corner steps diagonally and does not sample the cells it only touches there.\n- **Time series along a line.** Pass a multi-value selector such as `{ time: [0, 1, 2] }` to get one aligned profile per step.\n- **Antimeridian.** A line whose longitudes all lie within ±180 is read literally. To cross the antimeridian, continue past it, for example from `170` to `190`.\n- **Input limits.** Coordinates must be finite, with latitudes within ±90 and longitudes within ±720, or the query throws a `RangeError`.\n\n### query resolution\n\nBy default a query reads the level the map is currently drawing, so results agree with what the user sees and zooming out coarsens them. Pass `level: 'finest'` to always read the highest-resolution level in the store, which is what you want when the answer shouldn't depend on the camera — sampling point features, for instance.\n\n`'finest'` reads a level the renderer may not hold, so it fetches cold instead of reusing chunks the render path already cached. A point costs about one chunk either way; a line reads a chain of small windows along its path, so its cost grows with its length in pixels; a polygon covers quadratically more pixels at a finer level, so on a deep pyramid at low zoom it can read many more. It doesn't disturb rendering: the query reads its own level and leaves the drawn one alone. No effect on single-level stores.\n\n### query readiness\n\n`queryData` waits for metadata and a committed resolution level, so it can be called immediately after `map.addLayer(layer)` with no render pass in between and no polling. Readiness failures — initialization failure, failure to load a level, removal from the map, or querying before the layer was added — reject with a `ZarrLayerNotReadyError` rather than returning empty. Initialization and level-load failures carry the underlying error on `.cause`.\n\nFailed reads reject as well, so an empty result means the geometry found no data.\n\n`layer.ready` exposes the same wait as a promise, for uses other than queries:\n\n```ts\nmap.addLayer(layer)\nawait layer.ready // metadata loaded and a resolution level committed\n```\n\nNot the same signal as `onLoadingStateChange`, which is a spinner: it flips as chunks load and reports nothing about the level commit, so `loading: false` can be emitted while the layer still has no level. Its `error` field reports initialization and level-load failures and returns to `null` after the load recovers or the selector changes.\n\n## authentication\n\nUse `transformRequest` to add headers or credentials to requests. The function receives the fully resolved URL for each request, enabling per-path authentication like presigned S3 URLs. Supports any [fetch options](https://developer.mozilla.org/en-US/docs/Web/API/fetch#options).\n\n```ts\n// Static auth (same headers for all requests)\ntransformRequest: (url) => ({\n  url,\n  headers: { Authorization: `Bearer ${token}` },\n})\n\n// Presigned URLs (path-specific signatures)\ntransformRequest: async (url) => ({\n  url: await getPresignedUrl(url),\n})\n```\n\n### expired credentials\n\nCredentials signed into a request expire mid-session. Those failures are otherwise invisible, because the layer treats a rejected read as a missing chunk and renders a hole. `onAuthError` surfaces the status so you can refresh and re-add the layer:\n\n```ts\nonAuthError: async (status) => {\n  await refreshCredentials()\n  map.removeLayer(layer.id)\n  map.addLayer(newLayerWithFreshCredentials())\n}\n```\n\nIt fires on 400 and 401 only, and at most once per store, so a burst of concurrent chunk failures triggers a single refresh. 400 is included because expired temporary AWS credentials return `ExpiredToken`/`InvalidToken` as a 400, often with no readable body on HEAD probes or CORS-gated responses. 403 is excluded: S3 and CloudFront return it for genuinely absent chunks, which sparse pyramids hit routinely. Without a handler, a 400 propagates as an error rather than being read as a missing chunk.\n\n## custom stores\n\nFor advanced use cases like [Icechunk](https://icechunk.io/), you can pass a custom zarrita-compatible store directly. When using a custom store, `source` becomes optional:\n\n```ts\nimport { IcechunkStore } from 'icechunk-js'\n\nconst store = await IcechunkStore.open(...)\n\nnew ZarrLayer({\n  id: 'icechunk-layer',\n  store,\n  variable: 'temperature',\n  colormap: [...],\n  clim: [0, 100],\n})\n```\n\nThe store must implement the zarrita `Readable` interface with at minimum a `get(key: string)` method.\n\n## codecs\n\nThe library uses [zarrita](https://github.com/manzt/zarrita.js) for Zarr data access. zarrita includes built-in codecs for `bytes`, `zlib`, `gzip`, `blosc`, `lz4`, `zstd`, `transpose`, `crc32c`, and `bitround`. You can add more if needed!\n\n### adding custom codecs\n\nVirtualized NetCDF data may use `numcodecs.*`-prefixed codec names (e.g., `numcodecs.zlib`, `numcodecs.shuffle`) that zarrita doesn't recognize by default. Use `codecRegistry` to register them before creating layers:\n\n```ts\nimport { codecRegistry } from '@carbonplan/zarr-layer'\n\n// Alias numcodecs.zlib → zarrita's built-in zlib\nconst zlibFactory = codecRegistry.get('zlib')\nif (zlibFactory) codecRegistry.set('numcodecs.zlib', zlibFactory)\n\n// numcodecs.shuffle — byte un-shuffle by element size\ncodecRegistry.set('numcodecs.shuffle', async () => ({\n  fromConfig(config: { elementsize?: number }) {\n    const elementsize = config?.elementsize ?? 1\n    return {\n      kind: 'bytes_to_bytes',\n      decode(bytes: Uint8Array): Uint8Array {\n        if (elementsize <= 1) return bytes\n        const n = bytes.length\n        const count = Math.floor(n / elementsize)\n        const out = new Uint8Array(n)\n        for (let i = 0; i < count; i++) {\n          for (let j = 0; j < elementsize; j++) {\n            out[i * elementsize + j] = bytes[j * count + i]\n          }\n        }\n        for (let i = count * elementsize; i < n; i++) {\n          out[i] = bytes[i]\n        }\n        return out\n      },\n    }\n  },\n}))\n```\n\n## thanks\n\nThis experiment is only possible following in the footsteps of other work in this space. [zarr-gl](https://github.com/carderne/zarr-gl) showed that custom layers are a viable rendering option and [zarr-cesium](https://github.com/NOC-OI/zarr-cesium) showed how flexible web rendering can be. We borrow code and concepts from both. This library also leans on our prior work on [@carbonplan/maps](https://github.com/carbonplan/maps) for many of its patterns. Custom projection support uses [@developmentseed/raster-reproject](https://github.com/developmentseed/deck.gl-raster) for adaptive mesh generation. LLMs of several makes aided in the coding and debugging of this library.\n\n## license\n\nAll the code in this repository is [MIT](https://choosealicense.com/licenses/mit/)-licensed, but we request that you please provide attribution if reusing any of our digital content (graphics, logo, articles, etc.).\n\n## about us\n\nCarbonPlan is a nonprofit organization that uses data and science for climate action. We aim to improve the transparency and scientific integrity of climate solutions with open data and tools. Find out more at [carbonplan.org](https://carbonplan.org/) or get in touch by [opening an issue](https://github.com/carbonplan/zarr-layer/issues/new) or [sending us an email](mailto:hello@carbonplan.org).\n","readmeFilename":"README.md"}