I know I suggested these cache lookups.  For multipass, it is a shame to have to do them twice.  I can see us missing L2 a lot on both passes.

Another idea is to have a `@private` member on `command` like `oit` with all the properties it needs.  It is left `undefined` for opaque commands.  Although this increases the size of `command`, which means fewer will fit in a cache line, it is probably cleaner and could be faster or at least not slower enough to matter (since I expect number of opaque commands is much greater than number of translucent).