react-native-rectangle-doc-scanner 4.11.0 → 4.13.0

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.
@@ -595,12 +595,20 @@ class CameraController(
595
595
  val highResSizes = capped.filter { it.width * it.height >= minAcceptableArea }
596
596
  val pool = if (highResSizes.isNotEmpty()) highResSizes else capped
597
597
 
598
+ // Debug: log aspect ratio diff for each size
599
+ pool.forEach { size ->
600
+ val diff = aspectDiff(size)
601
+ Log.d(TAG, "[SIZE_SELECTION] ${size.width}x${size.height} aspect=${size.width.toDouble()/size.height} diff=$diff")
602
+ }
603
+
598
604
  val bestDiff = pool.minOf { aspectDiff(it) }
599
- // Allow slightly more tolerance for aspect ratio (0.15 instead of 0.05) to find better matches
600
- val close = pool.filter { aspectDiff(it) <= bestDiff + 0.15 }
605
+ // Use very tight tolerance (0.001) to get only the best aspect ratio matches
606
+ val close = pool.filter { aspectDiff(it) <= bestDiff + 0.001 }
601
607
 
602
- // Return the highest resolution among good aspect ratio matches
603
- return close.maxByOrNull { it.width * it.height } ?: pool.maxByOrNull { it.width * it.height }
608
+ // Among best aspect ratio matches, prefer higher resolution
609
+ val selected = close.maxByOrNull { it.width * it.height } ?: pool.maxByOrNull { it.width * it.height }
610
+ Log.d(TAG, "[SIZE_SELECTION] Best aspect diff: $bestDiff, candidates: ${close.size}, selected: ${selected?.width}x${selected?.height}")
611
+ return selected
604
612
  }
605
613
 
606
614
  val matching = capped.filter { aspectDiff(it) <= ANALYSIS_ASPECT_TOLERANCE }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-rectangle-doc-scanner",
3
- "version": "4.11.0",
3
+ "version": "4.13.0",
4
4
  "description": "Native-backed document scanner for React Native with customizable overlays.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",