|
16 | 16 |
|
17 | 17 | const TABS = [ |
18 | 18 | { key: "advantage", label: "Overall", desc: "Overall" }, |
19 | | - { key: "level1", label: "L1 — Params", desc: "Parameter level" }, |
20 | 19 | { key: "level2", label: "L2 — Function", desc: "Function level" }, |
21 | 20 | { key: "level3", label: "L3 — Class", desc: "Class level" }, |
22 | 21 | { key: "level4", label: "L4 — Module", desc: "Module level" } |
|
43 | 42 | return { abs: Math.max(Math.abs(max), Math.abs(min), 0.02) }; |
44 | 43 | })(); |
45 | 44 |
|
46 | | - $: leader = sortedRows[0]; |
47 | | - $: laggard = sortedRows[sortedRows.length - 1]; |
48 | | -
|
49 | | - $: takeaway = (() => { |
50 | | - if (!leader || !laggard) return ""; |
51 | | - const tab = TABS.find((t) => t.key === activeTab); |
52 | | - const ctx = tab?.desc ?? "Overall"; |
53 | | - const ln = `${leader.agent} · ${leader.model}`; |
54 | | - const lln = `${laggard.agent} · ${laggard.model}`; |
55 | | - const fmt = (v) => `${v >= 0 ? "+" : ""}${v.toFixed(4)}`; |
56 | | - if (leader.value > 0 && laggard.value < 0) { |
57 | | - return `${ctx}: <strong>${ln}</strong> leads at <code>${fmt(leader.value)}</code>, slightly above the human expert. <strong>${lln}</strong> trails at <code>${fmt(laggard.value)}</code>.`; |
58 | | - } |
59 | | - if (leader.value > 0) { |
60 | | - return `${ctx}: <strong>${ln}</strong> edges out the expert at <code>${fmt(leader.value)}</code>; the rest sit at or below the human baseline.`; |
61 | | - } |
62 | | - return `${ctx}: every agent underperforms the expert. <strong>${ln}</strong> is closest at <code>${fmt(leader.value)}</code>; <strong>${lln}</strong> is furthest behind at <code>${fmt(laggard.value)}</code>.`; |
63 | | - })(); |
64 | | -
|
65 | 45 | function widthFor(v) { |
66 | 46 | if (!Number.isFinite(v) || scale.abs === 0) return 0; |
67 | 47 | return (Math.abs(v) / scale.abs) * 50; |
|
101 | 81 | </div> |
102 | 82 |
|
103 | 83 | <div class="results-panel"> |
104 | | - <div class="results-panel-title"> |
105 | | - {TABS.find((t) => t.key === activeTab)?.desc} advantage |
106 | | - </div> |
107 | | - <div class="results-kicker"> |
108 | | - Ranked by Σ(oracle speedup − agent speedup) / N. Bars symmetric around 0. |
109 | | - </div> |
110 | | -
|
111 | 84 | <div class="bar-chart" class:revealed> |
112 | 85 | {#each sortedRows as row, i (row.agent + row.model + activeTab)} |
113 | 86 | <div class="bar-row" style="--i: {i}"> |
|
139 | 112 | </div> |
140 | 113 | {/each} |
141 | 114 | </div> |
142 | | -
|
143 | | - <p class="results-caption">{@html takeaway}</p> |
144 | 115 | </div> |
145 | 116 | </div> |
146 | 117 | </section> |
|
200 | 171 | box-shadow: var(--shadow); |
201 | 172 | } |
202 | 173 |
|
203 | | - .results-panel-title { |
204 | | - font-family: var(--sans); |
205 | | - font-size: 0.875rem; |
206 | | - font-weight: 700; |
207 | | - color: var(--text-primary); |
208 | | - margin-bottom: var(--space-xs); |
209 | | - } |
210 | | -
|
211 | | - .results-kicker { |
212 | | - font-size: 0.75rem; |
213 | | - color: var(--text-muted); |
214 | | - margin-bottom: var(--space-md); |
215 | | - } |
216 | | -
|
217 | 174 | .bar-chart { |
218 | 175 | display: grid; |
219 | 176 | gap: 10px; |
|
322 | 279 | color: var(--score-bad); |
323 | 280 | } |
324 | 281 |
|
325 | | - .results-caption { |
326 | | - margin-top: var(--space-md); |
327 | | - padding-top: var(--space-sm); |
328 | | - border-top: 1px dashed var(--border-primary); |
329 | | - font-size: 0.8125rem; |
330 | | - line-height: 1.65; |
331 | | - color: var(--text-muted); |
332 | | - } |
333 | | -
|
334 | | - .results-caption :global(strong) { |
335 | | - color: var(--text-primary); |
336 | | - font-weight: 600; |
337 | | - } |
338 | | -
|
339 | | - .results-caption :global(code) { |
340 | | - font-family: var(--mono); |
341 | | - font-size: 0.85em; |
342 | | - padding: 1px 5px; |
343 | | - background: var(--bg-secondary); |
344 | | - border-radius: 3px; |
345 | | - color: var(--text-primary); |
346 | | - } |
347 | | -
|
348 | 282 | @media (max-width: 720px) { |
349 | 283 | .bar-row { |
350 | 284 | grid-template-columns: 1fr; |
|
0 commit comments