From 39d163ff9600323c3d8cfb9a8a636a42144a9afe Mon Sep 17 00:00:00 2001 From: Soven Parker Date: Wed, 8 Jul 2026 12:52:29 +0530 Subject: [PATCH] Update sovereignty page with interactive charts and mobile fixes. Replace static benchmark images with Gemini and GLM bar charts, add the Hausa evaluation scatter plot, and improve mobile layout for inline visualizations. Co-authored-by: Cursor --- sovereignty/assets/gooey-wordmark.png | Bin 0 -> 15899 bytes sovereignty/assets/zhipu-logo.svg | 219 +++++ sovereignty/index.html | 1130 +++++++++++++++++++++++-- 3 files changed, 1268 insertions(+), 81 deletions(-) create mode 100644 sovereignty/assets/gooey-wordmark.png create mode 100644 sovereignty/assets/zhipu-logo.svg diff --git a/sovereignty/assets/gooey-wordmark.png b/sovereignty/assets/gooey-wordmark.png new file mode 100644 index 0000000000000000000000000000000000000000..28538c57675cc2bc5ea949eb4a2995b6b35971d9 GIT binary patch literal 15899 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 + + + + + + + + + + + + + + + + + + + + diff --git a/sovereignty/index.html b/sovereignty/index.html index 10d9d3d..9aa8450 100644 --- a/sovereignty/index.html +++ b/sovereignty/index.html @@ -94,6 +94,7 @@ --c-bluesoft: #b8d4ee; --c-gray: #b0aea5; --c-deep: #5e7bb0; + --site-header-h: 60px; } * { box-sizing: border-box; @@ -142,7 +143,7 @@ left: 0; right: 0; z-index: 55; - height: 60px; + height: var(--site-header-h); display: flex; align-items: center; gap: 16px; @@ -151,6 +152,12 @@ backdrop-filter: saturate(140%) blur(8px); border-bottom: 1px solid var(--gy-line-soft); } + .site-header .logo-link { + display: inline-flex; + flex: none; + line-height: 0; + text-decoration: none; + } .site-header .logo { height: 24px; } @@ -377,27 +384,26 @@ width: auto; max-width: 100%; border-radius: 12px; - border: 1px solid var(--gy-line-soft); } .figlayer[data-vis="img-wright"] img { max-height: 63vh; max-width: 85%; } - .figlayer[data-vis="chart-gemini"] img { - max-height: 78vh; - max-width: min(100%, 720px); + .figlayer[data-vis="chart-gemini"] .bench-chart-wrap, + .figlayer[data-vis="chart-glm"] .bench-chart-wrap { width: 100%; - object-fit: contain; - border: none; - border-radius: 0; - } - .figlayer[data-vis="chart-glm"] img { - max-height: 78vh; max-width: min(100%, 720px); - width: 100%; - object-fit: contain; - border: none; - border-radius: 0; + max-height: 78vh; + display: flex; + flex-direction: column; + justify-content: flex-start; + gap: 8px; + } + .bench-chart-head { + flex: none; + } + .scrolly-04 .stage:has(.figlayer[data-vis="chart-glm"].active) { + max-width: 700px; } .dataset-trio { display: flex; @@ -578,6 +584,73 @@ font-weight: 600; font-family: var(--gy-font-sans); } + #pubChart text.tick { + font-size: 14px; + } + #pubLegend .li { + font-size: 13.5px; + } + #dcChart text.tick { + font-size: 14px; + } + #dcChart text.axlbl { + font-size: 14px; + } + #dcLegend .li { + font-size: 13.5px; + } + .bench-chips { + display: flex; + flex-wrap: wrap; + gap: 6px; + justify-content: center; + padding: 16px 0 4px; + } + .bench-chip { + appearance: none; + border: 1.5px solid var(--gy-line); + background: var(--gy-surface-50); + color: var(--gy-ink-muted); + border-radius: var(--gy-radius-full); + padding: 6px 14px; + font-family: var(--gy-font-sans); + font-size: 13.5px; + font-weight: 600; + line-height: 1.2; + cursor: pointer; + transition: + background 0.15s ease, + color 0.15s ease, + border-color 0.15s ease; + } + .bench-chip:hover { + border-color: var(--gy-line-strong); + background: var(--gy-surface-100); + color: var(--gy-ink); + } + .bench-chip.active { + background: var(--gy-ink); + border-color: var(--gy-ink); + color: var(--gy-white); + } + .bench-panels { + display: flex; + flex-direction: column; + justify-content: center; + gap: 28px; + flex: 1; + min-height: 430px; + overflow: hidden; + } + .bench-panel { + flex: none; + } + .bench-svg { + width: 100%; + height: auto; + display: block; + overflow: visible; + } .dot { cursor: pointer; } @@ -768,6 +841,52 @@ .step-text-cols-figure figcaption a { color: inherit; } + .hausa-scatter-wrap { + width: 100%; + background: rgb(232, 240, 248); + border: 1px solid var(--gy-line-soft); + border-radius: 12px; + padding: 10px 8px 6px; + } + .hausa-scatter-wrap h4 { + font-family: var(--gy-font-serif); + font-weight: 400; + font-size: 18px; + line-height: 1.3; + margin: 0; + padding: 6px 12px 0; + text-align: center; + color: var(--gy-ink); + } + .hausa-scatter-wrap .hausa-scatter-byline { + margin: 0; + padding: 0 12px 8px; + font-family: var(--gy-font-sans); + font-size: 13px; + line-height: 1.4; + color: var(--gy-ink-meta); + text-align: center; + } + .hausa-scatter-wrap .hausa-scatter-byline a { + color: inherit; + text-decoration: underline; + text-underline-offset: 2px; + } + .hausa-scatter-svg .hausa-scatter-brand-logo { + pointer-events: none; + } + .hausa-scatter-svg { + width: 100%; + height: auto; + display: block; + overflow: visible; + } + .hausa-scatter-svg .dot-hit { + cursor: pointer; + } + .hausa-scatter-svg .dot-logo { + pointer-events: none; + } .step-text-cols-figure-below { margin-top: clamp(32px, 4vh, 48px); max-width: min(100%, 640px); @@ -1063,7 +1182,8 @@ padding-bottom: 3vh; } .scrolly-recs .hscroll-pin { - padding-top: 10vh; + align-items: center; + padding-top: 0; } .scrolly-recs .hscroll-track .hcard { flex: 0 0 min(506px, calc(100vw - clamp(24px, 6vw, 96px) * 2)); @@ -1084,16 +1204,17 @@ padding-bottom: 3vh; } .scrolly-03 .hscroll-pin { - padding-top: 8vh; + align-items: center; + padding-top: 0; } } .hscroll-pin { position: sticky; - top: 0; - height: 100vh; + top: var(--site-header-h); + height: calc(100vh - var(--site-header-h)); display: flex; - align-items: flex-start; - padding-top: 14vh; + align-items: center; + padding-top: 0; overflow: hidden; } .hscroll-track { @@ -1236,6 +1357,14 @@ } @media (max-width: 900px) { + .mobile-flow .scrolly:not(.scrolly-hscroll) { + overflow-x: clip; + max-width: 100%; + } + .mobile-flow .col-text { + max-width: 100%; + min-width: 0; + } .hero { min-height: auto; flex-direction: column; @@ -1289,16 +1418,54 @@ } .mobile-flow .inline-vis { display: block; + position: relative; + width: 100%; + max-width: 100%; + min-width: 0; + box-sizing: border-box; + overflow: hidden; padding: 8px 0 32px; + margin: 0; } .mobile-flow .inline-vis .figlayer { - position: relative; - inset: auto; + position: relative !important; + inset: unset !important; + top: auto !important; + right: auto !important; + bottom: auto !important; + left: auto !important; + width: 100%; + max-width: 100%; + min-width: 0; + margin: 0; + align-items: stretch; + justify-content: flex-start; opacity: 1 !important; transform: none !important; pointer-events: auto; gap: 10px; } + .mobile-flow .inline-vis .chartwrap, + .mobile-flow .inline-vis .csvg, + .mobile-flow .inline-vis .bench-chart-wrap, + .mobile-flow .inline-vis .bench-panels, + .mobile-flow .inline-vis .bench-panel, + .mobile-flow .inline-vis .bench-svg, + .mobile-flow .inline-vis .hausa-scatter-wrap, + .mobile-flow .inline-vis .hausa-scatter-svg, + .mobile-flow .inline-vis .dataset-trio, + .mobile-flow .inline-vis .culture-stack, + .mobile-flow .inline-vis .artbox, + .mobile-flow .step-text-cols-figure .hausa-scatter-wrap, + .mobile-flow .step-text-cols-figure .hausa-scatter-svg { + width: 100%; + max-width: 100%; + min-width: 0; + box-sizing: border-box; + } + .mobile-flow .inline-vis .figlayer figcaption { + max-width: 100%; + } .mobile-flow .inline-vis .figlayer > img { max-width: 100%; width: 100%; @@ -1355,17 +1522,18 @@ max-height: 60vh; max-width: 85%; } - .mobile-flow .inline-vis .figlayer[data-vis="chart-gemini"] > img { - max-height: 70vh; - max-width: 100%; - border: none; - border-radius: 0; + .mobile-flow .inline-vis .figlayer[data-vis="chart-gemini"] .bench-chart-wrap, + .mobile-flow .inline-vis .figlayer[data-vis="chart-glm"] .bench-chart-wrap { + max-height: none; } - .mobile-flow .inline-vis .figlayer[data-vis="chart-glm"] > img { - max-height: 70vh; - max-width: 100%; - border: none; - border-radius: 0; + .mobile-flow .inline-vis .figlayer[data-vis="chart-gemini"] .chart-brand, + .mobile-flow .inline-vis .figlayer[data-vis="chart-glm"] .chart-brand { + font-size: 15px; + } + .mobile-flow .inline-vis .figlayer[data-vis="chart-gemini"] .bench-chip, + .mobile-flow .inline-vis .figlayer[data-vis="chart-glm"] .bench-chip { + font-size: 15px; + padding: 7px 15px; } .mobile-flow .inline-vis .figlayer[data-vis="art-actors"] > img { border: none; @@ -1375,7 +1543,10 @@ max-height: 50vh; } .mobile-flow .inline-vis .csvg { + width: 100%; + max-width: 100%; max-height: 45vh; + overflow: hidden; } .mobile-flow .inline-vis .lever-grid { max-width: none; @@ -1400,6 +1571,10 @@ .step p { font-size: 17px; } + .hausa-scatter-wrap .hausa-scatter-byline { + font-size: 13px; + line-height: 1.4; + } .step-text-cols-grid { grid-template-columns: 1fr; gap: 18px; @@ -1419,14 +1594,17 @@ margin-top: 24px; text-align: right; } + .scrolly.scrolly-img-slide { + padding: 0; + } .scrolly-img-slide .step-img-slide { min-height: 100vh; min-height: 100dvh; - padding: 64px 20px 48px; + padding: 0; } .scrolly-img-slide .step-img-slide-figure img { - max-height: calc(100vh - 120px); - max-height: calc(100dvh - 120px); + max-height: 100vh; + max-height: 100dvh; } .scrolly-img-slide .stage-meta { right: 20px; @@ -1574,16 +1752,17 @@
@@ -2014,14 +2193,32 @@

