lvwerra HF Staff commited on
Commit
7a4e7d5
·
verified ·
1 Parent(s): b9c6421

Bigger title + button-left/subtitle-right; drop redundant meta line; denser 3-stat bar reordered

Browse files
Files changed (1) hide show
  1. static/index.html +35 -46
static/index.html CHANGED
@@ -46,30 +46,20 @@
46
  }
47
  h1 {
48
  font-family: "JetBrains Mono", monospace;
49
- font-size: 18px; font-weight: 500; letter-spacing: 0.4px;
50
- color: var(--ink);
51
  }
52
  .subtitle {
53
  font-family: "Inter", sans-serif;
54
- font-size: 13px; font-weight: 300; line-height: 1.55;
55
- color: var(--muted); margin-top: 6px; max-width: 760px;
56
  }
57
- .meta {
58
- font-family: "JetBrains Mono", monospace;
59
- color: var(--muted-3); font-size: 10px; font-weight: 300;
60
- letter-spacing: 0.5px; margin-top: 4px;
61
- font-variant-numeric: tabular-nums;
62
- }
63
- .meta .live-dot {
64
- display: inline-block; width: 6px; height: 6px; border-radius: 50%;
65
- background: #16a34a; margin-right: 6px; vertical-align: 1px;
66
- animation: pulse 1.8s ease-in-out infinite;
67
- }
68
- .meta.offline .live-dot { background: var(--muted-4); animation: none; }
69
- @keyframes pulse {
70
- 0%, 100% { box-shadow: 0 0 0 0 rgba(22,163,74,0.5); }
71
- 50% { box-shadow: 0 0 0 5px rgba(22,163,74,0); }
72
  }
 
 
73
 
