Since event-lyrics.lines is a dictionary with user defined keys, it is not possible to render them in the intended order unless lyrics-global.lineOrder is present. This is because JSON makes no guarantee about ordering of dictionaries. Indeed many serializers emit them in unpredictable order no matter what order one adds them in. I'm sure I don't need to remind anyone that the only JSON object that guarantees order is arrays.
In my opinion, lineOrder should be required if there is more than one lyric line anywhere in the document. Maybe even if there is any lyric line. Furthermore, if lineOrder is present it should be required to include any and every key that is used in event-lyrics.lines throughout the document. It should be both the ordering and the canonical list of lyric line keys.
Since
event-lyrics.linesis a dictionary with user defined keys, it is not possible to render them in the intended order unlesslyrics-global.lineOrderis present. This is because JSON makes no guarantee about ordering of dictionaries. Indeed many serializers emit them in unpredictable order no matter what order one adds them in. I'm sure I don't need to remind anyone that the only JSON object that guarantees order is arrays.In my opinion,
lineOrdershould be required if there is more than one lyric line anywhere in the document. Maybe even if there is any lyric line. Furthermore, iflineOrderis present it should be required to include any and every key that is used inevent-lyrics.linesthroughout the document. It should be both the ordering and the canonical list of lyric line keys.