@Scruffynerf,
Fair enough, and I get asked about that often.
You can implement a poor version now, but it will be limited in capabilities.
The setVars websocket API supports arrays. You can push either an unpacked [r,g,b,...]
or maybe a packed array with 16.8 bits: [ (r<<16 | g<<8 | b) / 256, ...]
and a simple pattern can render the array to pixels.
p = pixels[index]
var r = p >>8, g = p & 0xff, b = (p * 256 + .5) & 0xff
rgb(r, g, b)
There will be scale and FPS limitations though, I think it would work for a few hundred pixels perhaps.
Now a non-json binary protocol for variables/controls, perhaps over UDP could be much more efficient. This bleeds in to some other ideas on the backburner. Obviously a standards compliant network pixel protocol would be ideal, but sharing variables/control data over the network could open up all kinds of fun stuff, like broadcasting an expansion board’s data, sharing data between PBs, and things like that.