replate-camera 0.18.1 → 0.18.4

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 (91) hide show
  1. package/android/app/build.gradle +1 -1
  2. package/android/app/src/main/java/com/replatecamera/ReplateCameraCaptureController.kt +7 -1
  3. package/android/app/src/main/java/com/replatecamera/ReplateCameraController.kt +25 -0
  4. package/android/app/src/main/java/com/replatecamera/ReplateCameraView.kt +27 -6
  5. package/android/lib/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  6. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/DeviceTargetInfo.class +0 -0
  7. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraCaptureController$processAndSaveImage$1.class +0 -0
  8. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraCaptureController$processTargetedDevice$1$1.class +0 -0
  9. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraCaptureController$triggerAutoCaptureIfNewAngle$1$1.class +0 -0
  10. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraCaptureController$triggerAutoCaptureIfNewAngle$1.class +0 -0
  11. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraCaptureController.class +0 -0
  12. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraController$Companion.class +0 -0
  13. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraController.class +0 -0
  14. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$Companion.class +0 -0
  15. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$GestureListener.class +0 -0
  16. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$ScaleListener.class +0 -0
  17. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$initializeSceneView$1$1.class +0 -0
  18. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$1.class +0 -0
  19. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$2$1.class +0 -0
  20. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$3.class +0 -0
  21. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$prebuildBaseMaterial$1.class +0 -0
  22. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$selectBestCameraConfig$$inlined$compareBy$1.class +0 -0
  23. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$selectBestCameraConfig$$inlined$thenBy$1.class +0 -0
  24. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$updateSphereColor$4.class +0 -0
  25. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView.class +0 -0
  26. package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/SafeCallbackHandler.class +0 -0
  27. package/android/lib/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  28. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  29. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  30. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  31. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  32. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  33. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  34. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  35. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  36. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  37. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values +0 -0
  38. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  39. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +1 -1
  40. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  41. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  42. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  43. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  44. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  45. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  46. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +1 -1
  47. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  48. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  49. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  50. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  51. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  52. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  53. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  54. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  55. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  56. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  57. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  58. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  59. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values +0 -0
  60. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  61. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.s +1 -1
  62. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  63. package/android/lib/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  64. package/android/lib/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  65. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/DeviceTargetInfo.class +0 -0
  66. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraCaptureController$processAndSaveImage$1.class +0 -0
  67. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraCaptureController$processTargetedDevice$1$1.class +0 -0
  68. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraCaptureController$triggerAutoCaptureIfNewAngle$1$1.class +0 -0
  69. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraCaptureController$triggerAutoCaptureIfNewAngle$1.class +0 -0
  70. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraCaptureController.class +0 -0
  71. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraController$Companion.class +0 -0
  72. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraController.class +0 -0
  73. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$Companion.class +0 -0
  74. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$GestureListener.class +0 -0
  75. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$ScaleListener.class +0 -0
  76. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$initializeSceneView$1$1.class +0 -0
  77. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$1.class +0 -0
  78. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$2$1.class +0 -0
  79. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$3.class +0 -0
  80. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$prebuildBaseMaterial$1.class +0 -0
  81. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$selectBestCameraConfig$$inlined$compareBy$1.class +0 -0
  82. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$selectBestCameraConfig$$inlined$thenBy$1.class +0 -0
  83. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$updateSphereColor$4.class +0 -0
  84. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView.class +0 -0
  85. package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/SafeCallbackHandler.class +0 -0
  86. package/lib/commonjs/index.js +4 -0
  87. package/lib/commonjs/index.js.map +1 -1
  88. package/lib/module/index.js +3 -0
  89. package/lib/module/index.js.map +1 -1
  90. package/package.json +1 -1
  91. package/src/index.tsx +6 -0
@@ -26,7 +26,7 @@ android {
26
26
  minSdkVersion rootProject.ext.minSdkVersion
27
27
  targetSdkVersion rootProject.ext.targetSdkVersion
28
28
  versionCode 1
29
- versionName "0.18.0"
29
+ versionName "0.18.2"
30
30
  buildConfigField "String", "REACT_NATIVE_RELEASE_LEVEL", "\"${findProperty('reactNativeReleaseLevel') ?: 'stable'}\""
31
31
  }
