Have an option for ‘snap to vertex from reference object’ when using the digitize tool. Simply put, this would allow a secondary selection of another object (to avoid snapping to random things you don’t care about) while digitizing. If you move or insert a vertex close enough on the screen to another vertex on that reference object, it would automatically snap to its position.
Additionally, have a mode with the ‘delete vertex’ tool to specify a section where it will delete ALL vertices contained within.
These would both be tremendously useful and to my mind I don’t see why they’d be hard to implement. Topologies can sometimes supplement this, but a more straightforward alternative for such simple operations as splitting and merging features for example would be very nice.
Another thing I’d suggest is to be able to manipulate the list of vertices easily somehow - for example, shifting them around in the list in order to move the ‘empty connection’ on a polygon, which would be useful when doing things like splitting features for example, because the empty connection can get in the way of doing it easily. You could also implement a more tedious but as-effective version of the ‘delete section of vertices’ by allowing the deletion of a selection of points from the list, if sub-tools within tools are not something desired.
There should be a toggleable option when doing pole manipulation that simply draws a circle based on the pole, which intersects the midpoint of the currently selected object. This would effectively eliminate the guess-and-check nature of pole manipulation as you could easily see the entire path your object would take around the pole as you move the pole itself around. Perhaps even additional lines which intersect the extremities of the object to show approximately the rotation and the area that the object would take up as it moved along that path more easily. Or, maybe even a hover mode, where it draws what the object would look like if you clicked where your cursor currently is hovering to set an angle of rotation about the current pole. This would be a good QoL feature in my opinion.
As for the movement of plates. One thing that might be nice is a simple program that automatically generates a .rot file given the specified time constraints of the reconstruction and the plate ID’s you want it to include. If you have a ton of plates it can be a bit of a pain to make that file and each and every start and stop for each plate.
Another is the issue of drift. Perhaps a toggleable option which would do something like make GPlates interpret the final entry for each plate’s rotation as having the same coordinates as the preceding entry. As it is, because the final entry’s coordinates are actually used, after the last timestep where the plates have a specific coordinate they will slowly drift back to their original position. So, when you go to your next timestep to do all the movement and stuff, the plates will actually be slightly differently position than they are supposed to. I imagine this would get worse and worse the closer you go to the end of the reconstruction. Trying to accurately move a plate that’s drifted a quarter across the world since the last timestep seems very inconvenient. It’s a pain to add a ‘drift correction’ slightly before the end literally every time step for every plate manually, so that option would be a nice, simple, effective way of eliminating that problem. I presume this could also be done for the first entry as well since I imagine that some use the program to simulate backwards, such as scientists reconstructing the past.
I understand this is all quite a lot. I’m simply someone with both a tremendous interest in plate tectonics as well as some form of worldbuilding, who downloaded this program a few days ago to play around with. As I’ve played around I’ve had several ideas I think would make some things just a bit easier and less time-consuming. Just thought I’d quickly post this so that if any of these ideas are of interest to the development team that haven’t been suggested or put into development yet, that they can see it. Perhaps if I continue my pursuits here and get more accustomed to the more involved features of the program, I might follow up with a few more ideas.
Anyways, best wishes!