Skip to content
⌂ Home

Runtime UI themes

The runtime tier is the most flexible Workshop theme: ship content/ui/ and talk to the host over a postMessage bridge. Colors/CSS basics → theme tutorial.

No Node, no undeclared network, no bypassing Audio Core. The host keeps emergency exit chrome and capability checks.

NeedTier
Colors onlycolors
Declarative chromeskin
Packaged CSSstylesheet
Full custom navigation/UIruntime
Terminal window
node .\bin\echo-workshop-sdk.mjs init .\my-ui --recipe custom-ui
node .\bin\echo-workshop-sdk.mjs scaffold .\my-theme --preset runtime

minEchoVersion26.8.20.

content/ui/index.html, app.css, app.js
.echo-sdk/echo-workshop-ui-runtime.d.ts
  1. Your UI runs in a sandboxed iframe.
  2. Request library/playback/queue via postMessage; host checks capabilities.
  3. Results return sanitized — no raw paths or undeclared network.
Terminal window
node .\bin\echo-workshop-sdk.mjs snippet ui-runtime-init
npm run add -- --capability playback:control

examples/retro-modern-ui-runtime/ — library browse, shuffle/repeat, lyrics line, spectrum.

Terminal window
node .\bin\echo-workshop-sdk.mjs example retro-modern-ui-runtime .\retro-ui
npm run dev

Edit content/ui/*npm run watch or checkdev for console + fixture preview.

  • Keep host emergency exit chrome.
  • Sanitation blocks inline injection and remote @import like stylesheet themes.
  • Runtime theme replaces main UI; sandbox plug-in panels are a separate kind.