public record class SeamCostWhat a seam costs to run somewhere, which is where "where would an artist cut" lives.
Remarks
docs/plan/42 § D4. Every weight multiplies a term that is already normalized to [0, 1], so the numbers compare with each other and a caller can zero one out without rebalancing the rest.
⚠ Length is the term everything else is traded against. Raise it and the cutter takes the short way round a feature it should have followed; drop it and seams wander through flat regions collecting a fractional saving each time.
Fields and properties (7)
public float ConcavityPrefers a seam sitting in a crease that folds inward, where a discontinuity does not read.
public float VisibilityPrefers a seam that is occluded, estimated by ambient occlusion over the surface.
public float FeaturePrefers a seam following a hard edge, where a normal-map discontinuity is invisible anyway.
public float MaterialPrefers a seam running where the texture already changes.
public float SymmetryPrefers a seam on the mirror plane, so the two halves' seams agree exactly.
public float LengthPrefers a short seam. The term the others are traded against.
public float ExistingPrefers a seam that was already there, when re-unwrapping a mesh that had coordinates.
Used by (4)
- SeamGraphVixen.Geometry.Uv
- UvChartInvarianceTestsVixen.Geometry.Uv.Tests
- UvChartTestsVixen.Geometry.Uv.Tests
- UvSettingsVixen.Geometry.Uv