@tscircuit/rectdiff 0.0.27 → 0.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/.github/workflows/bun-pver-release.yml +24 -45
  2. package/dist/index.d.ts +0 -46
  3. package/dist/index.js +220 -774
  4. package/lib/RectDiffPipeline.ts +0 -46
  5. package/lib/types/srj-types.ts +0 -1
  6. package/package.json +1 -2
  7. package/pages/repro/merge-single-layer-node.page.tsx +17 -0
  8. package/tests/__snapshots__/board-outline.snap.svg +2 -2
  9. package/tests/solver/__snapshots__/rectDiffGridSolverPipeline.snap.svg +1 -1
  10. package/tests/solver/both-points-equivalent/__snapshots__/both-points-equivalent.snap.svg +1 -1
  11. package/tests/solver/bugreport01-be84eb/__snapshots__/bugreport01-be84eb.snap.svg +1 -1
  12. package/tests/solver/bugreport02-bc4361/__snapshots__/bugreport02-bc4361.snap.svg +1 -1
  13. package/tests/solver/bugreport03-fe4a17/__snapshots__/bugreport03-fe4a17.snap.svg +1 -1
  14. package/tests/solver/bugreport07-d3f3be/__snapshots__/bugreport07-d3f3be.snap.svg +1 -1
  15. package/tests/solver/bugreport08-e3ec95/__snapshots__/bugreport08-e3ec95.snap.svg +1 -1
  16. package/tests/solver/bugreport09-618e09/__snapshots__/bugreport09-618e09.snap.svg +1 -1
  17. package/tests/solver/bugreport10-71239a/__snapshots__/bugreport10-71239a.snap.svg +1 -1
  18. package/tests/solver/bugreport11-b2de3c/__snapshots__/bugreport11-b2de3c.snap.svg +1 -1
  19. package/tests/solver/bugreport12-35ce1c/__snapshots__/bugreport12-35ce1c.snap.svg +1 -1
  20. package/tests/solver/bugreport13-b9a758/__snapshots__/bugreport13-b9a758.snap.svg +1 -1
  21. package/tests/solver/bugreport16-d95f38/__snapshots__/bugreport16-d95f38.snap.svg +1 -1
  22. package/tests/solver/bugreport19/__snapshots__/bugreport19.snap.svg +1 -1
  23. package/tests/solver/bugreport20-obstacle-clipping/__snapshots__/bugreport20-obstacle-clipping.snap.svg +1 -1
  24. package/tests/solver/bugreport21-board-outline/__snapshots__/bugreport21-board-outline.snap.svg +2 -2
  25. package/tests/solver/bugreport22-2a75ce/__snapshots__/bugreport22-2a75ce.snap.svg +1 -1
  26. package/tests/solver/bugreport23-LGA15x4/__snapshots__/bugreport23-LGA15x4.snap.svg +1 -1
  27. package/tests/solver/bugreport24-05597c/__snapshots__/bugreport24-05597c.snap.svg +1 -1
  28. package/tests/solver/bugreport25-4b1d55/__snapshots__/bugreport25-4b1d55.snap.svg +1 -1
  29. package/tests/solver/bugreport36-bf8303/__snapshots__/bugreport36-bf8303.snap.svg +1 -1
  30. package/tests/solver/interaction/__snapshots__/interaction.snap.svg +1 -1
  31. package/tests/solver/multi-point/__snapshots__/multi-point.snap.svg +1 -1
  32. package/tests/solver/no-better-path/__snapshots__/no-better-path.snap.svg +1 -1
  33. package/tests/solver/repros/merge-single-layer-node/merge-single-layer-node.json +861 -0
  34. package/tests/solver/{bugreport50-multi-support-layer-merge/bugreport50-multi-support-layer-merge.test.ts → repros/merge-single-layer-node/merge-single-layer-node.test.ts} +7 -42
  35. package/tests/solver/transitivity/__snapshots__/transitivity.snap.svg +2 -2
  36. package/tsconfig.json +5 -1
  37. package/vite.config.ts +4 -0
  38. package/lib/solvers/AdjacentLayerContainmentMergeSolver/AdjacentLayerContainmentMergeSolver.ts +0 -456
  39. package/lib/solvers/OuterLayerContainmentMergeSolver/OuterLayerContainmentMergeSolver.ts +0 -311
  40. package/pages/bugreports/bugreport50-multi-support-layer-merge.page.tsx +0 -19
  41. package/pages/pour.page.tsx +0 -18
  42. package/test-assets/bugreport49-634662.json +0 -412
  43. package/tests/solver/bugreport49-634662/__snapshots__/bugreport49-634662.snap.svg +0 -44
  44. package/tests/solver/bugreport49-634662/bugreport49-634662.test.ts +0 -134
  45. package/tests/solver/bugreport50-multi-support-layer-merge/__snapshots__/bugreport50-multi-support-layer-merge.snap.svg +0 -44
  46. package/tests/solver/bugreport50-multi-support-layer-merge/bugreport50-multi-support-layer-merge.json +0 -972
