{"_id":"@tscircuit/rectdiff","_rev":"53-8c304278c147986a6b349b2ab3ec82b2","name":"@tscircuit/rectdiff","dist-tags":{"latest":"0.0.53"},"versions":{"0.0.1":{"name":"@tscircuit/rectdiff","version":"0.0.1","_id":"@tscircuit/rectdiff@0.0.1","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"87230d82426478dae11ea713063a3b3ceb093487","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.1.tgz","fileCount":40,"integrity":"sha512-EqrHcK+zDeznz5HGEKw2j5xG/ccnk1+/yOwJPgBQMdrlQQQRAewEJdz87DT4cbmdIUUIj/RCOMXOwkBLRpzMWg==","signatures":[{"sig":"MEUCIAnoinRC4xAwUDvuwHLjb6VQDUNDcfEMRWFCKL7I9/vuAiEAoPDVGC8hIB0NRxAjOIfrtHnpuR/rwdOxvj5wfTwC7fc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234010},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"841defdf94874b3850b08d609ae887e9391cbda7","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.1","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"22.3.0","dependencies":{"D":"^1.0.0","vite":"^7.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rbush":"^4.0.1","react":"^19.2.0","three":"^0.181.1","react-dom":"^19.2.0","@types/bun":"latest","@types/three":"^0.181.0","react-cosmos":"^7.0.0","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.70","@tscircuit/solver-utils":"^0.0.3","react-cosmos-plugin-vite":"^7.0.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.1_1763356766990_0.11521274536847059","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@tscircuit/rectdiff","version":"0.0.2","_id":"@tscircuit/rectdiff@0.0.2","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"f6a1dd2bc1a27fa6295c0b7a897ed81d4030c50e","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.2.tgz","fileCount":40,"integrity":"sha512-aTE+ie/010aNbBejkVsCHB4JhJ1rLKdZjzzxyZPJAsX+t7maDCoiEV7k0Cf3ydsBudBn+YPms1tzUyUZiijinw==","signatures":[{"sig":"MEUCIQDF1np3geGPkK2hmL1+DG/YrZrR6dIT1BqJrJ2ZJJI6sgIgEYQguX59UxsggIruR2WKs5Zl102FxPECeaqL5pkKyZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343864},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"bd6e82c9926eb5c7ec8a3404a0411f4330710660","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"D":"^1.0.0","vite":"^7.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","biome":"^0.3.3","rbush":"^4.0.1","react":"^19.2.0","three":"^0.181.1","react-dom":"^19.2.0","@types/bun":"latest","@types/three":"^0.181.0","react-cosmos":"^7.0.0","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.70","@tscircuit/solver-utils":"^0.0.3","react-cosmos-plugin-vite":"^7.0.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.2_1763834055950_0.683446528622982","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@tscircuit/rectdiff","version":"0.0.3","_id":"@tscircuit/rectdiff@0.0.3","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"161977f3ec504ce09d6fed005c61ddcbcc757665","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.3.tgz","fileCount":42,"integrity":"sha512-WXjTq68ybZ1S6W0ALpio59NWsiGqBv6NAvIO6jWuDwYaRqaCn+QHhiBAaUym/xTc+x6QCCUOHtChcXcd2mTGww==","signatures":[{"sig":"MEQCIBrD9pUS2kNT3DoK+WkwMCUaU2TfaoVTq2M7ZqKiOsAsAiA7z2B7Syt4AM0opDWbVfZ7FAOaMSaAVEz/4KKbThpDcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":348779},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f36fa13504869d500edc635d3fdf6c798617c847","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"D":"^1.0.0","vite":"^7.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","biome":"^0.3.3","rbush":"^4.0.1","react":"^19.2.0","three":"^0.181.1","react-dom":"^19.2.0","@types/bun":"latest","@types/three":"^0.181.0","react-cosmos":"^7.0.0","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.70","@tscircuit/solver-utils":"^0.0.3","react-cosmos-plugin-vite":"^7.0.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.3_1764090166235_0.06607631611694531","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@tscircuit/rectdiff","version":"0.0.4","_id":"@tscircuit/rectdiff@0.0.4","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"67a51631d453e6961854aefd2762d3baf2648b33","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.4.tgz","fileCount":44,"integrity":"sha512-fdHYws6N9ySOU+Aep00m+vXa5SPtpr18m5G6gVlS7aY3KY5fJNmsfADnPH5Nj47dI9WWuXsFa4wMwTUKa3aTcQ==","signatures":[{"sig":"MEQCIFsDUkqkXYTvD61rdesd/Ll80gAdo2kfky6Qpo+dJIEBAiBkLuwyanCCyBHKA1asNQ4ZC4YUs7BrLtC5v5C/cE/OqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":349036},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"18daf639934c5fbf90850fd996d41fd0335d33d6","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"D":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.70","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/solver-utils":"^0.0.3","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.4_1764382935630_0.2215081211961587","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@tscircuit/rectdiff","version":"0.0.5","_id":"@tscircuit/rectdiff@0.0.5","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"a076614787c804f000b986116ae617b94b9ba1bd","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.5.tgz","fileCount":62,"integrity":"sha512-8b4Eupiet6oo1yDBtFt7Kb4ODXMZt2yFtQzRmI9iANnRZidm0s9RGEuqXjJUpR7LOpTDYO3Ss1KtgTZwV+9L1w==","signatures":[{"sig":"MEQCIH4Ur38hrPMdVrSi+Et7BaZJmywfcUsri+HkbUYKVv9iAiAe1Ys32vwW/OYnRHjMieUMZezBVGdSYPVDEYmvLlC/HQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410824},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"a38590bc60bb423074c0de95dd95c6d16917a51d","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"D":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.70","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/solver-utils":"^0.0.3","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.5_1764388025256_0.1433433057013369","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@tscircuit/rectdiff","version":"0.0.6","_id":"@tscircuit/rectdiff@0.0.6","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"cc1b232fc4ce39aa5a2b2f3a926a300dfef576e8","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.6.tgz","fileCount":64,"integrity":"sha512-CVmqxhWIbLjs+/viBjvAt4xuPHO79tbaigbXsFEjM+PUD4mYOGtkhRNXGGQEt/3wBPHAbRj5QzkCVf1t1i6dpQ==","signatures":[{"sig":"MEYCIQC1qsLTBmsaP4YEbOzFqSvp8oxN2ECrrT9Q1+tDeB+LwAIhAMu3nT/Rd3Xj9BuhRgrYJYInDhhV9OwkQufM4TU37YVs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":414276},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"1c37bbef3d33312e1a71fa043180032fd845d216","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.70","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/solver-utils":"^0.0.3","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.6_1764954472323_0.5847850604549298","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@tscircuit/rectdiff","version":"0.0.7","_id":"@tscircuit/rectdiff@0.0.7","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"97ae58c9c94590056b78d8f701de5ea18d5617f6","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.7.tgz","fileCount":68,"integrity":"sha512-/4AaXJFnAqbOqyCupqbrAGi/ghfOoUroJmEuNxPqSeVgL/pDzLY9kRoi7YtK3w1LK59aJz5hK/xS4HYg/9aTOg==","signatures":[{"sig":"MEQCID0NhrJzvV+m5wjq9hka5Kxg1J+dWvThDtV6YJdo2K0LAiBQCxApWcN4gnt72vXJO/ISz8pcpWPj8VKXcZYCDABH0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":407886},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"6dd0e54dba6b720e52cc6bcbf5e5e2db4362fb80","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.70","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/solver-utils":"^0.0.3","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.7_1765214699294_0.42973010146143054","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@tscircuit/rectdiff","version":"0.0.8","_id":"@tscircuit/rectdiff@0.0.8","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"0074aa704aebc45073408e601edd4b14f9a90158","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.8.tgz","fileCount":70,"integrity":"sha512-K1LKGeLo9PXisZ6TrxZlsKf614x2oiYQZZ2DXGRo8jPvxYkGCIok/+ocb5ysLWNWkQMVxMlrIaGMK5XzlGHGSw==","signatures":[{"sig":"MEUCIEmLR5GKf26IYFxXKXrYRRgoPq3Z8OXfNbda9v3OkOY8AiEA5YljbyjiUPtOQnOR4G6wabqJme2Q75XKlJykqfjaFZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544152},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"043b09d3984f839f94000648e2286248ff8d42d2","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.70","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/solver-utils":"^0.0.3","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.8_1765813564731_0.6205766359512301","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@tscircuit/rectdiff","version":"0.0.9","_id":"@tscircuit/rectdiff@0.0.9","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"e7c72bc222cd356e0bda469f00fa7c48164841dd","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.9.tgz","fileCount":72,"integrity":"sha512-3tZwhTRyfCNuXbSFbIO+7zR9SslznLLuB0U7MZYSgw+zlSyE5SKefcRUGrH0I0K7ZRegUzS3Ax1aaUxXXExflA==","signatures":[{"sig":"MEYCIQCGwdPMUO+izdh1GUSgym7qda1DYj9QnyTxFW3JyOv6KQIhAOWlP6XUCQQEzYWc2qr5PbK/gPIDLj8a0+0Fjf5NoqsX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":548554},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f3dc818149479faf4ed6b893458b8b157bbf67ee","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.70","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/solver-utils":"^0.0.7","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.9_1766078180253_0.6660802671588586","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@tscircuit/rectdiff","version":"0.0.10","_id":"@tscircuit/rectdiff@0.0.10","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"569e48ada83b88d2dd83df6459c0f2317fc3870a","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.10.tgz","fileCount":57,"integrity":"sha512-8mP2m7O/lKUh9fQUDxuM3eXk25UkiKP6nd5YOo8CmhyhfjN4Hyx0KSSwWs2jZX5HgrsVHOf0VapeKEgqqEAyzg==","signatures":[{"sig":"MEYCIQCIql//dqpe/AFTM4N/3Aj8UwcgajQE2TtfkTq5C1c4egIhAIYVzRM3PC4yGZkV+qT6oHtN/VTrixg1SuAUU8blxCvb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":516082},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3e17acfe8358d55b7325e2350a1966ffac3d13b9","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.70","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/solver-utils":"^0.0.7","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.10_1766135789990_0.699695908444464","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@tscircuit/rectdiff","version":"0.0.11","_id":"@tscircuit/rectdiff@0.0.11","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"c8a193f802622dcc5d03719af5261539e9dc909b","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.11.tgz","fileCount":64,"integrity":"sha512-MHCAUzT4FArJgQXWGfZnA67wMjOmE2QcJQpcpzbMSomZZ3ZDEuXLPKax1WXxoppRen8rroQssvhR/UyAgdKWyA==","signatures":[{"sig":"MEQCIDTZAsbvCeN2ERWkgfpdYSw++VjdM91+Wnt+rMXivOjaAiBc9pLbvDCYDTAynzUWHkao5dl0V789phkWt4Ht4SOZ2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":566163},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"47f1548c4d4967f7c1cd8df2a5eb9bcb31fddf1c","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.11_1766273102806_0.43772280250183115","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@tscircuit/rectdiff","version":"0.0.12","_id":"@tscircuit/rectdiff@0.0.12","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"8f6b5a9e524858abf944f310330593c9e8e598d9","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.12.tgz","fileCount":64,"integrity":"sha512-BUEntK0ttMqVs369QC5KuSvTov2SqSx6gFeYezxxKAeVerLOtJb/mwjAdZLrT/r2q78qbY6vB7JcxEUwuvpawQ==","signatures":[{"sig":"MEQCIF+zd0viMl+VA0fikXpy42AjGUwzEwSjdECS84VOtQgDAiB8kYHy3+h7ZdtVOtth0dwca/Uxf/R/nnGyDEr/zjnnBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":566175},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"94524e34f82a79b7eb5b738c1486d1253b0de256","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.12_1766444049627_0.725607578031636","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@tscircuit/rectdiff","version":"0.0.13","_id":"@tscircuit/rectdiff@0.0.13","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"41db6fbdc19bf708d697776170dbddeef36d5fbf","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.13.tgz","fileCount":73,"integrity":"sha512-PvUVkrSqEuSKebisw1bgM6SZzBm5OXvRfk4LCjL+wKGvCB3lustBsuysAh+tS+PrRCRIv0BNdilsCdNUWfInMQ==","signatures":[{"sig":"MEMCH0jF/j2TLw7JAot7PkKgxCv0231X22Pwy76SCn61lPYCIF0H7MVdNrVpAZCRZVgMSdn0/IH8ZzsIxCCxFRDONne3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":584266},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"823dbe5331668b66fa764267ace684cf99133c8c","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.13_1766452392731_0.6893590078419525","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@tscircuit/rectdiff","version":"0.0.14","_id":"@tscircuit/rectdiff@0.0.14","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"268627d77766515cfe1092dc97587e058071863f","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.14.tgz","fileCount":76,"integrity":"sha512-A5TEXpQQZeTnmBneIzb6fVNKWvD9Gr4dUPzi5yWOFZvwrE0WWpzPeceLWLLrtMDyDHDX48p+OCQZtKSywBo2jA==","signatures":[{"sig":"MEUCIHOfxEIBU2hrVz+NkodyuwpXCcsQVplxPOdBtwtobVfmAiEAuIHP/CoWVw34PJA4mGg42NoA9/yh2G8NSobhu55fTw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":596014},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"baa255cc002b659dbb3d66bc4706b610d4d2e272","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.14_1766602295637_0.19579981644006828","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@tscircuit/rectdiff","version":"0.0.15","_id":"@tscircuit/rectdiff@0.0.15","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"04480b4c68e686802a7d1d3e768eacae28d4c364","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.15.tgz","fileCount":81,"integrity":"sha512-TR9M6EPVmqFCeaGxQnOftmfL0OnRZuVk7660lZDZdj/rAtcr5gLB81SCT9bUbGJgvufTiebtyIfQEI8Aq3J+6A==","signatures":[{"sig":"MEYCIQDXze9okVZxCOHKjWj99BJWTbJkl2mlrlvMwY06hX/GGQIhAKDtnvvyVJkIpNWmXPD96WRZVmBanJrA+Pr0Wao2r2zn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":762315},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"9dd6168be41bf98de2024d537e7a1a93ba260308","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.15_1766644495336_0.8716513218905775","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@tscircuit/rectdiff","version":"0.0.16","_id":"@tscircuit/rectdiff@0.0.16","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"68401f85dc27190c15e87fe5250cf641d83d03f3","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.16.tgz","fileCount":80,"integrity":"sha512-gmHZj/uavEmlUI7LBFpaUvbASnOZu4vOmldiijl2O2qNND9KmDo/brmgptogvETE+KE0hZEHnkzgxqcALCTekg==","signatures":[{"sig":"MEUCIGInyi+ktE/YZ0nxuN/ztIzlPIBo4n99jt1t/WG1uJ+DAiEA2s+0Hgo6jkyD1YATaanBN2JVzEY9A1AvLBAUtr4udmE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":761785},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"b41687f92f16eb6f6707ea86d23d34a116bee1d7","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.16_1766682250659_0.8941610016397183","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@tscircuit/rectdiff","version":"0.0.17","_id":"@tscircuit/rectdiff@0.0.17","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"7ab5e2b7e92f7cfa6879e70bb5bd529ae3fffb20","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.17.tgz","fileCount":84,"integrity":"sha512-8Eb9sEeMofOYv6zzjKfQttRmRsdL6LsJruxpZdUpq6NWgbzZWs2tnUA6wTUvkik4pDQOGgmWGGPtF1XWVSghTw==","signatures":[{"sig":"MEQCIGWD3wbSXoSyKFly3zOV0rV+eF2+bgXF4s35EEWSlK/pAiBREhy5gX2qmLrDO7h2klIDysWtimMauubnYm+TG1MviA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":769189},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"5203f3e7b12cd66f8880f27dee6de81a7bba0664","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.17_1766696723902_0.3570234032363724","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@tscircuit/rectdiff","version":"0.0.18","_id":"@tscircuit/rectdiff@0.0.18","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"aeb0e2fd8f7dd464131d2ea3fe06ca81f4643ce8","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.18.tgz","fileCount":85,"integrity":"sha512-Po+dLPAHdGwgYh1/YNx4W0qw18LwAoKuPMMKYM1xYn9kE0JtoGWybrlJRqMGlVyhYEtRNZ3v+AyhmqcDRawGHw==","signatures":[{"sig":"MEYCIQD2L1dX9KVk377+ADOeE6UJ+udLRS4tw9N7RXM6FTfbkAIhAJ0U+UPGk7SGMqzNVDV6hjDXAJpIxIsgkqq+xMLc5PoZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770155},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"8cf8ba270c2c6adaed59a44f5929139a65ad87e4","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.18_1766755042033_0.127731187687947","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@tscircuit/rectdiff","version":"0.0.19","_id":"@tscircuit/rectdiff@0.0.19","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"972dcb8af1370aace3e13b8b808a9b14f06b3df2","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.19.tgz","fileCount":88,"integrity":"sha512-DdKSyorsnp+6++c+iPAQKHKjkmB/PmOQ9lleXny+Omd7nob0XWVSyK5j8ykxde9Qd9p/WBBuytodfaUn6jhQxw==","signatures":[{"sig":"MEUCIQDnJGILMnrmerU3NaCaS5mF7M54yKKy2JKxp+rDAVE0XgIgaszxv5y7rlhb9FQdTHPd+6wDjjmYZcZvRtlmUDQxoi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":711231},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"1a026a1dba79fcfa3fc9b742ec9a3ce5e9d29650","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.19_1766770164364_0.8114331522158242","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@tscircuit/rectdiff","version":"0.0.20","_id":"@tscircuit/rectdiff@0.0.20","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"5f566e63aaa10ef85e14545ffd95cedec1b73c47","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.20.tgz","fileCount":88,"integrity":"sha512-Hr5JqDKgsn4sg2X0pEM6ZDTszqitM8xlblp0+PZxGNAXH4IXVNkMRslRvMq7nEmNz+PI+r6Vtp2qYVVg32ooYQ==","signatures":[{"sig":"MEUCIQCAthHnHK+v4FGBxAyWTyljnM4sZKPddDd4dB6obXtC4AIgNj3Rx3aMjIuE2vu87MqflfjO2brJITEnXO1tLxJ7cIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":757698},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"2495577a20a94f3bf424a4eaa15a118ef451d0db","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.20_1766777695183_0.9021879261120418","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@tscircuit/rectdiff","version":"0.0.21","_id":"@tscircuit/rectdiff@0.0.21","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"1c2d21d40c9d2014a1298f1e5632ee1aac6ae5c7","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.21.tgz","fileCount":193,"integrity":"sha512-9cYa5qov3OtY7utFHE1aTmXT21BM3/fHwunXs23BByU76YngI9N+s9RDDXpPzCjU2X0rZnnd+gqah8yWd82T+g==","signatures":[{"sig":"MEUCIEtWY+8g1RzTUKClR8SkbsN6COPe6z6fkY6BUeYJZhs0AiEAlSxodFH7j+0yUUileDo8OnaGJGFVuITu6PFdq8Wg9xg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6411591},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e809e2ab775bad4dfd43767e68998331f462f7bd","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.21_1767638302640_0.9807616925546756","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@tscircuit/rectdiff","version":"0.0.22","_id":"@tscircuit/rectdiff@0.0.22","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"fbdb661bb19ba98a4c2b9b20d7e3e7055c72e3d8","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.22.tgz","fileCount":195,"integrity":"sha512-h5T15lIHGwivzPvCwnRjZ1lotP1ZeAA1mIAXXR3+97G74DtG6XR8/85A9ecBaUNj0abVN2fPTJz0AGRc8tLZlA==","signatures":[{"sig":"MEUCIGb+Vo4MJQGqLI+BUbHiOpTXSyu0wjgxDsoQ8hEq4TylAiEAgpNAqfOoFGu5TPxgq+Lb5HIrz5FsiTw2oLWdFoupRLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6447391},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"302dd00e80303c4e647595b3d115dd579775dd42","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.22_1768264994240_0.38464142010325997","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@tscircuit/rectdiff","version":"0.0.23","_id":"@tscircuit/rectdiff@0.0.23","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"704a7287ece45902986a6847158caa9c79ad1dfb","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.23.tgz","fileCount":199,"integrity":"sha512-I8ppuYN9xM07w2aP9+pe5YEYPP6Vp+hDwzSLyiC0BjMcKswGyGXLLInOcbOnIldOZCxIJYQ3Viw5EHlvUGauyw==","signatures":[{"sig":"MEQCIBBGYaUej7e+Q49zJMLYkzmrbkCm87l7ABbb3HvSsodXAiAx2Y1M7Icny5LS+iE1u36NFawLhGPN3XVg6MpGOwxVug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6556322},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e8ccf9aaf1d5e21421ea9c59c7ed833f5cfee8b4","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.23_1768800042140_0.46990368999907006","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"@tscircuit/rectdiff","version":"0.0.24","_id":"@tscircuit/rectdiff@0.0.24","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"036d13e74a5ff2329c44ee8b2da40e11c0ff4fed","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.24.tgz","fileCount":200,"integrity":"sha512-fVRnh98LhhUNjT+mDzY80i2BOqDn9bph09SQN0tbydWDihSiuqJea/C9Ox2pOjslrzJ2NPB0XIwSPw5xmbWS4A==","signatures":[{"sig":"MEYCIQCdNKLHrsSv5FEFXmDtRbxBR446wpyDtZXNHgnN8PFy3gIhAKg1sesKA5Zv3CW7eikZIQht9kiDeY5UJndSIp/NLMUX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6418877},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"683cec24019fc1e437866332df90018ea3ea96fe","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format ."},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.24_1768836743580_0.5619138987738594","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"@tscircuit/rectdiff","version":"0.0.25","_id":"@tscircuit/rectdiff@0.0.25","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"a89f1bdf255e08228c75468897cb512cb231e80a","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.25.tgz","fileCount":203,"integrity":"sha512-NhN2UI1c1vfWDcew1kFTC8iAB3LOl6F7LcTxTv1alGIePZJiOP1ZjrSVIeKY/8pXc1FENAB+AlF+Xl3XSeVGpw==","signatures":[{"sig":"MEUCICu1FBhFPy/CduFf/7s5ncLQF6D0ZaGZ/RsV8xQP/3wtAiEAlPLERVpostPbjvJMhKn8kWLZjwsr/8/utoUVty8yOIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6880452},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f088eb550aba83c53f59c23121567e07f650ed44","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.25_1774849051542_0.3287695257682193","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"@tscircuit/rectdiff","version":"0.0.26","_id":"@tscircuit/rectdiff@0.0.26","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"08289d062eab648845c56c4662fa6adbb60fcc39","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.26.tgz","fileCount":208,"integrity":"sha512-U2V1wegRe5j9q1X0yWFNoAEUSFgBoMQVonqzoQP6xe754GGfgr6XzcFpeQlGMumFRasjuSq3dm3B1EqVSr+OlQ==","signatures":[{"sig":"MEUCIDT6e9M9yABBpJ3bvqsig0uezMeX2q9PQc8XNWTL5CwUAiEAi60iJsANoIzPuHRNiu1bcpkfn0c6+qeiUiHTItFcmhM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6938322},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"ecb503c06b4d58e235aa1ba0d6c956a6aaac8a28","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.26_1775949481532_0.4336968663359886","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"@tscircuit/rectdiff","version":"0.0.27","_id":"@tscircuit/rectdiff@0.0.27","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"08f1d85dad10eb3b3775bcf75584ab36139bb04f","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.27.tgz","fileCount":213,"integrity":"sha512-UBj8cEKclNeZr1Qxw9CrjajwttdJXOGW02dLYsyOgtctQei9Chzykn7j+xWFiOhOABG5wcXcb6ND7i8RJntgcg==","signatures":[{"sig":"MEQCIAbTyI8XgYZ+sfhbA0+hn2f5FYLrvEeImo/0a2BukYdGAiAhxqjget9Kxe/HF2VLTPNmyuquKETrUA2EnSwX+hP/HA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7517014},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"5b8ce0182e040704f7564adf009ac8e7e26cc09c","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.27_1776034797851_0.34272010798667774","host":"s3://npm-registry-packages-npm-production"}},"0.0.28":{"name":"@tscircuit/rectdiff","version":"0.0.28","_id":"@tscircuit/rectdiff@0.0.28","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"84c27d29dd41242b38d81ffd82f51c307f8b011b","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.28.tgz","fileCount":214,"integrity":"sha512-BS2Q1zK13SiqsXN04rBN3dWTyJJMaVcKN5RjJdLKURG7yTpXZq1kPeukVC0D7h69OD8PupR49KD6JFTs57QxXg==","signatures":[{"sig":"MEYCIQD81mYpK9NZ716aqOpJGYNSLu4KURuoyN76RCPFWh3UnQIhALo7we3resmZKF301D3FnK6mPRqY0+48y0jeNM5NWiFf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7514615},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"fe26a863ffb318a406a1fc6fb8bd68621d6c793e","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.28_1776036883145_0.20975206734472662","host":"s3://npm-registry-packages-npm-production"}},"0.0.29":{"name":"@tscircuit/rectdiff","version":"0.0.29","_id":"@tscircuit/rectdiff@0.0.29","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"c99960712af842425667cdbd38d6417ffb669391","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.29.tgz","fileCount":206,"integrity":"sha512-L84qytpbTD0/erm/ww3i4J89YX6kWpho61NtLEDslEJjMNbiimovFkt2ohgxZM9mdPjW71AAqHH+0hf62If1iQ==","signatures":[{"sig":"MEYCIQCg/el9/P214tXvbUIbQVw15Q+Q+mp1sv7/MHKpkG7MEwIhAOKTIvHt5fRqT8luF6DIYISspN7h3zeXxhvnIB9asD3H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6908608},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"b72f59b0f81eec79ad2a73e5b6dad78d206c51d8","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.29_1776224835290_0.6129897468366352","host":"s3://npm-registry-packages-npm-production"}},"0.0.30":{"name":"@tscircuit/rectdiff","version":"0.0.30","_id":"@tscircuit/rectdiff@0.0.30","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"58af66895b36237dc34655f001e96adec296f6da","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.30.tgz","fileCount":204,"integrity":"sha512-f796XS1SI6ca8MAIQw+8Nak9n2K4FCwpjx/9Ro35DiXbGikkxpcWhqNz29Gum/2GPIwKvyDCEt8IDgYKa6CjhA==","signatures":[{"sig":"MEUCIQCrcMNRUSAWdd5GmEDa/Xh3neDsE7a3Ebx5Y9blvj+yBAIgbD6LcWxBZCZUmZfdXVgOaG8doCstoOVTlehFVMYISdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6810602},"main":"./lib/index.ts","type":"module","types":"./lib/index.ts","module":"./lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"5961dd4ce746a372625752701ab87166ec70b115","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","rbush":"^4.0.1","flatbush":"^4.5.1","graphics-debug":"^0.0.91","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.19"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","@types/react-dom":"^18","@vitejs/plugin-react":"^4","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.30_1776271993719_0.021526374992081987","host":"s3://npm-registry-packages-npm-production"}},"0.0.31":{"name":"@tscircuit/rectdiff","version":"0.0.31","_id":"@tscircuit/rectdiff@0.0.31","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"57357bed9deb422190411336174d8288c84da82d","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.31.tgz","fileCount":206,"integrity":"sha512-gf9gqXqbSRJubXNQ0LL6FITeCwvpnRuT3oNPdiawtVHeYyzTjrhTWE7vOSNauf5aVmPvNyxo/j/J+b9pzMFqdQ==","signatures":[{"sig":"MEUCIQDZvUgz9QFXHS1lXbmQetBGBfYyeGnWnbf/xBpwh6GwzwIgfehGckZgJBnCkbZ+vs3I8dXQmIztEXyNPl+Svw/sOvs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6908608},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f8b17279762ca58d81bd0e86b798c61ae5a73d24","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.31_1776346466147_0.5400207359260889","host":"s3://npm-registry-packages-npm-production"}},"0.0.32":{"name":"@tscircuit/rectdiff","version":"0.0.32","_id":"@tscircuit/rectdiff@0.0.32","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"333276a3a00bbe49f9a029b19bf05e0f6c6ebfb9","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.32.tgz","fileCount":214,"integrity":"sha512-xYbaKDyQdowc9/8b7b8qSYRi2JVmXSA9VNvYg2TUwMRsDO5AD5RKgkEgJWMmHr+tbP36+1+WwMVzVzgkNX47Fg==","signatures":[{"sig":"MEYCIQCGbybRIns1ILb7J5UxFwA0Dkg4tQ8kSyso8bfc/p9fuQIhAJ6Y6crIlmA5h4y7Qy48GyuQT2QCA+5iI6zmKIuG5vE5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7943313},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"4de396f3c5845e1f93eee00454ffcbbd3c2017e6","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.32_1776884000933_0.8776603908553509","host":"s3://npm-registry-packages-npm-production"}},"0.0.33":{"name":"@tscircuit/rectdiff","version":"0.0.33","_id":"@tscircuit/rectdiff@0.0.33","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"a7eba6b1db356a646b1fec70503922b634cfcc8d","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.33.tgz","fileCount":215,"integrity":"sha512-YVgdTaBz3c0PqxvrHhpMlzGrPRDdpNH5DU6otmaHC+0yfwDpHfqf4a/cgD5nbRVr6Uieel3jPpZz6NqDI5ehwQ==","signatures":[{"sig":"MEQCICQ+JeFEF9tso61R+g9YazyWl4PG7lP8POUED/zJGR4dAiBLVSIn0Ohs7CjXLaoPR+eBX5RR7kWXCeWY64JUGA+pzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7945879},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"b1357761c1fcb9f3e2ff45c495f501515b3c6a7a","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.33_1776885264217_0.1152404997853056","host":"s3://npm-registry-packages-npm-production"}},"0.0.34":{"name":"@tscircuit/rectdiff","version":"0.0.34","_id":"@tscircuit/rectdiff@0.0.34","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"0daebb6f0f36fa49cfd18c643c5611f4e87e5909","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.34.tgz","fileCount":215,"integrity":"sha512-+LWTVKVibzpoccoE/LataT39dqx8h388b76BoxR8PGAuISqvGZwjkqGxGTG4HFvaTI+9XCclNpfKssQvR/WjtA==","signatures":[{"sig":"MEUCIQCf3zHDX+FqE+oRChRBeD/XSEo1Y/ewcRA3Rm9Qb3cTtQIgZAU1qHvIQScAes1fswbijwII96YcaqcUFMC/oMPEM5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7851560},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"88b7e0a4735c87961526ce0ce169053f7ad74ff5","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.34_1777145949185_0.9105494165060002","host":"s3://npm-registry-packages-npm-production"}},"0.0.35":{"name":"@tscircuit/rectdiff","version":"0.0.35","_id":"@tscircuit/rectdiff@0.0.35","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"82db69b446f2750828e7f30832eac65aaed3a4ec","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.35.tgz","fileCount":217,"integrity":"sha512-lHLxV7YZfoHUInN9W4jVhZiUcGDhJTAtp8vN0VDH8CKqCPi7GS72KfEMdgujAkRC2pjOLZ9ohhhxc0C0LQ829Q==","signatures":[{"sig":"MEUCIQDUpkWporyYXYlmyhU0N3AZgNNJNonhFmFq9RLrrkV+0QIgQ9o00472TLDIc9FgPsCqbsNB/sk6M0c/Yabm16rv+8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8089811},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"f208321b5ff5b9b7afd56b1c95fc547d2825284c","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.9","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.35_1777274971927_0.9981995941377955","host":"s3://npm-registry-packages-npm-production"}},"0.0.36":{"name":"@tscircuit/rectdiff","version":"0.0.36","_id":"@tscircuit/rectdiff@0.0.36","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"30780f591d24694ca70f3786a54f0fb90e49728e","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.36.tgz","fileCount":217,"integrity":"sha512-amqy3bZ8/IqhhzBCyyHlszJjzisHYF83K6RrpwUW3TXqNwcVA49fQT7eOnn17Z5WNUwEb6sF8CJxZ9tLDIbNkQ==","signatures":[{"sig":"MEQCIBNE/CSMpbXs9zrJif3+iL20gUvXan9a2rIvDN0ETloUAiAOMVUovtzu7qX1/ImguPguaPM5a4EXFqXREE6do8WhIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8089812},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"f65c4188cf2991406efb15ca93b49dfd2aee294d","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.76","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.36_1777275496856_0.7372757238790204","host":"s3://npm-registry-packages-npm-production"}},"0.0.37":{"name":"@tscircuit/rectdiff","version":"0.0.37","_id":"@tscircuit/rectdiff@0.0.37","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"e7a55256c3bbb5ca672b56e7c930dbc12f855237","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.37.tgz","fileCount":217,"integrity":"sha512-PAP9EHtUp2x81VJsjy9gmmJDn38OTU0JEf4HTPpmZKihD8GkKiTsIj6NRTydc2dVl40o4VhHpPCPMC2GIZuxLA==","signatures":[{"sig":"MEQCIF8bxFOv5yCuYVNh/sj8Y9tMEv4ZVTlPc3kpO6UKF1+vAiACmTHr/TYBXfWKBbZaIC9iU8dprT+D8LwDpE3qh5pK2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8089992},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"f9c0956c7e5e83c09f6127e92a25df3c358268af","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.37_1777276322563_0.6163342342767075","host":"s3://npm-registry-packages-npm-production"}},"0.0.38":{"name":"@tscircuit/rectdiff","version":"0.0.38","_id":"@tscircuit/rectdiff@0.0.38","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"02a2e45a036b16194113e1d429ea1257ba2ac1d7","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.38.tgz","fileCount":217,"integrity":"sha512-f2hRRT83Tz6zsxExjpCqQg/MVebrhUT8rIh5vf/nPb75WYkDZahsdrgERGCsAyM1SIJPckDfzrFLeocs0qTtQg==","signatures":[{"sig":"MEQCIGx/cvUpkxkFDsVnTv1j44UCediw4SZK0ZTHDkTZRwUXAiAhAtSn46VsBH/h4ergl0BYfD2pnwk3ILcuqFVTMigGOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8130461},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"4d26b7077f351d865824a2a5030c9ea9d924dc5e","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.38_1777342501499_0.44888508966552365","host":"s3://npm-registry-packages-npm-production"}},"0.0.39":{"name":"@tscircuit/rectdiff","version":"0.0.39","_id":"@tscircuit/rectdiff@0.0.39","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"4795ca9bbbde347b5911f24caed77afc98580335","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.39.tgz","fileCount":240,"integrity":"sha512-uKGneqbM15hynbqbiI6oMZRBdZfrhzFcW9Plo6CrAnB4bAj1eEXFEiuwIIlvozQxD+uDk/U68GcGajoWS7803A==","signatures":[{"sig":"MEYCIQDXCai3xKsfNI9aL4v35O/cC/bM/9zl4NhKXOYiHxxinQIhAKSdisBY0qNqM8o0Ow7Cycb5iQ0zWG0+Xcb9Nf87B8qh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8067977},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"5a4d8dacd15fe4efaf6c38f39aac91224af4b3d0","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.39_1777568036701_0.7233109342249557","host":"s3://npm-registry-packages-npm-production"}},"0.0.40":{"name":"@tscircuit/rectdiff","version":"0.0.40","_id":"@tscircuit/rectdiff@0.0.40","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"9ac512ab0173d342601d36efe6174063c49e4215","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.40.tgz","fileCount":217,"integrity":"sha512-8/6JCxpa3GMOm+Y560ij5bye3r+2T64dijHh2Ebdn9j06AaWV+irIRM0ahE0Q6pZAyXvfT5l48boP5JHv8UlPQ==","signatures":[{"sig":"MEUCIQCKtpGxzLwk7r0cezn6vXAtKv8cm/ykKnCuA4n2zq/XhwIgYw3LnuL9SUsiJNbhy/evf32cjz6i1Iq/sn8pNLL0pas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8130461},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"b7fc55a820c3f2e24964f9ebe1896503eecb121b","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.40_1777652871626_0.5483925968651724","host":"s3://npm-registry-packages-npm-production"}},"0.0.41":{"name":"@tscircuit/rectdiff","version":"0.0.41","_id":"@tscircuit/rectdiff@0.0.41","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"80a52dbdc6e03346318208ca128c644b0f522b60","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.41.tgz","fileCount":230,"integrity":"sha512-8SnVwAKvkA7lEL9jhPMKYJdtg0xE8sJj3Z/8OhwH7axouMTEH8b6+gIMG8OwCIrL/pxcpzQ7vZQEmUxczXLu5Q==","signatures":[{"sig":"MEUCIDgwiHBeOqmZbeVNqWyuw0weK26k+G3ddpV5/QncA+KhAiEAjTDSpVl75ddVUsNguRffInO9/0bEPogNRpgxN48AZKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8150828},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"4ae2259bccb375c1e5f489228a923bb0361c39cb","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.29","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.41_1777911604315_0.8283847189174018","host":"s3://npm-registry-packages-npm-production"}},"0.0.42":{"name":"@tscircuit/rectdiff","version":"0.0.42","_id":"@tscircuit/rectdiff@0.0.42","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"aff39d077fad97f9cda59d0451402616a7454392","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.42.tgz","fileCount":230,"integrity":"sha512-CiL3fkDwTBxT8n9MH9yLeedFn/Rb6AzM1FIaUOFpG6ShobmCdBhww1QR4K43abm+53FncoJnSV/3CE5oZxBtKQ==","signatures":[{"sig":"MEUCIQD5QfhSAzQ+VkipYJUqm+INAhN8XIm0JTM726sxSlK5oQIgXcMXw0iTqwTTEammCfdWQUHY2VGhs7s3jSdJRftoDaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8150828},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"0cc2139e95f372b3b901432ccd3ab8816ced4f29","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.42_1778045193958_0.5819993018982494","host":"s3://npm-registry-packages-npm-production"}},"0.0.43":{"name":"@tscircuit/rectdiff","version":"0.0.43","_id":"@tscircuit/rectdiff@0.0.43","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"242505b5787aa67262d5705fad4dec6c3f02ca67","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.43.tgz","fileCount":233,"integrity":"sha512-5535jvvOY91Jz2HdUMYIv7+4Gg1qG0rxc6jUTYKgyjHUuvfN1/nF1cMlnTYuihBrPU48YCnguRRw9OUla+sH3A==","signatures":[{"sig":"MEYCIQC7O7T72LaCo7+W1XuTdttv4I91ItPlY7F0TrWFCB/Q1QIhALvoJtVUE+jze5Dnnf01BSMN/o2E1CvxEvzQlvV6nVQu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8152809},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"ff08fa9a6bbc2d8a2c4c8073800c639032487dc1","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.43_1778054483098_0.5504415029091012","host":"s3://npm-registry-packages-npm-production"}},"0.0.44":{"name":"@tscircuit/rectdiff","version":"0.0.44","_id":"@tscircuit/rectdiff@0.0.44","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"5d164d1320f12f9f43582e3d9de9fe1ed4e74a4c","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.44.tgz","fileCount":235,"integrity":"sha512-jMhvV6EVsS0+DehUh0nYvF3vExrk5ihveVwJBZdWGqx2+RbGaS0RZQcy84ThHkqiwp6TIqkjXT/kqfTCAiXy1A==","signatures":[{"sig":"MEYCIQCehsO6HZ8ki5nSzaLuLndv/zVMjozyENQbyxfUn6CPMwIhAISBpM/DYhk4uoolHQfP3K2Cjd8lLzxm51+O/Ybo/luF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8392506},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"303e53dbbf3ee5f6ca7b0d01b94ab7e4076b5511","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.44_1778056186622_0.4083610646789164","host":"s3://npm-registry-packages-npm-production"}},"0.0.45":{"name":"@tscircuit/rectdiff","version":"0.0.45","_id":"@tscircuit/rectdiff@0.0.45","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"386aba0cc9352b0002153d199718d73c56f17f39","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.45.tgz","fileCount":236,"integrity":"sha512-2E6hmTxN8AC9+tyMTBRSpiR+wOMN50r57TmGKQvvFhdH4HSh8AFZxspRXFHMIzYYRxRPi8kUNe8drjq/Q5huaw==","signatures":[{"sig":"MEQCIFH2LHgj/bOTFAb3J9qRZ1732jRS1Lrx1brCNUSPhnKvAiBMl3KT8kyp+WGE2JOSg1HPQboRAKyJYk1B+vHCc0DhmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8392931},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"a92f23a8277edd75a767caea5702321ccff0f800","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.45_1778058949313_0.9493640825756322","host":"s3://npm-registry-packages-npm-production"}},"0.0.46":{"name":"@tscircuit/rectdiff","version":"0.0.46","_id":"@tscircuit/rectdiff@0.0.46","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"675d90545624a08734a997d82431776b5277e744","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.46.tgz","fileCount":239,"integrity":"sha512-U4R+N2tI8GsrJNhRzgm0jNMc0r51oqgW2RVpbiQgaTOTI4KcU3OBmOdBiWInQJh2H/apdywPF9bl75gTukdtFg==","signatures":[{"sig":"MEUCIQDw17TeUzEy9TMcOx7F1Y5dZISp8ubnhN8uh6xrGFAiOQIgeJwYS94j6PdHSAKBbzE5AfQ/ZN625yv11gzxCZzyQwU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13606780},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"bffe261a08352459b1fdd7930f6c63577e1aaa15","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.46_1782298215032_0.675818220898188","host":"s3://npm-registry-packages-npm-production"}},"0.0.47":{"name":"@tscircuit/rectdiff","version":"0.0.47","_id":"@tscircuit/rectdiff@0.0.47","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"a423f7d3b4055744873156fad98b5e0cbcfad9da","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.47.tgz","fileCount":239,"integrity":"sha512-TfibkdSRTURwbqhQdTO6IC2WGNsdX8x876Fg9osObDcv5OBUIry2QrN4uP5LONNcq146ocZ5ez1B6A/mZ3Xs3A==","signatures":[{"sig":"MEYCIQD8su0j5MiU1feweks9IQxwmgmUzsutvoGnQpQb6AURCQIhAKgfJmQFeqVmD+1ZqNhljTVC2+qf+IZs7Y45y+RNEMqs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12949856},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"6f3c0292956d20a9dee93945988e4807c60acdfb","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.47_1782318762900_0.6689351060004529","host":"s3://npm-registry-packages-npm-production"}},"0.0.48":{"name":"@tscircuit/rectdiff","version":"0.0.48","_id":"@tscircuit/rectdiff@0.0.48","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"d3721790c6b2e76aa0d3a95d1e3a2da5372dfb84","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.48.tgz","fileCount":240,"integrity":"sha512-WEog7MpKKC/R10WM6dBUNdPjUAYeGeVV3JRg5RO3tU15oFsmaD+ESLq/97/NRf0/81DPMxy/es/NOYGHUPypYg==","signatures":[{"sig":"MEUCIQDtTrpajc7wpMEcvBJDuxWWFihbZ7pbnGNhB0gORIVufQIgPftexaaRX7fnzToELWoxq6rHsS9exhOO2uIDfzanfzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12959545},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"b35d6923fee3e6c43473ed7c007a6378a3bba161","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.48_1784528198958_0.9795833395542681","host":"s3://npm-registry-packages-npm-production"}},"0.0.49":{"name":"@tscircuit/rectdiff","version":"0.0.49","_id":"@tscircuit/rectdiff@0.0.49","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"64e93f8f7e2a4716008fa802d8299205ed3b36ae","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.49.tgz","fileCount":243,"integrity":"sha512-MbtZm06wh5sbgwzb4Ycmfh4ssqX4ArtHcy+ha8xdaW68U0OGjveXtdZ503+1SZ7aqVBu1Tue0F2iDPrSjSFiiA==","signatures":[{"sig":"MEUCIBi8thHTOMf9U1fEkpTvtHzRPlmblQU5Av0FEL8+i0cuAiEArwEA4GyfMCOOqskbuH9YUrUt1E6cbgflUtaquK0wWHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13716686},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"4fcde727ea0887f314ca8a5ae21619d09edcb123","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.49_1786171616518_0.746059370038735","host":"s3://npm-registry-packages-npm-production"}},"0.0.50":{"name":"@tscircuit/rectdiff","version":"0.0.50","_id":"@tscircuit/rectdiff@0.0.50","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"dist":{"shasum":"1fa944e8dc43800ddd616cdf0770bcdeaf2636ef","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.50.tgz","fileCount":244,"integrity":"sha512-8XKM/qGE/+kq120AE9/9dNLfJ5dxCSwufYE0W6k9XI4z5XkociRiY9ikJmJi/u+IPty7IrwJ0wTz1byLAxEmXQ==","signatures":[{"sig":"MEUCIQDN+vs/tJCFdORavT3XdEu/442RFfWbkuX1orzKq/gudwIgZJs8L/ttfaxqazhXq369GYShx1c0DbknuYZQ8nGeNeQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13716657},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"d2de99de3fd135216ab0f177cf9058e1f3081d94","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"seveibar","email":"seveibar@gmail.com"},"_npmVersion":"10.8.2","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.50_1787154343148_0.26763705332469656","host":"s3://npm-registry-packages-npm-production"}},"0.0.51":{"name":"@tscircuit/rectdiff","version":"0.0.51","_id":"@tscircuit/rectdiff@0.0.51","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"homepage":"https://github.com/tscircuit/rectdiff#readme","bugs":{"url":"https://github.com/tscircuit/rectdiff/issues"},"dist":{"shasum":"03f7d1e5e4ab4eb273b3959e8a93b3875274308b","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.51.tgz","fileCount":244,"integrity":"sha512-KeQPsPjoUbLuLteUsqg7GrtcozbmfsjQnRyzAN/vhfDrPbZAXfsT6dLCYWsp1TDrY5xYjPBtCPABkuX7Wzi4Bw==","signatures":[{"sig":"MEQCIDUWsyoqObBRJlouGeRhVvgWfHAWJmwQ42pPLM5DzA4xAiAu+XftgtM35cfSTIEwJ2Z9BzzWZoIyzAVULm3zYODNOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tscircuit%2frectdiff@0.0.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13716737},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"0cbe8862fb8316d6e50e18060d7a38775f08907b","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2bfd9bb3-2da3-4163-b6bd-d05fb436c045"}},"repository":{"url":"git+https://github.com/tscircuit/rectdiff.git","type":"git"},"_npmVersion":"11.17.0","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.51_1787187657215_0.15097865985436743","host":"s3://npm-registry-packages-npm-production"}},"0.0.52":{"name":"@tscircuit/rectdiff","version":"0.0.52","_id":"@tscircuit/rectdiff@0.0.52","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"homepage":"https://github.com/tscircuit/rectdiff#readme","bugs":{"url":"https://github.com/tscircuit/rectdiff/issues"},"dist":{"shasum":"66fac2db51a45e101de0bbbc2121ed9be4eb139a","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.52.tgz","fileCount":252,"integrity":"sha512-/N3ZPJy6tmOFp25adNSoQBPczd58F4UqBpU4MdDez/lIYDbcX5+wJUnJFGUe+3MbrzjFnv2eAUFVbSRaRBMg+Q==","signatures":[{"sig":"MEQCIFC6sj23ju9I07klG1EkdqaN4BN5Zh5LrGQDIieD8Y/2AiBAbzsNTz1rY5L4XMWYo5/3dtcQ9CcneIwFbtebCWLpGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCord3C5SwSAdo07joNseyE9qmGg9FEpLExqvG7WxZr+gIhANZLSUwchCAY4VkJIo84PN1PpmJLRTdSfK4zbR+ylwGC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tscircuit%2frectdiff@0.0.52","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13698430},"main":"lib/index.ts","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"0cd56ff407a26ed9cddc80291970286d1f6e9ee1","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2bfd9bb3-2da3-4163-b6bd-d05fb436c045"}},"repository":{"url":"git+https://github.com/tscircuit/rectdiff.git","type":"git"},"_npmVersion":"11.19.0","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/rectdiff_0.0.52_1790325916334_0.21958114425254305","host":"s3://npm-registry-packages-npm-production"}},"0.0.53":{"_id":"@tscircuit/rectdiff@0.0.53","bugs":{"url":"https://github.com/tscircuit/rectdiff/issues"},"dist":{"shasum":"14f6fab7cf0eaa3f3cc53b5883e47e09db1e6c72","tarball":"https://registry.npmjs.org/@tscircuit/rectdiff/-/rectdiff-0.0.53.tgz","fileCount":260,"integrity":"sha512-XDSNy8RB0qQNdBIgQPqWBxvUoAA36bak7wF/c8VU3s6lO9VceqSKZbh+ZDaKjZmEBY9mvVxTdlePjjeHtLOcdA==","signatures":[{"sig":"MEUCIGeCQNZsQUlLziviA1dEcCy0EENNMMj8PKynJkZFiTMwAiEAraSYWGhBELhN/2DfFoD67bXQlc7/j88+RHnVfowtzsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD5l+dNnNBqOC0FqzE3y67ho4dhJiYUkMNPXlCLsfUV+wIgDwKjj5A9O+SmQ/Xq1q4b7H6bXq3/rAOBhscuXbOrXWU="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tscircuit%2frectdiff@0.0.53","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13738603},"main":"lib/index.ts","name":"@tscircuit/rectdiff","type":"module","types":"lib/index.ts","exports":{".":"./lib/index.ts"},"gitHead":"631ac737532d582249d9d5bd80d3dedc88fc07d8","scripts":{"build":"tsup-node ./lib/index.ts --format esm --dts","start":"cosmos","format":"biome format --write .","build:site":"cosmos-export","format:check":"biome format .","benchmark:slow-problem":"bun scripts/benchmark-slow-problem.ts test-assets/keyboard4.json"},"version":"0.0.53","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2bfd9bb3-2da3-4163-b6bd-d05fb436c045"}},"homepage":"https://github.com/tscircuit/rectdiff#readme","repository":{"url":"git+https://github.com/tscircuit/rectdiff.git","type":"git"},"_npmVersion":"11.19.0","description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","directories":{},"maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"D":"^1.0.0","flatbush":"^4.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^6.0.11","biome":"^0.3.3","rbush":"^4.0.1","react":"18","three":"^0.181.1","react-dom":"18","@types/bun":"latest","@types/rbush":"^4.0.0","@types/react":"^18","@types/three":"^0.181.0","react-cosmos":"^6.2.3","bun-match-svg":"^0.0.14","@biomejs/biome":"^2.3.5","graphics-debug":"^0.0.94","@types/react-dom":"^18","@vitejs/plugin-react":"^4","@tscircuit/math-utils":"^0.0.36","@tscircuit/solver-utils":"^0.0.16","react-cosmos-plugin-vite":"^6.2.0","@react-hook/resize-observer":"^2.0.2","@tscircuit/capacity-autorouter":"https://npm-releases.tscircuit.com/npm-tarballs/25314012755-1/tscircuit-capacity-autorouter-0.0.489.tgz","@tscircuit/autorouting-dataset-01":"^1.0.32"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rectdiff_0.0.53_1790336403957_0.6879547620228375"}}},"time":{"created":"2025-11-17T05:19:26.892Z","modified":"2026-09-25T11:40:04.432Z","0.0.1":"2025-11-17T05:19:27.179Z","0.0.2":"2025-11-22T17:54:16.152Z","0.0.3":"2025-11-25T17:02:46.430Z","0.0.4":"2025-11-29T02:22:15.829Z","0.0.5":"2025-11-29T03:47:05.457Z","0.0.6":"2025-12-05T17:07:52.483Z","0.0.7":"2025-12-08T17:24:59.457Z","0.0.8":"2025-12-15T15:46:04.879Z","0.0.9":"2025-12-18T17:16:20.434Z","0.0.10":"2025-12-19T09:16:30.131Z","0.0.11":"2025-12-20T23:25:02.966Z","0.0.12":"2025-12-22T22:54:09.863Z","0.0.13":"2025-12-23T01:13:12.908Z","0.0.14":"2025-12-24T18:51:35.783Z","0.0.15":"2025-12-25T06:34:55.479Z","0.0.16":"2025-12-25T17:04:10.831Z","0.0.17":"2025-12-25T21:05:24.086Z","0.0.18":"2025-12-26T13:17:22.182Z","0.0.19":"2025-12-26T17:29:24.516Z","0.0.20":"2025-12-26T19:34:55.358Z","0.0.21":"2026-01-05T18:38:22.818Z","0.0.22":"2026-01-13T00:43:14.479Z","0.0.23":"2026-01-19T05:20:42.322Z","0.0.24":"2026-01-19T15:32:23.777Z","0.0.25":"2026-03-30T05:37:31.723Z","0.0.26":"2026-04-11T23:18:01.756Z","0.0.27":"2026-04-12T22:59:58.030Z","0.0.28":"2026-04-12T23:34:43.326Z","0.0.29":"2026-04-15T03:47:15.485Z","0.0.30":"2026-04-15T16:53:13.934Z","0.0.31":"2026-04-16T13:34:26.341Z","0.0.32":"2026-04-22T18:53:21.138Z","0.0.33":"2026-04-22T19:14:24.397Z","0.0.34":"2026-04-25T19:39:09.360Z","0.0.35":"2026-04-27T07:29:32.119Z","0.0.36":"2026-04-27T07:38:17.029Z","0.0.37":"2026-04-27T07:52:02.746Z","0.0.38":"2026-04-28T02:15:01.750Z","0.0.39":"2026-04-30T16:53:56.922Z","0.0.40":"2026-05-01T16:27:51.812Z","0.0.41":"2026-05-04T16:20:04.549Z","0.0.42":"2026-05-06T05:26:34.170Z","0.0.43":"2026-05-06T08:01:23.282Z","0.0.44":"2026-05-06T08:29:46.791Z","0.0.45":"2026-05-06T09:15:49.486Z","0.0.46":"2026-06-24T10:50:15.170Z","0.0.47":"2026-06-24T16:32:43.104Z","0.0.48":"2026-07-20T06:16:39.126Z","0.0.49":"2026-08-08T06:46:56.703Z","0.0.50":"2026-08-19T15:45:43.359Z","0.0.51":"2026-08-20T01:00:57.401Z","0.0.52":"2026-09-25T08:45:16.441Z","0.0.53":"2026-09-25T11:40:04.079Z"},"bugs":{"url":"https://github.com/tscircuit/rectdiff/issues"},"homepage":"https://github.com/tscircuit/rectdiff#readme","repository":{"url":"git+https://github.com/tscircuit/rectdiff.git","type":"git"},"description":"This is a 3D rectangle diffing algorithm made to quickly break apart a circuit board into capacity nodes for the purpose of global routing.","maintainers":[{"name":"seveibar","email":"seveibar@gmail.com"}],"readme":"# @tscircuit/rectdiff\n\nThis is a 3D rectangle diffing algorithm made to quickly break apart a circuit board\ninto capacity nodes for the purpose of global routing.\n\n[Online Demo](https://rectdiff.tscircuit.com/?fixture=%7B%22path%22%3A%22pages%2Fexample01.page.tsx%22%7D)\n\n## Usage\n\n### Basic Usage\n\n```typescript\nimport { RectDiffSolver } from \"@tscircuit/rectdiff\"\nimport type { SimpleRouteJson } from \"@tscircuit/rectdiff\"\n\n// Define your circuit board layout\nconst simpleRouteJson: SimpleRouteJson = {\n  bounds: {\n    minX: 0,\n    maxX: 10,\n    minY: 0,\n    maxY: 10,\n  },\n  obstacles: [\n    {\n      type: \"rect\",\n      layers: [\"top\"],\n      center: { x: 2.5, y: 2.5 },\n      width: 2,\n      height: 2,\n      connectedTo: [],\n    },\n  ],\n  connections: [],\n  layerCount: 2,\n  minTraceWidth: 0.15,\n}\n\n// Create and run the solver\nconst solver = new RectDiffSolver({\n  simpleRouteJson,\n  mode: \"grid\",\n})\n\nsolver.solve()\n\n// Get the capacity mesh nodes\nconst output = solver.getOutput()\nconsole.log(`Generated ${output.meshNodes.length} capacity mesh nodes`)\n\n// Each mesh node contains:\n// - center: { x, y } - center point of the node\n// - width, height - dimensions\n// - availableZ - array of available z-layers (e.g., [0, 1, 2])\n```\n\n### Advanced Configuration with Grid Options\n\n```typescript\nconst solver = new RectDiffSolver({\n  simpleRouteJson,\n  mode: \"grid\",\n  gridOptions: {\n    minSingle: { width: 0.4, height: 0.4 },\n    minMulti: { width: 1.0, height: 1.0, minLayers: 2 },\n    preferMultiLayer: true,\n  },\n})\n\nsolver.solve()\n```\n\n### Incremental Solving with Visualization\n\nThe solver supports incremental solving for visualization and progress tracking:\n\n```typescript\nconst solver = new RectDiffSolver({ simpleRouteJson })\n\nsolver.setup()\n\n// Step through the algorithm incrementally\nwhile (!solver.solved) {\n  solver.step()\n\n  // Get current progress\n  const progress = solver.computeProgress()\n  console.log(`Progress: ${(progress * 100).toFixed(1)}%`)\n\n  // Visualize current state\n  const graphicsObject = solver.visualize()\n  // Use graphicsObject with graphics-debug package\n}\n\nconst output = solver.getOutput()\n```\n\n### Working with Results\n\n```typescript\nconst output = solver.getOutput()\n\n// Iterate through mesh nodes\nfor (const node of output.meshNodes) {\n  console.log(`Node at (${node.center.x}, ${node.center.y})`)\n  console.log(`  Size: ${node.width} x ${node.height}`)\n  console.log(`  Available layers: ${node.availableZ?.join(\", \") || \"none\"}`)\n\n  // Use node for routing decisions\n  if (node.availableZ && node.availableZ.length >= 2) {\n    console.log(\"  This node spans multiple layers!\")\n  }\n}\n```\n\n### API Reference\n\n#### Constructor Options\n\n- `simpleRouteJson` (required): The circuit board layout definition\n\n  - `bounds`: Board boundaries (minX, maxX, minY, maxY)\n  - `obstacles`: Array of rectangular obstacles on the board\n  - `connections`: Connection requirements between points\n  - `layerCount`: Number of layers in the board\n  - `minTraceWidth`: Minimum trace width for routing\n\n- `mode`: \"grid\" | \"exact\" (default: \"grid\")\n\n  - Currently only \"grid\" mode is implemented\n\n- `gridOptions`: Fine-tune the grid-based expansion algorithm\n  - `minSingle`: Minimum dimensions for single-layer nodes\n  - `minMulti`: Minimum dimensions and layer count for multi-layer nodes\n  - `preferMultiLayer`: Whether to prefer multi-layer spanning nodes\n\n#### Methods\n\n- `setup()`: Initialize the solver\n- `step()`: Execute one iteration step\n- `solve()`: Run solver to completion\n- `computeProgress()`: Get current progress (0.0 to 1.0)\n- `getOutput()`: Get the capacity mesh nodes result\n- `visualize()`: Get GraphicsObject for visualization with graphics-debug\n","readmeFilename":"README.md"}