feat(274): route data for the transect; lyric fixes the transect exposed
Building the transect visualisation (Song274Transect) is what exposed problems in the lyric and its index: syncing nodes to the lyric showed 紅葉山橋 lighting up although it is not on this road (it is on R452), 下福山橋 and オロロップ橋 sitting at the wrong km, and lines timed against the wrong stretch. They were fixed upstream in the wiki (ncmr-songs 7af0f48, "274: drop 紅葉山橋, fix オロロップ橋 and 下福山橋, re-timed lyric"), and the lyric deliverables here follow. 274.lrc — byte-identical copy of the wiki LRC at 7af0f48: 紅葉山橋 removed; 紅楓橋 through 楓信号場 re-timed (1:35.24–1:55.54) with 夕張市楓 at 1:45.77; 登川トンネル at 2:05.23 and its section end at 2:06.62; 稲里トンネル's section end at 4:25.27. 下福山橋 and オロロップ橋 keep their timing; their km were corrected in the roster and index. 274.srt — regenerated with scripts/lrc2srt.py, 116 cues. 274.ass — events follow the LRC: district headers as transparent_title spanning their section, 東に続く as transparent_lyrics_jp, spacers as empty events, the final line held 5 s. The Aegisub header and all 17 styles are untouched. 117 events -> 116. route/ — copied from novoyuuparosk-wiki/ncmr-songs wip/274, where it is generated; read-only here, and its README says so. src/song-274/data.ts loads 274-route.json, 274-lookup.csv and 274-lyrics-index.csv, plus the two approach stubs: 274-route-west.json (always drawn as covered) and 274-route-east.json (painted after 東に続く). Also carries the district bands, the GeoJSON and the reference page. The route shapes are single clean polylines: no second-carriageway points in the divided sections, km strictly increasing. Verified: all 116 ASS events and SRT cues match the LRC's order, text and timestamps; every sung node in the index joins to the roster at matching km. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PLt25nCVMsoroKALYUBu6u
This commit is contained in:
@@ -0,0 +1,186 @@
|
||||
[
|
||||
{
|
||||
"frm": 36.5,
|
||||
"to": 38.25,
|
||||
"code": "01427",
|
||||
"city": "夕張郡由仁町",
|
||||
"lv": "川端",
|
||||
"kana": "かわばた"
|
||||
},
|
||||
{
|
||||
"frm": 38.5,
|
||||
"to": 42.0,
|
||||
"code": "01429",
|
||||
"city": "夕張郡栗山町",
|
||||
"lv": "字滝下",
|
||||
"kana": "たきした"
|
||||
},
|
||||
{
|
||||
"frm": 42.25,
|
||||
"to": 43.0,
|
||||
"code": "01427",
|
||||
"city": "夕張郡由仁町",
|
||||
"lv": "川端",
|
||||
"kana": "かわばた"
|
||||
},
|
||||
{
|
||||
"frm": 43.25,
|
||||
"to": 44.0,
|
||||
"code": "01429",
|
||||
"city": "夕張郡栗山町",
|
||||
"lv": "字滝下",
|
||||
"kana": "たきした"
|
||||
},
|
||||
{
|
||||
"frm": 44.25,
|
||||
"to": 48.25,
|
||||
"code": "01209",
|
||||
"city": "夕張市",
|
||||
"lv": "滝ノ上",
|
||||
"kana": "たきのうえ"
|
||||
},
|
||||
{
|
||||
"frm": 48.5,
|
||||
"to": 55.5,
|
||||
"code": "01209",
|
||||
"city": "夕張市",
|
||||
"lv": "紅葉山",
|
||||
"kana": "もみじやま"
|
||||
},
|
||||
{
|
||||
"frm": 55.75,
|
||||
"to": 57.75,
|
||||
"code": "01209",
|
||||
"city": "夕張市",
|
||||
"lv": "楓",
|
||||
"kana": "かえで"
|
||||
},
|
||||
{
|
||||
"frm": 58.0,
|
||||
"to": 61.0,
|
||||
"code": "01209",
|
||||
"city": "夕張市",
|
||||
"lv": "登川",
|
||||
"kana": "のぼりかわ"
|
||||
},
|
||||
{
|
||||
"frm": 61.25,
|
||||
"to": 62.75,
|
||||
"code": "01586",
|
||||
"city": "勇払郡むかわ町",
|
||||
"lv": "穂別長和",
|
||||
"kana": "ほべつおさわ"
|
||||
},
|
||||
{
|
||||
"frm": 63.0,
|
||||
"to": 72.0,
|
||||
"code": "01586",
|
||||
"city": "勇払郡むかわ町",
|
||||
"lv": "穂別稲里",
|
||||
"kana": "ほべついなさと"
|
||||
},
|
||||
{
|
||||
"frm": 72.25,
|
||||
"to": 76.0,
|
||||
"code": "01586",
|
||||
"city": "勇払郡むかわ町",
|
||||
"lv": "穂別長和",
|
||||
"kana": "ほべつおさわ"
|
||||
},
|
||||
{
|
||||
"frm": 76.25,
|
||||
"to": 88.75,
|
||||
"code": "01586",
|
||||
"city": "勇払郡むかわ町",
|
||||
"lv": "穂別福山",
|
||||
"kana": "ほべつふくやま"
|
||||
},
|
||||
{
|
||||
"frm": 89.0,
|
||||
"to": 96.75,
|
||||
"code": "01463",
|
||||
"city": "勇払郡占冠村",
|
||||
"lv": "字中央",
|
||||
"kana": "ちゅうおう"
|
||||
},
|
||||
{
|
||||
"frm": 97.0,
|
||||
"to": 101.75,
|
||||
"code": "01601",
|
||||
"city": "沙流郡日高町",
|
||||
"lv": "字日高",
|
||||
"kana": "ひだか(1く)"
|
||||
},
|
||||
{
|
||||
"frm": 102.0,
|
||||
"to": 102.5,
|
||||
"code": "01601",
|
||||
"city": "沙流郡日高町",
|
||||
"lv": "新町三丁目",
|
||||
"kana": "しんまち"
|
||||
},
|
||||
{
|
||||
"frm": 102.75,
|
||||
"to": 102.75,
|
||||
"code": "01601",
|
||||
"city": "沙流郡日高町",
|
||||
"lv": "新町一丁目",
|
||||
"kana": "しんまち"
|
||||
},
|
||||
{
|
||||
"frm": 103.0,
|
||||
"to": 103.0,
|
||||
"code": "01601",
|
||||
"city": "沙流郡日高町",
|
||||
"lv": "栄町東一丁目",
|
||||
"kana": "さかえまちひがし"
|
||||
},
|
||||
{
|
||||
"frm": 103.25,
|
||||
"to": 103.5,
|
||||
"code": "01601",
|
||||
"city": "沙流郡日高町",
|
||||
"lv": "本町東一丁目",
|
||||
"kana": "ほんちょうひがし"
|
||||
},
|
||||
{
|
||||
"frm": 103.75,
|
||||
"to": 103.75,
|
||||
"code": "01601",
|
||||
"city": "沙流郡日高町",
|
||||
"lv": "本町東二丁目",
|
||||
"kana": "ほんちょうひがし"
|
||||
},
|
||||
{
|
||||
"frm": 104.0,
|
||||
"to": 104.0,
|
||||
"code": "01601",
|
||||
"city": "沙流郡日高町",
|
||||
"lv": "松風町一丁目",
|
||||
"kana": "まつかぜちょう"
|
||||
},
|
||||
{
|
||||
"frm": 104.25,
|
||||
"to": 104.25,
|
||||
"code": "01601",
|
||||
"city": "沙流郡日高町",
|
||||
"lv": "山手町一丁目",
|
||||
"kana": "やまてちょう"
|
||||
},
|
||||
{
|
||||
"frm": 104.5,
|
||||
"to": 107.0,
|
||||
"code": "01601",
|
||||
"city": "沙流郡日高町",
|
||||
"lv": "字日高",
|
||||
"kana": "ひだか(1く)"
|
||||
},
|
||||
{
|
||||
"frm": 107.25,
|
||||
"to": 107.75,
|
||||
"code": "01601",
|
||||
"city": "沙流郡日高町",
|
||||
"lv": "字千栄",
|
||||
"kana": "ちさか"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user