Assemble the final columns: concatenate the top-level segments (one column at a time, bounding transient overhead to a single column's segments) and unfold retained inline entities into the inline range in the model's exact unfold order.
The finished columnar index.
Encode one completed top-level record into the columns. The entry object is not kept unless it carries children (inline entities / multi-mapping).
The completed top-level index entry.
A StepIndexSink that encodes top-level records straight into chunked-segment typed-array columns, so the parse holds no per-record objects for the (overwhelmingly common) simple records. Records with children keep their object form — inline entities are unfolded into the inline column range at finalize, and multi-mapping holders are retained for the model's
complexEntries, matching the object path's behaviour entry-for-entry.resetsupports the streaming builder's rare grow-and-restart: columns rewind to empty without reallocating the first segment.