Skip to content

Latest commit

 

History

History
286 lines (205 loc) · 23.4 KB

File metadata and controls

286 lines (205 loc) · 23.4 KB

Changelog

Unreleased

  • feat: Web Mercator axis-aligned cutline support by @kylebarron in #424
  • feat(geotiff): New internal method to fetch multiple tiles concurrently, with range coalescing by @kylebarron in #530
  • feat(geotiff): route fetchTiles through batched, range-coalescing getTiles by @kylebarron in #531

v0.7.0 - 2026-05-13

Breaking Changes

  • chore!: Rename TilesetDescriptor to RasterTilesetDescriptor by @kylebarron in #547
  • refactor!: Make MosaicTileset2D private by @kylebarron in #550
    • Ensure you're only using the top-level MosaicLayer, not the previously-exported MosaicTileset2D. Also ensure you import the MinimalTileData type from the deck.gl-raster package, not from deck.gl-geotiff.

New Features

  • feat: Vermont open data example by @kylebarron in #502
  • feat: Update land-cover example to have filterable categories by @kylebarron in #506
  • feat: Use devicePixelRatio for level of detail computation in tile traversal by @kylebarron in #513
  • feat(geotiff): thread AbortSignal through GeoTIFF open/fromUrl by @kylebarron in #515
  • feat: Spiral out loading by @kylebarron in #477
  • feat(mosaic)!: add explicit key?: string to mosaic sources by @kylebarron in #533
  • feat: Expose onTile callbacks through raster tile layers by @kylebarron in #546

Bug Fixes

  • fix!: Default to linear sampling for non-paletted COGs by @kylebarron in #514
  • fix(examples): correct NDVI range filter in naip-mosaic by @kylebarron in #522
  • fix(mosaic-layer): make sources prop reactive to updates by @kylebarron in #511
  • fix(geotiff): Turn off HTTP request bounds checking by @kylebarron in #527
  • fix: PlanarConfiguration TIFF tag is not required by @kylebarron in #542

Performance Improvements

  • perf(geotiff)!: block-aligned LRU header cache; lazy tile metadata by @kylebarron in #529
  • fix(raster-tileset): memoize tile bounding volumes across traversals by @kylebarron in #525
  • perf(raster-tileset): Reduce re-renders of RasterLayer for same per-tile transforms by @kylebarron in #543
  • perf(raster-layer): avoid re-compiling shader Model as much as possible by @kylebarron in #540

Other

  • refactor: make MultiCOGLayer extend RasterTileLayer by @kylebarron in #499
  • feat(examples): shared component package + migrate cog-basic & sentinel-2 by @kylebarron in #520
  • feat(examples): migrate remaining examples to the shared component package by @kylebarron in #521

Full Changelog: https://github.com/developmentseed/deck.gl-raster/compare/v0.6.1...v0.7.0

v0.6.1 - 2026-04-29

feat: Allow renderTile prop in RasterTileLayer to return null

v0.6.0 - 2026-04-29

New Features

  • Zarr support:
    • feat: Create @developmentseed/geozarr package and define zod schema by @kylebarron in #395
    • feat: Create zarr-tileset as implementation of generic tile traversal by @kylebarron in #397
    • feat: Initial, most basic GeoZarr example by @kylebarron in #399
    • feat: Zarr temporal animation by @kylebarron in #445
    • feat: Zarr AEF example by @kylebarron in #467
  • feat: Sprite-based colormap by @kylebarron in #447
    • feat: Support reversing colormaps on the GPU by @kylebarron in #446
    • feat: Update naip-mosaic example with choice of colormap by @kylebarron in #460
  • refactor: Create RasterTileLayer abstraction in deck.gl-raster package by @kylebarron in #462
  • feat: Split COG tile traversal off TileMatrixSet by @kylebarron in #480

Fixes

  • fix: Define texture2darray precision in colormap module by @kylebarron in #459
  • fix: Handle EPSG:4326 projection with missing units by @kylebarron in #473
  • fix: Allow MinimalTileData to be null in RasterTileLayer by @kylebarron in #484

Performance

  • perf: Cull root tiles in raster-tileset to viewport by @kylebarron in #464
  • perf: use source.coop proxy for dynamical Zarr example by @alukach in #471
  • perf: Don't dynamic-import builtin deflate decoder by @kylebarron in #483

Documentation

  • docs: Expose Zarr package through docs site by @kylebarron in #486
  • docs: inject Plausible analytics into example sites via CI by @aboydnw in #478

Other

  • feat: Brainstorming for COG GCPs support by @kylebarron in #485
  • chore: Fix clean script, fix lockfile by @kylebarron in #481
  • chore: Remove usage of deprecated deck.gl enum by @kylebarron in #474

New Contributors

  • @alukach made their first contribution in #471
  • @jcoyne made their first contribution in #468

