saharan / works

The code of several works on oimo.io/works
MIT License
1.3k stars 42 forks source link

Fixing the PNG data processing issue that occurs sometimes in Firefox. #3

Closed Rezmason closed 6 months ago

Rezmason commented 7 months ago

Hello @saharan!

Life Universe has recently garnered interest on Hacker News. Well done and well deserved! I love this project and your techniques, and I'm happy to see my old language of choice Haxe play a role in someone's extraordinary project.

There seem to be anti-fingerprinting features in recent browsers that can cause the result of CanvasRenderingContext2D::drawImage to be inaccurate, which has made the project inoperable in some visitors' browsers. This PR contains a basic fix that uses the haxe.format library to decode the PNGs loaded with the fetch API, circumventing the whole fingerprinting problem.

My goal was to fix this quickly in the short term, but in the long term, you may wish to use a different file format than PNG to represent this data.

This contribution requires no attribution whatsoever. It's a pleasure to meet you!

-Rezmason

saharan commented 6 months ago

Hello, Rezmason!

I'm very happy that there are so many people having fun with it!

There seem to be anti-fingerprinting features in recent browsers that can cause the result of CanvasRenderingContext2D::drawImage to be inaccurate

Oh my, I didn't expect that. Is that because of a security concern? I wonder if there might be a better way...🤔 Anyway, thank you for the contribution! Now that JavaScript natively supports compressed streams, it may be a good time to say goodbye to image-based data compression.

Thank you, saharan