I like that rails will affect ramps and supports now, it feels quite natural to build out blueprints with it.
This got me thinking about whether entities could revive in "groups". For example, holding belts would also revive splitters and undergrounds. Holding inserters would revive other kinds of inserters. Pipes would do underground pipes.
Would that be too easy? The reason I'm using Picker Extended instead of Mouse-over Construction is because that mod does literally everything for you the moment you walk into range, whereas having to hold the right item still gives building a manual feel.
How do you feel about respecting player.build_distance (and in general, how powerful do you think Picker should be, harkening back to the Chest Copy debate)? The way you implemented rail building means that you can build them all the way to the edge of the camera. The same is true of module insertion (when you press Q on a building that wants modules).
Building anything that uses build_from_cursor() DOES respect player.build_distance. So there's an inconsistency: building a rail blueprint at a large distance means I can place the rails, but not the signals.
I'll note also that using the rail planner in vanilla does work at a greater distance (about 2.5x normal, don't know what it's called in code).