Full Changelog: https://github.com/developmentseed/deck.gl-raster/compare/v0.5.0...v0.6.0

v0.5.0 - 2026-04-16

Breaking Changes

  • refactor!: Generalize tile traversal interface by @kylebarron in #391 and refactor(deck.gl-raster)!: Finish generalizing tile traversal by @kylebarron in #394
    • This is only a breaking change if you were using the low-level tile traversal primitives exported by @developmentseed/deck.gl-raster. There were no breaking changes to the COGLayer.

New Features

  • New MultiCOGLayer:
    • feat: Initial work for MultiCOGLayer: cross-resolution tileset for sentinel/landsat by @kylebarron in #408
    • feat: Debug view for MultiCOGLayer by @kylebarron in #410
    • fix: Fix edge tile rendering in MultiCOGLayer by @kylebarron in #411
    • fix: Define byteLength on MultiCOG internal tile data by @kylebarron in #413
    • fix: Ensure we reset state when changing sources in MultiCOGLayer by @kylebarron in #414
    • fix: Filter out nodata pixels in Sentinel-2 example by @kylebarron in #415
  • feat: Pass any TextureSource to MeshTextureLayer by @kylebarron in #369
  • feat(geotiff): Support multi-tile fetching by @kylebarron in #406

Fixes

  • fix: Turn off lighting/material by default by @kylebarron in #423
  • fix: Remove alignment workarounds, bump to deck/luma 9.3 by @kylebarron in #419
  • fix: Move lerc to non-dev dependencies by @kylebarron in #367
  • fix: Fix black flash when panning by @kylebarron in #377

Performance

  • perf: Avoid unnecessary mesh recomputation by @kylebarron in #370
  • perf: Cache the result of bounding volume computation per RasterTileNode by @kylebarron in #371

Other

  • feat: Print tile xyz index in COG Layer debug mode by @kylebarron in #378
  • ci: pin GitHub Actions to SHA digests (fix zizmor unpinned-uses) by @lhoupert in #390
  • refactor: move projection utils from deck.gl-geotiff to proj package by @kylebarron in #398
  • fix: Use MapboxOverlayProps instead of DeckProps in example to fix type check by @kylebarron in #400
  • chore: deduplicate tsconfigs in examples folder by @kylebarron in #426
  • ci: Ensure we typecheck examples by @kylebarron in #427
  • ci: Apply typechecking to source packages on CI by @kylebarron in #430
  • ci: deploy docs only on release tags by @kylebarron in #433
  • feat: Clean up sentinel-2 example by @kylebarron in #437
  • docs: Add link from example cards to code source by @kylebarron in #439
  • docs: Update screenshots in docs by @kylebarron in #440
  • docs: Update examples to link back to docs website by @kylebarron in #441

New Contributors

  • @lhoupert made their first contribution in #390

Full Changelog: https://github.com/developmentseed/deck.gl-raster/compare/v0.4.0...v0.5.0

v0.4.0 - 2026-03-20

What's Changed

  • feat: expose maxRequests on COGLayer by @maxrjones in #333
  • fix: Bump proj4 to fix web mercator projection by @kylebarron in #346
  • fix: fix setting default values for inherited props from TileLayer by @kylebarron in #347
  • fix: Render mesh from Web Mercator coordinates by @kylebarron in #349
  • fix: Clamp to Web Mercator latitude bounds by @kylebarron in #182
  • feat: create new @developmentseed/proj subpackage by @kylebarron in #356
  • fix: Support TileLayer refinement strategies by @kylebarron in #354
  • feat: add ndvi filter slider to NAIP-mosaic example by @kylebarron in #357

New Contributors

  • @maxrjones made their first contribution in #333
  • @aboydnw made their first contribution in #348

Full Changelog: https://github.com/developmentseed/deck.gl-raster/compare/v0.3.0...v0.4.0

v0.3.0 - 2026-03-18