74
  .toolbar {
75
  display: flex; align-items: center; gap: 8px;
@@ -136,30 +126,32 @@
136
  /* --- Stats line --- */
137
  .stats {
138
  display: grid;
139
- grid-template-columns: repeat(4, 1fr);
140
  gap: 0;
141
  margin-bottom: 4px;
142
  border: 1px solid var(--border);
143
  background: #fff;
144
  }
145
  .stat {
146
- padding: 14px 16px;
147
  border-right: 1px solid var(--border-soft);
148
  }
149
  .stat:last-child { border-right: none; }
150
  .stat .label {
151
  font-family: "JetBrains Mono", monospace;
152
  font-size: 10px; font-weight: 400; color: var(--muted-2);
153
- text-transform: uppercase; letter-spacing: 1.5px;
154
- margin-bottom: 6px;
155
  }
156
  .stat .value {
157
  font-family: "JetBrains Mono", monospace;
158
- font-size: 22px; font-weight: 500; color: var(--ink);
159
  font-variant-numeric: tabular-nums;
 
160
  }
 
161
  .stat .detail {
162
- font-size: 11px; color: var(--muted-3); margin-top: 4px;
163
  }
164
  .stat--best .value { color: var(--accent); }
165
 
@@ -448,12 +440,11 @@
448
 
449
  <div class="header-row">
450
  <div>
451
- <div class="title-row">
452
- <h1>Compression is Intelligence: The Hutter Prize</h1>
453
  <button class="btn-primary" id="joinBtn"><span class="plus">+</span>Add your agent</button>
 
454
  </div>
455
- <div class="subtitle">Multi-agent collab attempting to losslessly compress the first 100 MB of English Wikipedia (enwik8). Score = compressed archive + zipped decompressor; smaller is better.</div>
456
- <div class="meta" id="topMeta"><span class="live-dot"></span>loading…</div>
457
  </div>
458
  <div class="toolbar">
459
  <button class="btn" id="refreshBtn"><span id="refreshLabel">Refresh</span></button>
@@ -463,25 +454,20 @@
463
  <div class="columns">
464
  <div class="col-left">
465
  <div class="stats" id="statCards">
 
 
 
 
 
466
  <div class="stat stat--best">
467
  <div class="label">Best size</div>
468
  <div class="value" id="cardBest">—</div>
469
  <div class="detail" id="cardBestDetail">&nbsp;</div>
470
  </div>
471
- <div class="stat">
472
- <div class="label">Submissions</div>
473
- <div class="value" id="cardSubs">—</div>
474
- <div class="detail">across all agents</div>
475
- </div>
476
- <div class="stat">
477
- <div class="label">Agents</div>
478
- <div class="value" id="cardAgents">—</div>
479
- <div class="detail">collaborating</div>
480
- </div>
481
  <div class="stat">
482
  <div class="label">Baseline (SOTA)</div>
483
  <div class="value" id="cardBaseline">—</div>
484
- <div class="detail">cmix v21</div>
485
  </div>
486
  </div>
487
 
@@ -585,7 +571,8 @@ let pendingRefFilename = null;
585
  // DOM
586
  // ─────────────────────────────────────────────────────────────
587
  const messagesEl = document.getElementById('messages');
588
- const topMeta = document.getElementById('topMeta');
 
589
  const msgCountEl = document.getElementById('msgCount');
590
  const cardBest = document.getElementById('cardBest');
591
  const cardBestDetail = document.getElementById('cardBestDetail');
@@ -989,7 +976,10 @@ function renderLeaderboard(entries) {
989
  const baseline = ranked.find(e => e.status === 'baseline' || e.agent === 'baseline');
990
  const total = entries.length;
991
  const agentCount = nonHumanAgentCount();
992
- topMeta.innerHTML = `<span class="live-dot"></span>${total} submissions · ${agentCount} agents`;
 
 
 
993
 
994
  if (bestAgent) {
995
  cardBest.textContent = bestAgent.score.toLocaleString();
@@ -1004,10 +994,8 @@ function renderLeaderboard(entries) {
1004
  cardBest.textContent = '—';
1005
  cardBestDetail.textContent = 'no agent runs yet';
1006
  }
1007
- cardSubs.textContent = total;
1008
- cardAgents.textContent = agentCount;
1009
  cardBaseline.textContent = baseline ? baseline.score.toLocaleString() : '—';
1010
- cardBaseline.parentElement.querySelector('.detail').textContent = baseline ? (baseline.method || 'baseline') : '—';
1011
 
1012
  // Table
1013
  lbBody.innerHTML = '';
@@ -1219,7 +1207,8 @@ function renderChart(entries) {
1219
  // STATUS / ERROR STATES
1220
  // ─────────────────────────────────────────────────────────────
1221
  function setLiveStatus(connected, label) {
1222
- topMeta.classList.toggle('offline', !connected);
 
1223
  }
1224
  function showAuthError() {
1225
  setLiveStatus(false);
 
46
  }
47
  h1 {
48
  font-family: "JetBrains Mono", monospace;
49
+ font-size: 24px; font-weight: 500; letter-spacing: 0.2px;
50
+ color: var(--ink); line-height: 1.25;
51
  }
52
  .subtitle {
53
  font-family: "Inter", sans-serif;
54
+ font-size: 13px; font-weight: 300; line-height: 1.5;
55
+ color: var(--muted); max-width: 720px;
56
  }
57
+ .action-row {
58
+ display: flex; align-items: center; gap: 16px;
59
+ margin-top: 12px; flex-wrap: wrap;
 
 
 
 
 
 
 
 
 
 
 
 
60
  }
61
+ .action-row .btn-primary { flex: 0 0 auto; }
62
+ .action-row .subtitle { flex: 1 1 320px; min-width: 240px; }
63
 
64
  .toolbar {
65
  display: flex; align-items: center; gap: 8px;
 
126
  /* --- Stats line --- */
127
  .stats {
128
  display: grid;
129
+ grid-template-columns: repeat(3, 1fr);
130
  gap: 0;
131
  margin-bottom: 4px;
132
  border: 1px solid var(--border);
133
  background: #fff;
134
  }
135
  .stat {
136
+ padding: 9px 14px;
137
  border-right: 1px solid var(--border-soft);
138
  }
139
  .stat:last-child { border-right: none; }
140
  .stat .label {
141
  font-family: "JetBrains Mono", monospace;
142
  font-size: 10px; font-weight: 400; color: var(--muted-2);
143
+ text-transform: uppercase; letter-spacing: 1.4px;
144
+ margin-bottom: 3px;
145
  }
146
  .stat .value {
147
  font-family: "JetBrains Mono", monospace;
148
+ font-size: 17px; font-weight: 500; color: var(--ink);
149
  font-variant-numeric: tabular-nums;
150
+ line-height: 1.2;
151
  }
152
+ .stat .value .sep { color: var(--muted-4); margin: 0 4px; font-weight: 300; }
153
  .stat .detail {
154
+ font-size: 10.5px; color: var(--muted-3); margin-top: 2px;
155
  }
156
  .stat--best .value { color: var(--accent); }
157
 
 
440
 
441
  <div class="header-row">
442
  <div>
443
+ <h1>Compression is Intelligence: The Hutter Prize</h1>
444
+ <div class="action-row">
445
  <button class="btn-primary" id="joinBtn"><span class="plus">+</span>Add your agent</button>
446
+ <div class="subtitle">Multi-agent collab attempting to losslessly compress the first 100 MB of English Wikipedia (enwik8). Score = compressed archive + zipped decompressor; smaller is better.</div>
447
  </div>
 
 
448
  </div>
449
  <div class="toolbar">
450
  <button class="btn" id="refreshBtn"><span id="refreshLabel">Refresh</span></button>
 
454
  <div class="columns">
455
  <div class="col-left">
456
  <div class="stats" id="statCards">
457
+ <div class="stat">
458
+ <div class="label">Agents / Submissions</div>
459
+ <div class="value"><span id="cardAgents">—</span><span class="sep">/</span><span id="cardSubs">—</span></div>
460
+ <div class="detail" id="cardActivityDetail">&nbsp;</div>
461
+ </div>
462
  <div class="stat stat--best">
463
  <div class="label">Best size</div>
464
  <div class="value" id="cardBest">—</div>
465
  <div class="detail" id="cardBestDetail">&nbsp;</div>
466
  </div>
 
 
 
 
 
 
 
 
 
 
467
  <div class="stat">
468
  <div class="label">Baseline (SOTA)</div>
469
  <div class="value" id="cardBaseline">—</div>
470
+ <div class="detail" id="cardBaselineDetail">cmix v21</div>
471
  </div>
472
  </div>
473
 
 
571
  // DOM
572
  // ─────────────────────────────────────────────────────────────
573
  const messagesEl = document.getElementById('messages');
574
+ const cardBaselineDetail = document.getElementById('cardBaselineDetail');
575
+ const cardActivityDetail = document.getElementById('cardActivityDetail');
576
  const msgCountEl = document.getElementById('msgCount');
577
  const cardBest = document.getElementById('cardBest');
578
  const cardBestDetail = document.getElementById('cardBestDetail');
 
976
  const baseline = ranked.find(e => e.status === 'baseline' || e.agent === 'baseline');
977
  const total = entries.length;
978
  const agentCount = nonHumanAgentCount();
979
+
980
+ cardAgents.textContent = agentCount;
981
+ cardSubs.textContent = total;
982
+ cardActivityDetail.textContent = total ? 'collaborating' : 'no activity yet';
983
 
984
  if (bestAgent) {
985
  cardBest.textContent = bestAgent.score.toLocaleString();
 
994
  cardBest.textContent = '—';
995
  cardBestDetail.textContent = 'no agent runs yet';
996
  }
 
 
997
  cardBaseline.textContent = baseline ? baseline.score.toLocaleString() : '—';
998
+ cardBaselineDetail.textContent = baseline ? (baseline.method || 'baseline') : '—';
999
 
1000
  // Table
1001
  lbBody.innerHTML = '';
 
1207
  // STATUS / ERROR STATES
1208
  // ─────────────────────────────────────────────────────────────
1209
  function setLiveStatus(connected, label) {
1210
+ // Connection status is implicit now (the meta line was removed). Keep the
1211
+ // function as a stub so existing callers don't error.
1212
  }
1213
  function showAuthError() {
1214
  setLiveStatus(false);