First off, thank you so much for building and maintaining this project. I really appreciate its architecture—in fact, I liked the implementation so much that I adapted its logic to create a similar library.
I noticed that Blend2D images no longer display on macOS when using a Tk version higher than 9.0.3 (it works fine on 9.0.2). I opened an issue on the Tcl/Tk core tracker https://core.tcl-lang.org/tk/info/4af5ca1921, though I don't know enough C to pinpoint the exact root cause in Tk itself. From my testing, XCopyArea seems to no longer work as expected on macOS in these newer Tk versions.
While adapting this logic for my own project, I managed to work around the issue by bypassing XCopyArea (on macOS only) and using XPutImage instead. It's not quite as fast, but it gets the images rendering again.
I'm not sure if this approach aligns with your roadmap or vision for the project, but I wanted to share the finding in case it's helpful.
The way I implemented the "blend2d" image type was probably the best gem of the tclBlend2d package. It was not easy to develop it in a pre-AI era, but, just using the Xlib calls (whether native or emulated), it has been possible to provide C code that is virtually platform-independent, running successfully for years on Windows, Linux, and Mac alike.
I have read the thread regarding the XcopyArea bug, but I will have to wait another month to get a new Mac Mini (I am currently still using an older Intel-based Mac) and figure out why it fails on Apple Silicon.
I neither want to nor can delve into the technical specifics of graphics across the various platforms, but I'd say that XCopyArea and XPutImage are two very different functions; XPutImage is for converting an internal 'image' to an X11 drawable, whilst XCopyArea is for blitting the drawable on the screen. Of course it all depends how these functions are optimized/emulated on different platforms.
Let me know if you have new details or news about this bug.