File size: 23,564 Bytes
ebbf558
7556728
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ebbf558
81974f6
 
7556728
ebbf558
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7556728
ebbf558
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81974f6
ebbf558
 
 
 
81974f6
ebbf558
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81974f6
ebbf558
 
 
 
81974f6
7556728
ebbf558
 
 
 
 
 
81974f6
ebbf558
 
 
 
 
 
 
81974f6
ebbf558
 
 
 
81974f6
 
ebbf558
 
 
 
81974f6
ebbf558
 
 
 
 
 
 
81974f6
ebbf558
 
 
 
81974f6
 
ebbf558
 
 
 
7556728
 
ebbf558
 
 
 
 
 
81974f6
 
ebbf558
 
 
 
81974f6
 
ebbf558
 
 
 
7556728
ebbf558
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7556728
ebbf558
 
7556728
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
<svg xmlns="http://www.w3.org/2000/svg" width="1680" height="1500" viewBox="0 0 1680 1500" font-family="system-ui, -apple-system, Segoe UI, Helvetica, Arial, sans-serif">
  <defs>
    <linearGradient id="rootGrad" x1="0" y1="0" x2="1" y2="1">
      <stop offset="0" stop-color="#4F46E5"/><stop offset="1" stop-color="#7C3AED"/>
    </linearGradient>
    <filter id="soft" x="-20%" y="-20%" width="140%" height="140%">
      <feDropShadow dx="0" dy="3" stdDeviation="6" flood-color="#0F172A" flood-opacity="0.10"/>
    </filter>
    <marker id="mWin" viewBox="0 0 10 10" refX="8.5" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
      <path d="M0 0L10 5L0 10z" fill="#059669"/>
    </marker>
    <marker id="mExp" viewBox="0 0 10 10" refX="8.5" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
      <path d="M0 0L10 5L0 10z" fill="#94A3B8"/>
    </marker>
    <marker id="mPru" viewBox="0 0 10 10" refX="8.5" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
      <path d="M0 0L10 5L0 10z" fill="#CBD5E1"/>
    </marker>
    <marker id="mBad" viewBox="0 0 10 10" refX="8.5" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
      <path d="M0 0L10 5L0 10z" fill="#EF4444"/>
    </marker>
  </defs>
  <rect width="1680" height="1500" fill="#F8FAFC"/>
  <text x="48" y="58" font-size="32" font-weight="700" fill="#0F172A">ToolTree Search Tree · Interactive Demo Case 3</text>
  <text x="48" y="90" font-size="16" fill="#64748B">Reconstructed from a logged real tool-execution run · 11 rollouts, early stop · final trajectory reward 0.9</text>
  <!-- edges -->
  <path d="M 404 492.6 C 428 492.6, 428 250.0, 445 250.0" fill="none" stroke="#94A3B8" stroke-width="2" marker-end="url(#mExp)"/>
  <path d="M 404 518.6 C 428 518.6, 428 458.0, 445 458.0" fill="none" stroke="#94A3B8" stroke-width="2" marker-end="url(#mExp)"/>
  <path d="M 712 761.2 C 736 761.2, 736 544.0, 753 544.0" fill="none" stroke="#CBD5E1" stroke-width="1.8" stroke-dasharray="2 5" stroke-linecap="round" marker-end="url(#mPru)"/>
  <path d="M 712 787.2 C 736 787.2, 736 665.0, 753 665.0" fill="none" stroke="#94A3B8" stroke-width="2" marker-end="url(#mExp)"/>
  <path d="M 1020 1004.5 C 1044 1004.5, 1044 844.0, 1061 844.0" fill="none" stroke="#FCA5A5" stroke-width="2" stroke-dasharray="6 5" marker-end="url(#mBad)"/>
  <path d="M 1020 1030.5 C 1044 1030.5, 1044 997.0, 1061 997.0" fill="none" stroke="#94A3B8" stroke-width="2" marker-end="url(#mExp)"/>
  <path d="M 712 224.0 C 736 224.0, 736 154.0, 753 154.0" fill="none" stroke="#CBD5E1" stroke-width="1.8" stroke-dasharray="2 5" stroke-linecap="round" marker-end="url(#mPru)"/>
  <path d="M 712 250.0 C 736 250.0, 736 234.0, 753 234.0" fill="none" stroke="#CBD5E1" stroke-width="2" stroke-dasharray="6 5" marker-end="url(#mPru)"/>
  <path d="M 712 276.0 C 736 276.0, 736 346.0, 753 346.0" fill="none" stroke="#94A3B8" stroke-width="2" marker-end="url(#mExp)"/>
  <path d="M 1020 639.0 C 1044 639.0, 1044 598.0, 1061 598.0" fill="none" stroke="#CBD5E1" stroke-width="1.8" stroke-dasharray="2 5" stroke-linecap="round" marker-end="url(#mPru)"/>
  <path d="M 1020 665.0 C 1044 665.0, 1044 652.0, 1061 652.0" fill="none" stroke="#CBD5E1" stroke-width="1.8" stroke-dasharray="2 5" stroke-linecap="round" marker-end="url(#mPru)"/>
  <path d="M 1020 691.0 C 1044 691.0, 1044 732.0, 1061 732.0" fill="none" stroke="#94A3B8" stroke-width="2" marker-end="url(#mExp)"/>
  <path d="M 1328 1191.0 C 1352 1191.0, 1352 1150.0, 1369 1150.0" fill="none" stroke="#CBD5E1" stroke-width="1.8" stroke-dasharray="2 5" stroke-linecap="round" marker-end="url(#mPru)"/>
  <path d="M 1328 1217.0 C 1352 1217.0, 1352 1204.0, 1369 1204.0" fill="none" stroke="#CBD5E1" stroke-width="1.8" stroke-dasharray="2 5" stroke-linecap="round" marker-end="url(#mPru)"/>
  <path d="M 1328 1243.0 C 1352 1243.0, 1352 1284.0, 1369 1284.0" fill="none" stroke="#CBD5E1" stroke-width="2" stroke-dasharray="6 5" marker-end="url(#mPru)"/>
  <path d="M 1328 971.0 C 1352 971.0, 1352 930.0, 1369 930.0" fill="none" stroke="#CBD5E1" stroke-width="1.8" stroke-dasharray="2 5" stroke-linecap="round" marker-end="url(#mPru)"/>
  <path d="M 1328 997.0 C 1352 997.0, 1352 984.0, 1369 984.0" fill="none" stroke="#CBD5E1" stroke-width="1.8" stroke-dasharray="2 5" stroke-linecap="round" marker-end="url(#mPru)"/>
  <path d="M 1328 1023.0 C 1352 1023.0, 1352 1064.0, 1369 1064.0" fill="none" stroke="#94A3B8" stroke-width="2" marker-end="url(#mExp)"/>
  <path d="M 404 544.6 C 428 544.6, 428 787.2, 445 787.2" fill="none" stroke="#A7F3D0" stroke-width="9" stroke-linecap="round"/>
  <path d="M 404 544.6 C 428 544.6, 428 787.2, 445 787.2" fill="none" stroke="#059669" stroke-width="3.2" marker-end="url(#mWin)"/>
  <path d="M 712 813.2 C 736 813.2, 736 1030.5, 753 1030.5" fill="none" stroke="#A7F3D0" stroke-width="9" stroke-linecap="round"/>
  <path d="M 712 813.2 C 736 813.2, 736 1030.5, 753 1030.5" fill="none" stroke="#059669" stroke-width="3.2" marker-end="url(#mWin)"/>
  <path d="M 1020 1056.5 C 1044 1056.5, 1044 1217.0, 1061 1217.0" fill="none" stroke="#A7F3D0" stroke-width="9" stroke-linecap="round"/>
  <path d="M 1020 1056.5 C 1044 1056.5, 1044 1217.0, 1061 1217.0" fill="none" stroke="#059669" stroke-width="3.2" marker-end="url(#mWin)"/>
  <path d="M 1198 1265 L 1198 1384 Q 1198 1418 1232 1418 L 1256 1418" fill="none" stroke="#A7F3D0" stroke-width="9" stroke-linecap="round"/>
  <path d="M 1198 1265 L 1198 1384 Q 1198 1418 1232 1418 L 1256 1418" fill="none" stroke="#059669" stroke-width="3.2" marker-end="url(#mWin)"/>
  <g filter="url(#soft)"><rect x="44" y="471" width="360" height="96" rx="16" fill="url(#rootGrad)"/></g>
  <text x="224" y="505" font-size="17" font-weight="700" fill="#FFFFFF" text-anchor="middle">User Query</text>
  <text x="224" y="537" font-size="13" fill="#E0E7FF" text-anchor="middle">&quot;How far can the animal in the picture fly in…&quot;</text>
  <!-- nodes -->
  <g filter="url(#soft)"><rect x="452" y="739" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#059669" stroke-width="2.6"/></g>
  <text x="466" y="773" font-size="16" font-weight="700" fill="#065F46" font-family="ui-monospace, Menlo, Consolas, monospace">ImageDescription</text>
  <text x="466" y="797" font-size="12.5" fill="#64748B" font-family="ui-monospace, Menlo, Consolas, monospace">image: image/image_395.jpg</text>
  <rect x="630" y="727.25" width="72" height="24" rx="12" fill="#059669"/>
  <text x="666" y="743.75" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.8</text>
  <rect x="559" y="727.25" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="592" y="743.75" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.8</text>
  <g filter="url(#soft)"><rect x="452" y="202" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#CBD5E1" stroke-width="1.5"/></g>
  <text x="466" y="236" font-size="16" font-weight="700" fill="#334155" font-family="ui-monospace, Menlo, Consolas, monospace">GoogleSearch</text>
  <text x="466" y="260" font-size="12.5" fill="#64748B" font-family="ui-monospace, Menlo, Consolas, monospace">query: How far can the animal…</text>
  <rect x="630" y="190.0" width="72" height="24" rx="12" fill="#64748B"/>
  <text x="666" y="206.5" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.5</text>
  <rect x="559" y="190.0" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="592" y="206.5" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.5</text>
  <g filter="url(#soft)"><rect x="452" y="410" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#CBD5E1" stroke-width="1.5"/></g>
  <text x="466" y="444" font-size="16" font-weight="700" fill="#334155" font-family="ui-monospace, Menlo, Consolas, monospace">Calculator</text>
  <text x="466" y="468" font-size="12.5" fill="#64748B" font-family="ui-monospace, Menlo, Consolas, monospace">expression: 2.5 * 100</text>
  <rect x="630" y="398.0" width="72" height="24" rx="12" fill="#64748B"/>
  <text x="666" y="414.5" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.5</text>
  <rect x="559" y="398.0" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="592" y="414.5" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.3</text>
  <g opacity="0.85">
  <rect x="760" y="522" width="260" height="44" rx="10" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1.4" stroke-dasharray="5 4"/>
  <text x="772" y="540" font-size="13" font-weight="700" fill="#94A3B8" font-family="ui-monospace, Menlo, Consolas, monospace">ImageDescription</text>
  <text x="1008" y="540" font-size="11.5" font-style="italic" fill="#64748B" text-anchor="end">dup draft · skipped</text>
  <text x="772" y="558" font-size="11.5" fill="#A8B3C4" font-family="ui-monospace, Menlo, Consolas, monospace">image: image/image_395.jpg</text>
  </g>
  <g filter="url(#soft)"><rect x="760" y="982" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#059669" stroke-width="2.6"/></g>
  <text x="774" y="1016" font-size="16" font-weight="700" fill="#065F46" font-family="ui-monospace, Menlo, Consolas, monospace">GoogleSearch</text>
  <text x="774" y="1040" font-size="12.5" fill="#64748B" font-family="ui-monospace, Menlo, Consolas, monospace">query: How far can a bald eagl…</text>
  <rect x="938" y="970.5" width="72" height="24" rx="12" fill="#059669"/>
  <text x="974" y="987.0" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.7</text>
  <rect x="867" y="970.5" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="900" y="987.0" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.8</text>
  <g filter="url(#soft)"><rect x="760" y="617" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#CBD5E1" stroke-width="1.5"/></g>
  <text x="774" y="651" font-size="16" font-weight="700" fill="#334155" font-family="ui-monospace, Menlo, Consolas, monospace">Calculator</text>
  <text x="774" y="675" font-size="12.5" fill="#64748B" font-family="ui-monospace, Menlo, Consolas, monospace">expression: 2.5 * 150</text>
  <rect x="938" y="605.0" width="72" height="24" rx="12" fill="#64748B"/>
  <text x="974" y="621.5" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.5</text>
  <rect x="867" y="605.0" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="900" y="621.5" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.5</text>
  <g filter="url(#soft)"><rect x="1068" y="1169" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#059669" stroke-width="2.6"/></g>
  <text x="1082" y="1203" font-size="16" font-weight="700" fill="#065F46" font-family="ui-monospace, Menlo, Consolas, monospace">Calculator</text>
  <text x="1082" y="1227" font-size="12.5" fill="#64748B" font-family="ui-monospace, Menlo, Consolas, monospace">expression: 2.5 * 45</text>
  <text x="1082" y="1250" font-size="12" fill="#94A3B8">marked exhausted (depth 3)</text>
  <rect x="1246" y="1157.0" width="72" height="24" rx="12" fill="#059669"/>
  <text x="1282" y="1173.5" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.9</text>
  <rect x="1175" y="1157.0" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="1208" y="1173.5" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.8</text>
  <g filter="url(#soft)"><rect x="1068" y="796" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#F87171" stroke-width="1.8" stroke-dasharray="7 4"/></g>
  <text x="1082" y="830" font-size="16" font-weight="700" fill="#B91C1C" font-family="ui-monospace, Menlo, Consolas, monospace">✗ ImageDescription</text>
  <text x="1082" y="854" font-size="12.5" fill="#64748B" font-family="ui-monospace, Menlo, Consolas, monospace">expression: 2.5 * 45</text>
  <text x="1082" y="877" font-size="12" fill="#B91C1C">invocation_failed · post-pruned</text>
  <rect x="1246" y="784.0" width="72" height="24" rx="12" fill="#DC2626"/>
  <text x="1282" y="800.5" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.0</text>
  <rect x="1175" y="784.0" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="1208" y="800.5" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.8</text>
  <g filter="url(#soft)"><rect x="1068" y="949" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#CBD5E1" stroke-width="1.5"/></g>
  <text x="1082" y="983" font-size="16" font-weight="700" fill="#334155" font-family="ui-monospace, Menlo, Consolas, monospace">GoogleSearch</text>
  <text x="1082" y="1007" font-size="12.5" fill="#64748B" font-family="ui-monospace, Menlo, Consolas, monospace">query: How far can a bald eagl…</text>
  <rect x="1246" y="937.0" width="72" height="24" rx="12" fill="#64748B"/>
  <text x="1282" y="953.5" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.7</text>
  <rect x="1175" y="937.0" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="1208" y="953.5" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.5</text>
  <g opacity="0.85">
  <rect x="760" y="132" width="260" height="44" rx="10" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1.4" stroke-dasharray="5 4"/>
  <text x="772" y="150" font-size="13" font-weight="700" fill="#94A3B8" font-family="ui-monospace, Menlo, Consolas, monospace">GoogleSearch</text>
  <text x="1008" y="150" font-size="11.5" font-style="italic" fill="#64748B" text-anchor="end">dup draft · skipped</text>
  <text x="772" y="168" font-size="11.5" fill="#A8B3C4" font-family="ui-monospace, Menlo, Consolas, monospace">query: How far can the anim…</text>
  </g>
  <g opacity="0.72">
  <rect x="760" y="186" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#CBD5E1" stroke-width="1.5" stroke-dasharray="6 4"/>
  <text x="774" y="220" font-size="16" font-weight="700" fill="#94A3B8" font-family="ui-monospace, Menlo, Consolas, monospace">✗ ImageDescription</text>
  <text x="774" y="244" font-size="12.5" fill="#CBD5E1" font-family="ui-monospace, Menlo, Consolas, monospace">image: image/image_395.jpg</text>
  <text x="774" y="267" font-size="12" fill="#B91C1C">pre-pruned: r_pre &lt; 0.3</text>
  <rect x="945" y="174.0" width="65" height="24" rx="12" fill="#F1F5F9"/>
  <text x="978" y="190.5" font-size="13" font-weight="700" fill="#94A3B8" text-anchor="middle">pre 0.2</text>
  </g>
  <g filter="url(#soft)"><rect x="760" y="298" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#CBD5E1" stroke-width="1.5"/></g>
  <text x="774" y="332" font-size="16" font-weight="700" fill="#334155" font-family="ui-monospace, Menlo, Consolas, monospace">Calculator</text>
  <text x="774" y="356" font-size="12.5" fill="#64748B" font-family="ui-monospace, Menlo, Consolas, monospace">expression: 2.5 * 30</text>
  <rect x="938" y="286.0" width="72" height="24" rx="12" fill="#64748B"/>
  <text x="974" y="302.5" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.5</text>
  <rect x="867" y="286.0" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="900" y="302.5" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.3</text>
  <g opacity="0.85">
  <rect x="1068" y="576" width="260" height="44" rx="10" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1.4" stroke-dasharray="5 4"/>
  <text x="1080" y="594" font-size="13" font-weight="700" fill="#94A3B8" font-family="ui-monospace, Menlo, Consolas, monospace">Calculator</text>
  <text x="1316" y="594" font-size="11.5" font-style="italic" fill="#64748B" text-anchor="end">dup draft · skipped</text>
  <text x="1080" y="612" font-size="11.5" fill="#A8B3C4" font-family="ui-monospace, Menlo, Consolas, monospace">expression: 2.5 * 150</text>
  </g>
  <g opacity="0.85">
  <rect x="1068" y="630" width="260" height="44" rx="10" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1.4" stroke-dasharray="5 4"/>
  <text x="1080" y="648" font-size="13" font-weight="700" fill="#94A3B8" font-family="ui-monospace, Menlo, Consolas, monospace">ImageDescription</text>
  <text x="1316" y="648" font-size="11.5" font-style="italic" fill="#64748B" text-anchor="end">dup draft · skipped</text>
  <text x="1080" y="666" font-size="11.5" fill="#A8B3C4" font-family="ui-monospace, Menlo, Consolas, monospace">image: image/image_395.jpg</text>
  </g>
  <g filter="url(#soft)"><rect x="1068" y="684" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#CBD5E1" stroke-width="1.5"/></g>
  <text x="1082" y="718" font-size="16" font-weight="700" fill="#334155" font-family="ui-monospace, Menlo, Consolas, monospace">GoogleSearch</text>
  <text x="1082" y="742" font-size="12.5" fill="#64748B" font-family="ui-monospace, Menlo, Consolas, monospace">query: How far can a bald eagl…</text>
  <rect x="1246" y="672.0" width="72" height="24" rx="12" fill="#64748B"/>
  <text x="1282" y="688.5" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.7</text>
  <rect x="1175" y="672.0" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="1208" y="688.5" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.7</text>
  <g opacity="0.85">
  <rect x="1376" y="1128" width="260" height="44" rx="10" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1.4" stroke-dasharray="5 4"/>
  <text x="1388" y="1146" font-size="13" font-weight="700" fill="#94A3B8" font-family="ui-monospace, Menlo, Consolas, monospace">Calculator</text>
  <text x="1624" y="1146" font-size="11.5" font-style="italic" fill="#64748B" text-anchor="end">dup draft · skipped</text>
  <text x="1388" y="1164" font-size="11.5" fill="#A8B3C4" font-family="ui-monospace, Menlo, Consolas, monospace">expression: 2.5 * 45</text>
  </g>
  <g opacity="0.85">
  <rect x="1376" y="1182" width="260" height="44" rx="10" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1.4" stroke-dasharray="5 4"/>
  <text x="1388" y="1200" font-size="13" font-weight="700" fill="#94A3B8" font-family="ui-monospace, Menlo, Consolas, monospace">ImageDescription</text>
  <text x="1624" y="1200" font-size="11.5" font-style="italic" fill="#64748B" text-anchor="end">dup draft · skipped</text>
  <text x="1388" y="1218" font-size="11.5" fill="#A8B3C4" font-family="ui-monospace, Menlo, Consolas, monospace">image: image/image_395.jpg</text>
  </g>
  <g opacity="0.72">
  <rect x="1376" y="1236" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#CBD5E1" stroke-width="1.5" stroke-dasharray="6 4"/>
  <text x="1390" y="1270" font-size="16" font-weight="700" fill="#94A3B8" font-family="ui-monospace, Menlo, Consolas, monospace">✗ GoogleSearch</text>
  <text x="1390" y="1294" font-size="12.5" fill="#CBD5E1" font-family="ui-monospace, Menlo, Consolas, monospace">query: How far can a bald eagl…</text>
  <text x="1390" y="1317" font-size="12" fill="#B91C1C">pre-pruned: r_pre &lt; 0.3</text>
  <rect x="1561" y="1224.0" width="65" height="24" rx="12" fill="#F1F5F9"/>
  <text x="1594" y="1240.5" font-size="13" font-weight="700" fill="#94A3B8" text-anchor="middle">pre 0.2</text>
  </g>
  <g opacity="0.85">
  <rect x="1376" y="908" width="260" height="44" rx="10" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1.4" stroke-dasharray="5 4"/>
  <text x="1388" y="926" font-size="13" font-weight="700" fill="#94A3B8" font-family="ui-monospace, Menlo, Consolas, monospace">GoogleSearch</text>
  <text x="1624" y="926" font-size="11.5" font-style="italic" fill="#64748B" text-anchor="end">dup draft · skipped</text>
  <text x="1388" y="944" font-size="11.5" fill="#A8B3C4" font-family="ui-monospace, Menlo, Consolas, monospace">query: How far can a bald e…</text>
  </g>
  <g opacity="0.85">
  <rect x="1376" y="962" width="260" height="44" rx="10" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1.4" stroke-dasharray="5 4"/>
  <text x="1388" y="980" font-size="13" font-weight="700" fill="#94A3B8" font-family="ui-monospace, Menlo, Consolas, monospace">ImageDescription</text>
  <text x="1624" y="980" font-size="11.5" font-style="italic" fill="#64748B" text-anchor="end">dup draft · skipped</text>
  <text x="1388" y="998" font-size="11.5" fill="#A8B3C4" font-family="ui-monospace, Menlo, Consolas, monospace">image: image/image_395.jpg</text>
  </g>
  <g filter="url(#soft)"><rect x="1376" y="1016" width="260" height="96" rx="12" fill="#FFFFFF" stroke="#CBD5E1" stroke-width="1.5"/></g>
  <text x="1390" y="1050" font-size="16" font-weight="700" fill="#334155" font-family="ui-monospace, Menlo, Consolas, monospace">Calculator</text>
  <text x="1390" y="1074" font-size="12.5" fill="#64748B" font-family="ui-monospace, Menlo, Consolas, monospace">expression: 2.5 * 45</text>
  <rect x="1554" y="1004.0" width="72" height="24" rx="12" fill="#64748B"/>
  <text x="1590" y="1020.5" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.8</text>
  <rect x="1483" y="1004.0" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="1516" y="1020.5" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.8</text>
  <g filter="url(#soft)"><rect x="1264" y="1372" width="372" height="92" rx="14" fill="#ECFDF5" stroke="#059669" stroke-width="2"/></g>
  <circle cx="1302" cy="1418" r="16" fill="#059669"/>
  <path d="M1294 1418l5.5 5.5 10.5-11.5" fill="none" stroke="#FFFFFF" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/>
  <text x="1330" y="1411" font-size="17" font-weight="700" fill="#065F46">Final answer · 112.5 miles</text>
  <text x="1330" y="1437" font-size="14" fill="#059669">trajectory reward R(τ*) = 0.9</text>
  <rect x="1226" y="48" width="410" height="216" rx="14" fill="#FFFFFF" stroke="#E2E8F0"/>
  <g font-size="13" fill="#475569">
    <path d="M1246 80 h44" stroke="#A7F3D0" stroke-width="9" stroke-linecap="round"/>
    <path d="M1246 80 h44" stroke="#059669" stroke-width="3.2"/>
    <text x="1302" y="84">final plan (highest-reward path)</text>
    <path d="M1246 112 h44" stroke="#94A3B8" stroke-width="2"/>
    <text x="1302" y="116">executed branch (kept)</text>
  <rect x="1246" y="132" width="65" height="24" rx="12" fill="#E2E8F0"/>
  <text x="1278" y="148.5" font-size="13" font-weight="700" fill="#475569" text-anchor="middle">pre 0.8</text>
  <rect x="1317" y="132" width="72" height="24" rx="12" fill="#059669"/>
  <text x="1353" y="148.5" font-size="13" font-weight="700" fill="#FFFFFF" text-anchor="middle">post 0.9</text>
    <text x="1401" y="148">pre / post evaluation scores</text>
    <path d="M1246 176 h44" stroke="#CBD5E1" stroke-width="2" stroke-dasharray="6 5"/>
    <text x="1302" y="180">✗ pre-pruned (r_pre &lt; 0.3)</text>
    <path d="M1246 208 h44" stroke="#FCA5A5" stroke-width="2" stroke-dasharray="6 5"/>
    <text x="1302" y="212">✗ post-pruned (r_post &lt; 0.4)</text>
    <path d="M1246 240 h24" stroke="#CBD5E1" stroke-width="1.8" stroke-dasharray="2 5" stroke-linecap="round"/>
    <rect x="1274" y="231" width="26" height="18" rx="5" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1.4" stroke-dasharray="5 4"/>
    <text x="1312" y="244">duplicate draft (dedup · skipped, not expanded)</text>
  </g>
  <text x="48" y="1406" font-size="12.5" fill="#94A3B8">Every tool name, argument draft, and score above is verbatim from the logged run behind this demo (docs/static/demo_data.js, case 3);</text>
  <text x="48" y="1428" font-size="12.5" fill="#94A3B8">duplicate (dedup) candidate drafts are drawn under the node where the planner re-proposed them, in encounter order.</text>
</svg>