dreamstack/engine/ds-stream/src
enzotar a8235c48b3 feat: stream composition API — select, schema, relay filtering
1. Receiver-side `select` clause:
   - `stream from "url" { select: field1, field2 }`
   - Parser, AST, codegen all updated
   - Emits: `_connectStream(url, ["field1","field2"])`
   - Client-side _csFilter strips unwanted fields

2. Schema announcement (0x32):
   - Sources send output schema on connect
   - Lists registered signal names and mode

3. Relay schema cache:
   - ChannelState stores schema from 0x32
   - Forwarded to late-joining receivers

4. Relay-side subscribe filter (0x33):
   - Receivers send wanted fields after connecting
   - Relay strips unwanted JSON keys from 0x30/0x31
     frames before forwarding — saves bandwidth

Protocol: SchemaAnnounce=0x32, SubscribeFilter=0x33
54 tests pass, all crates build clean.
2026-02-26 10:07:47 -08:00
..
codec.rs feat: stream composition API — select, schema, relay filtering 2026-02-26 10:07:47 -08:00
lib.rs feat: universal bitstream streaming — any input → any output 2026-02-25 10:29:44 -08:00
main.rs feat: universal bitstream streaming — any input → any output 2026-02-25 10:29:44 -08:00
protocol.rs feat: stream composition API — select, schema, relay filtering 2026-02-26 10:07:47 -08:00
relay.rs feat: stream composition API — select, schema, relay filtering 2026-02-26 10:07:47 -08:00