Constraint solving for direct manipulation of features