So how do middle powers cooperate for AI sovereignty?

- Gemini 3.5 Flash performance benchmarks — coding, agentic, UI control, expert tasks, multimodal, long context, and reasoning +
+
+
+ Gemini 3.5 Flash benchmarks · + Google DeepMind +
+
+
+
+
- Performance · Gemini 3.5 Flash benchmarks · + Benchmarks showcased by Gemini 3.5 Flash on release · Google DeepMindSo how do middle powers cooperate for AI sovereignty?
- LLM Performance Evaluation — GLM 5.2 benchmarks across SWE-bench Pro, Terminal-Bench, NL2Repo, DeepSWE, ProgramBench, MCP-Atlas, Tool-Decathlon, and Humanity's Last Exam +
+
+
+ GLM 5.2 benchmarks · + Z.ai +
+
+
+
+
- LLM Performance Evaluation · GLM 5.2 benchmarks · + Benchmarks showcased by GLM 5.2 on release · So how do middle powers cooperate for AI sovereignty? alt="Benchmark opportunity for middle powers — agriculture and local productivity" />
-
Languages open source models.

- Hausa Evaluation of Audio AI Models — accuracy vs latency scatter plot comparing AI models on Hausa language tasks -
- Hausa evaluation of audio AI models · 15 June 2026 · - gooey.ai/language - · Gooey.AI, ClearGlobal & the Gates Foundation. -
+
+

