vision-camera-face-detection 1.2.3 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/android/src/main/java/com/visioncamerafacedetection/VisionCameraFaceDetectionPlugin.kt +35 -23
  2. package/ios/FaceHelper.swift +109 -89
  3. package/ios/VisionCameraFaceDetectionModule.swift +2 -8
  4. package/ios/VisionCameraFaceDetectionPlugin.swift +25 -20
  5. package/lib/commonjs/{Camera.cjs → Camera.js} +4 -4
  6. package/lib/commonjs/{Camera.cjs.map → Camera.js.map} +1 -1
  7. package/lib/commonjs/{FaceDetector.cjs → FaceDetector.js} +1 -1
  8. package/lib/commonjs/{FaceDetector.cjs.map → FaceDetector.js.map} +1 -1
  9. package/lib/commonjs/{Tensor.cjs → Tensor.js} +1 -1
  10. package/lib/commonjs/{index.cjs → index.js} +4 -4
  11. package/lib/commonjs/package.json +1 -0
  12. package/lib/module/{Camera.mjs → Camera.js} +6 -4
  13. package/lib/module/Camera.js.map +1 -0
  14. package/lib/module/{FaceDetector.mjs → FaceDetector.js} +3 -1
  15. package/lib/module/FaceDetector.js.map +1 -0
  16. package/lib/module/{Tensor.mjs → Tensor.js} +3 -1
  17. package/lib/module/Tensor.js.map +1 -0
  18. package/lib/module/index.js +6 -0
  19. package/lib/module/index.js.map +1 -0
  20. package/lib/module/package.json +1 -0
  21. package/lib/typescript/commonjs/package.json +1 -0
  22. package/lib/typescript/commonjs/src/Camera.d.ts.map +1 -0
  23. package/lib/typescript/{src → commonjs/src}/FaceDetector.d.ts +4 -0
  24. package/lib/typescript/commonjs/src/FaceDetector.d.ts.map +1 -0
  25. package/lib/typescript/commonjs/src/Tensor.d.ts.map +1 -0
  26. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  27. package/lib/typescript/module/package.json +1 -0
  28. package/lib/typescript/module/src/Camera.d.ts +17 -0
  29. package/lib/typescript/module/src/Camera.d.ts.map +1 -0
  30. package/lib/typescript/module/src/FaceDetector.d.ts +122 -0
  31. package/lib/typescript/module/src/FaceDetector.d.ts.map +1 -0
  32. package/lib/typescript/module/src/Tensor.d.ts +8 -0
  33. package/lib/typescript/module/src/Tensor.d.ts.map +1 -0
  34. package/lib/typescript/module/src/index.d.ts +4 -0
  35. package/lib/typescript/module/src/index.d.ts.map +1 -0
  36. package/package.json +18 -13
  37. package/src/Camera.tsx +1 -1
  38. package/src/FaceDetector.ts +5 -0
  39. package/lib/module/Camera.mjs.map +0 -1
  40. package/lib/module/FaceDetector.mjs.map +0 -1
  41. package/lib/module/Tensor.mjs.map +0 -1
  42. package/lib/module/index.mjs +0 -4
  43. package/lib/module/index.mjs.map +0 -1
  44. package/lib/typescript/src/Camera.d.ts.map +0 -1
  45. package/lib/typescript/src/FaceDetector.d.ts.map +0 -1
  46. package/lib/typescript/src/Tensor.d.ts.map +0 -1
  47. package/lib/typescript/src/index.d.ts.map +0 -1
  48. /package/lib/commonjs/{Tensor.cjs.map → Tensor.js.map} +0 -0
  49. /package/lib/commonjs/{index.cjs.map → index.js.map} +0 -0
  50. /package/lib/typescript/{src → commonjs/src}/Camera.d.ts +0 -0
  51. /package/lib/typescript/{src → commonjs/src}/Tensor.d.ts +0 -0
  52. /package/lib/typescript/{src → commonjs/src}/index.d.ts +0 -0
