trellis_sparse_mrp_mlx/tests
John 5dd3f11d92 Decoder ops: spatial<->channel, ConvNeXt block, C2S upsampling block
Completes the sparse op surface Pixal3D's decoders need.

spatial2channel/channel2spatial are sparse space-to-depth and its inverse. The slot
index is sum_i (coord[i] % f) * f**i - axis 0 FASTEST varying, the reverse of C order.
 decodes it the same way; using C order in one and this in the other would
misplace every child while keeping all shapes valid.

SparseResBlockC2S3d widens to out_channels*8 so channel2spatial can redistribute those
channels across the 8 children, with a predicted subdiv mask deciding which children
exist - so the occupied set grows selectively (32 voxels -> 122, not 256).

Tests cover exact round-trip, zero-fill of unoccupied slots, and selective growth.
2026-08-02 13:24:59 +10:00
..
test_dit.py Derive RoPE phases from coordinates for the sparse SLAT flows 2026-08-02 12:05:33 +10:00
test_ops.py Shared TRELLIS-lineage sparse core in MLX 2026-08-02 10:31:07 +10:00
test_sparse.py Decoder ops: spatial<->channel, ConvNeXt block, C2S upsampling block 2026-08-02 13:24:59 +10:00