CompositeLoom

constructor(plies: StateFlow<List<Pair<PlyId, Loom>>>, dispatcher: CoroutineContext = Dispatchers.Default)

Parameters

plies

The desired ply set; emit a new value to reconcile (attach/detach).

dispatcher

Forwarded to each CompositeSeam as the scope for its internal coroutines (scheduling only — the woven seam's thread-safety is via a lock + atomics, so it is correct under a multi-threaded dispatcher). Production default (Dispatchers.Default); tests inject a dispatcher derived from the test scheduler.


constructor(plies: List<Pair<PlyId, Loom>>, dispatcher: CoroutineContext = Dispatchers.Default)

Static convenience: a fixed ply set that never changes after weave().