Skip to content

feat!: adopt metadata-driven Zarr 3 thumbnails - #55

Merged
uermel merged 1 commit into
uermel/zarr-v3-p0-test-gatefrom
uermel/zarr-v3-p1-runtime-thumbnail
Aug 18, 2026
Merged

feat!: adopt metadata-driven Zarr 3 thumbnails#55
uermel merged 1 commit into
uermel/zarr-v3-p0-test-gatefrom
uermel/zarr-v3-p1-runtime-thumbnail

Conversation

@uermel

@uermel uermel commented Aug 18, 2026

Copy link
Copy Markdown
Member

Summary

  • require Python 3.11+, NumPy 2, Zarr 3.1.6+, and the published bare copick>=2.0.0a1,<3 dependency
  • resolve the coarsest tomogram array exclusively from ordered OME-Zarr 0.4/0.5 metadata
  • remove numeric-key and first-key thumbnail fallbacks while keeping the middle-slice read lazy and read-only
  • preserve the public (pixmap, error) and worker callback shapes while returning clean, precise storage errors
  • remove duplicate metadata/path work and an unreachable worker fallback
  • make the ChimeraX thumbnail worker concrete by reusing the unified Qt conversion implementation
  • validate legacy v2, canonical/noncanonical v3 layouts, malformed metadata, worker callbacks, artifact metadata, and the exact published core fixture

Stack

This is stack layer 2 of 4. It targets uermel/zarr-v3-p0-test-gate and contains only the runtime/thumbnail delta above that test baseline.

The run-level tomogram-selection fallback remains intentionally unchanged: when no candidate can be selected, it continues to report No suitable tomogram found in run.

Validation

  • full layer-2 suite: 32 passed, 1 opt-in skip
  • Python 3.11 / Zarr 3.1.6 / copick 2.0.0-alpha.1 exact-core-fixture checks: passed
  • Python 3.12 / locked Zarr 3.3.0 exact-core-fixture checks: passed
  • exact core fixture SHA-256: c6f8e58c9d89c4d4d76208c08563ad34ed9838952666c49f43b5c0c68652f51b
  • Ruff, Black, lock check, build, and wheel metadata inspection: passed

Closes #50
Part of #49
Part of #53

@uermel
uermel force-pushed the uermel/zarr-v3-p1-runtime-thumbnail branch from 070dae8 to 2c41180 Compare August 18, 2026 17:40
@uermel
uermel force-pushed the uermel/zarr-v3-p1-runtime-thumbnail branch from 2c41180 to 72e9787 Compare August 18, 2026 17:42
@uermel
uermel force-pushed the uermel/zarr-v3-p1-runtime-thumbnail branch from 72e9787 to 6f86c65 Compare August 18, 2026 20:59
Use the published copick 2.0 alpha runtime, resolve coarsest tomogram levels from OME metadata, and preserve precise errors through existing public callback shapes.

BREAKING CHANGE: copick-shared-ui now requires Python 3.11, copick 2.0 alpha, NumPy 2, and Zarr 3.
@uermel
uermel force-pushed the uermel/zarr-v3-p1-runtime-thumbnail branch from 6f86c65 to 6965fe2 Compare August 18, 2026 21:09
@uermel
uermel merged commit a02ecfb into v2.0 Aug 18, 2026
7 checks passed
uermel pushed a commit that referenced this pull request Aug 18, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.0.0-alpha.1](copick-shared-ui-v0.7.0...copick-shared-ui-v2.0.0-alpha.1)
(2026-08-18)


### ⚠ BREAKING CHANGES

* adopt metadata-driven Zarr 3 thumbnails
([#55](#55))

### ✨ Features

* adopt metadata-driven Zarr 3 thumbnails
([#55](#55))
([a02ecfb](a02ecfb))


### 🧪 Tests

* establish shared UI migration gate
([#54](#54))
([73b6f74](73b6f74))
* validate migrated thumbnail backends
([#56](#56))
([72f94a7](72f94a7))


### ⚙ Continuous Integration

* bootstrap shared UI v2 alpha version
([a73b9c4](a73b9c4))
* configure shared UI v2 alpha releases
([#57](#57))
([08b9087](08b9087))

---
Merging this PR will publish a copick-shared-ui alpha prerelease to
PyPI.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant