Hi. Thanks to all for the links.
And great work on the Shader Editor for Chrome, Jaume!
For the diagnostic report I was thinking about a brief rolling summary -- instead of showing rapid values at the frame level it would show a representative example of shaders discovered across a recent window of time.
Each shader would only appear once per report along with a single example of recent uniform values and attribute metadata to go with. If this were viewed live, I imagine the data would refresh on a human interval (like once per second).
Another reason I am looking for lightweight/cross-browser is to use later with automated testing. For example, if a WebGL app has a freestyle camera it might produce slightly-different pixels across similar runs, even on the same device. That seems to make systematic comparisons challenging. But a diagnostic report could allow the essence of state to be easily compared -- even across desktop and mobile. And the ability to diff WebGL state machines (even in a limited fashion) seems like it could be useful for other purposes too.
Were you planning to add uniform values to your extension by querying in the moment or as part of tracing?
Looking through the WebGL spec it seems like the query APIs could be used to discover state without maintaining references to the past. In theory that means diagnostics could be rigged using just lightweight instrumentation, so I'm going to run some experiments this weekend and see if it actually works in practice!
-Tim