fix: sync lyric romanization and clear stale selection menus

Preserve romanization and translation metadata through Rust exports and cache, match rounded line times, and retain word endings. Highlight romanization with the main lyric clock in Material and Mornye.

Clear selection overlay ownership safely when collection screens are disposed. Add parser, rendering, cache and overlay lifecycle regression coverage.
This commit is contained in:
zarzet committed 2026-09-23 12:42:08 +07:00
1 parent ebcd1fd877
commit ba44bafa92
14 files changed
+1286 -67

No files matched your search

+1 -1
View File
@@ -8,7 +8,7 @@ final RegExp _lrcDisplayTimestampPattern = RegExp(
r'^\[\d{1,3}:\d{1,2}(?:[.:]\d{1,3})?\]',
);
final RegExp _lrcDisplayMetadataPattern = RegExp(
r'^\[[a-zA-Z][a-zA-Z0-9_]*:.*\]$',
r'^\[[a-zA-Z][a-zA-Z0-9_-]*:.*\]$',
);
final RegExp _lrcDisplayInlineTimestampPattern = RegExp(
r'<\d{1,3}:\d{1,2}(?:[.:]\d{1,3})?>',