Rotating the "world" around a character?

Is that statement based on the debug or hybrid draw mode?  If so, then you might need to check again.  Don’t expect physics draw modes to work, but that’s just a corona physics rendering quirk – if implemented correctly, physics WILL still properly “see” the world where you see it, despite what hybrid/debug (incorrectly) show.

I’d suggest building a tiny skeleton test app to play with - build some exterior walls to contain everything and a couple dozen simple rects to fall down, bounce off each other, settle on bottom… but no tweaks to the camera layer yet, just to make sure it all works as is.  Then, it’s a simple matter to test the camera layer by rotating it 45 degrees, and physics will continue to operate exactly as before, except your bottom “down” edge now appears oriented towards lower-right.  That is, the physics layer continue to operate as if it isn’t rotated, “down” to the physics engine is still it’s local +y, but the camera layer that contains it causes it to *appear* rotated on screen.

aside: if you want gravity to always act towards “camera down” instead of “world down” you can do that too, but you’ll have to manually revise gravity based on camera rotation, something like:

local theta = (90 - cameraLayer.rotation) / 180.0 * math.pi – correct for where “0” is versus “down”, inverted y-axis, and radians

physics:setGravity(9.8*math.cos(theta), 9.8*math.sin(theta))

hth