AttributeChannel
Single owner of the pipeline work behind one attribute key: subscribes the passes that read the keyed buffer and holds the per-range state those passes consume.
Remarks
protected BaseModifier Provider{ get }An active writer, for dispatching hooks a pass needs from the writer's type. Any of them serves: a pass reads the merged buffer and this channel's state, never a writer's fields.
Releases pooled state acquired by OnActivate.
Rebinds whatever OnActivate captured from Provider, after that writer left with others still active. A channel that captures nothing needs no override.
Brings state the writers append to back to a valid start, once per apply cycle before the first BaseModifier.OnApply of that cycle. Every writer of the key re-applies within one cycle, so entries collected here are always complete.
protected UniTextBase uniTextThe component this channel serves, from its first writer until release.
protected UniTextBuffers buffersText-processing buffers of uniText.
