galb-dai commited on
Commit
b8cba9d
·
1 Parent(s): 9558f10
Files changed (3) hide show
  1. app.py +23 -26
  2. src/about.py +1 -0
  3. src/display/css_html_js.py +14 -4
app.py CHANGED
@@ -273,21 +273,23 @@ ACCURACY_PCT = {
273
 
274
 
275
  def build_accuracy_figure(tier: str):
276
- """Interactive scatter: x = release date, y = accuracy (%). Hover shows solved/total."""
277
  total = TIER_TOTALS[tier]
278
  fig = go.Figure()
279
 
280
  for model in MODELS_ORDER:
281
- date_str = MODEL_RELEASES[model]
282
- y = ACCURACY_PCT[tier][model]
283
  solved = round(y * total / 100)
 
284
  fig.add_trace(
285
  go.Scatter(
286
  x=[date_str],
287
  y=[y],
288
  mode="markers",
289
- name=model,
290
- marker=dict(size=12, line=dict(width=1)),
 
291
  hovertemplate=(
292
  f"<b>{model}</b><br>"
293
  "Release: %{x|%b %d, %Y}<br>"
@@ -298,25 +300,18 @@ def build_accuracy_figure(tier: str):
298
  )
299
  )
300
 
301
- # Comfortable y-range (dynamic ceiling for readability)
302
- max_y = max(ACCURACY_PCT[tier].values()) or 1
303
- upper = max(1, math.ceil(max_y * 1.25))
304
-
305
  fig.update_layout(
306
  template="plotly_white",
307
  height=420,
308
  margin=dict(l=30, r=120, t=10, b=40), # extra right room for legend
309
- xaxis=dict(
310
- title=None,
311
- type="date",
312
- tickformat="%b %Y",
313
- showgrid=True,
314
- ),
315
  yaxis=dict(
316
  title="Accuracy (%)",
317
- range=[0, upper],
318
- dtick=max(1, upper // 5),
 
319
  showgrid=True,
 
320
  ),
321
  legend=dict(title="Models", orientation="v", y=1, x=1.02, yanchor="top"),
322
  hovermode="closest",
@@ -337,7 +332,7 @@ with blocks:
337
  with gr.Tabs(elem_classes="tab-buttons") as tabs:
338
  with gr.TabItem("FormulaOne", id=0, elem_id="landing-accuracy-tab"):
339
  gr.Markdown(
340
- "The chart below summarizes static (non-live) results for model performance on FormulaOne.",
341
  elem_classes="markdown-text",
342
  )
343
 
@@ -363,23 +358,25 @@ with blocks:
363
  gr.Markdown(
364
  """
365
  <div class="f1-container">
366
- <p class="f1-p" style="font-size:0.95rem;color:var(--f1-subtle);">
367
- <em>Footnote.</em> All models were sampled with their highest available reasoning settings and a generous token budget.
368
- We also used a diverse few-shot prompt that is highly supportive for these problems, covering many of the subtle
369
- details inherent in the tasks (state design, invariants, and bag transformations).
370
- </p>
371
  </div>
372
- """,
373
  elem_classes="markdown-text",
374
  )
375
 
376
  # "Learn more" link to the explainer tab
377
  gr.Markdown(
378
- '<div class="f1-container"><p><a class="f1-a" href="#what-is-tab">Learn more about FormulaOne.</a></p></div>'
 
 
379
  )
 
380
  # Existing "What is FormulaOne" tab
381
  with gr.TabItem("What is FormulaOne", id=1, elem_id="what-is-tab"):
382
-
383
  gr.Image(
384
  "assets/banner.png",
385
  show_label=False,
 
273
 
274
 
275
  def build_accuracy_figure(tier: str):
276
+ """Interactive scatter: x = release date (ISO str), y = accuracy (%). Hover shows solved/total."""
277
  total = TIER_TOTALS[tier]
278
  fig = go.Figure()
279
 
280
  for model in MODELS_ORDER:
281
+ date_str = MODEL_RELEASES[model] # e.g., "2025-08-07"
282
+ y = ACCURACY_PCT[tier][model] # percent
283
  solved = round(y * total / 100)
284
+
285
  fig.add_trace(
286
  go.Scatter(
287
  x=[date_str],
288
  y=[y],
289
  mode="markers",
290
+ name=model, # distinct legend entry & color per model
291
+ marker=dict(size=8, opacity=0.55, line=dict(width=0.5)),
292
+ cliponaxis=False, # let markers render over axes
293
  hovertemplate=(
294
  f"<b>{model}</b><br>"
295
  "Release: %{x|%b %d, %Y}<br>"
 
300
  )
301
  )
302
 
 
 
 
 
303
  fig.update_layout(
304
  template="plotly_white",
305
  height=420,
306
  margin=dict(l=30, r=120, t=10, b=40), # extra right room for legend
307
+ xaxis=dict(title=None, type="date", tickformat="%b %Y", showgrid=True),
 
 
 
 
 
308
  yaxis=dict(
309
  title="Accuracy (%)",
310
+ range=[0, 100], # fixed 0–100
311
+ tick0=0,
312
+ dtick=10,
313
  showgrid=True,
314
+ layer="below traces", # draw axis below points so dots aren't “cut”
315
  ),
316
  legend=dict(title="Models", orientation="v", y=1, x=1.02, yanchor="top"),
317
  hovermode="closest",
 
332
  with gr.Tabs(elem_classes="tab-buttons") as tabs:
333
  with gr.TabItem("FormulaOne", id=0, elem_id="landing-accuracy-tab"):
334
  gr.Markdown(
335
+ "The chart below summarises Frontier model performance on FormulaOne.",
336
  elem_classes="markdown-text",
337
  )
338
 
 
358
  gr.Markdown(
359
  """
360
  <div class="f1-container">
361
+ <p class="f1-p" style="font-size:0.95rem;color:var(--f1-subtle);">
362
+ All models were sampled with their highest available reasoning settings and a maximum token budget.
363
+ We also provided the models with a diverse few-shot prompt that is highly supportive for FormulaOne problems,
364
+ covering many of the subtle details of state design and maintenance, from a broad array of categories.
365
+ </p>
366
  </div>
367
+ """,
368
  elem_classes="markdown-text",
369
  )
370
 
371
  # "Learn more" link to the explainer tab
372
  gr.Markdown(
373
+ '<div class="f1-container"><p style="font-size:1.05rem;font-weight:600;">'
374
+ '<a class="f1-a" href="#what-is-formulaone">Learn more about FormulaOne.</a>'
375
+ "</p></div>"
376
  )
377
+
378
  # Existing "What is FormulaOne" tab
379
  with gr.TabItem("What is FormulaOne", id=1, elem_id="what-is-tab"):
 
380
  gr.Image(
381
  "assets/banner.png",
382
  show_label=False,
src/about.py CHANGED
@@ -2,6 +2,7 @@
2
  PAPER_URL = "https://arxiv.org/abs/2507.13337"
3
 
4
  WHAT_IS_F1_HTML_TOP = f"""
 
5
  <div class="f1-container">
6
  <header class="text-center mb-12">
7
  <h1 class="text-4xl md:text-5xl font-bold text-gray-900 f1-h1">FormulaOne</h1>
 
2
  PAPER_URL = "https://arxiv.org/abs/2507.13337"
3
 
4
  WHAT_IS_F1_HTML_TOP = f"""
5
+ <a id="what-is-formulaone"></a>
6
  <div class="f1-container">
7
  <header class="text-center mb-12">
8
  <h1 class="text-4xl md:text-5xl font-bold text-gray-900 f1-h1">FormulaOne</h1>
src/display/css_html_js.py CHANGED
@@ -19,14 +19,24 @@ custom_css = """
19
  #f1-examples { max-width: 710px; margin: 0 auto; }
20
 
21
  /* NEW: landing tab width + tier selector alignment */
 
22
  #landing-accuracy-tab { max-width: 800px; margin-left: auto; margin-right: auto; }
23
- #f1-tier-select-row { justify-content: flex-end; margin-bottom: 6px; }
24
- #f1-tier-select-row { justify-content: flex-end; margin-bottom: 6px; }
 
 
 
 
 
 
 
 
 
25
  #f1-tier-select .wrap {
26
  display: inline-flex;
27
  gap: 6px;
28
  padding: 4px;
29
- background: #ffffff;
30
  border: 1px solid var(--f1-border);
31
  border-radius: 999px;
32
  }
@@ -39,7 +49,7 @@ custom_css = """
39
  cursor: pointer;
40
  }
41
  #f1-tier-select input[type="radio"]:checked + span {
42
- background: #eef2ff; /* subtle non-white for selected pill */
43
  border-radius: 999px;
44
  padding: 6px 12px;
45
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
 
19
  #f1-examples { max-width: 710px; margin: 0 auto; }
20
 
21
  /* NEW: landing tab width + tier selector alignment */
22
+ /* Landing tab width + tier selector alignment */
23
  #landing-accuracy-tab { max-width: 800px; margin-left: auto; margin-right: auto; }
24
+
25
+ /* Right-align the switcher row; transparent background & border */
26
+ #f1-tier-select-row {
27
+ justify-content: flex-end;
28
+ margin-bottom: 6px;
29
+ background: transparent !important;
30
+ border: none !important;
31
+ }
32
+
33
+ /* Make the control look like "pills" and force RTL layout */
34
+ #f1-tier-select { direction: rtl; } /* RTL direction (equivalent effect to dir="rtl") */
35
  #f1-tier-select .wrap {
36
  display: inline-flex;
37
  gap: 6px;
38
  padding: 4px;
39
+ background: #ffffff; /* white background for the switcher itself */
40
  border: 1px solid var(--f1-border);
41
  border-radius: 999px;
42
  }
 
49
  cursor: pointer;
50
  }
51
  #f1-tier-select input[type="radio"]:checked + span {
52
+ background: #eef2ff; /* only selected pill is tinted */
53
  border-radius: 999px;
54
  padding: 6px 12px;
55
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);