JavaScript client guide#
This page is not written yet
It is a stub. It names what belongs here and where the source material is. It does not fake content.
Content follows the v1.0 tag on purpose: the normative section must describe what shipped, not what was planned.
What belongs on this page#
The browser client. Cover WebSocket binary frames, the subprotocol, CBOR in the browser, and why optimistic interface state is prohibited.
Source material: clients/js/, this repo's own v1.0 reference
implementation (see the Quickstart for a
worked example), and tools/valence_probe.py for wire parity.
DEMO-CANDIDATE: a live connect-and-subscribe walkthrough in the browser — HELLO to rendered STATE, one frame at a time.
Every client guide covers the same seven things#
Keep the order identical across languages, so a reader who knows one guide can skim another.
- Open the transport and complete the handshake.
- Handle the catalog: fetch, cache by etag, or pin it.
- Pass the ready gate.
- Adopt retained STATE before rendering anything.
- Send an intent and render the echo, never the request.
- Keep the session alive, and honor the deadman if you own a source.
- Handle NACKs, including the range fallback for a code you do not know.
Where to go next#
- Quickstart — the same seven steps, worked end to end.
- Plugin guide — wiring a client into a host application.
- CLI guide — watch what your client did to the motion.