= !SceneLoop = == where we process physics == '''!SceneLoop''' is the instance of '''soy._internals.!LoopThread''' which calls each instance of '''soy.scenes.Scene''' to process it's physics in the background. This allows physics to remain real-time regardless of rendering (processed in WindowLoop) or the Python code being processed in the main thread. To avoid frequent scene locking ODE calls should be isolated to this thread. When ODE calls must exist outside this thread the scene's stepLock() must be called and, with as little processing as possible, that scene object's stepUnlock() should be called. Access to any dBody or dGeom without it's scene's lock will inevitably cause problems for some users. '''!SceneLoop''' replaced this function of CoreLoop with [954]