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.
- package/android/app/build.gradle +1 -1
- package/android/app/src/main/java/com/replatecamera/ReplateCameraCaptureController.kt +7 -1
- package/android/app/src/main/java/com/replatecamera/ReplateCameraController.kt +25 -0
- package/android/app/src/main/java/com/replatecamera/ReplateCameraView.kt +27 -6
- package/android/lib/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/DeviceTargetInfo.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraCaptureController$processAndSaveImage$1.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraCaptureController$processTargetedDevice$1$1.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraCaptureController$triggerAutoCaptureIfNewAngle$1$1.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraCaptureController$triggerAutoCaptureIfNewAngle$1.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraCaptureController.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraController$Companion.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraController.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$Companion.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$GestureListener.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$ScaleListener.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$initializeSceneView$1$1.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$1.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$2$1.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$3.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$prebuildBaseMaterial$1.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$selectBestCameraConfig$$inlined$compareBy$1.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$selectBestCameraConfig$$inlined$thenBy$1.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView$updateSphereColor$4.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/ReplateCameraView.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_dir/debug/com/replatecamera/SafeCallbackHandler.class +0 -0
- package/android/lib/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +1 -1
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +1 -1
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.s +1 -1
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/lib/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/DeviceTargetInfo.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraCaptureController$processAndSaveImage$1.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraCaptureController$processTargetedDevice$1$1.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraCaptureController$triggerAutoCaptureIfNewAngle$1$1.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraCaptureController$triggerAutoCaptureIfNewAngle$1.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraCaptureController.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraController$Companion.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraController.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$Companion.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$GestureListener.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$ScaleListener.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$initializeSceneView$1$1.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$1.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$2$1.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$makeUnlitMaterial$3.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$prebuildBaseMaterial$1.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$selectBestCameraConfig$$inlined$compareBy$1.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$selectBestCameraConfig$$inlined$thenBy$1.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView$updateSphereColor$4.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView.class +0 -0
- package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/SafeCallbackHandler.class +0 -0
- package/lib/commonjs/index.js +4 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +6 -0
package/android/app/build.gradle
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
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.
|
|
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(
|
|
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
|
-
|
|
801
|
-
|
|
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
|
-
|
|
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
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab
CHANGED
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
������Đ՚Ԕ��
|
|
Binary file
|
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab
CHANGED
|
Binary file
|
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab
CHANGED
|
Binary file
|
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
19
|
|
2
2
|
0
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab
CHANGED
|
Binary file
|
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len
CHANGED
|
Binary file
|
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i
CHANGED
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len
CHANGED
|
Binary file
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
�C��C
|
|
1
|
+
�C��C��T�Z�6�<
|
package/android/lib/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraController.class
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/ReplateCameraView.class
CHANGED
|
Binary file
|
package/android/lib/build/tmp/kotlin-classes/debug/com/replatecamera/SafeCallbackHandler.class
CHANGED
|
Binary file
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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":"
|
|
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":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -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
|
}
|
package/lib/module/index.js.map
CHANGED
|
@@ -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":"AAAA,SACEA,sBAAsB,EACtBC,SAAS,EACTC,QAAQ,EAERC,aAAa,QACR,cAAc;AAErB,MAAMC,aAAa,GACjB,yEAAyE,GACzEF,QAAQ,CAACG,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAQjC,MAAMC,aAAa,GAAG,mBAAmB;AAEzC,OAAO,MAAMC,iBAAiB,GAC5BR,SAAS,CAACS,oBAAoB,CAACF,aAAa,CAAC,IAAI,IAAI,GACjDR,sBAAsB,CAAqBQ,aAAa,CAAC,GACzD,MAAM;EACJ,MAAM,IAAIG,KAAK,CAACP,aAAa,CAAC;AAChC,CAAC;AAEP,OAAO,MAAMQ,mBAAmB,GAAGT,aAAa,CAACU,uBAAuB,GACpEV,aAAa,CAACU,uBAAuB,GACrC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIJ,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,SAASY,SAASA,CAACC,SAAkB,EAAmB;EAC7D,OAAOL,mBAAmB,CAACI,SAAS,CAACC,SAAS,CAAC;AACjD;AAEA,OAAO,SAASC,cAAcA,CAAA,EAAoB;EAChD,OAAON,mBAAmB,CAACM,cAAc,CAAC,CAAC;AAC7C;AAEA,OAAO,SAASC,wBAAwBA,CAAA,EAAoB;EAC1D,OAAOP,mBAAmB,CAACO,wBAAwB,CAAC,CAAC;AACvD;AAEA,OAAO,SAASC,cAAcA,CAAA,EAAqB;EACjD,OAAOR,mBAAmB,CAACQ,cAAc,CAAC,CAAC;AAC7C;AAEA,OAAO,SAASC,iCAAiCA,CAACC,QAAoB,EAAE;EACtEV,mBAAmB,CAACS,iCAAiC,CAACC,QAAQ,CAAC;AACjE;AAEA,OAAO,SAASC,yBAAyBA,CAACD,QAAoB,EAAE;EAC9DV,mBAAmB,CAACW,yBAAyB,CAACD,QAAQ,CAAC;AACzD;AAEA,OAAO,SAASE,qCAAqCA,CAACF,QAAoB,EAAE;EAC1EV,mBAAmB,CAACY,qCAAqC,CAACF,QAAQ,CAAC;AACrE;AAEA,OAAO,SAASG,qCAAqCA,CAACH,QAAoB,EAAE;EAC1EV,mBAAmB,CAACa,qCAAqC,CAACH,QAAQ,CAAC;AACrE;AAEA,OAAO,SAASI,8BAA8BA,CAACJ,QAAoB,EAAE;EACnEV,mBAAmB,CAACc,8BAA8B,CAACJ,QAAQ,CAAC;AAC9D;AAEA,OAAO,SAASK,sBAAsBA,CAACL,QAAoB,EAAE;EAC3DV,mBAAmB,CAACe,sBAAsB,CAACL,QAAQ,CAAC;AACtD;AAEA,OAAO,SAASM,wBAAwBA,CAACN,QAAoB,EAAE;EAC7DV,mBAAmB,CAACgB,wBAAwB,CAACN,QAAQ,CAAC;AACxD;AAEA,OAAO,SAASO,2BAA2BA,CAACP,QAAoB,EAAE;EAChEV,mBAAmB,CAACiB,2BAA2B,CAACP,QAAQ,CAAC;AAC3D;AAEA,OAAO,SAASQ,cAAcA,CAAA,EAAuC;EACnE,
|
|
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
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
|
}
|