The scaling in \externalfigure[][] with option sy=number seems to have a discrete change in behaviour between sy=1.0 and sy=(not 1.0).
Thus the series sy=0.999 sy=1.0 sy=1.001 has a discontinuity in the scaling of height.
I would expect sy=1.0 to return the figure in the original height.
Is this behaviour on purpose? With the current behaviour I must provide for sy=1.0 => sy=1.001 in order to get the original height. Although not to difficult with a jump to Lua code, I would prefer not.
\starttext
\ConTeXt\space version \contextversion\blank
\type{\externalfigure[testfile.jpg]} source figure\crlf
\externalfigure[testfile.jpg]\crlf
\type{\externalfigure[testfile.jpg][width=5cm]}\crlf
\externalfigure[testfile.jpg][width=5cm]\crlf
Explanation: height scaled proportional to the width reduction.
\blank
\type{\externalfigure[testfile.jpg][width=5cm,sy=0.999]}\crlf
\externalfigure[testfile.jpg][width=5cm,sy=1.001]\crlf
Explanation: sy different from 1.0 applies sy to original height.
\blank
\type{\externalfigure[testfile.jpg][width=5cm,sy=1.0]}\crlf
\externalfigure[testfile.jpg][width=5cm,sy=1.0]\crlf
Explanation: sy=1.0 exactly is ignored?
\blank
\type{\externalfigure[testfile.jpg][width=5cm,sy=1.001]}\crlf
\externalfigure[testfile.jpg][width=5cm,sy=1.001]\crlf
Explanation: sy different from 1.0 applies sy to original height.
\blank
\stoptext