# DreamStack TODO ## Streaming ✅ - [x] Signal streaming, pixel streaming, delta streaming, touch/gamepad/resize input - [x] Pixel streaming for DOM apps, Opus audio, receiver gamepad, adaptive quality - [x] Neural frame types, remaining input types, layout serialization, WASM codec ## Streaming — Phase 2 ✅ - [x] **Stream transforms** — `_streamMap`/`_streamFilter`/`_streamDebounce`/`_streamDistinct`/`_streamThrottle` pipe operators - [x] **Replay / Time-travel** — relay replay ring buffer with configurable `replay_depth` - [x] **Stream recording** — `recording_dir` config in relay for frame-level recording - [x] **Multi-relay federation** — `federation_upstreams` relay config for cross-network forwarding ## Language ✅ - [x] **Closures / lambdas** — `(x) -> x * 2` first-class functions (parser + codegen) - [x] **Pattern destructuring** — `let { count, doubled } = stream from "..."` desugars to dot-access lets - [x] **Async/await** — `await fetch("/api")` native async in handlers - [x] **Better error messages** — source context with line + caret in parse errors ## Composition ✅ - [x] **`merge` operator** — `merge(stream1, stream2)` → `DS._mergeStreams()` reactive merge - [x] **`pipe` operator** — `stream from "..." | fn` pipe syntax in parser + enhanced runtime - [x] **Stream-to-component** — component with dynamic `stream from` param - [x] **Channel groups** — `channel_matches()` wildcard matching: `games/*` matches `games/chess` ## Architecture - [ ] Compiler plugin system for custom output targets - [ ] Language server (ds-lsp) for IDE integration - [ ] Package registry for sharing .ds components