Skip to content

Releases: SaladDays831/FaceSeg

2.0.0

18 Apr 11:53
75983f4

Choose a tag to compare

Breaking changes

  • Minimum iOS is now 15. Swift 6 language mode, tools version 6.2.
  • FaceSegDelegate removed. Call try await FaceSeg(configuration:).segment(image) instead.
  • FaceSegConfiguration is now a struct with a memberwise init.
    faceInBoundingBoxImageHeightfaceInBoundingBoxSize.
  • FaceSegError slimmed to 3 cases, conforms to Error/LocalizedError. Use
    error.localizedDescription instead of errorString.
  • FaceSegMetadata.facePaths is now [CGPath]. Wrap with UIBezierPath(cgPath:)
    if you need UIKit drawing.

New

  • Partial-face tolerance: faces with missing landmarks are skipped instead of
    failing the whole request.
  • FaceSegConfiguration.minimumFaceCaptureQuality drops low-quality detections.
  • Forehead reconstruction adds a midpoint control — better on tilted faces.
  • Cancellation: Task.checkCancellation() at phase boundaries.
  • Renderers preserve image.scale (no more blurry Retina output).
  • Mirrored UIImage.Orientation cases map correctly.

Migration

Before:

  let seg = FaceSeg()                                                                                                                            
  seg.delegate = self                                   
  seg.configuration.drawFacesImage = true
  seg.process(image)                                                                                                                             

After:

  let seg = FaceSeg(configuration: .init(drawFacesImage: true))
  let result = try await seg.segment(image)

1.0

23 Dec 13:57
751e40e

Choose a tag to compare

1.0