{"_id":"@2d-game-grid/square","_rev":"21-cdd8abcfcf2d098f61aa5cba24c22aeb","name":"@2d-game-grid/square","dist-tags":{"latest":"2.4.3"},"versions":{"1.0.7":{"name":"@2d-game-grid/square","version":"1.0.7","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@1.0.7","maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"b6abd01720be32e0c2978431fc5f71a40b82a1c9","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-1.0.7.tgz","fileCount":95,"integrity":"sha512-rJIaGca/9ZI+8a/ayw8cyi294bk8n363liMzLMTUP69FncldVb6fo6o9uvVNIQmsZpGtuG6moBlyq2B7CsRoFA==","signatures":[{"sig":"MEUCIQDWleyTzpqk83fN5bKLrME2OFDyQ3UqAbJ9ttaV937iLAIgJwnOJvfrSSsyhcWuo6pES0NISoqnTMYJ9r1fAtWw1q8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74958},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":"./dist/index.js"},"gitHead":"2014b5299ee5cfed5a5c5f75f4d06fe74498b1a2","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.7.0","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.14.0","dependencies":{"pathfinding":"^0.4.18"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.4","ts-loader":"9.5.1","typescript":"5.4.5","@types/jest":"29.5.12","@types/pathfinding":"0.0.9"},"_npmOperationalInternal":{"tmp":"tmp/square_1.0.7_1718222102783_0.1553161526234721","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@2d-game-grid/square","version":"2.0.0","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.0.0","maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"b8e1a91c77374cc84b79c2bd295f8d2786a90654","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.0.0.tgz","fileCount":171,"integrity":"sha512-eWraPLWCb/QRCLq9H6HfCuuQppaUvNjnocTNxTRkIflUIcl8qIl6kH9Ymw82MkxqR5eq+vVZ0nUZwFQgkG103w==","signatures":[{"sig":"MEUCIQDJAiBABNUiIwRUHrUNuV5cdM6pT2tp8ts1UEqyVH5rKQIgDBQptvOxFZe6PMvACDwCDt0J9EI1dI+Z6QADKXR00oo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":144331},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"343f5ccd80a00d15ea913c0bc52171d62cbdd749","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.7.0","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.14.0","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.4","ts-loader":"9.5.1","typescript":"5.4.5","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.0.0_1718262117357_0.5097685403749617","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@2d-game-grid/square","version":"2.0.1","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.0.1","maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"dd3adaf33d5e92aca7f59cf072ceff3a8878cace","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.0.1.tgz","fileCount":107,"integrity":"sha512-cyccaxuk96TDm7Ju3QiT+QH447rLFhPhf4vOwCLdGEV0J6kPtv+LnYbsS+xzoTAQDqoBX1Oh4PpsrrwbngY1Vg==","signatures":[{"sig":"MEQCIFS13u5KdNkkctnYl7Y13OM4Mu/TpSSvr861Rvb0nEFeAiArDw/SSno/zzDT9qmWUAn+wFZGIO+fdrq+fPYDYlzD+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87214},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"b08b24c4c2a857985cf8ffe141fe24def1830934","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.7.0","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.14.0","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.4","ts-loader":"9.5.1","typescript":"5.4.5","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.0.1_1718276600423_0.24465540081410464","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@2d-game-grid/square","version":"2.1.0","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.1.0","maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"3d4038b37e4d66f484b0cc130b4c6b7e336b0cdd","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.1.0.tgz","fileCount":113,"integrity":"sha512-qu0a6GoJO4hnxPw8DehBHz3Z0Ap/N0KfZItPPB2kEgeearSYTthi5mYHMm7wzgD0obSTfwCXoe6IgXvCrLpo7g==","signatures":[{"sig":"MEUCIQCdxDVpS7niSsyK6qj2riwxmhHk4KWTdUiHMyoLqn7LcQIgOV4E2jV4788CMYuS7nrpLcNkrR++TLu74vtTkPjGf7I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88915},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"de4ee122cf98184ccd1164542dce55e40844feea","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.3"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.4","ts-loader":"9.5.1","typescript":"5.4.5","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.1.0_1718280203763_0.5669745967439304","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"@2d-game-grid/square","version":"2.1.1","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.1.1","maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"d95c9622ae8e86e069323aef8357b5a3c44dcea9","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.1.1.tgz","fileCount":113,"integrity":"sha512-tmWlnoydLa1IFYVxDh1IF9oJfDfO3DGWbKbQ1ONK0HgwyjXBHlP0WM6ryC0NO4lJiNNnRB6QAP+JYZBLp1KhMg==","signatures":[{"sig":"MEQCIDRBXXwdJoyrVaouruRNzjRE311PUpS2MBVuw5wJvDMPAiAohCDmXeKgZLDM3LU+2vOMlENC1HmmpYWzF8dtAKXm6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88952},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"b991f192fa7f56480236c91a97c4361ad5399f9b","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.4","ts-loader":"9.5.1","typescript":"5.4.5","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.1.1_1718282810155_0.5130252487721121","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@2d-game-grid/square","version":"2.2.0","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.2.0","homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"11f5f9da7c192b2ab96490bc66274da728fa0e52","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.2.0.tgz","fileCount":124,"integrity":"sha512-GZapIhYE6H0OS1CWxojYf+Iv2bbJt9seZrgONXfKONj2SA6cQtHLwToLHEDBt5X1zv/Tu/X9FKJ/mxDQsLHeRg==","signatures":[{"sig":"MEUCIQDaHWcbuNxd0+v+trDT9uwGbd0GhoS+FDuRC6WHLwiIRwIgOffAWbQkA2IGSneju5yro/Tj7s/dHKR4nOdf/I+RLVw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100698},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"62161552b2df534a63f6ecc9cbdd45267c2ea036","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.7.0","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.15.0","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.6"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.5","ts-loader":"9.5.1","typescript":"5.5.2","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.2.0_1719873496220_0.7672180336671872","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"@2d-game-grid/square","version":"2.2.1","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.2.1","homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"9ae10799353500e9b91e0d2a32a275527f7df922","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.2.1.tgz","fileCount":130,"integrity":"sha512-z/G1V7RAD4iVl4/92/80+EBvoS1Fg2HaYFFR/0nuRrmSdmaQNEEv1weo4SbTrOSACZWS1xsCFN5FOyj+QRBLvQ==","signatures":[{"sig":"MEQCIB8OQeKusX6now2jAHnIWOmIKQ8V647bEBpdm4WMJWw8AiB079xGVJ7fQ34Nh6v2Lts7g9zlO40AFK1GtzhADDEPmQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102491},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"ddce6255d69415965710af50b0f3ecdb652e5ce3","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.6"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.5","ts-loader":"9.5.1","typescript":"5.5.2","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.2.1_1719874110190_0.6305045109670491","host":"s3://npm-registry-packages"}},"2.2.2":{"name":"@2d-game-grid/square","version":"2.2.2","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.2.2","homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"7618f775081d16d56a3f89da0346d8a96c41eefe","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.2.2.tgz","fileCount":130,"integrity":"sha512-QG8be577blllpUqL0i3GLiGvOdegE1R4wVWrncpDk6DiIIIVq1HyZiCLxPaY8dN05tkTzUvnnGgUi5IKmW77bA==","signatures":[{"sig":"MEUCIFEmUpApVaBMZmecPYZ3zkBDTyMqJ510Yyk7qDuNV6qmAiEA23cIJS+j6NhEto0SK1haKqFizDBl9cX41h+44XUB+1w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102496},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"d5d31881a18ff026c8f335d2c71d6f34395e2b4c","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.7"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.5","ts-loader":"9.5.1","typescript":"5.5.2","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.2.2_1719875136977_0.6710277446370037","host":"s3://npm-registry-packages"}},"2.2.3":{"name":"@2d-game-grid/square","version":"2.2.3","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.2.3","homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"2e9181576a9bce6f595e97961be75e6565798ecf","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.2.3.tgz","fileCount":130,"integrity":"sha512-26zt/iCa+TFbO3JF3uv/iJ0ReldmYibhfQdHEZLJ4Ybpoo+ibK70lzRNhv9a2MbjTM4cFnyw1LpFLpZ4/BO+gA==","signatures":[{"sig":"MEYCIQC/9lmP8CYVpFZgrkOdGV92t1FSOpoBg/vuzsvzErUa/QIhALSOtjBn2Az/lR5OZQ15msO+Ty2YCWKTsiukaeDvVozF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102496},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"c1d87814c9f4276b33853743d01d443a1f5e5072","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.8"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.5","ts-loader":"9.5.1","typescript":"5.5.2","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.2.3_1719876063360_0.03302552241647372","host":"s3://npm-registry-packages"}},"2.2.4":{"name":"@2d-game-grid/square","version":"2.2.4","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.2.4","homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"171d658c5208c27cee45afaff410b2099b5ede2a","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.2.4.tgz","fileCount":130,"integrity":"sha512-xQlV9CDqj7volpfD3DXKkeu0ZJtU3dP30tE8oEb3I/84K+Hk/g1ZgYSvIc+eA877re/2T/Att1bUXQO1OUPiXg==","signatures":[{"sig":"MEQCIBPrpeq5Bx35a0iBS0XfkEOj79ZbTtuJSm7SqA0wW4hAAiAMBeHW74uL1XsA9SuDwftqmCD9BsaQ1sDeEJ6yCdbC6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101972},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"fde1927ef2251136245367b64614de35191921cb","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.8"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.5","ts-loader":"9.5.1","typescript":"5.5.2","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.2.4_1719876411020_0.662849413773597","host":"s3://npm-registry-packages"}},"2.2.5":{"name":"@2d-game-grid/square","version":"2.2.5","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.2.5","homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"1ad5088504c3f1fed27568fc2eae4ed3c242898b","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.2.5.tgz","fileCount":130,"integrity":"sha512-sDd8Q0/hL1uMPtb9QewkANXaryzDj35AKrJpI3l8nh3rWAEHusC2OaJjfyHlxcHXe4ncXqDK7F/UYXXHgt/0wg==","signatures":[{"sig":"MEYCIQC9HHwwJqLaQIEmN/PsY8nfGGnHTuMgWDXiFQFa/ESlxAIhALuKp15Q9hEFy865oHO82WQ7rDRvNPIBb39O41ZJpQhz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101972},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"7aef8832240342ee89c94c51df08cfb353ca9e6e","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.8"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.5","ts-loader":"9.5.1","typescript":"5.5.2","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.2.5_1719876530588_0.2667896445794795","host":"s3://npm-registry-packages"}},"2.2.6":{"name":"@2d-game-grid/square","version":"2.2.6","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.2.6","homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"fa6fdfd45f3535fd6aab0e8bbeeea0639f3ab919","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.2.6.tgz","fileCount":124,"integrity":"sha512-SutC2cPTSsSxgkqAtGv9yPrNWBuCpdXbrSn3W+jPfa1uFtg/JPydCgVwVOwiNN3LCz82dE9ogap+0ek4SAEs1A==","signatures":[{"sig":"MEQCIGDWoRgTBHJ6FOpNkKiKY6Nc1+lINJJ1pymafMMN0Q4zAiBDLm2yPwqp+xnLN1Uljv0KonPkos5cxYcikoC6WEivjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100420},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"4e977440cfdb5ccb2ef0c37508befa2fa518cc31","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.7.0","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.15.0","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.8"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.5","ts-loader":"9.5.1","typescript":"5.5.2","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.2.6_1719877839359_0.0596421379301979","host":"s3://npm-registry-packages"}},"2.2.7":{"name":"@2d-game-grid/square","version":"2.2.7","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.2.7","homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"0be5666f8e1cb18138f6a71b7cd9d856fc8b497d","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.2.7.tgz","fileCount":130,"integrity":"sha512-Vo6gy08yz+SbX+FCefZfnQuoC6IJUvyTfrU/96XTLlr1ObSJcxNBouEtF+ldPcaRXQRLFno8NPfUjX6GxFTPcg==","signatures":[{"sig":"MEUCIQDwfqLeAnJmbLHljl+i8FGt3BgsdVWLi8ZN1pI+fHYk6gIgfE4SRKYOrA4hgsCp2BHd6SSQFktFUcQ86cvvKQpYJTY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102736},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"54273fa65cfd594f6ea4004502dcf81e72cf6db9","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.8"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.5","ts-loader":"9.5.1","typescript":"5.5.2","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.2.7_1719878056099_0.9411399838468533","host":"s3://npm-registry-packages"}},"2.2.8":{"name":"@2d-game-grid/square","version":"2.2.8","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.2.8","homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"1dc3a09bb5c41086463691b8be9a72eb30b1af79","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.2.8.tgz","fileCount":130,"integrity":"sha512-njnOPAROn6VUiSEdGTQQDHRPkh6ld6AyTWJYZlyQlPJRoPrmT3MQxkiBE9tVEN8sgwdxgQMfORuWfXr9bjJlEA==","signatures":[{"sig":"MEQCIF4ph8q9LhIoINyfD5OCbMpSm8SFX/WXATlWXy85PeNoAiADVvCIN9kbsAaH8gBH0/HQUEb83Hv/5lAEDNAFSV8YWw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102814},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"09d2d90650fa1ed6683bdb6963c565395746fbf4","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.8"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.5","ts-loader":"9.5.1","typescript":"5.5.2","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.2.8_1719878263143_0.9069687241733189","host":"s3://npm-registry-packages"}},"2.2.9":{"name":"@2d-game-grid/square","version":"2.2.9","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.2.9","homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"96a96654ea2ea561fcf8e886046dbec493d11d9c","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.2.9.tgz","fileCount":130,"integrity":"sha512-6mSX47DleIG9jpCJ27uxvdCNnH3XNgkzlSYM0FaOkn1sYG8g8Q1a8VlqIIJK9/Mcj3oCsD2rl3tNgXBcEuonlg==","signatures":[{"sig":"MEUCIQCLMA4mAgr8nOcDElL/X2P1K81GZuuT/OPQtHzwutqsaAIgK943Kta1YFMY3pNd5XT5/0GlLDB6kyRLO5ELd4QnLBM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102932},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"09d2d90650fa1ed6683bdb6963c565395746fbf4","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.8"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.1.5","ts-loader":"9.5.1","typescript":"5.5.2","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.2.9_1719878329194_0.04050878218685261","host":"s3://npm-registry-packages"}},"2.2.10":{"name":"@2d-game-grid/square","version":"2.2.10","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.2.10","maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"640eeb57f91fe9b570cfa46bdb834ea48e3b0a14","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.2.10.tgz","fileCount":113,"integrity":"sha512-lfCpqOroylCJOGqPsau89erySrsAWZAQ/rU4gLHQj8aJkMVuaZ9uvWU9QgGSao00UcaLt3ooqAuUznkNXtSZnw==","signatures":[{"sig":"MEUCIQCTgHRQN1uLhBkE0h4wXougNg4KqmFTubP4JXSaaG6ldwIgFS+S8NEAt1S2mQLkqbV/M9hp0kCJKwZvj5E+plTTjXA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81862},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"e4135b15267c93122c9c2b14cb898d9271212eae","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.11"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.2.5","ts-loader":"9.5.1","typescript":"5.5.4","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.2.10_1724836965684_0.9904148979945675","host":"s3://npm-registry-packages"}},"2.3.1":{"name":"@2d-game-grid/square","version":"2.3.1","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.3.1","maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"60cdf20703b1f5ce3501d3cdb646bb4d71db5ea1","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.3.1.tgz","fileCount":113,"integrity":"sha512-zQ+0B8ALCxyl+GwRhhLLw2gocr2KFoUO1R3ESHRRU/Z5To8Noem2SlUrDppiyeKtzRGGwohNFHu0EIxs4oMOJw==","signatures":[{"sig":"MEUCIBmueQv7Xmmd6j2IfQ+yJjG1XTaYcDL8F4mbqBCQRiXIAiEAzkueU914551g08kLIcBR9qhibBRvqZCxeb2cvckfE6o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81394},"main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./src/index.ts","require":"./dist/cjs/index.js"}},"gitHead":"e113b417d8f59c3e8cb5905a46776be72f98aeb4","scripts":{"build":"bun scripts/build.ts","release":"bun run scripts/release.ts","test:unit":"jest --coverage","test:unit:watch":"jest --watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.5.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"20.13.1","dependencies":{"pathfinding":"0.4.18","@2d-game-grid/core":"0.0.12"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","ts-jest":"29.2.5","ts-loader":"9.5.1","typescript":"5.5.4","@types/jest":"29.5.12"},"_npmOperationalInternal":{"tmp":"tmp/square_2.3.1_1725067013139_0.5792836627864892","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"@2d-game-grid/square","version":"2.4.0","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.4.0","maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"33caf9ffe51a159b014e0043d0dc69f2fe9885e7","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.4.0.tgz","fileCount":107,"integrity":"sha512-zY/nAfbEBgKz5+3jktCTyM+QVzP/x88kN6SX1R6oWCMbBwDsdg6MuDLYj1XXgrv0wJGxfe8HMwD+lImWGILT3A==","signatures":[{"sig":"MEQCIFFDAKE38U1ZeSxwnU63WNovjiU2IvZKNpERTvex9Q5kAiBsJ7pEJZaB9mWq+LSa5xgJ42NsEi6jdOTI8Dv6KvpnFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80805},"main":"src/index.ts","type":"module","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"12faffacbdcc982aeafe392d87da60960ff12912","scripts":{"build":"yarn run build:cjs && yarn run build:esm","release":"node --no-warnings --loader ts-node/esm scripts/release.ts","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:unit:watch":"vitest watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.9.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"23.7.0","dependencies":{"pathfinding":"^0.4.18","@2d-game-grid/core":"0.0.13"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/square_2.4.0_1740492898548_0.7381025749374888","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@2d-game-grid/square","version":"2.4.1","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.4.1","maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"872daf07b3c62fd9b3e8e3767352e2ce803ad2a5","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.4.1.tgz","fileCount":86,"integrity":"sha512-8g21kgTDmP300SAUpKaRtIhcpM/K4cmqmnFK2q2y3/QDDhI1FZfRZ+ILiheAf+sGSAvmB/8To+yiJ8AU21OlhA==","signatures":[{"sig":"MEUCIQCXDLuII/c8x1xtbm+AdJmgK8CH/LHFpYJeDoH9vWcK1AIgb1xArjzPqLjowuT9+SaGYIwTAzpY/iN32t93LzCF3WQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68824},"main":"src/index.ts","type":"module","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"b9d8898b84e404f43dbf74f06d4fec01d99eb508","scripts":{"build":"yarn run build:cjs && yarn run build:esm","release":"node --no-warnings --loader ts-node/esm scripts/release.ts","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:unit:watch":"vitest watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.9.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"23.7.0","dependencies":{"pathfinding":"^0.4.18","@2d-game-grid/core":"0.0.14"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/square_2.4.1_1752406303119_0.7617185938744833","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"@2d-game-grid/square","version":"2.4.2","keywords":["grid","game","pathfinding","distance","2d","square"],"author":{"name":"Marvin Stürcke"},"license":"MIT","_id":"@2d-game-grid/square@2.4.2","maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"homepage":"https://github.com/mstuercke/2d-game-grid#readme","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"dist":{"shasum":"d52239af745bfd9061f8abedf8fa979f4b608bb6","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.4.2.tgz","fileCount":86,"integrity":"sha512-SKdOaaqdU10YQvLHzMOVdbhyCechu3ya5MwXROxhOKl25+oytZYROc3zdpw8zZ45ZHdj43zJfDZWUoKn6gTxWw==","signatures":[{"sig":"MEUCIHTN9c2tNr4L4mjlLlG04TtrI8RJz06dpkFX+ElwFjMBAiEAlqwYSE/7BAYiHW8agRX13NoMMQ+ZKpup7ZjfOUKWZGE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74276},"main":"src/index.ts","type":"module","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"b69074e08267bfc5fb9b6f2c4eb185705e92c824","scripts":{"build":"yarn run build:cjs && yarn run build:esm","release":"node --no-warnings --loader ts-node/esm scripts/release.ts","build:cjs":"tsc -p tsconfig.build.cjs.json","build:esm":"tsc -p tsconfig.build.esm.json","test:unit":"vitest run --coverage","typecheck":"tsc --noEmit","test:unit:watch":"vitest watch"},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"repository":{"url":"git+https://github.com/mstuercke/2d-game-grid.git","type":"git"},"_npmVersion":"10.9.2","description":"A simple square grid made for games","directories":{},"_nodeVersion":"23.7.0","dependencies":{"pathfinding":"^0.4.18","@2d-game-grid/core":"0.0.14"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/square_2.4.2_1752407970482_0.9158852442003045","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"@2d-game-grid/square","version":"2.4.3","description":"A simple square grid made for games","keywords":["grid","game","pathfinding","distance","2d","square"],"license":"MIT","author":{"name":"Marvin Stürcke"},"repository":{"type":"git","url":"git+https://github.com/mstuercke/2d-game-grid.git"},"type":"module","main":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","require":"./dist/cjs/index.js","import":"./dist/esm/index.js"}},"scripts":{"typeCheck":"tsc --noEmit","test:unit":"vitest run --coverage","test:unit:watch":"vitest watch","build:esm":"tsc -p tsconfig.build.esm.json","build:cjs":"tsc -p tsconfig.build.cjs.json","build":"yarn run build:cjs && yarn run build:esm","release":"node --no-warnings --loader ts-node/esm scripts/release.ts"},"dependencies":{"@2d-game-grid/core":"0.0.15","pathfinding":"^0.4.18"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_id":"@2d-game-grid/square@2.4.3","gitHead":"aacded4f3c2706bbbb118f5119272111b44fbe95","bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"homepage":"https://github.com/mstuercke/2d-game-grid#readme","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-fSBPq1uN1ESUkeGJ/jeRjvglY1qqGIhN1WpoNoeMj07p+NxxC5tAsSGmSBpuHaOm3qqESOt7xbRk5BsGpuLcdg==","shasum":"3e56be07733be7f9c81f64ba5e439f6fd1baa0a5","tarball":"https://registry.npmjs.org/@2d-game-grid/square/-/square-2.4.3.tgz","fileCount":86,"unpackedSize":74276,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDR1DGwc1n491s2ljT8CZoI7Ko4eAS0aQli3kJPLg5tAQIhAMGQDQDwWrFqllc6Z0FkIJSES+03DxgU9jJCldd+1M3Q"}]},"_npmUser":{"name":"mstuercke","email":"npm@mstuercke.dev"},"directories":{},"maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/square_2.4.3_1755702019236_0.6419468057457289"},"_hasShrinkwrap":false}},"time":{"created":"2024-06-12T19:55:02.577Z","modified":"2025-08-20T15:00:19.638Z","1.0.7":"2024-06-12T19:55:03.047Z","2.0.0":"2024-06-13T07:01:57.651Z","2.0.1":"2024-06-13T11:03:20.578Z","2.1.0":"2024-06-13T12:03:23.957Z","2.1.1":"2024-06-13T12:46:50.346Z","2.2.0":"2024-07-01T22:38:16.456Z","2.2.1":"2024-07-01T22:48:30.430Z","2.2.2":"2024-07-01T23:05:37.215Z","2.2.3":"2024-07-01T23:21:03.538Z","2.2.4":"2024-07-01T23:26:51.204Z","2.2.5":"2024-07-01T23:28:50.759Z","2.2.6":"2024-07-01T23:50:39.677Z","2.2.7":"2024-07-01T23:54:16.375Z","2.2.8":"2024-07-01T23:57:43.330Z","2.2.9":"2024-07-01T23:58:49.369Z","2.2.10":"2024-08-28T09:22:45.845Z","2.3.1":"2024-08-31T01:16:53.354Z","2.4.0":"2025-02-25T14:14:58.781Z","2.4.1":"2025-07-13T11:31:43.411Z","2.4.2":"2025-07-13T11:59:30.670Z","2.4.3":"2025-08-20T15:00:19.444Z"},"bugs":{"url":"https://github.com/mstuercke/2d-game-grid/issues"},"author":{"name":"Marvin Stürcke"},"license":"MIT","homepage":"https://github.com/mstuercke/2d-game-grid#readme","keywords":["grid","game","pathfinding","distance","2d","square"],"repository":{"type":"git","url":"git+https://github.com/mstuercke/2d-game-grid.git"},"description":"A simple square grid made for games","maintainers":[{"name":"mstuercke","email":"npm@mstuercke.dev"}],"readme":"# 2D Game Grid (square)\nA simple square grid made for games with built-in features like:\n- get the shortest path between cells\n- list reachable cells (pathfinding)\n- list cell edges\n- list cell neighbors\n- get distance between cells\n- list cells in distance\n\nMissing a feature? [Create an issue](https://github.com/mstuercke/2d-game-grid/issues)!\n\n## Examples & Demos\n- [example code](https://codesandbox.io/s/y3xt8s)  \n  a basic implementation with code examples\n- [interactive demo](https://3ms9ky.csb.app/)  \n  a customizable playground to visualize all the features\n\n## Usage\n### Installation\nInstall [@2d-game-grid/square](https://www.npmjs.com/package/@2d-game-grid/square) to your project with one of the following commands: \n#### npm\n```\nnpm install @2d-game-grid/square\n``` \n#### yarn\n```\nyarn add @2d-game-grid/square\n```\n#### bun\n```\nbun add @2d-game-grid/square\n```\n\n### Create a grid\nBoth examples will create the exact same grid\n#### Use pre-generated cells\n```ts\nimport {SquareGrid} from '@2d-game-grid/square';\n\nconst grid = new SquareGrid({\n  grid: [\n    ['0-0', '0-1', '0-2', '0-3'],\n    ['1-0', '1-1', '1-2', '1-3'],\n    ['2-0', '2-1', '2-2', '2-3']\n  ]\n});\n```\n\n#### Generate cells on initialization\n```ts\nimport {SquareGrid} from '@2d-game-grid/square';\n\nconst grid = new SquareGrid({\n  width: 4,\n  height: 3,\n  initializeCellValue: ({row, col}) => `${row}-${col}`,\n});\n```\n\n### Get cell\n```ts\nconst cell = grid.getCell({row: 1, col: 2});\nconsole.log(cell.value) // '1-2'\n```\n\n### Get cells of a row\n```ts\nconst row = grid.getRow(1);\nconsole.log(row.cells.map(cell => cell.value)) // ['1-0', '1-1', '1-2', '1-3']\n```\n\n### Get cells of a column\n```ts\nconst column = grid.getColumn(1);\nconsole.log(column.cells.map(cell => cell.value)) // ['0-1', '1-1', '2-1']\n```\n\n### Get neighbors of a cell\n```ts\nconst cell = grid.getCell({row: 1, col: 2});\nconst leftNeighbor = cell.neighbors.get('LEFT');\nconsole.log(leftNeighbor.value); // '1-1'\n```\n\n### Get the distance between cells\n```ts\nconst cell = grid.getCell({row: 1, col: 2});\nconst distance = cell.getDistance({row: 1, col: 0});\nconsole.log(distance); // 2\n```\n\n### List all cells in distance\n```ts\nconst cell = grid.getCell({row: 0, col: 3});\nconst cells = cell.listCellsInDistance(2);\nconsole.log(cells.map(cell => cell.value)); // ['1-2', '2-3', '0-1', '0-2', '1-3']\n```\n\n#### Algorithms\n- [Manhattan](https://en.wikipedia.org/wiki/Taxicab_geometry)\n- [Euclidean](https://en.wikipedia.org/wiki/Euclidean_distance)\n\n### Get the shortest path between cells\nThe pathfinding uses the [pathfinding](https://www.npmjs.com/package/pathfinding) package.  \n\n```ts\nconst cell = grid.getCell({row: 1, col: 2});\nconst path = cell.getPath({row: 0, col: 0});\nconsole.log(path.map(cell => cell.value)); // ['1-2', '0-1', '0-0']\n```\nHint: The returned path will always include the start and the end.\n\n#### Algorithms\n- [A* (A Star)](https://en.wikipedia.org/wiki/A*_search_algorithm)\n- [Best First](https://en.wikipedia.org/wiki/Best-first_search)\n- [Breadth First](https://en.wikipedia.org/wiki/Breadth-first_search)\n- [Dijkstra](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm)\n\n#### Diagonal movement\nYou can decide which diagonal movements should be allowed: \n- Always  \n  ![Always](https://github.com/mstuercke/2d-game-grid/blob/master/apps/square/images/always.jpg?raw=true)\n- Never  \n  ![Never](https://github.com/mstuercke/2d-game-grid/blob/master/apps/square/images/never.jpg?raw=true)\n- If at most one obstacle  \n  ![If at most one obstacle](https://github.com/mstuercke/2d-game-grid/blob/master/apps/square/images/if-at-most-one-obstacle.jpg?raw=true)\n- Only when no obstacles  \n  ![Only when no obstacles](https://github.com/mstuercke/2d-game-grid/blob/master/apps/square/images/only-when-no-obstacles.jpg?raw=true)\n\n#### Heuristic\nYou can either choose between the following heuristic algorithms:\n- [Manhattan](https://en.wikipedia.org/wiki/Taxicab_geometry)\n- [Chebyshev](https://en.wikipedia.org/wiki/Chebyshev_distance)\n- [Euclidean](https://en.wikipedia.org/wiki/Euclidean_distance)\n- Octile\n\nOr pass your own heuristic function:\n```ts\ncell.getPath({row: 1, col: 0}, {\n  heuristic: (cell) => {/* your implementation */}\n});\n```\n\n### List all reachable cells (pathfinding)\n```ts\nconst cell = grid.getCell({row: 0, col: 3});\nconst cells = cell.listReachableCells(3);\nconsole.log(cells.map(cell => cell.value)); // ['1-2', '2-3', '2-1', '0-1', '1-1', '2-2', '0-2', '1-3']\n```\n\n### Extend grid with another grid\n```ts\nconst gridA = new SquareGrid({grid: [[\"A\"]]})\nconst gridB = new SquareGrid({grid: [[\"B\"]]})\n\ngridA.extend(gridB, 'LEFT')  // B A\ngridA.extend(gridB, 'RIGHT') // A B\n```\n\n### Crop grid\n```ts\nconst cells = grid.crop({row: 0, col: 1}, {row: 1, col: 2}).grid;\nconsole.log(cells.map(cell => cell.value)); // [['0-1', '0-2'], ['1-1', '1-2']]\n```\n\n\n### Listen for cell value changes\n#### Register\n```ts\ngrid.onCellValueChanged((event) => {/* your implementation */});\ngrid.getRow(1).onCellValueChanged((event) => {/* your implementation */});\ngrid.getColumn(2).onCellValueChanged((event) => {/* your implementation */});\ngrid.getCell({row: 1, col: 2}).onValueChanged((event) => {/* your implementation */});\n```\n\n#### Trigger\n```ts\nconst cell = grid.getCell({row: 1, col: 2});\ncell.value = 'new value'; // updating this value will trigger all callbacks of the \"Register\" example\n```\n\n#### Unregister\nThe `onCellValueChanged()` and `onValueChanged()` functions return a function to unregister. \nWhen you execute this unregister function, the callback will not be called anymore.\n\n```ts\nconst unregister = grid.onCellValueChanged((event) => {/* your implementation */});\nunregister();\n```\n\n## Collaboration\nFeel free to create issues or merge requests\n\n### Release package\nModify the version in `package.json`. When running the pipeline on `master` a new package will be deployed with that version. \n\n\n","readmeFilename":"README.md"}