What's Changed

  • fix: Fix shader caching by @kylebarron in #221
  • feat: Create new geotiff subpackage, abstracting over @cogeotiff/core by @kylebarron in #223
  • feat(affine): Create new affine standalone package as port of Python affine by @kylebarron in #224
  • feat: Initial GeoTIFF dynamic decoder API by @kylebarron in #226
  • feat(geotiff): Overhaul GeoTIFF and Overview classes by @kylebarron in #225
  • chore: Use @chunkd/source-file in tests for loading tiffs by @kylebarron in #227
  • feat(geotiff): Support decoding JPEG and WebP-compressed COGs by @kylebarron in #229
  • feat(geotiff): High-level CRS handling from GeoTIFF GeoKeys by @kylebarron in #236
  • feat: Create morecantile subpackage by @kylebarron in #238
  • feat(geotiff): generate TileMatrixSet from GeoTIFF instance by @kylebarron in #235
  • feat: Overhaul to use our geotiff package & generic TileMatrixSet support by @kylebarron in #208
  • feat: Add AbortSignal support to GeoTIFF.fetchTile by @kylebarron in #243
  • chore: Update code for new upstream SamplesPerPixel typing by @kylebarron in #245
  • test(geotiff): Add integration tests against geotiff.js by @kylebarron in #246
  • feat(geotiff): LZW and Predictor support by @kylebarron in #247
  • fix: Fix rendering of YCbCr-encoded JPEG images by @kylebarron in #249
  • feat(geotiff): Support non-boundless reads by @kylebarron in #250
  • feat(geotiff): Add tileCount property to GeoTIFF and Overview by @kylebarron in #254
  • feat(geotiff): User-specified prefetch size by @kylebarron in #256
  • fix: Fix declared luma.gl dependency by @kylebarron in #265
  • fix: Fix TileMatrixSetTileset projected bounds computation for each tile by @kylebarron in #274
  • feat: Add mesh max error slider to NLCD example by @kylebarron in #271
  • feat: add zstd via fzstd by @gadomski in #263
  • feat: Offset transform by half pixel for pixel-is-point raster type by @kylebarron in #286
  • feat: New @developmentseed/epsg package for shipping compressed EPSG code bundle by @kylebarron in #262
  • fix: Ensure 4-byte alignment on texture buffers by @kylebarron in #289
  • chore: Update import of TiffImageTileCount by @kylebarron in #291
  • fix: Update naip-mosaic example to use our geotiff package by @kylebarron in #293
  • fix: Turn off TIFF chunking for now by @kylebarron in #295
  • feat: Decoder pool by @kylebarron in #277
  • docs: Rewording of readme by @kylebarron in #296
  • feat: Support reading band-interleaved COGs by @kylebarron in #297
  • feat(geotiff): Separate source for header fetches and data fetches by @kylebarron in #299
  • refactor: Cleaner type defs for DecodedPixels and RasterArray by @kylebarron in #306
  • fix: Avoid unnecessarily calling inferDefaultPipeline by @kylebarron in #307
  • fix: Force loading gdal tags (nodata and metadata) by @kylebarron in #308
  • test(geotiff): Set up integration tests against rasterio by @kylebarron in #311
  • feat: Handle GeoTIFF transparency masks by @kylebarron in #309
  • feat: Support lerc+deflate and lerc+zstd by @kylebarron in #314
  • feat: Parse GDAL_Metadata TIFF tag, including stored statistics and offsets/scales by @kylebarron in #316
  • feat: Support grayscale photometric interpretation by @kylebarron in #179
  • fix: Fix adding alpha channel to uint16 image by @kylebarron in #318
  • feat: Update cog-basic example app with drop-down image selector by @kylebarron in #323
  • fix: Fix passing general layer props down to RasterLayer by @kylebarron in #329
  • docs: Initial creation of docusaurus-based documentation website by @kylebarron in #304
  • ci: Fix docs publish; fetch submodules by @kylebarron in #331
  • docs: Initialize blog on website by @kylebarron in #332
  • docs: API docs review by @kylebarron in #335
  • ci: Fix building examples as part of docs website generation by @kylebarron in #336
  • docs: Add example nav pane in top bar by @kylebarron in #337
  • docs: Switch to DS logos and add simple static search index by @kylebarron in #338
  • docs: Update hero image with USGS unsplash photo by @kylebarron in #339
  • docs: Use smaller hero image for slightly smaller download size by @kylebarron in #340

Full Changelog: https://github.com/developmentseed/deck.gl-raster/compare/v0.2.0...v0.3.0

0.3.0-beta.2 (2026-02-19)

Features

  • feat: Add AbortSignal support to GeoTIFF.fetchTile (9d133b8)

0.3.0-beta.1 (2026-02-18)

Features

  • affine: Create new affine standalone package as port of Python affine (ce7b73d)
  • Create morecantile subpackage (#238) (20b3ace)
  • Create new geotiff subpackage, abstracting over @cogeotiff/core (#223) (4fa5230)
  • geotiff: generate TileMatrixSet from GeoTIFF instance (#235) (cb1106e)
  • geotiff: High-level CRS handling from GeoTIFF GeoKeys (#236) (559dc03)
  • geotiff: Overhaul GeoTIFF and Overview classes (#225) (857a8c2)
  • geotiff: Support decoding JPEG and WebP-compressed COGs (#229) (3dc6281)
  • Initial GeoTIFF dynamic decoder API (#226) (5d611f3)
  • Overhaul to use our geotiff package & generic TileMatrixSet support (#208) (860a701), closes #216

Bug Fixes

Miscellaneous Chores

0.2.0 (2026-01-26)

Features

Bug Fixes

Performance Improvements

Changelog

0.1.0 - 2026-01-07

Initial release to NPM.