Broadly, I like it better than the alternative. I do notice you're checking for RESOURCE_DIMENSION_2D in a number of places, and that's likely a mistake. In general, buffer resources are the special case, and e.g. 2D, 2D-array, and 3D textures can all be handled by the same code.
Makes sense, I modified the proposal so that the check for RESOURCE_DIMENSION_BUFFER goes first and the other cases go in the `else`.
I think we should also adjust the .shader_test syntax. Instead of [...]
I implemented the suggested syntax in 4/5 and also changed the "probe" syntax in 5/5 for consistency.