32
32
  signingConfigs {
@@ -119,7 +119,12 @@ class ReplateCameraCaptureController(
119
119
  try {
120
120
  val uri = Uri.fromFile(file)
121
121
  saveExif(uri, json)
122
- logI("SAVED: auto-capture JPEG uri=$uri totalAngles=${ReplateCameraView.photosFromDifferentAnglesTaken}")
122
+ ReplateCameraView.capturedPhotoPaths.add(file.absolutePath)
123
+ val totalAngles = ReplateCameraView.photosFromDifferentAnglesTaken
124
+ logI("SAVED: auto-capture JPEG uri=$uri totalAngles=$totalAngles")
125
+ Handler(Looper.getMainLooper()).post {
126
+ cameraView.sendPhotoTakenEvent(totalAngles)
127
+ }
123
128
  } catch (e: Exception) {
124
129
  logE("Auto-capture EXIF/save error", e)
125
130
  } finally {
@@ -202,6 +207,7 @@ class ReplateCameraCaptureController(
202
207
  try {
203
208
  val uri = Uri.fromFile(file)
204
209
  saveExif(uri, json)
210
+ ReplateCameraView.capturedPhotoPaths.add(file.absolutePath)
205
211
  logI("SAVED: manual takePhoto JPEG uri=$uri")
206
212
  callback.resolve(uri.toString())
207
213
  } catch (e: Exception) {
@@ -4,6 +4,7 @@ import android.app.ActivityManager
4
4
  import android.os.Handler
5
5
  import android.os.Looper
6
6
  import android.util.Log
7
+ import com.facebook.react.bridge.Arguments
7
8
  import com.facebook.react.bridge.Callback
8
9
  import com.facebook.react.bridge.Promise
9
10
  import com.facebook.react.bridge.ReactApplicationContext
@@ -25,6 +26,7 @@ class ReplateCameraController(private val reactContext: ReactApplicationContext)
25
26
  private var tooCloseCallback: Callback? = null
26
27
  private var tooFarCallback: Callback? = null
27
28
  private var backInRangeCallback: Callback? = null
29
+ private var photoTakenCallback: Callback? = null
28
30
 
29
31
  @Synchronized
30
32
  fun consumeCompletedTutorialCallback(): Callback? {
@@ -81,6 +83,13 @@ class ReplateCameraController(private val reactContext: ReactApplicationContext)
81
83
  backInRangeCallback = null
82
84
  return callback
83
85
  }
86
+
87
+ @Synchronized
88
+ fun consumePhotoTakenCallback(): Callback? {
89
+ val callback = photoTakenCallback
90
+ photoTakenCallback = null
91
+ return callback
92
+ }
84
93
  }
85
94
 
86
95
  override fun getName(): String = "ReplateCameraController"
@@ -149,6 +158,14 @@ class ReplateCameraController(private val reactContext: ReactApplicationContext)
149
158
  }
150
159
  }
151
160
 
161
+ @ReactMethod
162
+ fun registerPhotoTakenCallback(callback: Callback) {
163
+ Log.d(TAG, "registerPhotoTakenCallback")
164
+ synchronized(lock) {
165
+ photoTakenCallback = callback
166
+ }
167
+ }
168
+
152
169
  @ReactMethod
153
170
  fun takePhoto(unlimited: Boolean, promise: Promise) {
154
171
  Log.i(TAG, "takePhoto called unlimited=$unlimited")
@@ -210,6 +227,14 @@ class ReplateCameraController(private val reactContext: ReactApplicationContext)
210
227
  }
211
228
  }
212
229
 
230
+ @ReactMethod
231
+ fun getCapturedPhotoPaths(promise: Promise) {
232
+ val paths = ReplateCameraView.capturedPhotoPaths.toList()
233
+ val array = Arguments.createArray()
234
+ paths.forEach { array.pushString(it) }
235
+ promise.resolve(array)
236
+ }
237
+
213
238
  @ReactMethod
214
239
  fun reset() {
215
240
  Log.i(TAG, "reset requested")
@@ -44,6 +44,7 @@ import com.google.ar.core.exceptions.UnavailableException
44
44
  import com.google.ar.sceneform.*
45
45
  import com.google.ar.sceneform.math.Vector3
46
46
  import com.google.ar.sceneform.math.Quaternion
47
+ import com.google.ar.sceneform.rendering.CameraStream
47
48
  import com.google.ar.sceneform.rendering.Color
48
49
  import com.google.ar.sceneform.rendering.Material
49
50
  import com.google.ar.sceneform.rendering.MaterialFactory
@@ -57,6 +58,7 @@ import com.gorisse.thomas.sceneform.light.LightEstimationConfig
57
58
  import java.io.ByteArrayOutputStream
58
59
  import java.io.File
59
60
  import java.io.FileOutputStream
61
+ import java.util.Collections
60
62
  import java.util.LinkedList
61
63
  import java.util.EnumSet
62
64
  import kotlin.math.acos
@@ -113,6 +115,7 @@ class ReplateCameraView @JvmOverloads constructor(
113
115
  // Stats
114
116
  var totalPhotosTaken = 0
115
117
  var photosFromDifferentAnglesTaken = 0
118
+ val capturedPhotoPaths: MutableList<String> = Collections.synchronizedList(mutableListOf())
116
119
 
117
120
  fun getCurrentInstance(): ReplateCameraView? = instance
118
121
  }
@@ -122,6 +125,7 @@ class ReplateCameraView @JvmOverloads constructor(
122
125
  private var anchorNode: AnchorNode? = null
123
126
  private var anchorContentNode: Node? = null
124
127
  private var isSessionPaused = true
128
+ @Volatile var captureActive = false
125
129
  private var isViewAttached = false
126
130
  private var sensorManager: android.hardware.SensorManager? = null
127
131
  private var gravitySensor: android.hardware.Sensor? = null
@@ -472,6 +476,7 @@ class ReplateCameraView @JvmOverloads constructor(
472
476
  // Ensure the debug overlay stays on top of the ArSceneView
473
477
  debugOverlayTextView?.bringToFront()
474
478
  sceneView._lightEstimationConfig = LightEstimationConfig.DISABLED
479
+ sceneView.cameraStream.depthOcclusionMode = CameraStream.DepthOcclusionMode.DEPTH_OCCLUSION_ENABLED
475
480
 
476
481
  // Initialize controllers only when scene view is ready.
477
482
  cameraController = ReplateCameraCaptureController(context, sceneView, this)
@@ -557,7 +562,10 @@ class ReplateCameraView @JvmOverloads constructor(
557
562
  private fun applySessionConfiguration(session: Session, existingConfig: Config? = null) {
558
563
  selectBestCameraConfig(session)
559
564
  val config = existingConfig ?: Config(session)
560
- config.focusMode = Config.FocusMode.AUTO
565
+ config.focusMode = Config.FocusMode.FIXED
566
+ if (session.isDepthModeSupported(Config.DepthMode.AUTOMATIC)) {
567
+ config.depthMode = Config.DepthMode.AUTOMATIC
568
+ }
561
569
  // After anchor placement disable plane finding so ARCore stops updating planes
562
570
  // (prevents world re-alignment from affecting the anchor). Light estimation stays
563
571
  // enabled so Sceneform has ambient light and materials render with correct colors.
@@ -601,7 +609,10 @@ class ReplateCameraView @JvmOverloads constructor(
601
609
  CameraConfig.TargetFps.TARGET_FPS_30,
602
610
  CameraConfig.TargetFps.TARGET_FPS_60
603
611
  )
604
- depthSensorUsage = EnumSet.of(CameraConfig.DepthSensorUsage.DO_NOT_USE)
612
+ depthSensorUsage = EnumSet.of(
613
+ CameraConfig.DepthSensorUsage.DO_NOT_USE,
614
+ CameraConfig.DepthSensorUsage.REQUIRE_AND_USE
615
+ )
605
616
  }
606
617
  val configs = session.getSupportedCameraConfigs(filter).ifEmpty {
607
618
  session.getSupportedCameraConfigs()
@@ -797,8 +808,9 @@ class ReplateCameraView @JvmOverloads constructor(
797
808
  }
798
809
  } else {
799
810
  focusNode?.isEnabled = false
800
- // Auto-capture: fire when the camera faces a new sphere angle
801
- cameraController?.triggerAutoCaptureIfNewAngle(frame)
811
+ if (captureActive) {
812
+ cameraController?.triggerAutoCaptureIfNewAngle(frame)
813
+ }
802
814
  }
803
815
 
804
816
  frameCounter++
@@ -1290,6 +1302,11 @@ class ReplateCameraView @JvmOverloads constructor(
1290
1302
  }
1291
1303
  }
1292
1304
 
1305
+ fun sendPhotoTakenEvent(totalAngles: Int) {
1306
+ logD("Sending JS event=onPhotoTaken totalAngles=$totalAngles")
1307
+ ReplateCameraController.consumePhotoTakenCallback()?.invoke(totalAngles)
1308
+ }
1309
+
1293
1310
  fun updateSpheres(deviceTargetInfo: DeviceTargetInfo, camera: com.google.ar.core.Camera, callback: (Boolean) -> Unit) {
1294
1311
  val angleDegrees = angleBetweenAnchorXAndCamera(getTransformRootNode() ?: return, camera.pose)
1295
1312
  val sphereIndex = (round(angleDegrees / 5.0f) % 72).toInt()
@@ -1548,7 +1565,8 @@ class ReplateCameraView @JvmOverloads constructor(
1548
1565
  unregisterSensorListener()
1549
1566
 
1550
1567
  isSessionPaused = true
1551
- logI("AR session paused")
1568
+ captureActive = false
1569
+ logI("AR session paused captureActive=false")
1552
1570
  } catch (e: Exception) {
1553
1571
  logE("Error pausing AR session", e)
1554
1572
  }
@@ -1575,6 +1593,7 @@ class ReplateCameraView @JvmOverloads constructor(
1575
1593
  }
1576
1594
  if (!isSessionPaused) {
1577
1595
  logD("resumeSession ignored: already resumed")
1596
+ capturedPhotoPaths.clear()
1578
1597
  return
1579
1598
  }
1580
1599
  logI("RESUME [start]")
@@ -1613,8 +1632,9 @@ class ReplateCameraView @JvmOverloads constructor(
1613
1632
  sceneView.scene.addOnUpdateListener(this)
1614
1633
 
1615
1634
  isSessionPaused = false
1635
+ captureActive = true
1616
1636
  expectingFirstFrame = true
1617
- logI("RESUME [success] isSessionPaused=false")
1637
+ logI("RESUME [success] isSessionPaused=false captureActive=true")
1618
1638
  } catch (e: CameraNotAvailableException) {
1619
1639
  // If the anchor is already placed, don't close the session — that would lose
1620
1640
  // all node positions. Just wait and retry; tracking will resume when the camera
@@ -1766,6 +1786,7 @@ class ReplateCameraView @JvmOverloads constructor(
1766
1786
  planeTrackingEnabled = true
1767
1787
  anchorDetachedForDrag = false
1768
1788
  anchorDragInProgress = false
1789
+ captureActive = false
1769
1790
  selectedCameraSessionHash = null
1770
1791
  gestureRoutingInstalled = false
1771
1792
 
@@ -1 +1 @@
1
- ������
1
+ ������Đ՚Ԕ��
@@ -1 +1 @@
1
- �C��C�
1
+ �C��C��T�Z�6�<
@@ -17,6 +17,7 @@ exports.registerCompletedLowerSpheresCallback = registerCompletedLowerSpheresCal
17
17
  exports.registerCompletedTutorialCallback = registerCompletedTutorialCallback;
18
18
  exports.registerCompletedUpperSpheresCallback = registerCompletedUpperSpheresCallback;
19
19
  exports.registerOpenedTutorialCallback = registerOpenedTutorialCallback;
20
+ exports.registerPhotoTakenCallback = registerPhotoTakenCallback;
20
21
  exports.registerTooCloseCallback = registerTooCloseCallback;
21
22
  exports.registerTooFarCallback = registerTooFarCallback;
22
23
  exports.reset = reset;
@@ -73,6 +74,9 @@ function registerTooCloseCallback(callback) {
73
74
  function registerBackInRangeCallback(callback) {
74
75
  ReplateCameraModule.registerBackInRangeCallback(callback);
75
76
  }
77
+ function registerPhotoTakenCallback(callback) {
78
+ ReplateCameraModule.registerPhotoTakenCallback(callback);
79
+ }
76
80
  function getMemoryUsage() {
77
81
  return ReplateCameraModule.getMemoryUsage();
78
82
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","ComponentName","ReplateCameraView","exports","UIManager","getViewManagerConfig","requireNativeComponent","Error","ReplateCameraModule","NativeModules","ReplateCameraController","Proxy","get","takePhoto","unlimited","getPhotosCount","getRemainingAnglesToScan","isScanComplete","registerCompletedTutorialCallback","callback","registerAnchorSetCallback","registerCompletedUpperSpheresCallback","registerCompletedLowerSpheresCallback","registerOpenedTutorialCallback","registerTooFarCallback","registerTooCloseCallback","registerBackInRangeCallback","getMemoryUsage","reset","pauseSession","resumeSession","stopSession","cancelUploadsForSender","sender","finalizeUpload","token","isGaussian","hasBackground"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","ComponentName","ReplateCameraView","exports","UIManager","getViewManagerConfig","requireNativeComponent","Error","ReplateCameraModule","NativeModules","ReplateCameraController","Proxy","get","takePhoto","unlimited","getPhotosCount","getRemainingAnglesToScan","isScanComplete","registerCompletedTutorialCallback","callback","registerAnchorSetCallback","registerCompletedUpperSpheresCallback","registerCompletedLowerSpheresCallback","registerOpenedTutorialCallback","registerTooFarCallback","registerTooCloseCallback","registerBackInRangeCallback","registerPhotoTakenCallback","getMemoryUsage","reset","pauseSession","resumeSession","stopSession","cancelUploadsForSender","sender","finalizeUpload","token","isGaussian","hasBackground"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -48,6 +48,9 @@ export function registerTooCloseCallback(callback) {
48
48
  export function registerBackInRangeCallback(callback) {
49
49
  ReplateCameraModule.registerBackInRangeCallback(callback);
50
50
  }
51
+ export function registerPhotoTakenCallback(callback) {
52
+ ReplateCameraModule.registerPhotoTakenCallback(callback);
53
+ }
51
54
  export function getMemoryUsage() {
52
55
  return ReplateCameraModule.getMemoryUsage();
53
56
  }
@@ -1 +1 @@
1
- {"version":3,"names":["requireNativeComponent","UIManager","Platform","NativeModules","LINKING_ERROR","select","ios","default","ComponentName","ReplateCameraView","getViewManagerConfig","Error","ReplateCameraModule","ReplateCameraController","Proxy","get","takePhoto","unlimited","getPhotosCount","getRemainingAnglesToScan","isScanComplete","registerCompletedTutorialCallback","callback","registerAnchorSetCallback","registerCompletedUpperSpheresCallback","registerCompletedLowerSpheresCallback","registerOpenedTutorialCallback","registerTooFarCallback","registerTooCloseCallback","registerBackInRangeCallback","getMemoryUsage","reset","pauseSession","resumeSession","stopSession","cancelUploadsForSender","sender","finalizeUpload","token","isGaussian","hasBackground"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["requireNativeComponent","UIManager","Platform","NativeModules","LINKING_ERROR","select","ios","default","ComponentName","ReplateCameraView","getViewManagerConfig","Error","ReplateCameraModule","ReplateCameraController","Proxy","get","takePhoto","unlimited","getPhotosCount","getRemainingAnglesToScan","isScanComplete","registerCompletedTutorialCallback","callback","registerAnchorSetCallback","registerCompletedUpperSpheresCallback","registerCompletedLowerSpheresCallback","registerOpenedTutorialCallback","registerTooFarCallback","registerTooCloseCallback","registerBackInRangeCallback","registerPhotoTakenCallback","getMemoryUsage","reset","pauseSession","resumeSession","stopSession","cancelUploadsForSender","sender","finalizeUpload","token","isGaussian","hasBackground"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replate-camera",
3
- "version": "0.18.1",
3
+ "version": "0.18.4",
4
4
  "description": "Camera component for Replate Manager",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/index.tsx CHANGED
@@ -86,6 +86,12 @@ export function registerBackInRangeCallback(callback: () => void) {
86
86
  ReplateCameraModule.registerBackInRangeCallback(callback);
87
87
  }
88
88
 
89
+ export function registerPhotoTakenCallback(
90
+ callback: (totalAngles: number) => void
91
+ ) {
92
+ ReplateCameraModule.registerPhotoTakenCallback(callback);
93
+ }
94
+
89
95
  export function getMemoryUsage(): Promise<{ memoryUsageMB: number }> {
90
96
  return ReplateCameraModule.getMemoryUsage();
91
97
  }