What does the velocity profile of the motors look like when they change direction? The stepper motors usually have a constant acceleration profile (trapezoidal profile) of an even jerk limit profile (S-curve profile). In linear motion, it seems possible to conserve proportion between x and y speed as shown

My confusion starts when the direction of motion changed so the proportion of speed must change too.
That impossible to join two velocity profiles except we decrease the speed of both axis down to zero then start ramping up with a new profile which means the 3D printer will stop and move for every G-Code segment that apparently not true.
So my question is how does the firmware deal with these problems joining velocity profile?
The answer depends on the kinematics model in use. In Marlin there are at least:
Classic jerk
The &quot;jerk&quot;, in units of mm/s not the expected mm/s³, is actually a &quot;maximum instantaneous change&quot; in velocity. Without any jerk (set to 0), your analysis would be correct, and all changes in direction would require slowing down to 0 velocity. However, with jerk, it's only necessary to slow down enough to make the necessary instantaneous change in velocity components less than the jerk limit. For a very slight change in direction (e.g. going around a curve approximated by line segments) this amounts to no slowdown at all. However, in this naive model, arbitrarily many bounded instantaneous velocity changes can happen in an arbitrarily small amount of time, essentially requiring unbounded acceleration capability and leading to missed steps/layer shifts.
Junction deviation
At each junction between segments where direction changes, the acceleration profile is executed as if the motion were cutting the corner in an arc, deviating from the exact corner by a distance of the configured junction deviation parameter. The actual step path still follows the sharp corner.
Others
I'm not really familiar with S-curve acceleration, but as I understand it it's a more advanced model fitting smooth curves to the travel path so that velocity can vary continuously, with bounded acceleration, rather than having jump discontinuities.
Klipper firmware also has a model very close to junction deviation, which its documentation explains clearly.