Canvas_ity: A tiny, single-header <canvas>-like 2D rasterizer for C++
github.com37 points by PaulHoule 4 hours ago
37 points by PaulHoule 4 hours ago
The list of "recommended reading" from one of the issues looks great:
https://github.com/a-e-k/canvas_ity/issues/11#issuecomment-2...
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.
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_IMPLEMENTATIONIt 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.
that's a common pattern in C++ land because there is no standard way to use libraries in C++
It would be interesting to compile to WASM to compare side by side for performance and accuracy.
vibe-coded?
Most likely not seeing as the commit containing the bulk of the implementation dropped in 2022.
maybe just the README then
The README is older than ChatGPT too. It's very unlikely that it's vibe coded or vibe written.
Would that be an issue?
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.
A lot of risks compared to what? I imagine bugs in kernel drivers or disk utilities be riskier.