28.3 Surface-based constraints