diff --git a/.changeset/export-feature-row-classification.md b/.changeset/export-feature-row-classification.md deleted file mode 100644 index 844f6e5e..00000000 --- a/.changeset/export-feature-row-classification.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -'@spatialdata/vis': minor ---- - -Export the feature-row classification alongside the points feature state. - -`usePointsFeatureState` returns raw engine signals — `residentCodes`, -`loadedMatchingCodes`, `matchingLoadState`, `supportsOnDemandLoad` — and -`describeFeatureRowState` is what turns them into a row's rendered state: whether -it is dimmed, a short label, and a sentence explaining why. Only the former was -reachable from the package entry, so an embedder building its own feature list had -the data but not the reading of it, and had to re-derive a precedence order -(resident/rendered beat selection and scan state) that is easy to get subtly wrong -— the failure mode being a panel that greys a feature the canvas is drawing. - -Adds `describeFeatureRowState` and `featureRowOpacity`, plus the types -`FeatureRowState`, `FeatureRowStateInput` and `FeatureRowTone`. No behaviour -change; these already backed the built-in `PointsFeatureFilterPanel`. diff --git a/.changeset/fix-worker-entry-module-format.md b/.changeset/fix-worker-entry-module-format.md deleted file mode 100644 index 5b4dc511..00000000 --- a/.changeset/fix-worker-entry-module-format.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -'@spatialdata/core': patch ---- - -Emit the `workers` and `points-worker` entries as ES modules. - -The lib `fileName` named only `index` per format; every other entry got -`${entryName}.js` from BOTH the es and cjs passes, so the cjs output silently -overwrote the es one. `dist/workers.js` and `dist/points-worker.js` therefore -shipped as CommonJS under a `.js` extension inside a `"type": "module"` package — -files nothing can load. - -`enablePointsWorker` constructs the worker with `new Worker(url, { type: 'module' })`, -so loading the published `points-worker.js` failed with `ReferenceError: require is -not defined` and the worker never answered. That made the points worker impossible -to start outside this repo, and with it the feature-index scan: a points selection -whose rows fall beyond the memory cap could not be fetched at all, because -`loadPointsMatchingFeatureCodes` throws rather than falling back to the main thread. -The demo did not catch it because it imports the worker's TypeScript source by -relative path. - -Every entry now names its format, and `./workers` gains explicit `import`/`require` -conditions. A packaging test asserts each `exports` target really is in the module -system its extension and the package `type` imply. diff --git a/.changeset/surface-failed-feature-scan.md b/.changeset/surface-failed-feature-scan.md deleted file mode 100644 index 81b6735d..00000000 --- a/.changeset/surface-failed-feature-scan.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -'@spatialdata/core': minor -'@spatialdata/vis': minor ---- - -Report a failed feature-index scan instead of going quiet. - -`getMatchingLoadState` returned `undefined` for a failed `matching` slot — exactly -what it returns for "no scan has ever run" — and nothing else exposed the error. So -a scan that failed looked identical to one that had not started, while the render -path carried on filtering the resident batch. The panel showed whichever part of the -selection happened to be inside the memory cap and presented it as the complete -answer. - -`PointsMatchingLoadState` gains `failed` and `error`, reported for the selection the -failed scan would have covered (and only that one — a stale failure for a selection -the user has since changed is not attributed to the new one, and a retained good -batch no longer masks it). `usePointsFeatureState` gains `retryFailedLoads`, and the -built-in feature filter panel now says the load failed, says the canvas is showing -only what was already in memory, and offers Retry when the error is retryable. diff --git a/packages/avivatorish/CHANGELOG.md b/packages/avivatorish/CHANGELOG.md index fadda4e9..a337ac0b 100644 --- a/packages/avivatorish/CHANGELOG.md +++ b/packages/avivatorish/CHANGELOG.md @@ -1,5 +1,7 @@ # @spatialdata/avivatorish +## 0.8.0 + ## 0.7.0 ## 0.6.0 diff --git a/packages/avivatorish/package.json b/packages/avivatorish/package.json index 26d8f94f..89844dd0 100644 --- a/packages/avivatorish/package.json +++ b/packages/avivatorish/package.json @@ -1,6 +1,6 @@ { "name": "@spatialdata/avivatorish", - "version": "0.7.0", + "version": "0.8.0", "description": "Viv loaders, channel stats, and Zustand state (Avivator/MDV lineage) for spatial images", "type": "module", "module": "./dist/index.js", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 6ecdb9f8..4e103da2 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,48 @@ # @spatialdata/core +## 0.8.0 + +### Minor Changes + +- [#152](https://github.com/Taylor-CCB-Group/SpatialData.js/pull/152) [`223e066`](https://github.com/Taylor-CCB-Group/SpatialData.js/commit/223e066a97bc01560cce868fd7455d2bd73212fc) Thanks [@xinaesthete](https://github.com/xinaesthete)! - Report a failed feature-index scan instead of going quiet. + + `getMatchingLoadState` returned `undefined` for a failed `matching` slot — exactly + what it returns for "no scan has ever run" — and nothing else exposed the error. So + a scan that failed looked identical to one that had not started, while the render + path carried on filtering the resident batch. The panel showed whichever part of the + selection happened to be inside the memory cap and presented it as the complete + answer. + + `PointsMatchingLoadState` gains `failed` and `error`, reported for the selection the + failed scan would have covered (and only that one — a stale failure for a selection + the user has since changed is not attributed to the new one, and a retained good + batch no longer masks it). `usePointsFeatureState` gains `retryFailedLoads`, and the + built-in feature filter panel now says the load failed, says the canvas is showing + only what was already in memory, and offers Retry when the error is retryable. + +### Patch Changes + +- [#150](https://github.com/Taylor-CCB-Group/SpatialData.js/pull/150) [`dadcbf8`](https://github.com/Taylor-CCB-Group/SpatialData.js/commit/dadcbf81ea623c6e7b1b83728ff65faf1b2c3451) Thanks [@xinaesthete](https://github.com/xinaesthete)! - Emit the `workers` and `points-worker` entries as ES modules. + + The lib `fileName` named only `index` per format; every other entry got + `${entryName}.js` from BOTH the es and cjs passes, so the cjs output silently + overwrote the es one. `dist/workers.js` and `dist/points-worker.js` therefore + shipped as CommonJS under a `.js` extension inside a `"type": "module"` package — + files nothing can load. + + `enablePointsWorker` constructs the worker with `new Worker(url, { type: 'module' })`, + so loading the published `points-worker.js` failed with `ReferenceError: require is +not defined` and the worker never answered. That made the points worker impossible + to start outside this repo, and with it the feature-index scan: a points selection + whose rows fall beyond the memory cap could not be fetched at all, because + `loadPointsMatchingFeatureCodes` throws rather than falling back to the main thread. + The demo did not catch it because it imports the worker's TypeScript source by + relative path. + + Every entry now names its format, and `./workers` gains explicit `import`/`require` + conditions. A packaging test asserts each `exports` target really is in the module + system its extension and the package `type` imply. + ## 0.7.0 ## 0.6.0 diff --git a/packages/core/package.json b/packages/core/package.json index 8f5d0c5f..a5a299a7 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@spatialdata/core", - "version": "0.7.0", + "version": "0.8.0", "description": "Core library for interfacing with SpatialData stores", "type": "module", "module": "./dist/index.js", diff --git a/packages/layers/CHANGELOG.md b/packages/layers/CHANGELOG.md index be338526..ec94966a 100644 --- a/packages/layers/CHANGELOG.md +++ b/packages/layers/CHANGELOG.md @@ -1,5 +1,12 @@ # @spatialdata/layers +## 0.8.0 + +### Patch Changes + +- Updated dependencies [[`dadcbf8`](https://github.com/Taylor-CCB-Group/SpatialData.js/commit/dadcbf81ea623c6e7b1b83728ff65faf1b2c3451), [`223e066`](https://github.com/Taylor-CCB-Group/SpatialData.js/commit/223e066a97bc01560cce868fd7455d2bd73212fc)]: + - @spatialdata/core@0.8.0 + ## 0.7.0 ### Patch Changes diff --git a/packages/layers/package.json b/packages/layers/package.json index c07280e6..f9f4c94e 100644 --- a/packages/layers/package.json +++ b/packages/layers/package.json @@ -1,6 +1,6 @@ { "name": "@spatialdata/layers", - "version": "0.7.0", + "version": "0.8.0", "description": "deck.gl CompositeLayer and versioned SpatialLayerProps for SpatialData rendering", "type": "module", "module": "./dist/index.js", diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 26621e7b..24f2a934 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,12 @@ # @spatialdata/react +## 0.8.0 + +### Patch Changes + +- Updated dependencies [[`dadcbf8`](https://github.com/Taylor-CCB-Group/SpatialData.js/commit/dadcbf81ea623c6e7b1b83728ff65faf1b2c3451), [`223e066`](https://github.com/Taylor-CCB-Group/SpatialData.js/commit/223e066a97bc01560cce868fd7455d2bd73212fc)]: + - @spatialdata/core@0.8.0 + ## 0.7.0 ### Patch Changes diff --git a/packages/react/package.json b/packages/react/package.json index 70adb17b..51737967 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@spatialdata/react", - "version": "0.7.0", + "version": "0.8.0", "description": "React hooks and components for SpatialData", "type": "module", "module": "./dist/index.js", diff --git a/packages/vis/CHANGELOG.md b/packages/vis/CHANGELOG.md index 1eb802e7..f8817d1a 100644 --- a/packages/vis/CHANGELOG.md +++ b/packages/vis/CHANGELOG.md @@ -1,5 +1,48 @@ # @spatialdata/vis +## 0.8.0 + +### Minor Changes + +- [#146](https://github.com/Taylor-CCB-Group/SpatialData.js/pull/146) [`9cd27cc`](https://github.com/Taylor-CCB-Group/SpatialData.js/commit/9cd27cc1e665b08959f5b6214dd17bd518b39ae7) Thanks [@xinaesthete](https://github.com/xinaesthete)! - Export the feature-row classification alongside the points feature state. + + `usePointsFeatureState` returns raw engine signals — `residentCodes`, + `loadedMatchingCodes`, `matchingLoadState`, `supportsOnDemandLoad` — and + `describeFeatureRowState` is what turns them into a row's rendered state: whether + it is dimmed, a short label, and a sentence explaining why. Only the former was + reachable from the package entry, so an embedder building its own feature list had + the data but not the reading of it, and had to re-derive a precedence order + (resident/rendered beat selection and scan state) that is easy to get subtly wrong + — the failure mode being a panel that greys a feature the canvas is drawing. + + Adds `describeFeatureRowState` and `featureRowOpacity`, plus the types + `FeatureRowState`, `FeatureRowStateInput` and `FeatureRowTone`. No behaviour + change; these already backed the built-in `PointsFeatureFilterPanel`. + +- [#152](https://github.com/Taylor-CCB-Group/SpatialData.js/pull/152) [`223e066`](https://github.com/Taylor-CCB-Group/SpatialData.js/commit/223e066a97bc01560cce868fd7455d2bd73212fc) Thanks [@xinaesthete](https://github.com/xinaesthete)! - Report a failed feature-index scan instead of going quiet. + + `getMatchingLoadState` returned `undefined` for a failed `matching` slot — exactly + what it returns for "no scan has ever run" — and nothing else exposed the error. So + a scan that failed looked identical to one that had not started, while the render + path carried on filtering the resident batch. The panel showed whichever part of the + selection happened to be inside the memory cap and presented it as the complete + answer. + + `PointsMatchingLoadState` gains `failed` and `error`, reported for the selection the + failed scan would have covered (and only that one — a stale failure for a selection + the user has since changed is not attributed to the new one, and a retained good + batch no longer masks it). `usePointsFeatureState` gains `retryFailedLoads`, and the + built-in feature filter panel now says the load failed, says the canvas is showing + only what was already in memory, and offers Retry when the error is retryable. + +### Patch Changes + +- Updated dependencies [[`dadcbf8`](https://github.com/Taylor-CCB-Group/SpatialData.js/commit/dadcbf81ea623c6e7b1b83728ff65faf1b2c3451), [`223e066`](https://github.com/Taylor-CCB-Group/SpatialData.js/commit/223e066a97bc01560cce868fd7455d2bd73212fc)]: + - @spatialdata/core@0.8.0 + - @spatialdata/layers@0.8.0 + - @spatialdata/react@0.8.0 + - @spatialdata/avivatorish@0.8.0 + ## 0.7.0 ### Minor Changes diff --git a/packages/vis/package.json b/packages/vis/package.json index a1fc2e03..f04c2ef7 100644 --- a/packages/vis/package.json +++ b/packages/vis/package.json @@ -1,6 +1,6 @@ { "name": "@spatialdata/vis", - "version": "0.7.0", + "version": "0.8.0", "description": "React visualisation components for SpatialData", "type": "module", "module": "./dist/index.js",