From 617c23d1af77b68e458b5ad0cb6f54fc0bc2866e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albert=20=C3=96rwall?= Date: Thu, 26 Feb 2026 16:23:15 +0100 Subject: [PATCH] Use model_release_date from leaderboard data in release date chart Pass model_release_date through getSelectedModels() in analysis.js. Update resolvedVsReleaseDateChart.js to prefer model_release_date from the leaderboard JSON data, falling back to the JS lookup table for external submissions that don't have it. --- js/analysis.js | 3 ++- js/charts/resolvedVsReleaseDateChart.js | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/js/analysis.js b/js/analysis.js index 2fce2c4..48d1fc3 100644 --- a/js/analysis.js +++ b/js/analysis.js @@ -50,7 +50,8 @@ resolved: parseFloat(cb.getAttribute('data-resolved')) || 0, cost: cost, per_instance_details: fullModelData?.per_instance_details || null, - tags: fullModelData?.tags || null + tags: fullModelData?.tags || null, + model_release_date: fullModelData?.model_release_date || null }; }); } diff --git a/js/charts/resolvedVsReleaseDateChart.js b/js/charts/resolvedVsReleaseDateChart.js index 3d46f47..8882e7a 100644 --- a/js/charts/resolvedVsReleaseDateChart.js +++ b/js/charts/resolvedVsReleaseDateChart.js @@ -1,9 +1,8 @@ // Scatter chart for resolved % vs model release date function renderResolvedVsReleaseDateChart(ctx, selected, colors, backgroundPlugin) { - // Filter models with release dates + // Filter models with release dates (prefer inline model_release_date, fallback to JS lookup) const modelsWithDates = selected.filter(s => { - const releaseDate = getModelReleaseDate(s.tags); - return releaseDate !== null; + return s.model_release_date || getModelReleaseDate(s.tags); }); if (modelsWithDates.length === 0) { @@ -43,7 +42,7 @@ function renderResolvedVsReleaseDateChart(ctx, selected, colors, backgroundPlugi // Prepare scatter data const scatterData = modelsWithDates.map(s => { - const releaseDateInt = getModelReleaseDate(s.tags); + const releaseDateInt = s.model_release_date || getModelReleaseDate(s.tags); const releaseDate = parseReleaseDateInt(releaseDateInt); return { x: releaseDate.getTime(), @@ -139,7 +138,8 @@ function renderResolvedVsReleaseDateChart(ctx, selected, colors, backgroundPlugi callbacks: { label: (ctx) => { const model = modelsWithDates[ctx.dataIndex]; - const releaseDate = parseReleaseDateInt(getModelReleaseDate(model.tags)); + const releaseDateInt = model.model_release_date || getModelReleaseDate(model.tags); + const releaseDate = parseReleaseDateInt(releaseDateInt); const formattedDate = formatReleaseDate(releaseDate); return `${model.name}: ${formattedDate}, ${ctx.parsed.y.toFixed(2)}%`; }