imagemap parity dashboard
Differential survey of graphviz-ts render(g, 'cmapx') / render(g, 'imap') vs the native dot -Tcmapx / dot -Timap oracle over the dot-track SVG-conformant corpus set, sorted by input size. BOTH formats are rendered and compared for every id; the overall verdict is the worse of the two (see test/golden/compare-map.ts: shape/href/title/alt/target compared EXACTLY, coords compared exact-after-round — both sides are already %.0f/Math.round-integer text, see the comparator header). Regenerate: npx tsx test/corpus/map-walk.ts --survey && npx tsx test/corpus/map-dashboard.ts.
Summary
- Oracle: dot 15.1.0 · corpus:
~/git/graphviz/tests - Walked (conformant SVG set): 761
- map-conformant (overall, worst-of-both-formats): 755 (99.2%)
- cmapx-conformant: 755 (99.2%) · imap-conformant: 755 (99.2%)
- diverged (tracked, will-fix, either format): 0 · accepted (documented, won't-fix): 0
- port-error: 0 · timeout: 4 · oracle-error: 2 (excluded from scoring)
- href-bearing ids in the surveyed set: 34 — the substantive coverage (ids whose ORACLE output actually emits ≥1 real href, not an empty or tooltip-only map); see the dedicated table below.
href-bearing ids (34) — the substantive coverage
Every id in the surveyed (conformant-SVG) set whose oracle cmapx/imap output contains a real href — i.e. actually exercises anchor emission, not just an empty/tooltip-only map. Verdict spelled out per format so a reader does not have to cross-reference map-parity.json.
| id | path | cmapx | imap | overall |
|---|---|---|---|---|
1425_1 | 1425_1.dot | conformant | conformant | conformant |
1447 | 1447.dot | conformant | conformant | conformant |
1447_1 | 1447_1.dot | conformant | conformant | conformant |
1879 | 1879.dot | conformant | conformant | conformant |
2258 | 2258.dot | conformant | conformant | conformant |
2295 | 2295.dot | conformant | conformant | conformant |
2619_1 | 2619_1.dot | conformant | conformant | conformant |
2619_2 | 2619_2.dot | conformant | conformant | conformant |
graphs-b102 | graphs/b102.gv | conformant | conformant | conformant |
graphs-b103 | graphs/b103.gv | conformant | conformant | conformant |
graphs-b106 | graphs/b106.gv | conformant | conformant | conformant |
graphs-b143 | graphs/b143.gv | conformant | conformant | conformant |
graphs-b155 | graphs/b155.gv | conformant | conformant | conformant |
graphs-b29 | graphs/b29.gv | conformant | conformant | conformant |
graphs-b85 | graphs/b85.gv | conformant | conformant | conformant |
graphs-html2 | graphs/html2.gv | conformant | conformant | conformant |
graphs-root | graphs/root.gv | conformant | conformant | conformant |
graphs-url | graphs/url.gv | conformant | conformant | conformant |
graphs-xx | graphs/xx.gv | conformant | conformant | conformant |
linux.i386-b102 | linux.i386/b102.gv | conformant | conformant | conformant |
linux.i386-b106 | linux.i386/b106.gv | conformant | conformant | conformant |
linux.i386-b29 | linux.i386/b29.gv | conformant | conformant | conformant |
linux.x86-html2_dot | linux.x86/html2_dot.gv | conformant | conformant | conformant |
linux.x86-root_circo | linux.x86/root_circo.gv | conformant | conformant | conformant |
linux.x86-root_twopi | linux.x86/root_twopi.gv | conformant | conformant | conformant |
nshare-html2_dot | nshare/html2_dot.gv | conformant | conformant | conformant |
nshare-root_circo | nshare/root_circo.gv | conformant | conformant | conformant |
nshare-root_twopi | nshare/root_twopi.gv | conformant | conformant | conformant |
share-b102 | share/b102.gv | conformant | conformant | conformant |
share-b106 | share/b106.gv | conformant | conformant | conformant |
share-b29 | share/b29.gv | conformant | conformant | conformant |
windows-b102 | windows/b102.gv | conformant | conformant | conformant |
windows-b106 | windows/b106.gv | conformant | conformant | conformant |
windows-b29 | windows/b29.gv | conformant | conformant | conformant |
map-conformant (755)
Port output is conformant with the oracle in BOTH cmapx and imap: every area/line matches exactly (shape/href/title/alt/target) with coords equal after rounding.
Conformant ids (755) are omitted for brevity — the full roster is in map-parity.json.
Tracked diverged (0 format-rows) — worst-first
| id | format | size | maxΔ | #diffs | firstDiff |
|---|
Diverged buckets — by (format · shape)
(none)
Accepted divergences (0 format-rows) — documented, not chased
Irreducible C quirks recorded in test/corpus/accepted-divergences-map.json. Each is referenced in the mission decision journal with its mechanism.
(none)
port-error (0)
| id | path | message |
|---|
timeout (4)
| id | path | message |
|---|---|---|
1718 | 1718.dot | |
2108 | 2108.dot | |
2222 | 2222.dot | |
2475_2 | 2475_2.dot |
oracle-error (2) — excluded from scoring
| id | path | message |
|---|---|---|
2095_1 | 2095_1.dot | oracle exit 0 |
2343 | 2343.dot | Warning: Warning: no value for width of non-ASCII character 207. Falling back to width of space character |