Skip to content

Validate OME-Zarr 0.5 rendering and client behavior #16

Description

@uermel

Parent epic: #13

Goal

Prove and, where evidence requires, repair client behavior for OME-Zarr 0.5 / Zarr v3 while retaining parity for legacy data and existing viewer interactions.

Scope

  • Test the exact current @idetik/core 0.35.0 / Zarrita 0.7.3 lock first.
  • Add component tests for image-source creation, loading/error states, contrast initialization, layer disposal, and segmentation overlays.
  • Add real-browser tests through the production-shaped HTTP proxy for every fixture category.
  • Validate OME-Zarr 0.4 and 0.5 metadata discovery and Zarr v2/v3 arrays.
  • Validate canonical sharding_indexed, numcodecs.shuffle, and Zstandard decoding.
  • Assert decoded checksums/values, shapes, dtypes, level selection, channel selection, contrast, and axial/coronal/sagittal orientation.
  • Validate segmentation labels, color/opacity, pick overlays, and coordinate alignment.
  • Assert expected HEAD and Range network behavior for sharded reads and detect unexpected full-shard transfers.
  • Cover abort, loading, error, and empty states with no uncaught browser errors.
  • Upgrade Idetik/Zarrita only if a minimal fixture-backed reproduction proves the locked versions insufficient, and isolate that change for review.

Acceptance criteria

  • OME-Zarr 0.4 / Zarr v2 and OME-Zarr 0.5 / Zarr v3 render in one client build.
  • Canonical integer and shuffled floating-point data decode to manifest checksums.
  • Multiscale levels, channels, coordinate transforms, orientations, and contrast match expectations.
  • Segmentation and pick overlays align and preserve existing interaction behavior.
  • Sharded browser reads use bounded range requests.
  • Browser tests report no uncaught errors, codec warnings, or runaway request loops.
  • Any reader dependency upgrade includes the minimal reproduction and a reviewed lock-file delta.

Out of scope

  • Replacing Idetik/Zarrita without a demonstrated blocker.
  • Implementing backend retry logic in the browser.
  • Changing the core storage layout or codecs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    zarr-v3-migrationMigration to OME-Zarr 0.5 and Zarr v3

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions