dreamstack/examples
enzotar 392e478351 feat: WebRTC transport — peer-to-peer data channels with auto-fallback
Relay:
- /signal/{channel} path for SDP/ICE exchange via WebSocket
- handle_signaling broadcasts text messages between signaling peers
- signaling_tx broadcast channel in ChannelState
- 46 ds-stream tests (+2 signaling path tests)

JS Runtime:
- _initWebRTC(signalingUrl, streamUrl, mode) with RTCPeerConnection
- Unordered DataChannel (ordered:false, maxRetransmits:0) for low latency
- Auto-fallback: WebSocket starts immediately, WebRTC upgrades in ≤5s
- Data channel override of _streamSend for transparent binary protocol

Parser/AST:
- StreamTransport enum (WebSocket, WebRTC)
- transport field in StreamDecl
- Parses: stream x on url { mode: signal, transport: webrtc }

Codegen:
- WebRTC: emits DS._initWebRTC(sigUrl, streamUrl, mode)
- WebSocket: emits DS._initStream(url, mode) (unchanged)

97 tests, 0 failures
2026-02-25 15:02:31 -08:00
..
benchmarks.html feat: signal propagation benchmarks + dev server HMR fix 2026-02-25 01:06:07 -08:00
counter.ds feat: DreamStack compiler foundation — Phase 0/1 2026-02-25 00:03:06 -08:00
dashboard.html feat: Phase 2+3 — effects, streams, springs, search + dashboard 2026-02-25 00:13:09 -08:00
form.ds feat: two-way binding, form props, and async resources 2026-02-25 08:08:37 -08:00
list.ds feat: for-in list rendering + component system 2026-02-25 01:33:28 -08:00
physics.ds feat: physics language integration — scene container with Rapier2D WASM 2026-02-25 10:58:43 -08:00
playground.html feat: Phase 5 — Live Playground with editor, preview, signal graph, console 2026-02-25 00:27:42 -08:00
router.ds feat: hash-based router + keyed list reconciliation 2026-02-25 07:54:00 -08:00
search.html feat: Phase 2+3 — effects, streams, springs, search + dashboard 2026-02-25 00:13:09 -08:00
showcase.html feat: showcase — What DreamStack Does That Nothing Else Can 2026-02-25 00:34:46 -08:00
springs-visual.html feat(compiler): complete bitstream integration — all 9 changes 2026-02-25 13:26:59 -08:00
springs.ds feat(compiler): complete bitstream integration — all 9 changes 2026-02-25 13:26:59 -08:00
stream-receiver.html feat(demos): sync protocol with Rust codec, add touch/gamepad support 2026-02-25 11:06:42 -08:00
stream-source.html feat(demos): sync protocol with Rust codec, add touch/gamepad support 2026-02-25 11:06:42 -08:00
streaming-counter.ds feat(examples): add streaming .ds examples — compiler-native streaming 2026-02-25 14:34:41 -08:00
streaming-physics.ds feat(examples): add streaming-physics.ds, mark all roadmap items complete 2026-02-25 14:53:12 -08:00
streaming-receiver.ds feat(examples): add streaming .ds examples — compiler-native streaming 2026-02-25 14:34:41 -08:00
streaming-webrtc.ds feat: WebRTC transport — peer-to-peer data channels with auto-fallback 2026-02-25 15:02:31 -08:00
todomvc.ds feat: TodoMVC example with full reactivity 2026-02-25 00:06:20 -08:00
todomvc.html feat: TodoMVC example with full reactivity 2026-02-25 00:06:20 -08:00