Compute the next dimension-navigation step given the current dim
state. Returns null when navigation cannot proceed (no dims, no
ranges, no navigable dimensions, or a stale selected-dimension slot).
The changed threshold is a step-relative epsilon (snapStep * 1e-9,
matching SceneDimsManager) so a sub-micro-unit grid is still
navigable; the intent is unchanged from the inline original — pure
arithmetic identity isn't required, only "movement big enough that
the spatial-index loader will requery."
Compute the next dimension-navigation step given the current dim state. Returns
nullwhen navigation cannot proceed (no dims, no ranges, no navigable dimensions, or a stale selected-dimension slot).The
changedthreshold is a step-relative epsilon (snapStep * 1e-9, matchingSceneDimsManager) so a sub-micro-unit grid is still navigable; the intent is unchanged from the inline original — pure arithmetic identity isn't required, only "movement big enough that the spatial-index loader will requery."