While doing multi-start threads you could also implement an offset for the start like here:
He's doing a Z offset of half the depth of cut so that you don't have to mess with the compound angle and accommodate folks that have replaced the compound with a solid block.
I have some thoughts on the workflow but haven't sent them to you yet. Hopefully i'll have a few minutes tonight to send you something.
I've sort of implemented this but without a powered X. Wondering if you have thoughts on how best to do it?
Also there are several strategies possible, they are listed here in detail:
https://www.cnctrainingcentre.com/haas-turn/g76-threading-cycle-many-passes/
using both flanks is best for the tool but most complex to implement.
The main use case here is for users who have a solid toolpost, no x motor, and no compound.
my thinking was:
1. pre-calculate table of positions based on initial cutting depth.
2. first cut is easy, just have to specifiy initial cutting depth.
3. when that cut is complete click on the "next position" button.
a. Controller offsets the start position, based on a bit of trig,
b. UI presents the correct depth of cut for this phase, the depths are not linear due to material removal rate and cutter engagment
c. operator sets the cross slide depth and starts the cut
4. user can run this once and click next or run multiple spring passes.
5. User clicks next, jump to #3 with new offset.
The positions would be kept in memory so if you needed to you could move back to any of the offsets, or the beginning.