Skip to content

Typed Rings

CITO operators exchange typed streams. A stream is not just a generic channel table; it has a named shape and a stable meaning.

The current package uses typed surfaces such as:

  • audio mono and stereo streams
  • control streams
  • MIDI event streams
  • note lane streams
  • note voice streams
  • chord state streams
  • scale streams
  • timeline state streams
  • spectrum streams

Typed streams let operators agree about what a connection means. A drum operator can consume note lanes, a synth can consume note voices, a timeline operator can publish beat state, and an audio effect can process stereo audio without guessing from channel names alone.

The same idea is intended to support lower-level tensor and external transport surfaces later, but those are outside the current package.