src/collisions/src/collision-handler.js
function _resolveCollisions(collisions, physicsParams) {
  collisions.forEach(collision => {
    // If neither physics job needs the standard collision restitution, then don't do it.
    if (_notifyPhysicsJobsOfCollision(collision)) {
      if (collision.collidableA.physicsJob && collision.collidableB.physicsJob) {
        // Neither of the collidables is stationary.
        _resolveCollision(collision, physicsParams);
      } else {
        // One of the two collidables is stationary.
        _resolveCollisionWithStationaryObject(collision, physicsParams);
      }
    }
  });
}
function _resolveCollisions(collisions, physicsParams) {
  collisions.forEach(collision => {
    // If neither physics job needs the standard collision restitution, then don't do it.
    if (_notifyPhysicsJobsOfCollision(collision)) {
      if (collision.collidableA.physicsJob && collision.collidableB.physicsJob) {
        // Neither of the collidables is stationary.
        _resolveCollision(collision, physicsParams);
      } else {
        // One of the two collidables is stationary.
        _resolveCollisionWithStationaryObject(collision, physicsParams);
      }
    }
  });
}
function _resolveCollisions ( collisions , physicsParams ) { collisions . forEach ( collision => { // If neither physics job needs the standard collision restitution, then don't do it. if ( _notifyPhysicsJobsOfCollision ( collision ) ) { if ( collision . collidableA . physicsJob && collision . collidableB . physicsJob ) { // Neither of the collidables is stationary. _resolveCollision ( collision , physicsParams ) ; } else { // One of the two collidables is stationary. _resolveCollisionWithStationaryObject ( collision , physicsParams ) ; } } } ) ; }
Updates the linear and angular momenta of each body in response to its collision.

@param {Array.<Collision>} collisions
@param {PhysicsConfig} physicsParams
@private
Updates the linear and angular momenta of each body in response to its collision .