I'm leaning toward option 1 too:
But it might be useful to also 'invent' a LDraw spec version meta so we can link the allowed meta list to the spec version. This way software can determine the needed list and has some kind of forwards compatibility for when a new meta gets added to the allowed list it doesn't now of yet.
Based on the version number it knows there might be additional meta's in the header and it could fall back to just including all unknown meta's or something.
Quote:1) Define a "needs work" meta-statement and update all such files.
The end-of header algorithm would then be the detection of a "0 // ..." comment or "0 BFC INVERTNEXT" or a non-type 0 line.
Algorithm clarity: medium, Implementation effort: low (154 official files).
But it might be useful to also 'invent' a LDraw spec version meta so we can link the allowed meta list to the spec version. This way software can determine the needed list and has some kind of forwards compatibility for when a new meta gets added to the allowed list it doesn't now of yet.
Based on the version number it knows there might be additional meta's in the header and it could fall back to just including all unknown meta's or something.