when using object transform to stretch, sheet, or skew a layer, the axis of refrence for the transform control box is locked in on the X/Y axis. now if you rotate the object, the axis of the transform control box will rotate with the object, but only until you confim the transform at which point it resets. This means that if you rotate a perfect square to be sitting at 45 degree angle, you can stretch it on a 45 degree axis into a perfect rectangle on a 45 degrees if its donew in only one transform. The issue is that after you confirm the transform, or if you have an object already at an angle you want to stretch on an angle, there is no simple built in way to rotate the angle of the transform box to match the angle of the layer/selection being transformed.
This functionality is a basic necessity in all 3D modeling apps so I'm pretty surprised it hasnt been added to photoshop in the 15 years ive been using it. Before people start suggesting to just use smart shapes or some smart object mulsti step work around, or some combination of warp, sheer, and skew, thats not the point. The point is that for example, we should be able to even lasso select a group of pixels, and then quick and cleanly perform a single axis stretch at angles other than just 0 and 90 degrees. Even warp, sheer, and skew controls are effected by this as you cant perfrom a clean sheer on a box shaped object if the box is already sitting at an angle.
What I propose is adding an extra control to the refrence point/rotation point crosshair that's in the middle of the transform control box. you could then rotate the crosshair in order to rotate the whole transform control box without rotating the actual selection. Another option could be holding a modifyer key when clicking to rotate the transform box, allowing you to rotate just the control box.
Below is a simple example showing the limitations of the current transform controls.
