diff --git a/brightsign/README.md b/brightsign/README.md index 44dfd21..72023d3 100644 --- a/brightsign/README.md +++ b/brightsign/README.md @@ -95,11 +95,37 @@ Stated plainly so nobody reads this as finished: reload, sync backend) is the next commit. - **No server-side plumbing**: no `sync_backend` column, no dashboard control, nothing sends `set-sync-backend` down. The resolver is ready for it. -- **BrightWall runtime API is unverified.** The MCP doc set covers BrightWall only at provisioning - level (`BrightWallName`, `BrightWallScreenNumber` like `"3x2"`) and video walls via `PlayFile` - `MultiscreenX/Y/Width/Height`. The runtime sync object is not in that doc set — - `documentation/part-6-appendices/api-reference.md` is a stub. **The `brightsign` backend is a - resolved decision, not yet an implementation.** +- **The `brightsign` backend is a resolved decision, not yet an implementation.** The API is now + known (it was not in the MCP doc set — `part-6-appendices/api-reference.md` is a stub — but + `docs.brightsign.biz/developers/syncmanager` and the `brightsign/dev-cookbook` + `examples/browser/syncmanager-js` example document it fully): + + ```js + const SyncManager = require('@brightsign/syncmanager'); // BrightSignOS 8.2.10+ + const sync = new SyncManager('', 'BrightSignDomain', '224.0.126.10', 1539); + sync.leader = true; // followers just omit this + sync.addEventListener('syncevent', (e) => { // BOTH roles listen + if (e.id === lastId) return; // 1Hz rebroadcast — dedupe! + lastId = e.id; + video.setSyncParams(e.domain, e.id, e.iso_timestamp); // extension on