@duncan
Yes...using the rotation property, you specify rotation as Euler angles in degrees. As explained in the documentation of that property, the Euler angles are applied in Y-Z-X order (yaw-pitch-roll).
You can also specify a rotationAxis and apply a single rotationAngle to rotate by a certain number of degrees around that axis.
And you can use quaternions using the quaternion property.
Setting the properties directly sets the rotation to a specific value. There are also a rotateBy... family of methods for rotating by a relative amount (relative to the current orientation), instead of setting the properties to an absolute value.
All rotations are performed relative to the local coordinate system of the node (so...relative to its parent node, visually). So, you can often get the effect you want by nesting nodes (adding your node to a structural parent CC3Node, and controlling the rotation of both independently).
During development, you can keep track of the rotation visually by invoking the addAxesDirectionMarkers method on your node. This will cause little axis markers to be displayed on the node, visually showing the local X, Y & Z directions of the node's local coordinate system, as the node is rotated.
As for your specific requirement to lean an object backwards, I'm not sure I understand why you are having a problem. You can simply enter a negative angle for any of the X, Y or Z axes, or if you need to lean backwards in a specific direction, set the rotationAxis and rotationAngle properties accordingly.
As I mention above, you can nest nodes. So, if you want to have your node lean backwards while, say the node is pirouetting, create a separate turntable node (just a bare CC3Node), add the leaning node to it, apply rotation around the Y axis to the turntable, and whatever rotation needed to rotate the node itself backwards in its own coordinate system.
...Bill