{"_id":"warp-grid","_rev":"38-16fd5f815bb361085b2b303ad5102658","name":"warp-grid","dist-tags":{"next":"3.0.0-next.2","latest":"5.0.1"},"versions":{"1.0.0":{"name":"warp-grid","version":"1.0.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@1.0.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid-editor.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"6af03fee1563227b129d40d9a1d114f3897184c9","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-1.0.0.tgz","fileCount":17,"integrity":"sha512-ix36mDv0Xc0ZKrNJnDAq9ZR8bRd4/w7tnxRMoy1nDuMpXCGymUn3kQXhG+uRyg8n+0al3wTv8k3mhjuNekV1aw==","signatures":[{"sig":"MEUCIQDoBT2TloVPaa2yNt54ActxGwvPyzWJNrxAP1IkTMN0+wIgTCHJIjzJ7K8M/CdOGRc1MIG4lwyGtmTHyQm85vEZXr4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":393472},"main":"dist/warp-grid.js","pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"import":"./dist/warp-grid.js","require":"./dist/index.umd.cjs"}},"gitHead":"7f774466410dd73c91e8b76d4ff633ca4e19f1d9","private":false,"scripts":{"link":"pnpm link --global && pnpm link --global coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js ./tests","build":"vite build","unlink":"pnpm unlink --global && pnpm unlink --global coons-patch","prepare":"husky","release":"semantic-release --no-ci --dry-run --debug","test-watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js ./tests --watchAll","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{js,jsx,cjs}'","lint-prettier":"prettier . --write","test-snapshot":" node ./tests/snapshotData"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a Coons patch for a four-sided shape and manipulate the grid","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^1.5.0","fast-memoize":"^2.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"jest":"^29.7.0","vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","globals":"^15.8.0","nodemon":"^3.1.4","prettier":"3.3.2","@eslint/js":"^9.6.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"^5.5.3","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-import":"^2.29.1","@semantic-release/git":"^10.0.1","jest-environment-jsdom":"^29.7.0","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_1.0.0_1722348852373_0.9016861992630218","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"warp-grid","version":"1.1.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@1.1.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"f7cb5604a3dda4909fb09313f4dac463fa2e9382","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-1.1.0.tgz","fileCount":27,"integrity":"sha512-j7X9fqurZ4e9xbLkkil4EjkeBC21vSg691dExe9lAO3iRyxVDlXL17Z2ZwiSXrv0ihcv45zTs4RMPJm0P8l8Ew==","signatures":[{"sig":"MEUCIQDk+d9flXjvB/WOe855gbRlJ8i5wWrKmcp+9HF0fFCUxwIgNLk6BeVZsvwg+hHrphqh/4ZpMH38OULtk3gCRU+KjII=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":484205},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","source":"./src/index.ts","require":"./dist/index.common.js"}},"gitHead":"269342ffd533d5d7a802a502005b8ab3c9687c01","private":false,"scripts":{"docs":"typedoc","link":"pnpm link --global coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js ./tests","build":"vite build && pnpm run docs","unlink":"pnpm unlink --global coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js ./tests --watchAll","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts, js, jcjs}'","lint-prettier":"prettier . --write","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"coons-patch":"^1.7.0","fast-memoize":"^2.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"jest":"^29.7.0","vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-import":"^2.29.1","@semantic-release/git":"^10.0.1","jest-environment-jsdom":"^29.7.0","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_1.1.0_1722524603509_0.9485781442864605","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"warp-grid","version":"1.2.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@1.2.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"9ba4be65e49f7054a500e36a822e853a0b86c7e8","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-1.2.0.tgz","fileCount":27,"integrity":"sha512-sLArySGDVJ0ba2GY7LxxzSnyE+Soa2jgLjFIR5qBMNsZUWI7FZi9L6Sd1WtuWeKMYBTh078018RKh7CKlKHrwg==","signatures":[{"sig":"MEUCIQDhFqgSOTk6GuCk2QNeUOylqmZGm+ElwfIdUFy6znwaegIgKmCy9a9y0yD6d3P9WxKlq424gnb5gyP4JerKW0Dx+eM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":491049},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","source":"./src/index.ts","require":"./dist/index.common.js"}},"gitHead":"abd0d789fcf430c18747c19e6aabe5aafc46642f","private":false,"scripts":{"docs":"typedoc","link":"pnpm link --global coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js ./tests","build":"vite build && pnpm run docs","unlink":"pnpm unlink --global coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js ./tests --watchAll","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts, js, jcjs}'","lint-prettier":"prettier . --write","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"coons-patch":"^1.7.0","fast-memoize":"^2.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"jest":"^29.7.0","vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-import":"^2.29.1","@semantic-release/git":"^10.0.1","jest-environment-jsdom":"^29.7.0","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_1.2.0_1722534319772_0.6718831749544834","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"warp-grid","version":"1.2.1","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@1.2.1","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"9b0c2cd716724e826eda488e4945c0b7f4996db6","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-1.2.1.tgz","fileCount":60,"integrity":"sha512-S+bvgtzHYg54ag+TfvGebkHvrPsAuxeDRYscN3Mkfd9wrThG8DQWjso4w++ErwJI03psJOU4Gl7cQCJCmLfSFA==","signatures":[{"sig":"MEUCIBDKBsXcNgJ++6mUdHSgTi6mLG0bGbItIt7iVM0TTg5FAiEA6Z/m8mqSJ16W8hd6ZtpILbdbOkGcuuWTxTBNtCzKcKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":678429},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"7dbb72530ac063e7a21c491f11fa0485af02e0f2","private":false,"scripts":{"docs":"typedoc","link":"pnpm link --global coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink --global coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitst","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}'","lint-prettier":"prettier . --write","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"vitest":"^2.0.5","coons-patch":"^1.8.2","fast-memoize":"^2.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"jest":"^29.7.0","vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","jest-environment-jsdom":"^29.7.0","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_1.2.1_1722546482310_0.3148749746798776","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"warp-grid","version":"1.3.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@1.3.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"e66335e86388116e271bab314e67e73794047ab1","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-1.3.0.tgz","fileCount":60,"integrity":"sha512-F/TqsRajGu8iJUW9Vu2a1rzQjjz9oKHdfx91aoTCed8JF2//ozNZJ4Z/HgCvHEDvpXH+He3yVAjWPDvhp7vQ4g==","signatures":[{"sig":"MEQCIAVBaMYlLxeZzTwIhl6mNv0hFu4xC3LtsSUidfsQEWo2AiAvHIj6HjW4f/YPEQBuUIDnbvG+5EQ7kPrJrZ4iZDJgKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":635551},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"fbcc3a1f6ad77762c034b5bfb9c2359ed1f6ca5c","private":false,"scripts":{"docs":"typedoc","link":"pnpm link --global coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink --global coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitst","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"coons-patch":"^1.8.2","fast-memoize":"^2.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"jest":"^29.7.0","vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","jest-environment-jsdom":"^29.7.0","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_1.3.0_1722637434603_0.5002178782819926","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"warp-grid","version":"1.4.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@1.4.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"707f639274103f0bec89039a4cab0b1fa0b5db67","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-1.4.0.tgz","fileCount":60,"integrity":"sha512-NKWOiJdnArodXnU+lUZHTz+r1ePU9ulltUu+9xVQQ+Hadl2DJgT8CMatIZMf1XkbPhX0xGppd+9+ViJ2BsSSUg==","signatures":[{"sig":"MEQCIGDM3gXaPQz+It/3zotlamxTigI3RPK8yvhBoXmMK0J9AiBaSmwj1io1FQrM6nYhpuYXhoo3mglca8g4OnKdoaLp2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":456785},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"12f3fe0eb110ff4248f543aa4ca8566685b66c17","private":false,"scripts":{"tsc":"tsc src/**/*.ts --noEmit","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"coons-patch":"^1.8.2","fast-memoize":"^2.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"jest":"^29.7.0","vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","jest-environment-jsdom":"^29.7.0","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_1.4.0_1722860578714_0.47250418369732317","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"warp-grid","version":"1.5.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@1.5.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"3141fa1d1331ac0ca74fb7895956a581c2109fd6","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-1.5.0.tgz","fileCount":61,"integrity":"sha512-HJkR+WcZZ9rBPgvzICunbZcEH7Tz/Dfi8Z8GWPyaU3HgfI8FPW/O6B3X3VXt8tJlIZtErzRzdfiHIU0+KENMTQ==","signatures":[{"sig":"MEQCIBfQ/Wh9AsrMpC+FqzonACnW13XGVulsIKXGC7IlEl9pAiAxrSN6TeCvSfDeAXlCpVeqwb+3jY0hq9C17FdPuE2JdA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":461343},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"dee0f92d6087eca296ec3dc01b11a334d2ce83c5","private":false,"scripts":{"tsc":"tsc src/**/*.ts --noEmit","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"coons-patch":"^1.8.2","fast-memoize":"^2.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"jest":"^29.7.0","vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","jest-environment-jsdom":"^29.7.0","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_1.5.0_1722861589054_0.2524616603230285","host":"s3://npm-registry-packages"}},"1.5.1":{"name":"warp-grid","version":"1.5.1","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@1.5.1","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"b762be02e172ab62bf14ba22be06a6c76621156b","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-1.5.1.tgz","fileCount":53,"integrity":"sha512-fwTi0U7k3N91RTQ40QqjkVNxiM4l1a+caxGJkK+TDZp8W8PLa9RSgIQ8ySZ5q5nMrPXOiBIBO0MQD5Y/WMGpEg==","signatures":[{"sig":"MEQCIH6dkGrEeOhepOMiaTEqtNRc8GmupZ32o0knMlZ3iLMTAiBZ2dnH4kk2pLzIkpzBGzI5gW89RrV22Qeyn1daU4F4Ww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459422},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"14dda47dd98328826588230586d531d65d1ecde9","private":false,"scripts":{"tsc":"tsc src/**/*.ts --noEmit","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"coons-patch":"^1.8.3","fast-memoize":"^2.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"jest":"^29.7.0","vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","jest-environment-jsdom":"^29.7.0","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_1.5.1_1722883762571_0.4859408674962473","host":"s3://npm-registry-packages"}},"1.6.0":{"name":"warp-grid","version":"1.6.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@1.6.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"2f09911e715eadaecabae81baa934445a0c51840","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-1.6.0.tgz","fileCount":53,"integrity":"sha512-e9m0IUuwX9Cd1vvc+d7UaT+m1Z0ojxk1m0Lfi0qLDki4WGyBnC7BwDhZStfc4w8cNU65Fg86ZwXE1jirK/h6eg==","signatures":[{"sig":"MEUCIQD48jNP8PRcAe40GEZD0U0d9jw0mdIvn6cW0BvWHg7JfwIgGAUG5msBRbOoK+WAX3Fhczdwsx6ilST5h70VhLJBUiE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":456296},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"9af544be9da3e9e84c0d38fb0e447a68f4173698","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"coons-patch":"^1.8.3","fast-memoize":"^2.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"jest":"^29.7.0","vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","jest-environment-jsdom":"^29.7.0","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_1.6.0_1724154763401_0.019171560896586115","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"warp-grid","version":"2.0.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.0.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"406e1b28e9259362135fb8a2c1b0ab57187861b0","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.0.0.tgz","fileCount":61,"integrity":"sha512-rFblI2dlX3VxwtxRpI4q7FPIPUhs3OJVQZjUkf0IuuSh0IsnVSGoRNeadKdmohTWEq/X0ju/wHJ6FlwEyhDeSQ==","signatures":[{"sig":"MEUCIFyKJi4DBRH+/ME8r0k1jgYgmIrKrhee43QaItQwPVxWAiEAiph6TYY04IoXKf+qhwVWiZ/s2Orrl+Dj5XT3OPric5Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":708055},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"cd923d25b002f0b9bd6e09f71ad8aa7a6bde1237","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.2","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"jest":"^29.7.0","vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","jest-environment-jsdom":"^29.7.0","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.0.0_1726670633754_0.08127152898426782","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"warp-grid","version":"2.0.1","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.0.1","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"5ae7618a91b2ff89c9a4da33b93c0c08b031f082","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.0.1.tgz","fileCount":54,"integrity":"sha512-b1x6LoNb1+/3/+19UkNQB0VRHCh4I9R1TeZHxpGotDHpw6AyYfMmidE+RHwVoHsQTgRtW6bCgTF23CeYuFgsog==","signatures":[{"sig":"MEQCIA3sXA2uKANzfw2cEQe2ivYKit1uc+lLDfyen2yAd2M1AiB36JAm6PgVWqbGNHBmy+2Lfzz22va7LhAZqiSaqSAfbw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":686517},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"6cc347996cda1c9fb64b64e02c18610a1da267f0","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.2","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"jest":"^29.7.0","vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","jest-environment-jsdom":"^29.7.0","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.0.1_1726671014058_0.5013198696895198","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"warp-grid","version":"2.0.2","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.0.2","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"60916897da9c05f10d83060256cd6cca25aaecb9","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.0.2.tgz","fileCount":58,"integrity":"sha512-cOKHQNEIq14UgxDYZBCIe6vuwaNDv77U7jXw3H+mQq33K1H75jfOffy9AfH3yOOjF9PXdBrLwtvYd2rkvrQ4zw==","signatures":[{"sig":"MEUCIA10mRV7Ax0Km1rBBSvX+OQ36To+Zy0myc1pjYi1xezlAiEAsMoZsnyvPXWJBu4VY9ExotFgch0TLkqHiCgfBQtfM1s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":593047},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"9624f4c1294dcf2ebec842331ce3286245e715df","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.2","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.0.2_1726739417165_0.9910520728948473","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"warp-grid","version":"2.1.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.1.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"893f5f0b05ff02bd756b4168c47ea1facca2f093","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.1.0.tgz","fileCount":58,"integrity":"sha512-PTAIP3pZsYTPfNbVc1hLC43gf4k4AAAthnUgWUFMh3iKXvn6Jco085j7lonANXwT5rUubbFed0ZkARK2AMXkYQ==","signatures":[{"sig":"MEYCIQDQufEDAbKgj8xiVy8w4+VWRGAq6e8mw6WTSDpEMHyoVgIhAPNDz/dwyas7lVwBhbfCbBMkTdmLeKxG6c/ORO0F6XOm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":592833},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"e1a3e509276e7f53d1b63eb0d421ed2c182d7984","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.4","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.1.0_1726999110843_0.3406261003339617","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"warp-grid","version":"2.1.1","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.1.1","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"adbb85b10def7f16d3b69e992a5d0e4e761feff3","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.1.1.tgz","fileCount":59,"integrity":"sha512-bhvpBECH42s1x9PqUYthetNlQn6GflV3ci1ZY4hF39BwyZQ599ghfOnmkCuI+yZOwrYFQgBKsiFFsHIbfI+Z+w==","signatures":[{"sig":"MEUCIQDHA0WsTO4PwQ7ingS5UFbJPdCts4JtsFQvaT7jkQn9vAIgSyxCEAh70aPk2alMVyobpPjsYZwnDe6l1xKNjiUFUn4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":586462},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"0ceb494a526f007e0e3fc1f8d29701b0bad39464","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.4","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.1.1_1727003012064_0.3349544880186974","host":"s3://npm-registry-packages"}},"2.1.2":{"name":"warp-grid","version":"2.1.2","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.1.2","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"d1e2bef0fbdcc69764fe6d09d3f90c2e5820ce18","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.1.2.tgz","fileCount":60,"integrity":"sha512-Nr/gl5GatAR5FJvw5ijPZX7v10IQTdXvToplMJ+fvYx9Hd5uUZndURn5PSlEWZrb/znfv6hanaU4l9Lj+/XOdw==","signatures":[{"sig":"MEQCIGTDenuwQ4igrnRX/29mlK5t/0wEziRFf4eDnqzPAks0AiBuAEInhblCAm1k6PjGbyC9Q1q/1onR/IFCLIayNE2Qlg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1183814},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"0e41b157b731f8a9751e32e86b2245b11467df01","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"node ./tests/snapshotData","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.5","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-ramda":"^2.5.1","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.1.2_1728552563552_0.8667253116521143","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"warp-grid","version":"2.2.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.2.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"1f73a2dfaa2505a5ee9ae9fc1f612741f3d8152d","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.2.0.tgz","fileCount":60,"integrity":"sha512-2f41d1b5GkAfrBAuox2DOi4vCVY+rIUOTAYynXHyhAVYEcC7U8xaKESr6AoG+SGF71iKRFkVz/3ApJb/a1Qvrw==","signatures":[{"sig":"MEQCIHe8//RpbvKTjbADcM52emhOdSR1TCJTVbZDty9d3PgsAiB2Mm2Zeex+2DCv3fl4TqgEcT/XK1AOnbcsl0B5M97cMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1183957},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"d96230aa3b47a859e7d9b6610b8b7315c0107bf2","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.5","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-ramda":"^2.5.1","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.2.0_1728640399340_0.18821676862973358","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"warp-grid","version":"2.3.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.3.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"ee0b6d4ec11efaa4c7ac102bd61e4457d5de68a9","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.3.0.tgz","fileCount":60,"integrity":"sha512-aPLcxzwCvmW84ziighnsHALjuqkFPqdKtXqocgHkaGlye65ue4rhGOGtpFFYKzM67N7nfMoj4kPvN9fC6dt70Q==","signatures":[{"sig":"MEYCIQDjLniWl5WFby1MYzpWntlGLfzaZ4IFhxEBvJ/u3vHacwIhAIM7lECw/NUbpL3Ze9Z1QT04+fpSd+jmTpWua42FVvL6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1190567},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"cbc832e628b1f6a22b158bb117c3f505dcde7d4a","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.5","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-ramda":"^2.5.1","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.3.0_1728753042550_0.5618733205011024","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"warp-grid","version":"2.4.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.4.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"494bc4338422f6850ff9e3aeefda238323b48a58","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.4.0.tgz","fileCount":60,"integrity":"sha512-eBBsLUHABhejVtL7dDOlciG1H9iuVIHleSwfQ5TYJ5Fsu5y0CRGmU7U+PYitJDvQ6KMl6bc5slEHcfmq68Zi/A==","signatures":[{"sig":"MEUCICnN89Ik8TVJaSkiDL1JkauzHXkRz7BLlA7e8CNZGUr/AiEAsa3arS98cEWnWkuiOJPR6PagRHEkfQTwgCW5cgoC38w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1203710},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"a226aa2a92cce06252ccf705a3333e3023388635","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.5","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-ramda":"^2.5.1","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.4.0_1728755771449_0.6144754441069242","host":"s3://npm-registry-packages"}},"2.4.1":{"name":"warp-grid","version":"2.4.1","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.4.1","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"a1d4e7729dd27fff302fedb5397d321f371456f4","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.4.1.tgz","fileCount":61,"integrity":"sha512-/RGK+p6JNay5hZnlvJ8z8NHbIAXEWX9fBPj4JV/RIv02xtPHrQnGSLuBkI/y2NgBhdR1rt5TGLQmDb5cimbKSg==","signatures":[{"sig":"MEYCIQCU1Fn1vxAG6nCIbTdVJnpUyt5wQqjgaXXdxBE9HhDolQIhAN4z159LbvMb+eiVMnfNnFJCcbnGLowGZCezP3dM9elO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1218238},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"afbff30165a6dd4fa71c479dc9ca85780433520d","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.5","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-ramda":"^2.5.1","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.4.1_1728806358913_0.02333033096677961","host":"s3://npm-registry-packages"}},"2.4.2":{"name":"warp-grid","version":"2.4.2","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.4.2","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"6d6b22882f33c10a9f555ee57c4793830694e608","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.4.2.tgz","fileCount":61,"integrity":"sha512-5redSIZD4LwCE4bw9XbFOK7HO1y8LCa3f5hqYMiREpsx55LZZMAhwh81ZVDUr/OaY7/UFGNjnEua4MdKWMwPKA==","signatures":[{"sig":"MEQCIEoR8vFb4Wd4YQ+wC6C5pfglkFWE0K37QLgISK09yOhmAiB6NO/RFafpGeUhrRhj/bd6+WSfMmccCmyyWcypKvnBKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1223231},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"8dd6ab25deeb747cea14d518fa631e7c2991a8e4","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.5","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-ramda":"^2.5.1","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.4.2_1728806796084_0.6648976594419853","host":"s3://npm-registry-packages"}},"2.4.3":{"name":"warp-grid","version":"2.4.3","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.4.3","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"e7324214f9633d907ce98d5c80b9a8e0261e93f2","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.4.3.tgz","fileCount":61,"integrity":"sha512-2+mGUxiiNwESTgh9XTy2miV1SFgh8QIndEV0P8D9Qa6WKoWSvomNK5spuQmsAHR+5PJumij11mIhazYwPzY4DQ==","signatures":[{"sig":"MEQCIDVkwDh9X0HZ0ymCxJZinYM/7F++bUgRoI+3M6YHetxPAiBOHdNSOtzbilQWbzAMXbe+bvYjc4b2LHDtr5Oa+GliIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1223247},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"468e2570b427630bc8b7edc0bcb4c21bd1db4224","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.5","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-ramda":"^2.5.1","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.4.3_1728916038705_0.7778675421789851","host":"s3://npm-registry-packages"}},"2.4.4":{"name":"warp-grid","version":"2.4.4","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.4.4","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"4f363638f75db894bf2d844a7d5a6014f423d4a3","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.4.4.tgz","fileCount":61,"integrity":"sha512-YmFujRE4+rVJ8iFTQ5PA4oau+0l0m6v19OoZtZR7/7kJArHYa32waDATm9iyN0+DEFIo78AaICNPPR4QHknS0g==","signatures":[{"sig":"MEQCIFocrdZ2zg/+R3g53k4AGzkv+Oz11fE+y1/ZQf7+9244AiAHsZerkYBsNchQvi1aUoptGgpYKjY/0NeN46ARmGJ8lw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1224800},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"647d3c9764792ef28cbc1f9b5beb3042a0de2b95","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.2.4","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"20.11.1","dependencies":{"matrix-js":"^1.7.1","coons-patch":"^2.0.5","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0+sha256.dae0f7e822c56b20979bb5965e3b73b8bdabb6b8b8ef121da6d857508599ca35","devDependencies":{"vite":"^5.3.3","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^8.57.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","prettier":"3.3.2","@eslint/js":"^9.6.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.4.2","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"3.9.1","semantic-release":"^24.0.0","eslint-plugin-jest":"^28.6.0","@vitest/coverage-v8":"^2.0.5","eslint-plugin-ramda":"^2.5.1","eslint-plugin-import":"^2.29.1","eslint-plugin-vitest":"^0.5.4","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"3.2.0","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.4.4_1728986948042_0.21086396391425088","host":"s3://npm-registry-packages"}},"2.5.0-next.1":{"name":"warp-grid","version":"2.5.0-next.1","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@2.5.0-next.1","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"29eeed3319b41e0033ef6bb6dceea8f2cb97f79e","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-2.5.0-next.1.tgz","fileCount":62,"integrity":"sha512-5YDn4ZZ0sw8fJN7I7DDZX7KYsUJEiGpSoOiI0r/i1epscsDZTOfQoeRU6hDI/ym5Ekg+3lOArgOjIoZZT5QBsA==","signatures":[{"sig":"MEQCIBb1vbPJGbYrKnJrht+rLxxzynhHyioqjAd2COP0/Q/PAiAzEm6PIGzb4Uw+HoIDTUIcJJu4gzInBPWyLTEbB3uSZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1283061},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"5ac9af547f7b331a0b8c6e54f499db8e423beb51","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.0","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"2.1.0-alpha.1","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0+sha256.09a8fe31a34fda706354680619f4002f4ccef6dadff93240d24ef6c831f0fd28","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","audit-ci":"^7.1.0","prettier":"3.3.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.6.3","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.3.0","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^2.0.5","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_2.5.0-next.1_1736440059691_0.11663195554615191","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-next.1":{"name":"warp-grid","version":"3.0.0-next.1","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@3.0.0-next.1","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"7be152cf966690b119f534bed3cc7e510c01213c","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-3.0.0-next.1.tgz","fileCount":61,"integrity":"sha512-D6RqUjrTO1K8/sRWdqXTEJq1S8y+CHhbRMplOvqOK9oegzwgIMpSwAvxAq1TJ/zwSF7uYtYhPAOkNuOMeaFQEw==","signatures":[{"sig":"MEUCIGo8vGRwjlAtwh1zzJG/iJIf7gSmNJspnKOdIJBep7G5AiEAq+AriTX/2LBfs2Q5Ctztfn+FNRQgujTd911kEFFNlH8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1290338},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"8664bf2cbc6f7186fbe89af1c5b5f313d4ff56e0","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.0","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.0-next.3","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0+sha256.09a8fe31a34fda706354680619f4002f4ccef6dadff93240d24ef6c831f0fd28","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","audit-ci":"^7.1.0","prettier":"3.3.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.6.3","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.3.0","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^2.0.5","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_3.0.0-next.1_1736779258665_0.3433786985252332","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-next.2":{"name":"warp-grid","version":"3.0.0-next.2","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@3.0.0-next.2","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"7a2feee8208a1b88d324df81410e2651531e8ed9","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-3.0.0-next.2.tgz","fileCount":61,"integrity":"sha512-1dJY8OjvqZkX0w2a+B35ay7hSWtDyQVHx3b5z4tibbbOEh+RkQMs1Z8uRP/XQN7rLWjVrQOwjx1Rx4XznGQ0rg==","signatures":[{"sig":"MEUCIQCGYvzEge3JcBvadaYfDGBhQ+Si+Af86bv/gt32s+JY4gIgaLrDhcLtHUnL9OrWSsBBTzP0zeQMv2kN1RA1WivuJKA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1290338},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"61556430359d64a6b5c6c99a8b2ced81f13b10c8","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.0","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.0-next.4","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0+sha256.09a8fe31a34fda706354680619f4002f4ccef6dadff93240d24ef6c831f0fd28","readmeFilename":"README.md","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","audit-ci":"^7.1.0","prettier":"3.3.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.6.3","@types/jest":"^29.5.12","@types/node":"^20.14.9","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.3.0","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^2.0.5","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^10.1.1","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_3.0.0-next.2_1736781008130_0.7029879227462275","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"warp-grid","version":"3.0.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@3.0.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"ae1e3d44ce7a8f1161eb4e4538430ecab50105d4","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-3.0.0.tgz","fileCount":65,"integrity":"sha512-/ABm+cW/XPg6T179KSLOvVOsraUihpkUcyr2dvJEN/CRwHfHGT7QLR+nXujyvxIQXH0WFbXw5Qr0ySVLGAas/Q==","signatures":[{"sig":"MEUCIFxC+3yIg6lEmum/zUWv/VLgS1t6Ts5SQoEGDGyxTtWdAiEAxxyNaB4HPVX0Mtb2cgsoSUs2A283Xr4eljWiPE88aCc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1359679},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"b9d71e46d90bf4b47133741aeec650e8a438bb0a","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.0","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.0","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0+sha256.09a8fe31a34fda706354680619f4002f4ccef6dadff93240d24ef6c831f0fd28","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","audit-ci":"^7.1.0","prettier":"3.4.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.6.3","@types/jest":"^29.5.12","@types/node":"^22.0.0","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.3.0","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^2.0.5","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_3.0.0_1736871099873_0.17615357631783923","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"warp-grid","version":"3.0.1","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@3.0.1","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"d2d55742d5cdb450868a497a926c512ac51b0bbd","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-3.0.1.tgz","fileCount":65,"integrity":"sha512-ArMzqkibtMao8ghsGfBqDO7pvi45aHVBIBlYjVyjJRzob1e+4EpkT8Chi83VBBUZMPbWiSkYntVDg1j2bj6shA==","signatures":[{"sig":"MEQCIHCG+KmBy7frHdsFWgPO2ODqJgi/RjvYjcJC1RECgkAVAiAL2LXp1iHRKtsVB6dnMHWs652jgMUHz6SCmabmYzGMdQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1360647},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"57e956fe76bb69504b416f8379c2d0d11c033a31","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.0","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.0","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0+sha256.09a8fe31a34fda706354680619f4002f4ccef6dadff93240d24ef6c831f0fd28","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","audit-ci":"^7.1.0","prettier":"3.4.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.6.3","@types/jest":"^29.5.12","@types/node":"^22.0.0","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.3.0","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^2.0.5","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_3.0.1_1736873227682_0.6794384151194546","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"warp-grid","version":"3.0.2","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@3.0.2","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"a0467c378f2ca450b84282fccf1f28827da2abe7","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-3.0.2.tgz","fileCount":65,"integrity":"sha512-+1oTLiKsKohwixcrGVe0EcIfzjdCi68+RYQL5iNoHHoJrFCWRX+cMBTknIx6/iH4Qg0cdP0tVNpvcHFSaZRHKg==","signatures":[{"sig":"MEYCIQC9z8Aj+LfBY3V+GwfIGwGo6eUYKccBoZNgvtQ+OT78xwIhAJYecqErWQCkFVhJ8xWoLm1V3P1HLoD59vgCoqEhNSZy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1360886},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"cc4b145b7a2eedf8f0fb3f30c91f46ccabb9a80c","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.0","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.0","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0+sha256.09a8fe31a34fda706354680619f4002f4ccef6dadff93240d24ef6c831f0fd28","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","audit-ci":"^7.1.0","prettier":"3.4.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.6.3","@types/jest":"^29.5.12","@types/node":"^22.0.0","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.3.0","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^2.0.5","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_3.0.2_1736873952146_0.051330896107097956","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"warp-grid","version":"4.0.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@4.0.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"c126bbfef616b25a996f3c40c8ee32b98bd9be4e","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-4.0.0.tgz","fileCount":64,"integrity":"sha512-b+utBjBymBZ/06y4e8F0jVm06/OOkSeLOLlfVLPE+ZMmU3+GjvOyQ2dVJZifZjbZmksJvO058eMzMHaRoLxsaA==","signatures":[{"sig":"MEUCIQDZ+qo55M9jlRO3VOJTs5FjR8/0KtBDwN75XX6qAeeYKQIgTaXbVmkOTbFp9ElvElzWg/hwA7DaOvOn5e2NqxTvCm4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1372081},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"69c97f9a631584e470b91f3135f27b6099a0825d","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.0","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.0","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0+sha256.09a8fe31a34fda706354680619f4002f4ccef6dadff93240d24ef6c831f0fd28","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","audit-ci":"^7.1.0","prettier":"3.4.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.6.3","@types/jest":"^29.5.12","@types/node":"^22.0.0","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.3.0","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^2.0.5","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_4.0.0_1736958815580_0.058780043296400075","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"warp-grid","version":"4.0.1","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@4.0.1","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"973d28e7c84fd569ba6ba3b032a69251c773830e","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-4.0.1.tgz","fileCount":64,"integrity":"sha512-y8TWXEOW2zlY93kTzlRHpFvrcfBLMj71j85z5a9whzJgj23Wxb0apYA3KlXTKilRqDxhvG+yOp1IUx0Lg9yj8A==","signatures":[{"sig":"MEUCIQD2e2H4NgHE1CrgDwbfwua1q6j3N8De3hVn6R5UKksQdgIgaoiNcB8XBwpUGhJ1Hl03P52R+iJFMibievfSslJDDho=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1363072},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"c55003ed01a420fb2a97ce2f43fb3d27dcbb66a4","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.0","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.0","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0+sha256.09a8fe31a34fda706354680619f4002f4ccef6dadff93240d24ef6c831f0fd28","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","audit-ci":"^7.1.0","prettier":"3.4.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.6.3","@types/jest":"^29.5.12","@types/node":"^22.0.0","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.3.0","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^2.0.5","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_4.0.1_1736964917794_0.9607316588278474","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"warp-grid","version":"4.0.2","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@4.0.2","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"0de783a9fc7900bcd19314c57f525d5563fafcee","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-4.0.2.tgz","fileCount":64,"integrity":"sha512-qAWR+THSJp22r0NrM2x1ql4VZdGuJPHUY8KGN/cpd/gvUtxoVyBkPPU9Z7OjhiELBKwl1yU8FEWOU3ILvOwSMQ==","signatures":[{"sig":"MEUCIQCbzkSFq0+WXMCuZ7MzmyKZQ9EyicT48bsa0HMdaAgsWAIgOozshoXok16q1IuCfZ4YE8w8bEvmJVnFKd/ivqKMt/o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1368312},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"e3b907878fcc4cec62ed8f0180c956e63ac2039a","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.0","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.1","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0+sha256.09a8fe31a34fda706354680619f4002f4ccef6dadff93240d24ef6c831f0fd28","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^2.0.5","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.26.5","audit-ci":"^7.1.0","prettier":"3.4.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.6.3","@types/jest":"^29.5.12","@types/node":"^22.0.0","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.3.0","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^2.0.5","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^7.18.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^7.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_4.0.2_1736978563200_0.20523015776564413","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"warp-grid","version":"4.0.3","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@4.0.3","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"28334aa7d551cb5c9a23e2125a6441ea03f85a3c","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-4.0.3.tgz","fileCount":65,"integrity":"sha512-YZUOqifexKGCnfeBzrdmQbDBtIyUM3j6dH449YQjieV4LiQDNflwtVYErtbwrUns+xyg7qNg0DQiUo/FjfsJTw==","signatures":[{"sig":"MEUCIFb9DfIDtk/BQkE3QL59L6eBH8lyyOVfaAqnmn7JZ9hcAiEAiyNKR/uGPk5OkbkP+nlAKAv2OirtE35qqUj+zKoux70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1393040},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"3cb90dec42e89b4e86175e24abcb8fb3db447740","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.2","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.13.1","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.1","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^3.0.0","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.27.0","audit-ci":"^7.1.0","prettier":"3.4.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.7.3","@types/jest":"^29.5.12","@types/node":"^22.0.0","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.5.0","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^3.0.0","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.0.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^8.0.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_4.0.3_1742811700263_0.9573207690535133","host":"s3://npm-registry-packages-npm-production"}},"4.0.4":{"name":"warp-grid","version":"4.0.4","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@4.0.4","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"ee3cf7601b7c0413eec2f36af545b9c161a5db09","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-4.0.4.tgz","fileCount":65,"integrity":"sha512-856f1GNHSG767VbceSh0nT392y25Sd4Fr7iwYpkaR5ogBb97ljRA9Mbm6g5BP5s9+pvxWAUrO6jG5HTtdwlffQ==","signatures":[{"sig":"MEQCIHYeMLTJw7tmX1t+OfhBEqNiwXXwMQ+JLgDPIsa4fRO3AiA6pf+X0kx78QMbfQ6jYN63uYHOvvb/WaiMpSEYBrISqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1393578},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"baf6e063c8e2739e7ab06bc9fef1e414a8f92bef","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.2","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.13.1","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.1","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^3.0.0","globals":"^15.8.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.27.0","audit-ci":"^7.1.0","prettier":"3.4.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.7.3","@types/jest":"^29.5.12","@types/node":"^22.0.0","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.5.0","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^3.0.0","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.0.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^8.0.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_4.0.4_1742814780577_0.3877598474102768","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"warp-grid","version":"4.1.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@4.1.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"660defcfba4ffbb246e58d9052d7f228b212d0d1","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-4.1.0.tgz","fileCount":65,"integrity":"sha512-EpeOrmg16kbTmPD23qiiUDvAAf8MaWXt8PFRJDC7leul/Z11vEE283iMfvg3vp10+w42YBE9Xrz2P7IZSFnUUA==","signatures":[{"sig":"MEYCIQDCaDV7OpCMx2ehoPEg2mFiRbR8VUJjNs0BboK8oEmR9QIhAINOcseoblNSSD6MxeOgDxjGEYoHwKsUslX80XAm6ydf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1403635},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"42327483119338ebda379b862f67921f1bcc6f42","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.2","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.13.1","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.1","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","devDependencies":{"vite":"^6.0.0","husky":"^9.0.11","dotenv":"^16.4.5","eslint":"^9.16.0","rollup":"^4.22.4","vitest":"^3.0.0","globals":"^16.0.0","nodemon":"^3.1.4","ts-jest":"^29.2.3","typedoc":"^0.27.0","audit-ci":"^7.1.0","prettier":"3.4.2","@eslint/js":"^9.16.0","babel-jest":"^29.7.0","commitlint":"^19.3.0","prop-types":"^15.8.1","typescript":"5.7.3","@types/jest":"^29.5.12","@types/node":"^22.0.0","lint-staged":"^15.2.7","@jest/globals":"^29.7.0","jest-extended":"^4.0.2","vite-plugin-dts":"4.5.3","semantic-release":"^24.0.0","typescript-eslint":"^8.17.0","@vitest/coverage-v8":"^3.0.0","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.1.14","eslint-plugin-prettier":"^5.2.1","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.0.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.2.2","@typescript-eslint/eslint-plugin":"^8.0.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_4.1.0_1747751491313_0.9146288572337407","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"warp-grid","version":"4.1.1","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@4.1.1","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"49e4df9febb5b5c60e87f4799e87430ae7973ebd","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-4.1.1.tgz","fileCount":68,"integrity":"sha512-M1B5+R5AsFSrxUjSh/KDjxZhoSD5u7GOxMlMnjv7Q17RhftvY1sJsyHhdOVvYrbCcgbiAxGKhNHvvR+FZEPoxw==","signatures":[{"sig":"MEYCIQDFjTXHYMax7nS8wBsET75Z3xXcClUVfR4QAJdFs4UPXwIhAMrJChUMIK/ERwprBGh5ekASnrB2zCqb/wz0onI8PCDF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1436190},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"d3305519f20799d732ca83407f8bde9df6d7d30f","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.2","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.13.1","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"3.0.2","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","devDependencies":{"vite":"^6.3.5","husky":"^9.1.7","dotenv":"^16.5.0","eslint":"^9.27.0","vitest":"^3.1.4","globals":"^16.1.0","nodemon":"^3.1.10","typedoc":"^0.28.4","audit-ci":"^7.1.0","prettier":"3.5.3","@eslint/js":"^9.27.0","commitlint":"^19.8.1","prop-types":"^15.8.1","typescript":"5.8.3","@types/node":"^22.15.19","lint-staged":"^16.0.0","jest-extended":"^5.0.2","vite-plugin-dts":"4.5.4","semantic-release":"^24.2.4","typescript-eslint":"^8.32.1","@vitest/coverage-v8":"^3.1.4","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.2.0","eslint-plugin-prettier":"^5.4.0","@semantic-release/github":"^11.0.2","@typescript-eslint/parser":"^8.32.1","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.32.1","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_4.1.1_1747753404825_0.7950982468107173","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"warp-grid","version":"4.2.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@4.2.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"faddaca2c8fb37db1f4dbc2057a692af86970a9f","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-4.2.0.tgz","fileCount":68,"integrity":"sha512-61CgX6pQSztP+nFF2BMzAFbu6qXjVZJ+zOnr0Fj/KGRZfJ8VshWPW+pKSNIfDr1RvfHZTWHH8U5u6z4azCe+UA==","signatures":[{"sig":"MEYCIQDKAcN+gnl1/VdXcmrKKivjuRZHakpNxKpXolmBQND77QIhAKHnJi0Yv3voDtqYWgrNZ0eMjPRqcpQv5gG5gdMjyarO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1436770},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"265f6c88a6803c0be84f806b0c12aaf67f7f4683","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.2","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.13.1","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"4.0.0","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","devDependencies":{"vite":"^6.3.5","husky":"^9.1.7","dotenv":"^16.5.0","eslint":"^9.27.0","vitest":"^3.1.4","globals":"^16.1.0","nodemon":"^3.1.10","typedoc":"^0.28.4","audit-ci":"^7.1.0","prettier":"3.5.3","@eslint/js":"^9.27.0","commitlint":"^19.8.1","prop-types":"^15.8.1","typescript":"5.8.3","@types/node":"^22.15.19","lint-staged":"^16.0.0","jest-extended":"^5.0.2","vite-plugin-dts":"4.5.4","semantic-release":"^24.2.4","typescript-eslint":"^8.32.1","@vitest/coverage-v8":"^3.1.4","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.2.0","eslint-plugin-prettier":"^5.4.0","@semantic-release/github":"^11.0.2","@typescript-eslint/parser":"^8.32.1","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.32.1","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_4.2.0_1747763300036_0.1072099357791585","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"warp-grid","version":"5.0.0","keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","_id":"warp-grid@5.0.0","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"homepage":"https://warp-grid.undistraction.com","bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"dist":{"shasum":"b385bf856b20b0a1ce03c9f95de5863a9823751d","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-5.0.0.tgz","fileCount":68,"integrity":"sha512-YnkbeiKgfAo3JiPSGA2uk9xMPJrXSWHLEnXkm1/Cn8vlKWeP5mX3XZ3QKE7y82dlhIx1dWhcyc1qhDz5UKsl4w==","signatures":[{"sig":"MEYCIQDwiQCjN6Lk5EEnEmKy5Y3OMVM8uuqVcyrr6kvjWxDOcAIhAJTuIvWWGCACM41rhbrgrV3Swu39kCts8785Zx1ej7Lx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1436770},"pnpm":{"overrides":{"cross-spawn":"^7.0.5","conventional-changelog-conventionalcommits":">= 8.0.0"}},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts","require":"./dist/index.cjs"}},"gitHead":"dd35d2ac4d38e0b47444efd395bc2f5ecfd02a11","private":false,"scripts":{"tsc":"tsc","docs":"typedoc","link":"pnpm link ../coons-patch && pnpm link .","lint":"pnpm run lint-prettier && pnpm run lint-eslint","test":"vitest run","build":"vite build && pnpm run docs","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","prepare":"husky","docs-open":"open ./docs/index.html","test-watch":"vitest","build-watch":"vite build --watch","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","lint-prettier":"prettier . --write","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","release-preview":"semantic-release --no-ci --dry-run --debug","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"_npmUser":{"name":"undistraction","email":"pedr.browne@gmail.com"},"repository":{"url":"git+https://github.com/undistraction/warp-grid.git","type":"git"},"_npmVersion":"10.9.2","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","directories":{},"_nodeVersion":"22.13.1","dependencies":{"bezier-js":"^6.1.4","matrix-js":"^1.7.1","coons-patch":"4.0.0","fast-memoize":"^2.5.2","bezier-easing":"^2.1.0","@types/bezier-js":"^4.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","devDependencies":{"vite":"^6.3.5","husky":"^9.1.7","dotenv":"^16.5.0","eslint":"^9.27.0","vitest":"^3.1.4","globals":"^16.1.0","nodemon":"^3.1.10","typedoc":"^0.28.4","audit-ci":"^7.1.0","prettier":"3.5.3","@eslint/js":"^9.27.0","commitlint":"^19.8.1","prop-types":"^15.8.1","typescript":"5.8.3","@types/node":"^22.15.19","lint-staged":"^16.0.0","jest-extended":"^5.0.2","vite-plugin-dts":"4.5.4","semantic-release":"^24.2.4","typescript-eslint":"^8.32.1","@vitest/coverage-v8":"^3.1.4","@semantic-release/git":"^10.0.1","@vitest/eslint-plugin":"^1.2.0","eslint-plugin-prettier":"^5.4.0","@semantic-release/github":"^11.0.2","@typescript-eslint/parser":"^8.32.1","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"4.1.4","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.32.1","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/warp-grid_5.0.0_1747763706111_0.3377046031901729","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"warp-grid","version":"5.0.1","packageManager":"pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0","description":"Create a complex grid, warped in 2D space and access data about its lines and cells","exports":{".":{"types":"./dist/index.d.ts","source":"./src/index.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"homepage":"https://warp-grid.undistraction.com","repository":{"type":"git","url":"git+https://github.com/Undistraction/warp-grid.git"},"bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"publishConfig":{"access":"public"},"private":false,"type":"module","scripts":{"prepare":"husky","test":"vitest run","bench":"vitest bench","test-watch":"vitest","test-coverage":"vitest run --coverage","test-snapshot":"vitest run -u","lint":"pnpm run lint-prettier && pnpm run lint-eslint","lint-prettier":"prettier . --write","lint-eslint":"eslint './**/*.{ts,js,cjs}' --fix","build":"vite build && pnpm run docs","build-watch":"vite build --watch","docs":"typedoc","docs-open":"open ./docs/index.html","release-preview":"semantic-release --no-ci --dry-run --debug","link":"pnpm link ../coons-patch && pnpm link .","unlink":"pnpm unlink ../coons-patch && pnpm unlink .","tsc":"tsc","audit-npm-packages":"audit-ci --config ./audit-ci.jsonc --skip-dev"},"keywords":["coons patch","geometry","math","surface","grid"],"author":{"name":"Pedr Browne"},"license":"MIT","devDependencies":{"@commitlint/config-conventional":"19.8.1","@eslint/js":"9.27.0","@semantic-release/changelog":"6.0.3","@semantic-release/git":"10.0.1","@semantic-release/github":"11.0.2","@types/node":"22.15.19","@typescript-eslint/eslint-plugin":"8.32.1","@typescript-eslint/parser":"8.32.1","@vitest/coverage-v8":"3.1.4","@vitest/eslint-plugin":"1.2.0","audit-ci":"7.1.0","commitlint":"19.8.1","dotenv":"16.5.0","eslint":"9.27.0","eslint-plugin-prettier":"5.4.0","eslint-plugin-simple-import-sort":"12.1.1","eslint-plugin-unused-imports":"4.1.4","globals":"16.1.0","husky":"9.1.7","jest-extended":"5.0.2","lint-staged":"16.0.0","nodemon":"3.1.10","prettier":"3.5.3","prop-types":"15.8.1","semantic-release":"25.0.3","typedoc":"0.28.4","typescript":"5.8.3","typescript-eslint":"8.32.1","vite":"6.3.5","vite-plugin-dts":"4.5.4","vitest":"3.1.4"},"dependencies":{"@types/bezier-js":"4.1.3","bezier-easing":"2.1.0","bezier-js":"6.1.4","coons-patch":"4.1.0","fast-memoize":"2.5.2","ml-matrix":"6.12.1"},"pnpm":{"overrides":{"conventional-changelog-conventionalcommits":">= 8.0.0","cross-spawn":"^7.0.5"}},"gitHead":"2a0e102206bf1a5ddc13bd76cfded4b64b9df76a","_id":"warp-grid@5.0.1","_nodeVersion":"22.14.0","_npmVersion":"11.10.1","dist":{"integrity":"sha512-fUgsIPqwmtqr4uMLsbVjONoz1jLjjmwa5BvvkhoMrj1aAxG//tAIGR7azfOVYnSeZboByCRGRbtKrxldMTxDqg==","shasum":"eb66b7ee2b6ba7fb0a9a76e7c49f1461905bf8dd","tarball":"https://registry.npmjs.org/warp-grid/-/warp-grid-5.0.1.tgz","fileCount":67,"unpackedSize":1440026,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/warp-grid@5.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDTktbytSf97tG/FjsB03Qr6u5x6hNrwSmkxYs2FoEcfwIhAPO6zjF8Np4RlyfEHvYM+8qqJLPCa0LM6TG3zNOc8VVc"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:148bfbc3-63b3-415f-bd8e-fb57a0151add"}},"directories":{},"maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/warp-grid_5.0.1_1771852586579_0.8445198869066468"},"_hasShrinkwrap":false}},"time":{"created":"2024-07-30T14:14:12.273Z","modified":"2026-02-23T13:16:27.088Z","1.0.0":"2024-07-30T14:14:12.566Z","1.1.0":"2024-08-01T15:03:23.706Z","1.2.0":"2024-08-01T17:45:19.924Z","1.2.1":"2024-08-01T21:08:02.541Z","1.3.0":"2024-08-02T22:23:54.889Z","1.4.0":"2024-08-05T12:22:58.897Z","1.5.0":"2024-08-05T12:39:49.334Z","1.5.1":"2024-08-05T18:49:22.767Z","1.6.0":"2024-08-20T11:52:43.559Z","2.0.0":"2024-09-18T14:43:53.974Z","2.0.1":"2024-09-18T14:50:14.250Z","2.0.2":"2024-09-19T09:50:17.330Z","2.1.0":"2024-09-22T09:58:31.022Z","2.1.1":"2024-09-22T11:03:32.318Z","2.1.2":"2024-10-10T09:29:23.813Z","2.2.0":"2024-10-11T09:53:19.607Z","2.3.0":"2024-10-12T17:10:42.848Z","2.4.0":"2024-10-12T17:56:11.716Z","2.4.1":"2024-10-13T07:59:19.167Z","2.4.2":"2024-10-13T08:06:36.396Z","2.4.3":"2024-10-14T14:27:18.925Z","2.4.4":"2024-10-15T10:09:08.312Z","2.5.0-next.1":"2025-01-09T16:27:39.993Z","3.0.0-next.1":"2025-01-13T14:40:58.982Z","3.0.0-next.2":"2025-01-13T15:10:08.481Z","3.0.0":"2025-01-14T16:11:40.147Z","3.0.1":"2025-01-14T16:47:07.943Z","3.0.2":"2025-01-14T16:59:12.454Z","4.0.0":"2025-01-15T16:33:35.859Z","4.0.1":"2025-01-15T18:15:18.104Z","4.0.2":"2025-01-15T22:02:43.649Z","4.0.3":"2025-03-24T10:21:40.517Z","4.0.4":"2025-03-24T11:13:00.857Z","4.1.0":"2025-05-20T14:31:31.550Z","4.1.1":"2025-05-20T15:03:25.050Z","4.2.0":"2025-05-20T17:48:20.302Z","5.0.0":"2025-05-20T17:55:06.491Z","5.0.1":"2026-02-23T13:16:26.792Z"},"bugs":{"url":"https://github.com/undistraction/warp-grid/issues"},"author":{"name":"Pedr Browne"},"license":"MIT","homepage":"https://warp-grid.undistraction.com","keywords":["coons patch","geometry","math","surface","grid"],"repository":{"type":"git","url":"git+https://github.com/Undistraction/warp-grid.git"},"description":"Create a complex grid, warped in 2D space and access data about its lines and cells","maintainers":[{"name":"undistraction","email":"pedr.browne@gmail.com"}],"readme":"![Screenshot of warp-grid](readme/warp-grid-title-image.png)\n\n<h1 align=\"center\">\n Warp Grid\n</h1>\n\n<p align=\"center\">\n\n![NPM Version](https://img.shields.io/npm/v/warp-grid)\n![License](https://img.shields.io/badge/license-MIT-blue)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/undistraction/warp-grid/release.yml)\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/dwyl/esta/issues)\n\n</p>\n\nThis package allows you to create a complex grid and distort it, taking the concept of a [Coons patch](https://en.wikipedia.org/wiki/Coons_patch) and applying it to a grid system, meaning the grid is not bounded by four straight lines, but by four cubic Bézier curves. This allows you to create some very strange and interesting grids that would be very difficult to generate with traditional graphics software.\n\nThere is an [editor](https://warp-grid.undistraction.com) which allows you to generate and manipulate a grid, giving access to all the configuration available.\n\nThe package provides a set of powerful configuration options to define the grid including variable- or fixed-width/height columns and gutters, control over distribution of rows and columns using Bézier easing, and access to different types of interpolation, as well as the option to provide your own interpolation.\n\nIts API gives you access to information about the grid's metrics: its bounds, rows, columns, gutters and cells. It is designed to be recursive, so that the metrics for an individual grid-cell can be used as bounds for a completely different grid, allowing for nested grids.\n\nThis package does not handle any rendering itself, but provides you with all the information about the grid that you need to render the grid using SVG, Canvas or anything else you like.\n\nIf you just want to generate a coons-patch, you can use the lower level package [coons-patch](https://github.com/Undistraction/coons-patch).\n\n## Install package\n\n```bash\npnpm add warp-grid\n# or\nnpm add warp-grid\n# or\nyarn add warp-grid\n```\n\n[Package Documentation](http://warp-grid-docs.undistraction.com/) (TypeDoc generated).\n\nThis package is written in TypeScript and exports its types.\n\n## Quick-start\n\nThe basic workflow is that you supply bounds representing the edges of boundaries of your grid, and a grid configuration object describing the grid you'd like to map onto those bounds. In return you receive an object with information about the grid, and an API to allow you to get information about the grid. This means no expensive calculations are done up front, and calculations are only performed as and when you need them.\n\n```typeScript\nimport { warpGrid } from 'warp-grid'\n\n// Define bounding (cubic Bézier) curves for the patch\nconst boundingCurves = {\n  top: {\n    startPoint: { x: 0, y: 0 },\n    endPoint: { x: 100, y: 0 },\n    controlPoint1: { x: 10, y: -10 },\n    controlPoint2: { x: 90, y: -10 },\n  },\n  bottom: {\n    startPoint: { x: 0, y: 100 },\n    endPoint: { x: 100, y: 100 },\n    controlPoint1: { x: -10, y: 110 },\n    controlPoint2: { x: 110, y: 110 },\n  },\n  left: {\n    startPoint: { x: 0, y: 0 },\n    endPoint: { x: 0, y: 100 },\n    controlPoint1: { x: -10, y: -10 },\n    controlPoint2: { x: -10, y: 110 },\n  },\n  right: {\n    startPoint: { x: 100, y: 0 },\n    endPoint: { x: 100, y: 100 },\n    controlPoint1: { x: 110, y: -10 },\n    controlPoint2: { x: 110, y: 110 },\n  },\n}\n\n// Define a 10 x 5 grid with gutters\nconst gridDefinition = {\n  columns: 10,\n  rows: 5,\n  gutter: 2\n}\n\nconst grid = warpGrid(\n  boundingCurves,\n  gridDefinition\n)\n\n// Get a point on the patch at the provided horizontal and vertical ratios (0–1 inclusive)\nconst point = grid.getPoint({ u: 0.5, v: 0.75 })\n\n// Get an Array containing all the curves along the x-axis.\nconst curvesXAxis = grid.getLinesXAxis()\n\n// Get an Array containing all the curves along the y-axis.\nconst curvesYAxis = grid.getLinesYAxis()\n\n// Get an Array containing all the curves along the both the x- and y-axis.\nconst curves = grid.getLines()\n\n// Get an array of points representing every point on the grid where lines intersect.\nconst intersections = grid.getIntersections()\n\n// Get the bounds for the grid-square at the supplied coordinates (columnIdx, rowIdx)\nconst bounds = grid.getCellBounds(3, 2)\n\n// Get an array containing the bounds for every grid-square\nconst allBounds = grid.getAllCellBounds()\n```\n\n## Usage\n\n### Primitives\n\nThere are a number of data types that are used by the package to describe aspects of the grid:\n\nPoints look like this:\n\n```typeScript\nconst point = {\n  x: 34,\n  y: 44\n}\n```\n\nAll curves are represented by cubic Bézier curves:\n\n```typeScript\nconst curve = {\n  startPoint: {\n    x: 0,\n    y: 0\n  },\n  controlPoint1: {\n    x: 0,\n    y: 33\n  },\n  controlPoint2: {\n    x: 0,\n    y: 66\n  },\n  endPoint: {\n    x: 0,\n    y: 100\n  }\n}\n```\n\nBounding curves look like this, where each item is curve.\n\n```typeScript\nconst boundingCurves = {\n  top: { … },\n  bottom: { … },\n  left: { … },\n  right: { … }\n}\n```\n\n### Bounding curves\n\nTo generate a grid you must provide a set of four **bounding curves** (`top`, `left`, `bottom` and `right`) in the form of four cubic Bézier curves. A cubic Bézier curve describes a straight-line or curve using a start point (`startPoint`), an end point (`endPoint`) and two other control points(`controlPoint1` and `controlPoint2`). Each point has an `x` and `y` coordinate.\n\nAt minimum you must supply start and end points for each curve. If you do not supply `controlPoint1` it will be set to the same coordinates as the start point, and if you do not supply `controlPoint2` it will be set to the same coordinates as the end point. Setting both control points to the same values as the start and end point will result in a straight line. You also need to ensure that the four curves meet at the corners.\n\nYou will probably be expecting the end of each curve to be the start of the next, however in keeping with the math involved in generating a coons-patch this is not the case. The `top` and `bottom` curves run left to right, and `left` and `right` curves run top to bottom, so this means that:\n\n- the `startPoint` of the `top` curve must share the same coordinates with the `startPoint` of the `left` curve.\n- the `endPoint` of the `top` curve must share the same coordinates with the `startPoint` of the `right` curve.\n- the `startPoint` of the `bottom` curve must share the same coordinates with the end point of the `left` curve.\n- the `endPoint` of the `bottom` curve must share the same coordinates with the `endPoint` of the `right` curve.\n\n```\n         top\n      -------->\nleft |         | right\n     ↓ ------> ↓\n       bottom\n```\n\nNote that when you are getting cell bounds back from the API, both `getCellBounds` and `getAllCellBounds` accept a config object which has a `makeBoundsCurvesSequential` key. If this is set to true, the order of the bounding curves is made sequential:\n\n```\n         top\n     ↑ ------->\nleft |         | right\n      <------- ↓\n       bottom\n```\n\n## Grid definition\n\nThe grid definition is an object describing the grid you are modelling. It will be merged with a set of defaults.\n\nBefore going any further it is important to understand how the grid handles columns, rows and gutters. Individual step values can either be numbers, in which case the values are treated as relative values to each other, or absolute values (in the form of pixel-strings with the format '{number}px', for example '48px'). The grid calculations will favour gutters, rows and columns with absolute values, with steps and gutters with relative values sharing the remaining available space. It is important to remember that the length of each side of the grid is independent. The grid will first calculate the length of each side, allow space for all the steps and gutters with absolute values, then share out the remaining space amongst the other steps and gutters. This allows for some pretty interesting layouts.\n\nUnder the hood, gutters are just steps with `isGutter` set to `true`. By using objects for step values you can control individual gutter sizes (see below),\n\n### Columns and Rows\n\n`columns` and `rows` define the number of columns and rows in the grid. A grid has a minimum of one row and one column. The generic name for columns and rows used in the following docs and in the codebase is _steps_.\n\nThese fields can be one of the following:\n\n1. **An integer**, in which case that integer will represent the number of columns or rows. For example `columns: 2`, will result in a grid with two columns.\n\n2. **An array of integers or pixel strings or objects**, in which case the steps will each have those absolute or relative value, or if objects will have the absolute or relative value provided by the object's `value` property. To tell the grid to treat an item as a gutter, set `isGutter` to `true`. You can mix integers, string and objects.\n\n```typeScript\n{\n  columns: [\n    2,\n    `30px`,\n    1\n  ],\n  rows: [\n    1,\n    `10px`,\n    {\n      value: 2,\n      isGutter: true,\n    },\n    5,\n    5\n  ],\n  …\n}\n```\n\n### Gutters\n\n`gutter` describes the width of horizontal gutters and the height of vertical gutters. Gutters are the spaces between the grid cells. If `gutter` is a number, it describes both horizontal and vertical gutters. If it is an array of two numbers, the first number describes the horizontal gutter and the second number describes the vertical gutter. Like columns and rows, gutters can either be relative or absolute pixel-numbers, for example: `3`, or `3px`.\n\nAs outlined above, there is an additional way to add gutters without using the gutters property. You can add them to the `rows` or `columns` arrays, using an object with a `value` property, but also adding an `isGutter` property set to `true`: (`{ value: 2, isGutter: true}`). This allows you to define gutters of different widths/heights in the same way you can define columns or rows of different widths/heights.\n\n```typeScript\n{\n  gutter: [\n    2,\n    `10px`\n  ],\n  …\n}\n```\n\nYou can add multiple steps with `isGutter` set to `true`, and you can have these beside one-another if you want. If you use steps with `isGutter` set to `true` alongside the `gutter` property, the `gutter` property will act as a default, and gutters of that value will be added between any steps that do not already have at least one gutter between them. They will have no effect on steps with `isGutter` set to `true`.\n\n### Interpolations\n\nA lot of the work done by the package involves interpolation. The grid also supports configuration params that change how it performs these interpolations.\n\n#### interpolationStrategy\n\n`interpolationStrategy` changes the algorithm used to interpolate the position of points along a curve. These algorithms are used in calculating the location of points within the bounds. This value can be either a string, a function, or a tuple of two functions.\n\nIf it's a string it can be either `even` (the default) or `linear`. `linear` is a simple form of interpolation that results in a distribution that is affected by the amount of curvature of the bounds. `even` uses a more complex approach and usually results in more evenly distributed results. However this comes at the cost of performance.\n\nAlternatively a single factory function, or a tuple of two factory functions (one for each axis) can be supplied.\n\n```typeScript\n{\n  interpolationStrategy: `even`,\n  …\n}\n```\n\nThese functions comprise of a factory function that accepts a configuration object and returns an interpolation function. The factory function is called internally using config from the grid definition object.\n\nFactory functions for both linear and even interpolation are exported by this package:\n\n- `interpolatePointOnCurveEvenlySpacedFactory`\n- `interpolatePointOnCurveLinearFactory`\n\nIf you use your own interpolation factory function it should have the following signature.\n\n```typeScript\n(config: {precision: number, bezierEasing: BézierEasing}) => (t: number, curve: Curve): Point\n```\n\n##### Factory\n\n- `config` is an object with a `precision` key that can be used to control the precision of interpolation, and `bezierEasing` which is an object with bezierEasing values for modifying distribution for each axis. If your interpolation function doesn't require any configuration you can just use an empty function.\n\n##### Interpolation function\n\n- `t` is the ratio along the axis (0–1 inclusive).\n- `curve` is a cubic Bézier curve along which the interpolation will be used.\n\n#### lineStrategy\n\n`lineStrategy` controls how the grid lines are interpolated and can either be `straightLines` or `curves`. The lines returned from `getLines`, `getLinesXAxis` and `getLinesYAxis`, and the bounds returned from `getCellBounds` and `getAllCellBounds` are always represented by cubic Bézier curves, however if the `lineStrategy` is `straightLines` (the default), the calculations are significantly simplified and all lines will be straight (`controlPoint1` will be the same as the `startPoint`, and `controlPoint2` will be the same as `endPoint`) For more accurate calculations choose `curves` which will draw curved cubic Bézier curves at the expense of performance.\n\n```typeScript\n{\n  lineStrategy: `curves`,\n  …\n}\n\n```\n\n#### precision\n\nIf you choose to use an interpolation strategy of `even`, this parameter controls how precise the interpolation is. Higher values are more memory-intensive but more accurate. The default value is `20`. With `linear` this will have no effect.\n\n```typeScript\n{\n  precision: 5\n  …\n}\n```\n\n### bezierEasing\n\nThe grid provides a very powerful way of controlling the distribution of lines along each access using bezierEasing. Bézier easing is widely used for animation as a way of providing easing to a changing value. Instead of applying easing to an animation, here it is applied to the interpolation of points along an axis. `bezierEasing` is implemented internally by first creating an easing function, and then passing a value (in the range of 0–1) to it. The easing function requires four values (each from 0–1). The first two values represent the position of the first control point (x, y) and the last two values represent the position of the second control point. So the value for `bezierEasing` will look like this:\n\n```typeScript\n{\n  bezierEasing: {\n    xAxis: [0, 0, 1, 1],\n    yAxis: [0, 0, 1, 1],\n  }\n  …\n}\n\n```\n\nThe easiest way to understand what effect the different values have is to play with the [editor](https://warp-grid.undistraction.com).\n\nHere is a full example of a grid definition:\n\n```typeScript\n{\n  columns: 8,\n  rows: [10, 5, 20, 5, 10],\n  gutter: [5, 3],\n  interpolationStrategy: `even`,\n  lineStrategy: 'curves',\n  precision: 30,\n  bezierEasing: {\n    xAxis: [0, 0.5, 1, 1],\n    yAxis: [0, 0, 0.3, 1],\n  }\n}\n```\n\n## Return value\n\nThe return value is a `warp grid` object representing the grid and providing an API to interrogate it.\n\n```typeScript\n{\n  model: {\n    columns,\n    rows,\n    columnsNonGutter,\n    rowsNonGutter,\n    boundingCurves\n  },\n  getPoint,\n  getLinesXAxis,\n  getLinesYAxis,\n  getLines,\n  getIntersections,\n  getCellBounds,\n  getAllCellBounds,\n}\n```\n\n### Model object\n\n`model` provides access to the resolved configuration data that was used to generate the patch. The configuration data is not the same as the data you passed in, but is instead the internal representation of that data.\n\n- `columns` contains an array of column values. This will always be made up of objects, regardless of how you supplied them.\n- `rows` contains an array of row values. This will always be made up of objects, regardless of how you supplied them.\n- `boundingCurves` contains the bounding curves object that was passed in.\n\n### API\n\n#### Important note\n\nOne of the powerful features of this package is that a grid cell can itself be used as bounds for another grid. To achieve this, the bounding curves returned from `getCellBounds` and `getAllCellBounds` follow the same pattern as the bounding curves used to define the grid, meaning the top and bottom curves run left-to-right and the left and right curves run top-to-bottom.\n\n- `getPoint({ u, v })` returns the point on the grid at the supplied `u` and `v` ratios. Both `u` and `v` should be a number from `0–1` inclusive. For example, a `u` of `0` and a `v` of `0` would return a point in the top left corner. A `u` of `1` and a `v` of `1` would return a point in the bottom right corner (remember that the top and bottom boundary curves run from left-to-right and the left and right boundary curves run from top to bottom).\n\n- `getLinesXAxis()` returns an array representing all the curves for each step along the x-axis. This includes curves for all left and right edges.\n\n- `getLinesYAxis()` returns an array representing all the curves for each step along the y-axis. This includes curves for all top and bottom edges.\n\n- `getLines()` returns an object with `xAxis` and `yAxis` keys, each of which contains an array representing all the curves for each step along that axis.\n\n- `getIntersections()` returns an array of points, one for every point at which an x-axis line intersects with a y-axis line.\n\n- `getCellBounds(columnIdx, rowIdx)` returns a set of bounding curves for the cell at the supplied column and row. Column and row are zero-based. You can pass an optional config object as the third argument. See the docs for more information.\n\n- `getAllCellBounds()` returns an array of bounding curves for all the cells in the grid. See the docs for additional config parameters. You can pass an optional config object as the third argument. See the docs for more information.\n\n## Dependencies\n\nThis project has five dependencies:\n\n- [coons-patch](https://www.npmjs.com/package/coons-patch) to calculate points on a surface defined by Bézier curves.\n- [bezier-js](https://www.npmjs.com/package/bezier-js) for Bézier curve math.\n- [fast-memoize](https://www.npmjs.com/package/fast-memoize) for memoization.\n- [bezier-easing](https://www.npmjs.com/package/bezier-easing) for creating Bézier-easing functions.\n- [ml-matrix](https://www.npmjs.com/package/ml-matrix) for matrix math\n\n## Thanks\n\nThanks to pomax for his help (and code) for curve fitting (which is much more complex than it might seem). His [A Primer on Bézier Curves](https://pomax.github.io/bezierinfo/) is a thing of wonder.\n\n## Maintenance\n\n### Install\n\n```bash\npnpm install\n```\n\n### Build\n\n```bash\npnpm run build # Build once\npnpm run build-watch # Build and watch for changes\n```\n\n### Preview build\n\n```bash\npnpm run preview\n```\n\n### Generate docs\n\n```bash\npnpm run docs\n```\n\n### View the generated docs\n\n```bash\npnpm run docs-view\n```\n\n### Run unit tests\n\nUnit tests use vitest. Note that some of the tests are written in JS instead of TS. Those tests are related to validation of types at runtime. Any validations that validate things that cannot be caught by TS are written in TS.\n\n```bash\npnpm run test # Run tests once\npnpm run test-watch # Run tests and watch for changes\npnpm run test-coverage # Run tests and output a coverage report\npnpm run test-snapshot # Regenerate snapshots\n```\n\n### Lint\n\n```bash\npnpm run lint-prettier\npnpm run lint-eslint\n```\n\n### Linking\n\nTo link into the local version of `coons-patch` for local testing run:\n\n```\npnpm run link\n```\n\nTo unlink (and install the package from npm):\n\n```\npnpm run unlink\n```\n\n### Release\n\nReleases are via semantic-release and executed on CI via Github actions.\n\nThe following steps are run as part of the actions pipeline\n\n- Code is linted\n- Unit tests are run\n- TypeScript is compiled to JavaScript\n- Package is released (if previous stages all pass)\n","readmeFilename":"README.md"}