紅葉山橋 is not on R274. The full Reiwa 8 bridge register lists it once, on
国道452号 (100.1 m, PC, 1989), just up R452 from the 紅葉山交差点. It had come
in through the OSM corridor sweep, which selected by distance rather than by
road — hence the only `bridge (structure)` kind in the roster and its 533 m
offset. An audit of all 53 roster structures against every route in the three
registers found no other stray.
オロロップ橋 moves to 78.31 km from the author's Google pin, on the 221 m OSM
bridge way that matches the register's 205.9 m. 下福山橋 moves to 78.03, the
104 m way. Both had been displaced by using the オロロップ沢川 stream crossing at
77.05 as an anchor; the stream and the bridge are 1.2 km apart. The sung order
ペンケ → 下福山 → オロロップ → 福山 was already right.
Lyric re-timed by the author with 紅葉山橋 removed; 274.md and 274.lrc match.
Lyric index regenerated: 97 lines, 98 rows, zero backward km steps.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds 274-lyrics-index.py and its output 274-lyrics-index.csv: every sung
line resolved to its roster entry, with coordinates and timing.
98 lyric lines -> 99 rows. Columns are start/stop as mm:ss.xx and as
seconds, the line as sung, the roster's full name for it, kind, km,
lat/lon, and km_from/km_to for district headers. stop is the next
timestamp in the file, spacer lines included, so every line has one.
Four aliases cover the gap between sung and registered names: the three
power stations are sung without their operator prefix, and
モトツ橋にモトツシェルター names two facilities, so it emits two rows sharing
one timing and one coordinate. 東に続く is typed as closing, no object.
District headers resolve from the run of objects they introduce, not from
274-districts.json. Those bands are sampled along the road and so cannot
describe a district the road does not enter: 宮下町 has no band at all,
本町東 exists only as 本町東一丁目, and 千栄's band sits at 107.25-107.75
while the station it introduces is at km 104.52, 666 m off the
carriageway inside 千栄.
Object names in the roster are unique, so no other disambiguation is
needed. The script exits non-zero and names any line it cannot resolve.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>