The #3483 categorical PAM sidecar feature wires _write_category_sidecar() into every to_geotiff write path. The eager numpy writer, the dask streaming writer, and the GPU (nvCOMP) writer each call it after writing pixels (_writers/eager.py lines 831, 880, 1063, 1159).
The feature's tests (xrspatial/tests/test_rasterize_categorical_3482.py) only round-trip the eager numpy path. The dask and GPU branches each have their own emit call that no test touches, so dropping the sidecar emit on one of those branches in a refactor would lose category labels and colors with no failing test.
I probed both on a CUDA host: a categorical int32 raster written through the dask streaming writer and through the GPU writer both emit the sidecar and read back the names and RGBA colors correctly today. So this is a backend coverage gap, not a source bug.
Also untested: the category_colors=None branch of build_pam_xml (no Red/Green/Blue/Alpha columns) and the names-only read path. The existing suite always supplies colors.
Plan, test-only, in xrspatial/geotiff/tests/write/: dask write round-trip of names + colors; GPU write round-trip (requires_gpu); names-only round-trip.
The #3483 categorical PAM sidecar feature wires
_write_category_sidecar()into everyto_geotiffwrite path. The eager numpy writer, the dask streaming writer, and the GPU (nvCOMP) writer each call it after writing pixels (_writers/eager.pylines 831, 880, 1063, 1159).The feature's tests (
xrspatial/tests/test_rasterize_categorical_3482.py) only round-trip the eager numpy path. The dask and GPU branches each have their own emit call that no test touches, so dropping the sidecar emit on one of those branches in a refactor would lose category labels and colors with no failing test.I probed both on a CUDA host: a categorical int32 raster written through the dask streaming writer and through the GPU writer both emit the sidecar and read back the names and RGBA colors correctly today. So this is a backend coverage gap, not a source bug.
Also untested: the
category_colors=Nonebranch ofbuild_pam_xml(no Red/Green/Blue/Alpha columns) and the names-only read path. The existing suite always supplies colors.Plan, test-only, in
xrspatial/geotiff/tests/write/: dask write round-trip of names + colors; GPU write round-trip (requires_gpu); names-only round-trip.