So it wasn’t “upside down” so much as the rows going the wrong direction—I needed to go up-down-up-down, but it was going down-up-down-up.
I got very confused by the idea that PixelBlaze’s “origin” is nominally at the top left, but the zeroth pixel on my piece is at the bottom left. I had vibe-coded a mapping tool with Claude and went backward and forwards three or four times on where the origin should be for everything to map correctly and the mapping to look the “right way up” in the PixelBlaze interface but actually getting that right caused my problem. It took Claude Opus 4 to fix it .
Now my issue is patterns that don’t/won’t work (or are hella slow) on such a big matrix…