Physics model movement on user input, applyImpulse vs applyForce vs setPosition vs setLinearVelocity

Another option besides camera.parent = is camera.lockedTarget = . The jiggle from setTarget is maybe due to computeWorldMatrix(true) not being called in the Playground or Babylon source code. @Evgeni_Popov solved a similar question in ArcRotateCamera setting lockedTarget once vs. setting target every frame in scene.registerBeforeRender().

As you mentioned, perhaps you could use setLinearVelocity and pass in calculated velocities to simulate rest to move acceleration.