upvote
Canvas_ity: A tiny, single-header <canvas>-like 2D rasterizer for C++

(github.com)

The list of "recommended reading" from one of the issues looks great:

https://github.com/a-e-k/canvas_ity/issues/11#issuecomment-2...

reply
The project is great. The HN comments are embarrassing. Isn’t it ironic to imply laziness by chiming in with “vibe coded” which in itself is such a lazy reaction.
reply
Thank you for sharing. The only thing I don't understand why this is a header only implementation with a macro that goes in a C++ file.

    #define CANVAS_ITY_IMPLEMENTATION
reply
It is common for header-only libraries: you need to include this header in one c++ using the macro for linking (don't use that macro in other c++ files to avoid duplicate symbols). In C++, you can declare a function as many times as you want, but you can only define it (write the actual body) once in the entire project.
reply
that's a common pattern in C++ land because there is no standard way to use libraries in C++

https://github.com/p-ranav/awesome-hpp

reply
It would be interesting to compile to WASM to compare side by side for performance and accuracy.
reply
vibe-coded?
reply
Most likely not seeing as the commit containing the bulk of the implementation dropped in 2022.
reply
maybe just the README then
reply
The README is older than ChatGPT too. It's very unlikely that it's vibe coded or vibe written.
reply
Would that be an issue?
reply
Yes, it's a canvas library, there's a lot of risks of including AI generated code that hasn't been checked in a rasterizing library.
reply
A lot of risks compared to what? I imagine bugs in kernel drivers or disk utilities be riskier.
reply
Yes.
reply