{"_id":"@developmentseed/deck.gl-healpix-zarr","_rev":"2-d62ea4d12a635a890e46ba771c1d9de4","name":"@developmentseed/deck.gl-healpix-zarr","dist-tags":{"latest":"0.3.1"},"versions":{"0.3.0":{"name":"@developmentseed/deck.gl-healpix-zarr","version":"0.3.0","author":{"name":"Daniel da Silva","email":"daniel@developmentseed.org"},"license":"MIT","_id":"@developmentseed/deck.gl-healpix-zarr@0.3.0","maintainers":[{"name":"dsio","email":"dev@developmentseed.org"},{"name":"kamicut","email":"marcfarra@gmail.com"},{"name":"dsorg","email":"dev@developmentseed.org"},{"name":"olafveerman","email":"olaf@developmentseed.org"},{"name":"danielfdsilva","email":"daniel@developmentseed.org"},{"name":"alukach","email":"anthonylukach@gmail.com"}],"dist":{"shasum":"333cb63b268130b30ab6b19c5305bfaa7d0ec641","tarball":"https://registry.npmjs.org/@developmentseed/deck.gl-healpix-zarr/-/deck.gl-healpix-zarr-0.3.0.tgz","fileCount":27,"integrity":"sha512-OjLhZqdBzjqNj2tWBQKP5JTGT6WGLY5GrSSFB+leasWinGlfJPWcZ5BiSQSyPAw3gyZQD5+P1CXv83YS0N/btQ==","signatures":[{"sig":"MEUCIHCf6BgjdO2KvWurxJ5x/Xdvb4dl1uqo1B2sTVQwXNnkAiEAxVIkecaCmJ/LavsFEAsR/yrNcKpg1Dx8DRbs4vsC2Ao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234578},"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":"3640a87e3870c5455288eb2adffcd4a48b18651f","scripts":{"lint":"eslint src","test":"node --experimental-vm-modules ../../node_modules/.bin/jest","build":"rollup -c ../../rollup.config.mjs","clean":"rm -rf dist","ts-check":"tsc --noEmit -p tsconfig.json","build:watch":"rollup -c ../../rollup.config.mjs --watch","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"danielfdsilva","email":"daniel@developmentseed.org"},"_npmVersion":"11.14.1","description":"HEALPix Zarr tile pyramid layer for deck.gl","directories":{},"_nodeVersion":"20.19.1","dependencies":{"zarrita":"^0.6.1","healpix-ts":"^1.0.0","@developmentseed/deck.gl-healpix":"^0.3.0","@developmentseed/deck.gl-healpix-tile":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"@deck.gl/core":"~9.3.1","@luma.gl/core":"9.3.3","@deck.gl/layers":"~9.3.1","@luma.gl/engine":"9.3.3","@deck.gl/geo-layers":"~9.3.1"},"peerDependencies":{"@deck.gl/core":"~9.3.1","@luma.gl/core":"9.3.3","@deck.gl/layers":"~9.3.1","@luma.gl/engine":"9.3.3","@deck.gl/geo-layers":"~9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/deck.gl-healpix-zarr_0.3.0_1781623001841_0.6836939792885435","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@developmentseed/deck.gl-healpix-zarr","version":"0.3.1","description":"HEALPix Zarr tile pyramid layer for deck.gl","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"build":"rollup -c ../../rollup.config.mjs","build:watch":"rollup -c ../../rollup.config.mjs --watch","test":"node --experimental-vm-modules ../../node_modules/.bin/jest","ts-check":"tsc --noEmit -p tsconfig.json","lint":"eslint src","clean":"rm -rf dist","prepublishOnly":"npm run clean && npm run build"},"author":{"name":"Daniel da Silva","email":"daniel@developmentseed.org"},"license":"MIT","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js","types":"./dist/index.d.ts"}},"peerDependencies":{"@deck.gl/core":"~9.3.1","@deck.gl/geo-layers":"~9.3.1","@deck.gl/layers":"~9.3.1","@luma.gl/core":"9.3.3","@luma.gl/engine":"9.3.3"},"dependencies":{"@developmentseed/deck.gl-healpix":"^0.3.1","@developmentseed/deck.gl-healpix-tile":"^0.3.1","healpix-ts":"^1.0.0","zarrita":"^0.6.1"},"devDependencies":{"@deck.gl/core":"~9.3.1","@deck.gl/geo-layers":"~9.3.1","@deck.gl/layers":"~9.3.1","@luma.gl/core":"9.3.3","@luma.gl/engine":"9.3.3"},"gitHead":"39226d9b34b049c0e2c74896a58ed58234271fe7","_id":"@developmentseed/deck.gl-healpix-zarr@0.3.1","_nodeVersion":"22.19.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-6SRvIGThJG5Qfe8FOj/oBgj52Dw2IEFDvrd80Ux7378QbTRGhtOCphg7cF886CaIhlSflKVKGNkmqQiHbqH6Hg==","shasum":"bb6587d47eb782bba50f99c18a41d8442c6645ab","tarball":"https://registry.npmjs.org/@developmentseed/deck.gl-healpix-zarr/-/deck.gl-healpix-zarr-0.3.1.tgz","fileCount":27,"unpackedSize":234578,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC+3AhQuJYKOmpA9TPH4nILVH/BhGDaAR4snLKjxPWjLQIgGBAuPvrlw+4Txj8aZBL5oYffcAoTS+yK99Q77zAvDLc="}]},"_npmUser":{"name":"danielfdsilva","email":"daniel@developmentseed.org"},"directories":{},"maintainers":[{"name":"dsio","email":"dev@developmentseed.org"},{"name":"kamicut","email":"marcfarra@gmail.com"},{"name":"dsorg","email":"dev@developmentseed.org"},{"name":"olafveerman","email":"olaf@developmentseed.org"},{"name":"danielfdsilva","email":"daniel@developmentseed.org"},{"name":"alukach","email":"anthonylukach@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deck.gl-healpix-zarr_0.3.1_1783615241734_0.2315418303878236"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-16T15:16:41.621Z","modified":"2026-07-09T16:40:42.461Z","0.3.0":"2026-06-16T15:16:42.015Z","0.3.1":"2026-07-09T16:40:41.881Z"},"author":{"name":"Daniel da Silva","email":"daniel@developmentseed.org"},"license":"MIT","description":"HEALPix Zarr tile pyramid layer for deck.gl","maintainers":[{"name":"dsio","email":"dev@developmentseed.org"},{"name":"kamicut","email":"marcfarra@gmail.com"},{"name":"dsorg","email":"dev@developmentseed.org"},{"name":"olafveerman","email":"olaf@developmentseed.org"},{"name":"danielfdsilva","email":"daniel@developmentseed.org"},{"name":"alukach","email":"anthonylukach@gmail.com"}],"readme":"# @developmentseed/deck.gl-healpix-zarr\n\nA deck.gl layer for rendering HEALPix data from a [HEALPix Pyramid Zarr](../../docs/specs/healpix-pyramid-zarr.md) store (Zarr v3).\n\n`HealpixZarrTileLayer` extends [`HealpixTileLayer`](../deck.gl-healpix-tile) from `@developmentseed/deck.gl-healpix-tile`, adding Zarr-specific data loading. It reads pyramid metadata on mount, selects an nside for the current zoom level, and renders tiles with `HealpixCellsLayer`.\n\n**Store format:** see [docs/specs/healpix-pyramid-zarr.md](../../docs/specs/healpix-pyramid-zarr.md) for layout, attributes, arrays, and conformance rules.\n\n**Tile index convention:** `{ x, y, z }` where `x` = parent cell at `nside_partition` (NESTED), `y` = `log2(nside_partition)`, `z` = `log2(nside)` for the data level. Selected `bands` are loaded from `bands/<name>` and interleaved per pixel as `[b0_p0, b1_p0, …, b0_p1, …]` in prop order. Tile ids are `z-y-x`.\n\n## Installation\n\n```bash\nnpm install @developmentseed/deck.gl-healpix-zarr\n```\n\nPeer dependencies: `@deck.gl/core`, `@deck.gl/geo-layers`, `@deck.gl/layers`, `@luma.gl/core`, `@luma.gl/engine`.\n\n## Usage\n\n```typescript\nimport {\n  HealpixZarrTileLayer,\n  type ZarrPyramidMetadata,\n} from '@developmentseed/deck.gl-healpix-zarr';\nimport { HEALPIX_COLOR_MODE_RGB } from '@developmentseed/deck.gl-healpix';\n\nconst layer = new HealpixZarrTileLayer({\n  url: 'https://example.com/sentinel2-pyramid.zarr',\n  bands: ['b04', 'b03', 'b02'],\n  colorMode: HEALPIX_COLOR_MODE_RGB,\n  onMetadata: (meta: ZarrPyramidMetadata) => {\n    console.log(meta.bands, meta.nsides);\n  },\n});\n```\n\n### Zarr-specific props\n\n| prop | type | default | description |\n|------|------|---------|-------------|\n| `url` | `string` | `''` | URL of a store conforming to the [data spec](../../docs/specs/healpix-pyramid-zarr.md) |\n| `bands` | `string[] \\| null` | `null` | Bands to load; `null` loads nothing. Order sets interleaved value columns. |\n| `onMetadata` | `function` | — | `(meta: ZarrPyramidMetadata, root) => void` called when root metadata loads (and again if `url` changes) |\n\n`ZarrPyramidMetadata` provides `bands`, `nsides`, `baseNside`, `minNside`, and `parentLevels` derived from root Zarr attributes.\n\n### Inherited props\n\nAll visual and tile-control props come from `HealpixTileLayer` — see [@developmentseed/deck.gl-healpix-tile](../deck.gl-healpix-tile):\n\n| prop | type | default | description |\n|------|------|---------|-------------|\n| `nsideOffset` | `number` | `5` | Shifts the zoom-to-nside mapping: `nside = 2^round(zoom + nsideOffset)`. **Advanced:** rarely needs adjustment; changing the default loads significantly more data. |\n| `colorMode` | `number` | RGB | Forwarded to `HealpixCellsLayer` |\n| `colorMap` | `Uint8Array` | — | 256×4 RGBA LUT for scalar modes |\n| `rescaleMin` / `rescaleMax` | `number` | — | Scalar range → colorMap indices 0–255 |\n| `filterMin` / `filterMax` | `number` | — | Discard cells outside range |\n| `shaderModules` | `ShaderModule[]` | `[]` | Per-tile shader modules |\n| `debugTiles` | `boolean` | `false` | Yellow border and `z-y-x` tile id label on each loaded tile |\n| `onStats` | `function` | — | Tile/cell render counts after each update |\n\nOther `TileLayer` props are forwarded (`maxCacheSize`, `refinementStrategy`, …).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}