{"_id":"pathfinding","_rev":"57-ab75a639e8d01314c07756e3e485872c","name":"pathfinding","description":"Comprehensive pathfinding library for grid based games","dist-tags":{"latest":"0.4.18"},"versions":{"0.2.0":{"name":"pathfinding","version":"0.2.0","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}],"directories":{"lib":"./lib"},"main":"/lib/PathFinding.min.js","dependencies":{},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"_id":"pathfinding@0.2.0","devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"9b5f6643b2c7d3f62b5e3812739b0f2c997ebfab","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.2.0.tgz","integrity":"sha512-zP7kAS873f4Zv4hy2ls6q7J8nb0v7vrfmPx+/zxcgXWFPN33Q7nI7j5bx8cAOyz+k1/J/8iqO7W3dGL1lgiHtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICE3F1LuxABklGNOETyLav0j4RzTYYU/jBQG/sLqM3n1AiB6f8+CPaaOSLl/jUSPOMT9t9yHMtiSnzNsAGqajMlPGQ=="}]}},"0.3.0":{"name":"pathfinding","version":"0.3.0","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{},"devDependencies":{"uglify-js":">= 1.2.5","browserify":">= 1.9.3","mocha":">= 0.10.2","should":">= 0.5.1"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"_id":"pathfinding@0.3.0","optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.0-3","_nodeVersion":"v0.6.9","_defaultsLoaded":true,"dist":{"shasum":"456c7122d99a647251ac0d25c6f002e6f69191ac","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.3.0.tgz","integrity":"sha512-+hrDdvUcKjygiJ5Da4ErA9qFTaAOXA9amk63O29Pac9CdtyAbwBlGXwHlBbnY3Y6x6FHhPJUNiGdWdv+2lQNnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHitVpFwvnJq7+sjILG7V7feXIUMjPoQF4b8jvZoV48IAiEA2Ep9q0DxAdZ5nufJYI5XLOF+ZgEEMOH3AX3sebT05Fg="}]},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}]},"0.3.1":{"name":"pathfinding","version":"0.3.1","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{},"devDependencies":{"uglify-js":">= 1.2.5","browserify":"1.10.8","mocha":"1.0.x","should":"0.6.x"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"_id":"pathfinding@0.3.1","optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.18","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"92597c185abc6f76f3553f46904c82977bc69344","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.3.1.tgz"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}]},"0.3.2":{"name":"pathfinding","version":"0.3.2","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{},"devDependencies":{"uglify-js":">= 1.2.5","browserify":"1.10.8","mocha":"1.0.x","should":"0.6.x"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"_id":"pathfinding@0.3.2","optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.18","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"883c4ba7d248bcad48259b47297b84153862c99e","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.3.2.tgz","integrity":"sha512-2LnidhBWjy7X0GxEByZQpZVGnlY76JQI2QJnQglIM8p2ld/1IV5JBUDQKfm1Thmxl69dVEb1H7Qs+8U9IFMkqw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFlYfUC049GnesA6/5Re9DlzBbaVjDDJK3xphmOl2BgtAiEA1deNPuFUFvXrft0B66Gn/otawPQjuONuIVxQrISDx04="}]},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}]},"0.3.3":{"name":"pathfinding","version":"0.3.3","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{},"devDependencies":{"uglify-js":">= 1.2.5","browserify":"1.10.8","mocha":"1.0.x","should":"0.6.x"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"_id":"pathfinding@0.3.3","optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.18","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"da1e41bfc813ffe158327e8e4f63904fdbb499ad","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.3.3.tgz","integrity":"sha512-0ASSAnQE2OF8iPglTMpyIGa77Iq/N3qz+7P6ynaP0MaTxvIQCxMKCaVAR3k6BjxHXia/AMEMPIVj7vOQnLXJdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICBu84nua8ZW75rtyAuKCLfpv3vbr1hxIzjKmsgHQa8IAiEAyqmkte9PlrWz4reLXBGexZvj/9zje+fuoNfoyVJNUAM="}]},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}]},"0.4.0":{"name":"pathfinding","version":"0.4.0","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{},"devDependencies":{"uglify-js":">= 1.2.5","colors":"0.6.x","browserify":"1.10.8","mocha":"1.0.x","should":"0.6.x"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"_id":"pathfinding@0.4.0","optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.18","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"9d019dfb7a61f691878989438c37264696140235","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.0.tgz","integrity":"sha512-qkcYHmeALP9hv6mPEtR2K2LXFd+5vLyoVI4J/OJ24i6Kcs2dACPY9ORGoTgUzr1+xhC5Ghip48xFJcoY0PU19Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAv1elyznA12t03Fn6oypjwax7MzjCyarjF3jOZfBo5mAiBL7vPaqvcbB01dZJMmsO7etktUFqyIwQa9lxbOG4k4+g=="}]},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}]},"0.4.1":{"name":"pathfinding","version":"0.4.1","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{},"devDependencies":{"uglify-js":">= 1.2.5","colors":"0.6.x","browserify":"1.10.8","mocha":"1.0.x","should":"0.6.x"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"_id":"pathfinding@0.4.1","dist":{"shasum":"9ff09ea3d3fda17e46d38bbf892d749347c8a4d2","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.1.tgz","integrity":"sha512-wKWm40VYNCCOU2Nod6gE/rahW2XqcopxuM4D70f/NFX3XtQ/uNsJ2yjMc79QxMaqCp7h+xgHrWkaf696x3Ambw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3XC2m/UE9KZsE4hsd5jY+RKGfkBv4vWYBZlifGkijKQIhAIgracMLvSxiZr6Rc5JD482Y8ZPuEbLeQZF3qiHElRmT"}]},"_npmVersion":"1.1.61","_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}]},"0.4.2":{"name":"pathfinding","version":"0.4.2","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{},"devDependencies":{"uglify-js":"2.3.6","colors":"0.6.x","browserify":"2.25.0","mocha":"1.0.x","should":"0.6.x"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.2","dist":{"shasum":"8a7c06f71656569e64f32e349f68fc587b6ac45e","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.2.tgz","integrity":"sha512-OZd41zu4cPcH85A28QYIy2AyHmxIRK9pOoqreJKwjAjr4mfQKsu8RGyWgEKbjc+ulEKt4UYeu61HQYf7hbUqyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCf8KWq/mk2dqvgTr6VaUgxS/R7DL+pJ37RbXyzohn1TwIgWy1cukJsotjAG0seaQkNpicba4qsB46+XoNNZbs0H5s="}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}]},"0.4.3":{"name":"pathfinding","version":"0.4.3","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{},"devDependencies":{"uglify-js":"2.3.6","colors":"0.6.x","browserify":"2.25.0","mocha":"1.0.x","should":"0.6.x"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.3","dist":{"shasum":"144ba363de685883dbbb97785c6801c47ab90271","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.3.tgz","integrity":"sha512-Guyy588yer42dvAMc8u8LkgPA4BcC3M4jQJS9RJTGW2p3NL0QXU5uWqKp3N+GwLhrZjqFFK4eZ9sRKrzsDTyUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBBM5ue2RExbJvgQMokg/2AL+3QmnqZMGOcgLBC4Sek/AiArMjKV4p7KkkiY0VgbxznlFkLqDNiOZloHZdxfbRWYPw=="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}]},"0.4.4":{"name":"pathfinding","version":"0.4.4","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.2"},"devDependencies":{"uglify-js":"2.3.6","colors":"0.6.x","browserify":"2.25.0","mocha":"1.0.x","should":"0.6.x"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.4","dist":{"shasum":"4b1be554e36c11e95035e3efc55cfb2335856e92","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.4.tgz","integrity":"sha512-lMZrradSYDzKAzBRH13pgix40rUxx8hhLVaMOU53VstmIE8fJNmnP3nDHu6wn+KiP+F9zY5KRCzOaIAn+kA2fQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID8chKENc36CvNcwq0pFdi2JldwV4HyK1177txk0p83vAiEAkRpKA6Q2T3zacAT2g2axZv7VZhyB2Q1pRZoLPLoyIzQ="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}]},"0.4.5":{"name":"pathfinding","version":"0.4.5","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.2"},"devDependencies":{"uglify-js":"2.3.6","colors":"0.6.x","browserify":"2.25.0","mocha":"1.0.x","should":"0.6.x"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.5","dist":{"shasum":"1a2d6773325037edd0936726a2c4c1dddd9438b1","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.5.tgz","integrity":"sha512-s/ORSrsH0yg+79NbVUPxcVinlyflrEot4DdKOe5irrQoVjVvF6R3neFVlF4YYwS7QgNK/s2RNso+2QR+JgDrJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGAfTNIzzrYGhCAkAlQjpsihg6iILN97fF/sHNZg5M9jAiB3S6G5CcKfwHHircLNyIfNvSIhiv8nOjO1ymFjFeFjAw=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}]},"0.4.7":{"name":"pathfinding","version":"0.4.7","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.2"},"devDependencies":{"uglify-js":"2.3.6","colors":"0.6.x","browserify":"2.25.0","mocha":"1.0.x","should":"0.6.x"},"scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.7","_shasum":"200ba5bbb9e186c52f9027610c9eed39f39b89b6","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}],"dist":{"shasum":"200ba5bbb9e186c52f9027610c9eed39f39b89b6","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.7.tgz","integrity":"sha512-Hv77n/rHB/JyX6QOR83bF8gszNlxbQ7UBMX1WIIfHXspMqvwEhHJG0kjQR07x6WkKxJVf+NIbz/G1kCxIZU11g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICajf/kOneCb2MH0s5kV0qbVEB4X9kX0HzQKkGlY9wpBAiA8GQdrGNLyPjveY2gaiWQYgJQXXTjVCDxT3YplzOS38g=="}]}},"0.4.8":{"name":"pathfinding","version":"0.4.8","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.2"},"devDependencies":{"uglify-js":"2.3.6","colors":"0.6.x","browserify":"2.25.0","mocha":"1.0.x","should":"0.6.x"},"scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.8","_shasum":"3f7f5a08b36ec14e4b032aa89096d686711630be","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}],"dist":{"shasum":"3f7f5a08b36ec14e4b032aa89096d686711630be","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.8.tgz","integrity":"sha512-mTMc5jJBxG1ugc5HjGhhYUerG6lyx0EEqU1ftWeEifPCMJ1QDVblMTFAAo3q81iwq6nY+Gqj5OPNWj0JC0INxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGbyOFimGpE7gT5asDRuDJAvkzwTsBeHhNBfEyT/PNxwIgNT05q5TZROip435VHAiJ+IIQ8oWcNROB369bfIOeyjU="}]}},"0.4.9":{"name":"pathfinding","version":"0.4.9","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.2"},"devDependencies":{"uglify-js":"2.3.6","colors":"0.6.x","browserify":"2.25.0","mocha":"1.0.x","should":"0.6.x"},"scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.9","_shasum":"ceaec43a3f0062fd271d815b6202e3b83cbec561","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}],"dist":{"shasum":"ceaec43a3f0062fd271d815b6202e3b83cbec561","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.9.tgz","integrity":"sha512-olfICEfPYCDOkpf9dqHyW7nDRPgvFYwqd1fXUiMa55Dixke9/c7q8JYJqw1vba/mJENNG8Upko++vrmo1W4TBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE02WgQeruCf3fIKb/sCOhIKkpdeLKzv1mOCCTutIP9vAiEAh8EYkDRdIMdmU9tvng9I3gF9wVKVYNy8zmZ2gg3LqMI="}]}},"0.4.11":{"name":"pathfinding","version":"0.4.11","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.2"},"devDependencies":{"uglify-js":"2.3.6","colors":"0.6.x","browserify":"2.25.0","mocha":"1.0.x","should":"0.6.x"},"scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.11","_shasum":"8fa756950c3b8898ae23e87c1176c7603d1a5c6f","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}],"dist":{"shasum":"8fa756950c3b8898ae23e87c1176c7603d1a5c6f","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.11.tgz","integrity":"sha512-gWM+FRErNBnLkd7Ys89LwX1/SAQ4a8mBal/FUOioX8HO7vi1eRkZAa8Ud5okE+wU9WZvfY+pFXpjZ70X24IPOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC24DcBd0OyzUx03z44kNiL3FMj6EMvULcvyosRk8Y0FQIgVcirvuYFobGuNJRbyNNgUANUzCnCXpgHTMvFRXyBAg0="}]}},"0.4.12":{"name":"pathfinding","version":"0.4.12","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.2"},"devDependencies":{"uglify-js":"2.3.6","colors":"0.6.x","browserify":"2.25.0","mocha":"1.0.x","should":"0.6.x"},"scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"gitHead":"2f5d797de938d81a3a4cc943cb5be86add593685","bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.12","_shasum":"9e20be424c1c659fae785634881f4c4df4fd8bb7","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}],"dist":{"shasum":"9e20be424c1c659fae785634881f4c4df4fd8bb7","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.12.tgz","integrity":"sha512-GFZrQRJN0dSaB2e1J6Dg4M7lz/oVaLqrjfagqHQ7CREAVoYXXWAOWhkFYFxWM2HHGCOwi9n9LexsFvfI6llJGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZiMEDm9fTb6R8AZhlQd93Oc+CvjFqolyGkhRWqeFVugIgXrJvs+XnBIgn0yxVcQJP/xoBdmPi0vgoSdUOkN2Chd4="}]}},"0.4.13":{"name":"pathfinding","version":"0.4.13","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["algorithm","game"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.2"},"devDependencies":{"uglify-js":"2.3.6","colors":"0.6.x","browserify":"6.0.3","mocha":"1.0.x","should":"0.6.x"},"scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"gitHead":"357aa5df82e4c3b1ab031068e3b4448e80e7457f","bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.13","_shasum":"40fd61b4fcd4bfd4dea16a8ec69c4e3bdda9a64a","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"qiao","email":"xueqiaoxu@gmail.com"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"}],"dist":{"shasum":"40fd61b4fcd4bfd4dea16a8ec69c4e3bdda9a64a","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.13.tgz","integrity":"sha512-Z9KFu5j9Nvo7CNo4mZ9YSFua1vAUAweIxN9yJkFsw4HFfRrKgr1RyJf0jp1iET2/uKT0h8MHx32BTF1UWsXsPQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOVZ5Cyi/bx1gKtBLf031yo4rUAZEc92HJSzG1ucZmJgIgXkR0hjZL6+FWtQ4GwdJjXfGLcCLJjwfBVYfYb5CHpCU="}]}},"0.4.14":{"name":"pathfinding","version":"0.4.14","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["pathfinding","astar","dijkstra","game","algorithm","jumppoint","depthfirst","breadthfirst"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.5"},"devDependencies":{"del":"^0.1.3","gulp":"^3.8.10","gulp-browserify":"^0.5.0","gulp-concat":"^2.4.1","gulp-jshint":"^1.9.0","gulp-mocha":"^2.0.0","gulp-rename":"^1.2.0","gulp-shell":"^0.2.10","gulp-uglify":"^1.0.1","jshint-stylish":"^1.0.0","mocha":"2.0.x","should":"4.3.x"},"scripts":{"test":"gulp test"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"gitHead":"d0bcd9ee340fbad89be02950cefe9d87eff8545d","bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.14","_shasum":"0ab1ea36e88a3d695291377bff39fdeef396cede","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"imor","email":"romi_ssk@yahoo.co.in"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"},{"name":"imor","email":"romi_ssk@yahoo.co.in"}],"dist":{"shasum":"0ab1ea36e88a3d695291377bff39fdeef396cede","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.14.tgz","integrity":"sha512-YpIVw4WqcPkstjHvItbDanVa1MMc7j/AbcGiag8hJ/ggLtIs3N106eb/HxwMNFWkMJlEW4ZF1heMB5OLvi9dXA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBijrkjsH8YEo4+Vm0n0Tjha1DvRK72Jpcv0xP9co9tlAiEA9jSqUZaEvPNPQXB/SU5rvaj3i9PstXSXB+UlQX6fygA="}]}},"0.4.15":{"name":"pathfinding","version":"0.4.15","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["pathfinding","astar","dijkstra","game","algorithm","jumppoint","depthfirst","breadthfirst"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.5"},"devDependencies":{"colors":"^1.0.3","del":"^0.1.3","gulp":"^3.8.10","gulp-browserify":"^0.5.0","gulp-concat":"^2.4.1","gulp-jshint":"^1.9.0","gulp-mocha":"^2.0.0","gulp-rename":"^1.2.0","gulp-uglify":"^1.0.1","inquirer":"^0.8.0","jshint-stylish":"^1.0.0","jsonfile":"^2.0.0","mocha":"2.0.x","semver":"^4.2.0","shelljs":"^0.3.0","should":"4.3.x"},"scripts":{"test":"gulp test"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"gitHead":"334d27ced09bda585756a7d76730e7f4020801ee","bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.15","_shasum":"0d03201386d7e47786d760758fe12c25c23ad21f","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"imor","email":"romi_ssk@yahoo.co.in"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"},{"name":"imor","email":"romi_ssk@yahoo.co.in"}],"dist":{"shasum":"0d03201386d7e47786d760758fe12c25c23ad21f","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.15.tgz","integrity":"sha512-i172e4IOPSZ6l6hpU3KoNp4+gdSgqXbLl3WENj38xNCmSZvjgs5/56hj4G4fYBTVfZOHF1a2jbQXlP0LxgMQcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvBqRiq/xb8N+eij/ObEoZnNqL5ore3o1y1j3NS62V+wIgX+voBqXO/giUASLK8vXbeKRNfRQtgG3t2+CoSx3WMq0="}]}},"0.4.16":{"name":"pathfinding","version":"0.4.16","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["pathfinding","astar","dijkstra","game","algorithm","jumppoint","depthfirst","breadthfirst"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.5"},"devDependencies":{"colors":"^1.0.3","del":"^0.1.3","gulp":"^3.8.10","gulp-browserify":"^0.5.0","gulp-concat":"^2.4.1","gulp-jshint":"^1.9.0","gulp-mocha":"^2.0.0","gulp-rename":"^1.2.0","gulp-uglify":"^1.0.1","inquirer":"^0.8.0","jshint-stylish":"^1.0.0","jsonfile":"^2.0.0","mocha":"2.0.x","semver":"^4.2.0","shelljs":"^0.3.0","should":"4.3.x"},"scripts":{"test":"gulp test"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"gitHead":"19572d2bf8ecd1f4c51e456d44d3c239ad89c06f","bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.16","_shasum":"c6cad70057e058a4516151097e120dfa9247a8c7","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"imor","email":"romi_ssk@yahoo.co.in"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"},{"name":"imor","email":"romi_ssk@yahoo.co.in"}],"dist":{"shasum":"c6cad70057e058a4516151097e120dfa9247a8c7","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.16.tgz","integrity":"sha512-WyWjaSFZKYFfoVKNoLnZxD5aQHHepjgOpfgJHMantVtZkZWoQbv48FCV61xta9IBHfMdmorui0hw86FCv2nuWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBwzWq48243Sga05RDytGQicPdhggZ10yfG6ZcS+6FeGAiBqB3h1jVwgS0qgG9oxd6YGpQMfxgXv7JJsee1MHBBSdQ=="}]}},"0.4.17":{"name":"pathfinding","version":"0.4.17","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["pathfinding","astar","dijkstra","game","algorithm","jumppoint","depthfirst","breadthfirst"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.5"},"devDependencies":{"colors":"^1.0.3","del":"^0.1.3","gulp":"^3.8.10","gulp-browserify":"^0.5.0","gulp-concat":"^2.4.1","gulp-jshint":"^1.9.0","gulp-mocha":"^2.0.0","gulp-rename":"^1.2.0","gulp-uglify":"^1.0.1","inquirer":"^0.8.0","jshint-stylish":"^1.0.0","jsonfile":"^2.0.0","mocha":"2.0.x","semver":"^4.2.0","shelljs":"^0.3.0","should":"4.3.x"},"scripts":{"test":"gulp test"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"gitHead":"3de61422929fd9cbf8302b09cf762b04dc8af818","bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.17","_shasum":"fc43de082f259befdd0997c1be7546549b544d6c","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"imor","email":"romi_ssk@yahoo.co.in"},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"},{"name":"imor","email":"romi_ssk@yahoo.co.in"}],"dist":{"shasum":"fc43de082f259befdd0997c1be7546549b544d6c","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.17.tgz","integrity":"sha512-TFafZElepwUZyYKvtKOGRyHU0YG6BLxhEITbou2jBnzLiTgIG6PIYAADzsDsfbpPua7HxtVhD0oLnJUYxVTdTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA1OsyilmxsLETF/0QSvmTP+kL3VkJcdU9rJWpxh+JmLAiAJJQbcIgqVuohAE6IuDLlg2obZaemZCI2f/qrQVZt3MA=="}]}},"0.4.18":{"name":"pathfinding","version":"0.4.18","description":"Comprehensive pathfinding library for grid based games","homepage":"https://github.com/qiao/PathFinding.js","keywords":["pathfinding","astar","dijkstra","game","algorithm","jumppoint","depthfirst","breadthfirst"],"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"main":"./index.js","dependencies":{"heap":"0.2.5"},"devDependencies":{"colors":"^1.0.3","del":"^0.1.3","gulp":"^3.8.10","gulp-browserify":"^0.5.0","gulp-concat":"^2.4.1","gulp-jshint":"^1.9.0","gulp-mocha":"^2.0.0","gulp-rename":"^1.2.0","gulp-uglify":"^1.0.1","inquirer":"^0.8.0","jshint-stylish":"^1.0.0","jsonfile":"^2.0.0","mocha":"2.0.x","semver":"^4.2.0","shelljs":"^0.3.0","should":"4.3.x"},"scripts":{"test":"gulp test"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"gitHead":"8a79997bcb3a0a4fc2382a053886d94383a07dbe","bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"_id":"pathfinding@0.4.18","_shasum":"a9990f6fa22b7ef196e5651b049165403a045fe8","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"imor","email":"romi_ssk@yahoo.co.in"},"dist":{"shasum":"a9990f6fa22b7ef196e5651b049165403a045fe8","tarball":"https://registry.npmjs.org/pathfinding/-/pathfinding-0.4.18.tgz","integrity":"sha512-R0TGEQ9GRcFCDvAWlJAWC+KGJ9SLbW4c0nuZRcioVlXVTlw+F5RvXQ8SQgSqI9KXWC1ew95vgmIiyaWTlCe9Ag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd4jDWCm3mgTidUo9DvjS/AztoFoH27tR1hZwIEJ0LjQIhAObyx7VDS2pR6EYun+HjID/x2rL4uBzsk+Cpw28iyZ34"}]},"maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"},{"name":"imor","email":"romi_ssk@yahoo.co.in"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pathfinding-0.4.18.tgz_1462857991856_0.4663389993365854"}}},"readme":"PathFinding.js\r\n==============\r\n#### A comprehensive path-finding library in javascript. ####\r\n\r\n[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/qiao/PathFinding.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\r\n\r\n[![Build Status](https://travis-ci.org/qiao/PathFinding.js.svg?branch=master)](https://travis-ci.org/qiao/PathFinding.js)\r\n[![Dependency Status](https://david-dm.org/qiao/pathfinding.js.png)](https://david-dm.org/qiao/pathfinding.js)\r\n[![Documentation Status](https://readthedocs.org/projects/pathfindingjs/badge/)](https://readthedocs.org/projects/pathfindingjs/?badge=latest)\r\n\r\nIntroduction\r\n------------\r\n\r\nThe aim of this project is to provide a path-finding library that can be easily incorporated into web games. It may run on Node.js or the browser.\r\n\r\nIt comes along with an [online demo](http://qiao.github.com/PathFinding.js/visual) to show how the algorithms execute. (The pathfinding speed is slowed down in the demo)\r\n\r\nNote that this project only provides path-finding algorithms for 2D space. If you need to work in a 3D environment, then you may use [@schteppe](https://github.com/schteppe)'s [fork](https://github.com/schteppe/PathFinding3D.js).\r\n\r\nThere is new documentation being written for PathFinding.js. You can read it [here](http://pathfindingjs.readthedocs.org/en/latest/). Note that this is in very early stages and far from complete so keep your eyes open for mistakes and don't hesitate to open a pull request in case you find one.\r\n\r\nServer\r\n------\r\n\r\nIf you want to use it in Node.js, you may install it via `npm`.\r\n\r\n```bash\r\nnpm install pathfinding\r\n```\r\n\r\nThen, in your program:\r\n\r\n```javascript\r\nvar PF = require('pathfinding');\r\n```\r\n\r\nSee the `Basic Usage` section below for usage details.\r\n\r\n\r\nBrowser\r\n-------\r\n\r\nIf you have bower installed then you can install it with the following command:\r\n\r\n```bash\r\nbower install pathfinding\r\n```\r\n\r\nBy default bower will install pathfinding under the bower_components folder, so to include it in your page do something like:\r\n\r\n```html\r\n<script type=\"text/javascript\" src=\"path/to/bower_components/pathfinding/pathfinding-browser.min.js\"></script>\r\n```\r\n\r\nYou can also grab a release from the [Releases Page](https://github.com/imor/pathfinding-bower/releases) if you don't use bower.\r\n\r\nBasic Usage\r\n-----------\r\n\r\nTo build a grid-map of width 5 and height 3:\r\n\r\n```javascript\r\nvar grid = new PF.Grid(5, 3); \r\n```\r\n\r\nBy default, all the nodes in the grid will be able to be walked through.\r\nTo set whether a node at a given coordinate is walkable or not, use the `setWalkableAt` method.\r\n\r\nFor example, to set the node at (0, 1) to be un-walkable, where 0 is the x coordinate (from left to right), and \r\n1 is the y coordinate (from up to down):\r\n\r\n```javascript\r\ngrid.setWalkableAt(0, 1, false);\r\n```\r\n\r\nYou may also pass in a matrix while instantiating the `PF.Grid` class.\r\nIt will initiate all the nodes in the grid with the same walkability indicated by the matrix.\r\n0 for walkable while 1 for blocked.\r\n\r\n```javascript\r\nvar matrix = [\r\n    [0, 0, 0, 1, 0],\r\n    [1, 0, 0, 0, 1],\r\n    [0, 0, 1, 0, 0],\r\n];\r\nvar grid = new PF.Grid(matrix);\r\n```\r\n\r\nCurrently there are 10 path-finders bundled in this library, namely:\r\n\r\n*  `AStarFinder` *\r\n*  `BestFirstFinder`\r\n*  `BreadthFirstFinder` *\r\n*  `DijkstraFinder` *\r\n*  `IDAStarFinder.js` *\r\n*  `JumpPointFinder` *\r\n*  `OrthogonalJumpPointFinder` *\r\n*  `BiAStarFinder`\r\n*  `BiBestFirstFinder`\r\n*  `BiBreadthFirstFinder` *\r\n*  `BiDijkstraFinder` *\r\n\r\nThe prefix `Bi` for the last four finders in the above list stands for the bi-directional searching strategy.\r\n\r\nAlso, Note that only the finders with trailing asterisks are guaranteed to find the shortest path.\r\n\r\nTo build a path-finder, say, the `AStarFinder`:\r\n\r\n```javascript\r\nvar finder = new PF.AStarFinder();\r\n```\r\n\r\nTo find a path from (1, 2) to (4, 2), (Note: both the start point and end point should be walkable):\r\n\r\n```javascript\r\nvar path = finder.findPath(1, 2, 4, 2, grid);\r\n```\r\n\r\n`path` will be an array of coordinates including both the start and end positions.\r\n\r\nFor the `matrix` defined previously, the `path` will be:\r\n\r\n```javascript\r\n[ [ 1, 2 ], [ 1, 1 ], [ 2, 1 ], [ 3, 1 ], [ 3, 2 ], [ 4, 2 ] ]\r\n```\r\n\r\nBe aware that `grid` will be modified in each path-finding, and will not be usable afterwards. If you want to use a single grid multiple times, create a clone for it before calling `findPath`.\r\n\r\n```javascript\r\nvar gridBackup = grid.clone();\r\n```\r\n\r\n\r\nAdvanced Usage\r\n--------------\r\n\r\nWhen instantiating path-finders, you may pass in additional parameters to indicate which specific strategies to use.\r\n\r\nFor all path-finders, you may indicate whether diagonal movement is allowed. The default value is `false`, which means that the path can only go orthogonally.\r\n\r\nIn order to enable diagonal movement:\r\n\r\n```javascript\r\nvar finder = new PF.AStarFinder({\r\n    allowDiagonal: true\r\n});\r\n```\r\n\r\nWhen diagonal movement is enabled, you might want to prevent the path from touching the corners of the occupied grid blocks. This is usually desirable if the objects using the path have physical width and can also move between the grid cells.\r\n\r\nTo enable the corner crossing prevention:\r\n\r\n```javascript\r\nvar finder = new PF.AStarFinder({\r\n    allowDiagonal: true,\r\n    dontCrossCorners: true\r\n});\r\n```\r\n\r\nNote that `dontCrossCorners` only makes sense when `allowDiagonal` is also used. Currently all algorithms except `JumpPointFinder` support this feature.\r\n\r\nFor `AStarFinder`, `BestFirstFinder` and all their `Bi` relatives, you may indicate which heuristic function to use.\r\n\r\nThe predefined heuristics are `PF.Heuristic.manhattan`(defalut), `PF.Heuristic.chebyshev`, `PF.Heuristic.euclidean` and `PF.Heuristic.octile`.\r\n\r\nTo use the chebyshev heuristic:\r\n\r\n```javascript\r\nvar finder = new PF.AStarFinder({\r\n    heuristic: PF.Heuristic.chebyshev\r\n});\r\n```\r\n\r\nTo build a `BestFirstFinder` with diagonal movement allowed and a custom heuristic function:\r\n\r\n```javascript\r\nvar finder = new PF.BestFirstFinder({\r\n    allowDiagonal: true,\r\n    heuristic: function(dx, dy) {\r\n        return Math.min(dx, dy);\r\n    }\r\n});\r\n```\r\n\r\nTo smoothen the path, you may use `PF.Util.smoothenPath`. This routine will return\r\na new path with the original one unmodified.\r\n\r\n```javascript\r\nvar newPath = PF.Util.smoothenPath(grid, path);\r\n```\r\n\r\nNote that the new path will be compressed as well, i.e. if the original path is\r\n`[[0, 1], [0, 2], [0, 3], [0, 4]]`, then the new path will be `[[0, 1], [0, 4]]`.\r\n\r\nTo just compress a path without smoothing it, you may use `PF.Util.compressPath`.\r\n\r\n```javascript\r\nvar newPath = PF.Util.compressPath(path);\r\n```\r\n\r\nTo expand the compressed path like `[[0, 1], [0, 4]]` back to `[[0, 1], [0, 2], [0, 3], [0, 4]]`,\r\nyou may use `PF.Util.expandPath`.\r\n\r\n```javascript\r\nvar newPath = PF.Util.expandPath(path);\r\n```\r\n\r\n\r\nDevelopment\r\n------------\r\n\r\nLayout:\r\n\r\n    .\r\n    |-- lib          # browser distribution\r\n    |-- src          # source code (algorithms only)\r\n    |-- test         # test scripts\r\n    |-- utils        # build scripts\r\n\t|-- benchmark    # benchmarks\r\n    `-- visual       # visualization\r\n\r\nMake sure you have `node.js` installed, then use `npm` to install the dependencies: \r\n\r\n    npm install -d \r\n\r\nThe build system uses gulp, so make sure you have it installed:\r\n\r\n    npm install -d -g gulp\r\n\r\nTo build the browser distribution:\r\n\r\n    gulp compile\r\n\r\nTo run the tests\r\n(algorithms only, not including the visualization) with\r\n[mocha](http://mochajs.org/) and [should.js](https://github.com/visionmedia/should.js)\r\nFirst install mocha:\r\n\r\n    npm install -d -g mocha\r\n\r\nThen run the tests:\r\n\r\n    gulp test\r\n\r\nTo run the benchmarks:\r\n\r\n    gulp bench\r\n\r\nOr if you are feeling lazy, the default gulp task does everything(except running the benchmarks):\r\n\r\n    gulp\r\n\r\nLicense\r\n-------\r\n\r\n[MIT License](http://www.opensource.org/licenses/mit-license.php)\r\n\r\n&copy; 2011-2012 Xueqiao Xu &lt;xueqiaoxu@gmail.com&gt;\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n","maintainers":[{"name":"qiao","email":"xueqiaoxu@gmail.com"},{"name":"imor","email":"romi_ssk@yahoo.co.in"}],"time":{"modified":"2022-07-13T14:52:14.005Z","created":"2011-11-24T04:57:02.331Z","0.2.0":"2011-11-24T04:57:06.917Z","0.3.0":"2012-01-30T15:13:06.071Z","0.3.1":"2012-04-22T17:26:24.773Z","0.3.2":"2012-04-22T17:31:55.764Z","0.3.3":"2012-04-26T15:26:05.030Z","0.4.0":"2012-04-29T05:58:59.006Z","0.4.1":"2012-10-30T07:23:30.007Z","0.4.2":"2013-07-19T23:49:46.181Z","0.4.3":"2013-08-23T04:29:59.009Z","0.4.4":"2013-10-16T01:50:31.041Z","0.4.5":"2014-01-13T21:23:56.566Z","0.4.7":"2014-05-27T16:58:06.422Z","0.4.8":"2014-05-27T16:59:21.893Z","0.4.9":"2014-05-28T16:44:58.863Z","0.4.11":"2014-06-05T16:31:50.117Z","0.4.12":"2014-08-07T04:27:59.934Z","0.4.13":"2014-10-10T06:18:04.139Z","0.4.14":"2015-01-15T07:59:34.586Z","0.4.15":"2015-01-16T07:59:36.357Z","0.4.16":"2015-01-16T08:20:30.765Z","0.4.17":"2015-04-05T11:30:03.055Z","0.4.18":"2016-05-10T05:26:34.746Z"},"author":{"name":"Xueqiao Xu","email":"xueqiaoxu@gmail.com"},"repository":{"type":"git","url":"git://github.com/qiao/PathFinding.js.git"},"homepage":"https://github.com/qiao/PathFinding.js","keywords":["pathfinding","astar","dijkstra","game","algorithm","jumppoint","depthfirst","breadthfirst"],"bugs":{"url":"https://github.com/qiao/PathFinding.js/issues"},"readmeFilename":"README.md","users":{"horaguchi":true,"lukicdarkoo":true,"boyander":true,"cubbic":true,"flashbackjon":true,"thomasmeadows":true,"jeffyan":true}}