Capability explorer

Build a room. Watch it tell the truth.

Add devices, unplug one, ask for 40% brightness, ask which devices can switch. Every answer below is computed by the same Rust capability model the controller runs, compiled to WebAssembly and running in this tab. No controller required.

Clock
Cloud
Elapsed 0 s
Loading the capability model from WebAssembly…
What you are looking at

Three rules, no configuration.

Measured vs commanded

The Bluetooth bulb never turns Good

It has no way to report its own state, so every value it holds is what we last asked for. The model calls that a substitute and says so, forever. The Matter plug reports its relay, so its Switch is Good until it stops reporting.

Age

Unplug something and wait

Each capability declares how long a reading stays worth acting on: 15 seconds for occupancy, five minutes for a light. Switch the clock to ×60 and watch a reading cross that line and downgrade itself. Nothing is deleted; it is just no longer trusted.

Declared resolution

Relays are not dimmers

Each device declares the levels it can reach. The relay board has two, the Matter bulb has 254. Move the slider and every light answers with the level it would actually be at, the same discipline a servo drive uses when it reports actual position.

Read the model in full →