diff --git a/examples/streaming-counter.ds b/examples/streaming-counter.ds new file mode 100644 index 0000000..a1c65c8 --- /dev/null +++ b/examples/streaming-counter.ds @@ -0,0 +1,26 @@ +-- DreamStack Streaming Counter +-- A reactive counter that streams all signal changes +-- to remote receivers via the bitstream relay. +-- +-- Run with: +-- cargo run -p ds-stream & +-- dreamstack stream examples/streaming-counter.ds + +let count = 0 +let doubled = count * 2 +let message = "Streaming Counter" + +stream counter on "ws://localhost:9100" { mode: signal } + +view counter = + column [ + text message + text count + text doubled + row [ + button "-" { click: count -= 1 } + button "+" { click: count += 1 } + ] + when count > 10 -> + text "On fire!" + ] diff --git a/examples/streaming-receiver.ds b/examples/streaming-receiver.ds new file mode 100644 index 0000000..a07bfb2 --- /dev/null +++ b/examples/streaming-receiver.ds @@ -0,0 +1,15 @@ +-- DreamStack Streaming Receiver +-- Connects to a remote stream and renders the received signal state. +-- +-- Run with: +-- (source must be running first) +-- dreamstack dev examples/streaming-receiver.ds --port 3001 + +let remote = stream from "ws://localhost:9100" + +view main = + column [ + text "📡 Remote Stream" + text "Count: {remote.count}" + text "Doubled: {remote.doubled}" + ]