face_gesture_detector 0.2.1 copy "face_gesture_detector: ^0.2.1" to clipboard
face_gesture_detector: ^0.2.1 copied to clipboard

A widget that detects face gestures.

Changelog #

All notable changes to this project will be documented in this file.

The format loosely follows Keep a Changelog and the project adheres to Semantic Versioning.

0.2.1 #

Fixed #

  • Deep-cast nested platform channel maps: FaceFrame.fromMap now uses Map<String, dynamic>.from() for nested maps (faceBoundingBox, poseAngles, quality, blendshapes, landmarks) instead of direct as Map<String, dynamic> casts that failed at runtime with _Map<Object?, Object?>
  • Face confidence always 0.00: The _neutral blendshape score was incorrectly used as face detection confidence; now reports 1.0 when a face is detected (MediaPipe already filters by minFaceDetectionConfidence)

0.2.0 #

Added #

  • Camera integration: FaceGestureDetector accepts an optional cameraController parameter, wiring the full camera → native → recognizer pipeline automatically
  • Real-time detection: RawFaceGestureDetector manages startDetection, processFrame, faceFrameStream, and stopDetection lifecycle when a CameraController is provided
  • Example app: Fully functional demo with live front-camera preview, face detection indicator, event log, and all 10 gesture callbacks
  • Integration tests: Camera pipeline tests on physical device (camera init, processFrame, faceFrameStream)

Changed #

  • cameraController parameter added to FaceGestureDetector and RawFaceGestureDetector (optional — null preserves test/manual mode)
  • camera: ^0.11.1 added as a dependency
  • Example app requires android.permission.CAMERA

0.1.0-dev #

Added #

  • Data Model: FaceFrame, FaceBlendshape (52 values), PoseAngles, FaceLandmark, ImageQualityMetrics
  • Details objects: FaceDetectedDetails, QualityDetails, DistanceDetails, PoseDetails, BlinkDetails, SmileDetails, MouthDetails, BrowDetails, HeadTurnDetails, HeadNodDetails
  • Configuration: FaceGestureConfiguration with calibrated defaults
  • Platform interface: FaceGestureDetectorPlatform + MethodChannelFaceGestureDetector + processFrame()
  • Recognizers: FacePresenceRecognizer, QualityGateRecognizer, PoseRecognizer, BlinkRecognizer, SmileRecognizer, MouthRecognizer, BrowRecognizer, HeadTurnRecognizer, HeadNodRecognizer, RawFrameRecognizer
  • Widgets: RawFaceGestureDetector (Layer 2), FaceGestureDetector (Layer 1 facade)
  • Controller: FaceGestureDetectorController with pause/resume/reset
  • Native Android: FaceLandmarkerEngine (MediaPipe LIVE_STREAM + GPU delegate), EulerAngleCalculator (pitch/yaw/roll from 4×4 matrix), FrameDecoder (NV21 → MPImage), SingleSlotFrameBuffer (lock-free backpressure), FaceFrameStreamHandler (EventChannel main-thread emission), face_landmarker.task model bundled
  • Example app: MVP with all callback families and event log
  • Tests: 117 Dart unit tests, 14 Android JVM unit tests, 3 integration tests on device