SDF oversampling != bitmap oversampling, the former adjusts the texcoords slightly to compensate for the filtering, the latter doesn't. Separate the implementations.
SDF padding != bitmap padding, the former is a min distance between glyps, the latter is an expansion of the glyphs.
Disable bitmap padding on SDFs
Implement SDF padding, document it
Make sure cropping works right in both cases. For bitmaps, leave the bottom right padded corner alone--it's more flexible and it's not that much space.
Double check the edge case on SDFs around spaces.
whoops, we're exposing AlignedQuad at runtime which is a stb type, just recreate it
why do SDF textures viewed as colors in engine look fully dark, but not in the image viewer?
why do we slice the basic descriptor block again? deserves a comment here and in zex
assert ktx2 header has no explicit implicit padding (in zex)
rename write to writeAll or something? what about read?
add any relevant tests, make sure the existing ones run
add option to enable tracy
sometiems i call the metadata atlas and the image alpha, sometimes i call the metadata metadata and the image atlas...
Implement dep-writer, explain in readme
Wire up to Oven
Try vs fatal for various errors
move writeKtx2 into library (maybe make Alpha type?)
add optional support for compression, possibly to both pieces of data but probably just to the image, check sizes of each to see if it's worth it. make sure to validate again, and to check everywhere that zex's writer references the compression mode.
read/write ktx2 as vecs?
push zex changes, maybe add padding at end since we may support r8 images eventually