Hausa Evaluation of Audio AI Models

+ + +

Productivity needs & domain-specific reasoning

@@ -3378,17 +3598,484 @@

References

deep: "#5E7BB0", }; - /* ---------- data ---------- */ - const DC_USERS = { - Anthropic: PALETTE.orange, - "Google DeepMind": PALETTE.blue, - Meta: PALETTE.blue2, - OpenAI: PALETTE.green, - xAI: PALETTE.ink, - Alibaba: PALETTE.purple, - Microsoft: PALETTE.red, - Other: PALETTE.gray, + /* Brand colors aligned with Artificial Analysis model charts */ + const COMPANY_COLORS = { + Anthropic: "#d97757", + "Google DeepMind": "#34A853", + Meta: "#0668E1", + OpenAI: "#1D1D1D", + xAI: "#7469B6", + Alibaba: "#FF7F27", + Microsoft: "#4EA2E9", + Other: "#B0AEA5", }; + + const GEMINI_MODELS = [ + { + k: "gem35f", + label: "Gemini 3.5 Flash", + c: "#4285F4", + hl: true, + }, + { + k: "gem3f", + label: "Gemini 3 Flash", + c: COMPANY_COLORS["Google DeepMind"], + }, + { + k: "gem31p", + label: "Gemini 3.1 Pro", + c: COMPANY_COLORS["Google DeepMind"], + }, + { + k: "son46", + label: "Claude Sonnet 4.6", + c: COMPANY_COLORS.Anthropic, + }, + { + k: "op47", + label: "Claude Opus 4.7", + c: COMPANY_COLORS.Anthropic, + }, + { + k: "gpt55", + label: "GPT-5.5", + c: COMPANY_COLORS.OpenAI, + }, + ]; + const GEMINI_CATEGORIES = [ + { + id: "coding", + label: "Coding", + benchmarks: [ + { + name: "Terminal-bench 2.1", + subtitle: "Agentic terminal coding", + unit: "pct", + scores: { + gem35f: 76.2, + gem3f: 58.0, + gem31p: 70.3, + op47: 66.1, + gpt55: 78.2, + }, + }, + { + name: "SWE-Bench Pro (Public)", + subtitle: "Diverse agentic coding tasks", + unit: "pct", + scores: { + gem35f: 55.1, + gem3f: 49.6, + gem31p: 54.2, + op47: 64.3, + gpt55: 58.6, + }, + }, + ], + }, + { + id: "agentic", + label: "Agentic", + benchmarks: [ + { + name: "MCP Atlas", + subtitle: "Multi-step workflows using MCP", + unit: "pct", + scores: { + gem35f: 83.6, + gem3f: 62.0, + gem31p: 78.2, + son46: 69.5, + op47: 79.1, + gpt55: 75.3, + }, + }, + { + name: "Toolathlon", + subtitle: "Real-world general tool use", + unit: "pct", + scores: { gem35f: 56.5, gem3f: 49.4, gpt55: 55.6 }, + }, + ], + }, + { + id: "ui", + label: "UI Control", + benchmarks: [ + { + name: "OSWorld-Verified", + subtitle: "Agentic computer use", + unit: "pct", + scores: { + gem35f: 78.4, + gem3f: 65.1, + gem31p: 76.2, + son46: 72.5, + op47: 78.0, + gpt55: 78.7, + }, + }, + ], + }, + { + id: "expert", + label: "Expert", + benchmarks: [ + { + name: "Finance Agent v2", + subtitle: "Financial analysis and decision-making", + unit: "pct", + scores: { + gem35f: 57.9, + gem3f: 42.6, + gem31p: 43.0, + son46: 51.0, + op47: 51.5, + gpt55: 51.8, + }, + }, + { + name: "GDPval-AA", + subtitle: "Economically valuable knowledge work", + unit: "elo", + max: 2000, + scores: { + gem35f: 1656, + gem3f: 1204, + gem31p: 1314, + son46: 1676, + op47: 1753, + gpt55: 1769, + }, + }, + ], + }, + { + id: "multimodal", + label: "Multimodal", + benchmarks: [ + { + name: "CharXiv Reasoning", + subtitle: "Information synthesis from complex charts", + unit: "pct", + scores: { + gem35f: 84.2, + gem3f: 80.3, + gem31p: 83.3, + son46: 72.4, + op47: 82.1, + gpt55: 84.1, + }, + }, + { + name: "MMMU-Pro", + subtitle: "Multimodal understanding and reasoning", + unit: "pct", + scores: { + gem35f: 83.6, + gem3f: 81.2, + gem31p: 80.5, + son46: 74.5, + op47: 75.2, + gpt55: 81.2, + }, + }, + ], + }, + { + id: "longctx", + label: "Long context", + benchmarks: [ + { + name: "MRCR v2 (8-needle)", + subtitle: "Long context performance · 128k average", + unit: "pct", + scores: { + gem35f: 77.3, + gem3f: 67.2, + gem31p: 84.9, + son46: 84.9, + op47: 59.3, + gpt55: 94.8, + }, + }, + { + name: "MRCR v2 (8-needle)", + subtitle: "Long context performance · 1M pointwise", + unit: "pct", + scores: { + gem35f: 26.6, + gem3f: 22.1, + gem31p: 26.3, + }, + }, + ], + }, + { + id: "reasoning", + label: "Reasoning", + benchmarks: [ + { + name: "Humanity's Last Exam", + subtitle: "Academic reasoning", + unit: "pct", + scores: { + gem35f: 40.2, + gem3f: 33.7, + gem31p: 44.4, + son46: 33.2, + op47: 46.9, + gpt55: 41.4, + }, + }, + { + name: "ARC-AGI-2", + subtitle: "Abstract reasoning puzzles", + unit: "pct", + scores: { + gem35f: 72.1, + gem3f: 33.6, + gem31p: 77.1, + son46: 58.3, + op47: 75.8, + gpt55: 84.6, + }, + }, + ], + }, + ]; + let geminiBenchCat = "coding"; + + const GLM_MODELS = [ + { + k: "glm52", + label: "GLM-5.2", + c: "#0066FF", + hl: true, + }, + { + k: "glm51", + label: "GLM-5.1", + c: "#4B93FF", + }, + { + k: "op48", + label: "Claude Opus 4.8", + c: COMPANY_COLORS.Anthropic, + }, + { + k: "gpt55", + label: "GPT-5.5", + c: COMPANY_COLORS.OpenAI, + }, + { + k: "gem31p", + label: "Gemini 3.1 Pro", + c: COMPANY_COLORS["Google DeepMind"], + }, + ]; + const GLM_CATEGORIES = [ + { + id: "coding", + label: "Coding", + benchmarks: [ + { + name: "Terminal-bench 2.1", + subtitle: "Agentic terminal coding", + unit: "pct", + scores: { + glm52: 81.0, + glm51: 63.5, + op48: 85.0, + gpt55: 84.0, + gem31p: 74.0, + }, + }, + { + name: "SWE-Bench Pro", + subtitle: "Diverse agentic coding tasks", + unit: "pct", + scores: { + glm52: 62.1, + glm51: 58.4, + op48: 69.2, + gpt55: 58.6, + gem31p: 54.2, + }, + }, + { + name: "NL2Repo", + subtitle: "Natural language to repository", + unit: "pct", + scores: { + glm52: 48.9, + glm51: 42.7, + op48: 69.7, + gpt55: 50.7, + gem31p: 33.4, + }, + }, + { + name: "DeepSWE", + subtitle: "Deep software engineering", + unit: "pct", + scores: { + glm52: 46.2, + glm51: 18.0, + op48: 58.0, + gpt55: 70.0, + gem31p: 10.0, + }, + }, + { + name: "ProgramBench", + subtitle: "Program synthesis and repair", + unit: "pct", + scores: { + glm52: 63.7, + glm51: 50.9, + op48: 71.9, + gpt55: 70.8, + gem31p: 39.5, + }, + }, + ], + }, + { + id: "agentic", + label: "Agentic", + benchmarks: [ + { + name: "MCP Atlas", + subtitle: "Multi-step workflows using MCP", + unit: "pct", + scores: { + glm52: 77.0, + glm51: 71.8, + op48: 77.8, + gpt55: 75.3, + gem31p: 69.2, + }, + }, + { + name: "Tool-Decathlon", + subtitle: "Real-world general tool use", + unit: "pct", + scores: { + glm52: 48.2, + glm51: 40.7, + op48: 59.9, + gpt55: 55.6, + gem31p: 48.8, + }, + }, + ], + }, + { + id: "reasoning", + label: "Reasoning", + benchmarks: [ + { + name: "Humanity's Last Exam", + subtitle: "Academic reasoning · w/ tools", + unit: "pct", + scores: { + glm52: 54.7, + glm51: 52.3, + op48: 57.9, + gpt55: 52.2, + gem31p: 51.4, + }, + }, + ], + }, + ]; + let glmBenchCat = "coding"; + + const NVIDIA_LOGO_PATH = + "M11.6925 17.7697V15.8762C11.8738 15.8633 12.0563 15.8528 12.2422 15.847C17.3372 15.6837 20.68 20.2978 20.68 20.2978C20.68 20.2978 17.0699 25.3962 13.1992 25.3962C12.6415 25.3962 12.1423 25.3052 11.6925 25.1511V19.4077C13.6766 19.6515 14.0748 20.5417 15.2671 22.5623L17.919 20.2885C17.919 20.2885 15.9831 17.7067 12.7195 17.7067C12.3649 17.7067 12.0253 17.7323 11.6913 17.7685L11.6925 17.7697ZM11.6913 11.5128V14.342C11.8738 14.3268 12.0574 14.3152 12.241 14.3082C19.3259 14.0655 23.9425 20.2162 23.9425 20.2162C23.9425 20.2162 18.6408 26.7705 13.1166 26.7705C12.6105 26.7705 12.1366 26.7227 11.6913 26.6433V28.3922C12.0723 28.4412 12.4671 28.4703 12.8779 28.4703C18.0177 28.4703 21.7358 25.8021 25.3356 22.6428C25.9323 23.1281 28.3754 24.31 28.8781 24.828C25.4549 27.7412 17.4795 30.0885 12.9571 30.0885C12.521 30.0885 12.1022 30.0617 11.6913 30.022V32.479H31.2282V11.514H11.6925L11.6913 11.5128ZM11.6913 25.15V26.6433C6.93708 25.7812 5.6174 20.7575 5.6174 20.7575C5.6174 20.7575 7.89986 18.1862 11.6913 17.7697V19.4077C11.6913 19.4077 11.6867 19.4077 11.6845 19.4077C9.69462 19.165 8.14085 21.055 8.14085 21.055C8.14085 21.055 9.01183 24.2365 11.6925 25.1523L11.6913 25.15ZM3.24888 20.5417C3.24888 20.5417 6.06609 16.3148 11.6925 15.8773V14.3443C5.46134 14.853 0.0644531 20.2185 0.0644531 20.2185C0.0644531 20.2185 3.12036 29.2018 11.6925 30.0243V28.3945C5.40167 27.5895 3.24888 20.5417 3.24888 20.5417Z"; + + const HAUSA_MODELS = [ + { + id: 0, + label: "MiniMax M3 + Omni", + accuracy: 0.67, + latency: 14.93, + logo: "https://www.google.com/s2/favicons?domain=minimax.io&sz=64", + anchor: "bl", + }, + { + id: 1, + label: "Kimi K2.6 + Omni", + accuracy: 0.54, + latency: 20.55, + logo: "https://www.google.com/s2/favicons?domain=moonshot.cn&sz=64", + ox: -18, + oy: 18, + }, + { + id: 2, + label: "Nemotron 3 Ultra + Omni", + accuracy: 0.3, + latency: 10.38, + logoPath: NVIDIA_LOGO_PATH, + logoViewBox: "0 10 32 24", + logoPad: 2, + ox: -16, + oy: -16, + }, + { + id: 3, + label: "DeepSeek V4 + Omni", + accuracy: 0.65, + latency: 12.18, + logo: "https://www.google.com/s2/favicons?domain=deepseek.com&sz=64", + anchor: "tr", + logoPad: 2, + }, + { + id: 4, + label: "GLM-5.1 + Omni", + accuracy: 0.61, + latency: 20.95, + logo: "assets/zhipu-logo.svg", + ox: 22, + oy: -20, + }, + { + id: 5, + label: "Qwen 3.7 Max + Omni", + accuracy: 0.69, + latency: 29.98, + logo: "https://www.google.com/s2/favicons?domain=qwen.ai&sz=64", + badge: "Most Accurate", + ox: 6, + oy: -4, + }, + { + id: 6, + label: "GPT-OSS 120b + Meta", + accuracy: 0.57, + latency: 10.01, + logo: "https://www.google.com/s2/favicons?domain=meta.com&sz=64", + badge: "Fastest", + ox: -18, + oy: 14, + }, + { + id: 7, + label: "Gemma 4 26B + Omni", + accuracy: 0.41, + latency: 14.54, + logo: "https://www.google.com/s2/favicons?domain=google.com&sz=64", + ox: -16, + oy: 16, + }, + ]; + + /* ---------- data ---------- */ + const DC_USERS = COMPANY_COLORS; const DC = [ { name: "xAI Colossus 1 (Memphis)", @@ -3725,7 +4412,7 @@

References

s += ``; }); const ly = py(ser.d[ser.d.length - 1]); - s += `${ser.n} ${ser.d[ser.d.length - 1]}%`; + s += `${ser.n} ${ser.d[ser.d.length - 1]}%`; }); s += ``; s += ``; @@ -3792,6 +4479,259 @@