@@ -42,11 +42,15 @@ class VisionCameraFaceDetectionPlugin(
42
42
  private var runClassifications = false
43
43
  private var runContours = false
44
44
  private var trackingEnabled = false
45
+ private var enableTensor = false
45
46
 
46
47
  init {
47
48
  // handle auto scaling
48
49
  autoScale = options?.get("autoScale").toString() == "true"
49
50
 
51
+ // handle enable/disable tensor
52
+ enableTensor = options?.get("enableTensor").toString() == "true"
53
+
50
54
  // initializes faceDetector on creation
51
55
  var performanceModeValue = FaceDetectorOptions.PERFORMANCE_MODE_FAST
52
56
  var landmarkModeValue = FaceDetectorOptions.LANDMARK_MODE_NONE
@@ -117,16 +121,19 @@ class VisionCameraFaceDetectionPlugin(
117
121
  bounds["x"] = (-y + sourceWidth * scaleX) - width
118
122
  bounds["y"] = (-x + sourceHeight * scaleY) - height
119
123
  }
124
+
120
125
  Orientation.LANDSCAPE_LEFT -> {
121
126
  // device is portrait
122
127
  bounds["x"] = (-x + sourceWidth * scaleX) - width
123
128
  bounds["y"] = y
124
129
  }
130
+
125
131
  Orientation.PORTRAIT_UPSIDE_DOWN -> {
126
132
  // device is landscape right
127
133
  bounds["x"] = y
128
134
  bounds["y"] = x
129
135
  }
136
+
130
137
  Orientation.LANDSCAPE_RIGHT -> {
131
138
  // device is upside down
132
139
  bounds["x"] = x
@@ -289,30 +296,36 @@ class VisionCameraFaceDetectionPlugin(
289
296
  val task = faceDetector!!.process(image)
290
297
  val faces = Tasks.await(task)
291
298
  faces.forEach { face ->
292
- val bmpFrameResult = ImageConvertUtils.getInstance().getUpRightBitmap(image)
293
- val bmpFaceResult =
294
- Bitmap.createBitmap(
295
- TF_OD_API_INPUT_SIZE,
296
- TF_OD_API_INPUT_SIZE,
297
- Bitmap.Config.ARGB_8888
298
- )
299
- val faceBB = RectF(face.boundingBox)
300
- val cvFace = Canvas(bmpFaceResult)
301
- val sx = TF_OD_API_INPUT_SIZE.toFloat() / faceBB.width()
302
- val sy = TF_OD_API_INPUT_SIZE.toFloat() / faceBB.height()
303
- val matrix = Matrix()
304
- matrix.postTranslate(-faceBB.left, -faceBB.top)
305
- matrix.postScale(sx, sy)
306
- cvFace.drawBitmap(bmpFrameResult, matrix, null)
307
- val input: ByteBuffer = FaceHelper().bitmap2ByteBuffer(bmpFaceResult)
308
- val output: FloatBuffer = FloatBuffer.allocate(192)
309
- interpreter?.run(input, output)
310
-
299
+ val map: MutableMap<String, Any> = HashMap()
311
300
  val arrayData: MutableList<Any> = ArrayList()
312
- for (i: Float in output.array()) {
313
- arrayData.add(i.toDouble())
301
+ if (enableTensor) {
302
+ val bmpFrameResult = ImageConvertUtils.getInstance().getUpRightBitmap(image)
303
+ val bmpFaceResult =
304
+ Bitmap.createBitmap(
305
+ TF_OD_API_INPUT_SIZE,
306
+ TF_OD_API_INPUT_SIZE,
307
+ Bitmap.Config.ARGB_8888
308
+ )
309
+ val faceBB = RectF(face.boundingBox)
310
+ val cvFace = Canvas(bmpFaceResult)
311
+ val sx = TF_OD_API_INPUT_SIZE.toFloat() / faceBB.width()
312
+ val sy = TF_OD_API_INPUT_SIZE.toFloat() / faceBB.height()
313
+ val matrix = Matrix()
314
+ matrix.postTranslate(-faceBB.left, -faceBB.top)
315
+ matrix.postScale(sx, sy)
316
+ cvFace.drawBitmap(bmpFrameResult, matrix, null)
317
+ val input: ByteBuffer = FaceHelper().bitmap2ByteBuffer(bmpFaceResult)
318
+ val output: FloatBuffer = FloatBuffer.allocate(192)
319
+ interpreter?.run(input, output)
320
+
321
+ for (i: Float in output.array()) {
322
+ arrayData.add(i.toDouble())
323
+ }
324
+ map["data"] = arrayData
325
+ } else {
326
+ map["data"] = arrayData
314
327
  }
315
- val map: MutableMap<String, Any> = HashMap()
328
+
316
329
  if (runLandmarks) {
317
330
  map["landmarks"] = processLandmarks(
318
331
  face,
@@ -346,7 +359,6 @@ class VisionCameraFaceDetectionPlugin(
346
359
  scaleX,
347
360
  scaleY
348
361
  )
349
- map["data"] = arrayData
350
362
  result.add(map)
351
363
  }
352
364
  } catch (e: Exception) {
@@ -16,85 +16,85 @@ let inputHeight = 112
16
16
  var interpreter: Interpreter? = nil
17
17
 
18
18
  class FaceHelper {
19
- static func processContours(from face: Face) -> [String:[[String:CGFloat]]] {
20
- let faceContoursTypes = [
21
- FaceContourType.face,
22
- FaceContourType.leftEyebrowTop,
23
- FaceContourType.leftEyebrowBottom,
24
- FaceContourType.rightEyebrowTop,
25
- FaceContourType.rightEyebrowBottom,
26
- FaceContourType.leftEye,
27
- FaceContourType.rightEye,
28
- FaceContourType.upperLipTop,
29
- FaceContourType.upperLipBottom,
30
- FaceContourType.lowerLipTop,
31
- FaceContourType.lowerLipBottom,
32
- FaceContourType.noseBridge,
33
- FaceContourType.noseBottom,
34
- FaceContourType.leftCheek,
35
- FaceContourType.rightCheek,
36
- ]
37
-
38
- let faceContoursTypesStrings = [
39
- "FACE",
40
- "LEFT_EYEBROW_TOP",
41
- "LEFT_EYEBROW_BOTTOM",
42
- "RIGHT_EYEBROW_TOP",
43
- "RIGHT_EYEBROW_BOTTOM",
44
- "LEFT_EYE",
45
- "RIGHT_EYE",
46
- "UPPER_LIP_TOP",
47
- "UPPER_LIP_BOTTOM",
48
- "LOWER_LIP_TOP",
49
- "LOWER_LIP_BOTTOM",
50
- "NOSE_BRIDGE",
51
- "NOSE_BOTTOM",
52
- "LEFT_CHEEK",
53
- "RIGHT_CHEEK",
54
- ];
55
-
56
- var faceContoursTypesMap: [String:[[String:CGFloat]]] = [:]
57
-
58
- for i in 0..<faceContoursTypes.count {
59
- let contour = face.contour(ofType: faceContoursTypes[i]);
60
-
61
- var pointsArray: [[String:CGFloat]] = []
62
-
63
- if let points = contour?.points {
64
- for point in points {
65
- let currentPointsMap = [
66
- "x": point.x,
67
- "y": point.y,
68
- ]
69
-
70
- pointsArray.append(currentPointsMap)
71
- }
72
-
73
- faceContoursTypesMap[faceContoursTypesStrings[i]] = pointsArray
74
- }
75
- }
76
-
77
- return faceContoursTypesMap
78
- }
19
+ // static func processContours(from face: Face) -> [String:[[String:CGFloat]]] {
20
+ // let faceContoursTypes = [
21
+ // FaceContourType.face,
22
+ // FaceContourType.leftEyebrowTop,
23
+ // FaceContourType.leftEyebrowBottom,
24
+ // FaceContourType.rightEyebrowTop,
25
+ // FaceContourType.rightEyebrowBottom,
26
+ // FaceContourType.leftEye,
27
+ // FaceContourType.rightEye,
28
+ // FaceContourType.upperLipTop,
29
+ // FaceContourType.upperLipBottom,
30
+ // FaceContourType.lowerLipTop,
31
+ // FaceContourType.lowerLipBottom,
32
+ // FaceContourType.noseBridge,
33
+ // FaceContourType.noseBottom,
34
+ // FaceContourType.leftCheek,
35
+ // FaceContourType.rightCheek,
36
+ // ]
79
37
 
80
- static func processBoundingBox(from face: Face) -> [String:Any] {
81
- let frameRect = face.frame
82
-
83
- let offsetX = (frameRect.midX - ceil(frameRect.width)) / 2.0
84
- let offsetY = (frameRect.midY - ceil(frameRect.height)) / 2.0
85
-
86
- let x = frameRect.maxX + offsetX
87
- let y = frameRect.minY + offsetY
88
-
89
- return [
90
- "x": frameRect.midX + (frameRect.midX - x),
91
- "y": frameRect.midY + (y - frameRect.midY),
92
- "width": frameRect.width,
93
- "height": frameRect.height,
94
- "boundingCenterX": frameRect.midX,
95
- "boundingCenterY": frameRect.midY
96
- ]
97
- }
38
+ // let faceContoursTypesStrings = [
39
+ // "FACE",
40
+ // "LEFT_EYEBROW_TOP",
41
+ // "LEFT_EYEBROW_BOTTOM",
42
+ // "RIGHT_EYEBROW_TOP",
43
+ // "RIGHT_EYEBROW_BOTTOM",
44
+ // "LEFT_EYE",
45
+ // "RIGHT_EYE",
46
+ // "UPPER_LIP_TOP",
47
+ // "UPPER_LIP_BOTTOM",
48
+ // "LOWER_LIP_TOP",
49
+ // "LOWER_LIP_BOTTOM",
50
+ // "NOSE_BRIDGE",
51
+ // "NOSE_BOTTOM",
52
+ // "LEFT_CHEEK",
53
+ // "RIGHT_CHEEK",
54
+ // ];
55
+
56
+ // var faceContoursTypesMap: [String:[[String:CGFloat]]] = [:]
57
+
58
+ // for i in 0..<faceContoursTypes.count {
59
+ // let contour = face.contour(ofType: faceContoursTypes[i]);
60
+
61
+ // var pointsArray: [[String:CGFloat]] = []
62
+
63
+ // if let points = contour?.points {
64
+ // for point in points {
65
+ // let currentPointsMap = [
66
+ // "x": point.x,
67
+ // "y": point.y,
68
+ // ]
69
+
70
+ // pointsArray.append(currentPointsMap)
71
+ // }
72
+
73
+ // faceContoursTypesMap[faceContoursTypesStrings[i]] = pointsArray
74
+ // }
75
+ // }
76
+
77
+ // return faceContoursTypesMap
78
+ // }
79
+
80
+ // static func processBoundingBox(from face: Face) -> [String:Any] {
81
+ // let frameRect = face.frame
82
+
83
+ // let offsetX = (frameRect.midX - ceil(frameRect.width)) / 2.0
84
+ // let offsetY = (frameRect.midY - ceil(frameRect.height)) / 2.0
85
+
86
+ // let x = frameRect.maxX + offsetX
87
+ // let y = frameRect.minY + offsetY
88
+
89
+ // return [
90
+ // "x": frameRect.midX + (frameRect.midX - x),
91
+ // "y": frameRect.midY + (y - frameRect.midY),
92
+ // "width": frameRect.width,
93
+ // "height": frameRect.height,
94
+ // "boundingCenterX": frameRect.midX,
95
+ // "boundingCenterY": frameRect.midY
96
+ // ]
97
+ // }
98
98
 
99
99
  static func getImageFaceFromUIImage(from image: UIImage, rectImage: CGRect) -> UIImage? {
100
100
  let imageRef: CGImage = (image.cgImage?.cropping(to: rectImage)!)!
@@ -107,11 +107,8 @@ class FaceHelper {
107
107
  return imageData.base64EncodedString()
108
108
  }
109
109
 
110
- static func rgbDataFromBuffer(
111
- _ buffer: CVPixelBuffer,
112
- byteCount: Int,
113
- isModelQuantized: Bool
114
- ) -> Data? {
110
+ static func rgbDataFromBuffer(_ buffer: CVPixelBuffer) -> Data? {
111
+ let byteCount = batchSize * inputWidth * inputHeight * inputChannels
115
112
  CVPixelBufferLockBaseAddress(buffer, .readOnly)
116
113
  defer {
117
114
  CVPixelBufferUnlockBaseAddress(buffer, .readOnly)
@@ -160,11 +157,6 @@ class FaceHelper {
160
157
  }
161
158
 
162
159
  let byteData = Data(bytes: destinationBuffer.data, count: destinationBuffer.rowBytes * height)
163
- if isModelQuantized {
164
- return byteData
165
- }
166
-
167
- // Not quantized, convert to floats
168
160
  let bytes = Array<UInt8>(unsafeData: byteData)!
169
161
  var floats = [Float]()
170
162
  for i in 0..<bytes.count {
@@ -218,6 +210,35 @@ class FaceHelper {
218
210
  return nil
219
211
  }
220
212
  }
213
+
214
+ // static func getDataFromPixel(pixelBuffer: CVPixelBuffer) -> Data {
215
+ // CVPixelBufferLockBaseAddress(pixelBuffer, [.readOnly])
216
+ // defer { CVPixelBufferUnlockBaseAddress(pixelBuffer, [.readOnly]) }
217
+ //
218
+ // // Calculate sum of planes' size
219
+ // var totalSize = 0
220
+ // for plane in 0 ..< CVPixelBufferGetPlaneCount(pixelBuffer) {
221
+ // let height = CVPixelBufferGetHeightOfPlane(pixelBuffer, plane)
222
+ // let bytesPerRow = CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, plane)
223
+ // let planeSize = height * bytesPerRow
224
+ // totalSize += planeSize
225
+ // }
226
+ //
227
+ // guard let rawFrame = malloc(totalSize) else { fatalError() }
228
+ // var dest = rawFrame
229
+ //
230
+ // for plane in 0 ..< CVPixelBufferGetPlaneCount(pixelBuffer) {
231
+ // let source = CVPixelBufferGetBaseAddressOfPlane(pixelBuffer, plane)
232
+ // let height = CVPixelBufferGetHeightOfPlane(pixelBuffer, plane)
233
+ // let bytesPerRow = CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, plane)
234
+ // let planeSize = height * bytesPerRow
235
+ //
236
+ // memcpy(dest, source, planeSize)
237
+ // dest += planeSize
238
+ // }
239
+ //
240
+ // return Data(bytesNoCopy: rawFrame, count: totalSize, deallocator: .free)
241
+ // }
221
242
  }
222
243
 
223
244
  // MARK: - Extensions
@@ -235,4 +256,3 @@ extension Array {
235
256
  self = unsafeData.withUnsafeBytes { .init($0.bindMemory(to: Element.self)) }
236
257
  }
237
258
  }
238
-
@@ -66,19 +66,13 @@ class VisionCameraFaceDetectionModule: NSObject {
66
66
  reject("Failed to get pixelBuffer", nil, nil)
67
67
  return
68
68
  }
69
- guard let rgbData = FaceHelper.rgbDataFromBuffer(
70
- pixelBuffer,
71
- byteCount: batchSize * inputWidth * inputHeight * inputChannels,
72
- isModelQuantized: false
73
- ) else {
69
+ guard let rgbData = FaceHelper.rgbDataFromBuffer(pixelBuffer) else {
74
70
  reject("Failed to convert the image buffer to RGB data.", nil, nil)
75
71
  return
76
72
  }
77
- // Copy the RGB data to the input `Tensor`.
78
73
  try interpreter?.copy(rgbData, toInputAt: 0)
79
- // Run inference by invoking the `Interpreter`.
80
74
  try interpreter?.invoke()
81
- // Get the output `Tensor` to process the inference results.
75
+
82
76
  let outputTensor: Tensor? = try interpreter?.output(at: 0)
83
77
  if ((outputTensor?.data) != nil) {
84
78
  let result: [Float] = [Float32](unsafeData: outputTensor!.data) ?? []
@@ -20,6 +20,7 @@ public class VisionCameraFaceDetectionPlugin: FrameProcessorPlugin {
20
20
  private var runClassifications = false
21
21
  private var runContours = false
22
22
  private var trackingEnabled = false
23
+ private var enableTensor = false
23
24
 
24
25
  public override init(
25
26
  proxy: VisionCameraProxyHolder,
@@ -30,6 +31,9 @@ public class VisionCameraFaceDetectionPlugin: FrameProcessorPlugin {
30
31
 
31
32
  // handle auto scaling
32
33
  autoScale = config?["autoScale"] as? Bool == true
34
+
35
+ // handle enable/disable tensor
36
+ enableTensor = config?["enableTensor"] as? Bool == true
33
37
 
34
38
  // initializes faceDetector on creation
35
39
  let minFaceSize = 0.15
@@ -268,26 +272,27 @@ public class VisionCameraFaceDetectionPlugin: FrameProcessorPlugin {
268
272
  let faces: [Face] = try faceDetector!.results(in: image)
269
273
  for face in faces {
270
274
  var map: [String: Any] = [:]
271
- guard let imageCrop = FaceHelper.getImageFaceFromBuffer(from: frame.buffer, rectImage: face.frame, orientation: orientation) else {
272
- return nil
273
- }
274
- guard let pixelBuffer = FaceHelper.uiImageToPixelBuffer(image: imageCrop, size: inputWidth) else {
275
- return nil
276
- }
277
- guard let rgbData = FaceHelper.rgbDataFromBuffer(
278
- pixelBuffer,
279
- byteCount: batchSize * inputWidth * inputHeight * inputChannels,
280
- isModelQuantized: false
281
- ) else {
282
- return nil
283
- }
284
- try interpreter?.copy(rgbData, toInputAt: 0)
285
- try interpreter?.invoke()
286
- let outputTensor: Tensor? = try interpreter?.output(at: 0)
287
-
288
- if ((outputTensor?.data) != nil) {
289
- let result: [Float] = [Float32](unsafeData: outputTensor!.data) ?? []
290
- map["data"] = result
275
+ if enableTensor {
276
+ guard let imageCrop = FaceHelper.getImageFaceFromBuffer(from: frame.buffer, rectImage: face.frame, orientation: orientation) else {
277
+ return nil
278
+ }
279
+ guard let pixelBuffer = FaceHelper.uiImageToPixelBuffer(image: imageCrop, size: inputWidth) else {
280
+ return nil
281
+ }
282
+ guard let rgbData = FaceHelper.rgbDataFromBuffer(pixelBuffer) else {
283
+ return nil
284
+ }
285
+
286
+ try interpreter?.copy(rgbData, toInputAt: 0)
287
+ try interpreter?.invoke()
288
+ let outputTensor: Tensor? = try interpreter?.output(at: 0)
289
+
290
+ if ((outputTensor?.data) != nil) {
291
+ let result: [Float] = [Float32](unsafeData: outputTensor!.data) ?? []
292
+ map["data"] = result
293
+ } else {
294
+ map["data"] = []
295
+ }
291
296
  } else {
292
297
  map["data"] = []
293
298
  }
@@ -8,7 +8,7 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _reactNativeVisionCamera = require("react-native-vision-camera");
10
10
  var _reactNativeWorkletsCore = require("react-native-worklets-core");
11
- var _FaceDetector = require("./FaceDetector.cjs");
11
+ var _FaceDetector = require("./FaceDetector.js");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
14
  // types
@@ -148,10 +148,10 @@ const Camera = exports.Camera = /*#__PURE__*/_react.default.forwardRef(({
148
148
  // });
149
149
  }, [runOnJs]);
150
150
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeVisionCamera.Camera, {
151
- ...props,
152
151
  ref: ref,
153
152
  frameProcessor: _reactNative.Platform.OS === 'android' ? processorAndroid : processorIOS,
154
- pixelFormat: _reactNative.Platform.OS === 'android' ? 'yuv' : 'rgb'
153
+ pixelFormat: _reactNative.Platform.OS === 'android' ? 'yuv' : 'rgb',
154
+ ...props
155
155
  });
156
156
  });
157
- //# sourceMappingURL=Camera.cjs.map
157
+ //# sourceMappingURL=Camera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeVisionCamera","_reactNativeWorkletsCore","_FaceDetector","_jsxRuntime","e","__esModule","default","useWorklet","func","dependencyList","worklet","React","useMemo","context","Worklets","defaultContext","createRunAsync","useRunInJS","createRunOnJS","Camera","exports","forwardRef","faceDetectionOptions","faceDetectionCallback","props","ref","detectFaces","useFaceDetector","isAsyncContextBusy","useSharedValue","logOnJs","log","error","console","message","JSON","stringify","runInJs","runOnAsyncContext","frame","faces","incrementRefCount","finally","decrementRefCount","value","runAsync","internal","processorAndroid","useFrameProcessor","runOnJs","useRunOnJS","processorIOS","jsx","frameProcessor","Platform","OS","pixelFormat"],"sourceRoot":"../../src","sources":["Camera.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAF,OAAA;AAKA,IAAAG,wBAAA,GAAAH,OAAA;AAKA,IAAAI,aAAA,GAAAJ,OAAA;AAAiD,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjD;;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,UAAUA,CACjBC,IAAoC,EACpCC,cAA8B,EACd;EAChB,MAAMC,OAAO,GAAGC,cAAK,CAACC,OAAO,CAAC,MAAM;IAClC,MAAMC,OAAO,GAAGC,iCAAQ,CAACC,cAAc;IACvC,OAAOF,OAAO,CAACG,cAAc,CAACR,IAAI,CAAC;IACnC;EACF,CAAC,EAAEC,cAAc,CAAC;EAElB,OAAOC,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASO,UAAUA,CACjBT,IAAkB,EAClBC,cAA8B,EACd;EAChB;EACA,OAAOE,cAAK,CAACC,OAAO,CAAC,MAAME,iCAAQ,CAACI,aAAa,CAACV,IAAI,CAAC,EAAEC,cAAc,CAAC;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMU,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAGR,cAAK,CAACU,UAAU,CACpC,CACE;EAAEC,oBAAoB;EAAEC,qBAAqB;EAAE,GAAGC;AAAqB,CAAC,EACxEC,GAA+B,KAC5B;EACH,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,6BAAe,EAACL,oBAAoB,CAAC;EAC7D;AACJ;AACA;EACI,MAAMM,kBAAkB,GAAG,IAAAC,uCAAc,EAAC,KAAK,CAAC;;EAEhD;AACJ;AACA;EACI,MAAMC,OAAO,GAAGhB,iCAAQ,CAACI,aAAa,CAAC,CAACa,GAAW,EAAEC,KAAa,KAAK;IACrE,IAAIA,KAAK,EAAE;MACTC,OAAO,CAACD,KAAK,CAACD,GAAG,EAAEC,KAAK,CAACE,OAAO,IAAIC,IAAI,CAACC,SAAS,CAACJ,KAAK,CAAC,CAAC;IAC5D,CAAC,MAAM;MACLC,OAAO,CAACF,GAAG,CAACA,GAAG,CAAC;IAClB;EACF,CAAC,CAAC;;EAEF;AACJ;AACA;EACI,MAAMM,OAAO,GAAGpB,UAAU,CAACM,qBAAqB,EAAE,CAACA,qBAAqB,CAAC,CAAC;;EAE1E;AACJ;AACA;EACI,MAAMe,iBAAiB,GAAG/B,UAAU,CACjCgC,KAAoB,IAAK;IACxB,SAAS;;IACT,IAAI;MACF,MAAMC,KAAK,GAAGd,WAAW,CAACa,KAAK,CAAC;MAChC;MACA;MACAA,KAAK,CAACE,iBAAiB,CAAC,CAAC;MACzBJ,OAAO,CAACG,KAAK,EAAED,KAAK,CAAC,CAACG,OAAO,CAAC,MAAM;QAClC,SAAS;;QACT;QACAH,KAAK,CAACI,iBAAiB,CAAC,CAAC;MAC3B,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOX,KAAU,EAAE;MACnBF,OAAO,CAAC,kBAAkB,EAAEE,KAAK,CAAC;IACpC,CAAC,SAAS;MACRO,KAAK,CAACI,iBAAiB,CAAC,CAAC;MACzBf,kBAAkB,CAACgB,KAAK,GAAG,KAAK;IAClC;EACF,CAAC,EACD,CAAClB,WAAW,EAAEW,OAAO,CACvB,CAAC;;EAED;AACJ;AACA;AACA;AACA;EACI,SAASQ,QAAQA,CAACN,KAAY,EAAE;IAC9B,SAAS;;IACT,IAAIX,kBAAkB,CAACgB,KAAK,EAAE;IAC9B;IACAhB,kBAAkB,CAACgB,KAAK,GAAG,IAAI;IAC/B;IACA,MAAME,QAAQ,GAAGP,KAAsB;IACvCO,QAAQ,CAACL,iBAAiB,CAAC,CAAC;IAC5B;IACAH,iBAAiB,CAACQ,QAAQ,CAAC;EAC7B;;EAEA;AACJ;AACA;EACI,MAAMC,gBAAgB,GAAG,IAAAC,0CAAiB,EACvCT,KAAK,IAAK;IACT,SAAS;;IACTM,QAAQ,CAACN,KAAK,CAAC;EACjB,CAAC,EACD,CAACD,iBAAiB,CACpB,CAAC;;EAED;EACA;EACA;EACA;EACA;AACJ;AACA;EACI,MAAMW,OAAO,GAAG,IAAAC,mCAAU,EAAC3B,qBAAqB,EAAE,CAACA,qBAAqB,CAAC,CAAC;EAE1E,MAAM4B,YAAY,GAAG,IAAAH,0CAAiB,EACnCT,KAAK,IAAK;IACT,SAAS;;IACTU,OAAO,CAACvB,WAAW,CAACa,KAAK,CAAC,EAAEA,KAAK,CAAC;IAClC;IACA;IACA;IACA;EACF,CAAC,EACD,CAACU,OAAO,CACV,CAAC;EAED,oBACE,IAAA9C,WAAA,CAAAiD,GAAA,EAACpD,wBAAA,CAAAmB,MAAY;IAAA,GACPK,KAAK;IACTC,GAAG,EAAEA,GAAI;IACT4B,cAAc,EACZC,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAAGR,gBAAgB,GAAGI,YAChD;IACDK,WAAW,EAAEF,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAAG,KAAK,GAAG;EAAM,CACxD,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeVisionCamera","_reactNativeWorkletsCore","_FaceDetector","_jsxRuntime","e","__esModule","default","useWorklet","func","dependencyList","worklet","React","useMemo","context","Worklets","defaultContext","createRunAsync","useRunInJS","createRunOnJS","Camera","exports","forwardRef","faceDetectionOptions","faceDetectionCallback","props","ref","detectFaces","useFaceDetector","isAsyncContextBusy","useSharedValue","logOnJs","log","error","console","message","JSON","stringify","runInJs","runOnAsyncContext","frame","faces","incrementRefCount","finally","decrementRefCount","value","runAsync","internal","processorAndroid","useFrameProcessor","runOnJs","useRunOnJS","processorIOS","jsx","frameProcessor","Platform","OS","pixelFormat"],"sourceRoot":"../../src","sources":["Camera.tsx"],"mappings":"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","ignoreList":[]}
@@ -39,4 +39,4 @@ function createFaceDetectorPlugin(options) {
39
39
  function useFaceDetector(options) {
40
40
  return (0, _react.useMemo)(() => createFaceDetectorPlugin(options), [options]);
41
41
  }
42
- //# sourceMappingURL=FaceDetector.cjs.map
42
+ //# sourceMappingURL=FaceDetector.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeVisionCamera","createFaceDetectorPlugin","options","plugin","VisionCameraProxy","initFrameProcessorPlugin","Error","detectFaces","frame","call","useFaceDetector","useMemo"],"sourceRoot":"../../src","sources":["FaceDetector.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AA0HA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,wBAAwBA,CAC/BC,OAA8B,EACV;EACpB,MAAMC,MAAM,GAAGC,0CAAiB,CAACC,wBAAwB,CAAC,aAAa,EAAE;IACvE,GAAGH;EACL,CAAC,CAAC;EAEF,IAAI,CAACC,MAAM,EAAE;IACX,MAAM,IAAIG,KAAK,CAAC,sDAAsD,CAAC;EACzE;EAEA,OAAO;IACLC,WAAW,EAAGC,KAAY,IAAa;MACrC,SAAS;;MACT;MACA,OAAOL,MAAM,CAACM,IAAI,CAACD,KAAK,CAAC;IAC3B;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,eAAeA,CAC7BR,OAA8B,EACV;EACpB,OAAO,IAAAS,cAAO,EAAC,MAAMV,wBAAwB,CAACC,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;AACpE","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeVisionCamera","createFaceDetectorPlugin","options","plugin","VisionCameraProxy","initFrameProcessorPlugin","Error","detectFaces","frame","call","useFaceDetector","useMemo"],"sourceRoot":"../../src","sources":["FaceDetector.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AA+HA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,wBAAwBA,CAC/BC,OAA8B,EACV;EACpB,MAAMC,MAAM,GAAGC,0CAAiB,CAACC,wBAAwB,CAAC,aAAa,EAAE;IACvE,GAAGH;EACL,CAAC,CAAC;EAEF,IAAI,CAACC,MAAM,EAAE;IACX,MAAM,IAAIG,KAAK,CAAC,sDAAsD,CAAC;EACzE;EAEA,OAAO;IACLC,WAAW,EAAGC,KAAY,IAAa;MACrC,SAAS;;MACT;MACA,OAAOL,MAAM,CAACM,IAAI,CAACD,KAAK,CAAC;IAC3B;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,eAAeA,CAC7BR,OAA8B,EACV;EACpB,OAAO,IAAAS,cAAO,EAAC,MAAMV,wBAAwB,CAACC,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;AACpE","ignoreList":[]}
@@ -21,4 +21,4 @@ function initTensor(modelPath, count) {
21
21
  function detectFromBase64(imageString) {
22
22
  return VisionCameraFaceDetectionModule.detectFromBase64(imageString);
23
23
  }
24
- //# sourceMappingURL=Tensor.cjs.map
24
+ //# sourceMappingURL=Tensor.js.map
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _Camera = require("./Camera.cjs");
6
+ var _Camera = require("./Camera.js");
7
7
  Object.keys(_Camera).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
9
  if (key in exports && exports[key] === _Camera[key]) return;
@@ -14,7 +14,7 @@ Object.keys(_Camera).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
- var _FaceDetector = require("./FaceDetector.cjs");
17
+ var _FaceDetector = require("./FaceDetector.js");
18
18
  Object.keys(_FaceDetector).forEach(function (key) {
19
19
  if (key === "default" || key === "__esModule") return;
20
20
  if (key in exports && exports[key] === _FaceDetector[key]) return;
@@ -25,7 +25,7 @@ Object.keys(_FaceDetector).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
- var _Tensor = require("./Tensor.cjs");
28
+ var _Tensor = require("./Tensor.js");
29
29
  Object.keys(_Tensor).forEach(function (key) {
30
30
  if (key === "default" || key === "__esModule") return;
31
31
  if (key in exports && exports[key] === _Tensor[key]) return;
@@ -36,4 +36,4 @@ Object.keys(_Tensor).forEach(function (key) {
36
36
  }
37
37
  });
38
38
  });
39
- //# sourceMappingURL=index.cjs.map
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -1,10 +1,12 @@
1
+ "use strict";
2
+
1
3
  import React from 'react';
2
4
  import { Platform } from 'react-native';
3
5
  import { Camera as VisionCamera,
4
6
  // runAsync,
5
7
  useFrameProcessor } from 'react-native-vision-camera';
6
8
  import { Worklets, useRunOnJS, useSharedValue } from 'react-native-worklets-core';
7
- import { useFaceDetector } from "./FaceDetector.mjs";
9
+ import { useFaceDetector } from "./FaceDetector.js";
8
10
 
9
11
  // types
10
12
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -143,10 +145,10 @@ export const Camera = /*#__PURE__*/React.forwardRef(({
143
145
  // });
144
146
  }, [runOnJs]);
145
147
  return /*#__PURE__*/_jsx(VisionCamera, {
146
- ...props,
147
148
  ref: ref,
148
149
  frameProcessor: Platform.OS === 'android' ? processorAndroid : processorIOS,
149
- pixelFormat: Platform.OS === 'android' ? 'yuv' : 'rgb'
150
+ pixelFormat: Platform.OS === 'android' ? 'yuv' : 'rgb',
151
+ ...props
150
152
  });
151
153
  });
152
- //# sourceMappingURL=Camera.mjs.map
154
+ //# sourceMappingURL=Camera.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Platform","Camera","VisionCamera","useFrameProcessor","Worklets","useRunOnJS","useSharedValue","useFaceDetector","jsx","_jsx","useWorklet","func","dependencyList","worklet","useMemo","context","defaultContext","createRunAsync","useRunInJS","createRunOnJS","forwardRef","faceDetectionOptions","faceDetectionCallback","props","ref","detectFaces","isAsyncContextBusy","logOnJs","log","error","console","message","JSON","stringify","runInJs","runOnAsyncContext","frame","faces","incrementRefCount","finally","decrementRefCount","value","runAsync","internal","processorAndroid","runOnJs","processorIOS","frameProcessor","OS","pixelFormat"],"sourceRoot":"../../src","sources":["Camera.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { useMemo } from 'react';
2
4
  import { VisionCameraProxy } from 'react-native-vision-camera';
3
5
  /**
@@ -33,4 +35,4 @@ function createFaceDetectorPlugin(options) {
33
35
  export function useFaceDetector(options) {
34
36
  return useMemo(() => createFaceDetectorPlugin(options), [options]);
35
37
  }
36
- //# sourceMappingURL=FaceDetector.mjs.map
38
+ //# sourceMappingURL=FaceDetector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","VisionCameraProxy","createFaceDetectorPlugin","options","plugin","initFrameProcessorPlugin","Error","detectFaces","frame","call","useFaceDetector"],"sourceRoot":"../../src","sources":["FaceDetector.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,iBAAiB,QAAoB,4BAA4B;AA+H1E;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,wBAAwBA,CAC/BC,OAA8B,EACV;EACpB,MAAMC,MAAM,GAAGH,iBAAiB,CAACI,wBAAwB,CAAC,aAAa,EAAE;IACvE,GAAGF;EACL,CAAC,CAAC;EAEF,IAAI,CAACC,MAAM,EAAE;IACX,MAAM,IAAIE,KAAK,CAAC,sDAAsD,CAAC;EACzE;EAEA,OAAO;IACLC,WAAW,EAAGC,KAAY,IAAa;MACrC,SAAS;;MACT;MACA,OAAOJ,MAAM,CAACK,IAAI,CAACD,KAAK,CAAC;IAC3B;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAC7BP,OAA8B,EACV;EACpB,OAAOH,OAAO,CAAC,MAAME,wBAAwB,CAACC,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;AACpE","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { NativeModules, Platform } from 'react-native';
2
4
  const LINKING_ERROR = `The package 'vision-camera-face-detection' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
3
5
  ios: "- You have run 'pod install'\n",
@@ -14,4 +16,4 @@ export function initTensor(modelPath, count) {
14
16
  export function detectFromBase64(imageString) {
15
17
  return VisionCameraFaceDetectionModule.detectFromBase64(imageString);
16
18
  }
17
- //# sourceMappingURL=Tensor.mjs.map
19
+ //# sourceMappingURL=Tensor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","VisionCameraFaceDetectionModule","Proxy","get","Error","initTensor","modelPath","count","detectFromBase64","imageString"],"sourceRoot":"../../src","sources":["Tensor.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,uFAAuF,GACvFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,+BAA+B,GACnCN,aAAa,CAACM,+BAA+B,GACzCN,aAAa,CAACM,+BAA+B,GAC7C,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEP,OAAO,SAASQ,UAAUA,CAACC,SAAiB,EAAEC,KAAc,EAAmB;EAC7E,OAAON,+BAA+B,CAACI,UAAU,CAACC,SAAS,EAAEC,KAAK,CAAC;AACrE;AAEA,OAAO,SAASC,gBAAgBA,CAC9BC,WAAmB,EACO;EAC1B,OAAOR,+BAA+B,CAACO,gBAAgB,CAACC,WAAW,CAAC;AACtE","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ export * from "./Camera.js";
4
+ export * from "./FaceDetector.js";
5
+ export * from "./Tensor.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,cAAc,aAAU;AACxB,cAAc,mBAAgB;AAC9B,cAAc,aAAU","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../src/Camera.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,MAAM,IAAI,YAAY,EAGvB,MAAM,4BAA4B,CAAC;AAUpC,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EAEN,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AASjE,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AA4C1E;;;;;GAKG;AACH,eAAO,MAAM,MAAM;2BA/CM,oBAAoB;2BACpB,YAAY;oDA+JpC,CAAC"}
@@ -105,6 +105,10 @@ export interface FaceDetectionOptions {
105
105
  * @default false
106
106
  */
107
107
  autoScale?: boolean;
108
+ /**
109
+ * for enable/disable tensorflow lite logic, just face detection
110
+ */
111
+ enableTensor?: boolean;
108
112
  }
109
113
  /**
110
114
  * Use an instance of face detector plugin.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FaceDetector.d.ts","sourceRoot":"","sources":["../../../../src/FaceDetector.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAE3E,KAAK,kBAAkB,GAAG;IACxB;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;CACvC,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,WAAW,IAAI;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,mBAAmB,EAAE,KAAK,EAAE,CAAC;IAC7B,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAC3B,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,WAAW,EAAE,KAAK,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAEtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE7B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4BD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,kBAAkB,CAEpB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tensor.d.ts","sourceRoot":"","sources":["../../../../src/Tensor.ts"],"names":[],"mappings":"AAoBA,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { Camera as VisionCamera } from 'react-native-vision-camera';
3
+ import type { CameraProps, Frame } from 'react-native-vision-camera';
4
+ import type { Face, FaceDetectionOptions } from './FaceDetector';
5
+ type CallbackType = (faces: Face[], frame: Frame) => void | Promise<void>;
6
+ /**
7
+ * Vision camera wrapper
8
+ *
9
+ * @param {ComponentType} props Camera + face detection props
10
+ * @returns
11
+ */
12
+ export declare const Camera: React.ForwardRefExoticComponent<{
13
+ faceDetectionOptions?: FaceDetectionOptions;
14
+ faceDetectionCallback: CallbackType;
15
+ } & CameraProps & React.RefAttributes<VisionCamera>>;
16
+ export {};
17
+ //# sourceMappingURL=Camera.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../src/Camera.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,MAAM,IAAI,YAAY,EAGvB,MAAM,4BAA4B,CAAC;AAUpC,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EAEN,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AASjE,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AA4C1E;;;;;GAKG;AACH,eAAO,MAAM,MAAM;2BA/CM,oBAAoB;2BACpB,YAAY;oDA+JpC,CAAC"}
@@ -0,0 +1,122 @@
1
+ import { type Frame } from 'react-native-vision-camera';
2
+ type FaceDetectorPlugin = {
3
+ /**
4
+ * Detect faces on frame
5
+ *
6
+ * @param {Frame} frame Frame to detect faces
7
+ */
8
+ detectFaces: (frame: Frame) => Face[];
9
+ };
10
+ type Point = {
11
+ x: number;
12
+ y: number;
13
+ };
14
+ export interface Face {
15
+ pitchAngle: number;
16
+ rollAngle: number;
17
+ yawAngle: number;
18
+ bounds: Bounds;
19
+ leftEyeOpenProbability: number;
20
+ rightEyeOpenProbability: number;
21
+ smilingProbability: number;
22
+ contours: Contours;
23
+ landmarks: Landmarks;
24
+ data: any;
25
+ }
26
+ export interface Bounds {
27
+ width: number;
28
+ height: number;
29
+ x: number;
30
+ y: number;
31
+ }
32
+ export interface Contours {
33
+ FACE: Point[];
34
+ LEFT_EYEBROW_TOP: Point[];
35
+ LEFT_EYEBROW_BOTTOM: Point[];
36
+ RIGHT_EYEBROW_TOP: Point[];
37
+ RIGHT_EYEBROW_BOTTOM: Point[];
38
+ LEFT_EYE: Point[];
39
+ RIGHT_EYE: Point[];
40
+ UPPER_LIP_TOP: Point[];
41
+ UPPER_LIP_BOTTOM: Point[];
42
+ LOWER_LIP_TOP: Point[];
43
+ LOWER_LIP_BOTTOM: Point[];
44
+ NOSE_BRIDGE: Point[];
45
+ NOSE_BOTTOM: Point[];
46
+ LEFT_CHEEK: Point[];
47
+ RIGHT_CHEEK: Point[];
48
+ }
49
+ export interface Landmarks {
50
+ LEFT_CHEEK: Point;
51
+ LEFT_EAR: Point;
52
+ LEFT_EYE: Point;
53
+ MOUTH_BOTTOM: Point;
54
+ MOUTH_LEFT: Point;
55
+ MOUTH_RIGHT: Point;
56
+ NOSE_BASE: Point;
57
+ RIGHT_CHEEK: Point;
58
+ RIGHT_EAR: Point;
59
+ RIGHT_EYE: Point;
60
+ }
61
+ export interface FaceDetectionOptions {
62
+ /**
63
+ * Favor speed or accuracy when detecting faces.
64
+ *
65
+ * @default 'fast'
66
+ */
67
+ performanceMode?: 'fast' | 'accurate';
68
+ /**
69
+ * Whether to attempt to identify facial 'landmarks': eyes, ears, nose, cheeks, mouth, and so on.
70
+ *
71
+ * @default 'none'
72
+ */
73
+ landmarkMode?: 'none' | 'all';
74
+ /**
75
+ * Whether to detect the contours of facial features. Contours are detected for only the most prominent face in an image.
76
+ *
77
+ * @default 'none'
78
+ */
79
+ contourMode?: 'none' | 'all';
80
+ /**
81
+ * Whether or not to classify faces into categories such as 'smiling', and 'eyes open'.
82
+ *
83
+ * @default 'none'
84
+ */
85
+ classificationMode?: 'none' | 'all';
86
+ /**
87
+ * Sets the smallest desired face size, expressed as the ratio of the width of the head to width of the image.
88
+ *
89
+ * @default 0.15
90
+ */
91
+ minFaceSize?: number;
92
+ /**
93
+ * Whether or not to assign faces an ID, which can be used to track faces across images.
94
+ *
95
+ * Note that when contour detection is enabled, only one face is detected, so face tracking doesn't produce useful results. For this reason, and to improve detection speed, don't enable both contour detection and face tracking.
96
+ *
97
+ * @default false
98
+ */
99
+ trackingEnabled?: boolean;
100
+ /**
101
+ * Should auto scale face bounds, contour and landmarks on native side?
102
+ * This option should be disabled if you want to draw on frame using `Skia Frame Processor`.
103
+ * See [this](https://github.com/luicfrr/react-native-vision-camera-face-detector/issues/30#issuecomment-2058805546) and [this](https://github.com/luicfrr/react-native-vision-camera-face-detector/issues/35) for more details.
104
+ *
105
+ * @default false
106
+ */
107
+ autoScale?: boolean;
108
+ /**
109
+ * for enable/disable tensorflow lite logic, just face detection
110
+ */
111
+ enableTensor?: boolean;
112
+ }
113
+ /**
114
+ * Use an instance of face detector plugin.
115
+ *
116
+ * @param {FaceDetectionOptions | undefined} options Detection options
117
+ * @returns {FaceDetectorPlugin} Memoized plugin instance that will be
118
+ * destroyed once the component using `useFaceDetector()` unmounts.
119
+ */
120
+ export declare function useFaceDetector(options?: FaceDetectionOptions): FaceDetectorPlugin;
121
+ export {};
122
+ //# sourceMappingURL=FaceDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FaceDetector.d.ts","sourceRoot":"","sources":["../../../../src/FaceDetector.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAE3E,KAAK,kBAAkB,GAAG;IACxB;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;CACvC,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,WAAW,IAAI;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,mBAAmB,EAAE,KAAK,EAAE,CAAC;IAC7B,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAC3B,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,WAAW,EAAE,KAAK,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAEtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE7B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4BD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,kBAAkB,CAEpB"}
@@ -0,0 +1,8 @@
1
+ export declare function initTensor(modelPath: string, count?: number): Promise<string>;
2
+ export declare function detectFromBase64(imageString: string): Promise<DetectBas64Type>;
3
+ export type DetectBas64Type = {
4
+ base64: string;
5
+ data: any;
6
+ message: string;
7
+ };
8
+ //# sourceMappingURL=Tensor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tensor.d.ts","sourceRoot":"","sources":["../../../../src/Tensor.ts"],"names":[],"mappings":"AAoBA,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './Camera';
2
+ export * from './FaceDetector';
3
+ export * from './Tensor';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,16 +1,20 @@
1
1
  {
2
2
  "name": "vision-camera-face-detection",
3
- "version": "1.2.3",
3
+ "version": "1.2.5",
4
4
  "description": "Plugin Face Detection for Vision Camera 4",
5
5
  "source": "./src/index.tsx",
6
- "main": "./lib/commonjs/index.cjs",
7
- "module": "./lib/module/index.mjs",
8
- "types": "./lib/typescript/src/index.d.ts",
6
+ "main": "./lib/commonjs/index.js",
7
+ "module": "./lib/module/index.js",
9
8
  "exports": {
10
9
  ".": {
11
- "types": "./lib/typescript/src/index.d.ts",
12
- "import": "./lib/module/index.mjs",
13
- "require": "./lib/commonjs/index.cjs"
10
+ "import": {
11
+ "types": "./lib/typescript/module/src/index.d.ts",
12
+ "default": "./lib/module/index.js"
13
+ },
14
+ "require": {
15
+ "types": "./lib/typescript/commonjs/src/index.d.ts",
16
+ "default": "./lib/commonjs/index.js"
17
+ }
14
18
  }
15
19
  },
16
20
  "files": [
@@ -34,7 +38,7 @@
34
38
  "scripts": {
35
39
  "example": "yarn workspace vision-camera-face-detection-example",
36
40
  "test": "jest",
37
- "typecheck": "tsc --noEmit",
41
+ "typecheck": "tsc",
38
42
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
39
43
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
40
44
  "prepare": "bob build",
@@ -73,9 +77,9 @@
73
77
  "jest": "^29.7.0",
74
78
  "prettier": "^3.0.3",
75
79
  "react": "18.2.0",
76
- "react-native": "0.74.3",
77
- "react-native-builder-bob": "^0.25.0",
78
- "react-native-vision-camera": "4.5.0",
80
+ "react-native": "0.74.5",
81
+ "react-native-builder-bob": "^0.29.1",
82
+ "react-native-vision-camera": "4.5.1",
79
83
  "react-native-worklets-core": "1.3.3",
80
84
  "release-it": "^15.0.0",
81
85
  "turbo": "^1.10.7",
@@ -173,7 +177,8 @@
173
177
  [
174
178
  "typescript",
175
179
  {
176
- "project": "tsconfig.build.json"
180
+ "project": "tsconfig.build.json",
181
+ "esm": true
177
182
  }
178
183
  ]
179
184
  ]
@@ -181,6 +186,6 @@
181
186
  "create-react-native-library": {
182
187
  "type": "module-legacy",
183
188
  "languages": "kotlin-swift",
184
- "version": "0.38.1"
189
+ "version": "0.40.0"
185
190
  }
186
191
  }
package/src/Camera.tsx CHANGED
@@ -182,12 +182,12 @@ export const Camera = React.forwardRef(
182
182
 
183
183
  return (
184
184
  <VisionCamera
185
- {...props}
186
185
  ref={ref}
187
186
  frameProcessor={
188
187
  Platform.OS === 'android' ? processorAndroid : processorIOS
189
188
  }
190
189
  pixelFormat={Platform.OS === 'android' ? 'yuv' : 'rgb'}
190
+ {...props}
191
191
  />
192
192
  );
193
193
  }
@@ -119,6 +119,11 @@ export interface FaceDetectionOptions {
119
119
  * @default false
120
120
  */
121
121
  autoScale?: boolean;
122
+
123
+ /**
124
+ * for enable/disable tensorflow lite logic, just face detection
125
+ */
126
+ enableTensor?: boolean;
122
127
  }
123
128
 
124
129
  /**
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Platform","Camera","VisionCamera","useFrameProcessor","Worklets","useRunOnJS","useSharedValue","useFaceDetector","jsx","_jsx","useWorklet","func","dependencyList","worklet","useMemo","context","defaultContext","createRunAsync","useRunInJS","createRunOnJS","forwardRef","faceDetectionOptions","faceDetectionCallback","props","ref","detectFaces","isAsyncContextBusy","logOnJs","log","error","console","message","JSON","stringify","runInJs","runOnAsyncContext","frame","faces","incrementRefCount","finally","decrementRefCount","value","runAsync","internal","processorAndroid","runOnJs","processorIOS","frameProcessor","OS","pixelFormat"],"sourceRoot":"../../src","sources":["Camera.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["useMemo","VisionCameraProxy","createFaceDetectorPlugin","options","plugin","initFrameProcessorPlugin","Error","detectFaces","frame","call","useFaceDetector"],"sourceRoot":"../../src","sources":["FaceDetector.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,iBAAiB,QAAoB,4BAA4B;AA0H1E;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,wBAAwBA,CAC/BC,OAA8B,EACV;EACpB,MAAMC,MAAM,GAAGH,iBAAiB,CAACI,wBAAwB,CAAC,aAAa,EAAE;IACvE,GAAGF;EACL,CAAC,CAAC;EAEF,IAAI,CAACC,MAAM,EAAE;IACX,MAAM,IAAIE,KAAK,CAAC,sDAAsD,CAAC;EACzE;EAEA,OAAO;IACLC,WAAW,EAAGC,KAAY,IAAa;MACrC,SAAS;;MACT;MACA,OAAOJ,MAAM,CAACK,IAAI,CAACD,KAAK,CAAC;IAC3B;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAC7BP,OAA8B,EACV;EACpB,OAAOH,OAAO,CAAC,MAAME,wBAAwB,CAACC,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;AACpE","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","VisionCameraFaceDetectionModule","Proxy","get","Error","initTensor","modelPath","count","detectFromBase64","imageString"],"sourceRoot":"../../src","sources":["Tensor.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,uFAAuF,GACvFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,+BAA+B,GACnCN,aAAa,CAACM,+BAA+B,GACzCN,aAAa,CAACM,+BAA+B,GAC7C,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEP,OAAO,SAASQ,UAAUA,CAACC,SAAiB,EAAEC,KAAc,EAAmB;EAC7E,OAAON,+BAA+B,CAACI,UAAU,CAACC,SAAS,EAAEC,KAAK,CAAC;AACrE;AAEA,OAAO,SAASC,gBAAgBA,CAC9BC,WAAmB,EACO;EAC1B,OAAOR,+BAA+B,CAACO,gBAAgB,CAACC,WAAW,CAAC;AACtE","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- export * from "./Camera.mjs";
2
- export * from "./FaceDetector.mjs";
3
- export * from "./Tensor.mjs";
4
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,cAAU;AACxB,cAAc,oBAAgB;AAC9B,cAAc,cAAU","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../src/Camera.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,MAAM,IAAI,YAAY,EAGvB,MAAM,4BAA4B,CAAC;AAUpC,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EAEN,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AASjE,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AA4C1E;;;;;GAKG;AACH,eAAO,MAAM,MAAM;2BA/CM,oBAAoB;2BACpB,YAAY;oDA+JpC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FaceDetector.d.ts","sourceRoot":"","sources":["../../../src/FaceDetector.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAE3E,KAAK,kBAAkB,GAAG;IACxB;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;CACvC,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,WAAW,IAAI;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,mBAAmB,EAAE,KAAK,EAAE,CAAC;IAC7B,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAC3B,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC1B,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,WAAW,EAAE,KAAK,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAEtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE7B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA4BD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,kBAAkB,CAEpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tensor.d.ts","sourceRoot":"","sources":["../../../src/Tensor.ts"],"names":[],"mappings":"AAoBA,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC"}
File without changes
File without changes
File without changes