A new feature request: replace (or enable not using) layback. And because I am not sure I understand correctly: please correct me if I read the code wrong and or mis-interpreted the render logic.
What's my point:
When trying to write down a tutorial on ramps with refraction textures, like in Diner, I tried to understand how the renderpipeline works in VPX. I needed to do this, in order to show people how to easily set up Blender in order to render ramps with refraction.
So with the addition in the 10.3 beta of the actual camera position I thought I had all the necessary information to properly setup the camera and objects. I have done this already for Diner, but that was a lot of trial and error and not exact positioning. The Diner ramps are made by making a proper ramp in Blender with Cycles set up for a glass-like shader and render that on top of an actual VPX screenshot, without the ramps, but with all the lights etc. In order to do this, the camera viewpoint from which the ramp is rendered in Blender, needs to be the same as the VPX viewpoint. As said, for Diner I found the correct set up by trial and error (for days on end...).
The good news is: with the actual camera position it is much easier to find the proper set up in Blender. To show that it works:

In the red circles, you can see the camera position in VPX and divided by 1000 also the same in Blender. The blue areas are rendered objects in Blender on top of a VPX screenshot. In Blender the following variables are used for this setup: xscale, yscale, zscale, inclination, camera position and layback.
During making this work, I had to investigate how the render pipeline works to replicate it in Blender. I think it works like this (but please correct me if I am wrong...):
- table elements are scaled with X scale, Y scale and Z scale
- table elements are rotated along inclination (the table is, not the camera)
- table elements are skewed (in Blender: sheared) for half the angle value of layback
- some other code to position the camera based on the objects (I do not understand what is really happening here
)
So all in all: the table with everything on it is transformed in many ways, the camera stays more or less put (after the code has determined where it should be). So changing inclination rotates the table, not the camera. In blender this looks like this:

So far this looks fine, but when you look at the table sideways, you can see what "shear/layback/skew" does to the table:

The camera is straight and in the middle of the table above it, the table itself is transformed for the view:

What I originally thought it would look like and what my feature request now is, is this:

This is the camera in the position where a person's head would be and the view is keystoned. In Blender this is called "shift" in the red circle. Also the camera has an angle (comparable to inclination, only that the camera is angled, not the table).
Currently you can "trick" VPX into showing what that would look like, by setting a very high resolution and only using a part of the screen. This still has the table at an angle (inclination), but layback=0:

The cutout of only the table, looks quite normal and should be proper 3D (no shear):

So to add this functionality, in essence this would only need the "shift parameter" as an addition to layback (which I then would set at zero). This shift parameter "only" moves the camera along the screen axis. This addition does not have to break compatibility, since for older tables it is just zero.
This is not only useful for rendering stuff (ramps with refraction, but maybe later also true reflections of metallic surfaces, mirrors...). But it also gives people more freedom in achieving a proper keystone for cabinets.
Long story, but I hope I make sense to the dev's. Also maybe a first step to full dynamic rendering?