SOM (Structured Object Model) 是从 LaTeX 编译产物中提取的语义结构。F1 指标通过 4 个独立维度评估 GT 与 Gen SOM 的匹配度。 每个维度独立计算,不存在跨维度的元素配对。
latex 引擎 → .dvi → semantic_spy.sty 注入语义标签 → dvisvgm → .svg按细粒度类型计数匹配。不需要元素配对。
排除容器元素 (picture, scope, axis)。细粒度类型: node:{shape}, path:{open/closed}, component:{type}
贪心精确匹配文本内容。不考虑元素位置。
文本来源: TextElement.content, NodeElement.text_content, DataPoint 坐标值
算法: Greedy Exact MatchIoU 贪心匹配边界框。位置和大小都必须接近。
IoU = Intersection Area / Union Area。阈值 0.3 比 CV 常用的 0.5 更宽松。
阈值: IoU ≥ 0.3按类型分组后,组内最优匹配(排列或贪心)。
相似度 = max(0, 1 - ΔE/100)。 命名色精确匹配。≤6 个颜色用全排列,>6 用贪心。
算法: Permutation / GreedyOverall F1 = (Type F1 + Text F1 + BBox F1 + Color F1) / 4 (macro average)
如果某维度 GT 和 Gen 都为空,则该维度 F1 = 1.0(不惩罚)。如果只有 Gen 为空,F1 = 0(全部 miss)。
关键设计:4 个维度完全独立——Type 匹配上了不代表 BBox 也匹配上了。每个维度单独衡量一个方面的正确性。
latex 引擎(Knuth 原版)输出 DVI 格式,保留 \special{} 语义标签。
semantic_spy.sty 注入 \special{dvisvgm:raw <g class="tikz-node"...>}dvisvgm 转 SVG 时保留这些标签 → SOM 提取器可识别每个元素局限:不支持 PDF 原生图形操作、高复杂度 PostScript、现代字体包
三个 PDF 引擎按序回退:pdflatex → lualatex → xelatex
\special{} 语义标签 → 无法提取 SOM优势:高兼容性。劣势:无语义信息。
samples=40 + shader=interp = 1600 个插值点)— GT 用 samples=2 时 DVI 可以处理tikzcd 等高级宏 — SVG 结构与 semantic_spy.sty 不兼容\documentclass)— 预处理器补全后可能产生嵌套 document 环境98.1% 的 GT 代码是 DVI 兼容的 — 如果模型准确重建了 GT 结构,DVI 应该能成功。
经验证,D2C 和 DE 任务给模型的 prefix code 完全相同。两者的唯一区别是 DE 额外提供了编辑指令。
D2C: "Convert the diagram... starting exactly with the provided snippet below." + prefix
DE: 同上 + "applying the following modification: [编辑指令]"
| 信息 | D2C | DE |
|---|---|---|
| 参考图片 | 有 | 有 |
| Prefix Code | 有(与 DE 相同) | 有(与 D2C 相同) |
| 编辑指令 | 无 | 有(额外语义信息) |
| GT 源代码 | 无 | 无 |
| 评估 GT | 原始 GT 源代码 | 修改后的 answer_code |
| Case | D2C F1 | DVI | 根本原因 | 判定 |
|---|---|---|---|---|
| #1 1769 circuit | 0.00 | FAIL | 无视 prefix + 组件错误 | 代码质量 |
| #2 0085 charts | 0.05 | OK | DVI 成功但元素爆炸 (1656 vs 52) | 结构错误 |
| #3 0057 3d | 0.00 | FAIL | samples=40 vs GT 的 samples=2 | 规模过度 |
| #4 2682 geometry | 0.00 | FAIL | through=(a) 缺花括号 | 语法 Bug |
| #5 5508 graph | 0.00 | FAIL | 用 tikzcd 宏 vs GT 的手动 \draw(模型不会手动实现) | 模型能力 |
\documentclass[border=5pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}| Metric | D2C | DE | Diff |
|---|---|---|---|
| SOM F1 | |||
| F1 Overall | 0.0000 | 0.7083 | +0.7083 |
| F1 Type | 0.0000 | 0.7500 | +0.7500 |
| F1 Text | 0.0000 | 1.0000 | +1.0000 |
| F1 BBox | 0.0000 | 0.3333 | +0.3333 |
| F1 Color | 0.0000 | 0.7500 | +0.7500 |
| Image Metrics | |||
| SSIM | 0.4809 | 0.8153 | +0.3344 |
| LPIPS (lower=better) | 0.6810 | 0.1152 | -0.5657 |
| CLIP | 0.6909 | 0.9901 | +0.2992 |
| Code Metrics | |||
| CrystalBLEU | 0.4573 | 0.2698 | -0.1875 |
DVI 编译: D2C FAIL | DE OK
D2C 问题:
D2C 模型无视 prefix 指令,输出不完整代码 + 用错组件。 D2C 和 DE 收到相同的 prefix(\documentclass + \usepackage[siunitx, RPvoltages]{circuitikz}),
但 D2C 模型没有遵循"从 prefix 开始"的指令,直接输出了 \begin{document},丢失了整个前导声明。
而且代码体中用了 eV(欧洲电压源)而非 GT 中的 I(电流源)。
\documentclass → 预处理器自动补全后产生嵌套 \begin{document} → DVI 失败 → Gen SOM = 0 → F1 = 0latexmk 容错能力更强,回退成功 → 生成图片(但组件类型是错的)DE 优势:
DE 模型正确遵循了相同的 prefix。虽然没有使用 GT 中的to[I,...] circuitikz 高级宏(改为手动画圆+线),
但代码完整、DVI 编译成功,SOM 提取到 10 个元素,F1 = 0.71。\begin{document}
\begin{circuitikz}[european voltages, thick]
\draw (0,0) to[eV, l=1\ampere, v_>=$u_1$] (2.5,0);
\end{circuitikz}
\end{document}\documentclass[border=5pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}
% Wires
\draw (-1.5,0) -- (-0.6,0);
\draw (0.6,0) -- (1.5,0);
% Source component
\draw[thick] (0,0) circle (0.6) (0,0.6) -- (0,-0.6);
% Current parameter label
\node at (0,0.95) {\Large 2.5A};
% Voltage arrow and label
\draw[-{Latex[length=3mm, width=2.5mm]}, thick] (-0.9,-0.15) arc (200:340:0.957cm);
\node at (0,-1.2) {\Large $u_1$};
\end{tikzpicture}
\end{document}\documentclass[border=5pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0) to[I,l=1A, v_=$u_1$] (2,0);
\end{circuitikz}
\end{document}\documentclass[border=5pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0) to[I,l=2.5A, v_=$u_1$] (2,0);
\end{circuitikz}
\end{document}| ID | Type | Text | Color | BBox | Match |
|---|---|---|---|---|---|
scope-1 | scope | - | - | -67,-53 57x30 | Unmatched |
picture-2 | picture | - | - | -67,-53 57x30 | Unmatched |
path-001 | path | - | S:#000 | -67,-41 57x18 | Unmatched |
path-002 | path | - | S:#000 | -50,-53 24x24 | Unmatched |
node-3 | node | - | - | null | Unmatched |
node-8 | node | 1A | - | -66,-48 11x7 | Unmatched |
path-003 | path | - | - | -24,-38 4x5 | Unmatched |
path-004 | path | - | S:#000 | -24,-38 4x5 | Unmatched |
node-24 | node | - | - | null | Unmatched |
node-26 | node | u1 | - | -66,-45 9x6 | Unmatched |
| GT Element | GT Type | Gen Element | Gen Type | IoU |
|---|---|---|---|---|
| scope-1 | scope | scope-1 | scope | 0.417 |
| picture-2 | picture | picture-2 | picture | 0.417 |
| path-001 | path | path-003 | path | 0.346 |
| Type | GT | Gen | Matched (min) |
|---|---|---|---|
| node:currarrow | 1 | 0 | 0 |
| node:isourceshape | 1 | 0 | 0 |
| node:rectangle | 2 | 2 | 2 |
| path:closed | 2 | 2 | 2 |
| path:open | 2 | 4 | 2 |
| Total | 8 | 8 | 6 |
| ID | Type | Text | Color | BBox | Match |
|---|---|---|---|---|---|
scope-1 | scope | - | - | -67,-53 57x30 | ↔ scope-1 (IoU:0.42) |
picture-2 | picture | - | - | -67,-53 57x30 | ↔ picture-2 (IoU:0.42) |
path-001 | path | - | S:#000 | -67,-41 57x18 | ↔ path-003 (IoU:0.35) |
path-002 | path | - | S:#000 | -50,-53 24x24 | Unmatched |
node-3 | node | - | - | null | Unmatched |
node-8 | node | 2.5A | - | -66,-48 19x7 | Unmatched |
path-003 | path | - | - | -24,-38 4x5 | Unmatched |
path-004 | path | - | S:#000 | -24,-38 4x5 | Unmatched |
node-24 | node | - | - | null | Unmatched |
node-26 | node | u1 | - | -66,-45 9x6 | Unmatched |
| ID | Type | Text | Color | BBox | Match |
|---|---|---|---|---|---|
scope-1 | scope | - | - | -67,-49 85x39 | Matched |
picture-2 | picture | - | - | -67,-49 85x39 | Matched |
path-001 | path | - | S:#000 | -67,-32 26x0 | Extra |
path-002 | path | - | S:#000 | -7,-32 26x0 | Extra |
path-003 | path | - | S:#000 | -41,-49 34x34 | Matched |
node-1 | node | 2.5A | - | -24,-42 27x10 | Extra |
path-004 | path | - | S:#000 | -50,-28 47x18 | Extra |
path-005 | path | - | - | -5,-26 6x7 | Extra |
path-006 | path | - | S:#000 | -5,-26 6x7 | Extra |
node-2 | node | u1 | - | -24,-38 12x8 | Extra |
\documentclass[tikz,border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepgfplotslibrary{polar}| Metric | D2C | DE | Diff |
|---|---|---|---|
| SOM F1 | |||
| F1 Overall | 0.0502 | 0.6028 | +0.5526 |
| F1 Type | 0.0549 | 0.9180 | +0.8631 |
| F1 Text | 0.0734 | 0.4138 | +0.3404 |
| F1 BBox | 0.0341 | 0.2222 | +0.1881 |
| F1 Color | 0.0384 | 0.8571 | +0.8187 |
| Image Metrics | |||
| SSIM | 0.6939 | 0.6773 | -0.0166 |
| LPIPS (lower=better) | 0.1793 | 0.6093 | +0.4299 |
| CLIP | 0.9777 | 0.9425 | -0.0352 |
| Code Metrics | |||
| CrystalBLEU | 0.2609 | 0.5374 | +0.2765 |
DVI 编译: D2C OK (element explosion) | DE OK
D2C 问题:
D2C DVI 编译成功,但 SOM 元素爆炸(注意:这不是 DVI 失败案例)。 D2C 和 DE 收到相同的 prefix。D2C 模型选择用连续数学函数{1/(abs(cos(x)) + abs(sin(x)))} 配合 samples=400 来画极坐标图形,
而 GT 只用 4 个 \addplot coordinates {(0,1)(90,1)(180,1)(270,1)} 离散点。
DE 优势:
DE 编辑指令"将极坐标图转为笛卡尔折线图,角度映射到 X 轴,半径值映射到 Y 轴"直接引导模型使用离散坐标点。 模型生成了\addplot coordinates {(0,1)(90,1)...}(仅 50 个 SOM 元素 vs GT 42),结构匹配度高,Type F1 = 0.92。\documentclass[tikz,border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
font=\Large,
xmin=45, xmax=360,
ymin=0, ymax=1.15,
xtick={60,90,120,150,180,210,240,270,300,330,360},
ytick={0.5, 1},
yticklabels={},
ytick style={draw=none},
grid=major,
major grid style={solid, lightgray},
axis line style={solid, thick, black},
tick style={solid, thick, black},
xtick align=outside,
]
% Plot the straight Cartesian segments in polar coordinates
\addplot [
blue,
thick,
domain=45:360,
samples=400,
] {1/(abs(cos(x)) + abs(sin(x)))};
% Add the markers at the vertices
\addplot [
blue,
only marks,
mark=*,
mark size=2.5pt
] coordinates {
(90,1) (180,1) (270,1) (360,1)
};
% Add custom labels for the radial axis
\node[anchor=south east, inner sep=2pt] at (axis cs:180,0) {0};
\node[anchor=north west, inner sep=3pt] at (axis cs:45,0.5) {0.5};
\node[anchor=north west, inner sep=3pt] at (axis cs:45,1) {1};
\end{polaraxis}
\end{tikzpicture}
\end{document}\documentclass[tikz,border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=10cm,
height=6cm,
xmin=0, xmax=360,
ymin=0, ymax=1.2,
xtick={0,90,180,270,360},
ytick={0,0.5,1},
xlabel={Angle},
ylabel={Radius},
grid=both
]
\addplot[blue, mark=*] coordinates {
(0,1)
(90,1)
(180,1)
(270,1)
(360,1)
};
\end{axis}
\end{tikzpicture}
\end{document}\documentclass[tikz,border=5pt]{standalone}
% Base package
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
% Required pgfplots library for polaraxis
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
xmin=45,
xmax=360,
]
\addplot coordinates {
(0,1) (90,1) (180,1) (270,1)
};
\end{polaraxis}
\end{tikzpicture}
\end{document}\documentclass[tikz,border=5pt]{standalone}
% Base package
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
% Required pgfplots library for polaraxis
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot coordinates {
(0,1) (90,1) (180,1) (270,1)
};
\end{axis}
\end{tikzpicture}
\end{document}| GT Element | GT Type | Gen Element | Gen Type | IoU |
|---|---|---|---|---|
| scope-1 | scope | scope-1 | scope | 0.918 |
| picture-2 | picture | picture-2 | picture | 0.918 |
| scope-3 | scope | scope-3 | scope | 0.918 |
| picture-4 | picture | picture-4 | picture | 0.918 |
| scope-5 | scope | scope-5 | scope | 0.918 |
| scope-6 | scope | scope-6 | scope | 0.967 |
| path-001 | path | path-001 | path | 0.967 |
| scope-7 | scope | scope-7 | scope | 0.915 |
| path-002 | path | path-002 | path | 0.915 |
| scope-8 | scope | scope-8 | scope | 0.918 |
| path-003 | path | path-003 | path | 0.918 |
| path-005 | path | path-004 | path | 0.967 |
| path-006 | path | path-005 | path | 0.909 |
| node-1 | node | node-14 | node | 0.425 |
| node-2 | node | node-16 | node | 0.391 |
| node-3 | node | node-1 | node | 0.466 |
| node-4 | node | node-2 | node | 0.466 |
| node-5 | node | node-6 | node | 0.316 |
| node-6 | node | node-7 | node | 0.308 |
| node-7 | node | node-8 | node | 0.312 |
| Type | GT | Gen | Matched (min) |
|---|---|---|---|
| data_point | 4 | 404 | 4 |
| data_series:unknown | 2 | 4 | 2 |
| node:rectangle | 14 | 16 | 14 |
| path:closed | 8 | 808 | 8 |
| path:open | 8 | 7 | 7 |
| Total | 36 | 1239 | 35 |
| Type | Count |
|---|---|
| path | 16 |
| node | 14 |
| scope | 13 |
| data_point | 4 |
| picture | 2 |
| data_series | 2 |
| axis | 1 |
| Type | Count |
|---|---|
| path | 815 |
| scope | 414 |
| data_point | 404 |
| node | 16 |
| data_series | 4 |
| picture | 2 |
| axis | 1 |
| GT Element | GT Type | Gen Element | Gen Type | IoU |
|---|---|---|---|---|
| scope-1 | scope | scope-1 | scope | 0.542 |
| picture-2 | picture | picture-2 | picture | 0.542 |
| scope-3 | scope | scope-3 | scope | 0.542 |
| picture-4 | picture | picture-4 | picture | 0.542 |
| scope-5 | scope | scope-5 | scope | 0.540 |
| scope-6 | scope | scope-6 | scope | 0.492 |
| path-001 | path | path-001 | path | 0.492 |
| scope-7 | scope | scope-7 | scope | 0.637 |
| path-002 | path | path-002 | path | 0.637 |
| path-003 | path | scope-8 | scope | 0.540 |
| Type | GT | Gen | Matched (min) |
|---|---|---|---|
| data_point | 4 | 5 | 4 |
| data_series:unknown | 2 | 2 | 2 |
| node:rectangle | 10 | 10 | 10 |
| path:closed | 9 | 11 | 9 |
| path:open | 3 | 5 | 3 |
| Total | 28 | 33 | 28 |
| ID | Type | Text | Color | BBox | Match |
|---|---|---|---|---|---|
scope-1 | scope | - | - | -47,-60 194x161 | ↔ scope-1 (IoU:0.54) |
picture-2 | picture | - | - | -47,-60 194x161 | ↔ picture-2 (IoU:0.54) |
axis-1 | axis | - | - | null | Unmatched |
scope-3 | scope | - | - | -47,-60 194x161 | ↔ scope-3 (IoU:0.54) |
picture-4 | picture | - | - | -47,-60 194x161 | ↔ picture-4 (IoU:0.54) |
scope-5 | scope | - | - | -47,-60 194x161 | ↔ scope-5 (IoU:0.54) |
scope-6 | scope | - | - | -31,-60 150x161 | ↔ scope-6 (IoU:0.49) |
path-001 | path | - | S:#808080 | -31,-60 150x161 | ↔ path-001 (IoU:0.49) |
scope-7 | scope | - | - | -47,-60 194x121 | ↔ scope-7 (IoU:0.64) |
path-002 | path | - | S:#808080 | -47,-60 194x121 | ↔ path-002 (IoU:0.64) |
path-003 | path | - | S:#000 | -47,-60 194x161 | ↔ scope-8 (IoU:0.54) |
node-1 | node | 0 | - | -11,0 4x7 | Unmatched |
node-2 | node | 50 | - | -11,0 9x7 | Unmatched |
node-3 | node | 100 | - | -11,0 14x7 | Unmatched |
node-4 | node | 150 | - | -11,0 14x7 | Unmatched |
node-5 | node | 200 | - | -11,0 14x7 | Unmatched |
node-6 | node | 250 | - | -11,0 14x7 | Unmatched |
node-7 | node | 0:9 | - | -11,0 12x7 | Unmatched |
node-8 | node | 1 | - | -11,0 3x7 | Unmatched |
node-9 | node | 1:1 | - | -11,0 11x7 | Unmatched |
node-10 | node | 1:2 | - | -11,0 11x7 | Unmatched |
series-1 | data_series | - | - | -31,20 162x0 | Unmatched |
scope-8 | scope | - | - | -31,20 162x0 | Unmatched |
path-004 | path | - | S:#00f | -31,20 162x0 | Unmatched |
series-2 | data_series | - | - | -33,18 166x4 | Unmatched |
scope-9 | scope | - | - | -33,18 166x4 | Unmatched |
scope-10 | scope | - | - | -33,18 4x4 | Unmatched |
pt-2-1 | data_point | - | - | -33,18 4x4 | Unmatched |
path-005 | path | - | F:#00f | -33,18 4x4 | Unmatched |
path-006 | path | - | S:#00c | -33,18 4x4 | Unmatched |
scope-11 | scope | - | - | 21,18 4x4 | Unmatched |
pt-2-2 | data_point | - | - | 21,18 4x4 | Unmatched |
path-007 | path | - | F:#00f | 21,18 4x4 | Unmatched |
path-008 | path | - | S:#00c | 21,18 4x4 | Unmatched |
scope-12 | scope | - | - | 75,18 4x4 | Unmatched |
pt-2-3 | data_point | - | - | 75,18 4x4 | Unmatched |
path-009 | path | - | F:#00f | 75,18 4x4 | Unmatched |
path-010 | path | - | S:#00c | 75,18 4x4 | Unmatched |
scope-13 | scope | - | - | 129,18 4x4 | Unmatched |
pt-2-4 | data_point | - | - | 129,18 4x4 | Unmatched |
path-011 | path | - | F:#00f | 129,18 4x4 | Unmatched |
path-012 | path | - | S:#00c | 129,18 4x4 | Unmatched |
| ID | Type | Text | Color | BBox | Match |
|---|---|---|---|---|---|
scope-1 | scope | - | - | -36,-67 243x125 | Matched |
picture-2 | picture | - | - | -36,-67 243x125 | Matched |
axis-1 | axis | - | - | null | Extra |
scope-3 | scope | - | - | -36,-67 243x125 | Matched |
picture-4 | picture | - | - | -36,-67 243x125 | Matched |
scope-5 | scope | - | - | -34,-67 239x125 | Matched |
scope-6 | scope | - | - | -34,-67 239x125 | Matched |
path-001 | path | - | S:#bfbfbf | -34,-67 239x125 | Matched |
scope-7 | scope | - | - | -34,-46 239x104 | Matched |
path-002 | path | - | S:#bfbfbf | -34,-46 239x104 | Matched |
scope-8 | scope | - | - | -34,-67 239x125 | Matched |
path-003 | path | - | S:#808080 | -34,-67 239x125 | Extra |
scope-9 | scope | - | - | -34,-46 239x104 | Extra |
path-004 | path | - | S:#808080 | -34,-46 239x104 | Extra |
path-005 | path | - | S:#000 | -34,-67 239x125 | Extra |
node-1 | node | 0 | - | 0,23 4x7 | Extra |
node-2 | node | 90 | - | 0,23 9x7 | Extra |
node-3 | node | 180 | - | 0,23 14x7 | Extra |
node-4 | node | 270 | - | 0,23 14x7 | Extra |
node-5 | node | 360 | - | 0,23 14x7 | Extra |
node-6 | node | 0 | - | 0,23 4x7 | Extra |
node-7 | node | 0:5 | - | 0,23 12x7 | Extra |
node-8 | node | 1 | - | 0,23 3x7 | Extra |
series-1 | data_series | - | - | -34,-46 239x0 | Extra |
scope-10 | scope | - | - | -34,-46 239x0 | Extra |
path-006 | path | - | S:#00f | -34,-46 239x0 | Extra |
series-2 | data_series | - | - | -36,-48 243x4 | Extra |
scope-11 | scope | - | - | -36,-48 243x4 | Extra |
scope-12 | scope | - | - | -36,-48 4x4 | Extra |
pt-2-1 | data_point | - | - | -36,-48 4x4 | Extra |
path-007 | path | - | F:#00f | -36,-48 4x4 | Extra |
path-008 | path | - | S:#00c | -36,-48 4x4 | Extra |
scope-13 | scope | - | - | 24,-48 4x4 | Extra |
pt-2-2 | data_point | - | - | 24,-48 4x4 | Extra |
path-009 | path | - | F:#00f | 24,-48 4x4 | Extra |
path-010 | path | - | S:#00c | 24,-48 4x4 | Extra |
scope-14 | scope | - | - | 84,-48 4x4 | Extra |
pt-2-3 | data_point | - | - | 84,-48 4x4 | Extra |
path-011 | path | - | F:#00f | 84,-48 4x4 | Extra |
path-012 | path | - | S:#00c | 84,-48 4x4 | Extra |
scope-15 | scope | - | - | 143,-48 4x4 | Extra |
pt-2-4 | data_point | - | - | 143,-48 4x4 | Extra |
path-013 | path | - | F:#00f | 143,-48 4x4 | Extra |
path-014 | path | - | S:#00c | 143,-48 4x4 | Extra |
scope-16 | scope | - | - | 203,-48 4x4 | Extra |
pt-2-5 | data_point | - | - | 203,-48 4x4 | Extra |
path-015 | path | - | F:#00f | 203,-48 4x4 | Extra |
path-016 | path | - | S:#00c | 203,-48 4x4 | Extra |
node-9 | node | Angle | - | -0,22 25x9 | Extra |
node-10 | node | Radius | - | -0,23 29x7 | Extra |
\documentclass[tikz,border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepgfplotslibrary{patchplots}| Metric | D2C | DE | Diff |
|---|---|---|---|
| SOM F1 | |||
| F1 Overall | 0.0000 | 0.8073 | +0.8073 |
| F1 Type | 0.0000 | 1.0000 | +1.0000 |
| F1 Text | 0.0000 | 1.0000 | +1.0000 |
| F1 BBox | 0.0000 | 0.5735 | +0.5735 |
| F1 Color | 0.0000 | 0.6558 | +0.6558 |
| Image Metrics | |||
| SSIM | 0.6137 | 0.4988 | -0.1149 |
| LPIPS (lower=better) | 0.3609 | 0.5694 | +0.2085 |
| CLIP | 0.9532 | 0.9491 | -0.0041 |
| Code Metrics | |||
| CrystalBLEU | 0.2507 | 0.3732 | +0.1225 |
DVI 编译: D2C FAIL | DE OK
D2C 问题:
D2C 用samples=40 产生 1600 个采样点,DVI 无法处理。
D2C 和 DE 收到相同的 prefix(含 patchplots 库)。注意:GT 也使用了 shader=interp,但 GT 用 samples=2(仅 2×2=4 个点做 bilinear patch),DVI 能正常处理。
D2C 模型却用 samples=40(40×40=1600 个采样点)+ 自定义 colormap,复杂度远超 DVI 引擎承受范围。
pdflatex 原生支持 PDF 图形操作 → 成功渲染samples=2, shader=interp(4 个点)→ DVI 成功,GT SOM = 36 个元素shader=interp 本身不是问题(GT 也用了),问题在于 samples=40 导致的规模爆炸。模型没有理解 GT 用 4 个角点做 bilinear patch 的简洁方式。
DE 优势:
DE 编辑指令"将 3D 表面的渐变色改为纯红色"引导模型使用fill=red(不需要 shader),
并用 patch type=bilinear + 4 个显式坐标点,与 GT 的 bilinear patch 结构高度一致。
DVI 编译成功,SOM 69 个元素完全匹配 GT → Type F1 = 1.0,Overall F1 = 0.81。\documentclass[tikz,border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepgfplotslibrary{patchplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title={Bilinear from $2 \times 2$ matrix input},
title style={font=\Large, pad=15pt},
view={35}{30},
xmin=-5, xmax=5,
ymin=-5, ymax=5,
zmin=-25, zmax=25,
xtick={-4,-2,0,2,4},
ytick={-5,0,5},
ztick={-20,0,20},
ticklabel style={font=\large},
colormap={custom}{
color(0cm)=(blue!80!black);
color(1cm)=(yellow);
color(2cm)=(orange);
color(3cm)=(red)
},
mesh/ordering=y varies
]
\addplot3[
surf,
samples=40,
shader=interp,
domain=-5:5,
y domain=-5:5
] {0.75*x*y - 1.25*x + 1.25*y + 6.25};
\node[above=2pt, font=\Large] at (axis cs:-5, 5, 0) {(0)};
\node[above=2pt, font=\Large] at (axis cs:5, 5, 25) {(1)};
\node[above=2pt, font=\Large] at (axis cs:-5, -5, 25) {(2)};
\node[below=2pt, font=\Large] at (axis cs:5, -5, -25) {(3)};
\end{axis}
\end{tikzpicture}
\end{document}\documentclass[tikz,border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepgfplotslibrary{patchplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title={Bilinear from $2 \times 2$ matrix input},
view={35}{30},
xlabel={},
ylabel={},
zlabel={},
xmin=-5, xmax=5,
ymin=-5, ymax=5,
zmin=-20, zmax=20,
xtick={-4,-2,0,2,4},
ytick={-5,0,5},
ztick={-20,0,20},
tick style={color=black},
ticklabel style={font=\large},
title style={font=\Large},
]
\addplot3 [
patch,
patch type=bilinear,
fill=red,
nodes near coords={(\coordindex)},
every node near coord/.append style={font=\Large, text=black}
] coordinates {
(-5,-5,0)
(5,5,20)
(-5,5,20)
(5,-5,-20)
};
\end{axis}
\end{tikzpicture}
\end{document}\documentclass[tikz,border=5pt]{standalone}
% Base packages
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
% pgfplots libraries
% patchplots is required for 'patch type=bilinear'
\usepgfplotslibrary{patchplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
nodes near coords={(\coordindex)},
title=Bilinear from $2\times 2$ matrix input,
]
% note that surf implies 'patch type=rectangle'
\addplot3 [
surf,
shader=interp,
samples=2,
patch type=bilinear,
] {x*y};
\end{axis}
\end{tikzpicture}
\end{document}\documentclass[tikz,border=5pt]{standalone}
% Base packages
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
% pgfplots libraries
% patchplots is required for 'patch type=bilinear'
\usepgfplotslibrary{patchplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
nodes near coords={(\coordindex)},
title=Bilinear from $2\times 2$ matrix input,
]
% note that surf implies 'patch type=rectangle'
\addplot3 [
patch,
fill=red,
draw=red,
samples=2,
patch type=bilinear,
] {x*y};
\end{axis}
\end{tikzpicture}
\end{document}| ID | Type | Text | Color | BBox | Match |
|---|---|---|---|---|---|
path-001 | path | - | S:#808080 | 43,23 168x66 | Unmatched |
path-002 | path | - | S:#808080 | 30,21 194x70 | Unmatched |
path-003 | path | - | S:#000 | 30,21 132x22 | Unmatched |
path-004 | path | - | S:#000 | 91,69 132x22 | Unmatched |
path-005 | path | - | S:#000 | 30,43 62x48 | Unmatched |
path-006 | path | - | S:#000 | 162,21 62x48 | Unmatched |
path-007 | path | - | - | 33,32 6x0 | Unmatched |
path-008 | path | - | - | 40,30 4x7 | Unmatched |
path-009 | path | - | - | 60,28 6x0 | Unmatched |
path-010 | path | - | - | 67,26 4x7 | Unmatched |
path-011 | path | - | - | 90,21 4x7 | Unmatched |
path-012 | path | - | - | 117,17 4x7 | Unmatched |
path-013 | path | - | - | 143,13 4x7 | Unmatched |
path-014 | path | - | - | 164,11 6x0 | Unmatched |
path-015 | path | - | - | 172,9 4x7 | Unmatched |
path-016 | path | - | - | 197,34 4x7 | Unmatched |
path-017 | path | - | - | 228,58 4x7 | Unmatched |
path-018 | path | - | S:#808080 | 101,160 109x20 | Unmatched |
path-019 | path | - | S:#808080 | 30,134 66x48 | Unmatched |
path-020 | path | - | S:#000 | 91,160 132x22 | Unmatched |
path-021 | path | - | S:#000 | 30,134 62x48 | Unmatched |
path-022 | path | - | S:#808080 | 30,43 62x139 | Unmatched |
path-023 | path | - | S:#808080 | 30,58 62x109 | Unmatched |
path-024 | path | - | S:#000 | 30,43 0x91 | Unmatched |
path-025 | path | - | S:#000 | 91,91 0x91 | Unmatched |
path-026 | path | - | - | 9,55 6x0 | Unmatched |
path-027 | path | - | - | 16,52 9x7 | Unmatched |
path-028 | path | - | - | 21,84 4x7 | Unmatched |
path-029 | path | - | - | 16,114 9x7 | Unmatched |
path-030 | path | - | S:#808080 | 162,21 62x52 | Unmatched |
path-031 | path | - | S:#808080 | 220,81 3x64 | Unmatched |
path-032 | path | - | S:#000 | 224,69 0x91 | Unmatched |
path-033 | path | - | S:#808080 | 43,23 106x22 | Unmatched |
path-034 | path | - | S:#808080 | 30,58 4x62 | Unmatched |
path-035 | path | - | S:#808080 | 104,71 106x109 | Unmatched |
path-036 | path | - | S:#808080 | 91,84 132x83 | Unmatched |
| GT Element | GT Type | Gen Element | Gen Type | IoU |
|---|---|---|---|---|
| scope-1 | scope | scope-1 | scope | 0.799 |
| picture-2 | picture | picture-2 | picture | 0.799 |
| scope-3 | scope | scope-3 | scope | 0.799 |
| picture-4 | picture | picture-4 | picture | 0.799 |
| scope-5 | scope | scope-5 | scope | 0.922 |
| scope-6 | scope | scope-6 | scope | 0.880 |
| path-001 | path | path-001 | path | 0.880 |
| scope-7 | scope | scope-7 | scope | 0.890 |
| path-002 | path | path-002 | path | 0.890 |
| path-003 | path | path-003 | path | 0.671 |
| path-004 | path | path-004 | path | 0.549 |
| path-005 | path | path-005 | path | 0.640 |
| path-006 | path | path-006 | path | 0.599 |
| scope-8 | scope | scope-8 | scope | 0.437 |
| path-007 | path | path-007 | path | 0.437 |
| scope-9 | scope | scope-9 | scope | 0.658 |
| path-008 | path | path-008 | path | 0.658 |
| path-009 | path | path-009 | path | 0.475 |
| path-010 | path | path-010 | path | 0.640 |
| scope-10 | scope | scope-10 | scope | 0.674 |
| Type | GT | Gen | Matched (min) |
|---|---|---|---|
| data_series:unknown | 2 | 2 | 2 |
| node:rectangle | 16 | 16 | 16 |
| path:closed | 10 | 10 | 10 |
| path:open | 21 | 21 | 21 |
| Total | 49 | 49 | 49 |
| Type | Count |
|---|---|
| path | 31 |
| scope | 17 |
| node | 16 |
| picture | 2 |
| data_series | 2 |
| axis | 1 |
| Type | Count |
|---|---|
| path | 31 |
| scope | 17 |
| node | 16 |
| picture | 2 |
| data_series | 2 |
| axis | 1 |
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{through}| Metric | D2C | DE | Diff |
|---|---|---|---|
| SOM F1 | |||
| F1 Overall | 0.0000 | 0.0000 | 0.0000 |
| F1 Type | 0.0000 | 0.0000 | 0.0000 |
| F1 Text | 0.0000 | 0.0000 | 0.0000 |
| F1 BBox | 0.0000 | 0.0000 | 0.0000 |
| F1 Color | 0.0000 | 0.0000 | 0.0000 |
| Image Metrics | |||
| SSIM | 0.6639 | 0.6419 | -0.0219 |
| LPIPS (lower=better) | 0.4385 | 0.5540 | +0.1155 |
| CLIP | 0.8793 | 0.8955 | +0.0163 |
| Code Metrics | |||
| CrystalBLEU | 0.5113 | 0.5667 | +0.0554 |
DVI 编译: D2C FAIL | DE FAIL
D2C 问题:
D2C 和 DE 犯了相同的语法错误。 两者收到相同的 prefix(含\usetikzlibrary{through})。
GT 用 \node[draw]at(1,1)[circle through={(a)}]{$c$}(注意花括号 {(a)}),
但 D2C 和 DE 都写了 through=(a)(缺少花括号),导致 TikZ through 库无法正确解析坐标引用,圆形未被绘制。
\node[draw, thick, circle, through=(a)] at (c) {}\node[draw, thick, circle, through=(a)] at (c) {}\node[draw]at(1,1)[circle through={(a)}]{$c$}DE 优势:
D2C 和 DE 的 F1 都是 0,因为两者犯了相同的语法错误。 DE 的编辑指令是"将节点 'a' 从 (2,1.5) 移动到 (2.5,1.5)"——这只涉及坐标修改,无法帮助模型修正through 的花括号语法。\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{through}
\begin{document}
\begin{tikzpicture}
\draw[gray] (0,0) grid (3,2);
\coordinate (c) at (1,1);
\coordinate (a) at (2,1.5);
\node[draw, thick, circle, through=(a)] at (c) {};
\node at (c) {\Large $c$};
\node at (a) {\Large $a$};
\end{tikzpicture}
\end{document}\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{through}
\begin{document}
\begin{tikzpicture}
\draw[step=1cm,gray,very thin] (0,0) grid (3,2);
\node (c) at (1,1) {\Large $c$};
\node (a) at (2.5,1.5) {\Large $a$};
\node[draw, thick, circle, through=(a)] at (c) {};
\end{tikzpicture}
\end{document}\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{through}
\begin{document}
\begin{tikzpicture}
\draw[help lines](0,0)grid(3,2);
\node(a)at(2,1.5){$a$};
\node[draw]at(1,1)[circle through={(a)}]{$c$};
\end{tikzpicture}
\end{document}\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{through}
\begin{document}
\begin{tikzpicture}
\draw[help lines](0,0)grid(3,2);
\node(a)at(2.5,1.5){$a$};
\node[draw]at(1,1)[circle through={(a)}]{$c$};
\end{tikzpicture}
\end{document}| ID | Type | Text | Color | BBox | Match |
|---|---|---|---|---|---|
scope-1 | scope | - | - | -67,-67 88x63 | Unmatched |
picture-2 | picture | - | - | -67,-67 88x63 | Unmatched |
path-001 | path | - | S:#808080 | -64,-64 85x57 | Unmatched |
node-1 | node | a | - | -63,-11 5x4 | Unmatched |
path-002 | path | - | S:#000 | -67,-67 63x63 | Unmatched |
node-2 | node | c | - | -63,-11 4x4 | Unmatched |
| ID | Type | Text | Color | BBox | Match |
|---|---|---|---|---|---|
scope-1 | scope | - | - | -67,-67 102x90 | Unmatched |
picture-2 | picture | - | - | -67,-67 102x90 | Unmatched |
path-001 | path | - | S:#808080 | -50,-50 85x57 | Unmatched |
node-1 | node | a | - | -50,2 5x4 | Unmatched |
path-002 | path | - | S:#000 | -67,-67 90x90 | Unmatched |
node-2 | node | c | - | -50,2 4x4 | Unmatched |
\documentclass[tikz,border=5pt]{standalone}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{tikz-cd}
\usepackage{xcolor}
\usetikzlibrary{matrix,arrows,backgrounds,shapes.misc,shapes.geometric,patterns,calc,positioning,shapes,decorations.pathmorphing}| Metric | D2C | DE | Diff |
|---|---|---|---|
| SOM F1 | |||
| F1 Overall | 0.0000 | 0.0000 | 0.0000 |
| F1 Type | 0.0000 | 0.0000 | 0.0000 |
| F1 Text | 0.0000 | 0.0000 | 0.0000 |
| F1 BBox | 0.0000 | 0.0000 | 0.0000 |
| F1 Color | 0.0000 | 0.0000 | 0.0000 |
| Image Metrics | |||
| SSIM | 0.6290 | 0.6499 | +0.0209 |
| LPIPS (lower=better) | 0.3469 | 0.6707 | +0.3238 |
| CLIP | 0.9515 | 0.9712 | +0.0197 |
| Code Metrics | |||
| CrystalBLEU | 0.0392 | 0.3842 | +0.3451 |
DVI 编译: D2C FAIL | DE FAIL
D2C 问题:
D2C 和 DE 都用了tikzcd 宏,但 GT 用的是手动 \draw。
两者收到相同的 prefix(包含 \usepackage{tikz-cd} 和多个 TikZ 库)。
虽然 prefix 中有 tikz-cd,但 GT 代码实际用的是 \begin{tikzpicture} + 手动 \draw 命令逐条绘制节点和箭头——
这说明正确的实现方式就是手动 TikZ,而不是高级宏。模型选择 \begin{tikzcd} 是"偷懒"的做法,无法精确控制节点位置和箭头样式。
\begin{tikzcd} 高级宏(859 字符,3×5 节点矩阵)\begin{tikzcd} 简化版(440 字符,仅左侧 2 个节点)\draw(~80 行,每条箭头单独定位和绘制)\draw(仅保留左侧节点和箭头)DE 优势:
两者 F1 都是 0。但 DE 的 CrystalBLEU (0.38) 远高于 D2C (0.04), 因为 DE 代码更短、与 GT answer_code 的 preamble 重合度更高。\draw 才是正确的实现方式,模型没有这个能力。
\documentclass[tikz,border=5pt]{standalone}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{tikz-cd}
\usepackage{xcolor}
\usetikzlibrary{matrix,arrows,backgrounds,shapes.misc,shapes.geometric,patterns,calc,positioning,shapes,decorations.pathmorphing}
\begin{document}
\begin{tikzcd}[row sep=4em, column sep=5em]
& & K \arrow[dd, "0"'] \arrow[rr, "0"] & & K \arrow[dl, "{\begin{bmatrix} 1 \\ 0 \end{bmatrix}}"] \\
K & K^2 \arrow[l, "{\begin{bmatrix} 1 & 0 \end{bmatrix}}"'] \arrow[ur, "{\begin{bmatrix} 0 & 1 \end{bmatrix}}"] & & K^2 \arrow[ul, "{\begin{bmatrix} 0 & 1 \end{bmatrix}}"'] \arrow[dr, "{\begin{bmatrix} 0 & 1 \end{bmatrix}}"] & \\
& & K \arrow[ul, "{\begin{bmatrix} 1 \\ 0 \end{bmatrix}}"] \arrow[ur, "{\begin{bmatrix} 1 \\ 0 \end{bmatrix}}"] & & K \arrow[ll, "0"]
\end{tikzcd}
\end{document}\documentclass[tikz,border=5pt]{standalone}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{tikz-cd}
\usepackage{xcolor}
\usetikzlibrary{matrix,arrows,backgrounds,shapes.misc,shapes.geometric,patterns,calc,positioning,shapes,decorations.pathmorphing}
\begin{document}
\begin{tikzcd}[column sep=4em]
K & K^2 \arrow[l, "{\begin{bmatrix} 1 & 0 \end{bmatrix}}"]
\end{tikzcd}
\end{document}\documentclass[tikz,border=5pt]{standalone}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{tikz-cd}
\usepackage{xcolor}
\usetikzlibrary{matrix,arrows,backgrounds,shapes.misc,shapes.geometric,patterns,calc,positioning,shapes,decorations.pathmorphing}
\begin{document}
\begin{tikzpicture}[scale=1]
% configuracion
\draw (-4,0)node{$K$};
\draw (-2.5,0)node{$K^{2}$};
\draw (-1,1.15)node{$K$};
\draw (-1,-1.15)node{$K$};
\draw (0.5,0)node{$K^{2}$};
\draw (2,1.15)node{$K$};
\draw (2,-1.15)node{$K$};
%triangulacion
\draw[->][line width=0.5pt] (-2.72,0) -- (-3.85,0)
node[pos=0.5,above] {{\tiny $ \begin{bmatrix}
1&0\\
\end{bmatrix} $}};
\draw[->][line width=0.5pt] (-2.27,0.18) -- (-1.15,1)
node[pos=0.5,left] {{\tiny $ \begin{bmatrix}
0&1\\
\end{bmatrix} $}};
\draw[->][line width=0.5pt] (-1.15,-1.1) -- (-2.35,-0.1)
node[pos=0.5,below] {{\tiny $ \begin{bmatrix}
1\\
0
\end{bmatrix} $}};
\draw[->][line width=0.5pt] (-1,0.95) -- (-1,-0.95)
node[pos=0.5,left] {$0$};
\draw[->][line width=0.5pt] (0.3,0.15) -- (-0.85,1)
node[pos=0.5,right] {{\tiny $ \begin{bmatrix}
0&1\\
\end{bmatrix} $}};
\draw[->][line width=0.5pt] (-0.855,-1.05) -- (0.27,-0.15)
node[pos=0.5,above] {{\tiny $ \begin{bmatrix}
1\\
0
\end{bmatrix} $}};
\draw[->][line width=0.5pt] (-0.85,1.15) -- (1.85,1.15)
node[pos=0.5,above] {$0$};
\draw[<-][line width=0.5pt] (-0.85,-1.15) -- (1.85,-1.15)
node[pos=0.5,below] {$0$};
\draw[->][line width=0.5pt] (1.85,1) -- (0.72,0.17)
node[pos=0.35,below] {{\tiny $ \begin{bmatrix}
1\\
0
\end{bmatrix} $}};
\draw[->][line width=0.5pt] (0.65,-0.1) -- (1.85,-1)
node[pos=0.65,right]{{\tiny $ \begin{bmatrix}
0&1\\
\end{bmatrix} $}};
\end{tikzpicture}
\end{document}\documentclass[tikz,border=5pt]{standalone}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{tikz-cd}
\usepackage{xcolor}
\usetikzlibrary{matrix,arrows,backgrounds,shapes.misc,shapes.geometric,patterns,calc,positioning,shapes,decorations.pathmorphing}
\begin{document}
\begin{tikzpicture}[scale=1]
% nodes on the left side (x < -1)
\draw (-4,0)node{$K$};
\draw (-2.5,0)node{$K^{2}$};
% Arrow from K^2 to K (left)
\draw[->][line width=0.5pt] (-2.72,0) -- (-3.85,0)
node[pos=0.5,above] {{\tiny $ \begin{bmatrix}
1&0\\
\end{bmatrix} $}};
\end{tikzpicture}
\end{document}| ID | Type | Text | Color | BBox | Match |
|---|---|---|---|---|---|
scope-1 | scope | - | - | -55,-56 161x70 | Unmatched |
picture-2 | picture | - | - | -55,-56 161x70 | Unmatched |
node-1 | node | K | - | 55,-28 8x7 | Unmatched |
node-2 | node | K2 | - | 55,-29 12x8 | Unmatched |
node-3 | node | K | - | 55,-28 8x7 | Unmatched |
node-4 | node | K | - | 55,-28 8x7 | Unmatched |
node-5 | node | K2 | - | 55,-29 12x8 | Unmatched |
node-6 | node | K | - | 55,-28 8x7 | Unmatched |
node-7 | node | K | - | 55,-28 8x7 | Unmatched |
path-001 | path | - | S:#000 | -54,-21 32x0 | Unmatched |
path-002 | path | - | S:#000 | -55,-24 2x5 | Unmatched |
node-8 | node | 10 | - | 56,-25 19x6 | Unmatched |
path-003 | path | - | S:#000 | -10,-49 31x23 | Unmatched |
path-004 | path | - | S:#000 | 18,-50 3x4 | Unmatched |
node-9 | node | 01 | - | 56,-25 19x6 | Unmatched |
path-005 | path | - | S:#000 | -12,-18 34x28 | Unmatched |
path-006 | path | - | S:#000 | -12,-19 3x4 | Unmatched |
node-10 | node | 10 | - | 56,-28 7x12 | Unmatched |
path-007 | path | - | S:#000 | 26,-48 0x53 | Unmatched |
path-008 | path | - | S:#000 | 23,3 5x2 | Unmatched |
node-11 | node | 0 | - | 55,-28 4x7 | Unmatched |
path-009 | path | - | S:#000 | 31,-49 32x24 | Unmatched |
path-010 | path | - | S:#000 | 30,-50 3x4 | Unmatched |
node-12 | node | 01 | - | 56,-25 19x6 | Unmatched |
path-011 | path | - | S:#000 | 30,-16 32x25 | Unmatched |
path-012 | path | - | S:#000 | 58,-17 3x4 | Unmatched |
node-13 | node | 10 | - | 56,-28 7x12 | Unmatched |
path-013 | path | - | S:#000 | 30,-54 76x0 | Unmatched |
path-014 | path | - | S:#000 | 104,-56 2x5 | Unmatched |
node-14 | node | 0 | - | 55,-28 4x7 | Unmatched |
path-015 | path | - | S:#000 | 31,12 76x0 | Unmatched |
path-016 | path | - | S:#000 | 30,9 2x5 | Unmatched |
node-15 | node | 0 | - | 55,-28 4x7 | Unmatched |
path-017 | path | - | S:#000 | 75,-50 32x23 | Unmatched |
path-018 | path | - | S:#000 | 75,-29 3x4 | Unmatched |
node-16 | node | 10 | - | 56,-28 7x12 | Unmatched |
path-019 | path | - | S:#000 | 73,-18 34x25 | Unmatched |
path-020 | path | - | S:#000 | 103,4 3x4 | Unmatched |
node-17 | node | 01 | - | 56,-25 19x6 | Unmatched |
| ID | Type | Text | Color | BBox | Match |
|---|---|---|---|---|---|
scope-1 | scope | - | - | -55,-62 129x11 | Unmatched |
picture-2 | picture | - | - | -55,-62 129x11 | Unmatched |
node-1 | node | K | - | 55,-61 8x7 | Unmatched |
node-2 | node | K2 | - | 55,-62 12x8 | Unmatched |
path-001 | path | - | S:#000 | -54,-54 32x0 | Unmatched |
path-002 | path | - | S:#000 | -55,-57 2x5 | Unmatched |
node-3 | node | 10 | - | 56,-58 19x6 | Unmatched |