You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prior to this commit, FixedSizeList was only supported with primitive
element types (e.g., FSL<Float32> for vectors). This adds structural
encoding support for FSL<Struct>, enabling use cases like fixed-size
arrays of bounding boxes, coordinate tuples, or other structured data.
Key changes:
- New `FixedSizeListStructuralEncoder` that encodes FSL validity to
rep/def and delegates child encoding to the struct encoder
- New `StructuralFixedSizeListScheduler` that scales row ranges by the
FSL dimension when scheduling reads
- New `StructuralFixedSizeListDecoder` that reconstructs FSL arrays from
child data and rep/def validity
A key challenge is "garbage filtering": unlike variable-length lists
which can omit children under null entries, FSL children always exist.
When an FSL row is null, any nested list-like types within its children
contain undefined "garbage" data. The encoder normalizes these to empty
null lists before encoding.
0 commit comments