{"version":3,"sources":["physics.js"],"names":["require","e","t","n","r","s","o","u","a","i","Error","f","exports","call","length",1,"module","_","Vector","Attraction","b","k","d","this","constant","on","distanceMin","distanceMinSquared","extend","prototype","update","fixed","a2bx","position","x","a2by","y","a2b","sub","a2bdistanceSquared","Math","max","lengthSquared","force","mass","sqrt","clear","divideScalar","multiplyScalar","subSelf","addSelf","resting","l","distanceTo","./common","./vector",2,"Integrator","originalPositions","originalVelocities","k1Forces","k1Velocities","k2Forces","k2Velocities","k3Forces","k3Velocities","k4Forces","k4Velocities","allocateParticles","particles","push","step","dt","p","each","copy","velocity","applyForces","op","k1v","set","ov","k1f","k2v","k2f","k3v","k3f","age","k4v","k4f",3,"Particle","dead","makeFixed","reset","isZero",4,"Spring","ParticleSystem","__equilibriumCriteria","springs","attractions","__equilibrium","__optimized","forces","integrator","hasDeadParticles","args","arguments","gravity","drag","DEFAULT_DRAG","DEFAULT_GRAVITY","optimize","setGravity","setEquilibriumCriteria","tick","needsUpdate","addParticle","addSpring","addAttraction","makeParticle","m","isNumber","makeSpring","makeAttraction","clearForces","./Attraction","./Integrator","./Particle","./Spring","./Vector",5,"raf","updates","Physics","_this","playing","apply","animations","equilibriumCallbacks","superclass","play","pause","toggle","onUpdate","func","indexOf","isFunction","onEquilibrium","./ParticleSystem","./requestAnimationFrame",6,"damping","currentLength","fspring","va2b","fdamping","dot","fr","equals",7,"v","clone","add","v1","v2","multiplySelf","negate","normalize","distanceToSquared","dx","dy","setLength","lerp",8,"breaker","ArrayProto","Array","ObjProto","Object","hasOwnProperty","slice","nativeForEach","forEach","nativeIndexOf","toString","has","obj","key","iterator","context","identity","value","sortedIndex","array","low","high","mid","source","prop","item","isSorted","isUndefined","isNull","H99CHA","root","previousShortcut","./Physics","physics",11,"window","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","callback","setTimeout",12],"mappings":"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"}