The idea is: a camera that lags behind the player when the player is accelerating. In the following (debug-mode) screenshot, the player is the large white box, and is followed (slightly south-west of center) by the camera, trying to keep up (camera is collision free, of course).

(Sorry for the blur, don't want to stretch the page.)
Conceptually, the camera[0,0] is tied to the player[0,0] with a rubber-band. I've modeled this in Chipmunk by joining the two bodies via a cpDampedSpring (for the elasticity, seeking player center) and, to constrain the maximum distance, a cpGrooveJoint (groove runs fully across the player's width horizontally).
The player is represented in Chipmunk as a circle, and the body has a MOI and friction that allows the body to rotate. I'd prefer to keep this quality. Everything works brilliantly in the air, and during jumps and falls, but as the player rolls flat along the terrain, the player's rotation (around 0,0) is transferred through the joints, and causes the camera to start orbiting the player as he moves. This makes sense considering the GrooveJoint won't always be attached to the player at 0,0.
I guess I need to find a way to fake perfect, friction-free ball-bearings at both ends of the joints. I've been thinking a Gear might play into that somehow, or perhaps I'm not visualizing what SlideJoints can do fully, but I wanted an outside opinion on how this whole idea can be approached before I get too deep into it.
Thanks.