incoming

open override val incoming: Flow<Swatch>

Frames from delegate.incoming, filtered by this seam's lifecycle state.

Frames arriving while SeamState.Weaving are dropped — not buffered. The gate check runs in the consumer's coroutine (not a background pipe), so _state is read at the correct point relative to lifecycle transitions.

The flow completes after tear is called: tear schedules delegate.close in scope, causing delegate.incoming to terminate, which lets this flow exit cleanly. Callers should yield() or advanceUntilIdle() after tear to let the delegate close propagate.

Single-collection contract inherited from Seam.incoming.