kumulant

mergeSnapshot

Snapshot merge using only the immutable result. Mirrors RegressionTree.merge but the "other" side is a TreeNodeResult tree-of-results rather than a live tree. F64VectorView only, for the same reason snapshot is.

An extension rather than a member because it exists only at Row = F64VectorView, which a member of a generic class cannot be constrained to. The algorithm is TreeGrowth.mergeSnapshot.

snapshot

Freeze a live F64VectorView tree node into an immutable, serializable snapshot. Internal split aggregates are derived from the snapshotted children so the wire format stays stable even though live splits hold no arm.

Snapshotting is F64VectorView-only because the wire format requires SerializableSplit; a F64VectorView tree is always grown from SerializableSplit candidates, so the cast on each split is safe by construction.