Suggested improvement for Gimp scaling, a local origin and temporary layer size.
Description of the feature
When a layer is scaled it should be given a local origin that avoids integer rounding errors.
It should also be given a temporary size that avoids integer rounding errors. This temporary size could be optimized to reduce any transformation slow down.
To avoid integer rounding errors, the nearest multiple of the scale factor applied to the integer in question, can be calculated by searching for an almost zero fraction (f)
n = integer
q = 1 / scale multiplier
p = n / q
r = ceiling p
f = r - p
Here is a plug-in that jumps through a lot of hoops to implement the above. Naturally it's slower than Gimps current scale. However I'm hopeful someone who understands software engineering could apply a similar, but much simpler and efficient logic to Gimps default scale.
Use cases
Stops the layers jittering around after a scale due to integer rounding errors. #9303