{"_id":"verlet-system","_rev":"37-e5547b3bf4d3e15e2a29bf759533220d","name":"verlet-system","description":"2D and 3D verlet integration","dist-tags":{"latest":"1.0.15"},"versions":{"1.0.0":{"name":"verlet-system","version":"1.0.0","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"array-range":"^1.0.1","as-number":"^1.0.0","canvas-testbed":"^1.0.3","clamp":"^1.0.1","gl-matrix":"^2.1.0","smoothstep":"^1.0.1","vectors":"^0.1.0","verlet-constraint":"^1.0.2","verlet-point":"^1.2.0"},"devDependencies":{"add-event-listener":"0.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","tape":"^3.0.3","touch-position":"^1.0.2","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"36bd2f0334769ce7968a8d0fb1d2ce8abf6605d9","_id":"verlet-system@1.0.0","_shasum":"4ba1aac779b2c34ce40c6cee35fa1f05b3db91bb","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"4ba1aac779b2c34ce40c6cee35fa1f05b3db91bb","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.0.tgz","integrity":"sha512-VpeqFHJTAt/jcctlGsQ1aT9mLkaBrl+uHYC+7Tq7KMx70eloU5YjSMIwC3/aUy9k7kGxkej/GdZEojNuVNncMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNf9zJpu9s9X3OdtBsrTujSfpbkLGChCfy3dH7hsiShAIhALcJI+a7PmAC7ijLdqGt/42kocc+5wPEKILdXQmSWlZy"}]}},"1.0.1":{"name":"verlet-system","version":"1.0.1","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"array-range":"^1.0.1","as-number":"^1.0.0","canvas-testbed":"^1.0.3","clamp":"^1.0.1","gl-matrix":"^2.1.0","smoothstep":"^1.0.1","vectors":"^0.1.0","verlet-constraint":"^1.0.2","verlet-point":"^1.2.0"},"devDependencies":{"add-event-listener":"0.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","tape":"^3.0.3","touch-position":"^1.0.2","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"2c9108d8f6bf87f4ce8256c7a40ac4f6521f0e3c","_id":"verlet-system@1.0.1","_shasum":"b143e092554446e3b74bc75c6e60e280e59d95a2","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"b143e092554446e3b74bc75c6e60e280e59d95a2","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.1.tgz","integrity":"sha512-jrwKIbmApoQtgzrInvyUfj2oL1bePvFFTsVsKc8EE3T7SPcjZIOnoi/UTPN2aDR79mrdk0oG53SC1+hbwODqvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLxcjfHm25nFpL5ExlHYdC+tu1gWLO0/DUmX05r9h17wIhAJUjMI7xkg2sStEVuT9VfXiDps3nEojBRdmm62xiN4to"}]}},"1.0.2":{"name":"verlet-system","version":"1.0.2","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"array-range":"^1.0.1","as-number":"^1.0.0","canvas-testbed":"^1.0.3","clamp":"^1.0.1","gl-matrix":"^2.1.0","smoothstep":"^1.0.1","vectors":"^0.1.0","verlet-constraint":"^1.0.2","verlet-point":"^1.2.0"},"devDependencies":{"add-event-listener":"0.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","tape":"^3.0.3","touch-position":"^1.0.2","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"2e6572a1038852225f00bb2529c092803c2cc6ef","_id":"verlet-system@1.0.2","_shasum":"75a082224ef539fee206314fb54ef0a4c9ebe58c","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"75a082224ef539fee206314fb54ef0a4c9ebe58c","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.2.tgz","integrity":"sha512-7YZgKYPLQBb/jAY7eUMclMn5pWzO/62xXuBptsm5rgoTz0HOb9GVCET+hqW4VaXeQMTMobfmCZRijTt/94Rf4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFhFmjU8M9K8i5pw4H9vWVpwxMnopSAeQRxXUkpxTmWPAiBJ8dhBrtQwmR7Asj9+TV5pUyd/nFv2x0MWRN9zZH33dA=="}]}},"1.0.3":{"name":"verlet-system","version":"1.0.3","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"array-range":"^1.0.1","as-number":"^1.0.0","canvas-testbed":"^1.0.3","clamp":"^1.0.1","gl-matrix":"^2.1.0","smoothstep":"^1.0.1","vectors":"^0.1.0","verlet-constraint":"^1.0.2","verlet-point":"^1.2.0"},"devDependencies":{"add-event-listener":"0.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","tape":"^3.0.3","touch-position":"^1.0.2","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"f1103c9a7948f044df4c10579a08f28c36a9fc12","_id":"verlet-system@1.0.3","_shasum":"9126129b92d04f9f991d3afacf5c8dc62b30c3f5","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"9126129b92d04f9f991d3afacf5c8dc62b30c3f5","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.3.tgz","integrity":"sha512-+SYkLrFU6sr3SzDaG+YROyvtRwASX1T3fEBPe1fBK8JS0AX4QWRTwjAVv7R8O3WUy+HrSt/UFtXa3+nLnoigUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAOFaU45lpYAZnmcX0srZt+MK95Gut27qvCrsuEUuJKbAiEA1t0etJr99Aw7qL0HrrwEhpsNZP6Fz2lvEBHyvHUUARk="}]}},"1.0.4":{"name":"verlet-system","version":"1.0.4","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"array-range":"^1.0.1","as-number":"^1.0.0","canvas-testbed":"^1.0.3","clamp":"^1.0.1","gl-matrix":"^2.1.0","smoothstep":"^1.0.1","vectors":"^0.1.0","verlet-constraint":"^1.0.2","verlet-point":"^1.2.0"},"devDependencies":{"add-event-listener":"0.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","tape":"^3.0.3","touch-position":"^1.0.2","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"f6bbaee36f8b782e8354026ff7eb8302863ab91f","_id":"verlet-system@1.0.4","_shasum":"6e3f7baf3481042e93c364900df7e6644dfe161c","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"6e3f7baf3481042e93c364900df7e6644dfe161c","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.4.tgz","integrity":"sha512-y1Cv0Srk4rORyxvX16/jOjBg522MVfKpDbBMVx0kNQXgsw/GXSzKzqltfEBuzOEfxeHdS/4YkZNAW6m3oKiX+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8DU2iHGIxvYA0+t+eO23Xlu2fp70jUM1KEsTyad1TiQIgOPVXRy5VaPdpKNidVJkLQFnYv1h+nzOSjvAwGpcSfls="}]}},"1.0.5":{"name":"verlet-system","version":"1.0.5","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"as-number":"^1.0.0","clamp":"^1.0.1","gl-matrix":"^2.1.0"},"devDependencies":{"add-event-listener":"0.0.1","verlet-constraint":"^1.0.2","verlet-point":"^1.2.0","smoothstep":"^1.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","tape":"^3.0.3","touch-position":"^1.0.2","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"5347ad0c24e310f1a4d927ab8d7eb213dec374ff","_id":"verlet-system@1.0.5","_shasum":"f86b75627971aed3ae9e9061622c49134195844a","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"f86b75627971aed3ae9e9061622c49134195844a","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.5.tgz","integrity":"sha512-vl0J2jtojFGWWSvL0PsU5T9gpLs1U0dh9PoxJ535fmSc7XyJTJ3kd/LyVrEZyeTxbAU9OR7eOLLYefZyIsTz3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDwr82+nWqF+ESfVweZXD1kwDDrdBRfheGrdso6mTdehAiBh5h64vb1WR8p17coTgDek8CrLzLI9bCr3mmrppV0wwg=="}]}},"1.0.6":{"name":"verlet-system","version":"1.0.6","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"as-number":"^1.0.0","clamp":"^1.0.1","gl-matrix":"^2.1.0"},"devDependencies":{"add-event-listener":"0.0.1","verlet-constraint":"^1.0.2","verlet-point":"^1.2.0","smoothstep":"^1.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","tape":"^3.0.3","touch-position":"^1.0.2","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"953c7a2a371527e78da2c7e3f342c5e66d323521","_id":"verlet-system@1.0.6","_shasum":"22c21d5a8834a8ee7f135849a2c50624e5a59714","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"22c21d5a8834a8ee7f135849a2c50624e5a59714","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.6.tgz","integrity":"sha512-zCHRfo1rP82hPeZcQv2MzQHGn09xekI6Y3T3v6E4EfX8Utz+IQguVpGK3ajsHSRhrGRjIG5BXrB7NJwBrQtULw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4VbzVXpzp+NBNOHCXmBb2ELnin9hSYZ94Dnrr8CK5aAIgdeTH99JgOaic8WbHTH3ZVLsyRptILQICoDbwrhRCD2E="}]}},"1.0.7":{"name":"verlet-system","version":"1.0.7","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"as-number":"^1.0.0","clamp":"^1.0.1","gl-matrix":"^2.1.0"},"devDependencies":{"add-event-listener":"0.0.1","verlet-constraint":"^1.0.2","verlet-point":"^1.2.0","smoothstep":"^1.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","tape":"^3.0.3","touch-position":"^1.0.2","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --open --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --open --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"3f4784fd8c6b1a7607ac600a9a18e517f7c053cb","_id":"verlet-system@1.0.7","_shasum":"b299bb7cb736c446fe5eb26efb759fa9506a8049","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"b299bb7cb736c446fe5eb26efb759fa9506a8049","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.7.tgz","integrity":"sha512-THS/nEOL6pj1HfkbfhMUbtlQyMolz5TqxNUSs6yA7jhJLrTG80H68qMIUxy30pPxKGM4KZD8WNvJTOvvHemIhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAoazF50CZELg6YNJ5n8KuR2BEPPCSTDE1vUSLBWeiXJAiAmcuIPTm7NZrzjLuuTMxXipdwZwtAEwXMk+inFUyMxRg=="}]}},"1.0.8":{"name":"verlet-system","version":"1.0.8","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"as-number":"^1.0.0","clamp":"^1.0.1","gl-matrix":"^2.1.0"},"devDependencies":{"add-event-listener":"0.0.1","verlet-constraint":"^1.0.2","verlet-point":"^1.2.0","smoothstep":"^1.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","tape":"^3.0.3","touch-position":"^1.0.2","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --open --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --open --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"90065878c7ab7e17fa0413500e6dc333e0599bb2","_id":"verlet-system@1.0.8","_shasum":"0a66fb8b528f35a3c12f468d7a60d68f21475116","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"0a66fb8b528f35a3c12f468d7a60d68f21475116","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.8.tgz","integrity":"sha512-1N52Ij7FSbQmqLc5RmCmYM6/TOiA0y9EhBupjfAY5D41WORavQ40jg5S+RQQRbP5JdKRxgSV2HyS0GO0IEkhRg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGkOi6jIn5wGsZ1s6xdZA0ek4acAENrwOYgB/JOTbqxUAiBYf9UBTC+GmOsaWz3t1JAOF1KuYyrDYQX/HGrAdmH8kQ=="}]}},"1.0.9":{"name":"verlet-system","version":"1.0.9","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"as-number":"^1.0.0","clamp":"^1.0.1","gl-matrix":"^2.1.0"},"devDependencies":{"add-event-listener":"0.0.1","verlet-constraint":"^1.0.2","verlet-point":"^1.2.0","smoothstep":"^1.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","tape":"^3.0.3","touch-position":"^1.0.2","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --open --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --open --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"bb7949dd1be9e7d756d7d67554eb9e9a82cebb53","_id":"verlet-system@1.0.9","_shasum":"a8a2170e6b980a796c458b295ba0f9eb83fffa10","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"a8a2170e6b980a796c458b295ba0f9eb83fffa10","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.9.tgz","integrity":"sha512-14mTktcAu/4JspNdFYwEFst8iNCA4N/40PdQSi8OAc06JzZ0Mo+uLr1cZk0KAP3OmXm7mSiuwgWXWWTljofa7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDl5mcSaBwZV5qn+LNX/ZdoEw/7MLNVhXWGqzgwhGTnmgIhAONPAG7HuRoMeKsiJ98YhFCzNVoIhxXdiV1Nn75pDnld"}]}},"1.0.10":{"name":"verlet-system","version":"1.0.10","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"as-number":"^1.0.0","clamp":"^1.0.1","gl-vec2":"^1.0.0","gl-vec3":"^1.0.2"},"devDependencies":{"add-event-listener":"0.0.1","verlet-constraint":"^1.0.2","verlet-point":"^1.2.0","smoothstep":"^1.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","tape":"^3.0.3","touch-position":"^1.0.2","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --open --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --open --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"2030efa4887759fcf8f090db577c92b606bf91e8","_id":"verlet-system@1.0.10","_shasum":"5765f03d9f48c50cd110d2a9043373f1ae361205","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"5765f03d9f48c50cd110d2a9043373f1ae361205","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.10.tgz","integrity":"sha512-xuJiiMG84AGKRlsiUZLmKrZuCzjL4ehDpS6Ede8Itprap5Bri8arj7y7+e7kurLvkgW1ZBLa2EVdFh+ehrEosA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2IXYSZh4NhC6e/pD8PsUNSI+XP5jJG0OswbSiD3Z+0QIhAJHDWe8fYJhDWchUMHu2vu0MaovM3UvUQfJizXT7zPbz"}]}},"1.0.11":{"name":"verlet-system","version":"1.0.11","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"as-number":"^1.0.0","clamp":"^1.0.1","gl-vec2":"^1.0.0","gl-vec3":"^1.0.2"},"devDependencies":{"add-event-listener":"0.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","smoothstep":"^1.0.1","tape":"^3.0.3","touch-position":"^1.0.2","verlet-constraint":"^1.0.3","verlet-point":"^1.2.1","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --open --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --open --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"51e0cbc4563f07f3a08d39753df4269167816a7c","_id":"verlet-system@1.0.11","_shasum":"5a6459979fa5a65af1a2236997033c35b75dd2e8","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"5a6459979fa5a65af1a2236997033c35b75dd2e8","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.11.tgz","integrity":"sha512-ElNZhAhObdwe1gEGCxWxxzgWVQ+o8nnEAgkb/fmjlPajbFlvt3n3BqCRpELt3aZEut+h52RdySUGvGY3Cx1lYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCebZ8DRAZWLd7j9L6tk/GzFvMe3m1TvMo8xUqLZp3RrwIhAJngxliaFwR5bXfGEF3rncR0Tq6YQNdDao5x1xwvB0VD"}]}},"1.0.12":{"name":"verlet-system","version":"1.0.12","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"as-number":"^1.0.0","clamp":"^1.0.1","gl-vec2":"^1.0.0","gl-vec3":"^1.0.2"},"devDependencies":{"add-event-listener":"0.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","smoothstep":"^1.0.1","tape":"^3.0.3","touch-position":"^1.0.2","verlet-constraint":"^1.0.3","verlet-point":"^1.2.1","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --open --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --open --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"3aa81aa18a123b1ae05bc08597a04d36821a717f","_id":"verlet-system@1.0.12","_shasum":"f164bb4d3935b8b1c1d3ff3ec0f4c5c073191504","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"f164bb4d3935b8b1c1d3ff3ec0f4c5c073191504","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.12.tgz","integrity":"sha512-e7zy+8kd3GQaHk9zekARa6bcLBk/yEpvSU7x5g9sD5wEYuBP7xsVd1egN/+tCUGTiMshY2DCuGvE1alMba/3jA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIsNFmtc8nAfbKsWnTcvYIaWyskn43fw6kP+7wXUd5jQIhAIrMKiYlgsVyZ5Q7WHxHVlYCS/LsOzPQ7WJ8kiyvTsdk"}]}},"1.0.13":{"name":"verlet-system","version":"1.0.13","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"as-number":"^1.0.0","clamp":"^1.0.1","gl-vec2":"^1.0.0","gl-vec3":"^1.0.2"},"devDependencies":{"add-event-listener":"0.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","smoothstep":"^1.0.1","tape":"^3.0.3","touch-position":"^1.0.2","verlet-constraint":"^1.0.3","verlet-point":"^1.2.1","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --open --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --open --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"a59a60fa8434effdbcd47c08e92d1115de7fe89f","_id":"verlet-system@1.0.13","_shasum":"979ce69ef8fd0b167bf07b4a353c86779001c7f5","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"979ce69ef8fd0b167bf07b4a353c86779001c7f5","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.13.tgz","integrity":"sha512-a8vD1K/edDqjqvxQaViKYnL42pkF5pvzABMg1HnIhzYLfzw2q+VQVdeIIT5rpysoWgWpqYUnFggH7A7o73/3EA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0KrkU+svcvIGncjTQ8sooOv5fuSvvudnSFjiUctiL8QIhAPG58OJv00h7wIlzcbq5dxCZ6OHmzQ3pAZhDJQvd/KNQ"}]}},"1.0.14":{"name":"verlet-system","version":"1.0.14","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"as-number":"^1.0.0","clamp":"^1.0.1","gl-vec2":"^1.0.0","gl-vec3":"^1.0.2"},"devDependencies":{"add-event-listener":"0.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","smoothstep":"^1.0.1","tape":"^3.0.3","touch-position":"^1.0.2","verlet-constraint":"^1.0.3","verlet-point":"^1.2.1","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --open --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --open --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"ae31bfba934a2b5789a08aa7602ccad5a38804e6","_id":"verlet-system@1.0.14","_shasum":"f4ba7002308accb3855a19570e9223af9b1b526c","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"f4ba7002308accb3855a19570e9223af9b1b526c","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.14.tgz","integrity":"sha512-xLfZzkHY2+VhasVBn5FurL6zBe+LE51zCMr1bGI8dYo4QUIifflcjknwaVOGgC0/Sd9/6FpD4/aR7AMN+hsHkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFCYgHlH9mfYxlQJGrEa51SqZwGvv6FzLos9+0HDc1+4AiEA9tdAdTzYbcM/UWvNEHbENkYVXvJtywaCr+2hvs4v+sk="}]}},"1.0.15":{"name":"verlet-system","version":"1.0.15","description":"2D and 3D verlet integration","main":"2d.js","license":"MIT","author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"dependencies":{"as-number":"^1.0.0","clamp":"^1.0.1","gl-vec2":"^1.0.0","gl-vec3":"^1.0.2"},"devDependencies":{"add-event-listener":"0.0.1","array-range":"^1.0.1","canvas-testbed":"^1.0.2","color-style":"^1.0.0","delaunay-triangulate":"^1.1.6","lerp":"^1.0.0","lerp-array":"^1.0.2","randf":"^1.0.0","smoothstep":"^1.0.1","tape":"^3.0.3","touch-position":"^1.0.2","verlet-constraint":"^1.0.3","verlet-point":"^1.2.1","xtend":"^4.0.0"},"scripts":{"test":"node test.js","line":"beefy --open --index=./demo/dev.html ./demo/line.js","triangulate":"beefy --open --index=./demo/dev.html ./demo/triangulate.js","build-triangulate":"mkdir -p demo/static && browserify demo/triangulate.js | uglifyjs -cm > demo/static/triangulate.js","build-line":"mkdir -p demo/static && browserify demo/line.js | uglifyjs -cm > demo/static/line.js"},"keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"homepage":"https://github.com/mattdesl/verlet-system","bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"gitHead":"9d2528d53b3ce4b0d63ffc48a0855cac6ac85c00","_id":"verlet-system@1.0.15","_shasum":"2bc42e07a383864d865468c0f5084e8d053138ca","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.32","_npmUser":{"name":"mattdesl","email":"dave.des@gmail.com"},"maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"}],"dist":{"shasum":"2bc42e07a383864d865468c0f5084e8d053138ca","tarball":"https://registry.npmjs.org/verlet-system/-/verlet-system-1.0.15.tgz","integrity":"sha512-O1GoFXz4guyr8ejpTrNlgirVVQZB8pfLDPXKNcazQ8dVNgFUHsB5kgppDOyFvdF72LXGqszPzvFhLWuoNAgZkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDqQEx7HvY2lTaOh31jp/xf9bB7wptiht1FMbwyLbYqpAiAIIDGJby2w8nFZO/zjcRVvqmqrjY0W2ruB010d9iHK2Q=="}]}}},"readme":"# verlet-system\n\n[![stable](http://badges.github.io/stability-badges/dist/stable.svg)](http://github.com/badges/stability-badges)\n\n![img](http://i.imgur.com/ZzGLmJE.png)\n\nA tiny 2D/3D verlet physics system.\n\n```js\nvar Point = require('verlet-point')\nvar array = require('array-range')\nvar random = require('randf')\n\n//create a world where points stay within window bounds\nvar world = require('verlet-system')({ \n    gravity: [0, 500],\n    min: [0, 0],\n    max: [width, height]\n})\n\n//create 500 points scattered around page\nvar points = array(500).map(function() {\n    return Point({ \n        position: [ random(0, width), random(0, height) ]\n    })\n})\n\n//draw our scene\nfuction render() {\n    //step the physics\n    world.integrate(points, dt)\n    \n    drawPoints(points)\n}\n```\n\nTypically used alongside [verlet-constraint](https://www.npmjs.org/package/verlet-constraint) and [verlet-point](https://www.npmjs.org/package/verlet-point).\n\nBy default, assumes 2D and points with `[x, y]`. You can require an explicit dimension like so: \n\n```js\nvar World2D = require('verlet-system/2d') //points [x, y]\nvar World3D = require('verlet-system/3d') //points [x, y, z]\n```\n\nPRs for fixes/improvements welcome.\n\n### demos\n\nSee the [demos](demo/) folder. The demos are [run](#running-demos) with beefy.\n\n- [triangulate](http://mattdesl.github.io/verlet-system/demo/triangulate.html) - mouse interactions\n- [line](http://mattdesl.github.io/verlet-system/demo/line.html) - using constraints\n\n### points\n\nYou can use [verlet-point](https://www.npmjs.org/package/verlet-point), or just bare objects with the following structure:\n\n```\nvar point = {\n    position: [x, y],     //required\n    previous: [x, y],     //required\n    acceleration: [x, y], //required\n    mass: 1               //optional, will default to 1.0\n    radius: 25            //optional, will default to 0.0\n}\n```\n\nPoints with a mass of 0 are considered \"unmovable\". `radius` is used for collision testing against `min` and `max`, but different applications may choose to ignore this. \n\n## bounded collisions\n\nCollisions are ignored unless you set a `min` and/or `max` vector on the system (with the same number of components as the rest of your points). This will lead to particles 'bouncing' off the collision box. If a component is not a number, it will be ignored (i.e. act as infinity). For example, to allow particles to flow freely horizontally, but restrict them to the 2D window vertically, you might do this:\n\n```js\nworld.min = [null, 0]\nworld.max = [null, height]\n```\n\nYou can also specify a `radius` on points which will get used in the collision testing. See [demo/bounce.js](demo/bounce.js). By default, `min` and `max` are null objects, and no collisions are computed. \n\n## Usage\n\n[![NPM](https://nodei.co/npm/verlet-system.png)](https://nodei.co/npm/verlet-system/)\n\n#### `system = require('verlet-system')([opt])`\n\nCreates a new system with the specified options.\n\n- `gravity` a vector describing the gravity of this system, defaults to a zero vector\n- `min` the minimum bounds vector, defaults to null (i.e. negative infinity)\n- `max` the maximum bounds vector, defaults to null (i.e. positive infinity)\n- `friction` the air friction, defaults to 0.98\n- `bounce` the friction with collision edges, i.e. \"bounciness\", defaults to 1.0\n\n#### `system.integrate(points, step)`\n\nIntegrates the list of \"points\" with the given step (typically in seconds). \n\n#### `system.integratePoint(point, step)`\n\nIntegrates a single \"point\".\n\n## running demos\n\n```sh\ngit clone https://github.com/mattdesl/verlet-system.git\ncd verlet-system\nnpm install\n\n# if you haven't got these tools,\n# install them globally\nnpm install browserify beefy uglify-js -g\n\n# now run or build any of the demos\nnpm run line \nnpm run triangulate\n\nnpm run build-line\nnpm run build-triangulate\n```\n\nShould work with any tool that consumes CommonJS (i.e. jspm, DuoJS, browserify, webpack).\n\n## comparisons\n\nThis is not meant to be as feature-complete as choices like [verlet-js](https://github.com/subprotocol/verlet-js), [PhysicsJS](https://github.com/wellcaffeinated/PhysicsJS), or [matter-js](http://brm.io/matter-js/). Some novel goals of this project:\n\n- works in 2D or 3D\n- no assumptions about rendering (i.e. works in WebGL, SVG, etc)\n- no assumptions about interactions or geometries\n- tiny and modular (3kb-6kb depending on what you require), e.g. you may not need constraints (as in the `triangulate` demo)\n- works on bare objects and arrays, easy to build your own systems on top of\n- uses a bounding box rather than just a Y value for \"floor\"\n\n## License\n\nMIT, see [LICENSE.md](http://github.com/mattdesl/verlet-system/blob/master/LICENSE.md) for details.\n","maintainers":[{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"vorg","email":"marcin.ignac@gmail.com"}],"time":{"modified":"2022-06-28T10:13:39.663Z","created":"2014-11-15T18:41:16.885Z","1.0.0":"2014-11-15T18:41:16.885Z","1.0.1":"2014-11-15T18:42:29.521Z","1.0.2":"2014-11-15T18:44:47.122Z","1.0.3":"2014-11-15T18:45:14.073Z","1.0.4":"2014-11-15T18:47:28.857Z","1.0.5":"2014-11-15T18:49:26.688Z","1.0.6":"2014-11-15T18:56:30.779Z","1.0.7":"2014-11-15T19:10:22.538Z","1.0.8":"2014-11-15T19:22:01.769Z","1.0.9":"2014-11-15T20:56:07.546Z","1.0.10":"2014-11-15T21:58:26.845Z","1.0.11":"2014-11-15T22:05:36.204Z","1.0.12":"2014-11-15T22:13:02.032Z","1.0.13":"2014-11-15T22:15:29.763Z","1.0.14":"2014-11-15T22:49:05.707Z","1.0.15":"2014-11-15T22:56:18.736Z"},"homepage":"https://github.com/mattdesl/verlet-system","keywords":["verlet","physics","integrate","integration"],"repository":{"type":"git","url":"git://github.com/mattdesl/verlet-system.git"},"author":{"name":"Matt DesLauriers","email":"dave.des@gmail.com","url":"https://github.com/mattdesl"},"bugs":{"url":"https://github.com/mattdesl/verlet-system/issues"},"license":"MIT","readmeFilename":"README.md","users":{"deide":true,"joakin":true}}