3 | | FIXME: currently, interrupting an ro with another command (even a [[pa]]) will result in the ro executing in parallel with that command. The ro will not report finished until the interrupting command is complete, as per the normal guarantee about reporting order, but the actual rotation of the body may complete at any point prior to the report. |
| 3 | A single [[ro]] typically carries an error of 0.000017%. If this is too large for your purposes, it may be wise to check your current facing before and after rotation, examine how much error the ro actually caused, and rotate that amount away in a second rotation. Typically, a fractional error of 0.00000017 squared is beyond floating point precision. |
| 4 | |
| 5 | (The reason this is not implemented on the server side is that the server deliberately doesn't track what rotation you started at and ended at for a single command. Imagine that you begin an ro of 90 degrees to the left, then interrupt it with an ro of 90 degrees to the right. The interrupted ro will ideally record an offset of 0, not 90 degrees, and so if it were to track the "desired final orientation", it would continue and actually be a rotation of 180 degrees total. One might propose that when you place an ro on the command queue it updates all other waiting ros, but if you popped it or otherwise interrupted it, you would have to undo this work. In short, [[ro]] is not a "rotate-to" command.) |