> > > >> I have a fix in flight that fixes that problem in Blink by storing the >> current path in transformed coordinates instead. I've had the fix on the >> back burner pending the outcome of this thread. >> > > That seems like an expensive solution because this causes the coordinates > to be transformed twice. > Why not store the matrix that was applied to the path coordinates and use > that to undo the transformation? >
If we decide that the right thing is to do nothing when when the CTM is non-invertible, then sure, we can just do that. The idea of storing the current path in transformed coordinates was to also support drawing with a non-invertible CTM, like Firefox does, which is what Ian stated was the correct behavior earlier in this thread. See why I kept the fix on the backburner? :-)