Ensure consistent frame-rates (based on the targeted FPS of your choosing)
The targeted FPS is tweakable on-the-fly (while the game is running)
This implementation does not have a requestAnimationFrame loop, it let you implement it yourself or not (because in some cases it's handled by the framework, ex: threejs in a WebXR project)
"Normalize" the deltaTime at the source to make sure 1 equals 1 second (instead of 1 millisecond), because many calculations are expressed in seconds instead of milliseconds (ex: gravity force is -9.81 meters per seconds) so this prevents you from "/ 1000" everywhere in your actual code, it's done at the source, one time.
Three.js / requestAnimationFrame()
// how to create a game loop with a targeted 60 FPS :