Prices arrive on their own over GET /demo/ticks, a server-sent event stream. The browser subscribes with its own EventSource, which the island declares rather than borrows: #[js_extern] names the JavaScript operation and the compiler emits it.
the counter island | the nesting island | the searching island | the showcase | back to the three panels
Five signals, one per symbol. The list reads all five, so a tick that writes one of them re-runs it: that is what re-ranks the rows, and the keys are the symbols, so a row that moves keeps the node it had. The chart is handed a Rust struct, which crosses as a JavaScript object.
The chart library here is the contract suite's recorder, which draws nothing and writes down what it was asked to do. A real one takes its place by pointing the topcoat-chart entry of the import map at it; the island's declarations already name the surface a real one has.