Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
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
8 changes: 8 additions & 0 deletions .changeset/closed-exits-update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@mrtdown/core": major
"@mrtdown/fs": patch
---

Require provenance dates on durable station layout records, add temporary exit
closure and non-boardable platform statuses, and keep transfer endpoints as
lightweight references.
72 changes: 72 additions & 0 deletions data/station/ADM.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,77 @@
}
}
]
},
"layout": {
"levels": [],
"exits": [
{
"id": "ADM_EXIT_A",
"label": "A",
"lastUpdated": "2026-07-16",
"roadNames": [
"Woodlands Avenue 7"
],
"paidArea": false,
"accessibility": {
"stepFree": true
}
},
{
"id": "ADM_EXIT_B",
"label": "B",
"lastUpdated": "2026-07-16",
"roadNames": [
"Woodlands Avenue 7"
],
"paidArea": false
},
{
"id": "ADM_EXIT_C",
"label": "C",
"lastUpdated": "2026-07-16",
"roadNames": [
"Woodlands Avenue 7"
],
"paidArea": false,
"accessibility": {
"stepFree": true
}
},
{
"id": "ADM_EXIT_D",
"label": "D",
"lastUpdated": "2026-07-16",
"roadNames": [
"Woodlands Avenue 7"
],
"paidArea": false
}
],
"platforms": [
{
"id": "ADM_A",
"label": "A",
"lastUpdated": "2026-07-18",
"lineId": "NSL",
"serviceIds": [
"NSL_MAIN_N"
],
"doorCount": 24,
"accessPoints": []
},
{
"id": "ADM_B",
"label": "B",
"lastUpdated": "2026-07-18",
"lineId": "NSL",
"serviceIds": [
"NSL_MAIN_S"
],
"doorCount": 24,
"accessPoints": []
}
],
"transferPaths": []
}
}
51 changes: 51 additions & 0 deletions data/station/ALJ.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,5 +61,56 @@
}
}
]
},
"layout": {
"levels": [],
"exits": [
{
"id": "ALJ_EXIT_A",
"label": "A",
"lastUpdated": "2026-07-16",
"roadNames": [
"Sims Avenue"
],
"paidArea": false
},
{
"id": "ALJ_EXIT_B",
"label": "B",
"lastUpdated": "2026-07-16",
"roadNames": [
"Sims Avenue"
],
"paidArea": false,
"accessibility": {
"stepFree": true
}
}
],
"platforms": [
{
"id": "ALJ_A",
"label": "A",
"lastUpdated": "2026-07-18",
"lineId": "EWL",
"serviceIds": [
"EWL_MAIN_E"
],
"doorCount": 24,
"accessPoints": []
},
{
"id": "ALJ_B",
"label": "B",
"lastUpdated": "2026-07-18",
"lineId": "EWL",
"serviceIds": [
"EWL_MAIN_W"
],
"doorCount": 24,
"accessPoints": []
}
],
"transferPaths": []
}
}
101 changes: 101 additions & 0 deletions data/station/AMK.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,5 +69,106 @@
}
}
]
},
"layout": {
"levels": [],
"exits": [
{
"id": "AMK_EXIT_A",
"label": "A",
"lastUpdated": "2026-07-16",
"roadNames": [
"Ang Mo Kio Avenue 8"
],
"paidArea": false,
"accessibility": {
"stepFree": true
}
},
{
"id": "AMK_EXIT_B",
"label": "B",
"lastUpdated": "2026-07-16",
"roadNames": [
"Ang Mo Kio Avenue 8"
],
"paidArea": false,
"accessibility": {
"stepFree": true
}
},
{
"id": "AMK_EXIT_C",
"label": "C",
"lastUpdated": "2026-07-16",
"roadNames": [
"Ang Mo Kio Avenue 8"
],
"paidArea": false,
"accessibility": {
"stepFree": true
}
},
{
"id": "AMK_EXIT_D",
"label": "D",
"lastUpdated": "2026-07-18",
"operationalStatus": "temporarily_closed",
"roadNames": [
"Ang Mo Kio Avenue 8"
],
"paidArea": false,
Comment thread
duncanleo marked this conversation as resolved.
"accessibility": {
"stepFree": true
}
}
],
"platforms": [
{
"id": "AMK_A",
"label": "A",
"lastUpdated": "2026-07-18",
"lineId": "NSL",
"serviceIds": [
"NSL_MAIN_N"
],
"doorCount": 24,
"accessPoints": []
},
{
"id": "AMK_C",
"label": "C",
"lastUpdated": "2026-07-18",
"lineId": "NSL",
"serviceIds": [
"NSL_MAIN_N"
],
Comment thread
duncanleo marked this conversation as resolved.
"doorCount": 24,
"accessPoints": []
},
{
"id": "AMK_D",
"label": "D",
"lastUpdated": "2026-07-18",
"lineId": "NSL",
"serviceIds": [
"NSL_MAIN_S"
],
"doorCount": 24,
"accessPoints": []
},
{
"id": "AMK_B",
"label": "B",
"lastUpdated": "2026-07-18",
"lineId": "NSL",
"serviceIds": [
"NSL_MAIN_S"
],
"doorCount": 24,
"accessPoints": []
}
],
"transferPaths": []
}
}
48 changes: 47 additions & 1 deletion data/station/BAK.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,51 @@
"sengkang-sports-complex",
"sengkang-grand-mall"
],
"townId": "sengkang"
"townId": "sengkang",
"layout": {
"levels": [],
"exits": [
{
"id": "BAK_EXIT_A",
"label": "A",
"lastUpdated": "2026-07-17",
"paidArea": false,
"accessibility": {
"stepFree": true
}
},
{
"id": "BAK_EXIT_B",
"label": "B",
"lastUpdated": "2026-07-17",
"paidArea": false,
"accessibility": {
"stepFree": true
}
}
],
"platforms": [
{
"id": "BAK_SKLRT_1",
"label": "1",
"lastUpdated": "2026-07-18",
"lineId": "SKLRT",
"serviceIds": [
"SKLRT_E_CW"
],
"accessPoints": []
},
{
"id": "BAK_SKLRT_2",
"label": "2",
"lastUpdated": "2026-07-18",
"lineId": "SKLRT",
"serviceIds": [
"SKLRT_E_CCW"
],
"accessPoints": []
}
],
"transferPaths": []
}
}
72 changes: 72 additions & 0 deletions data/station/BBS.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,77 @@
}
}
]
},
"layout": {
"levels": [],
"exits": [
{
"id": "BBS_EXIT_A",
"label": "A",
"lastUpdated": "2026-07-18",
"paidArea": false
},
{
"id": "BBS_EXIT_B",
"label": "B",
"lastUpdated": "2026-07-18",
"paidArea": false,
"accessibility": {
"stepFree": true
}
},
{
"id": "BBS_EXIT_C",
"label": "C",
"lastUpdated": "2026-07-18",
"paidArea": false,
"accessibility": {
"stepFree": true
}
},
{
"id": "BBS_EXIT_D",
"label": "D",
"lastUpdated": "2026-07-18",
"paidArea": false
},
{
"id": "BBS_EXIT_E",
"label": "E",
"lastUpdated": "2026-07-18",
"paidArea": false
},
{
"id": "BBS_EXIT_F",
"label": "F",
"lastUpdated": "2026-07-18",
"paidArea": false
}
],
"platforms": [
{
"id": "CBBS_A",
"label": "A",
"lastUpdated": "2026-07-18",
"lineId": "CCL",
"serviceIds": [
"CCL_BRANCH_CCW"
],
"doorCount": 12,
"accessPoints": []
},
{
"id": "CBBS_B",
"label": "B",
"lastUpdated": "2026-07-18",
"lineId": "CCL",
"serviceIds": [
"CCL_BRANCH_CW"
],
"doorCount": 12,
"accessPoints": []
}
],
"transferPaths": []
}
}
Loading