Repository navigation
Commit 0527531
fix(cloud): prstGeom 不再造出幽灵节点,嵌入对象核对改数个数
带表格的真实文档暴露了两处相互掩盖的缺陷:
1. **prstGeom 被当成内容下钻。** 它是预设几何描述符,和 style / xfrm 一样描述形状怎么画。
但它自带 type(如 flowChartMagneticDisk),而建节点的判据是子串命中——"flowchart…"
里就含着 "chart"。实测一份文档因此多出 18 个空节点(flowchartmagneticdisk × 9、
flowchartpunchedtape × 4、flowchartmanualinput × 4、chart × 1 的其中一部分)。
加进 WALK_SKIP_KEYS 后这些节点全部消失。
2. **嵌入对象核对被上面那些幽灵节点骗过。** 原判据是「产物里有没有 chart/graphic_frame
之类的节点」,一个幽灵 chart 就足以让它收声。实测这份文档:源里 1 张图表 + 1 个
SmartArt + 12 个嵌入对象,产物只有一个图表空壳,却判 pass。
改成数个数:probe 给得出部件数时要求「表示的数量 ≥ 部件数」,给不出时才退回布尔判据。
同一份文档现在报 embedded_object_undetected {parts: 2, represented: 1} → degraded。
EMBEDDED_TYPES 补上 diagram / graphic,与 ShapeType 对齐。
回归:99 页那份仍是 heading 96、embedded_object_undetected 一条;带表格那份的表格内容
与本地逐字一致(table 1 / row 7 / cell 14,MD 8 行)。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 9715225 commit 0527531
3 files changed
Lines changed: 32 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
91 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
92 | 99 | | |
93 | 100 | | |
94 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
| 78 | + | |
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | | - | |
| 99 | + | |
100 | 100 | | |
101 | | - | |
102 | | - | |
| 101 | + | |
| 102 | + | |
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | | - | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
107 | 110 | | |
108 | | - | |
109 | | - | |
| 111 | + | |
| 112 | + | |
110 | 113 | | |
111 | 114 | | |
112 | 115 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
135 | 147 | | |
136 | 148 | | |
137 | 149 | | |
| |||
145 | 157 | | |
146 | 158 | | |
147 | 159 | | |
148 | | - | |
| 160 | + | |
149 | 161 | | |
150 | 162 | | |
151 | 163 | | |
| |||
0 commit comments