w3c / png

Maintenance of the PNG specification
https://w3c.github.io/png/
Other
46 stars 11 forks source link

Join chunk ordering rules #467

Open ProgramMax opened 1 month ago

ProgramMax commented 1 month ago

§ 5.6 Chunk ordering lists out specific chunks and their ordering requirements.

§ 14.3 Ordering of chunks lists out the more general rules.

These two sections should perhaps be merged. I don't see a benefit to having them separate. But I do see drawbacks (such as a reader thinking they have absorbed the ordering rules after only seeing half with no indication to them).

I'm adding the "Future edition considerations" Milestone because I don't want to introduce new changes to Third Edition. This ordering split has existed since PNG 1.0 spec.

randy408 commented 2 weeks ago

Can't help but notice the acTL chunk listed as "Before PLTE and IDAT" under § 5.6 Chunk ordering, I can't find anything that supports the "before PLTE" part in the original specification or the libpng patch. Am I missing something?

ProgramMax commented 2 weeks ago

Can you help me understand your question a little more? I don't fully grasp it.

When you say the original specification, if you meant PNG 1.0, § 4.3. Summary of standard chunks has several "Before PLTE" (cHRM, gAMA, sBIT). So perhaps you meant the original Mozilla spec for APNG?

I haven't carefully combed through the libpng patch but I would believe it could be missing something.

I wouldn't be surprised if the original Mozilla APNG patch simply left out some of the ordering requirements and the libpng patch was based on it. Then we filled the hole but the libpng patch didn't get updated.