PROTOCOL HELLO
Emit one VET state. Hear one simple renderer respond.
This is the smallest public-safe renderer tutorial. No Soul Bank material, no private selector logic, and no hidden DSP: three state values map to loudness, brightness, and detune in one browser synth.
VET controls
Change the state, then ping the renderer.
Audio locked until you press Start.
Renderer mapping
- Energy → volume
- 0.50 maps to -12 dB.
- Valence → filter brightness
- 0.50 maps to 2600 Hz.
- Tension → detune
- 0.20 maps to -72 cents.
Portable event
The renderer sees state, not private source.
{
"schema_version": "1.0",
"id": "sig_vet_tone_demo_01",
"occurred_at": "2026-05-14T00:00:00Z",
"producer": "vibenet.protocol.hello",
"entity": "renderer.tone_synth",
"event": "renderer.vet_changed",
"channel": "nominal",
"valence": 0.5,
"energy": 0.5,
"tension": 0.2,
"intensity": 0.35,
"hue": 120,
"pulse": 0.5,
"confidence": 1,
"ttl_ms": 6000,
"metadata": {
"demo_id": "vet-tone-demo-01",
"renderer": "tone_synth",
"private_assets_used": false,
"manifest": "/protocol/examples/vet-tone-demo-01.manifest.json",
"vet_stream": "/protocol/examples/vet-tone-demo-01.vet-stream.json"
}
}Boundary
This is a hello world, not the flagship proof.
The page proves the smallest renderer contract: a public state vector can alter sound in a readable way. The full VIBEnet proof remains the shared-clock surface where contract pane, trace, pulse, audio, and sidecars move together.