{"_id":"@anvaka/streamlines","_rev":"14-2ada024698505d430aac2741bf0013ef","name":"@anvaka/streamlines","dist-tags":{"latest":"1.6.0"},"versions":{"1.0.0":{"name":"@anvaka/streamlines","version":"1.0.0","keywords":["streamlines","vector","field","evenly","spaced"],"author":{"name":"Andrei Kashcha"},"license":"MIT","_id":"@anvaka/streamlines@1.0.0","maintainers":[{"name":"anvaka","email":"anvaka@gmail.com"}],"homepage":"https://github.com/anvaka/streamlines#readme","bugs":{"url":"https://github.com/anvaka/streamlines/issues"},"dist":{"shasum":"c3fc4756cdadef84317b8e834b1f62e85bf4fc3b","tarball":"https://registry.npmjs.org/@anvaka/streamlines/-/streamlines-1.0.0.tgz","fileCount":48,"integrity":"sha512-DhIJNKSOBG+bsbLmmVUbUKpCzKF5nBeQ5XsWSsxJ7Wd3HxkcgN+vv4x2IkeFDcItvbvnKUX5z7SABFHbt4wLxw==","signatures":[{"sig":"MEUCIQDTOpO5QuAWyPfmCaz8+DrXJWgWBAPlqFujfLnAMpn86gIgb//kS3Tkzgwr/r/P/j5B6P/DvvWbFxuovygXUKLqs98=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110310},"main":"index.js","_from":".","_shasum":"c3fc4756cdadef84317b8e834b1f62e85bf4fc3b","gitHead":"e0baa93ea5eeb9063037fc7c868a4e5f10dbd5aa","scripts":{"test":"tap test/*.js","build":"browserify -s streamlines ./index.js > dist/streamlines.js && uglifyjs dist/streamlines.js > dist/streamlines.min.js"},"_npmUser":{"name":"anvaka","email":"anvaka@gmail.com"},"repository":{"url":"git+https://github.com/anvaka/streamlines.git","type":"git"},"_npmVersion":"3.10.10","description":"Streamlines calculator","directories":{},"_nodeVersion":"7.2.1","_hasShrinkwrap":false,"devDependencies":{"tap":"^11.1.0"},"_npmOperationalInternal":{"tmp":"tmp/streamlines_1.0.0_1518294841176_0.5420612783324337","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@anvaka/streamlines","version":"1.0.1","keywords":["streamlines","vector","field","evenly","spaced"],"author":{"name":"Andrei Kashcha"},"license":"MIT","_id":"@anvaka/streamlines@1.0.1","maintainers":[{"name":"anvaka","email":"anvaka@gmail.com"}],"homepage":"https://github.com/anvaka/streamlines#readme","bugs":{"url":"https://github.com/anvaka/streamlines/issues"},"dist":{"shasum":"2879931f8817e71bfbcec68d18babccdf9bf3aba","tarball":"https://registry.npmjs.org/@anvaka/streamlines/-/streamlines-1.0.1.tgz","fileCount":48,"integrity":"sha512-KAVJeKO+WmdzILlvwVcUQaKaShefPzxlkpJ+Xz53I0JOFXv7927pulrui74FLomKfibOJALFa/Nz54EfO2yCcQ==","signatures":[{"sig":"MEUCIFadWdyD+50mvGtmP4IHQyYkJjg5V0SsUx4vCJMD3iRYAiEAubHX9evgizhCP9l22N1AW1Sy4jMdJGjnJDTp4Lhds70=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112853},"main":"index.js","_from":".","_shasum":"2879931f8817e71bfbcec68d18babccdf9bf3aba","gitHead":"b9d59761efb13f3a37c5a423aa3d04b7dbf1dff5","scripts":{"test":"tap test/*.js","build":"browserify -s streamlines ./index.js > dist/streamlines.js && uglifyjs dist/streamlines.js > dist/streamlines.min.js"},"_npmUser":{"name":"anvaka","email":"anvaka@gmail.com"},"repository":{"url":"git+https://github.com/anvaka/streamlines.git","type":"git"},"_npmVersion":"3.10.10","description":"Streamlines calculator","directories":{},"_nodeVersion":"7.2.1","_hasShrinkwrap":false,"devDependencies":{"tap":"^11.1.0"},"_npmOperationalInternal":{"tmp":"tmp/streamlines_1.0.1_1518591231041_0.9919479388316406","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@anvaka/streamlines","version":"1.0.2","keywords":["streamlines","vector","field","evenly","spaced"],"author":{"name":"Andrei Kashcha"},"license":"MIT","_id":"@anvaka/streamlines@1.0.2","maintainers":[{"name":"anvaka","email":"anvaka@gmail.com"}],"homepage":"https://github.com/anvaka/streamlines#readme","bugs":{"url":"https://github.com/anvaka/streamlines/issues"},"dist":{"shasum":"49791884db759c33335df6fe97876e52416890be","tarball":"https://registry.npmjs.org/@anvaka/streamlines/-/streamlines-1.0.2.tgz","fileCount":48,"integrity":"sha512-yHigycdkOAKmcO9lBeK7ObeaK1GgE5K35uZh/UeMfJkkKNOUNnz8cGpJeoDgezq2ZrvALyAiBaBqSJRV9PgGSA==","signatures":[{"sig":"MEQCIBXs+R3AxKc5Hi38Ma9TL9XCbTBu2IPEw1n2pPfCuqmIAiBImRPeuzEXc7Ol23joOhhZhUNZaoin8Oxm6r36egnYsA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112852},"main":"index.js","_from":".","_shasum":"49791884db759c33335df6fe97876e52416890be","gitHead":"4b27a13be39fedb83069203299d39525fbd566ff","scripts":{"test":"tap test/*.js","build":"browserify -s streamlines ./index.js > dist/streamlines.js && uglifyjs dist/streamlines.js > dist/streamlines.min.js"},"_npmUser":{"name":"anvaka","email":"anvaka@gmail.com"},"repository":{"url":"git+https://github.com/anvaka/streamlines.git","type":"git"},"_npmVersion":"3.10.10","description":"Streamlines calculator","directories":{},"_nodeVersion":"7.2.1","_hasShrinkwrap":false,"devDependencies":{"tap":"^11.1.0"},"_npmOperationalInternal":{"tmp":"tmp/streamlines_1.0.2_1518805218363_0.82749300149137","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@anvaka/streamlines","version":"1.1.0","keywords":["streamlines","vector","field","evenly","spaced"],"author":{"name":"Andrei Kashcha"},"license":"MIT","_id":"@anvaka/streamlines@1.1.0","maintainers":[{"name":"anvaka","email":"anvaka@gmail.com"}],"homepage":"https://github.com/anvaka/streamlines#readme","bugs":{"url":"https://github.com/anvaka/streamlines/issues"},"dist":{"shasum":"a44e298d3227f9942fe2d01b7b35794bc8679259","tarball":"https://registry.npmjs.org/@anvaka/streamlines/-/streamlines-1.1.0.tgz","fileCount":48,"integrity":"sha512-2uL+ZJGF0SsJYa66L4kLYQoGRZI+x7ZCorSP3Q3nV55iD91/kul2DngIL953edjoURKsbPP8A51gf/wwJySqwA==","signatures":[{"sig":"MEUCIQDuiQRBn0uU3fWLlw11pfFZAqSzwFkWb77hsRK525VgWwIgXn02td928FLqQoMTBSwRdg2gvsJ2/d9FDpPpjvP13ww=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113395},"main":"index.js","_from":".","_shasum":"a44e298d3227f9942fe2d01b7b35794bc8679259","gitHead":"6689e64e18501d9def0ef95e2c2c3f3238616c29","scripts":{"test":"tap test/*.js","build":"browserify -s streamlines ./index.js > dist/streamlines.js && uglifyjs dist/streamlines.js > dist/streamlines.min.js"},"_npmUser":{"name":"anvaka","email":"anvaka@gmail.com"},"repository":{"url":"git+https://github.com/anvaka/streamlines.git","type":"git"},"_npmVersion":"3.10.10","description":"Streamlines calculator","directories":{},"_nodeVersion":"7.2.1","_hasShrinkwrap":false,"devDependencies":{"tap":"^11.1.0"},"_npmOperationalInternal":{"tmp":"tmp/streamlines_1.1.0_1518899553170_0.44191499370064746","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@anvaka/streamlines","version":"1.2.0","keywords":["streamlines","vector","field","evenly","spaced"],"author":{"name":"Andrei Kashcha"},"license":"MIT","_id":"@anvaka/streamlines@1.2.0","maintainers":[{"name":"anvaka","email":"anvaka@gmail.com"}],"homepage":"https://github.com/anvaka/streamlines#readme","bugs":{"url":"https://github.com/anvaka/streamlines/issues"},"dist":{"shasum":"e10458584e86aab730eb0a4540d64cb2cd65dd64","tarball":"https://registry.npmjs.org/@anvaka/streamlines/-/streamlines-1.2.0.tgz","fileCount":46,"integrity":"sha512-4UvFHxZwhLnwyyH3meCe+pI/12D1AJqZFcqB4uEsttG0DPgaZA+cnL5/FcuaJWazfIbn0vOV5CwjG/u8CAXzHg==","signatures":[{"sig":"MEUCIGymIv5czQEFJO3cz2U/lvnbWKCNik5p6pmeHxmgvgXxAiEA7wVVJP4uoB8hcVMoLVJO21yUyX6T+HX4Q/mZ373x8ew=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXBbRCRA9TVsSAnZWagAA7UQQAKB6D1QfkTQaROwzkgGc\nIBuPfObF2yTPVjXjXs8YrF2y4J3B5P05q/rMeaRfACocp2D4UE27OPA9FZo1\na2amgBSt5jsvVx/hdM74BRfgPKvNsEk5Pfab3xKTwGNGsAE0yl+1BvmdbFUU\nAP/NKXl0sqB6d6pfyuKv3FzY9GGNdL2pGU2Vvv9Mu3Lc1tzwdAHo3y5NB+/n\nNtzxKVrn53qX8TWlcIyUe3jJxqrGh4eNzSE9wf4Yp5goCAdb8u/1qJEsyye2\nCwpE5XdlAD5xo56UpJr49WFhiPFpzXCesxCyX2H/UKXSXLdVQdqpdLzmaK3/\nsbZCoFeG9VTa42S0IU+W755o6YGSdFqWoSh2CrbGIlLXuATNmkgVpzkmeRVT\nsgqHMoUek3hEFjBHQ+U80TRKK0emXeoigP+CathmSYQ/lbxY5OwyITj6+BhT\nls5idUC1B6O2smB9upDQ6xMSv6sqa00Lq77m0VwSVml7mHrzV0hBa+caX+fL\nTL/eIv8bEz72nSGO5LB5ftdr/7YdjZ1t18ksaQDBZapUZiqL3v7QLl7KtKI2\nRNwyGxfYacnfZGxJ1sbvgzgsCKbtm7QmQrM9C733y7SuwE9OwAwqpmBjtcuD\na5BYxKqiPDnJP6npzrqUS50jzLOvD9+5QlJFZyQxVtvh/CIazFg81TQYL1ay\nCQlY\r\n=7MeQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"6b8b6a340939b0b8b9a41512f6a381b98122c131","scripts":{"test":"tap test/*.js","build":"browserify -s streamlines ./index.js > dist/streamlines.js && uglifyjs dist/streamlines.js > dist/streamlines.min.js"},"_npmUser":{"name":"anvaka","email":"anvaka@gmail.com"},"repository":{"url":"git+https://github.com/anvaka/streamlines.git","type":"git"},"_npmVersion":"6.4.1","description":"Streamlines calculator","directories":{},"_nodeVersion":"8.10.0","_hasShrinkwrap":false,"devDependencies":{"tap":"^12.5.3"},"_npmOperationalInternal":{"tmp":"tmp/streamlines_1.2.0_1583093457400_0.7525069059374045","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@anvaka/streamlines","version":"1.3.0","keywords":["streamlines","vector","field","evenly","spaced"],"author":{"name":"Andrei Kashcha"},"license":"MIT","_id":"@anvaka/streamlines@1.3.0","maintainers":[{"name":"anvaka","email":"anvaka@gmail.com"}],"homepage":"https://github.com/anvaka/streamlines#readme","bugs":{"url":"https://github.com/anvaka/streamlines/issues"},"dist":{"shasum":"21f046511e79dc4d90bab9b76cc7182e8b9efe15","tarball":"https://registry.npmjs.org/@anvaka/streamlines/-/streamlines-1.3.0.tgz","fileCount":46,"integrity":"sha512-E0+yxzphS4MzpP/RdjCDtagHVVzTnVwclkWL642a5J0NbSoHCgF8UFHd6a9WUPc8Z9ac5r4mwlzWol9e0vDXuw==","signatures":[{"sig":"MEUCIBYOdyzrm7O3ATOooMRy3fD7hv/5vgET2Hpstg9VraEOAiEA+V1WhIpULB78o0hy60BnFyxLOLO6by64i6q4nTIN6y0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":119039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxlWDCRA9TVsSAnZWagAAuZEP/0I9HnwE6msx9r6XEeCf\nCOnyUttx1H9hVYJFT0TbF3/1s07ymtvfpRd1rA/xIt5g0DIx2pKuk73GnICL\n+K45HujDdGlphYm+aEpLH2U+co2hy0adHRcB2+r1J88aIRLVJkdKmKOPGckI\nXVXdVAzTeTccKlFjae97vX4/XQQnbTql+kzSfgJfIA8t1GCpPt/qqi+UCJWs\nNTU4uzlXO09fBFwW6HW33QmkoIsWQ3c0WuJEJO9cdmUEnk5XuuYUpEQUCzPN\nuCi3QYowjfMZXzQtmXUYpdv9bbXddVXyAVvO1rVukplji7oHTz+XE96zxbSJ\ng0xz2ezuL3N994UZHmb85fsX8BOhMLvOJVQLQ+nj3MgbOWusrhmwWoqEWK4H\nyoSJjiwfOT1Du5NzXwcmsXgoSXwIorBZrfaLNNIg5eKWmqOb9h5Q9BRt4qp7\nj6dz8Bt+oplZRR/AIWyMDZMYqiLa4bhdWS+68vIuYX3ztOvlrIkTRx6DD5pF\nOlrZJP5ua27m52R2gOjJ2MNi4j0K0LZdL3hOG2tHSqFXvoRyxwPVQrY3Hd/d\nSiFIQmWYuQ2xq/eRmiQVNFg899WQBESAb2ayOGnSfIEc71TKNCK5nthtvZEo\nhAELwb6fws/eFLFF7bsk0sdA4sK9KaysdVcohISTBBdpHysab95niEx0om+h\nlLLU\r\n=I+Bv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"bce64911adc9abce64ae19f97b4317a525dd69c0","scripts":{"test":"tap --branches=60 --lines=60 --statements=60 --functions=60  test/*.js","build":"browserify -s streamlines ./index.js > dist/streamlines.js && uglifyjs dist/streamlines.js > dist/streamlines.min.js"},"_npmUser":{"name":"anvaka","email":"anvaka@gmail.com"},"repository":{"url":"git+https://github.com/anvaka/streamlines.git","type":"git"},"_npmVersion":"6.14.13","description":"Streamlines calculator","directories":{},"_nodeVersion":"14.17.0","_hasShrinkwrap":false,"devDependencies":{"tap":"^15.0.9","uglify-js":"^3.13.9"},"_npmOperationalInternal":{"tmp":"tmp/streamlines_1.3.0_1623610755306_0.44935235191522027","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"@anvaka/streamlines","version":"1.4.0","keywords":["streamlines","vector","field","evenly","spaced"],"author":{"name":"Andrei Kashcha"},"license":"MIT","_id":"@anvaka/streamlines@1.4.0","maintainers":[{"name":"anvaka","email":"anvaka@gmail.com"}],"homepage":"https://github.com/anvaka/streamlines#readme","bugs":{"url":"https://github.com/anvaka/streamlines/issues"},"dist":{"shasum":"2bdb1eec37f0d05f5983a6a6af4ba95b6c4fede9","tarball":"https://registry.npmjs.org/@anvaka/streamlines/-/streamlines-1.4.0.tgz","fileCount":46,"integrity":"sha512-yQCAqa+tXw20mvXhPV0adaCe5tq9cS7T1yb21IVzC2T3xpDTHOlhTshwli97h9WkNbcdXg0CcjgtMEEO0HQ9zA==","signatures":[{"sig":"MEUCIQDNpM6tXLKHH38BeOc0jZE2/WKkMZT0xGPRXJ9ssbVtlQIgWr3gHfusRBZ9lz8/YB+24QH30iYfpAAB44cxaxFqXA8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":119301},"main":"index.js","gitHead":"1e256f2b2f04a15dc8bb97c36c8f4b759e48d2b6","scripts":{"test":"tap --branches=60 --lines=60 --statements=60 --functions=60  test/*.js","build":"browserify -s streamlines ./index.js > dist/streamlines.js && uglifyjs dist/streamlines.js > dist/streamlines.min.js"},"_npmUser":{"name":"anvaka","email":"anvaka@gmail.com"},"repository":{"url":"git+https://github.com/anvaka/streamlines.git","type":"git"},"_npmVersion":"7.18.1","description":"Streamlines calculator","directories":{},"_nodeVersion":"16.4.0","_hasShrinkwrap":false,"devDependencies":{"tap":"^15.0.9","uglify-js":"^3.13.9"},"_npmOperationalInternal":{"tmp":"tmp/streamlines_1.4.0_1636322765084_0.6923320834130713","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"@anvaka/streamlines","version":"1.5.0","keywords":["streamlines","vector","field","evenly","spaced"],"author":{"name":"Andrei Kashcha"},"license":"MIT","_id":"@anvaka/streamlines@1.5.0","maintainers":[{"name":"anvaka","email":"anvaka@gmail.com"}],"homepage":"https://github.com/anvaka/streamlines#readme","bugs":{"url":"https://github.com/anvaka/streamlines/issues"},"dist":{"shasum":"1d0ee14f52f7b77f7944adeff1addc50a35ec0af","tarball":"https://registry.npmjs.org/@anvaka/streamlines/-/streamlines-1.5.0.tgz","fileCount":46,"integrity":"sha512-WLqUw1JOKWgFr95SL02ZaRrwW2QYARo0kISNAkpYU68quG//a2uO0KqV6ACcmuq+9U4TWNyEiz0xrR3iPqyOng==","signatures":[{"sig":"MEQCIGx2aSZp+e5OjwHBxvdhGxMFOnvCiqQi0g43XQ04CkDNAiAfv20VUhhheuzjJ5TZt0qXMAsvH8/elFijLQPaqv48GA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":119324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzFd8CRA9TVsSAnZWagAAGPkP/10qY+aY61jsioBVSi1/\nlVPOgioAe26lsWzW/NyzkXOO66JLGGSGixVkJ3PQ+lk4GEdONsiPxzMBTbWS\ne4mNdrk9n/7eK3BZueCXIdBI0nY4er43K5oAt8BXvR6rqTWITKjYbQ+nk49K\ne4GSZEcDn4GPZgGlg2AQDVGf8a/l1GJL98dAd3xBkpm7hNWXa+z3rRJSiBXD\nm34gx0mlc6pr7uRxiB4x1nhEjZdhv+jldjQDAsQdb2fjKlAc/qB6CzgSfEEF\nqnv3M0z0DLySILuJk3Z0VH/WSuQddX9KZGrxc9rKETSGlCFi3jfoHJ1Cu5t8\n7ZahGck/gwsoopCfNKp2f8VJj1ayj/CU7zHl+Al9kfW8clKg5cOlcz/4udDs\nBzBlwBTVIHYs+uehmlWUmMOpUQk7w1XoFVi9jaGm0h5y4ZrHdo7tjYpdn6BL\nLpXPkhd+JTe4iAZ78HOmlkykycq4Vjlsk6N11LF1rNTAJl4/njchpHAjdPzJ\nse8N04EpL3ppf6nSVtEbnSFGM46rtNYEXI8iP2ziJGIsMJBNFjY27pYraFPY\nysOl6UhKLm6a2k0o4IxKp2z5boIi9l/5m3yOrICD06TbApC1IAOAG2FP4iyJ\nddYosoSDA8GiLfNOoBna3IR4mzKgFkFZl0Dksyx3nqeo0IYK1fqW5OOAOZdm\nnkeP\r\n=a4Q7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"0fad973a12757796ea2da835586febadef859aef","scripts":{"test":"tap --branches=60 --lines=60 --statements=60 --functions=60  test/*.js","build":"browserify -s streamlines ./index.js > dist/streamlines.js && uglifyjs dist/streamlines.js > dist/streamlines.min.js"},"_npmUser":{"name":"anvaka","email":"anvaka@gmail.com"},"repository":{"url":"git+https://github.com/anvaka/streamlines.git","type":"git"},"_npmVersion":"7.18.1","description":"Streamlines calculator","directories":{},"_nodeVersion":"16.4.0","_hasShrinkwrap":false,"devDependencies":{"tap":"^15.0.9","uglify-js":"^3.13.9"},"_npmOperationalInternal":{"tmp":"tmp/streamlines_1.5.0_1636323006388_0.2607285511961772","host":"s3://npm-registry-packages"}},"1.6.0":{"name":"@anvaka/streamlines","version":"1.6.0","description":"Streamlines calculator","type":"module","main":"dist/streamlines.cjs","module":"dist/streamlines.esm.js","unpkg":"dist/streamlines.umd.js","jsdelivr":"dist/streamlines.umd.js","exports":{".":{"import":"./dist/streamlines.esm.js","require":"./dist/streamlines.cjs"}},"sideEffects":false,"scripts":{"test":"vitest run","test:watch":"vitest","build":"vite build","demo":"npm --prefix demo run dev"},"repository":{"type":"git","url":"git+https://github.com/anvaka/streamlines.git"},"keywords":["streamlines","vector","field","evenly","spaced"],"author":{"name":"Andrei Kashcha"},"license":"MIT","bugs":{"url":"https://github.com/anvaka/streamlines/issues"},"homepage":"https://github.com/anvaka/streamlines#readme","devDependencies":{"uglify-js":"^3.19.3","vite":"^7.1.2","vitest":"^2.1.4"},"_id":"@anvaka/streamlines@1.6.0","gitHead":"ea828bc1582f0eb906d23cf392b56b9c91fae4f6","_nodeVersion":"22.12.0","_npmVersion":"11.5.2","dist":{"integrity":"sha512-PnXocHe5UFkflCeFg8o55hSWTegPRMTw83Tf1f9trkZqgSpxGVNx8Ch/cbLOInpG/HXjvkUx0B8SGLizZQ5hqQ==","shasum":"e71e40be49f051e29b2f41f9fc893d90ea33b4e7","tarball":"https://registry.npmjs.org/@anvaka/streamlines/-/streamlines-1.6.0.tgz","fileCount":52,"unpackedSize":194019,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFtjhfRwLNUdENzici+QHMtxYUWID9jmNvTn3qZZqegKAiEAuByezqNGv8Hm9+P4JW1QHcWToUnuRa056hFDe7Qs5j4="}]},"_npmUser":{"name":"anvaka","email":"anvaka@gmail.com"},"directories":{},"maintainers":[{"name":"anvaka","email":"anvaka@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/streamlines_1.6.0_1755241354116_0.9200026050342489"},"_hasShrinkwrap":false}},"time":{"created":"2018-02-10T20:34:01.093Z","modified":"2025-08-15T07:02:34.457Z","1.0.0":"2018-02-10T20:34:01.250Z","1.0.1":"2018-02-14T06:53:51.106Z","1.0.2":"2018-02-16T18:20:18.415Z","1.1.0":"2018-02-17T20:32:33.221Z","1.2.0":"2020-03-01T20:10:57.588Z","1.3.0":"2021-06-13T18:59:15.509Z","1.4.0":"2021-11-07T22:06:05.273Z","1.5.0":"2021-11-07T22:10:06.807Z","1.6.0":"2025-08-15T07:02:34.283Z"},"bugs":{"url":"https://github.com/anvaka/streamlines/issues"},"author":{"name":"Andrei Kashcha"},"license":"MIT","homepage":"https://github.com/anvaka/streamlines#readme","keywords":["streamlines","vector","field","evenly","spaced"],"repository":{"type":"git","url":"git+https://github.com/anvaka/streamlines.git"},"description":"Streamlines calculator","maintainers":[{"name":"anvaka","email":"anvaka@gmail.com"}],"readme":"# streamlines\n\nThe library builds streamlines for arbitrary vector fields, trying to keep uniform distance\nbetween them.\n\n![demo](https://i.imgur.com/dC5cN8P.gif)\n\n# usage\n\nYou can play with the interactive demo, though keep in mind - it's just a demo created in one night.\nTrue value of this repository is in the library itself :).\n\nDemo is here: https://anvaka.github.io/streamlines\n\nMore advanced example is [wind-map](https://anvaka.github.io/wind-lines/) - visualization of the winds\nmap with evenly spaced streamlines.\n\n## get it\n\nUse it with your favorite bundler:\n\n```\nnpm install @anvaka/streamlines\n```\n\nOr include a precompiled version (UMD) from a CDN:\n\n```\nhttps://cdn.jsdelivr.net/gh/anvaka/streamlines@v1.6.0/dist/streamlines.umd.js\n```\n\nES module build is also available:\n\n```\nimport streamlines from 'https://cdn.jsdelivr.net/gh/anvaka/streamlines@v1.6.0/dist/streamlines.esm.js';\n```\n\nIf you are using the UMD build, it will be available under global name `window.streamlines`.\n\n## use it\n\n```js\nvar vectorField = p => ({ x: -p.y, y: p.x });\n\nstreamlines({\n  vectorField,\n  onPointAdded(from, to) {\n    // called when new point is added to a line\n    console.log(\"point created\", from, to);\n  },\n  onStreamlineAdded(points) {\n    // Points is just a sequence of points with `x, y` coordinates through which\n    // the streamline goes.\n    console.log(\"stream line created. Number of points: \", points.length);\n  }\n}).run();\n```\n\nThe library allows you to configure various aspects of computation:\n\n```js\n\nstreamlines({\n  // Vector field is a function that given a point p returns 2d vector\n  // field {x, y}\n  vectorField(p) { return p; },\n\n  // Defines bounding box of the vector field\n  boundingBox: {left: -5, top: -5, width: 10, height: 10},\n\n  // Defines the first point where integration should start. If this is\n  // not specified a random point inside boundingBox is selected\n  // You can pass array of seed points, they are going to be used one by one\n  // if they satisfy the rules.\n  seed: {x: -1, y: 1},\n\n  // Separation distance between new streamlines.\n  dSep: 0.5\n\n  // Distance between streamlines when integration should stop.\n  dTest: 0.25,\n\n  // Integration time step (passed to RK4 method.)\n  timeStep: 0.01,\n\n  // If set to true, lines are going to be drawn from the seed points\n  // only in the direction of the vector field\n  forwardOnly: false\n}).run();\n```\n\nThe library does not depend on any particular rendering engine, and can be used in the\nbrowser or node.js environment. However, for your convenience and reference I've added\na [simple canvas renderer](https://github.com/anvaka/streamlines/blob/master/lib/renderTo.js):\n\n```js\n// Let's assume you have a <canvas id='scene'></canvas> in your document:\nvar canvas = document.getElementById(\"scene\");\n\n// Then you can render to it with this bit of code:\nstreamlines({\n  // As usual, define your vector field:\n  vectorField(p) {\n    return { x: -p.y, y: p.x };\n  },\n\n  // And print the output to this canvas:\n  onPointAdded: streamlines.renderTo(canvas)\n}).run();\n```\n\n[Here is a JSBin](http://jsbin.com/miwuyav/edit?html,js,output) for you to try.\n\n## Async\n\nThe library is asynchronous in its nature. This is done mostly to give you more control\nover streamline construction process.\n\nThe downside is that it is harder to understand the code. It is written in a way so that\nit can be interrupted at almost every computational step.\n\nIf you want to cancel rendering, call `dispose` method:\n\n```js\nvar renderer = streamlines({\n  vectorField(p) {\n    return p;\n  }\n});\n\n// Launch the construction\nrenderer.run();\n\n// something has happened and you want to stop?\nrenderer.dispose();\n```\n\nIf you want to understand the algorithm, please [read this paper](http://web.cs.ucdavis.edu/~ma/SIGGRAPH02/course23/notes/papers/Jobard.pdf) - the library follows it closely.\n\n## More examples\n\n* https://github.com/anvaka/noisylines - renders streamlines from perlin noise\n* https://jsbin.com/kuluvam/1/edit?html,js,output - shows how to set width/color of line segments\n\n# License\n\nMIT\n","readmeFilename":"README.md"}