One minor thing that I just noticed: texture scale in surface inspector is limited to 3 digits after the decimal point. With big textures like 2048 you need precise scale values like 0.125 or 0.0625, and the latter gets rounded to 0.063.
I can't confirm that it's three digits, but the numbers displayed there are in fact rounded to 1.0e-5. The value of the entry field is also converted by means of a single-precision float.
I can change both things (just open a tracker entry), to round to 1.0e-7 and use doubles for emitting the texdef, but beware that the engine might read in something less precise in the end, since idTech4 is entirely based on single-precision floats. The resulting map format is using a texture matrix (not the legacy shift/scale/rotation) so it's possible that these floats used by the engine are sufficient here, but I haven't done any experiments which values are coming through.