@@ -1,4 +1,4 @@
1
- <svg width="640" height="1688" viewBox="0 0 640 1688" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-5,-5 5,-5 5,5 -5,5 -5,-5" data-type="line" data-label="bounds" points="40,761.96 600,761.96 600,201.96000000000004 40,201.96000000000004 40,761.96" fill="none" stroke="#111827" stroke-width="5.6000000000000005"/></g><g><polyline data-points="-5,-19.65 5,-19.65 5,-9.649999999999999 -5,-9.649999999999999 -5,-19.65" data-type="line" data-label="bounds" points="40,1582.36 600,1582.36 600,1022.3599999999999 40,1022.3599999999999 40,1582.36" fill="none" stroke="#111827" stroke-width="5.6000000000000005"/></g><g><rect data-type="rect" data-label="node" data-x="0" data-y="1.34" x="251.68" y="201.96000000000004" width="136.64" height="409.9200000000001" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.1100000000000003" data-y="-2.66" x="40" y="499.88000000000005" width="211.67999999999998" height="262.08" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.1100000000000003" data-y="2.66" x="40" y="201.96000000000004" width="211.67999999999998" height="262.08" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.11" data-y="-2.66" x="388.32" y="499.88000000000005" width="211.68" height="262.08" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.11" data-y="2.66" x="388.32" y="201.96000000000004" width="211.68" height="262.08" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="0" data-y="-3.66" x="251.68" y="611.8800000000001" width="136.64" height="150.07999999999993" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.89" data-y="0" x="40" y="464.04" width="124.32" height="35.84000000000003" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.8899999999999997" data-y="0" x="475.67999999999995" y="464.04" width="124.32000000000005" height="35.84000000000003" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-1.9999999999999998" data-y="0" x="194.56" y="464.04" width="26.879999999999995" height="35.84000000000003" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2" data-y="0" x="418.56" y="464.04" width="26.879999999999995" height="35.84000000000003" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.51" data-y="0" x="164.32000000000002" y="464.04" width="30.23999999999998" height="35.84000000000003" fill="red" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-1.49" data-y="0" x="221.44" y="464.04" width="30.24000000000001" height="35.84000000000003" fill="red" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="1.49" data-y="0" x="388.32" y="464.04" width="30.24000000000001" height="35.84000000000003" fill="red" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.51" data-y="0" x="445.44" y="464.04" width="30.239999999999952" height="35.84000000000003" fill="red" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="0" data-y="-13.309999999999999" x="251.68" y="1022.3599999999999" width="136.64" height="409.9200000000001" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.1100000000000003" data-y="-17.31" x="40" y="1320.28" width="211.67999999999998" height="262.0799999999999" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.1100000000000003" data-y="-11.989999999999998" x="40" y="1022.3599999999999" width="211.67999999999998" height="262.08000000000015" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.11" data-y="-17.31" x="388.32" y="1320.28" width="211.68" height="262.0799999999999" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.11" data-y="-11.989999999999998" x="388.32" y="1022.3599999999999" width="211.68" height="262.08000000000015" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="0" data-y="-18.31" x="251.68" y="1432.28" width="136.64" height="150.07999999999993" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.89" data-y="-14.649999999999999" x="40" y="1284.44" width="124.32" height="35.83999999999992" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.8899999999999997" data-y="-14.649999999999999" x="475.67999999999995" y="1284.44" width="124.32000000000005" height="35.83999999999992" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-1.9999999999999998" data-y="-14.649999999999999" x="194.56" y="1284.44" width="26.879999999999995" height="35.83999999999992" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2" data-y="-14.649999999999999" x="418.56" y="1284.44" width="26.879999999999995" height="35.83999999999992" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.51" data-y="-14.649999999999999" x="164.32000000000002" y="1284.44" width="30.23999999999998" height="35.83999999999992" fill="#fef3c7" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-1.4899999999999998" data-y="-14.649999999999999" x="221.44" y="1284.44" width="30.24000000000001" height="35.83999999999992" fill="#fef3c7" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="1.49" data-y="-14.649999999999999" x="388.32" y="1284.44" width="30.24000000000001" height="35.83999999999992" fill="#fef3c7" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.5100000000000002" data-y="-14.649999999999999" x="445.44" y="1284.44" width="30.24000000000001" height="35.83999999999992" fill="#fef3c7" stroke="black" stroke-width="0.017857142857142856"/></g><text data-type="text" data-label="Layer z=0" data-x="0" data-y="6.22" x="320" y="133.64000000000004" fill="black" font-size="28" font-family="sans-serif" text-anchor="end" dominant-baseline="text-before-edge">Layer z=0</text><text data-type="text" data-label="Layer z=1" data-x="0" data-y="-8.43" x="320" y="954.04" fill="black" font-size="28" font-family="sans-serif" text-anchor="end" dominant-baseline="text-before-edge">Layer z=1</text><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="1688" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
1
+ <svg width="640" height="1688" viewBox="0 0 640 1688" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-5,-5 5,-5 5,5 -5,5 -5,-5" data-type="line" data-label="bounds" points="40,761.96 600,761.96 600,201.96000000000004 40,201.96000000000004 40,761.96" fill="none" stroke="#111827" stroke-width="5.6000000000000005"/></g><g><polyline data-points="-5,-19.65 5,-19.65 5,-9.649999999999999 -5,-9.649999999999999 -5,-19.65" data-type="line" data-label="bounds" points="40,1582.36 600,1582.36 600,1022.3599999999999 40,1022.3599999999999 40,1582.36" fill="none" stroke="#111827" stroke-width="5.6000000000000005"/></g><g><rect data-type="rect" data-label="node" data-x="0" data-y="1.3399999999999999" x="251.68" y="201.96000000000004" width="136.64" height="409.9200000000001" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.11" data-y="-2.66" x="40" y="499.88000000000005" width="211.68" height="262.08" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.11" data-y="2.66" x="40" y="201.96000000000004" width="211.68" height="262.08" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.11" data-y="-2.66" x="388.32" y="499.88000000000005" width="211.68" height="262.08" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.11" data-y="2.66" x="388.32" y="201.96000000000004" width="211.68" height="262.08" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="0" data-y="-3.66" x="251.68" y="611.8800000000001" width="136.64" height="150.07999999999993" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.8899999999999997" data-y="-1.1102230246251565e-16" x="40" y="464.04" width="124.32000000000005" height="35.84000000000003" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.8899999999999997" data-y="-1.1102230246251565e-16" x="475.67999999999995" y="464.04" width="124.32000000000005" height="35.84000000000003" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2" data-y="-1.1102230246251565e-16" x="194.56" y="464.04" width="26.879999999999995" height="35.84000000000003" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2" data-y="-1.1102230246251565e-16" x="418.56" y="464.04" width="26.879999999999995" height="35.84000000000003" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.51" data-y="0" x="164.32000000000002" y="464.04" width="30.23999999999998" height="35.84000000000003" fill="red" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-1.49" data-y="0" x="221.44" y="464.04" width="30.24000000000001" height="35.84000000000003" fill="red" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="1.49" data-y="0" x="388.32" y="464.04" width="30.24000000000001" height="35.84000000000003" fill="red" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.51" data-y="0" x="445.44" y="464.04" width="30.239999999999952" height="35.84000000000003" fill="red" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="0" data-y="-13.309999999999999" x="251.68" y="1022.3599999999999" width="136.64" height="409.9200000000001" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.11" data-y="-17.31" x="40" y="1320.28" width="211.68" height="262.0799999999999" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.11" data-y="-11.989999999999998" x="40" y="1022.3599999999999" width="211.68" height="262.08000000000015" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.11" data-y="-17.31" x="388.32" y="1320.28" width="211.68" height="262.0799999999999" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.11" data-y="-11.989999999999998" x="388.32" y="1022.3599999999999" width="211.68" height="262.08000000000015" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="0" data-y="-18.31" x="251.68" y="1432.28" width="136.64" height="150.07999999999993" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-3.8899999999999997" data-y="-14.649999999999999" x="40" y="1284.44" width="124.32000000000005" height="35.83999999999992" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="3.8899999999999997" data-y="-14.649999999999999" x="475.67999999999995" y="1284.44" width="124.32000000000005" height="35.83999999999992" fill="#dbeafe" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2" data-y="-14.649999999999999" x="164.32" y="1284.44" width="87.36000000000001" height="35.83999999999992" fill="#fef3c7" stroke="black" stroke-width="0.017857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2" data-y="-14.649999999999999" x="388.32" y="1284.44" width="87.36000000000001" height="35.83999999999992" fill="#fef3c7" stroke="black" stroke-width="0.017857142857142856"/></g><text data-type="text" data-label="Layer z=0" data-x="0" data-y="6.22" x="320" y="133.64000000000004" fill="black" font-size="28" font-family="sans-serif" text-anchor="end" dominant-baseline="text-before-edge">Layer z=0</text><text data-type="text" data-label="Layer z=1" data-x="0" data-y="-8.43" x="320" y="954.04" fill="black" font-size="28" font-family="sans-serif" text-anchor="end" dominant-baseline="text-before-edge">Layer z=1</text><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="1688" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
2
2
  document.currentScript.parentElement.addEventListener('mousemove', (e) => {
3
3
  const svg = e.currentTarget;
4
4
  const rect = svg.getBoundingClientRect();