neato parity dashboard
Differential survey of graphviz-ts neato xdot output vs the native dot -K neato -Txdot oracle over the dot-track SVG-conformant corpus set (semantic draw-op comparison at ±0.01 — see test/golden/compare-xdot.ts; per docs/conformance.md, not byte equality). Regenerate: npx tsx test/corpus/engine-walk.ts neato && npx tsx test/corpus/parity-report.ts.
Summary
- Surveyed: 761 (generated 2026-07-14T22:25:17.634Z)
- pass: 409 (53.7%) · diverged (tracked): 37 · accepted (documented, won't-fix): 0 · accepted (A1-drift class): 308
- oracle-error: 7 · port-error: 0 · timeout: 0
Accepted deltas (0) — documented, not chased
Deliberate, root-caused differences we have chosen not to make conformant. Source of truth: test/corpus/accepted-divergences-engines.json; rationale in Known divergences. Excluded from the diverged table below.
(none in this corpus)
Accepted class: A1-drift — computed, not enumerated
Membership is computed at report time from the injection-attribution harness output (D2) — every diverged id whose native pre-routing position exonerates it (verdict: drift-exonerated) is subtracted from the Diverged table below and counted in Summary; an id that starts passing outright leaves the class silently on the next report regen.
- A1-drift: 309 members — full per-id evidence in
attribution-neato.json. Rationale: Known divergences.
Diverged (37)
| id | size | #diffs | firstDiff |
|---|---|---|---|
2239 | 48090 | 3838 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 1676.96 vs 1702.77 |
windows-pgram | 11001 | 3174 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 542.16 vs 522 |
share-pgram | 10942 | 3162 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 542.16 vs 522 |
linux.x86-rankdir_dot2 | 12815 | 1919 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 892.96 vs 998.83 |
nshare-rankdir_dot2 | 12795 | 1919 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 892.96 vs 998.71 |
linux.x86-rankdir_dot | 12792 | 1918 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 892.96 vs 998.69 |
nshare-rankdir_dot | 12803 | 1918 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 892.96 vs 998.71 |
nshare-rankdir_dot1 | 12675 | 1918 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 892.96 vs 830.43 |
linux.i386-crazy | 10433 | 1915 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 977.46 vs 842.92 |
linux.x86-rankdir_dot1 | 12673 | 1915 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 892.96 vs 829.92 |
windows-crazy | 10433 | 1907 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 977.46 vs 838.23 |
share-crazy | 10433 | 1902 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 977.46 vs 838.05 |
windows-unix2 | 7421 | 1607 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 563.43 vs 708.98 |
windows-unix2k | 7421 | 1607 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 563.43 vs 708.98 |
share-unix2 | 7421 | 1606 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 563.43 vs 700.5 |
share-unix2k | 7421 | 1606 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 563.43 vs 700.5 |
linux.x86-weight_dot | 9278 | 1605 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 834.83 vs 651.75 |
nshare-weight_dot | 9391 | 1605 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 834.83 vs 651.97 |
linux.x86-dotsplines_dot | 8741 | 1604 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 834.83 vs 708.27 |
linux.x86-dotsplines_dot1 | 9206 | 1604 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 834.83 vs 708.27 |
nshare-dotsplines_dot | 8836 | 1602 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 834.83 vs 709.14 |
nshare-dotsplines_dot1 | 9332 | 1602 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 834.83 vs 709.14 |
windows-unix | 6603 | 1424 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 676.93 vs 528.79 |
share-unix | 6603 | 1422 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 676.93 vs 528.32 |
2193 | 6399 | 1085 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 1683.89 vs 1682.42 |
2470 | 734358 | 682 | edge:n100->n99#0 _ldraw_ edge:n100->n99#0/_ldraw_/op[2].text[0]: 6930.71 vs 6852.93 |
windows-nhg | 926 | 196 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 118.37 vs 120.18 |
share-nhg | 938 | 194 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 118.37 vs 120.18 |
graphs-pgram | 2614 | 54 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[3]: 577.54 vs 597.54 |
graphs-b94 | 10503 | 40 | edge:h212_202_184_169->h130_75_118_14_p1433#0 _draw_ edge:h212_202_184_169->h130_75_118_14_p1433#0/_draw_/op[1].unfilled_bezier[0]: 579.45 vs 453.45 |
1990 | 610 | 17 | edge:0⋯7 ❰A❱->0⋯1 'a'#0 _draw_ edge:0⋯7 ❰A❱->0⋯1 'a'#0/_draw_/op[1].unfilled_bezier[ptCount]: 14 vs 8 |
241_0 | 578 | 13 | edge:1->6#0 _draw_ edge:1->6#0/_draw_/op[1].unfilled_bezier[ptCount]: 14 vs 8 |
2801 | 651 | 8 | edge:a->b#0 _hldraw_ edge:a->b#0/_hldraw_/op[2].text[0]: 330.01 vs 356.44 |
graphs-b | 338 | 7 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[4]: 188.58 vs 199.58 |
graphs-b117 | 338 | 7 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[4]: 188.58 vs 199.58 |
graphs-nhg | 339 | 7 | [graph] _draw_ [graph]/_draw_/op[2].filled_polygon[4]: 188.58 vs 199.58 |
2476 | 3653 | 2 | edge:s_EnergeticFinch.s_MotionlessCobra->s_EnergeticFinch.s_EmbarrassedMeerkat#0 _ldraw_ edge:s_EnergeticFinch.s_MotionlessCobra->s_EnergeticFinch.s_EmbarrassedMeerkat#0/_ldraw_/op[2].text[1]: 648.25 vs 664.99 |
Errors and timeouts (7)
| id | status | message |
|---|---|---|
1879 | oracle-error | Command failed: /Users/scottseely/git/graphviz/build/cmd/dot/dot -K neato -Txdot /Users/scottseely/git/graphviz/tests/1879.dot |
2108 | oracle-error | spawnSync /Users/scottseely/git/graphviz/build/cmd/dot/dot ETIMEDOUT |
2222 | oracle-error | spawnSync /Users/scottseely/git/graphviz/build/cmd/dot/dot ETIMEDOUT |
2516 | oracle-error | Command failed: /Users/scottseely/git/graphviz/build/cmd/dot/dot -K neato -Txdot /Users/scottseely/git/graphviz/tests/2516.dot |
2619 | oracle-error | Command failed: /Users/scottseely/git/graphviz/build/cmd/dot/dot -K neato -Txdot /Users/scottseely/git/graphviz/tests/2619.dot |
2619_1 | oracle-error | Command failed: /Users/scottseely/git/graphviz/build/cmd/dot/dot -K neato -Txdot /Users/scottseely/git/graphviz/tests/2619_1.dot |
2619_2 | oracle-error | Command failed: /Users/scottseely/git/graphviz/build/cmd/dot/dot -K neato -Txdot /Users/scottseely/git/graphviz/tests/2619_2.dot |
oracle errors: 7 native-crash (documented, excluded) / 0 timeout-flake (excluded this run, note to retry) Passing ids (409) are omitted for brevity — the full roster is in parity-neato.json.