From 663ef889b2d0c56732a0877aee210c35b9200c98 Mon Sep 17 00:00:00 2001 From: Dave Verwer Date: Thu, 8 May 2025 13:56:29 +0100 Subject: [PATCH 1/8] Make the X axis scale dynamic rather than fixed. --- FrontEnd/scripts/controllers/vega_chart_controller.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/FrontEnd/scripts/controllers/vega_chart_controller.js b/FrontEnd/scripts/controllers/vega_chart_controller.js index 37191be24..80ea1cf85 100644 --- a/FrontEnd/scripts/controllers/vega_chart_controller.js +++ b/FrontEnd/scripts/controllers/vega_chart_controller.js @@ -235,11 +235,15 @@ class ReadyForSwift6Chart { ) } + const dates = data.flatMap((dataSet) => dataSet.values.map((element) => element.date)) + const minDate = dates.reduce((min, date) => (date < min ? date : min), dates[0]) + const maxDate = dates.reduce((max, date) => (date > max ? date : max), dates[0]) + return [ { name: 'xscale', type: 'time', - domain: [{ signal: 'datetime("2024-05-01")' }, { signal: 'datetime("2024-12-31")' }], + domain: [{ signal: `datetime("${minDate}")` }, { signal: `datetime("${maxDate}")` }], range: 'width', }, { From 6039f480de127b36df6c5b04f67176478ef4d3c6 Mon Sep 17 00:00:00 2001 From: Dave Verwer Date: Thu, 8 May 2025 14:14:58 +0100 Subject: [PATCH 2/8] Beter to do this with actual dates rather than rely on the strings. --- FrontEnd/scripts/controllers/vega_chart_controller.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/FrontEnd/scripts/controllers/vega_chart_controller.js b/FrontEnd/scripts/controllers/vega_chart_controller.js index 80ea1cf85..230b52dc6 100644 --- a/FrontEnd/scripts/controllers/vega_chart_controller.js +++ b/FrontEnd/scripts/controllers/vega_chart_controller.js @@ -235,7 +235,7 @@ class ReadyForSwift6Chart { ) } - const dates = data.flatMap((dataSet) => dataSet.values.map((element) => element.date)) + const dates = data.flatMap((dataSet) => dataSet.values.map((element) => new Date(element.date))) const minDate = dates.reduce((min, date) => (date < min ? date : min), dates[0]) const maxDate = dates.reduce((max, date) => (date > max ? date : max), dates[0]) @@ -243,7 +243,10 @@ class ReadyForSwift6Chart { { name: 'xscale', type: 'time', - domain: [{ signal: `datetime("${minDate}")` }, { signal: `datetime("${maxDate}")` }], + domain: [ + { signal: `datetime(${minDate.getFullYear()}, ${minDate.getMonth()}, ${minDate.getDate()})` }, + { signal: `datetime(${maxDate.getFullYear()}, ${maxDate.getMonth()}, ${maxDate.getDate()})` }, + ], range: 'width', }, { From fe240b1054da37424d0c54843e88e8d24beb16f2 Mon Sep 17 00:00:00 2001 From: Dave Verwer Date: Thu, 8 May 2025 14:20:35 +0100 Subject: [PATCH 3/8] =?UTF-8?q?Use=20Vega=E2=80=99s=20built=20in=20support?= =?UTF-8?q?=20for=20`date`=20scales.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FrontEnd/scripts/controllers/vega_chart_controller.js | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/FrontEnd/scripts/controllers/vega_chart_controller.js b/FrontEnd/scripts/controllers/vega_chart_controller.js index 230b52dc6..dcfdd8b7b 100644 --- a/FrontEnd/scripts/controllers/vega_chart_controller.js +++ b/FrontEnd/scripts/controllers/vega_chart_controller.js @@ -235,18 +235,11 @@ class ReadyForSwift6Chart { ) } - const dates = data.flatMap((dataSet) => dataSet.values.map((element) => new Date(element.date))) - const minDate = dates.reduce((min, date) => (date < min ? date : min), dates[0]) - const maxDate = dates.reduce((max, date) => (date > max ? date : max), dates[0]) - return [ { name: 'xscale', type: 'time', - domain: [ - { signal: `datetime(${minDate.getFullYear()}, ${minDate.getMonth()}, ${minDate.getDate()})` }, - { signal: `datetime(${maxDate.getFullYear()}, ${maxDate.getMonth()}, ${maxDate.getDate()})` }, - ], + domain: { fields: data.map((d) => ({ data: d.id, field: 'date' })) }, range: 'width', }, { From ddecb8f2389c60771933b20207f056652b75e4ae Mon Sep 17 00:00:00 2001 From: Dave Verwer Date: Thu, 8 May 2025 14:43:11 +0100 Subject: [PATCH 4/8] removed month grid lines. --- FrontEnd/scripts/controllers/vega_chart_controller.js | 1 - 1 file changed, 1 deletion(-) diff --git a/FrontEnd/scripts/controllers/vega_chart_controller.js b/FrontEnd/scripts/controllers/vega_chart_controller.js index dcfdd8b7b..4947c4843 100644 --- a/FrontEnd/scripts/controllers/vega_chart_controller.js +++ b/FrontEnd/scripts/controllers/vega_chart_controller.js @@ -257,7 +257,6 @@ class ReadyForSwift6Chart { { orient: 'bottom', scale: 'xscale', - grid: true, labelAngle: { value: -45 }, labelAlign: { value: 'right' }, }, From ac4a6742eca40b48bd7e77e47e8f411a8107db47 Mon Sep 17 00:00:00 2001 From: Dave Verwer Date: Thu, 8 May 2025 14:44:21 +0100 Subject: [PATCH 5/8] Reduced opacity of the event marks. --- FrontEnd/scripts/controllers/vega_chart_controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FrontEnd/scripts/controllers/vega_chart_controller.js b/FrontEnd/scripts/controllers/vega_chart_controller.js index 4947c4843..29d7e6cb5 100644 --- a/FrontEnd/scripts/controllers/vega_chart_controller.js +++ b/FrontEnd/scripts/controllers/vega_chart_controller.js @@ -320,7 +320,7 @@ class ReadyForSwift6Chart { y: { scale: 'yscale', signal: 'minYScale' }, y2: { scale: 'yscale', signal: 'maxYScale' }, fill: { value: '#000000' }, - opacity: { value: 0.3 }, + opacity: { value: 0.1 }, tooltip: { signal: 'datum.value', }, From 8ebf4805acf799d4a9b119c24a7e2eb88c1acc24 Mon Sep 17 00:00:00 2001 From: Dave Verwer Date: Thu, 8 May 2025 14:44:28 +0100 Subject: [PATCH 6/8] Corrected the final event label. --- Resources/ChartData/rfs6-events.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/ChartData/rfs6-events.json b/Resources/ChartData/rfs6-events.json index 44b663d68..6deecdfed 100644 --- a/Resources/ChartData/rfs6-events.json +++ b/Resources/ChartData/rfs6-events.json @@ -41,6 +41,6 @@ }, { "date": "2025-03-31", - "value": "Xcode" + "value": "Xcode 16.3 released" } ] From 567b9f30e8d1d4446230ed7c8a35dee860ec626a Mon Sep 17 00:00:00 2001 From: Dave Verwer Date: Thu, 8 May 2025 14:49:32 +0100 Subject: [PATCH 7/8] Added Swift version to all event labels. --- Resources/ChartData/rfs6-events.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Resources/ChartData/rfs6-events.json b/Resources/ChartData/rfs6-events.json index 6deecdfed..5c6b4ea66 100644 --- a/Resources/ChartData/rfs6-events.json +++ b/Resources/ChartData/rfs6-events.json @@ -1,39 +1,39 @@ [ { "date": "2024-06-10", - "value": "Xcode 16 beta 1 released at WWDC '24" + "value": "Xcode 16 beta 1 released at WWDC '24 (Swift 6.0)" }, { "date": "2024-06-25", - "value": "Xcode 16 beta 2 released" + "value": "Xcode 16 beta 2 released (Swift 6.0)" }, { "date": "2024-07-08", - "value": "Xcode 16 beta 3 released" + "value": "Xcode 16 beta 3 released (Swift 6.0)" }, { "date": "2024-07-23", - "value": "Xcode 16 beta 4 released" + "value": "Xcode 16 beta 4 released (Swift 6.0)" }, { "date": "2024-08-06", - "value": "Xcode 16 beta 5 released" + "value": "Xcode 16 beta 5 released (Swift 6.0)" }, { "date": "2024-08-20", - "value": "Xcode 16 beta 6 released" + "value": "Xcode 16 beta 6 released (Swift 6.0)" }, { "date": "2024-09-09", - "value": "Xcode 16 RC released" + "value": "Xcode 16 RC released (Swift 6.0)" }, { "date": "2024-09-16", - "value": "Xcode 16 released" + "value": "Xcode 16 released (Swift 6.0)" }, { "date": "2024-10-28", - "value": "Xcode 16.1 released" + "value": "Xcode 16.1 released (Swift 6.0)" }, { "date": "2024-11-22", @@ -41,6 +41,6 @@ }, { "date": "2025-03-31", - "value": "Xcode 16.3 released" + "value": "Xcode 16.3 released (Swift 6.1)" } ] From 8ba83db6a04851fab0cb83db0621260233970298 Mon Sep 17 00:00:00 2001 From: Dave Verwer Date: Thu, 8 May 2025 15:02:04 +0100 Subject: [PATCH 8/8] Removed incomplete line of code. --- FrontEnd/scripts/controllers/vega_chart_controller.js | 1 - 1 file changed, 1 deletion(-) diff --git a/FrontEnd/scripts/controllers/vega_chart_controller.js b/FrontEnd/scripts/controllers/vega_chart_controller.js index 29d7e6cb5..bb0e99dab 100644 --- a/FrontEnd/scripts/controllers/vega_chart_controller.js +++ b/FrontEnd/scripts/controllers/vega_chart_controller.js @@ -89,7 +89,6 @@ export class VegaChartController extends Controller { const labelTextElement = document.createTextNode(dataSet.name) labelElement.appendChild(labelTextElement) - labelElement.replaceChild }) return formElement }