Skip to content

Commit f004256

Browse files
committed
docs(zarr-metadata): a changelog fragment for the codec pipeline
Assisted-by: ClaudeCode:claude-opus-5-5
1 parent 77893c9 commit f004256

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
**Breaking:** a v3 array's `codecs` are read as a pipeline: in order --
2+
array -> array codecs, then one array -> bytes codec, then bytes -> bytes
3+
codecs -- and each codec judged against the chunk it is handed, which is
4+
the grid's chunks of the array's data type, as the array -> array codecs
5+
before it hand them on. A codec out of order, a second array -> bytes
6+
codec or none at all; a `bytes` codec without an `endian` handed numbers
7+
of several bytes, or handed values that vary in size; a `transpose` whose
8+
`order` has another number of axes than its chunk; a `cast_value` to or
9+
from a data type that models no real numbers, wrapping to one that is
10+
not integral, or mapping a scalar that is not a fill value of the data
11+
type on its side; a `scale_offset` handed values that are no numbers, or
12+
with an `offset` or `scale` that is not a value of its data type; and a
13+
struct field whose values vary in size are each a problem where they
14+
sit, where the package accepted them before. `read_pipeline(codecs,
15+
chunk)` gives each codec with the chunk it is handed,
16+
`chunk_grid_lengths(grid, shape)` the lengths a grid's chunks take, and
17+
`storage_of(data_type)` how a data type's values are stored. A
18+
definition's `rules` are handed the fields its configuration holds as
19+
the scope read them, and the kinds gain `chunk_lengths` (grids),
20+
`storage` (data types), and `chunk_rules` and `transition` (codecs).

0 commit comments

Comments
 (0)