Camera bugs related to delta time

@georgie

Nice, it’s much better and constant across different camera.speed.

But somehow now the in-out “tails” still cuts the inertia.

Before the PR with camera.speed = 0 it’s perfect, how it’s supposed to be.
vs
After the PR with camera.speed = 0 it’s not as good, inertia somehow starts and cuts late.

The best way to notice this, is to use a mouse and “draw” a tiny spiral, growing outwards.
You’ll see exactly when the inertia starts kicking in.

Testing all this on 240hz it’s so much more noticable.

Ahhh yes that’s a separate issue, thanks!

Rotation inertia was tangled up with camera.speed, which it never should have been camera.speed controls translation while rotation is driven by angularSensibility). There was a legacy “stop” threshold on the rotation glide that scaled with speed. At speed = 0 that threshold worked out to zero so it never triggered (that’s why it felt perfect there, you were seeing rotation inertia with no artificial cutoff). My first fix made the threshold active again at low speed, so the snap crept back in. It was also frame-rate-dependent (it compared a per-frame delta, which shrinks at 240 Hz) the same root cause as your original “cutoff doesn’t scale with delta time” point.

I just pushed a follow-up that removes that legacy rotation cutoff entirely and lets the frame-rate-independent inertia decay ease the glide all the way out. Rotation inertia is now fully decoupled from camera.speed and is consistently smooth at any speed and refresh rate.

Once the snapshot rebuilds the fix will be testable here :slight_smile:

@a_bolog i tested and all looks good to me, are you seeing the same ?

@georgie

Yes, just got back and tested on 240hz. It’s absolutely perfect now, buttery smooth.

Great work again :clap:

Awesome! Will get the PR checked in and released ASAP :slight_smile: