TriWorldBench commited on
Commit
6c99e29
·
verified ·
1 Parent(s): a63720d

Update TriWorldBench web from desktop manager

Browse files
.gitattributes CHANGED
@@ -1,22 +1,3 @@
1
  *.mp4 filter=lfs diff=lfs merge=lfs -text
2
  *.pdf filter=lfs diff=lfs merge=lfs -text
3
  public/assets_common/photos/Group_Chat.jpg filter=lfs diff=lfs merge=lfs -text
4
- public/assets_common/photos/image_155613883779109.png filter=lfs diff=lfs merge=lfs -text
5
- public/fonts/editorial/Inter-300.ttf filter=lfs diff=lfs merge=lfs -text
6
- public/fonts/editorial/Inter-400.ttf filter=lfs diff=lfs merge=lfs -text
7
- public/fonts/editorial/Inter-500.ttf filter=lfs diff=lfs merge=lfs -text
8
- public/fonts/editorial/Inter-600.ttf filter=lfs diff=lfs merge=lfs -text
9
- public/fonts/editorial/Inter-700.ttf filter=lfs diff=lfs merge=lfs -text
10
- public/fonts/editorial/Inter-800.ttf filter=lfs diff=lfs merge=lfs -text
11
- public/fonts/editorial/JetBrainsMono-400.ttf filter=lfs diff=lfs merge=lfs -text
12
- public/fonts/editorial/JetBrainsMono-500.ttf filter=lfs diff=lfs merge=lfs -text
13
- public/fonts/editorial/SourceSerif4-400.ttf filter=lfs diff=lfs merge=lfs -text
14
- public/fonts/editorial/SourceSerif4-600.ttf filter=lfs diff=lfs merge=lfs -text
15
- public/fonts/editorial/SourceSerif4-700.ttf filter=lfs diff=lfs merge=lfs -text
16
- public/institution-logos/buaa.png filter=lfs diff=lfs merge=lfs -text
17
- public/institution-logos/sjtu.png filter=lfs diff=lfs merge=lfs -text
18
- public/institution-logos/tsinghua.png filter=lfs diff=lfs merge=lfs -text
19
- public/institution-logos/ustc.png filter=lfs diff=lfs merge=lfs -text
20
- public/style02/abstract-triview.webp filter=lfs diff=lfs merge=lfs -text
21
- public/style02/prompt-prediction.webp filter=lfs diff=lfs merge=lfs -text
22
- public/style02/state-annotations.webp filter=lfs diff=lfs merge=lfs -text
 
1
  *.mp4 filter=lfs diff=lfs merge=lfs -text
2
  *.pdf filter=lfs diff=lfs merge=lfs -text
3
  public/assets_common/photos/Group_Chat.jpg filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
deployment-manifest.json CHANGED
@@ -1,8 +1,8 @@
1
  {
2
  "schema": 2,
3
- "generated_at_utc": "2026-07-27T17:57:13.401083+00:00",
4
- "web_tree_sha256": "7abdd66073cb12d2f8b7290c371d00c5e1648c4db730c46a12eb612d58d7e099",
5
- "source_file_count": 88,
6
  "release_contract": {
7
  "web_source": "TriWorldBench/web",
8
  "local_database": "database/database.sqlite",
@@ -13,8 +13,8 @@
13
  },
14
  "database_release": {
15
  "dataset_file": "database.sqlite",
16
- "snapshot_sha256": "49785aa2a116ea07f50e51bb7d141b18151bf2dafbdf406b06b6bb5f9669716f",
17
- "data_version": 237,
18
  "video_count": 24,
19
  "video_prefix": "video-cases"
20
  }
 
1
  {
2
  "schema": 2,
3
+ "generated_at_utc": "2026-08-07T11:57:12.100834+00:00",
4
+ "web_tree_sha256": "4ecdd07c5cff502477fdb17431ebde80f0ffcb7e143d755d93742b7582ee1b8c",
5
+ "source_file_count": 89,
6
  "release_contract": {
7
  "web_source": "TriWorldBench/web",
8
  "local_database": "database/database.sqlite",
 
13
  },
14
  "database_release": {
15
  "dataset_file": "database.sqlite",
16
+ "snapshot_sha256": "3432151cf19407d7b16131ac47bcb29230400cfccad9a11246e5533f007d0de3",
17
+ "data_version": 261,
18
  "video_count": 24,
19
  "video_prefix": "video-cases"
20
  }
next-env.d.ts CHANGED
@@ -1,6 +1,6 @@
1
  /// <reference types="next" />
2
  /// <reference types="next/image-types/global" />
3
- /// <reference path="./.next-manager-build/types/routes.d.ts" />
4
 
5
  // NOTE: This file should not be edited
6
  // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
 
1
  /// <reference types="next" />
2
  /// <reference types="next/image-types/global" />
3
+ /// <reference path="./.next/types/routes.d.ts" />
4
 
5
  // NOTE: This file should not be edited
6
  // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
public/assets_common/photos/Group_Chat.jpg CHANGED

Git LFS Details

  • SHA256: 3bc96dfcbb1a1f9bfca451dc409cb3a876bd92bcf0f535fa040a96519c8b56ef
  • Pointer size: 131 Bytes
  • Size of remote file: 217 kB

Git LFS Details

  • SHA256: f15b03eb0914f98df3169407e9e783f99680647dd9d9874bd5ffe2e47cc450b1
  • Pointer size: 131 Bytes
  • Size of remote file: 140 kB
src/components/triworldbench/ClientSections.tsx CHANGED
@@ -1,7 +1,6 @@
1
  "use client";
2
 
3
  import React, { useEffect, useMemo, useRef, useState } from "react";
4
- import { FaMedal } from "react-icons/fa";
5
  import {
6
  TRIWORLD_COLORS,
7
  TRIWORLD_RADAR_DIMS,
@@ -10,6 +9,7 @@ import {
10
  } from "./metrics";
11
  import { hasLocalizedText, type LocalizedText } from "@/lib/i18n";
12
  import { LocalizedMarkdown } from "./LocalizedMarkdown";
 
13
 
14
  const CLEAN_CASES = [
15
  "blocks_ranking_rgb.mp4",
@@ -691,11 +691,6 @@ export function TriWorldVisualization({
691
  const isHighlighted = highlightName === row.modelName;
692
  const isDimmed = Boolean(highlightName && !isHighlighted);
693
  const width = row.value === null ? 0 : (Number(row.value) / maxValue) * 100;
694
- const medalColor = row.visualRank === 1
695
- ? "#c58b13"
696
- : row.visualRank === 2
697
- ? "#6b7280"
698
- : "#b56736";
699
  return (
700
  <button
701
  type="button"
@@ -713,17 +708,12 @@ export function TriWorldVisualization({
713
  }
714
  >
715
  {row.visualRank <= 3 ? (
716
- <FaMedal
717
- className={`twb-ranking-medal rank-${row.visualRank}`}
718
- style={{ "--medal-color": medalColor } as React.CSSProperties}
719
- aria-label={`Rank ${row.visualRank}`}
720
- title={`Rank ${row.visualRank}`}
721
- />
722
  ) : (
723
  <em className="twb-ranking-number">{row.visualRank}</em>
724
  )}
725
  <b>{row.modelName}</b>
726
- <i>{fmt(row.value)}</i>
727
  </button>
728
  );
729
  })}
 
1
  "use client";
2
 
3
  import React, { useEffect, useMemo, useRef, useState } from "react";
 
4
  import {
5
  TRIWORLD_COLORS,
6
  TRIWORLD_RADAR_DIMS,
 
9
  } from "./metrics";
10
  import { hasLocalizedText, type LocalizedText } from "@/lib/i18n";
11
  import { LocalizedMarkdown } from "./LocalizedMarkdown";
12
+ import { RankingMedal } from "./RankingMedal";
13
 
14
  const CLEAN_CASES = [
15
  "blocks_ranking_rgb.mp4",
 
691
  const isHighlighted = highlightName === row.modelName;
692
  const isDimmed = Boolean(highlightName && !isHighlighted);
693
  const width = row.value === null ? 0 : (Number(row.value) / maxValue) * 100;
 
 
 
 
 
694
  return (
695
  <button
696
  type="button"
 
708
  }
709
  >
710
  {row.visualRank <= 3 ? (
711
+ <RankingMedal rank={row.visualRank} className="twb-ranking-medal" />
 
 
 
 
 
712
  ) : (
713
  <em className="twb-ranking-number">{row.visualRank}</em>
714
  )}
715
  <b>{row.modelName}</b>
716
+ <i className={activePanel.kind === "overall" ? "is-overall" : undefined}>{fmt(row.value)}</i>
717
  </button>
718
  );
719
  })}
src/components/triworldbench/Leaderboard.tsx CHANGED
@@ -1,7 +1,6 @@
1
  "use client";
2
 
3
  import React, { useCallback, useMemo, useRef, useState } from "react";
4
- import { FaMedal } from "react-icons/fa";
5
  import { contentValue, type LocalizedText } from "@/lib/i18n";
6
  import {
7
  TRIWORLD_COLORS,
@@ -9,6 +8,7 @@ import {
9
  type TriWorldBoardEntry,
10
  } from "./metrics";
11
  import { LocalizedMarkdown } from "./LocalizedMarkdown";
 
12
 
13
  type MetricText = {
14
  code: string;
@@ -248,7 +248,11 @@ export function TriWorldLeaderboard({ rows, metricTexts, descriptionText }: Prop
248
  <b>{row.modelName}</b>
249
  {row.teamName ? <small>{row.teamName}</small> : null}
250
  </td>
251
- <td className="twb-col-rank twb-sticky-rank"><span className="twb-rank-badge">{row.rank}</span></td>
 
 
 
 
252
  {TRIWORLD_TABLE_METRICS.map((metric) => {
253
  const value = valueFor(row, metric.code);
254
  const metricRank = metricRanks.get(metric.code)?.get(row) ?? null;
@@ -265,16 +269,13 @@ export function TriWorldLeaderboard({ rows, metricTexts, descriptionText }: Prop
265
  className={`twb-cell-rank rank-${metricRank <= 3 ? metricRank : "other"}`}
266
  aria-label={`Rank ${metricRank}`}
267
  >
268
- {metricRank <= 3 ? (
269
- <FaMedal
270
- aria-hidden="true"
271
- className={`twb-cell-medal medal-${metricRank}`}
272
- />
273
- ) : null}
274
  #{metricRank}
275
  </span>
276
  ) : null}
277
- <span className="twb-score-value">{displayScore(value)}</span>
 
 
278
  </div>
279
  </td>
280
  );
 
1
  "use client";
2
 
3
  import React, { useCallback, useMemo, useRef, useState } from "react";
 
4
  import { contentValue, type LocalizedText } from "@/lib/i18n";
5
  import {
6
  TRIWORLD_COLORS,
 
8
  type TriWorldBoardEntry,
9
  } from "./metrics";
10
  import { LocalizedMarkdown } from "./LocalizedMarkdown";
11
+ import { RankingMedal } from "./RankingMedal";
12
 
13
  type MetricText = {
14
  code: string;
 
248
  <b>{row.modelName}</b>
249
  {row.teamName ? <small>{row.teamName}</small> : null}
250
  </td>
251
+ <td className="twb-col-rank twb-sticky-rank">
252
+ <span className={`twb-rank-badge rank-${row.rank <= 3 ? row.rank : "other"}`}>
253
+ {row.rank <= 3 ? <RankingMedal rank={row.rank} className="twb-row-medal" /> : row.rank}
254
+ </span>
255
+ </td>
256
  {TRIWORLD_TABLE_METRICS.map((metric) => {
257
  const value = valueFor(row, metric.code);
258
  const metricRank = metricRanks.get(metric.code)?.get(row) ?? null;
 
269
  className={`twb-cell-rank rank-${metricRank <= 3 ? metricRank : "other"}`}
270
  aria-label={`Rank ${metricRank}`}
271
  >
272
+ {metricRank <= 3 ? <RankingMedal rank={metricRank} className="twb-cell-medal" /> : null}
 
 
 
 
 
273
  #{metricRank}
274
  </span>
275
  ) : null}
276
+ <span className={`twb-score-value${metric.isOverall ? " is-overall" : ""}`}>
277
+ {displayScore(value)}
278
+ </span>
279
  </div>
280
  </td>
281
  );
src/components/triworldbench/RankingMedal.tsx ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ type Props = {
2
+ rank: number;
3
+ className?: string;
4
+ label?: string;
5
+ };
6
+
7
+ const MEDALS: Record<number, string> = {
8
+ 1: "\u{1F947}",
9
+ 2: "\u{1F948}",
10
+ 3: "\u{1F949}",
11
+ };
12
+
13
+ export function RankingMedal({ rank, className = "", label }: Props) {
14
+ const medal = MEDALS[rank];
15
+ if (!medal) return null;
16
+
17
+ const accessibleLabel = label || `Rank ${rank}`;
18
+
19
+ return (
20
+ <data
21
+ className={`${className} rank-${rank}`.trim()}
22
+ value={rank}
23
+ role="img"
24
+ aria-label={accessibleLabel}
25
+ title={accessibleLabel}
26
+ >
27
+ {medal}
28
+ </data>
29
+ );
30
+ }
src/styles/triworldbench.css CHANGED
@@ -5458,7 +5458,7 @@ body .twb-doc[data-page="triworldbench"] #contact .contact-card .contact-downloa
5458
  font-weight: 800;
5459
  }
5460
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-dense-table tbody .twb-category-score {
5461
- font-weight: 800;
5462
  }
5463
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-dense-table tbody .twb-overall-score .twb-score-value {
5464
  color: #6b4500;
@@ -5479,9 +5479,10 @@ body .twb-doc[data-page="triworldbench"] #contact .contact-card .contact-downloa
5479
  display: block;
5480
  color: #1c242a;
5481
  font-size: 14px;
5482
- font-weight: 750;
5483
  line-height: 1.15;
5484
  }
 
5485
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-rank {
5486
  display: inline-flex;
5487
  align-items: center;
@@ -5496,13 +5497,26 @@ body .twb-doc[data-page="triworldbench"] #contact .contact-card .contact-downloa
5496
  white-space: nowrap;
5497
  }
5498
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-medal {
5499
- width: 12px;
5500
- height: 12px;
 
5501
  flex: 0 0 auto;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5502
  }
5503
- .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-medal.medal-1 { color: #b8860b; }
5504
- .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-medal.medal-2 { color: #7b8790; }
5505
- .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-medal.medal-3 { color: #9a5b35; }
5506
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-rank.rank-1 { color: #8a6200; }
5507
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-rank.rank-2 { color: #5d6973; }
5508
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-rank.rank-3 { color: #875335; }
@@ -5692,9 +5706,9 @@ body .twb-doc[data-page="triworldbench"] #contact .contact-card .contact-downloa
5692
  position: relative;
5693
  isolation: isolate;
5694
  display: grid;
5695
- grid-template-columns: 24px minmax(0, 1fr) auto;
5696
  align-items: center;
5697
- gap: 10px;
5698
  min-height: 40px;
5699
  padding: 8px 12px;
5700
  overflow: hidden;
@@ -5741,18 +5755,23 @@ body .twb-doc[data-page="triworldbench"] #contact .contact-card .contact-downloa
5741
  color: #20262b;
5742
  font-size: 12px;
5743
  font-style: normal;
5744
- font-weight: 850;
5745
  }
 
5746
  .twb-doc[data-page="triworldbench"] .twb-ranking-medal {
5747
- width: 20px;
5748
- height: 20px;
5749
- color: var(--medal-color);
5750
- filter: drop-shadow(0 1px 0 rgba(255,255,255,.8));
 
 
 
 
5751
  }
5752
  .twb-doc[data-page="triworldbench"] .twb-ranking-number {
5753
  display: grid;
5754
- width: 20px;
5755
- min-height: 20px;
5756
  place-items: center;
5757
  color: #59636b;
5758
  font-size: 11px;
 
5458
  font-weight: 800;
5459
  }
5460
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-dense-table tbody .twb-category-score {
5461
+ font-weight: 400;
5462
  }
5463
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-dense-table tbody .twb-overall-score .twb-score-value {
5464
  color: #6b4500;
 
5479
  display: block;
5480
  color: #1c242a;
5481
  font-size: 14px;
5482
+ font-weight: 400;
5483
  line-height: 1.15;
5484
  }
5485
+ .twb-doc[data-page="triworldbench"] #leaderboard .twb-score-value.is-overall { font-weight: 750; }
5486
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-rank {
5487
  display: inline-flex;
5488
  align-items: center;
 
5497
  white-space: nowrap;
5498
  }
5499
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-medal {
5500
+ display: inline-grid;
5501
+ width: 20px;
5502
+ height: 20px;
5503
  flex: 0 0 auto;
5504
+ place-items: center;
5505
+ font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
5506
+ font-size: 18px;
5507
+ font-weight: 400;
5508
+ line-height: 1;
5509
+ }
5510
+ .twb-doc[data-page="triworldbench"] #leaderboard .twb-row-medal {
5511
+ display: inline-grid;
5512
+ width: 27px;
5513
+ height: 27px;
5514
+ place-items: center;
5515
+ font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
5516
+ font-size: 24px;
5517
+ font-weight: 400;
5518
+ line-height: 1;
5519
  }
 
 
 
5520
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-rank.rank-1 { color: #8a6200; }
5521
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-rank.rank-2 { color: #5d6973; }
5522
  .twb-doc[data-page="triworldbench"] #leaderboard .twb-cell-rank.rank-3 { color: #875335; }
 
5706
  position: relative;
5707
  isolation: isolate;
5708
  display: grid;
5709
+ grid-template-columns: 32px minmax(0, 1fr) auto;
5710
  align-items: center;
5711
+ column-gap: 12px;
5712
  min-height: 40px;
5713
  padding: 8px 12px;
5714
  overflow: hidden;
 
5755
  color: #20262b;
5756
  font-size: 12px;
5757
  font-style: normal;
5758
+ font-weight: 400;
5759
  }
5760
+ .twb-doc[data-page="triworldbench"] .twb-bar-row > i.is-overall { font-weight: 850; }
5761
  .twb-doc[data-page="triworldbench"] .twb-ranking-medal {
5762
+ display: grid;
5763
+ width: 32px;
5764
+ height: 32px;
5765
+ place-items: center;
5766
+ font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
5767
+ font-size: 24px;
5768
+ font-weight: 400;
5769
+ line-height: 1;
5770
  }
5771
  .twb-doc[data-page="triworldbench"] .twb-ranking-number {
5772
  display: grid;
5773
+ width: 32px;
5774
+ min-height: 26px;
5775
  place-items: center;
5776
  color: #59636b;
5777
  font-size: 11px;