There are a number of edge cases with the current undo/redo support, though none deemed completely critical at this stage:
[ ] Undo/redo creation of the points/segments Spatials in connection with the undo stack of adding road network
[ ] Trigger update of LaneSegments after RoadPoint transform undo
[ ] Consecutive "redos" after adding new roadpoints (via create, or via "Add next/prior").
It seems like part of the solution here would have to do with the add_do_reference (and add_undo_reference) mentioned here, but after a lot of trial and error, I never got anything working even in a simplified, isolated scenario.
What I realized shortly after writing this up: I wasn't searching correctly on github, you can actually find many examples here. Main example to call out here. TL;DR, the key is actually to yes create the node right away, but then pass this node into the do/undo method in addition to adding it to the do/undo reference.
There are a number of edge cases with the current undo/redo support, though none deemed completely critical at this stage: