If a user marks a seam on a mesh, how do 3D modelling programs (like Blender or Maya) unfold the mesh on to a 2D surface? I can only find papers trying to automate the seaming for you. Given user-defined seams, does the unfolding happen?
One simple method is to use a force-directed graph approach. You model each vertex as a point mass in UV space. Each vertex receives a spring-like force that tries to keep it at the correct distance in UV space from each (post-seam-split) vertex with which it shares an edge, attractive when they're too far apart and repulsive when they're too close.
That handles (approximate) local shape preservation, but then you need a force to spread non-adjacent faces apart so they don't stay crumpled-up in UV space. You could model this as a weak repulsion from non-adjacent vertices or, as is done with Pelt Mapping, an attraction between seam vertices and a "stretching frame."
Other types of iterative constraint solving can work too, like using Verlet integration with an angular constraint to try to preserve face or edge angles.
The hope is that after many iterations, the local corrections will diffuse through the connections between vertices to arrive at a globally-acceptable output.
A more sophisticated approach is called Least Squares Conformal Mapping.