References

}), ); } + function renderBenchSvg(svg, bench, models) { + const mobile = isMobileLayout(); + const W = 700; + const labelW = mobile ? 148 : 138; + const scoreW = mobile ? 60 : 56; + const rowH = mobile ? 30 : 26; + const barH = mobile ? 22 : 18; + const fontSize = mobile ? 15 : 13.5; + const barX = labelW + 10; + const barMax = W - barX - scoreW - 12; + const isElo = bench.unit === "elo"; + const max = bench.max || (isElo ? 2000 : 100); + const entries = models + .map((m) => ({ + ...m, + score: bench.scores[m.k], + })) + .filter((e) => e.score != null) + .sort((a, b) => b.score - a.score); + const titleH = mobile ? 34 : 32; + const rowGap = mobile ? 8 : 7; + const H = titleH + entries.length * (rowH + rowGap) + 6; + let s = `${bench.name}${bench.subtitle}`; + entries.forEach((e, i) => { + const y = titleH + i * (rowH + rowGap); + const norm = e.score / max; + const w = Math.max(norm * barMax, e.score > 0 ? 2 : 0); + const fmt = isElo ? e.score : `${e.score}%`; + const barY = y + (rowH - barH) / 2; + const textY = y + (mobile ? 18 : 17); + s += `${e.label}`; + s += ``; + s += `${fmt}`; + }); + svg.setAttribute("viewBox", `0 0 ${W} ${H}`); + svg.innerHTML = s; + svg.querySelectorAll(".barseg").forEach((b) => { + const model = models.find((m) => m.k === b.dataset.model); + b.addEventListener("mouseenter", (ev) => { + showTip( + `${model.label}
${bench.name} · ${bench.subtitle}
Score${isElo ? bench.scores[model.k] : bench.scores[model.k] + "%"}
`, + ev, + ); + b.setAttribute("fill-opacity", 1); + }); + b.addEventListener("mousemove", moveTip); + b.addEventListener("mouseleave", () => { + hideTip(); + b.setAttribute("fill-opacity", model.hl ? 0.95 : 0.82); + }); + }); + } + function renderBenchPanels(panelsEl, cat, models) { + if (!panelsEl || !cat) return; + panelsEl.innerHTML = cat.benchmarks + .slice(0, 2) + .map( + (bench, bi) => + `
`, + ) + .join(""); + cat.benchmarks.slice(0, 2).forEach((bench, bi) => { + const svg = panelsEl.querySelector(`svg[data-bench="${bi}"]`); + if (svg) renderBenchSvg(svg, bench, models); + }); + } + function updateBenchChips(chipsSelector, activeCat) { + document.querySelectorAll(`${chipsSelector} .bench-chip`).forEach((btn) => { + btn.classList.toggle("active", btn.dataset.cat === activeCat); + }); + } + function initBenchChart({ + chipsId, + panelsId, + models, + categories, + getCat, + setCat, + }) { + const chipsEl = document.getElementById(chipsId); + const panelsEl = document.getElementById(panelsId); + if (!chipsEl || !panelsEl) return; + if (!chipsEl.dataset.ready) { + chipsEl.innerHTML = categories + .map( + (c) => + ``, + ) + .join(""); + chipsEl.querySelectorAll(".bench-chip").forEach((btn) => { + btn.onclick = () => { + setCat(btn.dataset.cat); + updateBenchChips(`#${chipsId}`, getCat()); + const cat = + categories.find((c) => c.id === getCat()) || categories[0]; + renderBenchPanels(panelsEl, cat, models); + }; + }); + chipsEl.dataset.ready = "1"; + } + updateBenchChips(`#${chipsId}`, getCat()); + const cat = + categories.find((c) => c.id === getCat()) || categories[0]; + renderBenchPanels(panelsEl, cat, models); + } + function renderGeminiBenchPanels() { + const panelsEl = document.getElementById("geminiBenchPanels"); + const cat = + GEMINI_CATEGORIES.find((c) => c.id === geminiBenchCat) || + GEMINI_CATEGORIES[0]; + renderBenchPanels(panelsEl, cat, GEMINI_MODELS); + } + function initGeminiBench() { + initBenchChart({ + chipsId: "geminiBenchChips", + panelsId: "geminiBenchPanels", + models: GEMINI_MODELS, + categories: GEMINI_CATEGORIES, + getCat: () => geminiBenchCat, + setCat: (id) => { + geminiBenchCat = id; + }, + }); + } + function renderGlmBenchPanels() { + const panelsEl = document.getElementById("glmBenchPanels"); + const cat = + GLM_CATEGORIES.find((c) => c.id === glmBenchCat) || GLM_CATEGORIES[0]; + renderBenchPanels(panelsEl, cat, GLM_MODELS); + } + function initGlmBench() { + initBenchChart({ + chipsId: "glmBenchChips", + panelsId: "glmBenchPanels", + models: GLM_MODELS, + categories: GLM_CATEGORIES, + getCat: () => glmBenchCat, + setCat: (id) => { + glmBenchCat = id; + }, + }); + } + function renderHausaScatter(svg) { + const W = 560, + H = 327; + const m = { l: 52, r: 18, t: 0, b: 50 }; + const plotW = W - m.l - m.r; + const plotH = H - m.t - m.b; + const x0 = 0.25, + x1 = 0.8; + const y0 = 0, + y1 = 32; + const px = (v) => m.l + ((v - x0) / (x1 - x0)) * plotW; + const py = (v) => m.t + plotH - ((v - y0) / (y1 - y0)) * plotH; + const logoSize = 24; + const logoR = logoSize / 2; + const logoRx = 4; + function logoBox(d) { + const ax = px(d.accuracy), + ay = py(d.latency); + let lx, ly; + if (d.anchor === "tr") { + lx = ax - logoSize; + ly = ay; + } else if (d.anchor === "bl") { + lx = ax; + ly = ay - logoSize; + } else { + lx = ax + (d.ox || 0) - logoR; + ly = ay + (d.oy || 0) - logoR; + } + return { lx, ly, cx: lx + logoR, cy: ly + logoR }; + } + let s = ``; + for (let v = 0; v <= 30; v += 5) { + const y = py(v); + s += ``; + if (v % 10 === 0 || v === 5) { + s += `${v}`; + } + } + for (let v = 0.3; v <= 0.8; v += 0.1) { + const x = px(v); + s += ``; + s += `${v.toFixed(1)}`; + } + s += `🧠 Accuracy (mean)`; + const brandLineY = H - 8; + const brandWordH = 16; + const brandWordW = (550 / 102) * brandWordH; + const brandImgX = W - m.r - brandWordW; + const brandImgY = brandLineY - brandWordH + 1; + s += `©`; + s += ``; + s += `More accurate →`; + s += `🐇 Latency (median)`; + s += `↓ Lower is better`; + let defs = ""; + HAUSA_MODELS.forEach((d) => { + const { lx, ly, cx, cy } = logoBox(d); + const clipId = `hausalogo-${d.id}`; + const pad = d.logoPad || 0; + const inner = logoSize - pad * 2; + const ix = lx + pad; + const iy = ly + pad; + defs += ``; + s += ``; + s += ``; + s += ``; + if (d.logoPath) { + s += ``; + } else { + s += ``; + } + s += ``; + s += ``; + if (d.badge) { + const badgePadL = 12; + const badgePadR = 12; + const badgeLabel = + (d.badge === "Most Accurate" ? "🧠 " : "🐇 ") + d.badge; + const bw = badgePadL + badgeLabel.length * 7.2 + badgePadR; + const bx = cx - bw / 2; + const by = cy + logoR + 6; + s += ``; + s += `${badgeLabel}`; + } + s += ``; + }); + svg.setAttribute("viewBox", `0 0 ${W} ${H}`); + svg.innerHTML = `${defs}${s}`; + svg.querySelectorAll(".dot-hit").forEach((g) => { + const d = HAUSA_MODELS[+g.dataset.id]; + g.addEventListener("mouseenter", (e) => { + showTip( + `${d.label}
Accuracy${d.accuracy.toFixed(2)}
Latency${d.latency.toFixed(2)}
`, + e, + ); + g.querySelector(".dot-box")?.setAttribute("stroke", "var(--gy-orange)"); + }); + g.addEventListener("mousemove", moveTip); + g.addEventListener("mouseleave", () => { + hideTip(); + g.querySelector(".dot-box")?.setAttribute( + "stroke", + "var(--gy-line-soft)", + ); + }); + }); + } + function initHausaScatter() { + document.querySelectorAll("[data-hausa-scatter]").forEach(renderHausaScatter); + } function renderClaude() { const svg = document.getElementById("claudeChart"); const W = 600, @@ -3975,6 +4915,8 @@

References

const MOBILE_BP = 900; const stageOrders = new WeakMap(); + let geminiBenchMobile = null; + let glmBenchMobile = null; function isMobileLayout() { return innerWidth <= MOBILE_BP; @@ -4034,6 +4976,19 @@

References

canvas.classList.remove("globe-in-hero"); } + function resetFiglayerForInline(layer) { + layer.classList.add("active"); + layer.classList.remove("fly-in"); + layer.style.removeProperty("--fly-y"); + layer.style.removeProperty("left"); + layer.style.removeProperty("top"); + layer.style.removeProperty("right"); + layer.style.removeProperty("bottom"); + layer.style.removeProperty("width"); + layer.style.removeProperty("height"); + layer.style.removeProperty("transform"); + } + function syncMobileLayout(reactivate) { rememberStageOrders(); const mobile = isMobileLayout(); @@ -4059,12 +5014,20 @@

References

const slot = ensureInlineSlot(step, vis); if (mobile) { slot.appendChild(layer); - layer.classList.add("active"); + resetFiglayerForInline(layer); } }); if (!mobile) restoreStageFiglayers(stage); }); syncGlobeHost(mobile); + if (mobile !== geminiBenchMobile) { + geminiBenchMobile = mobile; + renderGeminiBenchPanels(); + } + if (mobile !== glmBenchMobile) { + glmBenchMobile = mobile; + renderGlmBenchPanels(); + } if (reactivate && window.sovereignReactivateStep) window.sovereignReactivateStep(); if (window.sovereignGlobeReady) window.sovereignGlobeReady(); @@ -4290,6 +5253,8 @@

References

function initChrome() { const header = document.getElementById("siteHeader"), pb = document.getElementById("progbar"); + const loginBtn = header?.querySelector(".login-btn"); + if (loginBtn && loginBtn.textContent.trim() !== "Login") loginBtn.remove(); const on = () => { const h = document.documentElement, sc = h.scrollTop, @@ -4310,6 +5275,9 @@

References

const updateGlobeFlight = globeCtrl ? initGlobeFlight(globeCtrl) : null; renderDC(); renderPub(); + initGeminiBench(); + initGlmBench(); + initHausaScatter(); injectArt(); initMobileFlow(); initScrolly(globeCtrl, updateGlobeFlight);