KoeYe commited on
Commit
2cc8c14
·
1 Parent(s): 9ff787d

Restyle Code4Scene with BuildingBench layout and figure toolkit

Browse files
README.md CHANGED
@@ -17,3 +17,11 @@ Project page for *Code4Scene: Benchmarking Coding Agents for Constructing and Ed
17
  Paper: [arXiv:2609.36777](https://arxiv.org/abs/2609.36777) · Code: [SimWorld-AI/Code4Scene](https://github.com/SimWorld-AI/Code4Scene)
18
 
19
  Part of the [SimWorld](https://simworld.org) project.
 
 
 
 
 
 
 
 
 
17
  Paper: [arXiv:2609.36777](https://arxiv.org/abs/2609.36777) · Code: [SimWorld-AI/Code4Scene](https://github.com/SimWorld-AI/Code4Scene)
18
 
19
  Part of the [SimWorld](https://simworld.org) project.
20
+
21
+ ## Website design
22
+
23
+ Layout, navigation, wireframe mark, typography and card geometry follow the user-provided [BuildingBench](https://enactra.ai/buildingbench/) design. The bar chart rendering and company palette are adapted from its [Figure Kit](http://ds-serv12.ucsd.edu:8875/figure-kit/#bar), specifically `bar-static/build.py`. All scores, configurations, authors, media, models and evaluator content remain Code4Scene's. The original 95-public-case paper evaluation is distinguished from the current 201 public cases and the 320-case full benchmark target, including private cases.
24
+
25
+ The reference toolkit's Inter, IBM Plex Mono and Source Serif 4 font files are bundled with their original SIL Open Font License notices in `assets/fonts/`. Provider marks are from the toolkit's Lobehub icons, used to identify the corresponding model providers.
26
+
27
+ Deployment remains this Hugging Face static Space: `index.html` and `cases.html`, with the existing media/model paths and headers. The pre-restyle version is recoverable at commit `9ff787d0f9d72905d92f780da56bd2229782b981`.
assets/buildingbench.css ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Layout, mark and typography adapted from the user's BuildingBench reference.
2
+ Figure fonts and company colors come from figure-kit. Scientific data remains Code4Scene's. */
3
+ @font-face{font-family:Inter;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format('woff2');font-display:swap}
4
+ @font-face{font-family:Inter;font-weight:500;src:url(fonts/inter-latin-500-normal.woff2) format('woff2');font-display:swap}
5
+ @font-face{font-family:Inter;font-weight:600 900;src:url(fonts/inter-latin-700-normal.woff2) format('woff2');font-display:swap}
6
+ @font-face{font-family:'IBM Plex Mono';font-weight:500;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');font-display:swap}
7
+ @font-face{font-family:'Source Serif 4';font-weight:400;src:url(fonts/source-serif-4-latin-400-normal.woff2) format('woff2');font-display:swap}
8
+ :root{--ink:#202d32;--muted:#738078;--green:#35687e;--green-dark:#294f60;--green-soft:#edf3f5;--bg:#f6f8f5;--paper:#fff;--primary:var(--green);--primary-dark:var(--green-dark);--text-h:#171816;--text-p:#545c59;--text-muted:#738078;--text-light:#87908a;--bg-page:var(--bg);--bg-alt:var(--bg);--border:#dfe3de;--line:#dfe3de;--line-soft:#eceee9;--line-strong:#c7cec7;--surface-0:var(--bg);--surface-1:#fff;--surface-2:#f5f6f2;--surface-3:#e6ebe7;--accent:var(--green);--accent-bright:var(--green-dark);--accent-wash:#edf3f5;--max-w:1360px;--nav-h:0px;--radius-sm:12px;--radius-md:20px;--shadow-sm:none;--shadow-md:none;--c4s-a:#35687e;--c4s-b:#D97757;font-synthesis:none}
9
+ html{background:var(--bg);scroll-padding-top:24px}body{color:var(--ink);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;line-height:1.5;overflow-x:visible}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:hover{text-decoration:none;color:var(--green)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,svg path:focus-visible{outline:3px solid #8bb4c5;outline-offset:3px}img{max-width:100%}.skip-link{position:absolute;top:-70px;left:12px;background:var(--green);color:white;padding:12px;z-index:2000}.skip-link:focus{top:10px}
10
+ /* BuildingBench header and two-column introduction geometry. */
11
+ .site-header{max-width:1440px;margin:auto;padding:0 40px;height:76px;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;letter-spacing:-.5px;font-weight:700;font-size:19px}.brand svg{width:26px;height:29px;color:var(--green)}.brand-home{display:flex;align-items:center;gap:10px}.brand-by{font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted);padding-left:12px;margin-left:2px;border-left:1px solid #cad6ce;white-space:nowrap}.site-header nav{display:flex;gap:28px;font-size:14px;margin-left:auto;align-items:center}.site-header nav a{padding:28px 0;white-space:nowrap}.site-header nav .nav-active{color:var(--green);position:relative;font-weight:700}.nav-active:after{content:'';position:absolute;bottom:0;height:2px;left:0;right:0;background:var(--green)}
12
+ .page-main{max-width:1440px;margin:auto;padding:0 40px}.container{max-width:var(--max-w);margin:0 auto}.intro{padding:34px 0 30px;display:grid;grid-template-columns:1.04fr 1fr;gap:56px;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--muted);line-height:1.6}.intro h1{font-size:clamp(32px,3.5vw,49px);line-height:1.075;letter-spacing:-2px;font-weight:700;color:var(--ink);margin:0}.intro h1 em{font-style:normal;color:var(--green)}.intro-text{margin-top:15px;font-size:13px;line-height:1.7;max-width:460px;color:#657269}.intro-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:11px;font-weight:500;color:var(--green)}
13
+ .featured{position:relative;height:273px;border:1px solid #dce6dd;border-radius:12px;background:#edf2ef;overflow:hidden}.featured-header{position:absolute;left:16px;right:16px;top:14px;display:flex;align-items:center;justify-content:space-between;z-index:1;pointer-events:none}.model-pill{font-size:12px;font-weight:700;padding:4px 8px;border:1px solid #c8dacd;background:#ffffffe6;border-radius:4px;color:var(--green-dark)}.featured-header .eyebrow{background:#ffffffeb;padding:4px 7px;border-radius:4px}.featured-scene{position:absolute;inset:0 0 57px}.featured-scene img{width:100%;height:100%;object-fit:cover}.featured-footer{position:absolute;bottom:25px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.featured-footer strong{font-size:14px}.text-button{display:inline-flex;align-items:center;gap:6px;padding:0;background:none;font-size:12px;font-weight:600;color:var(--green);line-height:1.6}.text-button:hover{text-decoration:underline}.featured-note{position:absolute;bottom:8px;left:16px;font-size:11px;color:#7a8a7c;margin:0}
14
+ section,section.alt,section.dark{padding:34px 0;background:transparent;color:var(--text-p)}.section-header,.section-header.centered{text-align:left;margin-bottom:22px;max-width:none}.section-label{display:none}.section-title,section.dark .section-title{font-size:clamp(30px,4.2vw,46px);line-height:1.04;letter-spacing:-1.9px;font-weight:700;color:#171816;margin:6px 0 20px}.section-desc,section.dark .section-desc{font-size:14px;line-height:1.65;max-width:850px;margin:0;color:var(--text-p)}.card{background:white;border:1px solid var(--border);border-radius:20px;box-shadow:none}.card:hover{box-shadow:none}.btn{font-size:12px;padding:10px 14px;border-radius:6px;box-shadow:none;font-weight:600}.btn:hover{transform:none;box-shadow:none}.btn-primary{background:var(--green-dark);color:white;border:1px solid var(--green-dark);box-shadow:none}.btn-primary:hover{background:var(--green);color:white;box-shadow:none}.btn-outline,.btn-dark,section.dark .btn-outline{background:#fff;border:1px solid var(--border);color:var(--green-dark)}
15
+ .task-section{padding-top:0}.task-shell{padding:20px;border:1px solid #d7dbd5;border-radius:28px;background:white}.task-shell>h3{font-size:22px;letter-spacing:-.6px;line-height:1.35;color:var(--text-h);margin:0 0 5px}.task-shell>h3 span{font-weight:500}.task-subtitle{font-size:14px;margin:0 0 20px;color:#60655e}.task-columns{display:grid;grid-template-columns:1fr 1.55fr 1fr;gap:14px}.task-panel{min-width:0;background:#fbfcf9;border:1px solid #d7dbd5;border-radius:18px;padding:14px;display:flex;flex-direction:column}.panel-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:14px;font-size:13px;color:#171816}.panel-heading span{font-size:11px;color:#626960;text-align:right}.prompt-preview{border-radius:12px;background:#f0f3ed;padding:16px;flex:1}.prompt-preview p{font-size:14px;line-height:1.6;margin:9px 0}.prompt-preview .prompt-detail{font-size:12px;color:#747b71}.output-panel img{width:100%;height:253px;object-fit:cover;border:1px solid #e4e4e2;border-radius:12px}.task-foot{font-size:11px;line-height:1.6;color:#626960;margin:12px 0 0}.score-block{padding:20px 18px;border-radius:14px;background:#171816;color:#fff;flex:1;display:flex;flex-direction:column;justify-content:center}.score-block>span{font-size:11px;color:#bbbfba;letter-spacing:.06em}.score-block>strong{font-size:52px;line-height:1.2;letter-spacing:-2px}.score-block dl{margin-top:20px;display:grid;gap:12px}.score-block dl>div{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px}.score-block dd{font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}.task-full{margin-top:18px;border:1px solid var(--border);border-radius:12px}.task-full summary{padding:13px 16px;display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:500;cursor:pointer}.task-full summary span+span{font-size:10px;color:var(--text-muted)}.task-full>p{padding:0 18px 18px;font-size:13px;line-height:1.8}.task-settings .grid2{margin:18px 0 0!important;gap:14px}.task-settings .setting-card{padding:16px;background:#fafbf8;border-radius:14px}.setting-card h3{font-size:18px;margin-bottom:7px}.setting-card p{font-size:12px;line-height:1.65}.setting-card .kicker{font-size:10px;color:var(--muted)}.formula{font-size:11px;white-space:normal}.availability{border-bottom:1px solid var(--border);padding:18px 4px;display:flex;gap:10px 24px;flex-wrap:wrap;font-size:11px;line-height:1.7;color:var(--text-muted)}.availability b{color:var(--text-h);font-size:14px}
16
+ .lb-tabs{justify-content:flex-start;margin-bottom:16px}.seg{background:#f0f3ef;border:1px solid var(--border);border-radius:7px;padding:3px;gap:3px}.seg button,.seg-lg button{font-size:12px;padding:8px 14px;border-radius:4px;color:#778178}.seg button.on{background:white;color:var(--ink);box-shadow:0 1px 4px #152a1915}.bar-card{padding:20px 18px 12px;margin-bottom:18px;overflow:hidden}.bar-heading{display:flex;justify-content:space-between;align-items:baseline;padding:0 12px;gap:20px}.bar-heading h3{font:400 31px 'Source Serif 4',Georgia,serif;color:#1a1a1a}.bar-heading span{font-size:12px;color:#8d8d8d}.bar-scroll{overflow:auto;scrollbar-width:thin}.kit-bars{display:block;width:100%;min-width:720px;height:auto}.bar-card .note{margin:0 12px;font-size:11px;color:#738078}.chart-card{padding:20px 24px;margin-bottom:18px}.sub-title{font-size:18px;letter-spacing:-.3px;color:var(--text-h);font-weight:700}.sub-desc{font-size:12px;color:var(--text-muted);line-height:1.6}.ch-legend{font-size:11px;gap:6px 16px;margin-top:14px}.note,.board-note{font-size:11px;color:var(--text-muted)}.board{font-size:13px}.board th{font-size:10px;font-weight:500;color:#7d877d;background:#f8faf6;letter-spacing:.03em}.board td{padding:12px 10px}.board tbody tr:hover{background:#f5f8f2}.board .tag{font-size:9px;background:#edf3ef;color:#4b715d}.board .cellbar i{opacity:.13}.board .cellbar b{color:#284e3f}.board-wrap{overflow:auto}
17
+ .case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.case-grid .case-card{border:1px solid #d7ded5;border-radius:16px;box-shadow:none;background:white;overflow:hidden}.case-grid .case-card:hover{transform:none;border-color:var(--green);box-shadow:none}.case-card .th{aspect-ratio:16/10;background-color:#f1f1ee}.case-card .th i{font-size:10px;color:#36544b;background:#ffffffed;border:1px solid #e1e4de;border-radius:5px}.case-card .meta{padding:15px 16px}.case-card .meta h4{font-size:15px;color:var(--text-h)}.case-card .meta p{font-size:11px;color:var(--text-muted);margin-top:6px}.tk{padding:24px;border:1px solid var(--border);border-radius:22px;background:white;margin:18px 0}.tk .n{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:none;padding:0;border:0}.tk h3{font-size:24px;line-height:1.25;letter-spacing:-.7px;max-width:1000px}.tk p.s{font-size:14px;color:#62695e}.tk figure{background:#fbfcf9;border-color:var(--line);border-radius:14px}.tk figcaption{font-size:11px;color:var(--text-muted)}
18
+ .teaser-frame{border:1px solid var(--border);border-radius:20px;box-shadow:none;background:#171816;max-width:none}.teaser-frame video{width:100%;max-height:680px}.author-block{margin:22px 0}.hero-authors{font-size:13px;color:var(--ink);margin-bottom:8px}.hero-affiliations{font-size:11px;color:var(--muted);margin-bottom:0}.paper-abstract{border:1px solid var(--border);border-radius:16px;background:white}.paper-abstract summary{padding:18px 20px;display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:15px;font-weight:600;color:var(--text-h)}.paper-abstract summary span{font-size:11px;font-weight:400;color:var(--muted)}.paper-abstract .abstract-card{border:0;box-shadow:none;padding:0 20px 20px;max-width:none;font-size:13px;line-height:1.8}.method-flow .flow{gap:12px;margin-top:24px}.flow .step{background:#fff;border:1px solid var(--border);border-radius:12px;padding:15px}.flow .step:after{display:none}.flow .step .n{font-size:10px;color:var(--green)}.flow .step b{font-size:13px}.flow .step span{font-size:11px}.cite-box{background:white;border:1px solid var(--border);border-radius:16px;max-width:none}.cite-box pre{color:#4d5a50;font-size:12px}.cite-copy-btn{background:#f4f7f0;color:var(--ink);border:1px solid var(--border);border-radius:5px}footer{max-width:1360px;margin:auto;background:transparent;border-top:1px solid var(--border);padding:24px 0;color:var(--muted);text-align:left;font-size:11px}footer a{color:var(--green)}footer p:last-child{color:var(--muted)!important}
19
+ .case-page>section{max-width:1440px;padding-left:40px;padding-right:40px;margin:auto}.case-page .card{border-radius:22px}.case-page .viewer{background:#f1f1ee;border:1px solid #e4e4e2;border-radius:14px}.case-page .casebar button{background:#fff;font-family:Inter,sans-serif;border-radius:10px}.case-page .casebar button.on{background:#edf3f5;border-color:var(--green);color:var(--green-dark)}.case-page .casebar button.on small{color:#647a82}.case-page .panel{border-radius:14px}.case-page .section-title{font-size:38px}.case-page .agents{grid-template-columns:repeat(7,minmax(0,1fr))}
20
+ @media(min-width:1500px){.intro{padding-top:39px;padding-bottom:35px}}
21
+ @media(max-width:1180px){.page-main,.site-header,.case-page>section{padding-left:24px;padding-right:24px}.intro{gap:30px}.brand-by{display:none}.task-columns{grid-template-columns:1fr 1.35fr 1fr}.panel-heading{flex-wrap:wrap}.panel-heading span{text-align:left}.score-block{padding:16px 12px}.score-block dl>div{font-size:10px}.score-block dd{font-size:13px}.output-panel img{height:265px}footer{margin:0 24px}}
22
+ @media(max-width:940px){.site-header{height:66px;gap:20px}.site-header nav{gap:20px;font-size:12px}.site-header nav a{padding:24px 0}.intro{gap:22px;padding:26px 0}.intro h1{font-size:35px;letter-spacing:-1.5px}.intro-text{font-size:12px}.featured{height:252px}.task-columns{grid-template-columns:1fr 1fr}.evaluation-panel{grid-column:1/-1}.evaluation-panel .score-block{display:grid;grid-template-columns:1fr 2fr;gap:0 20px;padding:18px}.score-block dl{grid-column:2;grid-row:1/3;margin:0}.score-block>strong{font-size:42px}.task-columns .output-panel img{height:250px}.case-page .casegrid{grid-template-columns:1fr}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow{grid-template-columns:repeat(3,minmax(0,1fr))}}
23
+ @media(max-width:650px){.page-main,.site-header,.case-page>section{padding-left:16px;padding-right:16px}.site-header{gap:12px;height:auto;min-height:65px;flex-wrap:wrap;padding-top:14px;padding-bottom:0}.brand{font-size:16px}.brand-home{gap:7px}.brand svg{width:23px;height:25px}.site-header nav{gap:18px;width:100%;justify-content:space-between;font-size:10px;overflow:auto}.site-header nav a{padding:14px 0 12px}.intro{grid-template-columns:1fr;padding:24px 0;gap:20px}.intro h1{font-size:38px;line-height:1.08;letter-spacing:-1.7px}.intro-text{font-size:12px;margin-top:12px;max-width:480px}.intro-links{font-size:10px;gap:16px;margin-top:14px}.featured{height:250px}.featured-footer strong{font-size:13px}.featured-note{font-size:10px}.featured-header .eyebrow{font-size:9px}.model-pill{font-size:10px}.section-title,.case-page .section-title{font-size:32px;letter-spacing:-1.3px;line-height:1.12;margin-bottom:18px}.section-desc{font-size:12px}.task-shell{border-radius:20px;padding:14px}.task-shell>h3{font-size:19px}.task-shell>h3 span{font-size:14px}.task-subtitle{font-size:12px}.task-columns{grid-template-columns:1fr;gap:12px}.evaluation-panel{grid-column:auto}.task-panel{padding:13px;border-radius:14px}.panel-heading{flex-wrap:nowrap;font-size:12px}.panel-heading span{font-size:10px}.task-columns .output-panel img{height:auto;aspect-ratio:16/10}.prompt-preview p{font-size:13px}.task-settings .grid2{grid-template-columns:1fr;gap:12px}.task-full summary{font-size:11px;padding:12px}.task-full summary span+span{font-size:8px}.availability{padding:15px 2px;font-size:10px;gap:8px}section,section.alt,section.dark{padding:26px 0}.task-section{padding-top:0}.bar-card{padding:16px 8px 12px;border-radius:16px}.bar-heading{gap:12px;padding:0 8px}.bar-heading h3{font-size:26px}.bar-heading span{font-size:10px;max-width:115px;text-align:right}.bar-scroll{margin-top:8px}.bar-card .note{font-size:10px;margin:0 8px}.chart-card{padding:17px 14px}.seg button,.seg-lg button{font-size:11px;padding:8px 11px}.ch-legend{font-size:10px}.board{font-size:12px}.board th{font-size:9px}.board td{padding:10px 8px}.case-grid{gap:12px}.case-card .meta{padding:12px}.case-card .meta h4{font-size:13px}.case-card .meta p{font-size:10px;line-height:1.5}.case-card .th i{font-size:8px}.tk{padding:18px 14px;border-radius:18px}.tk h3{font-size:20px;line-height:1.3}.tk p.s{font-size:12px}.tk .figs{grid-template-columns:1fr}.paper-abstract summary{font-size:13px;padding:16px;align-items:flex-start}.paper-abstract summary span{font-size:10px;max-width:145px}.paper-abstract .abstract-card{font-size:12px;padding:0 16px 16px}.hero-authors{font-size:11px}.hero-affiliations{font-size:10px}.flow{grid-template-columns:1fr 1fr}.cite-box pre{font-size:10px}.case-page .agents{grid-template-columns:repeat(4,minmax(0,1fr))}.case-page .card{padding:16px!important}.case-page .in-layout{grid-template-columns:1fr}footer{margin:0 16px;font-size:10px;line-height:1.8}.btn{font-size:11px}}
24
+ @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
25
+ .section-header.centered .section-desc{margin-left:0;margin-right:0;text-align:left}
26
+ .bar-mobile-hint{display:none}@media(max-width:650px){.bar-mobile-hint{display:block;font-size:10px;color:var(--muted);padding:10px 8px 0}.kit-bars{min-width:960px}}
assets/code4scene-mark.svg ADDED
assets/fonts/OFL-IBM-Plex-Mono.txt ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright © 2017 IBM Corp. with Reserved Font Name "Plex"
2
+
3
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+
5
+ This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
6
+
7
+
8
+ -----------------------------------------------------------
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ -----------------------------------------------------------
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide
14
+ development of collaborative font projects, to support the font creation
15
+ efforts of academic and linguistic communities, and to provide a free and
16
+ open framework in which fonts may be shared and improved in partnership
17
+ with others.
18
+
19
+ The OFL allows the licensed fonts to be used, studied, modified and
20
+ redistributed freely as long as they are not sold by themselves. The
21
+ fonts, including any derivative works, can be bundled, embedded,
22
+ redistributed and/or sold with any software provided that any reserved
23
+ names are not used by derivative works. The fonts and derivatives,
24
+ however, cannot be released under any other type of license. The
25
+ requirement for fonts to remain under this license does not apply
26
+ to any document created using the fonts or their derivatives.
27
+
28
+ DEFINITIONS
29
+ "Font Software" refers to the set of files released by the Copyright
30
+ Holder(s) under this license and clearly marked as such. This may
31
+ include source files, build scripts and documentation.
32
+
33
+ "Reserved Font Name" refers to any names specified as such after the
34
+ copyright statement(s).
35
+
36
+ "Original Version" refers to the collection of Font Software components as
37
+ distributed by the Copyright Holder(s).
38
+
39
+ "Modified Version" refers to any derivative made by adding to, deleting,
40
+ or substituting -- in part or in whole -- any of the components of the
41
+ Original Version, by changing formats or by porting the Font Software to a
42
+ new environment.
43
+
44
+ "Author" refers to any designer, engineer, programmer, technical
45
+ writer or other person who contributed to the Font Software.
46
+
47
+ PERMISSION & CONDITIONS
48
+ Permission is hereby granted, free of charge, to any person obtaining
49
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+ redistribute, and sell modified and unmodified copies of the Font
51
+ Software, subject to the following conditions:
52
+
53
+ 1) Neither the Font Software nor any of its individual components,
54
+ in Original or Modified Versions, may be sold by itself.
55
+
56
+ 2) Original or Modified Versions of the Font Software may be bundled,
57
+ redistributed and/or sold with any software, provided that each copy
58
+ contains the above copyright notice and this license. These can be
59
+ included either as stand-alone text files, human-readable headers or
60
+ in the appropriate machine-readable metadata fields within text or
61
+ binary files as long as those fields can be easily viewed by the user.
62
+
63
+ 3) No Modified Version of the Font Software may use the Reserved Font
64
+ Name(s) unless explicit written permission is granted by the corresponding
65
+ Copyright Holder. This restriction only applies to the primary font name as
66
+ presented to the users.
67
+
68
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+ Software shall not be used to promote, endorse or advertise any
70
+ Modified Version, except to acknowledge the contribution(s) of the
71
+ Copyright Holder(s) and the Author(s) or with their explicit written
72
+ permission.
73
+
74
+ 5) The Font Software, modified or unmodified, in part or in whole,
75
+ must be distributed entirely under this license, and must not be
76
+ distributed under any other license. The requirement for fonts to
77
+ remain under this license does not apply to any document created
78
+ using the Font Software.
79
+
80
+ TERMINATION
81
+ This license becomes null and void if any of the above conditions are
82
+ not met.
83
+
84
+ DISCLAIMER
85
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+ OTHER DEALINGS IN THE FONT SOFTWARE.
assets/fonts/OFL-Inter.txt ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter)
2
+
3
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+ This license is copied below, and is also available with a FAQ at:
5
+ https://scripts.sil.org/OFL
6
+
7
+
8
+ -----------------------------------------------------------
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ -----------------------------------------------------------
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide
14
+ development of collaborative font projects, to support the font creation
15
+ efforts of academic and linguistic communities, and to provide a free and
16
+ open framework in which fonts may be shared and improved in partnership
17
+ with others.
18
+
19
+ The OFL allows the licensed fonts to be used, studied, modified and
20
+ redistributed freely as long as they are not sold by themselves. The
21
+ fonts, including any derivative works, can be bundled, embedded,
22
+ redistributed and/or sold with any software provided that any reserved
23
+ names are not used by derivative works. The fonts and derivatives,
24
+ however, cannot be released under any other type of license. The
25
+ requirement for fonts to remain under this license does not apply
26
+ to any document created using the fonts or their derivatives.
27
+
28
+ DEFINITIONS
29
+ "Font Software" refers to the set of files released by the Copyright
30
+ Holder(s) under this license and clearly marked as such. This may
31
+ include source files, build scripts and documentation.
32
+
33
+ "Reserved Font Name" refers to any names specified as such after the
34
+ copyright statement(s).
35
+
36
+ "Original Version" refers to the collection of Font Software components as
37
+ distributed by the Copyright Holder(s).
38
+
39
+ "Modified Version" refers to any derivative made by adding to, deleting,
40
+ or substituting -- in part or in whole -- any of the components of the
41
+ Original Version, by changing formats or by porting the Font Software to a
42
+ new environment.
43
+
44
+ "Author" refers to any designer, engineer, programmer, technical
45
+ writer or other person who contributed to the Font Software.
46
+
47
+ PERMISSION & CONDITIONS
48
+ Permission is hereby granted, free of charge, to any person obtaining
49
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+ redistribute, and sell modified and unmodified copies of the Font
51
+ Software, subject to the following conditions:
52
+
53
+ 1) Neither the Font Software nor any of its individual components,
54
+ in Original or Modified Versions, may be sold by itself.
55
+
56
+ 2) Original or Modified Versions of the Font Software may be bundled,
57
+ redistributed and/or sold with any software, provided that each copy
58
+ contains the above copyright notice and this license. These can be
59
+ included either as stand-alone text files, human-readable headers or
60
+ in the appropriate machine-readable metadata fields within text or
61
+ binary files as long as those fields can be easily viewed by the user.
62
+
63
+ 3) No Modified Version of the Font Software may use the Reserved Font
64
+ Name(s) unless explicit written permission is granted by the corresponding
65
+ Copyright Holder. This restriction only applies to the primary font name as
66
+ presented to the users.
67
+
68
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+ Software shall not be used to promote, endorse or advertise any
70
+ Modified Version, except to acknowledge the contribution(s) of the
71
+ Copyright Holder(s) and the Author(s) or with their explicit written
72
+ permission.
73
+
74
+ 5) The Font Software, modified or unmodified, in part or in whole,
75
+ must be distributed entirely under this license, and must not be
76
+ distributed under any other license. The requirement for fonts to
77
+ remain under this license does not apply to any document created
78
+ using the Font Software.
79
+
80
+ TERMINATION
81
+ This license becomes null and void if any of the above conditions are
82
+ not met.
83
+
84
+ DISCLAIMER
85
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+ OTHER DEALINGS IN THE FONT SOFTWARE.
assets/fonts/OFL-Source-Serif-4.txt ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Copyright 2014 The Source Serif 4 Project Authors (https://github.com/adobe-fonts/source-serif)
2
+
3
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+ This license is copied below, and is also available with a FAQ at:
5
+ https://openfontlicense.org
6
+
7
+
8
+ -----------------------------------------------------------
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ -----------------------------------------------------------
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide
14
+ development of collaborative font projects, to support the font creation
15
+ efforts of academic and linguistic communities, and to provide a free and
16
+ open framework in which fonts may be shared and improved in partnership
17
+ with others.
18
+
19
+ The OFL allows the licensed fonts to be used, studied, modified and
20
+ redistributed freely as long as they are not sold by themselves. The
21
+ fonts, including any derivative works, can be bundled, embedded,
22
+ redistributed and/or sold with any software provided that any reserved
23
+ names are not used by derivative works. The fonts and derivatives,
24
+ however, cannot be released under any other type of license. The
25
+ requirement for fonts to remain under this license does not apply
26
+ to any document created using the fonts or their derivatives.
27
+
28
+ DEFINITIONS
29
+ "Font Software" refers to the set of files released by the Copyright
30
+ Holder(s) under this license and clearly marked as such. This may
31
+ include source files, build scripts and documentation.
32
+
33
+ "Reserved Font Name" refers to any names specified as such after the
34
+ copyright statement(s).
35
+
36
+ "Original Version" refers to the collection of Font Software components as
37
+ distributed by the Copyright Holder(s).
38
+
39
+ "Modified Version" refers to any derivative made by adding to, deleting,
40
+ or substituting -- in part or in whole -- any of the components of the
41
+ Original Version, by changing formats or by porting the Font Software to a
42
+ new environment.
43
+
44
+ "Author" refers to any designer, engineer, programmer, technical
45
+ writer or other person who contributed to the Font Software.
46
+
47
+ PERMISSION & CONDITIONS
48
+ Permission is hereby granted, free of charge, to any person obtaining
49
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+ redistribute, and sell modified and unmodified copies of the Font
51
+ Software, subject to the following conditions:
52
+
53
+ 1) Neither the Font Software nor any of its individual components,
54
+ in Original or Modified Versions, may be sold by itself.
55
+
56
+ 2) Original or Modified Versions of the Font Software may be bundled,
57
+ redistributed and/or sold with any software, provided that each copy
58
+ contains the above copyright notice and this license. These can be
59
+ included either as stand-alone text files, human-readable headers or
60
+ in the appropriate machine-readable metadata fields within text or
61
+ binary files as long as those fields can be easily viewed by the user.
62
+
63
+ 3) No Modified Version of the Font Software may use the Reserved Font
64
+ Name(s) unless explicit written permission is granted by the corresponding
65
+ Copyright Holder. This restriction only applies to the primary font name as
66
+ presented to the users.
67
+
68
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+ Software shall not be used to promote, endorse or advertise any
70
+ Modified Version, except to acknowledge the contribution(s) of the
71
+ Copyright Holder(s) and the Author(s) or with their explicit written
72
+ permission.
73
+
74
+ 5) The Font Software, modified or unmodified, in part or in whole,
75
+ must be distributed entirely under this license, and must not be
76
+ distributed under any other license. The requirement for fonts to
77
+ remain under this license does not apply to any document created
78
+ using the Font Software.
79
+
80
+ TERMINATION
81
+ This license becomes null and void if any of the above conditions are
82
+ not met.
83
+
84
+ DISCLAIMER
85
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+ OTHER DEALINGS IN THE FONT SOFTWARE.
assets/fonts/ibm-plex-mono-latin-500-normal.woff2 ADDED
Binary file (14.9 kB). View file
 
assets/fonts/inter-latin-400-normal.woff2 ADDED
Binary file (23.7 kB). View file
 
assets/fonts/inter-latin-500-normal.woff2 ADDED
Binary file (24.3 kB). View file
 
assets/fonts/inter-latin-700-normal.woff2 ADDED
Binary file (24.4 kB). View file
 
assets/fonts/source-serif-4-latin-400-normal.woff2 ADDED
Binary file (20.1 kB). View file
 
assets/leaderboard-bars.js ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Bar layout and name wrapping adapted from BuildingBench figure-kit/bar-static/build.py.
2
+ // Data is exclusively the existing Code4Scene data/site.js paper board; no reference benchmark scores.
3
+ (async function(){
4
+ await Promise.all([document.fonts.load('400 13px Inter'),document.fonts.load('700 13px Inter'),document.fonts.load('500 15.5px "IBM Plex Mono"')]);
5
+ const ALL = {"overall": [{"name": "GPT-6 Astra (max)", "org": "OpenAI", "score": 0.6193352866666667, "colour": "#10A37F", "ink": "#ffffff", "label": "62", "new": false}, {"name": "Gemini 3.8 Flash (high)", "org": "Google", "score": 0.6189750266666667, "colour": "#7b1fa2", "ink": "#ffffff", "label": "62", "new": false}, {"name": "Claude Fable 5.1 (max)", "org": "Anthropic", "score": 0.60604898, "colour": "#D97757", "ink": "#ffffff", "label": "61", "new": false}, {"name": "Claude Opus 5 (max)", "org": "Anthropic", "score": 0.5931299933333334, "colour": "#D97757", "ink": "#ffffff", "label": "59", "new": false}, {"name": "GPT-5.6 Sol (high)", "org": "OpenAI", "score": 0.5499994666666667, "colour": "#10A37F", "ink": "#ffffff", "label": "55", "new": false}, {"name": "Muse Spark 1.3 (medium)", "org": "Meta", "score": 0.5022053666666666, "colour": "#42a5f5", "ink": "#111111", "label": "50", "new": false}, {"name": "GLM-5.3 Flash (max)", "org": "Z.ai", "score": 0.4147088666666666, "colour": "#96650b", "ink": "#ffffff", "label": "41", "new": false}, {"name": "Qwen 3.8 27B (thinking off)", "org": "Alibaba", "score": 0.37818169333333335, "colour": "#fe7016", "ink": "#111111", "label": "38", "new": false}, {"name": "Grok 4.6 (high)", "org": "xAI", "score": 0.37567506, "colour": "#111111", "ink": "#ffffff", "label": "38", "new": false}, {"name": "Qwen 3.8 27B (thinking on)", "org": "Alibaba", "score": 0.37094399333333333, "colour": "#fe7016", "ink": "#111111", "label": "37", "new": false}, {"name": "Inkling (high)", "org": "Thinking Machines", "score": 0.31150237333333336, "colour": "#686868", "ink": "#ffffff", "label": "31", "new": false}, {"name": "Gemma 4 31B (thinking on)", "org": "Google", "score": 0.29812257999999997, "colour": "#7b1fa2", "ink": "#ffffff", "label": "30", "new": false}, {"name": "Gemma 4 31B (thinking off)", "org": "Google", "score": 0.28498897333333334, "colour": "#7b1fa2", "ink": "#ffffff", "label": "28", "new": false}, {"name": "DeepSeek V4.1 Flash (high)", "org": "DeepSeek", "score": 0.22658958, "colour": "#3f51e0", "ink": "#ffffff", "label": "23", "new": false}], "t2s": [{"name": "Claude Fable 5.1 (max)", "org": "Anthropic", "score": 0.78775, "colour": "#D97757", "ink": "#ffffff", "label": "79", "new": false}, {"name": "GPT-6 Astra (max)", "org": "OpenAI", "score": 0.72382, "colour": "#10A37F", "ink": "#ffffff", "label": "72", "new": false}, {"name": "Claude Opus 5 (max)", "org": "Anthropic", "score": 0.7181599999999999, "colour": "#D97757", "ink": "#ffffff", "label": "72", "new": false}, {"name": "GPT-5.6 Sol (high)", "org": "OpenAI", "score": 0.70704, "colour": "#10A37F", "ink": "#ffffff", "label": "71", "new": false}, {"name": "Gemini 3.8 Flash (high)", "org": "Google", "score": 0.65689, "colour": "#7b1fa2", "ink": "#ffffff", "label": "66", "new": false}, {"name": "Muse Spark 1.3 (medium)", "org": "Meta", "score": 0.646195, "colour": "#42a5f5", "ink": "#111111", "label": "65", "new": false}, {"name": "Grok 4.6 (high)", "org": "xAI", "score": 0.56721, "colour": "#111111", "ink": "#ffffff", "label": "57", "new": false}, {"name": "Qwen 3.8 27B (thinking off)", "org": "Alibaba", "score": 0.55666, "colour": "#fe7016", "ink": "#111111", "label": "56", "new": false}, {"name": "Qwen 3.8 27B (thinking on)", "org": "Alibaba", "score": 0.51571, "colour": "#fe7016", "ink": "#111111", "label": "52", "new": false}, {"name": "GLM-5.3 Flash (max)", "org": "Z.ai", "score": 0.5094299999999999, "colour": "#96650b", "ink": "#ffffff", "label": "51", "new": false}, {"name": "Gemma 4 31B (thinking on)", "org": "Google", "score": 0.470705, "colour": "#7b1fa2", "ink": "#ffffff", "label": "47", "new": false}, {"name": "Gemma 4 31B (thinking off)", "org": "Google", "score": 0.45494, "colour": "#7b1fa2", "ink": "#ffffff", "label": "45", "new": false}, {"name": "Inkling (high)", "org": "Thinking Machines", "score": 0.42498500000000006, "colour": "#686868", "ink": "#ffffff", "label": "42", "new": false}, {"name": "DeepSeek V4.1 Flash (high)", "org": "DeepSeek", "score": 0.24269, "colour": "#3f51e0", "ink": "#ffffff", "label": "24", "new": false}], "i2s": [{"name": "Gemini 3.8 Flash (high)", "org": "Google", "score": 0.5810600533333334, "colour": "#7b1fa2", "ink": "#ffffff", "label": "58", "new": false}, {"name": "GPT-6 Astra (max)", "org": "OpenAI", "score": 0.5148505733333334, "colour": "#10A37F", "ink": "#ffffff", "label": "51", "new": false}, {"name": "Claude Opus 5 (max)", "org": "Anthropic", "score": 0.46809998666666675, "colour": "#D97757", "ink": "#ffffff", "label": "47", "new": false}, {"name": "Claude Fable 5.1 (max)", "org": "Anthropic", "score": 0.4243479600000001, "colour": "#D97757", "ink": "#ffffff", "label": "42", "new": false}, {"name": "GPT-5.6 Sol (high)", "org": "OpenAI", "score": 0.3929589333333333, "colour": "#10A37F", "ink": "#ffffff", "label": "39", "new": false}, {"name": "Muse Spark 1.3 (medium)", "org": "Meta", "score": 0.35821573333333334, "colour": "#42a5f5", "ink": "#111111", "label": "36", "new": false}, {"name": "GLM-5.3 Flash (max)", "org": "Z.ai", "score": 0.3199877333333333, "colour": "#96650b", "ink": "#ffffff", "label": "32", "new": false}, {"name": "Qwen 3.8 27B (thinking on)", "org": "Alibaba", "score": 0.2261779866666667, "colour": "#fe7016", "ink": "#111111", "label": "23", "new": false}, {"name": "DeepSeek V4.1 Flash (high)", "org": "DeepSeek", "score": 0.21048916, "colour": "#3f51e0", "ink": "#ffffff", "label": "21", "new": false}, {"name": "Qwen 3.8 27B (thinking off)", "org": "Alibaba", "score": 0.19970338666666668, "colour": "#fe7016", "ink": "#111111", "label": "20", "new": false}, {"name": "Inkling (high)", "org": "Thinking Machines", "score": 0.19801974666666666, "colour": "#686868", "ink": "#ffffff", "label": "20", "new": false}, {"name": "Grok 4.6 (high)", "org": "xAI", "score": 0.18414012, "colour": "#111111", "ink": "#ffffff", "label": "18", "new": false}, {"name": "Gemma 4 31B (thinking on)", "org": "Google", "score": 0.12554015999999998, "colour": "#7b1fa2", "ink": "#ffffff", "label": "13", "new": false}, {"name": "Gemma 4 31B (thinking off)", "org": "Google", "score": 0.11503794666666667, "colour": "#7b1fa2", "ink": "#ffffff", "label": "12", "new": false}]};
6
+ const LOGOS = {"Anthropic": {"icon": "anthropic", "fill": "#141413", "viewBox": "0 0 24 24", "inner": "<path d=\"M13.827 3.52h3.603L24 20h-3.603l-6.57-16.48zm-7.258 0h3.767L16.906 20h-3.674l-1.343-3.461H5.017l-1.344 3.46H0L6.57 3.522zm4.132 9.959L8.453 7.687 6.205 13.48H10.7z\"></path>", "rule": "evenodd"}, "OpenAI": {"icon": "openai", "fill": "#141413", "viewBox": "0 0 24 24", "inner": "<path d=\"M9.205 8.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523 2.854 0 4.662 2.212 4.662 4.566 0 .167 0 .357-.024.547l-4.71-2.759a.797.797 0 00-.856 0l-5.97 3.473zm10.609 8.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473 1.95-1.118a.433.433 0 01.476 0l4.543 2.617c1.309.76 2.189 2.378 2.189 3.948 0 1.808-1.07 3.473-2.76 4.163zM7.802 12.703l-1.95-1.142c-.167-.095-.239-.238-.239-.428V5.899c0-2.545 1.95-4.472 4.591-4.472 1 0 1.927.333 2.712.928L8.23 5.067c-.285.166-.428.404-.428.737v6.898zM12 15.128l-2.795-1.57v-3.33L12 8.658l2.795 1.57v3.33L12 15.128zm1.796 7.23c-1 0-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.482 4.482 0 014.21 6.327v5.423c0 .333.143.571.428.738l5.947 3.449-1.95 1.118a.432.432 0 01-.476 0zm-.262 3.9c-2.688 0-4.662-2.021-4.662-4.519 0-.19.024-.38.047-.57l4.686 2.71c.286.167.571.167.856 0l5.97-3.448v2.26c0 .19-.07.333-.237.428l-4.543 2.616c-.619.357-1.356.523-2.117.523zm5.899 2.83a5.947 5.947 0 005.827-4.756C22.287 18.339 24 15.84 24 13.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498 0-3.401-2.759-5.947-5.946-5.947-.642 0-1.26.095-1.88.31A5.962 5.962 0 0010.205 0a5.947 5.947 0 00-5.827 4.757C1.713 5.447 0 7.945 0 10.49c0 1.666.713 3.283 1.998 4.448-.119.5-.19 1-.19 1.499 0 3.401 2.759 5.946 5.946 5.946.642 0 1.26-.095 1.88-.309a5.96 5.96 0 004.162 1.713z\"></path>", "rule": "evenodd"}, "Meta": {"icon": "meta-color", "viewBox": "0 0 24 24", "inner": "<path d=\"M6.897 4h-.024l-.031 2.615h.022c1.715 0 3.046 1.357 5.94 6.246l.175.297.012.02 1.62-2.438-.012-.019a48.763 48.763 0 00-1.098-1.716 28.01 28.01 0 00-1.175-1.629C10.413 4.932 8.812 4 6.896 4z\" fill=\"url(#lobe-icons-meta-0-_R_0_)\"></path><path d=\"M6.873 4C4.95 4.01 3.247 5.258 2.02 7.17a4.352 4.352 0 00-.01.017l2.254 1.231.011-.017c.718-1.083 1.61-1.774 2.568-1.785h.021L6.896 4h-.023z\" fill=\"url(#lobe-icons-meta-1-_R_0_)\"></path><path d=\"M2.019 7.17l-.011.017C1.2 8.447.598 9.995.274 11.664l-.005.022 2.534.6.004-.022c.27-1.467.786-2.828 1.456-3.845l.011-.017L2.02 7.17z\" fill=\"url(#lobe-icons-meta-2-_R_0_)\"></path><path d=\"M2.807 12.264l-2.533-.6-.005.022c-.177.918-.267 1.851-.269 2.786v.023l2.598.233v-.023a12.591 12.591 0 01.21-2.44z\" fill=\"url(#lobe-icons-meta-3-_R_0_)\"></path><path d=\"M2.677 15.537a5.462 5.462 0 01-.079-.813v-.022L0 14.468v.024a8.89 8.89 0 00.146 1.652l2.535-.585a4.106 4.106 0 01-.004-.022z\" fill=\"url(#lobe-icons-meta-4-_R_0_)\"></path><path d=\"M3.27 16.89c-.284-.31-.484-.756-.589-1.328l-.004-.021-2.535.585.004.021c.192 1.01.568 1.85 1.106 2.487l.014.017 2.018-1.745a2.106 2.106 0 01-.015-.016z\" fill=\"url(#lobe-icons-meta-5-_R_0_)\"></path><path d=\"M10.78 9.654c-1.528 2.35-2.454 3.825-2.454 3.825-2.035 3.2-2.739 3.917-3.871 3.917a1.545 1.545 0 01-1.186-.508l-2.017 1.744.014.017C2.01 19.518 3.058 20 4.356 20c1.963 0 3.374-.928 5.884-5.33l1.766-3.13a41.283 41.283 0 00-1.227-1.886z\" fill=\"#0082FB\"></path><path d=\"M13.502 5.946l-.016.016c-.4.43-.786.908-1.16 1.416.378.483.768 1.024 1.175 1.63.48-.743.928-1.345 1.367-1.807l.016-.016-1.382-1.24z\" fill=\"url(#lobe-icons-meta-6-_R_0_)\"></path><path d=\"M20.918 5.713C19.853 4.633 18.583 4 17.225 4c-1.432 0-2.637.787-3.723 1.944l-.016.016 1.382 1.24.016-.017c.715-.747 1.408-1.12 2.176-1.12.826 0 1.6.39 2.27 1.075l.015.016 1.589-1.425-.016-.016z\" fill=\"#0082FB\"></path><path d=\"M23.998 14.125c-.06-3.467-1.27-6.566-3.064-8.396l-.016-.016-1.588 1.424.015.016c1.35 1.392 2.277 3.98 2.361 6.971v.023h2.292v-.022z\" fill=\"url(#lobe-icons-meta-7-_R_0_)\"></path><path d=\"M23.998 14.15v-.023h-2.292v.022c.004.14.006.282.006.424 0 .815-.121 1.474-.368 1.95l-.011.022 1.708 1.782.013-.02c.62-.96.946-2.293.946-3.91 0-.083 0-.165-.002-.247z\" fill=\"url(#lobe-icons-meta-8-_R_0_)\"></path><path d=\"M21.344 16.52l-.011.02c-.214.402-.519.67-.917.787l.778 2.462a3.493 3.493 0 00.438-.182 3.558 3.558 0 001.366-1.218l.044-.065.012-.02-1.71-1.784z\" fill=\"url(#lobe-icons-meta-9-_R_0_)\"></path><path d=\"M19.92 17.393c-.262 0-.492-.039-.718-.14l-.798 2.522c.449.153.927.222 1.46.222.492 0 .943-.073 1.352-.215l-.78-2.462c-.167.05-.341.075-.517.073z\" fill=\"url(#lobe-icons-meta-10-_R_0_)\"></path><path d=\"M18.323 16.534l-.014-.017-1.836 1.914.016.017c.637.682 1.246 1.105 1.937 1.337l.797-2.52c-.291-.125-.573-.353-.9-.731z\" fill=\"url(#lobe-icons-meta-11-_R_0_)\"></path><path d=\"M18.309 16.515c-.55-.642-1.232-1.712-2.303-3.44l-1.396-2.336-.011-.02-1.62 2.438.012.02.989 1.668c.959 1.61 1.74 2.774 2.493 3.585l.016.016 1.834-1.914a2.353 2.353 0 01-.014-.017z\" fill=\"url(#lobe-icons-meta-12-_R_0_)\"></path><defs><linearGradient id=\"lobe-icons-meta-0-_R_0_\" x1=\"75.897%\" x2=\"26.312%\" y1=\"89.199%\" y2=\"12.194%\"><stop offset=\".06%\" stop-color=\"#0867DF\"></stop><stop offset=\"45.39%\" stop-color=\"#0668E1\"></stop><stop offset=\"85.91%\" stop-color=\"#0064E0\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-1-_R_0_\" x1=\"21.67%\" x2=\"97.068%\" y1=\"75.874%\" y2=\"23.985%\"><stop offset=\"13.23%\" stop-color=\"#0064DF\"></stop><stop offset=\"99.88%\" stop-color=\"#0064E0\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-2-_R_0_\" x1=\"38.263%\" x2=\"60.895%\" y1=\"89.127%\" y2=\"16.131%\"><stop offset=\"1.47%\" stop-color=\"#0072EC\"></stop><stop offset=\"68.81%\" stop-color=\"#0064DF\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-3-_R_0_\" x1=\"47.032%\" x2=\"52.15%\" y1=\"90.19%\" y2=\"15.745%\"><stop offset=\"7.31%\" stop-color=\"#007CF6\"></stop><stop offset=\"99.43%\" stop-color=\"#0072EC\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-4-_R_0_\" x1=\"52.155%\" x2=\"47.591%\" y1=\"58.301%\" y2=\"37.004%\"><stop offset=\"7.31%\" stop-color=\"#007FF9\"></stop><stop offset=\"100%\" stop-color=\"#007CF6\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-5-_R_0_\" x1=\"37.689%\" x2=\"61.961%\" y1=\"12.502%\" y2=\"63.624%\"><stop offset=\"7.31%\" stop-color=\"#007FF9\"></stop><stop offset=\"100%\" stop-color=\"#0082FB\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-6-_R_0_\" x1=\"34.808%\" x2=\"62.313%\" y1=\"68.859%\" y2=\"23.174%\"><stop offset=\"27.99%\" stop-color=\"#007FF8\"></stop><stop offset=\"91.41%\" stop-color=\"#0082FB\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-7-_R_0_\" x1=\"43.762%\" x2=\"57.602%\" y1=\"6.235%\" y2=\"98.514%\"><stop offset=\"0%\" stop-color=\"#0082FB\"></stop><stop offset=\"99.95%\" stop-color=\"#0081FA\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-8-_R_0_\" x1=\"60.055%\" x2=\"39.88%\" y1=\"4.661%\" y2=\"69.077%\"><stop offset=\"6.19%\" stop-color=\"#0081FA\"></stop><stop offset=\"100%\" stop-color=\"#0080F9\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-9-_R_0_\" x1=\"30.282%\" x2=\"61.081%\" y1=\"59.32%\" y2=\"33.244%\"><stop offset=\"0%\" stop-color=\"#027AF3\"></stop><stop offset=\"100%\" stop-color=\"#0080F9\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-10-_R_0_\" x1=\"20.433%\" x2=\"82.112%\" y1=\"50.001%\" y2=\"50.001%\"><stop offset=\"0%\" stop-color=\"#0377EF\"></stop><stop offset=\"99.94%\" stop-color=\"#0279F1\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-11-_R_0_\" x1=\"40.303%\" x2=\"72.394%\" y1=\"35.298%\" y2=\"57.811%\"><stop offset=\".19%\" stop-color=\"#0471E9\"></stop><stop offset=\"100%\" stop-color=\"#0377EF\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-12-_R_0_\" x1=\"32.254%\" x2=\"68.003%\" y1=\"19.719%\" y2=\"84.908%\"><stop offset=\"27.65%\" stop-color=\"#0867DF\"></stop><stop offset=\"100%\" stop-color=\"#0471E9\"></stop></linearGradient></defs>", "rule": null}, "Google": {"icon": "google-color", "viewBox": "0 0 24 24", "inner": "<path d=\"M23 12.245c0-.905-.075-1.565-.236-2.25h-10.54v4.083h6.186c-.124 1.014-.797 2.542-2.294 3.569l-.021.136 3.332 2.53.23.022C21.779 18.417 23 15.593 23 12.245z\" fill=\"#4285F4\"></path><path d=\"M12.225 23c3.03 0 5.574-.978 7.433-2.665l-3.542-2.688c-.948.648-2.22 1.1-3.891 1.1a6.745 6.745 0 01-6.386-4.572l-.132.011-3.465 2.628-.045.124C4.043 20.531 7.835 23 12.225 23z\" fill=\"#34A853\"></path><path d=\"M5.84 14.175A6.65 6.65 0 015.463 12c0-.758.138-1.491.361-2.175l-.006-.147-3.508-2.67-.115.054A10.831 10.831 0 001 12c0 1.772.436 3.447 1.197 4.938l3.642-2.763z\" fill=\"#FBBC05\"></path><path d=\"M12.225 5.253c2.108 0 3.529.892 4.34 1.638l3.167-3.031C17.787 2.088 15.255 1 12.225 1 7.834 1 4.043 3.469 2.197 7.062l3.63 2.763a6.77 6.77 0 016.398-4.572z\" fill=\"#EB4335\"></path>", "rule": null}, "DeepSeek": {"icon": "deepseek-color", "viewBox": "0 0 24 24", "inner": "<path d=\"M23.748 4.482c-.254-.124-.364.113-.512.234-.051.039-.094.09-.137.136-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.156-.708-.311-.955-.65-.172-.241-.219-.51-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434 1.202-.422 1.84.027 1.436.633 2.58 1.838 3.393.137.093.172.187.129.323-.082.28-.18.552-.266.833-.055.179-.137.217-.329.14a5.526 5.526 0 01-1.736-1.18c-.857-.828-1.631-1.742-2.597-2.458a11.365 11.365 0 00-.689-.471c-.985-.957.13-1.743.388-1.836.27-.098.093-.432-.779-.428-.872.004-1.67.295-2.687.684a3.055 3.055 0 01-.465.137 9.597 9.597 0 00-2.883-.102c-1.885.21-3.39 1.102-4.497 2.623C.082 8.606-.231 10.684.152 12.85c.403 2.284 1.569 4.175 3.36 5.653 1.858 1.533 3.997 2.284 6.438 2.14 1.482-.085 3.133-.284 4.994-1.86.47.234.962.327 1.78.397.63.059 1.236-.03 1.705-.128.735-.156.684-.837.419-.961-2.155-1.004-1.682-.595-2.113-.926 1.096-1.296 2.746-2.642 3.392-7.003.05-.347.007-.565 0-.845-.004-.17.035-.237.23-.256a4.173 4.173 0 001.545-.475c1.396-.763 1.96-2.015 2.093-3.517.02-.23-.004-.467-.247-.588zM11.581 18c-2.089-1.642-3.102-2.183-3.52-2.16-.392.024-.321.471-.235.763.09.288.207.486.371.739.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.167-1.361-.802-2.5-1.86-3.301-3.307-.774-1.393-1.224-2.887-1.298-4.482-.02-.386.093-.522.477-.592a4.696 4.696 0 011.529-.039c2.132.312 3.946 1.265 5.468 2.774.868.86 1.525 1.887 2.202 2.891.72 1.066 1.494 2.082 2.48 2.914.348.292.625.514.891.677-.802.09-2.14.11-3.054-.614zm1-6.44a.306.306 0 01.415-.287.302.302 0 01.2.288.306.306 0 01-.31.307.303.303 0 01-.304-.308zm3.11 1.596c-.2.081-.399.151-.59.16a1.245 1.245 0 01-.798-.254c-.274-.23-.47-.358-.552-.758a1.73 1.73 0 01.016-.588c.07-.327-.008-.537-.239-.727-.187-.156-.426-.199-.688-.199a.559.559 0 01-.254-.078c-.11-.054-.2-.19-.114-.358.028-.054.16-.186.192-.21.356-.202.767-.136 1.146.016.352.144.618.408 1.001.782.391.451.462.576.685.914.176.265.336.537.445.848.067.195-.019.354-.25.452z\" fill=\"#4D6BFE\"></path>", "rule": null}, "xAI": {"icon": "xai", "tile": "#111111", "shape": "square", "viewBox": "0 0 24 24", "inner": "<path d=\"M6.469 8.776L16.512 23h-4.464L2.005 8.776H6.47zm-.004 7.9l2.233 3.164L6.467 23H2l4.465-6.324zM22 2.582V23h-3.659V7.764L22 2.582zM22 1l-9.952 14.095-2.233-3.163L17.533 1H22z\"></path>", "rule": "evenodd"}, "Z.ai": {"icon": "zai", "tile": "#111111", "shape": "square", "viewBox": "0 0 24 24", "inner": "<path d=\"M12.105 2L9.927 4.953H.653L2.83 2h9.276zM23.254 19.048L21.078 22h-9.242l2.174-2.952h9.244zM24 2L9.264 22H0L14.736 2H24z\"></path>", "rule": "evenodd"}, "Moonshot": {"icon": "kimi", "tile": "#111111", "shape": "square", "viewBox": "0 0 24 24", "inner": "<path d=\"M21.846 0a1.923 1.923 0 110 3.846H20.15a.226.226 0 01-.227-.226V1.923C19.923.861 20.784 0 21.846 0z\"></path><path d=\"M11.065 11.199l7.257-7.2c.137-.136.06-.41-.116-.41H14.3a.164.164 0 00-.117.051l-7.82 7.756c-.122.12-.302.013-.302-.179V3.82c0-.127-.083-.23-.185-.23H3.186c-.103 0-.186.103-.186.23V19.77c0 .128.083.23.186.23h2.69c.103 0 .186-.102.186-.23v-3.25c0-.069.025-.135.069-.178l2.424-2.406a.158.158 0 01.205-.023l6.484 4.772a7.677 7.677 0 003.453 1.283c.108.012.2-.095.2-.23v-3.06c0-.117-.07-.212-.164-.227a5.028 5.028 0 01-2.027-.807l-5.613-4.064c-.117-.078-.132-.279-.028-.381z\"></path>", "rule": "evenodd"}, "StepFun": {"icon": "stepfun", "tile": "#01d9cf", "shape": "circle", "viewBox": "0 0 24 24", "inner": "<path d=\"M12 0C5.372 0 0 5.372 0 12s5.372 12 12 12 12-5.372 12-12S18.628 0 12 0zM8.762 19.614H4.376v-4.386h4.386v4.386zm5.423 0H9.798v-4.386h4.387v4.386zm0-5.42H9.798V9.81h4.387v4.386zm0-5.418H9.798V4.39h4.387v4.386zm5.422-.004h-4.386V4.386h4.386v4.386z\"></path>", "rule": "evenodd"}, "Undisclosed": {"icon": "unionalpha-color", "viewBox": "0 0 24 24", "inner": "<path d=\"M12.5709 13.3706C12.6556 13.4345 12.8442 13.7666 12.9123 13.875L13.4693 14.7624C13.7592 15.2257 14.0526 15.6895 14.3386 16.1555C14.4141 16.2951 14.4587 16.3467 14.3445 16.48C13.9818 16.9035 13.6097 17.321 13.2426 17.7406C12.6047 18.4698 11.5795 19.0999 10.6086 19.2277C10.5721 19.2324 10.5355 19.2366 10.4988 19.2405C10.3741 19.2219 10.2359 19.2226 10.1067 19.2077C9.62828 19.1531 9.13925 18.9833 8.73437 18.7229C8.58284 18.6255 8.20429 18.365 8.13135 18.2015C8.7166 18.0941 8.9971 17.6275 9.36375 17.2093C9.46647 17.0921 9.56558 16.9681 9.66524 16.8481C10.2482 16.1439 10.8249 15.4346 11.3952 14.7202C11.5532 14.5228 12.4352 13.3557 12.5709 13.3706Z\" fill=\"url(#lobe-icons-union-alpha-0-_R_0_)\"></path><path d=\"M23.9999 4.03711C23.9427 4.17731 23.8557 4.29083 23.7726 4.41626C23.5172 4.80162 23.2489 5.18017 22.9952 5.56645C21.7031 7.52279 20.3758 9.45572 19.0141 11.3643L18.2195 12.4575C18.0914 12.6376 17.8772 12.9025 17.8103 13.1017C17.5635 12.8289 17.3373 12.3638 17.1271 12.052C16.7507 11.4939 16.4007 10.8942 16.0072 10.3494C15.964 10.2787 15.9232 10.1649 15.8967 10.0866C15.9509 9.95674 16.2386 9.57362 16.3367 9.43732L17.184 8.26053L19.1886 5.47039C19.3731 5.21667 20.0937 4.17696 20.2819 4.03711H23.9999Z\" fill=\"url(#lobe-icons-union-alpha-1-_R_0_)\"></path><path d=\"M5.67537 4.61919C5.91433 4.59978 6.08153 4.64306 6.2388 4.65534C7.31097 4.73906 7.93546 5.78123 8.52073 6.55699C8.55486 6.60222 8.67307 6.77678 8.67756 6.81818C8.50211 6.78591 8.24062 6.87736 8.10425 6.98766C7.77451 7.25438 7.47306 7.60773 7.16738 7.90822C6.82713 8.24411 6.49119 8.58431 6.15964 8.92879C5.96629 9.12818 5.68162 9.40902 5.50821 9.61426C4.95769 10.264 4.58519 11.0455 4.42712 11.8823C4.38673 12.1047 4.33596 12.4789 4.34474 12.6979C4.38003 13.5788 4.68343 14.4541 5.20029 15.1681C5.44662 15.5083 5.69406 15.7534 5.97744 16.05C6.42647 16.5145 6.87971 16.9749 7.33712 17.4311C8.17604 18.2704 8.83084 19.0614 10.1068 19.2072C10.2359 19.2221 10.3741 19.2214 10.4989 19.24C10.4563 19.2438 10.4156 19.2437 10.3732 19.2456C9.63946 19.2779 8.9074 19.2593 8.17299 19.2571L6.81265 19.2561C6.34052 19.2551 5.82434 19.2555 5.36063 19.1766C4.33929 19.003 3.55816 18.5177 2.78058 17.8624C1.69732 16.9495 0.760791 15.9389 0.316835 14.5629C0.188539 14.1652 0.0845513 13.7688 0.0423572 13.352C0.0341296 13.2704 0.025306 13.1714 0 13.0938V12.1601C0.024482 12.0989 0.0539558 11.7751 0.0701206 11.682C0.118265 11.3996 0.185469 11.1208 0.271272 10.8475C0.464403 10.234 0.818387 9.53555 1.19037 9.01281C1.67633 8.32991 2.33983 7.69834 2.92227 7.09354L3.99839 5.99473C4.54749 5.44174 4.97245 4.98537 5.67537 4.61919Z\" fill=\"url(#lobe-icons-union-alpha-2-_R_0_)\"></path><path d=\"M16.0072 10.3494C16.4008 10.8942 16.7508 11.4939 17.1271 12.052C17.3373 12.3638 17.5635 12.8289 17.8104 13.1017C17.8351 13.1633 18.024 13.4562 18.0701 13.5307L18.6905 14.5371C19.1466 15.2881 19.6091 16.0351 20.078 16.7781C20.4399 17.3561 20.7699 17.9692 21.2574 18.4512C21.5622 18.7524 21.9167 18.9416 22.3073 19.1101C22.4041 19.1518 22.5241 19.1723 22.6131 19.2159L22.5999 19.2374C22.543 19.2593 22.4118 19.2355 22.3393 19.2386C21.4806 19.2765 20.6139 19.2542 19.7541 19.2467C19.2053 19.2419 18.6361 19.2653 18.0899 19.2461C17.9536 19.241 17.8182 19.2222 17.6855 19.1901C17.2306 19.0825 16.8145 18.8188 16.4914 18.4847C16.2155 18.1993 16.0406 17.8931 15.8347 17.558C15.6277 17.2199 15.423 16.8802 15.2208 16.5391L13.5134 13.7217C13.602 13.5224 14.0393 12.9594 14.2007 12.7419L16.0072 10.3494Z\" fill=\"url(#lobe-icons-union-alpha-3-_R_0_)\"></path><path d=\"M11.3662 4.03706C11.4355 4.04736 11.5279 4.0639 11.5825 4.11302C11.7409 4.25538 11.8717 4.45147 12.0009 4.62253C13.1498 6.14388 14.2121 7.73081 15.2749 9.31286C15.3244 9.38658 15.4528 9.56569 15.4748 9.646C15.3946 9.79571 15.0698 10.1847 14.9522 10.3329L13.8456 11.7243C13.647 11.9762 13.455 12.2345 13.2586 12.4878C13.1566 12.6194 13.0064 12.8305 12.8889 12.9425C12.6125 12.5563 12.3581 12.1531 12.0887 11.7623L9.66701 8.22137C9.43592 7.88192 9.20191 7.54448 8.96502 7.20905C8.92518 7.15337 8.69584 6.86111 8.67758 6.81865C8.67307 6.77723 8.55489 6.60269 8.52077 6.55747C7.9355 5.7817 7.311 4.73956 6.23883 4.65583C6.08162 4.64356 5.91434 4.61968 5.67542 4.61968C6.15935 4.35771 6.84659 4.17302 7.38673 4.09926C8.69114 3.92117 10.0523 4.03706 11.3662 4.03706Z\" fill=\"url(#lobe-icons-union-alpha-4-_R_0_)\"></path><path d=\"M15.3619 8.08232L15.874 8.87602L19.2024 4.16504L15.3619 8.08232Z\" fill=\"url(#lobe-icons-union-alpha-5-_R_0_)\"></path><defs><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"lobe-icons-union-alpha-0-_R_0_\" x1=\"21.5578\" x2=\"21.5578\" y1=\"4.03711\" y2=\"12.691\"><stop stop-color=\"currentColor\" stop-opacity=\"0.39\"></stop><stop offset=\"1\" stop-color=\"currentColor\" stop-opacity=\"0.22\"></stop></linearGradient><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"lobe-icons-union-alpha-1-_R_0_\" x1=\"21.5578\" x2=\"21.5578\" y1=\"4.03711\" y2=\"12.691\"><stop stop-color=\"currentColor\" stop-opacity=\"0.39\"></stop><stop offset=\"1\" stop-color=\"currentColor\" stop-opacity=\"0.22\"></stop></linearGradient><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"lobe-icons-union-alpha-2-_R_0_\" x1=\"5.27425\" x2=\"5.24944\" y1=\"5.41908\" y2=\"14.0217\"><stop stop-color=\"currentColor\" stop-opacity=\"0.15\"></stop><stop offset=\"1\" stop-color=\"currentColor\" stop-opacity=\"0.87\"></stop></linearGradient><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"lobe-icons-union-alpha-3-_R_0_\" x1=\"14.1443\" x2=\"14.1443\" y1=\"14.4319\" y2=\"19.26\"><stop stop-color=\"currentColor\" stop-opacity=\"0.93\"></stop><stop offset=\"1\" stop-color=\"currentColor\" stop-opacity=\"0.57\"></stop></linearGradient><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"lobe-icons-union-alpha-4-_R_0_\" x1=\"14.1443\" x2=\"14.1443\" y1=\"14.4319\" y2=\"19.26\"><stop stop-color=\"currentColor\" stop-opacity=\"0.93\"></stop><stop offset=\"1\" stop-color=\"currentColor\" stop-opacity=\"0.57\"></stop></linearGradient><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"lobe-icons-union-alpha-5-_R_0_\" x1=\"17.2822\" x2=\"17.2822\" y1=\"4.16504\" y2=\"8.87602\"><stop stop-color=\"#D72725\"></stop><stop offset=\"1\" stop-color=\"#CD2920\"></stop></linearGradient></defs>", "rule": null}, "Cognition": {"icon": "devin-color", "viewBox": "0 0 24 24", "inner": "<path d=\"M2.033 9.867l2.554 1.483a.589.589 0 00.592 0l2.554-1.483.01-.008a.608.608 0 00.11-.084l.013-.015a.631.631 0 00.076-.1c.003-.005.008-.01.01-.016a.558.558 0 00.052-.125l.007-.028a.611.611 0 00.019-.14V7.868c0-.572.307-1.105.8-1.392a1.595 1.595 0 011.598 0l1.277.742a.54.54 0 00.129.053l.028.01c.044.01.088.015.133.016h.006l.013-.002a.587.587 0 00.27-.074l.011-.004 2.554-1.483a.596.596 0 00.297-.516V2.253a.595.595 0 00-.297-.516L12.293.257a.587.587 0 00-.591 0L9.148 1.737l-.01.01a.609.609 0 00-.109.083l-.014.015a.632.632 0 00-.076.1c-.003.005-.008.01-.01.016a.57.57 0 00-.052.124l-.007.028a.612.612 0 00-.018.14v1.483c0 .572-.307 1.105-.8 1.393a1.597 1.597 0 01-1.599 0l-1.276-.742a.603.603 0 00-.13-.053l-.028-.008a.658.658 0 00-.133-.018h-.02a.57.57 0 00-.269.074c-.003.002-.008.002-.012.005L2.033 5.872a.596.596 0 00-.297.515v2.966c0 .213.113.41.297.515z\" fill=\"#3969CA\"></path><path d=\"M15.943 10.607a1.596 1.596 0 011.599 0l1.276.74c.041.025.085.04.13.055l.028.008c.043.01.088.016.133.018h.005c.005 0 .01-.002.014-.003a.474.474 0 00.122-.016l.021-.005a.616.616 0 00.126-.052c.004-.002.009-.002.013-.005l2.554-1.482a.597.597 0 00.297-.516V6.383a.596.596 0 00-.297-.515l-2.552-1.483a.587.587 0 00-.592 0l-2.553 1.482-.011.008a.61.61 0 00-.108.084l-.014.016a.637.637 0 00-.076.1c-.003.005-.008.01-.01.016a.57.57 0 00-.052.124l-.007.029a.612.612 0 00-.018.14v1.482c0 .572-.307 1.105-.8 1.393a1.597 1.597 0 01-1.599 0l-1.276-.742a.584.584 0 00-.13-.053l-.028-.008a.62.62 0 00-.133-.018h-.02a.587.587 0 00-.269.074l-.012.004L9.15 10a.596.596 0 00-.296.516v2.966c0 .212.112.409.296.515l2.554 1.483s.008.002.012.005c.04.022.082.04.126.052l.02.004a.57.57 0 00.123.017l.014.002h.006c.054 0 .108-.01.16-.025a.587.587 0 00.13-.054l1.277-.741a1.597 1.597 0 012.398 1.392v1.482c0 .049.007.095.019.14l.007.028a.619.619 0 00.051.125c.004.006.008.01.01.016a.6.6 0 00.076.1l.014.015c.033.032.069.06.108.084.004.002.006.006.011.008l2.554 1.483a.59.59 0 00.593 0l2.554-1.483a.597.597 0 00.296-.516v-2.965a.595.595 0 00-.296-.516l-2.554-1.483s-.008-.002-.012-.005a.54.54 0 00-.126-.051c-.007-.003-.013-.003-.02-.005a.635.635 0 00-.125-.017h-.018a.557.557 0 00-.16.026.588.588 0 00-.13.053l-1.276.742a1.595 1.595 0 01-1.598 0 1.615 1.615 0 010-2.785l-.005-.001z\" fill=\"#21C19A\"></path><path d=\"M14.848 18.265l-2.554-1.482-.012-.005a.526.526 0 00-.126-.052c-.007-.002-.014-.002-.02-.005a.64.64 0 00-.124-.017h-.02a.56.56 0 00-.16.026.588.588 0 00-.13.053l-1.276.742a1.594 1.594 0 01-1.598 0c-.493-.286-.8-.82-.8-1.393V14.65a.563.563 0 00-.018-.14l-.008-.028a.604.604 0 00-.051-.124l-.01-.017a.603.603 0 00-.076-.1l-.014-.015a.596.596 0 00-.109-.084c-.003-.002-.005-.006-.01-.008L5.178 12.65a.587.587 0 00-.591 0l-2.554 1.483a.596.596 0 00-.297.516v2.965c0 .213.113.41.297.516l2.554 1.483.012.004a.618.618 0 00.267.074l.016.002h.007a.55.55 0 00.16-.026.584.584 0 00.129-.053l1.277-.742a1.597 1.597 0 012.398 1.393v1.482c0 .05.007.095.019.14l.007.028c.013.044.03.085.051.125l.01.016c.022.036.047.07.076.1l.014.015c.032.032.069.06.109.084l.01.008 2.554 1.483a.587.587 0 00.593 0l2.554-1.483a.596.596 0 00.296-.515v-2.966a.596.596 0 00-.296-.516h-.002z\" fill=\"#0294DE\"></path>", "rule": null}, "Fireworks": {"icon": "fireworks-color", "viewBox": "0 0 24 24", "inner": "<path clip-rule=\"evenodd\" d=\"M14.8 5l-2.801 6.795L9.195 5H7.397l3.072 7.428a1.64 1.64 0 003.038.002L16.598 5H14.8zm1.196 10.352l5.124-5.244-.699-1.669-5.596 5.739a1.664 1.664 0 00-.343 1.807 1.642 1.642 0 001.516 1.012L16 17l8-.02-.699-1.669-7.303.041h-.002zM2.88 10.104l.699-1.669 5.596 5.739c.468.479.603 1.189.343 1.807a1.643 1.643 0 01-1.516 1.012l-8-.018-.002.002.699-1.669 7.303.042-5.122-5.246z\" fill=\"#5019C5\" fill-rule=\"evenodd\"></path>", "rule": null}, "Stealth": {"wordmark": ["STEALTH"]}, "Thinking Machines": {"wordmark": ["THINKING", "MACHINES"]}, "Alibaba": {"wordmark": ["QWEN"]}};
7
+ for(const [key,DATA] of Object.entries(ALL)){
8
+ const svg=document.getElementById('bars-'+key), W=1200, H=420;
9
+ const NS='http://www.w3.org/2000/svg', SANS='Inter, Arial, sans-serif', MONO='"IBM Plex Mono", monospace';
10
+ const G = { // geometry, CSS px
11
+ left: 40, right: 24,
12
+ top: 26, // the 100 gridline
13
+ base: 248, // zero
14
+ barFill: 0.62, // bar width / pitch, as measured off the reference
15
+ radius: 4.5, // rounded top corners
16
+ logo: 18, logoGap: 8, // logo box, and its gap under the baseline
17
+ nameGap: 9, // gap from logo to the end of the name
18
+ nameAngle: -60, // degrees
19
+ nameSize: 13, nameLead: 14.5,
20
+ nameOneLine: 97, // a name this wide or less stays on one line
21
+ nameLine: 93, // otherwise, no wrapped line wider than this
22
+ nameTol: 12, // splits this close to the most balanced count as ties
23
+ };
24
+
25
+ function el(tag, attrs, parent) {
26
+ const e = document.createElementNS(NS, tag);
27
+ for (const k in attrs) e.setAttribute(k, attrs[k]);
28
+ (parent || svg).appendChild(e);
29
+ return e;
30
+ }
31
+ const ctx = document.createElement("canvas").getContext("2d");
32
+ function width(text, font) { ctx.font = font; return ctx.measureText(text).width; }
33
+
34
+ // Wrap a name the way the reference does: one line when it fits; otherwise the
35
+ // fewest lines (2, then 3) that keep every line within nameLine. Among those,
36
+ // the most balanced split wins -- and splits within nameTol of it count as
37
+ // equally balanced, the tie going to the longer last line: the lines are
38
+ // right-aligned against the logo, so the weight belongs at the end
39
+ // ("DeepSeek / V4.1 / Flash (max)", not "... / V4.1 Flash / (max)").
40
+ function wrap(name, font) {
41
+ if (width(name, font) <= G.nameOneLine) return [name];
42
+ const w = name.split(" ");
43
+ const splits = k => {
44
+ const out = [];
45
+ if (k === 2) for (let i = 1; i < w.length; i++) out.push([w.slice(0, i), w.slice(i)]);
46
+ if (k === 3) for (let i = 1; i < w.length; i++) for (let j = i + 1; j < w.length; j++)
47
+ out.push([w.slice(0, i), w.slice(i, j), w.slice(j)]);
48
+ return out.map(p => p.map(x => x.join(" ")));
49
+ };
50
+ for (const k of [2, 3]) {
51
+ const c = splits(k).map(lines => {
52
+ const ws = lines.map(l => width(l, font));
53
+ return {lines, worst: Math.max(...ws), last: ws[ws.length - 1]};
54
+ }).filter(o => o.worst <= G.nameLine);
55
+ if (!c.length) continue;
56
+ const floor = Math.min(...c.map(o => o.worst));
57
+ return c.filter(o => o.worst <= floor + G.nameTol).sort((a, b) => b.last - a.last)[0].lines;
58
+ }
59
+ return [name];
60
+ }
61
+
62
+ // A boxed name: at most two lines -- a three-line box is thicker than the spacing
63
+ // between neighbouring names at this bar count -- the most balanced split, ties
64
+ // to the longer last line.
65
+ function wrap2(name, font) {
66
+ if (width(name, font) <= G.nameOneLine) return [name];
67
+ const w = name.split(" "), c = [];
68
+ for (let i = 1; i < w.length; i++) {
69
+ const lines = [w.slice(0, i).join(" "), w.slice(i).join(" ")], ws = lines.map(l => width(l, font));
70
+ c.push({lines, worst: Math.max(...ws), last: ws[1]});
71
+ }
72
+ const floor = Math.min(...c.map(o => o.worst));
73
+ return c.filter(o => o.worst <= floor + G.nameTol).sort((a, b) => b.last - a.last)[0].lines;
74
+ }
75
+
76
+ // -- grid ---------------------------------------------------------------------
77
+ const y = v => G.base - v / 100 * (G.base - G.top);
78
+ for (const v of [25, 50, 75, 100])
79
+ el("line", {x1: G.left - 8, x2: W - G.right, y1: y(v), y2: y(v), stroke: "#cfcfcf",
80
+ "stroke-width": 1.4, "stroke-dasharray": "0.1 4.2", "stroke-linecap": "round"});
81
+ el("line", {x1: G.left - 8, x2: W - G.right, y1: G.base, y2: G.base, stroke: "#e6e6e6", "stroke-width": 1});
82
+
83
+ // -- bars ---------------------------------------------------------------------
84
+ const n = DATA.length, pitch = (W - G.left - G.right) / n, bwid = pitch * G.barFill;
85
+ const pos = {};
86
+ DATA.forEach((d, i) => {
87
+ const cx = G.left + (i + 0.5) * pitch, x0 = cx - bwid / 2, x1 = cx + bwid / 2;
88
+ const top = y(d.score * 100), r = Math.min(G.radius, bwid / 2);
89
+ pos[d.name] = {cx, top, x0, x1};
90
+ const bar = el("path", {tabindex: 0, role: "img", "aria-label": `${d.name}: ${d.score.toFixed(3)}`, d: `M${x0},${G.base} V${top + r} Q${x0},${top} ${x0 + r},${top} H${x1 - r} ` +
91
+ `Q${x1},${top} ${x1},${top + r} V${G.base} Z`, fill: d.colour});
92
+ el("title", {}, bar).textContent = `${d.name}: ${d.score.toFixed(3)}`;
93
+ const v = el("text", {x: cx, y: (top + G.base) / 2 + 5.4, "text-anchor": "middle",
94
+ "font-family": MONO, "font-weight": 500, "font-size": 15.5, fill: d.ink});
95
+ v.textContent = d.label;
96
+
97
+ // logo
98
+ const L = LOGOS[d.org], s = G.logo, lx = cx - s / 2, ly = G.base + G.logoGap;
99
+ if (L.wordmark) {
100
+ L.wordmark.forEach((w, k) => {
101
+ const tw = el("text", {x: cx, y: ly + 7.5 + k * 6.2, "text-anchor": "middle", "font-family": SANS,
102
+ "font-weight": 500, "font-size": 5.2, "letter-spacing": 0.35, fill: "#4a4a4a"});
103
+ tw.textContent = w;
104
+ });
105
+ } else {
106
+ let pad = 0, fill = L.fill || null;
107
+ if (L.tile) {
108
+ if (L.shape === "circle") el("circle", {cx, cy: ly + s / 2, r: s / 2, fill: L.tile});
109
+ else el("rect", {x: lx, y: ly, width: s, height: s, rx: 3.2, fill: L.tile});
110
+ pad = 3.4; fill = "#ffffff";
111
+ }
112
+ const ic = el("svg", {x: lx + pad, y: ly + pad, width: s - 2 * pad, height: s - 2 * pad, viewBox: L.viewBox});
113
+ if (fill) { ic.setAttribute("fill", fill); ic.setAttribute("color", fill); }
114
+ if (L.rule) ic.setAttribute("fill-rule", L.rule);
115
+ ic.innerHTML = L.inner;
116
+ }
117
+
118
+ // name: rotated, right-aligned against the logo, wrapped
119
+ const wt = d.new ? 700 : 400;
120
+ const font = `${wt} ${G.nameSize}px ${SANS}`;
121
+ const lines = d.new ? wrap2(d.name, font) : wrap(d.name, font);
122
+ const ax = cx + 3, ay = G.base + G.logoGap + G.logo + G.nameGap + (d.new ? 5 : 0);
123
+ const g = el("g", {transform: `translate(${ax},${ay}) rotate(${G.nameAngle})`});
124
+ const off = -(lines.length - 1) / 2 * G.nameLead;
125
+ if (d.new) { // the model this figure is about: white on a box of its own colour
126
+ const bw_ = Math.max(...lines.map(l => width(l, font)));
127
+ const y0_ = off + 4.5 - 0.80 * G.nameSize - 2.5, y1_ = off + (lines.length - 1) * G.nameLead + 4.5 + 0.24 * G.nameSize + 2.5;
128
+ el("rect", {x: -bw_ - 5, y: y0_, width: bw_ + 10, height: y1_ - y0_, rx: 4, fill: d.colour}, g);
129
+ }
130
+ lines.forEach((ln, k) => {
131
+ const tl = el("text", {x: 0, y: off + k * G.nameLead + 4.5, "text-anchor": "end", "font-family": SANS,
132
+ "font-weight": wt, "font-size": G.nameSize, fill: d.new ? "#ffffff" : "#262626"}, g);
133
+ tl.textContent = ln;
134
+ });
135
+ });
136
+
137
+
138
+ svg.dataset.ready='true';
139
+ }
140
+ })();
cases.html CHANGED
@@ -1,13 +1,14 @@
1
- <!doctype html>
 
2
  <html lang="en"><head>
3
- <meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
4
- <title>Code4Scene · Cases in 3D</title><meta name="description" content="Selected Code4Scene cases: every agent&#x27;s saved scene in 3D and the evaluator&#x27;s scores.">
5
- <link rel="icon" href="data:image/svg+xml,<svg viewBox='0 0 32 32' aria-hidden='true'><defs><linearGradient id='gi' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%2392400e'/><stop offset='1' stop-color='%23d97706'/></linearGradient></defs><rect x='1' y='1' width='30' height='30' rx='8' fill='url(%23gi)'/><path d='M16 6.5 25 11.5v9L16 25.5 7 20.5v-9z' fill='none' stroke='%23fff' stroke-width='2' stroke-linejoin='round'/><path d='M7 11.5 16 16.5 25 11.5M16 16.5v9' fill='none' stroke='%23fff' stroke-width='2' stroke-linejoin='round'/></svg>">
6
- <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
7
- <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=DM+Sans:wght@400;500&family=JetBrains+Mono:wght@400;500&display=swap">
8
- <link rel="stylesheet" href="assets/paper.css?v=5427505a">
9
  <style>
10
- :root{--c4s-a:#5a67d8;--c4s-b:#d97706;--c4s-hot:#dc4a2d;--c4s-ok:#0f9f6e;--c4s-g1:#8b93a7;--c4s-g2:#aab1c2;--c4s-g3:#cdd2de;--c4s-seq:#5a67d8;--c4s-unit:#e3e7f0}
11
  svg.ch{width:100%;height:auto;display:block;font-family:Inter,system-ui,sans-serif;overflow:visible}
12
  svg.ch text{fill:var(--text-secondary);font-size:13px}svg.ch .b{fill:var(--text-primary);font-weight:700}svg.ch .m{fill:var(--text-muted);font-size:12px}
13
  svg.ch .num{font-variant-numeric:tabular-nums}svg.ch .grid{stroke:var(--line-soft);stroke-width:1}svg.ch .axis{stroke:var(--line-strong);stroke-width:1}
@@ -81,9 +82,9 @@ table.cs td,table.cs th{white-space:nowrap}.panel code{font-size:.82em;backgroun
81
  .in-open{border:1px solid var(--primary);background:#fff;color:var(--primary-dark);border-radius:8px;padding:.45rem .9rem;font:600 .85rem Inter,sans-serif;cursor:pointer}
82
  .in-open:hover{background:var(--primary);color:#fff}
83
  @media(max-width:900px){.in-i2s{grid-template-columns:1fr}}
84
- </style><script type="importmap">{"imports":{"three":"https://cdn.jsdelivr.net/npm/three@0.160.0/build/three.module.js","three/addons/":"https://cdn.jsdelivr.net/npm/three@0.160.0/examples/jsm/"}}</script></head><body>
85
- <nav class="navbar"><a class="navbar-brand" href="index.html"><svg viewBox="0 0 32 32" aria-hidden="true"><defs><linearGradient id="gi" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#92400e"/><stop offset="1" stop-color="#d97706"/></linearGradient></defs><rect x="1" y="1" width="30" height="30" rx="8" fill="url(#gi)"/><path d="M16 6.5 25 11.5v9L16 25.5 7 20.5v-9z" fill="none" stroke="#fff" stroke-width="2" stroke-linejoin="round"/><path d="M7 11.5 16 16.5 25 11.5M16 16.5v9" fill="none" stroke="#fff" stroke-width="2" stroke-linejoin="round"/></svg>Code4Scene</a><ul class="navbar-links"><li class=""><a href="index.html#leaderboard">Leaderboard</a></li><li class="hide-sm"><a href="index.html#takeaways">Takeaways</a></li><li class=""><a href="cases.html" class=on>Cases in 3D</a></li><li><a href="https://arxiv.org/abs/2609.36777" target="_blank" rel="noopener"><svg viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M4 0h5.5L14 4.5V14a2 2 0 01-2 2H4a2 2 0 01-2-2V2a2 2 0 012-2zm5 1.5V5h3.5L9 1.5zM5 8h6v1H5zm0 2.5h6v1H5z"/></svg> Paper</a></li><li class="hide-sm"><a href="https://github.com/SimWorld-AI/Code4Scene" target="_blank" rel="noopener"><svg viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg> Code</a></li><li><a class="btn-nav-primary" href="https://simworld.org/" target="_blank" rel="noopener"><img src="img/simworld-logo.png" alt="">SimWorld Home</a></li></ul></nav>
86
- <section class="alt" style="padding-top:calc(var(--nav-h) + 3rem);padding-bottom:3rem"><div class="container">
87
  <div class="section-header" style="margin-bottom:1.6rem"><span class="section-label">Cases</span><h2 class="section-title">Every scene in 3D, with its scores</h2>
88
  <p class="section-desc">Each agent's result is the engine-native scene it saved, exported from Unreal Engine so you can turn it in the browser. Beside it, how the
89
  evaluator scored that scene. 6 cases, 41 scenes in 3D. Pick a case, then an agent.</p></div>
@@ -95,8 +96,8 @@ evaluator scored that scene. 6 cases, 41 scenes in 3D. Pick a case, then an agen
95
  <div class="card" style="margin-top:1.5rem;padding:1.4rem 1.5rem"><div class="sub-title">Every agent on this case</div>
96
  <div class="sub-desc">The evaluator's scores for all 14 agents on the selected case. Click a row to open that agent's scene.</div><div class="board-wrap" id="ctable"></div></div>
97
  </div></section>
98
- <footer><p>Code4Scene &nbsp;·&nbsp; UC San Diego &amp; UC Berkeley &nbsp;·&nbsp; <a href="https://arxiv.org/abs/2609.36777" target="_blank" rel="noopener">arXiv:2609.36777</a> &nbsp;·&nbsp; <a href="https://github.com/SimWorld-AI/Code4Scene" target="_blank" rel="noopener">GitHub</a> &nbsp;·&nbsp;
99
- <a href="https://simworld.org/" target="_blank" rel="noopener">SimWorld Home</a></p>
100
  <p style="margin-top:.5rem;font-size:.75rem;color:rgba(255,255,255,.25)">Part of the SimWorld project.</p></footer>
101
  <script src="assets/paper.js?v=5427505a"></script><script src="data/site.js?v=0b09af46"></script><script type="module">import * as THREE from "three";
102
  import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
 
1
+ <!DOCTYPE html>
2
+
3
  <html lang="en"><head>
4
+ <meta charset="utf-8"/><meta content="width=device-width,initial-scale=1" name="viewport"/>
5
+ <title>Code4Scene · Cases in 3D</title><meta content="Selected Code4Scene cases: every agent's saved scene in 3D and the evaluator's scores." name="description"/>
6
+ <link href="assets/code4scene-mark.svg" rel="icon"/>
7
+
8
+
9
+ <link href="assets/paper.css?v=5427505a" rel="stylesheet"/>
10
  <style>
11
+ :root{--c4s-a:#5a67d8;--c4s-b:#d97706;--c4s-hot:#dc4a2d;--c4s-ok:#10A37F;--c4s-g1:#8b93a7;--c4s-g2:#aab1c2;--c4s-g3:#cdd2de;--c4s-seq:#5a67d8;--c4s-unit:#e3e7f0}
12
  svg.ch{width:100%;height:auto;display:block;font-family:Inter,system-ui,sans-serif;overflow:visible}
13
  svg.ch text{fill:var(--text-secondary);font-size:13px}svg.ch .b{fill:var(--text-primary);font-weight:700}svg.ch .m{fill:var(--text-muted);font-size:12px}
14
  svg.ch .num{font-variant-numeric:tabular-nums}svg.ch .grid{stroke:var(--line-soft);stroke-width:1}svg.ch .axis{stroke:var(--line-strong);stroke-width:1}
 
82
  .in-open{border:1px solid var(--primary);background:#fff;color:var(--primary-dark);border-radius:8px;padding:.45rem .9rem;font:600 .85rem Inter,sans-serif;cursor:pointer}
83
  .in-open:hover{background:var(--primary);color:#fff}
84
  @media(max-width:900px){.in-i2s{grid-template-columns:1fr}}
85
+ </style><script type="importmap">{"imports":{"three":"https://cdn.jsdelivr.net/npm/three@0.160.0/build/three.module.js","three/addons/":"https://cdn.jsdelivr.net/npm/three@0.160.0/examples/jsm/"}}</script><link href="assets/buildingbench.css?v=20261001" rel="stylesheet"/></head><body class="case-page"><a class="skip-link" href="#casebar">Skip to benchmark explorer</a>
86
+ <header class="site-header"><div class="brand"><a aria-label="Code4Scene home" class="brand-home" href="index.html#top"><svg aria-hidden="true" fill="none" viewbox="0 0 30 32"><path d="M15 2 27 9v14l-12 7L3 23V9L15 2Z M3 9l12 7 12-7 M15 16v14 M9 5.5l12 7v14 M21 5.5l-12 7v14" stroke="currentColor" stroke-linejoin="round" stroke-width="1.6"></path></svg><span>Code4Scene</span></a><a class="brand-by" href="https://simworld.org/">by SimWorld</a></div><nav aria-label="Main navigation"><a href="index.html#top">Benchmark</a><a href="index.html#leaderboard">Leaderboard</a><a class="nav-active" href="cases.html">Visualization</a><a href="https://arxiv.org/abs/2609.36777" rel="noopener" target="_blank">Paper ↗</a><a href="https://github.com/SimWorld-AI/Code4Scene" rel="noopener" target="_blank">Github ↗</a></nav></header>
87
+ <section class="alt" style="padding-top:34px;padding-bottom:40px"><div class="container">
88
  <div class="section-header" style="margin-bottom:1.6rem"><span class="section-label">Cases</span><h2 class="section-title">Every scene in 3D, with its scores</h2>
89
  <p class="section-desc">Each agent's result is the engine-native scene it saved, exported from Unreal Engine so you can turn it in the browser. Beside it, how the
90
  evaluator scored that scene. 6 cases, 41 scenes in 3D. Pick a case, then an agent.</p></div>
 
96
  <div class="card" style="margin-top:1.5rem;padding:1.4rem 1.5rem"><div class="sub-title">Every agent on this case</div>
97
  <div class="sub-desc">The evaluator's scores for all 14 agents on the selected case. Click a row to open that agent's scene.</div><div class="board-wrap" id="ctable"></div></div>
98
  </div></section>
99
+ <footer><p>Code4Scene  ·  UC San Diego &amp; UC Berkeley  ·  <a href="https://arxiv.org/abs/2609.36777" rel="noopener" target="_blank">arXiv:2609.36777</a>  ·  <a href="https://github.com/SimWorld-AI/Code4Scene" rel="noopener" target="_blank">GitHub</a>  · 
100
+ <a href="https://simworld.org/" rel="noopener" target="_blank">SimWorld Home</a></p>
101
  <p style="margin-top:.5rem;font-size:.75rem;color:rgba(255,255,255,.25)">Part of the SimWorld project.</p></footer>
102
  <script src="assets/paper.js?v=5427505a"></script><script src="data/site.js?v=0b09af46"></script><script type="module">import * as THREE from "three";
103
  import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
index.html CHANGED
The diff for this file is too large to render. See raw diff