Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
208 commits
Select commit Hold shift + click to select a range
be62e02
Add PLAN
Aug 13, 2026
0d1313a
feat(schema): add pathwayMetadata.v2 with scoped keyFeatures
Aug 13, 2026
3bde9e6
update generated files
Aug 13, 2026
f71d7f5
feat(data): migrate ACE and IEA pathways to metadata v2
Aug 13, 2026
f82abe6
feat(search): read v2 scoped keyFeatures in search and rendering
Aug 13, 2026
4c8f8a6
docs(data): document v2 authoring format; test v2 required fields
Aug 14, 2026
5c022a5
chore: generated files
Aug 19, 2026
9d0841f
Merge remote-tracking branch 'origin/main' into feat/metadata-v2-schema
Aug 19, 2026
387a101
RM PLAN
Aug 19, 2026
b8b5ad1
regenerate files
Aug 19, 2026
ffff388
update tests after merge from main
Aug 19, 2026
68a0f74
drop `pathwayOverview`
Aug 24, 2026
88a1e82
remove unused `transitionAssessment` field
Aug 24, 2026
1536977
update test fixtures
Aug 24, 2026
afa48ad
Ignore the None bucket when resolving keyFeature scopes
Aug 24, 2026
2e61cec
Merge branch 'main' into feat/metadata-v2-schema
AlexAxthelm Aug 24, 2026
34e975a
fix(search): match keyFeature geography scopes by overlap, not contai…
Aug 25, 2026
552addb
Reject duplicate keyFeature scopes
Aug 25, 2026
144dbd1
fix(data): only warn about un-migrated files on the dev server
Aug 25, 2026
147f84d
Correct two description defects and the CI annotation path
Aug 25, 2026
31def48
Scope technologies to their sector (#461)
Aug 26, 2026
7dbb439
Add authored per-metric dataAvailability (#870)
Aug 27, 2026
c3e1f8c
chore(scripts): add pathway metadata import from Excel workbook
Aug 28, 2026
c50b019
simplify script
Aug 28, 2026
d93c047
refactor(data): Update datafiles to V2 schema
Aug 28, 2026
58acc87
feat(pathway-detail): reorganize detail page into deep-linkable tabs
Aug 28, 2026
f6e39d2
feat(pathway-detail): add Data Availability table to Scope & Granular…
Aug 28, 2026
3c40ba3
feat(pathway-detail): add Dependencies table to Overview tab
Aug 28, 2026
b590f30
feat(pathway-detail): add Assumptions & Trends Overview to Overview tab
Aug 28, 2026
ec46b2f
Merge branch 'feat-ui-tabs' into epic/v2
Aug 28, 2026
5c8d469
test(pathway-detail): add integration coverage for tabbed layout wiring
Aug 28, 2026
7f9e1c2
Merge branch 'main' into feat/metadata-v2-schema
Aug 29, 2026
66ee8d5
Merge branch 'feat/metadata-v2-schema' into feat-ui-tabs
Aug 29, 2026
5917043
Merge branch 'feat/metadata-v2-schema' into feat-import
Aug 29, 2026
4dca320
Merge branch 'feat/metadata-v2-schema' into epic/v2
Aug 29, 2026
2e9b55a
Merge branch 'feat-import' into epic/v2
Aug 29, 2026
7fa9c37
Merge branch 'feat-ui-tabs' into epic/v2
Aug 29, 2026
a50d880
refactor(comparison-plots): extract PlotPanel into its own module
jacobvjk Sep 11, 2026
1b1d10c
feat(geography): add resolveGeography fallback util
jacobvjk Sep 11, 2026
3921799
feat(pathway-detail): render benchmark plots as small multiples
jacobvjk Sep 11, 2026
765f2e1
refactor(core-drivers): extract a per-driver renderer
jacobvjk Sep 11, 2026
e5dc889
refactor(key-features): give groups stable ids and allow rendering a …
jacobvjk Sep 11, 2026
e8dd90f
feat(key-features): regroup into six themed groups and fold in core d…
jacobvjk Sep 11, 2026
db862cb
feat(pathway-detail): rehome content across the four tabs
jacobvjk Sep 11, 2026
34a8721
refactor(core-drivers): drop the superseded AssumptionsTrends card grid
jacobvjk Sep 11, 2026
a2cbd65
feat(pathway-detail): add geography to the context ribbon and condens…
jacobvjk Sep 11, 2026
05da386
style: run prettier on the tables added earlier in this PR
jacobvjk Sep 11, 2026
8823036
feat(key-features): render each group as its own card
jacobvjk Sep 11, 2026
6f1657e
feat(pathway-detail): render benchmark plots as cards in a titled panel
jacobvjk Sep 11, 2026
239541d
fix(pathway-detail): let the Pathway Description span the tab width
jacobvjk Sep 11, 2026
afd2ab8
fix(pathway-detail): finish two items missed from the plan
jacobvjk Sep 11, 2026
9b36d97
feat(ui): give sector segment indicators their own badge
jacobvjk Sep 11, 2026
ca2fb79
feat(ui): wire tooltips onto the sector segment badges
jacobvjk Sep 11, 2026
a916379
feat(schema): rename the Storage segment and add fuel extraction
jacobvjk Sep 11, 2026
d3e0a93
chore: ignore the .venv virtualenv
jacobvjk Sep 11, 2026
bd75a8b
feat(ui): source segment tooltips from the timeseries taxonomy
jacobvjk Sep 11, 2026
d172d13
refactor(scope): overlap scope tokens read in the pathway's own vocab…
jacobvjk Sep 11, 2026
f2a01b3
feat(scope): seed a single-select scope from the search selection
jacobvjk Sep 11, 2026
ac090e5
fix(badge-array): stop the props type intersecting with what it redec…
jacobvjk Sep 11, 2026
5820519
feat(tooltip): allow the trigger to render as a button
jacobvjk Sep 11, 2026
5e56338
feat(badge-array): optional single-select toggle behaviour
jacobvjk Sep 11, 2026
f61242b
feat(pathway-detail): make the context ribbon a scope selector
jacobvjk Sep 11, 2026
07f8895
feat(pathway-detail): scope the data availability table
jacobvjk Sep 11, 2026
dd82cad
fix(pathway-detail): key availability rows by their full scope tuple …
jacobvjk Sep 11, 2026
1e7c972
feat(pathway-detail): scope the dependencies table to the selected se…
jacobvjk Sep 11, 2026
c28bb46
test: use real schema enum values in the new scope fixtures
jacobvjk Sep 11, 2026
acce2d7
fix(pathway-detail): report the geography fallback once, and refuse t…
jacobvjk Sep 11, 2026
28d4d7d
feat(pathway-detail): wire the ribbon selection into the page
jacobvjk Sep 11, 2026
4a63b22
feat(pathway-detail): open the detail view on a definite scope
jacobvjk Sep 11, 2026
af69878
chore: untrack local metadata prep scripts
jacobvjk Sep 11, 2026
d5f23c3
feat(url-state): extract a generic URL-param state hook
jacobvjk Sep 21, 2026
3e1d7f4
fix(geography): resolve a region across spelling variants
jacobvjk Sep 22, 2026
b621d76
feat(comparison): model the shared scope across compared pathways
jacobvjk Sep 22, 2026
fb8c386
feat(search): block comparing pathways with no sector in common
jacobvjk Sep 22, 2026
67a08f0
feat(comparison): block comparing pathways with no sector in common
jacobvjk Sep 22, 2026
9dcc77b
feat(comparison): seed the comparison URL from the search scope
jacobvjk Sep 22, 2026
1144896
feat(comparison): a shared scope header with a geography warning
jacobvjk Sep 22, 2026
4759040
feat(comparison-plots): resolve the shared geography per column
jacobvjk Sep 22, 2026
160fb15
fix(comparison-plots): size the charts to their column (#842)
jacobvjk Sep 22, 2026
927a40f
test(comparison): stabilise the page tests under parallelism (#896)
jacobvjk Sep 22, 2026
0766e58
fix(comparison): drop a restored selection that cannot be compared
jacobvjk Sep 22, 2026
80d5bfa
fix(badge): restore the outlined geography badge colours
jacobvjk Sep 22, 2026
4cdf733
fix(availability): match a geography across spelling variants
jacobvjk Sep 22, 2026
d84624f
refactor(comparison): one source for a pathway's geography options
jacobvjk Sep 22, 2026
d470f3c
feat(comparison): a geography dropdown for one column
jacobvjk Sep 22, 2026
44fe600
feat(comparison): model per-column geography
jacobvjk Sep 22, 2026
e209132
feat(comparison): give each column its own geography
jacobvjk Sep 22, 2026
98ea789
update .gitignore!
jacobvjk Sep 22, 2026
63c1cac
feat(comparison-plots): caption each column with its sector segment
jacobvjk Sep 22, 2026
e19eebf
feat(comparison): list region members on the geography badges
jacobvjk Sep 22, 2026
1a810ee
feat(comparison): show core drivers alongside the key features
jacobvjk Sep 22, 2026
4c45f23
Merge remote-tracking branch 'origin/main' into epic/v2
Sep 23, 2026
9736794
Merge remote-tracking branch 'origin/feat/comparison-scope' into epic/v2
Sep 23, 2026
b01b0b7
feat(schema): align dataAvailability with the cookbook vocabulary
jacobvjk Sep 25, 2026
8e82fc5
Merge branch 'feat/metadata-v2-schema' into feat-ui-tabs
jacobvjk Sep 25, 2026
7b59c2c
Merge branch 'feat-ui-tabs' into feat/detail-scope-filters
jacobvjk Sep 25, 2026
6a1fcb0
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Sep 25, 2026
767c678
refactor(schema): rename the Storage sector segment to Energy storage
jacobvjk Sep 25, 2026
b1339f2
Merge branch 'feat/metadata-v2-schema' into feat-ui-tabs
jacobvjk Sep 25, 2026
90220e0
Merge branch 'feat-ui-tabs' into feat/detail-scope-filters
jacobvjk Sep 25, 2026
9c09b18
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Sep 25, 2026
5e7ab5b
refactor(schema): spell the scope sentinels as the cookbook does
jacobvjk Oct 2, 2026
c5131ba
feat(schema): add the key-feature values the cookbook requires
jacobvjk Oct 2, 2026
57d93c6
feat(schema): complete the sector-conditional vocabularies
jacobvjk Oct 2, 2026
b6d5c82
feat(schema): add sector segments at pathway level
jacobvjk Oct 2, 2026
b7a7c4c
docs(data): document the v2 schema changes for authors
jacobvjk Oct 2, 2026
8410463
Merge branch 'feat/metadata-v2-schema' into feat-ui-tabs
jacobvjk Oct 2, 2026
21f02d0
fix(availability): render the segment list, not the array
jacobvjk Oct 2, 2026
0d38209
Merge branch 'feat-ui-tabs' into feat/detail-scope-filters
jacobvjk Oct 2, 2026
e1e6d22
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Oct 2, 2026
ba6b77a
fix(import): emit the schema's scope sentinel, and stop hiding author…
jacobvjk Oct 2, 2026
e73a40c
chore(import): type the anyOf branch membersOf reads
jacobvjk Oct 2, 2026
2fa3d4c
fix(taxonomy): give Power the two technologies the cookbook added
jacobvjk Oct 2, 2026
19671b1
Merge branch 'feat/metadata-v2-schema' into feat-ui-tabs
jacobvjk Oct 2, 2026
1279b69
Merge branch 'feat-ui-tabs' into feat/detail-scope-filters
jacobvjk Oct 2, 2026
70bae45
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Oct 2, 2026
67637da
Merge branch 'feat/metadata-v2-schema' into feat-import
jacobvjk Oct 2, 2026
aca5f55
data: JETP-CIPP-2023 regains Geothermal and Energy storage
jacobvjk Oct 2, 2026
172945f
update .gitignore!
jacobvjk Sep 22, 2026
94550e3
fix(validate): check every sector's segments, and keep No information…
jacobvjk Oct 2, 2026
9436cc7
fix(availability): tolerate a sector with no timeseries metrics
jacobvjk Oct 2, 2026
e274196
fix(scope): a stale geography token matches nothing, Global included
jacobvjk Oct 2, 2026
ac5cf8e
Merge branch 'feat/metadata-v2-schema' into feat-ui-tabs
jacobvjk Oct 2, 2026
9571d9a
Merge branch 'feat-ui-tabs' into feat/detail-scope-filters
jacobvjk Oct 2, 2026
7f8d2fb
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Oct 2, 2026
d950d20
Merge branch 'feat/metadata-v2-schema' into feat-import
jacobvjk Oct 2, 2026
085a9db
chore(codemod): read coreDriversProse from the local it was destructu…
jacobvjk Oct 2, 2026
80581b9
Merge branch 'feat/metadata-v2-schema' into feat-ui-tabs
jacobvjk Oct 2, 2026
803ef69
Merge branch 'feat-ui-tabs' into feat/detail-scope-filters
jacobvjk Oct 2, 2026
8be410e
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Oct 2, 2026
192970e
Merge branch 'feat/metadata-v2-schema' into feat-import
jacobvjk Oct 2, 2026
028622d
fix(schema): allow three-letter region labels as scope tokens
jacobvjk Oct 2, 2026
a1ccf73
Merge branch 'feat/metadata-v2-schema' into feat-ui-tabs
jacobvjk Oct 2, 2026
1369866
Merge branch 'feat-ui-tabs' into feat/detail-scope-filters
jacobvjk Oct 2, 2026
64657cd
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Oct 2, 2026
1537cde
Merge branch 'feat/metadata-v2-schema' into feat-import
jacobvjk Oct 2, 2026
1a610a3
feat(import): import data availability, and stop the import losing data
jacobvjk Oct 2, 2026
956a0cc
data: import data availability, restore 13 descriptions, add Singapore
jacobvjk Oct 2, 2026
23d8e0d
fix(tooltip): keep Escape-to-dismiss when a caller passes onKeyDown
jacobvjk Oct 2, 2026
6360f4d
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Oct 2, 2026
536e62d
fix(comparison): count only pathways that still exist in the ribbon
jacobvjk Oct 2, 2026
4296982
chore: stop tracking two local data-prep scripts
jacobvjk Oct 2, 2026
d3cea33
Merge branch 'feat/comparison-scope' into epic/v2
jacobvjk Oct 2, 2026
71e7a8f
Merge branch 'feat-import' into epic/v2
jacobvjk Oct 2, 2026
5b27520
fix(availability): keep Not covered rows under any geography selection
jacobvjk Oct 2, 2026
bfe0987
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Oct 2, 2026
7e1a340
Merge branch 'feat/comparison-scope' into epic/v2
jacobvjk Oct 2, 2026
a154faa
Merge origin/main into epic/v2
jacobvjk Oct 2, 2026
315f6c6
fix(import): block on bad availability rows; keep v1 key features
jacobvjk Oct 2, 2026
0706478
fix(ribbon): re-clicking the selected geography no longer clears it
jacobvjk Oct 2, 2026
8ff7b37
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Oct 2, 2026
7f8f257
fix(comparison): link encoding, stale-id count, sectorless candidates
jacobvjk Oct 2, 2026
2191778
Merge branch 'feat-import' into epic/v2
jacobvjk Oct 2, 2026
72468ea
Merge branch 'feat/comparison-scope' into epic/v2
jacobvjk Oct 2, 2026
b0690f9
data: import the 45 data-availability rows fixed in the workbook
jacobvjk Oct 2, 2026
b11a975
Merge branch 'feat-import' into epic/v2
jacobvjk Oct 2, 2026
6092bea
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Oct 2, 2026
aff55ab
Merge branch 'feat/comparison-scope' into epic/v2
jacobvjk Oct 2, 2026
ff0da46
feat(availability): show segments and geographies as badges
jacobvjk Oct 2, 2026
d9d9455
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
jacobvjk Oct 2, 2026
f155cc1
Merge branch 'feat/comparison-scope' into epic/v2
jacobvjk Oct 2, 2026
0445467
fix(availability): keep each table badge on one line
jacobvjk Oct 2, 2026
5993ccf
fix(comparison): drop stale ids when restoring the tray
jacobvjk Oct 2, 2026
2c54a8e
fix(geography): find a region's members across spelling variants
jacobvjk Oct 2, 2026
7619a5b
Merge branch 'feat/comparison-scope' into epic/v2
jacobvjk Oct 2, 2026
c3c0751
Trigger CI
jacobvjk Oct 5, 2026
7ae8754
Trigger CI
jacobvjk Oct 5, 2026
116488a
Merge branch 'main' into epic/v2
AlexAxthelm Oct 5, 2026
4eef365
chore: update generated type files
Oct 5, 2026
fefce33
Merge branch 'main' into feat/metadata-v2-schema
Oct 5, 2026
d9a12be
chore: generate types
Oct 5, 2026
8888b51
more types
Oct 5, 2026
39c7967
Merge remote-tracking branch 'origin/feat/metadata-v2-schema' into ep…
Oct 5, 2026
38a2c6e
uupdate types
Oct 5, 2026
414b2a6
Merge branch 'feat/detail-scope-filters' into feat/comparison-scope
AlexAxthelm Oct 5, 2026
fb43194
Merge pull request #946 from RMI/feat/detail-scope-filters
AlexAxthelm Oct 5, 2026
47e90db
Merge branch 'epic/v2' into feat/comparison-scope
AlexAxthelm Oct 5, 2026
b0849d6
Merge pull request #954 from RMI/feat/comparison-scope
AlexAxthelm Oct 5, 2026
f319df1
feat(schema): pathwayTimeseries v2 with published geography and secto…
jacobvjk Oct 6, 2026
a88bd33
data: migrate the 16 timeseries files to v2
jacobvjk Oct 6, 2026
4156b77
docs(data): describe the v2 timeseries format
jacobvjk Oct 6, 2026
52b1003
feat(import): import v2 timeseries prepared by the benchmark prep repo
jacobvjk Oct 6, 2026
a63f4b8
feat(download): sector_segment columns from the rows, not the metric
jacobvjk Oct 6, 2026
d2e21ee
feat(plots): segment badges from the plotted rows
jacobvjk Oct 6, 2026
3934f19
fix(schema): Power timeseries technologies match the taxonomy
jacobvjk Oct 6, 2026
6c8171c
refactor(geography): drop the spelling folds #945 needed
jacobvjk Oct 6, 2026
a00f08f
fix(schema): pathwayId needs at least one id, each listed once
jacobvjk Oct 6, 2026
602c050
Merge branch 'feat/timeseries-v2-schema' into feat/timeseries-import
jacobvjk Oct 6, 2026
6304693
fix(import): list every problem per file; guard ids used as file names
jacobvjk Oct 6, 2026
11e5915
Merge branch 'feat/timeseries-import' into feat/timeseries-segment-ui
jacobvjk Oct 6, 2026
fdce31b
fix(plots): no segment badge under a series PlotPanel does not draw
jacobvjk Oct 6, 2026
604de4b
Merge branch 'feat/timeseries-v2-schema' into fix/geography-spelling-…
jacobvjk Oct 6, 2026
153934e
Merge branch 'feat/timeseries-v2-schema' into fix/timeseries-power-te…
jacobvjk Oct 6, 2026
8a97d19
fix(codemod): refuse a pathwayId list that v2 rejects
jacobvjk Oct 6, 2026
e8ea393
Merge branch 'feat/timeseries-v2-schema' into feat/timeseries-import
jacobvjk Oct 6, 2026
59d6858
fix(import): never write a new file onto an occupied path; all-or-not…
jacobvjk Oct 6, 2026
c537935
Merge branch 'feat/timeseries-import' into feat/timeseries-segment-ui
jacobvjk Oct 6, 2026
62012fc
Merge branch 'feat/timeseries-v2-schema' into fix/timeseries-power-te…
jacobvjk Oct 6, 2026
5fe4da3
Merge branch 'feat/timeseries-v2-schema' into fix/geography-spelling-…
jacobvjk Oct 6, 2026
5ece641
fix(import): roll back the failed write's target; back up or abort
jacobvjk Oct 6, 2026
9870786
Merge branch 'feat/timeseries-import' into feat/timeseries-segment-ui
jacobvjk Oct 6, 2026
5680ded
fix(import): compare destinations ignoring case; check them in the sa…
jacobvjk Oct 6, 2026
3bf35ce
Merge branch 'feat/timeseries-import' into feat/timeseries-segment-ui
jacobvjk Oct 6, 2026
61f5eb1
Merge pull request #974 from RMI/feat/timeseries-v2-schema
jacobvjk Oct 6, 2026
87bcf2f
Merge pull request #975 from RMI/feat/timeseries-import
jacobvjk Oct 6, 2026
7fc1c5f
Merge pull request #976 from RMI/feat/timeseries-segment-ui
jacobvjk Oct 6, 2026
183cbb2
Merge pull request #980 from RMI/fix/geography-spelling-fold
jacobvjk Oct 7, 2026
4e02916
Merge pull request #979 from RMI/fix/timeseries-power-technologies
jacobvjk Oct 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
# Frontend: Node modules
node_modules/

# Python virtualenv used by the schema-doc tooling. Never commit it: a plain
# `git add -A` otherwise sweeps in ~2,700 files of binaries and .pyc.
.venv/

# Frontend: Build output
build/
dist/
Expand All @@ -26,3 +30,6 @@ pnpm-debug.log*

# Generated/copied files
public/data/**/*

.tsbuildcache/node.tsbuildinfo
tsconfig.app.tsbuildinfo
Loading
Loading