Lift Unroll
Splits a list-typed stream into a size stream plus an element stream. The size stream ticks once per input list; the element stream ticks once per element in order. Inverse of {{component:lift_reroll}}.
How it fits
{{type:[t]}} -> {{component:lift_unroll}} -+-> {{type:UInt64}} (list length)
+-> {{type:t}} (each element in order)
Typical backends
- Per-element transform then regroup: list source -> {{component:lift_unroll}} -> per-element transform -> {{component:lift_reroll}} (consuming the sizes) -> consumer.
- Per-detection OCR with restored grouping: {{component:detect_objects_triton}} -> {{component:lift_unroll}} -> {{component:extract_text_paddleocr}} -> {{component:lift_reroll}}.
- Per-token embeddings with reassembly: token-list source -> {{component:lift_unroll}} -> {{component:extract_text_embedding_bge}} -> {{component:lift_reroll}}.
- Per-face classification with batch restore: face-list source -> {{component:lift_unroll}} -> {{component:classify_image_huggingface}} -> {{component:lift_reroll}}.
Caveats
- Both outputs must be consumed together; the partner {{component:lift_reroll}} requires the sizes to regroup correctly.
- An empty input list emits
0on the size stream and produces no elements for that tick. - Element-stream cadence becomes irregular (one tick per element across all input lists); downstream must tolerate burstiness.
Versionen
- 7cf6bbb8defaultlatestlinuxTransformation

