incoming

open override val incoming: Flow<Swatch>

Frames received from peers, in send order, delivered to a single collector. Cold/single-collection semantics: collect once per Seam; fan-out consumers wrap with shareIn. A second concurrent collector is unsupported and will race.

Termination contract: this flow completes (the collection terminates normally) once the seam reaches SeamState.Torn — whether via a local close call or a remote disconnect. Consumers that own resources tied to the incoming stream (e.g. us.tractat.kuilt.quilter.Quilter) use .onCompletion { } to self-clean when the seam tears, without requiring the caller to call their own close() explicitly. Every Loom implementation must honour this contract.