react-native-ai-debugger 2.4.0 → 2.5.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.
- package/build/__tests__/helpers/fake-cdp-server.d.ts +0 -12
- package/build/__tests__/helpers/fake-cdp-server.d.ts.map +1 -1
- package/build/__tests__/helpers/fake-cdp-server.js +0 -22
- package/build/__tests__/helpers/fake-cdp-server.js.map +1 -1
- package/build/__tests__/helpers/tap-test-helpers.d.ts +0 -23
- package/build/__tests__/helpers/tap-test-helpers.d.ts.map +1 -1
- package/build/__tests__/helpers/tap-test-helpers.js +2 -29
- package/build/__tests__/helpers/tap-test-helpers.js.map +1 -1
- package/build/__tests__/integration/auto-reconnect.test.js +4 -14
- package/build/__tests__/integration/auto-reconnect.test.js.map +1 -1
- package/build/__tests__/integration/connection-health.test.js +1 -10
- package/build/__tests__/integration/connection-health.test.js.map +1 -1
- package/build/__tests__/integration/execute-in-app.test.js +1 -11
- package/build/__tests__/integration/execute-in-app.test.js.map +1 -1
- package/build/__tests__/integration/native-logs.test.js +0 -5
- package/build/__tests__/integration/native-logs.test.js.map +1 -1
- package/build/__tests__/integration/per-call-timeout.test.js +1 -5
- package/build/__tests__/integration/per-call-timeout.test.js.map +1 -1
- package/build/__tests__/integration/socket-close-midflight.test.js +2 -12
- package/build/__tests__/integration/socket-close-midflight.test.js.map +1 -1
- package/build/__tests__/integration/stale-target-probe.test.js +2 -17
- package/build/__tests__/integration/stale-target-probe.test.js.map +1 -1
- package/build/__tests__/integration/tap-strategies.test.js +2 -36
- package/build/__tests__/integration/tap-strategies.test.js.map +1 -1
- package/build/__tests__/integration/text-input.test.js +0 -39
- package/build/__tests__/integration/text-input.test.js.map +1 -1
- package/build/__tests__/integration/tools.test.js +1 -7
- package/build/__tests__/integration/tools.test.js.map +1 -1
- package/build/__tests__/setup.js +0 -2
- package/build/__tests__/setup.js.map +1 -1
- package/build/__tests__/unit/androidEmulatorAvds.test.js +0 -10
- package/build/__tests__/unit/androidEmulatorAvds.test.js.map +1 -1
- package/build/__tests__/unit/appContext.test.js +0 -2
- package/build/__tests__/unit/appContext.test.js.map +1 -1
- package/build/__tests__/unit/appRequest.test.js +0 -3
- package/build/__tests__/unit/appRequest.test.js.map +1 -1
- package/build/__tests__/unit/buildToken.test.js +0 -6
- package/build/__tests__/unit/buildToken.test.js.map +1 -1
- package/build/__tests__/unit/burst.test.js +0 -1
- package/build/__tests__/unit/burst.test.js.map +1 -1
- package/build/__tests__/unit/clearLogsNative.test.js +0 -8
- package/build/__tests__/unit/clearLogsNative.test.js.map +1 -1
- package/build/__tests__/unit/componentFormatNaming.test.js +0 -13
- package/build/__tests__/unit/componentFormatNaming.test.js.map +1 -1
- package/build/__tests__/unit/componentSource.test.js +0 -4
- package/build/__tests__/unit/componentSource.test.js.map +1 -1
- package/build/__tests__/unit/componentSourceResolve.test.js +0 -1
- package/build/__tests__/unit/componentSourceResolve.test.js.map +1 -1
- package/build/__tests__/unit/contextWiring.test.js +0 -3
- package/build/__tests__/unit/contextWiring.test.js.map +1 -1
- package/build/__tests__/unit/coordinateMiss.test.js +0 -16
- package/build/__tests__/unit/coordinateMiss.test.js.map +1 -1
- package/build/__tests__/unit/deviceDiscovery.test.js +0 -4
- package/build/__tests__/unit/deviceDiscovery.test.js.map +1 -1
- package/build/__tests__/unit/deviceResolution.test.js +0 -2
- package/build/__tests__/unit/deviceResolution.test.js.map +1 -1
- package/build/__tests__/unit/deviceResolver.test.js +0 -1
- package/build/__tests__/unit/deviceResolver.test.js.map +1 -1
- package/build/__tests__/unit/deviceResolverStaleRetry.test.js +0 -8
- package/build/__tests__/unit/deviceResolverStaleRetry.test.js.map +1 -1
- package/build/__tests__/unit/epochRender.test.js +0 -3
- package/build/__tests__/unit/epochRender.test.js.map +1 -1
- package/build/__tests__/unit/errorCategorization.test.js +0 -18
- package/build/__tests__/unit/errorCategorization.test.js.map +1 -1
- package/build/__tests__/unit/exec.test.js +0 -1
- package/build/__tests__/unit/exec.test.js.map +1 -1
- package/build/__tests__/unit/executor.test.js +0 -15
- package/build/__tests__/unit/executor.test.js.map +1 -1
- package/build/__tests__/unit/findElementTreeReuse.test.js +0 -12
- package/build/__tests__/unit/findElementTreeReuse.test.js.map +1 -1
- package/build/__tests__/unit/fingerprint.test.js +0 -4
- package/build/__tests__/unit/fingerprint.test.js.map +1 -1
- package/build/__tests__/unit/focusedInputTools.test.js +0 -4
- package/build/__tests__/unit/focusedInputTools.test.js.map +1 -1
- package/build/__tests__/unit/getLogsEmptyContract.test.js +0 -30
- package/build/__tests__/unit/getLogsEmptyContract.test.js.map +1 -1
- package/build/__tests__/unit/getLogsNativeSource.test.js +0 -22
- package/build/__tests__/unit/getLogsNativeSource.test.js.map +1 -1
- package/build/__tests__/unit/graphqlOperation.test.d.ts +2 -0
- package/build/__tests__/unit/graphqlOperation.test.d.ts.map +1 -0
- package/build/__tests__/unit/graphqlOperation.test.js +107 -0
- package/build/__tests__/unit/graphqlOperation.test.js.map +1 -0
- package/build/__tests__/unit/inputTarget.test.js +0 -16
- package/build/__tests__/unit/inputTarget.test.js.map +1 -1
- package/build/__tests__/unit/inputTextTool.test.js +0 -3
- package/build/__tests__/unit/inputTextTool.test.js.map +1 -1
- package/build/__tests__/unit/jsLogEvents.test.js +0 -3
- package/build/__tests__/unit/jsLogEvents.test.js.map +1 -1
- package/build/__tests__/unit/keyboardMetrics.test.js +0 -2
- package/build/__tests__/unit/keyboardMetrics.test.js.map +1 -1
- package/build/__tests__/unit/keyboardRaise.test.js +0 -2
- package/build/__tests__/unit/keyboardRaise.test.js.map +1 -1
- package/build/__tests__/unit/licenseGrace.test.js +1 -4
- package/build/__tests__/unit/licenseGrace.test.js.map +1 -1
- package/build/__tests__/unit/logEventFormat.test.js +0 -27
- package/build/__tests__/unit/logEventFormat.test.js.map +1 -1
- package/build/__tests__/unit/logEvents.test.js +1 -5
- package/build/__tests__/unit/logEvents.test.js.map +1 -1
- package/build/__tests__/unit/logGrouping.test.js +0 -2
- package/build/__tests__/unit/logGrouping.test.js.map +1 -1
- package/build/__tests__/unit/logOwnership.test.js +0 -11
- package/build/__tests__/unit/logOwnership.test.js.map +1 -1
- package/build/__tests__/unit/logRelevance.test.js +0 -6
- package/build/__tests__/unit/logRelevance.test.js.map +1 -1
- package/build/__tests__/unit/logSourceAndroid.test.js +0 -4
- package/build/__tests__/unit/logSourceAndroid.test.js.map +1 -1
- package/build/__tests__/unit/logSourceIos.test.js +0 -5
- package/build/__tests__/unit/logSourceIos.test.js.map +1 -1
- package/build/__tests__/unit/logs.test.js +0 -1
- package/build/__tests__/unit/logs.test.js.map +1 -1
- package/build/__tests__/unit/measureComponentTools.test.js +0 -1
- package/build/__tests__/unit/measureComponentTools.test.js.map +1 -1
- package/build/__tests__/unit/metro.test.js +0 -2
- package/build/__tests__/unit/metro.test.js.map +1 -1
- package/build/__tests__/unit/nativeInputValue.test.js +0 -4
- package/build/__tests__/unit/nativeInputValue.test.js.map +1 -1
- package/build/__tests__/unit/nativeLogs.test.js +1 -23
- package/build/__tests__/unit/nativeLogs.test.js.map +1 -1
- package/build/__tests__/unit/navigateVerify.test.js +0 -6
- package/build/__tests__/unit/navigateVerify.test.js.map +1 -1
- package/build/__tests__/unit/navigation.test.js +0 -5
- package/build/__tests__/unit/navigation.test.js.map +1 -1
- package/build/__tests__/unit/networkInterceptor.test.js +0 -2
- package/build/__tests__/unit/networkInterceptor.test.js.map +1 -1
- package/build/__tests__/unit/overlayGuard.test.js +0 -17
- package/build/__tests__/unit/overlayGuard.test.js.map +1 -1
- package/build/__tests__/unit/pendingExecutions.test.js +0 -6
- package/build/__tests__/unit/pendingExecutions.test.js.map +1 -1
- package/build/__tests__/unit/probe.test.js +0 -1
- package/build/__tests__/unit/probe.test.js.map +1 -1
- package/build/__tests__/unit/projectMemory.test.js +6 -7
- package/build/__tests__/unit/projectMemory.test.js.map +1 -1
- package/build/__tests__/unit/projectStore.test.js +2 -2
- package/build/__tests__/unit/projectStore.test.js.map +1 -1
- package/build/__tests__/unit/reloadAppAutoConnect.test.js +0 -9
- package/build/__tests__/unit/reloadAppAutoConnect.test.js.map +1 -1
- package/build/__tests__/unit/rnGlobalsBootstrap.test.js +3 -3
- package/build/__tests__/unit/rnGlobalsBootstrap.test.js.map +1 -1
- package/build/__tests__/unit/routeHistory.test.d.ts +2 -0
- package/build/__tests__/unit/routeHistory.test.d.ts.map +1 -0
- package/build/__tests__/unit/routeHistory.test.js +136 -0
- package/build/__tests__/unit/routeHistory.test.js.map +1 -0
- package/build/__tests__/unit/screenSpace.test.js +0 -16
- package/build/__tests__/unit/screenSpace.test.js.map +1 -1
- package/build/__tests__/unit/screenState.test.js +3 -6
- package/build/__tests__/unit/screenState.test.js.map +1 -1
- package/build/__tests__/unit/screenStateInputValue.test.js +0 -7
- package/build/__tests__/unit/screenStateInputValue.test.js.map +1 -1
- package/build/__tests__/unit/screenStateKeyboard.test.js +0 -1
- package/build/__tests__/unit/screenStateKeyboard.test.js.map +1 -1
- package/build/__tests__/unit/screenshot-diff.test.js +0 -6
- package/build/__tests__/unit/screenshot-diff.test.js.map +1 -1
- package/build/__tests__/unit/sdkMirrorPoller.test.js +0 -8
- package/build/__tests__/unit/sdkMirrorPoller.test.js.map +1 -1
- package/build/__tests__/unit/settleAndDiff.test.js +0 -11
- package/build/__tests__/unit/settleAndDiff.test.js.map +1 -1
- package/build/__tests__/unit/signedVerdict.test.js +0 -5
- package/build/__tests__/unit/signedVerdict.test.js.map +1 -1
- package/build/__tests__/unit/swipeDirection.test.js +6 -9
- package/build/__tests__/unit/swipeDirection.test.js.map +1 -1
- package/build/__tests__/unit/symbolicate.test.js +0 -1
- package/build/__tests__/unit/symbolicate.test.js.map +1 -1
- package/build/__tests__/unit/tap.test.js +0 -38
- package/build/__tests__/unit/tap.test.js.map +1 -1
- package/build/__tests__/unit/textEntry.test.js +0 -27
- package/build/__tests__/unit/textEntry.test.js.map +1 -1
- package/build/__tests__/unit/toolDescriptions.test.js +0 -40
- package/build/__tests__/unit/toolDescriptions.test.js.map +1 -1
- package/build/__tests__/unit/toolsJson.test.js +0 -10
- package/build/__tests__/unit/toolsJson.test.js.map +1 -1
- package/build/__tests__/unit/transportClassify.test.js +0 -20
- package/build/__tests__/unit/transportClassify.test.js.map +1 -1
- package/build/__tests__/unit/truncate.test.js +0 -5
- package/build/__tests__/unit/truncate.test.js.map +1 -1
- package/build/__tests__/unit/usageCache.test.js +0 -3
- package/build/__tests__/unit/usageCache.test.js.map +1 -1
- package/build/__tests__/unit/usageGate.test.js +1 -1
- package/build/__tests__/unit/usageGate.test.js.map +1 -1
- package/build/__tests__/unit/visibility.test.js +0 -8
- package/build/__tests__/unit/visibility.test.js.map +1 -1
- package/build/__tests__/unit/waitForMeasurements.test.js +2 -7
- package/build/__tests__/unit/waitForMeasurements.test.js.map +1 -1
- package/build/bin.js +0 -18
- package/build/bin.js.map +1 -1
- package/build/core/android.d.ts +0 -120
- package/build/core/android.d.ts.map +1 -1
- package/build/core/android.js +4 -259
- package/build/core/android.js.map +1 -1
- package/build/core/appContext.d.ts +0 -50
- package/build/core/appContext.d.ts.map +1 -1
- package/build/core/appContext.js +0 -50
- package/build/core/appContext.js.map +1 -1
- package/build/core/appDetection.d.ts +0 -16
- package/build/core/appDetection.d.ts.map +1 -1
- package/build/core/appDetection.js +0 -36
- package/build/core/appDetection.js.map +1 -1
- package/build/core/appRequest.d.ts +0 -12
- package/build/core/appRequest.d.ts.map +1 -1
- package/build/core/appRequest.js +0 -15
- package/build/core/appRequest.js.map +1 -1
- package/build/core/bufferConfig.d.ts +0 -2
- package/build/core/bufferConfig.d.ts.map +1 -1
- package/build/core/bufferConfig.js +0 -2
- package/build/core/bufferConfig.js.map +1 -1
- package/build/core/bundle.js +0 -40
- package/build/core/bundle.js.map +1 -1
- package/build/core/componentSearch.d.ts +0 -19
- package/build/core/componentSearch.d.ts.map +1 -1
- package/build/core/componentSearch.js +1 -22
- package/build/core/componentSearch.js.map +1 -1
- package/build/core/componentSource.d.ts +0 -21
- package/build/core/componentSource.d.ts.map +1 -1
- package/build/core/componentSource.js +0 -27
- package/build/core/componentSource.js.map +1 -1
- package/build/core/componentTree.js +0 -12
- package/build/core/componentTree.js.map +1 -1
- package/build/core/config.d.ts +0 -8
- package/build/core/config.d.ts.map +1 -1
- package/build/core/config.js +0 -10
- package/build/core/config.js.map +1 -1
- package/build/core/connection.d.ts +0 -76
- package/build/core/connection.d.ts.map +1 -1
- package/build/core/connection.js +15 -340
- package/build/core/connection.js.map +1 -1
- package/build/core/connectionState.d.ts +0 -78
- package/build/core/connectionState.d.ts.map +1 -1
- package/build/core/connectionState.js +4 -92
- package/build/core/connectionState.js.map +1 -1
- package/build/core/debugGlobals.js +0 -68
- package/build/core/debugGlobals.js.map +1 -1
- package/build/core/deviceDiscovery.d.ts +0 -5
- package/build/core/deviceDiscovery.d.ts.map +1 -1
- package/build/core/deviceDiscovery.js +0 -12
- package/build/core/deviceDiscovery.js.map +1 -1
- package/build/core/deviceResolver.d.ts +0 -10
- package/build/core/deviceResolver.d.ts.map +1 -1
- package/build/core/deviceResolver.js +0 -54
- package/build/core/deviceResolver.js.map +1 -1
- package/build/core/epochRender.d.ts +0 -12
- package/build/core/epochRender.d.ts.map +1 -1
- package/build/core/epochRender.js +0 -12
- package/build/core/epochRender.js.map +1 -1
- package/build/core/errorScreenParser.d.ts +0 -21
- package/build/core/errorScreenParser.d.ts.map +1 -1
- package/build/core/errorScreenParser.js +0 -50
- package/build/core/errorScreenParser.js.map +1 -1
- package/build/core/errors.d.ts +0 -15
- package/build/core/errors.d.ts.map +1 -1
- package/build/core/errors.js +0 -15
- package/build/core/errors.js.map +1 -1
- package/build/core/escapeNonAscii.d.ts +0 -9
- package/build/core/escapeNonAscii.d.ts.map +1 -1
- package/build/core/escapeNonAscii.js +1 -43
- package/build/core/escapeNonAscii.js.map +1 -1
- package/build/core/exec.d.ts +0 -12
- package/build/core/exec.d.ts.map +1 -1
- package/build/core/exec.js +2 -14
- package/build/core/exec.js.map +1 -1
- package/build/core/executor.js +0 -3
- package/build/core/executor.js.map +1 -1
- package/build/core/fastRefreshRecorder.js +0 -4
- package/build/core/fastRefreshRecorder.js.map +1 -1
- package/build/core/fastRefreshTools.js +0 -3
- package/build/core/fastRefreshTools.js.map +1 -1
- package/build/core/feedback.js +0 -4
- package/build/core/feedback.js.map +1 -1
- package/build/core/graphqlOperation.d.ts +13 -0
- package/build/core/graphqlOperation.d.ts.map +1 -0
- package/build/core/graphqlOperation.js +80 -0
- package/build/core/graphqlOperation.js.map +1 -0
- package/build/core/guides.d.ts +0 -10
- package/build/core/guides.d.ts.map +1 -1
- package/build/core/guides.js +0 -10
- package/build/core/guides.js.map +1 -1
- package/build/core/iconSemantics.d.ts +0 -15
- package/build/core/iconSemantics.d.ts.map +1 -1
- package/build/core/iconSemantics.js +0 -31
- package/build/core/iconSemantics.js.map +1 -1
- package/build/core/index.js +4 -47
- package/build/core/index.js.map +1 -1
- package/build/core/injected/visibility.d.ts +0 -30
- package/build/core/injected/visibility.d.ts.map +1 -1
- package/build/core/injected/visibility.js +0 -33
- package/build/core/injected/visibility.js.map +1 -1
- package/build/core/injectedFilters.d.ts +0 -28
- package/build/core/injectedFilters.d.ts.map +1 -1
- package/build/core/injectedFilters.js +0 -28
- package/build/core/injectedFilters.js.map +1 -1
- package/build/core/inputTarget.d.ts +1 -34
- package/build/core/inputTarget.d.ts.map +1 -1
- package/build/core/inputTarget.js +0 -26
- package/build/core/inputTarget.js.map +1 -1
- package/build/core/inputTargetTools.d.ts +0 -7
- package/build/core/inputTargetTools.d.ts.map +1 -1
- package/build/core/inputTargetTools.js +0 -7
- package/build/core/inputTargetTools.js.map +1 -1
- package/build/core/inspector.d.ts +0 -33
- package/build/core/inspector.d.ts.map +1 -1
- package/build/core/inspector.js +0 -36
- package/build/core/inspector.js.map +1 -1
- package/build/core/ios.d.ts +0 -127
- package/build/core/ios.d.ts.map +1 -1
- package/build/core/ios.js +2 -313
- package/build/core/ios.js.map +1 -1
- package/build/core/jsExecute.d.ts +0 -100
- package/build/core/jsExecute.d.ts.map +1 -1
- package/build/core/jsExecute.js +0 -261
- package/build/core/jsExecute.js.map +1 -1
- package/build/core/jsLogEvents.d.ts +0 -8
- package/build/core/jsLogEvents.d.ts.map +1 -1
- package/build/core/jsLogEvents.js +0 -8
- package/build/core/jsLogEvents.js.map +1 -1
- package/build/core/keyboardMetrics.js +0 -8
- package/build/core/keyboardMetrics.js.map +1 -1
- package/build/core/keyboardRaise.d.ts +0 -8
- package/build/core/keyboardRaise.d.ts.map +1 -1
- package/build/core/keyboardRaise.js +0 -23
- package/build/core/keyboardRaise.js.map +1 -1
- package/build/core/license.d.ts +0 -4
- package/build/core/license.d.ts.map +1 -1
- package/build/core/license.js +2 -55
- package/build/core/license.js.map +1 -1
- package/build/core/logDiagnosis.d.ts +0 -34
- package/build/core/logDiagnosis.d.ts.map +1 -1
- package/build/core/logDiagnosis.js +0 -15
- package/build/core/logDiagnosis.js.map +1 -1
- package/build/core/logEventFormat.d.ts +0 -1
- package/build/core/logEventFormat.d.ts.map +1 -1
- package/build/core/logEventFormat.js +0 -30
- package/build/core/logEventFormat.js.map +1 -1
- package/build/core/logEvents.d.ts +0 -54
- package/build/core/logEvents.d.ts.map +1 -1
- package/build/core/logEvents.js +0 -37
- package/build/core/logEvents.js.map +1 -1
- package/build/core/logGrouping.d.ts +0 -9
- package/build/core/logGrouping.d.ts.map +1 -1
- package/build/core/logGrouping.js +0 -17
- package/build/core/logGrouping.js.map +1 -1
- package/build/core/logOwnership.d.ts +0 -17
- package/build/core/logOwnership.d.ts.map +1 -1
- package/build/core/logOwnership.js +0 -34
- package/build/core/logOwnership.js.map +1 -1
- package/build/core/logRelevance.d.ts +0 -8
- package/build/core/logRelevance.d.ts.map +1 -1
- package/build/core/logRelevance.js +0 -15
- package/build/core/logRelevance.js.map +1 -1
- package/build/core/logSourceAndroid.d.ts +0 -8
- package/build/core/logSourceAndroid.d.ts.map +1 -1
- package/build/core/logSourceAndroid.js +0 -11
- package/build/core/logSourceAndroid.js.map +1 -1
- package/build/core/logSourceIos.d.ts +0 -8
- package/build/core/logSourceIos.d.ts.map +1 -1
- package/build/core/logSourceIos.js +1 -24
- package/build/core/logSourceIos.js.map +1 -1
- package/build/core/logbox.d.ts +0 -30
- package/build/core/logbox.d.ts.map +1 -1
- package/build/core/logbox.js +0 -43
- package/build/core/logbox.js.map +1 -1
- package/build/core/logs.d.ts +0 -6
- package/build/core/logs.d.ts.map +1 -1
- package/build/core/logs.js +0 -19
- package/build/core/logs.js.map +1 -1
- package/build/core/metro.d.ts +0 -14
- package/build/core/metro.d.ts.map +1 -1
- package/build/core/metro.js +1 -32
- package/build/core/metro.js.map +1 -1
- package/build/core/moduleRegistry.d.ts +0 -17
- package/build/core/moduleRegistry.d.ts.map +1 -1
- package/build/core/moduleRegistry.js +0 -17
- package/build/core/moduleRegistry.js.map +1 -1
- package/build/core/nativeInputValue.d.ts +0 -29
- package/build/core/nativeInputValue.d.ts.map +1 -1
- package/build/core/nativeInputValue.js +0 -18
- package/build/core/nativeInputValue.js.map +1 -1
- package/build/core/nativeLogs.d.ts +0 -47
- package/build/core/nativeLogs.d.ts.map +1 -1
- package/build/core/nativeLogs.js +0 -82
- package/build/core/nativeLogs.js.map +1 -1
- package/build/core/nativeOnlyHints.js +0 -4
- package/build/core/nativeOnlyHints.js.map +1 -1
- package/build/core/navigate.d.ts +0 -15
- package/build/core/navigate.d.ts.map +1 -1
- package/build/core/navigate.js +0 -22
- package/build/core/navigate.js.map +1 -1
- package/build/core/navigation.d.ts +0 -60
- package/build/core/navigation.d.ts.map +1 -1
- package/build/core/navigation.js +0 -60
- package/build/core/navigation.js.map +1 -1
- package/build/core/network.d.ts +0 -5
- package/build/core/network.d.ts.map +1 -1
- package/build/core/network.js +10 -31
- package/build/core/network.js.map +1 -1
- package/build/core/networkInterceptor.d.ts +0 -19
- package/build/core/networkInterceptor.d.ts.map +1 -1
- package/build/core/networkInterceptor.js +3 -27
- package/build/core/networkInterceptor.js.map +1 -1
- package/build/core/ocr.d.ts +0 -31
- package/build/core/ocr.d.ts.map +1 -1
- package/build/core/ocr.js +1 -71
- package/build/core/ocr.js.map +1 -1
- package/build/core/paths.js +0 -1
- package/build/core/paths.js.map +1 -1
- package/build/core/posthog.js +0 -7
- package/build/core/posthog.js.map +1 -1
- package/build/core/pressables.d.ts +0 -25
- package/build/core/pressables.d.ts.map +1 -1
- package/build/core/pressables.js +0 -37
- package/build/core/pressables.js.map +1 -1
- package/build/core/probe.d.ts +0 -9
- package/build/core/probe.d.ts.map +1 -1
- package/build/core/probe.js +0 -9
- package/build/core/probe.js.map +1 -1
- package/build/core/projectMemory.d.ts +0 -2
- package/build/core/projectMemory.d.ts.map +1 -1
- package/build/core/projectMemory.js +2 -7
- package/build/core/projectMemory.js.map +1 -1
- package/build/core/projectStore.d.ts +0 -18
- package/build/core/projectStore.d.ts.map +1 -1
- package/build/core/projectStore.js +0 -19
- package/build/core/projectStore.js.map +1 -1
- package/build/core/promiseHandles.d.ts +0 -13
- package/build/core/promiseHandles.d.ts.map +1 -1
- package/build/core/promiseHandles.js +0 -25
- package/build/core/promiseHandles.js.map +1 -1
- package/build/core/register.js +0 -44
- package/build/core/register.js.map +1 -1
- package/build/core/rnGlobalsBootstrap.d.ts +0 -13
- package/build/core/rnGlobalsBootstrap.d.ts.map +1 -1
- package/build/core/rnGlobalsBootstrap.js +0 -22
- package/build/core/rnGlobalsBootstrap.js.map +1 -1
- package/build/core/routeHistory.d.ts +24 -0
- package/build/core/routeHistory.d.ts.map +1 -0
- package/build/core/routeHistory.js +186 -0
- package/build/core/routeHistory.js.map +1 -0
- package/build/core/screenLayout.d.ts +0 -11
- package/build/core/screenLayout.d.ts.map +1 -1
- package/build/core/screenLayout.js +1 -60
- package/build/core/screenLayout.js.map +1 -1
- package/build/core/screenSpace.d.ts +0 -107
- package/build/core/screenSpace.d.ts.map +1 -1
- package/build/core/screenSpace.js +0 -103
- package/build/core/screenSpace.js.map +1 -1
- package/build/core/screenSpaceDevice.d.ts +0 -8
- package/build/core/screenSpaceDevice.d.ts.map +1 -1
- package/build/core/screenSpaceDevice.js +0 -23
- package/build/core/screenSpaceDevice.js.map +1 -1
- package/build/core/screenState.d.ts +0 -73
- package/build/core/screenState.d.ts.map +1 -1
- package/build/core/screenState.js +6 -115
- package/build/core/screenState.js.map +1 -1
- package/build/core/sdkBridge.js +0 -8
- package/build/core/sdkBridge.js.map +1 -1
- package/build/core/sdkMirrorPoller.d.ts +0 -18
- package/build/core/sdkMirrorPoller.d.ts.map +1 -1
- package/build/core/sdkMirrorPoller.js +0 -47
- package/build/core/sdkMirrorPoller.js.map +1 -1
- package/build/core/selectionBuffer.d.ts +0 -6
- package/build/core/selectionBuffer.d.ts.map +1 -1
- package/build/core/selectionBuffer.js +0 -5
- package/build/core/selectionBuffer.js.map +1 -1
- package/build/core/signedVerdict.js +0 -6
- package/build/core/signedVerdict.js.map +1 -1
- package/build/core/state.d.ts +0 -31
- package/build/core/state.d.ts.map +1 -1
- package/build/core/state.js +0 -57
- package/build/core/state.js.map +1 -1
- package/build/core/symbolicate.js +0 -11
- package/build/core/symbolicate.js.map +1 -1
- package/build/core/telemetry.d.ts +0 -47
- package/build/core/telemetry.d.ts.map +1 -1
- package/build/core/telemetry.js +1 -173
- package/build/core/telemetry.js.map +1 -1
- package/build/core/textEntry.d.ts +0 -34
- package/build/core/textEntry.d.ts.map +1 -1
- package/build/core/textEntry.js +0 -73
- package/build/core/textEntry.js.map +1 -1
- package/build/core/toolHelpers.d.ts +0 -12
- package/build/core/toolHelpers.d.ts.map +1 -1
- package/build/core/toolHelpers.js +2 -47
- package/build/core/toolHelpers.js.map +1 -1
- package/build/core/truncate.d.ts +0 -17
- package/build/core/truncate.d.ts.map +1 -1
- package/build/core/truncate.js +0 -32
- package/build/core/truncate.js.map +1 -1
- package/build/core/types.d.ts +0 -6
- package/build/core/types.d.ts.map +1 -1
- package/build/core/usageCache.js +0 -12
- package/build/core/usageCache.js.map +1 -1
- package/build/index.js +0 -18
- package/build/index.js.map +1 -1
- package/build/pro/coordinateMiss.d.ts +0 -30
- package/build/pro/coordinateMiss.d.ts.map +1 -1
- package/build/pro/coordinateMiss.js +0 -17
- package/build/pro/coordinateMiss.js.map +1 -1
- package/build/pro/overlayGuard.d.ts +2 -40
- package/build/pro/overlayGuard.d.ts.map +1 -1
- package/build/pro/overlayGuard.js +0 -63
- package/build/pro/overlayGuard.js.map +1 -1
- package/build/pro/screenshot-diff.js +4 -6
- package/build/pro/screenshot-diff.js.map +1 -1
- package/build/pro/tap.d.ts +0 -55
- package/build/pro/tap.d.ts.map +1 -1
- package/build/pro/tap.js +7 -330
- package/build/pro/tap.js.map +1 -1
- package/build/pro/usageGate.js +0 -9
- package/build/pro/usageGate.js.map +1 -1
- package/build/pro/usageNotifications.js +1 -13
- package/build/pro/usageNotifications.js.map +1 -1
- package/build/pro/verifyAction.d.ts +0 -13
- package/build/pro/verifyAction.d.ts.map +1 -1
- package/build/pro/verifyAction.js +0 -45
- package/build/pro/verifyAction.js.map +1 -1
- package/build/tools/_deviceArg.d.ts +0 -35
- package/build/tools/_deviceArg.d.ts.map +1 -1
- package/build/tools/_deviceArg.js +0 -35
- package/build/tools/_deviceArg.js.map +1 -1
- package/build/tools/accountTools.js +2 -2
- package/build/tools/accountTools.js.map +1 -1
- package/build/tools/bundleTools.js +0 -16
- package/build/tools/bundleTools.js.map +1 -1
- package/build/tools/componentTools.d.ts.map +1 -1
- package/build/tools/componentTools.js +17 -45
- package/build/tools/componentTools.js.map +1 -1
- package/build/tools/connectionTools.js +1 -59
- package/build/tools/connectionTools.js.map +1 -1
- package/build/tools/deviceTools.js +0 -11
- package/build/tools/deviceTools.js.map +1 -1
- package/build/tools/executionTools.js +1 -18
- package/build/tools/executionTools.js.map +1 -1
- package/build/tools/interactionTools.d.ts +0 -10
- package/build/tools/interactionTools.d.ts.map +1 -1
- package/build/tools/interactionTools.js +0 -57
- package/build/tools/interactionTools.js.map +1 -1
- package/build/tools/logTools.d.ts +0 -13
- package/build/tools/logTools.d.ts.map +1 -1
- package/build/tools/logTools.js +2 -126
- package/build/tools/logTools.js.map +1 -1
- package/build/tools/metaTools.js +0 -10
- package/build/tools/metaTools.js.map +1 -1
- package/build/tools/networkTools.js +4 -43
- package/build/tools/networkTools.js.map +1 -1
- package/build/tools/requestTools.js +0 -5
- package/build/tools/requestTools.js.map +1 -1
- package/build/tools/screenshotTools.js +5 -111
- package/build/tools/screenshotTools.js.map +1 -1
- package/package.json +2 -2
- package/tools.json +1 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { executeInApp } from "./jsExecute.js";
|
|
2
|
+
import { buildNavHandlesSource } from "./navigation.js";
|
|
3
|
+
import { getEpoch } from "./state.js";
|
|
4
|
+
const DEFAULT_ROUTE_HISTORY_SIZE = 50;
|
|
5
|
+
export function routeHistorySize() {
|
|
6
|
+
const raw = process.env.EXECBRO_ROUTE_HISTORY_SIZE;
|
|
7
|
+
if (!raw)
|
|
8
|
+
return DEFAULT_ROUTE_HISTORY_SIZE;
|
|
9
|
+
const parsed = Number.parseInt(raw, 10);
|
|
10
|
+
if (!Number.isFinite(parsed) || parsed <= 0)
|
|
11
|
+
return DEFAULT_ROUTE_HISTORY_SIZE;
|
|
12
|
+
return parsed;
|
|
13
|
+
}
|
|
14
|
+
export function formatDwell(ms) {
|
|
15
|
+
const total = Math.max(0, Math.floor(ms / 1000));
|
|
16
|
+
if (total < 60)
|
|
17
|
+
return `${total}s`;
|
|
18
|
+
const minutes = Math.floor(total / 60);
|
|
19
|
+
if (minutes < 60)
|
|
20
|
+
return `${minutes}m${String(total % 60).padStart(2, "0")}s`;
|
|
21
|
+
return `${Math.floor(minutes / 60)}h${String(minutes % 60).padStart(2, "0")}m`;
|
|
22
|
+
}
|
|
23
|
+
function dwellOf(v, now) {
|
|
24
|
+
return (v.leftAt ?? now) - v.enteredAt;
|
|
25
|
+
}
|
|
26
|
+
export function formatRouteTrail(result, now) {
|
|
27
|
+
if (result.visits.length === 0) {
|
|
28
|
+
return "🕒 Route trail: no route changes recorded yet.";
|
|
29
|
+
}
|
|
30
|
+
const ordered = [...result.visits].sort((a, b) => b.enteredAt - a.enteredAt);
|
|
31
|
+
const width = Math.max(...ordered.map((v) => v.route.length));
|
|
32
|
+
const lines = ["🕒 Route trail (most recent first):"];
|
|
33
|
+
ordered.forEach((v, i) => {
|
|
34
|
+
const prev = ordered[i - 1];
|
|
35
|
+
if (prev && prev.epoch !== v.epoch) {
|
|
36
|
+
lines.push(` ── app restarted (epoch ${prev.epoch}) ──`);
|
|
37
|
+
}
|
|
38
|
+
const dwell = formatDwell(dwellOf(v, now));
|
|
39
|
+
const origin = v.from ? ` ← from ${v.from}` : "";
|
|
40
|
+
lines.push(` ${v.route.padEnd(width)} ${dwell.padStart(7)}${origin}`);
|
|
41
|
+
});
|
|
42
|
+
if (result.mode === "sampled") {
|
|
43
|
+
lines.push("");
|
|
44
|
+
lines.push("⚠ sampled — no navigation listener found; transitions between calls may be missing");
|
|
45
|
+
}
|
|
46
|
+
return lines.join("\n");
|
|
47
|
+
}
|
|
48
|
+
export function buildRouteHistoryInstallSource(cap) {
|
|
49
|
+
return `(function () {
|
|
50
|
+
try {
|
|
51
|
+
var g = globalThis;
|
|
52
|
+
if (g.__ebRouteHistory && g.__ebRouteHistory.installed) {
|
|
53
|
+
return { ok: true, mode: g.__ebRouteHistory.mode, reused: true };
|
|
54
|
+
}
|
|
55
|
+
var store = { installed: true, mode: 'sampled', entries: [] };
|
|
56
|
+
g.__ebRouteHistory = store;
|
|
57
|
+
|
|
58
|
+
var ref = (typeof __eb_nav !== 'undefined' && __eb_nav) ? __eb_nav.stateReader : null;
|
|
59
|
+
if (!ref || typeof ref.addListener !== 'function' || typeof ref.getCurrentRoute !== 'function') {
|
|
60
|
+
return { ok: true, mode: 'sampled', reused: false, reason: 'no navigation ref with addListener' };
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
var record = function () {
|
|
64
|
+
var name = null;
|
|
65
|
+
try {
|
|
66
|
+
var cur = ref.getCurrentRoute();
|
|
67
|
+
name = cur && cur.name ? cur.name : null;
|
|
68
|
+
} catch (e) { return; }
|
|
69
|
+
if (!name) return;
|
|
70
|
+
|
|
71
|
+
var last = store.entries[store.entries.length - 1];
|
|
72
|
+
if (last && last.leftAt === null) {
|
|
73
|
+
if (last.route === name) return;
|
|
74
|
+
last.leftAt = Date.now();
|
|
75
|
+
store.entries.push({ route: name, from: last.route, enteredAt: Date.now(), leftAt: null });
|
|
76
|
+
} else {
|
|
77
|
+
store.entries.push({ route: name, from: null, enteredAt: Date.now(), leftAt: null });
|
|
78
|
+
}
|
|
79
|
+
if (store.entries.length > ${cap}) {
|
|
80
|
+
store.entries.splice(0, store.entries.length - ${cap});
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
ref.addListener('state', record);
|
|
85
|
+
store.mode = 'listener';
|
|
86
|
+
record();
|
|
87
|
+
return { ok: true, mode: 'listener', reused: false };
|
|
88
|
+
} catch (e) {
|
|
89
|
+
return { ok: false, error: String(e && e.message ? e.message : e) };
|
|
90
|
+
}
|
|
91
|
+
})()`;
|
|
92
|
+
}
|
|
93
|
+
export function buildRouteHistoryReadSource() {
|
|
94
|
+
return `(function () {
|
|
95
|
+
var s = globalThis.__ebRouteHistory;
|
|
96
|
+
if (!s || !s.installed) return null;
|
|
97
|
+
return { mode: s.mode, entries: s.entries };
|
|
98
|
+
})()`;
|
|
99
|
+
}
|
|
100
|
+
export async function installRouteHistory(device) {
|
|
101
|
+
try {
|
|
102
|
+
const expr = `(function(){ ${buildNavHandlesSource()}
|
|
103
|
+
return JSON.stringify(${buildRouteHistoryInstallSource(routeHistorySize())});
|
|
104
|
+
})()`;
|
|
105
|
+
const res = await executeInApp(expr, false, { originatingToolName: "route_history" }, device);
|
|
106
|
+
if (!res.success || typeof res.result !== "string")
|
|
107
|
+
return "sampled";
|
|
108
|
+
const parsed = JSON.parse(res.result);
|
|
109
|
+
return parsed.mode === "listener" ? "listener" : "sampled";
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return "sampled";
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
export async function readRouteHistory(device) {
|
|
116
|
+
const deviceKey = device ?? "default";
|
|
117
|
+
const epoch = getEpoch(deviceKey);
|
|
118
|
+
try {
|
|
119
|
+
const read = await executeInApp(`JSON.stringify(${buildRouteHistoryReadSource()})`, false, { originatingToolName: "route_history" }, device);
|
|
120
|
+
let payload = null;
|
|
121
|
+
if (read.success && typeof read.result === "string" && read.result !== "null") {
|
|
122
|
+
payload = JSON.parse(read.result);
|
|
123
|
+
}
|
|
124
|
+
if (!payload) {
|
|
125
|
+
const mode = await installRouteHistory(device);
|
|
126
|
+
if (mode === "listener") {
|
|
127
|
+
const again = await executeInApp(`JSON.stringify(${buildRouteHistoryReadSource()})`, false, { originatingToolName: "route_history" }, device);
|
|
128
|
+
if (again.success && typeof again.result === "string" && again.result !== "null") {
|
|
129
|
+
payload = JSON.parse(again.result);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (payload && payload.mode === "listener" && Array.isArray(payload.entries)) {
|
|
134
|
+
mergeListenerEntries(deviceKey, payload.entries, epoch);
|
|
135
|
+
return { mode: "listener", visits: sampledVisits(deviceKey) };
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
}
|
|
140
|
+
return { mode: "sampled", visits: sampledVisits(deviceKey) };
|
|
141
|
+
}
|
|
142
|
+
const sampled = new Map();
|
|
143
|
+
export function resetSampledRoutes() {
|
|
144
|
+
sampled.clear();
|
|
145
|
+
}
|
|
146
|
+
export function sampledVisits(deviceKey) {
|
|
147
|
+
return sampled.get(deviceKey) ?? [];
|
|
148
|
+
}
|
|
149
|
+
export function mergeListenerEntries(deviceKey, entries, epoch) {
|
|
150
|
+
const previousRuns = (sampled.get(deviceKey) ?? []).filter((v) => v.epoch !== epoch);
|
|
151
|
+
const thisRun = entries.map((e) => ({ ...e, epoch }));
|
|
152
|
+
const lastPrevious = previousRuns[previousRuns.length - 1];
|
|
153
|
+
const firstOfRun = thisRun[0];
|
|
154
|
+
if (lastPrevious && lastPrevious.leftAt === null && firstOfRun) {
|
|
155
|
+
lastPrevious.leftAt = firstOfRun.enteredAt;
|
|
156
|
+
}
|
|
157
|
+
const merged = [...previousRuns, ...thisRun];
|
|
158
|
+
const cap = routeHistorySize();
|
|
159
|
+
sampled.set(deviceKey, merged.length > cap ? merged.slice(merged.length - cap) : merged);
|
|
160
|
+
}
|
|
161
|
+
export function recordSampledRoute(deviceKey, route, epoch, now) {
|
|
162
|
+
if (!route)
|
|
163
|
+
return;
|
|
164
|
+
const visits = sampled.get(deviceKey) ?? [];
|
|
165
|
+
const open = visits[visits.length - 1];
|
|
166
|
+
if (open && open.leftAt === null) {
|
|
167
|
+
if (open.route === route && open.epoch === epoch)
|
|
168
|
+
return;
|
|
169
|
+
open.leftAt = now;
|
|
170
|
+
visits.push({
|
|
171
|
+
route,
|
|
172
|
+
from: open.epoch === epoch ? open.route : null,
|
|
173
|
+
enteredAt: now,
|
|
174
|
+
leftAt: null,
|
|
175
|
+
epoch
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
visits.push({ route, from: null, enteredAt: now, leftAt: null, epoch });
|
|
180
|
+
}
|
|
181
|
+
const cap = routeHistorySize();
|
|
182
|
+
if (visits.length > cap)
|
|
183
|
+
visits.splice(0, visits.length - cap);
|
|
184
|
+
sampled.set(deviceKey, visits);
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=routeHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routeHistory.js","sourceRoot":"","sources":["../../src/core/routeHistory.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,6 @@ export declare function getScreenLayout(options?: {
|
|
|
31
31
|
device?: string;
|
|
32
32
|
raw?: boolean;
|
|
33
33
|
timeoutMs?: number;
|
|
34
|
-
/** Top inset for screen-space normalisation. Omit for raw fiber coordinates. */
|
|
35
34
|
screenSpace?: ScreenSpaceMetrics;
|
|
36
35
|
}): Promise<ExecutionResult & {
|
|
37
36
|
parsedElements?: ScreenElement[];
|
|
@@ -42,15 +41,5 @@ export declare function getScreenLayout(options?: {
|
|
|
42
41
|
offScreenBelow?: string[];
|
|
43
42
|
offScreenAbove?: string[];
|
|
44
43
|
}>;
|
|
45
|
-
/**
|
|
46
|
-
* Enrich screen layout data with tap-ready pixel coordinates for bundling with screenshots.
|
|
47
|
-
* Converts points/dp frame coordinates to pixels using the device pixel ratio,
|
|
48
|
-
* computes center-point tapX/tapY for each element.
|
|
49
|
-
*
|
|
50
|
-
* @param pixelRatio - device pixel ratio (e.g., 3 for @3x iPhone)
|
|
51
|
-
* @param screenshotScaleFactor - if the screenshot image was scaled down, this factor adjusts coordinates
|
|
52
|
-
* @param device - optional target device name
|
|
53
|
-
* @returns formatted tree string with pixel coordinates, or null if unavailable
|
|
54
|
-
*/
|
|
55
44
|
export declare function enrichScreenshotWithLayout(pixelRatio: number, screenshotScaleFactor: number, device?: string, safeAreaTopPoints?: number): Promise<string | null>;
|
|
56
45
|
//# sourceMappingURL=screenLayout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenLayout.d.ts","sourceRoot":"","sources":["../../src/core/screenLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM1F;AAMD,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAyND,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,GAAE,OAAe,EACzB,SAAS,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACrE,MAAM,CAuCR;AAYD,wBAAsB,eAAe,CACjC,OAAO,GAAE;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"screenLayout.d.ts","sourceRoot":"","sources":["../../src/core/screenLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM1F;AAMD,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAyND,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,GAAE,OAAe,EACzB,SAAS,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACrE,MAAM,CAuCR;AAYD,wBAAsB,eAAe,CACjC,OAAO,GAAE;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC/B,GACP,OAAO,CAAC,eAAe,GAAG;IACzB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC,CAglBD;AAoDD,wBAAsB,0BAA0B,CAC5C,UAAU,EAAE,MAAM,EAClB,qBAAqB,EAAE,MAAM,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,GAAE,MAAU,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmDxB"}
|
|
@@ -8,16 +8,8 @@ export function formatSummaryCompact(components, total) {
|
|
|
8
8
|
}
|
|
9
9
|
return lines.join("\n");
|
|
10
10
|
}
|
|
11
|
-
/**
|
|
12
|
-
* Classify each root as "screen" or "overlay".
|
|
13
|
-
*
|
|
14
|
-
* A root is a **screen** if its subtree contains a navigation screen marker
|
|
15
|
-
* (Route(...), *Screen, *Page). Falls back to the largest root by area
|
|
16
|
-
* if no navigation markers are found. Everything else is an overlay.
|
|
17
|
-
*/
|
|
18
11
|
function classifyRoots(roots, elements, childrenMap) {
|
|
19
12
|
const labels = [];
|
|
20
|
-
// Navigation screen markers: Route(...) wrapper or user-defined *Screen/*Page
|
|
21
13
|
const screenMarker = /^(Route\(|.*Screen\(|.*Page\(|.*Screen$|.*Page$)/;
|
|
22
14
|
function subtreeHasScreen(idx, depth) {
|
|
23
15
|
if (depth > 30)
|
|
@@ -33,7 +25,6 @@ function classifyRoots(roots, elements, childrenMap) {
|
|
|
33
25
|
}
|
|
34
26
|
return false;
|
|
35
27
|
}
|
|
36
|
-
// First pass: check which roots contain a navigation screen
|
|
37
28
|
const hasScreen = roots.map(ri => subtreeHasScreen(ri, 0));
|
|
38
29
|
const anyScreenFound = hasScreen.some(Boolean);
|
|
39
30
|
if (anyScreenFound) {
|
|
@@ -42,7 +33,6 @@ function classifyRoots(roots, elements, childrenMap) {
|
|
|
42
33
|
}
|
|
43
34
|
}
|
|
44
35
|
else {
|
|
45
|
-
// Fallback: largest root by area is the screen
|
|
46
36
|
let maxArea = 0;
|
|
47
37
|
let maxIdx = 0;
|
|
48
38
|
for (let i = 0; i < roots.length; i++) {
|
|
@@ -58,25 +48,13 @@ function classifyRoots(roots, elements, childrenMap) {
|
|
|
58
48
|
}
|
|
59
49
|
return { labels, hasOverlays: labels.some(l => l === "overlay") };
|
|
60
50
|
}
|
|
61
|
-
/**
|
|
62
|
-
* Build, collapse, classify, and render a layout tree.
|
|
63
|
-
*
|
|
64
|
-
* Shared by both get_screen_layout (points, no tap coords) and
|
|
65
|
-
* the screenshot layout enrichment (pixels, with tap coords).
|
|
66
|
-
*
|
|
67
|
-
* @param elements - flat list of layout nodes with parentIndex linkage
|
|
68
|
-
* @param renderLine - callback that produces the output line for a node,
|
|
69
|
-
* given (element, indent level, whether it's a leaf)
|
|
70
|
-
*/
|
|
71
51
|
function formatLayoutTree(elements, renderLine) {
|
|
72
|
-
// Build index: originalIndex -> element index in the filtered array
|
|
73
52
|
const indexMap = new Map();
|
|
74
53
|
for (let i = 0; i < elements.length; i++) {
|
|
75
54
|
if (elements[i].originalIndex !== undefined) {
|
|
76
55
|
indexMap.set(elements[i].originalIndex, i);
|
|
77
56
|
}
|
|
78
57
|
}
|
|
79
|
-
// Build children lists
|
|
80
58
|
const children = new Map();
|
|
81
59
|
const roots = [];
|
|
82
60
|
for (let i = 0; i < elements.length; i++) {
|
|
@@ -92,8 +70,6 @@ function formatLayoutTree(elements, renderLine) {
|
|
|
92
70
|
children.get(parentIdx).push(i);
|
|
93
71
|
}
|
|
94
72
|
}
|
|
95
|
-
// Collapse wrapper chains: if a child has the same frame as its parent,
|
|
96
|
-
// it's just a wrapper — promote its children and text to the parent
|
|
97
73
|
function sameFrame(a, b) {
|
|
98
74
|
if (!a.frame || !b.frame)
|
|
99
75
|
return false;
|
|
@@ -137,7 +113,6 @@ function formatLayoutTree(elements, renderLine) {
|
|
|
137
113
|
for (const root of roots) {
|
|
138
114
|
collapseNode(root);
|
|
139
115
|
}
|
|
140
|
-
// Render tree
|
|
141
116
|
const lines = [];
|
|
142
117
|
function printNode(idx, indent, parent) {
|
|
143
118
|
const isLeaf = !children.has(idx);
|
|
@@ -149,7 +124,6 @@ function formatLayoutTree(elements, renderLine) {
|
|
|
149
124
|
}
|
|
150
125
|
}
|
|
151
126
|
}
|
|
152
|
-
// Classify roots and emit layer headers
|
|
153
127
|
const { labels, hasOverlays } = classifyRoots(roots, elements, children);
|
|
154
128
|
if (hasOverlays) {
|
|
155
129
|
let prevLabel = "";
|
|
@@ -171,10 +145,6 @@ function formatLayoutTree(elements, renderLine) {
|
|
|
171
145
|
}
|
|
172
146
|
return lines.join("\n");
|
|
173
147
|
}
|
|
174
|
-
/**
|
|
175
|
-
* Compute per-side overflow of a child frame relative to its parent.
|
|
176
|
-
* Returns null if neither has a frame, or overflow is within 1pt of rounding noise.
|
|
177
|
-
*/
|
|
178
148
|
function computeOverflow(child, parent) {
|
|
179
149
|
if (!child.frame || !parent.frame)
|
|
180
150
|
return null;
|
|
@@ -259,7 +229,6 @@ export async function getScreenLayout(options = {}) {
|
|
|
259
229
|
const maxDepth = 5000;
|
|
260
230
|
const componentsOnly = true;
|
|
261
231
|
const shortPath = true;
|
|
262
|
-
// --- Step 1: walk fiber tree + dispatch measureInWindow calls ---
|
|
263
232
|
const dispatchExpression = `
|
|
264
233
|
(function() {
|
|
265
234
|
var hook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
|
|
@@ -491,11 +460,7 @@ export async function getScreenLayout(options = {}) {
|
|
|
491
460
|
dispatchError = parsed.error;
|
|
492
461
|
}
|
|
493
462
|
catch {
|
|
494
|
-
/* ignore */
|
|
495
463
|
}
|
|
496
|
-
// Retry once on the early-startup race where the React DevTools hook
|
|
497
|
-
// isn't registered yet. Production / non-__DEV__ builds will still fail
|
|
498
|
-
// after the retry — surface an actionable error pointing at OCR/screenshot.
|
|
499
464
|
if (dispatchError && /React DevTools hook not found/.test(dispatchError)) {
|
|
500
465
|
await delay(400);
|
|
501
466
|
dispatchResult = await executeInApp(dispatchExpression, false, { timeoutMs: timeoutMs ?? 30000, originatingToolName: "get_screen_layout" }, device);
|
|
@@ -508,7 +473,6 @@ export async function getScreenLayout(options = {}) {
|
|
|
508
473
|
dispatchError = parsed.error;
|
|
509
474
|
}
|
|
510
475
|
catch {
|
|
511
|
-
/* ignore */
|
|
512
476
|
}
|
|
513
477
|
if (dispatchError && /React DevTools hook not found/.test(dispatchError)) {
|
|
514
478
|
return {
|
|
@@ -521,9 +485,7 @@ export async function getScreenLayout(options = {}) {
|
|
|
521
485
|
}
|
|
522
486
|
if (dispatchError)
|
|
523
487
|
return { success: false, error: dispatchError };
|
|
524
|
-
// Wait for measureInWindow callbacks
|
|
525
488
|
await delay(300);
|
|
526
|
-
// --- Step 2: read measurements, filter visible, build results ---
|
|
527
489
|
const resolveExpression = `
|
|
528
490
|
(function() {
|
|
529
491
|
var fibers = globalThis.__layoutFibers;
|
|
@@ -811,12 +773,10 @@ export async function getScreenLayout(options = {}) {
|
|
|
811
773
|
})()
|
|
812
774
|
`;
|
|
813
775
|
const result = await executeInApp(resolveExpression, false, { timeoutMs: timeoutMs ?? 30000, originatingToolName: "get_screen_layout" }, device);
|
|
814
|
-
// Format output as tree
|
|
815
776
|
if (result.success && result.result) {
|
|
816
777
|
try {
|
|
817
778
|
const parsed = JSON.parse(result.result);
|
|
818
779
|
if (parsed.components) {
|
|
819
|
-
// Summary mode
|
|
820
780
|
const compact = formatSummaryCompact(parsed.components, parsed.totalElements);
|
|
821
781
|
return { success: true, result: compact };
|
|
822
782
|
}
|
|
@@ -839,15 +799,10 @@ export async function getScreenLayout(options = {}) {
|
|
|
839
799
|
}
|
|
840
800
|
}
|
|
841
801
|
catch {
|
|
842
|
-
// If parsing fails, return original result
|
|
843
802
|
}
|
|
844
803
|
}
|
|
845
804
|
return result;
|
|
846
805
|
}
|
|
847
|
-
/**
|
|
848
|
-
* Format enriched elements as an indented tree with tap coordinates in pixels.
|
|
849
|
-
* Same tree structure as get_screen_layout but with tap:(x,y) per node.
|
|
850
|
-
*/
|
|
851
806
|
function formatEnrichedLayoutTree(elements, offScreen) {
|
|
852
807
|
const tree = formatLayoutTree(elements, (el, indent, isLeaf, _parent) => {
|
|
853
808
|
const prefix = " ".repeat(indent);
|
|
@@ -867,16 +822,6 @@ function formatEnrichedLayoutTree(elements, offScreen) {
|
|
|
867
822
|
}
|
|
868
823
|
return suffix.length > 0 ? `${tree}\n\n${suffix.join("\n")}` : tree;
|
|
869
824
|
}
|
|
870
|
-
/**
|
|
871
|
-
* Enrich screen layout data with tap-ready pixel coordinates for bundling with screenshots.
|
|
872
|
-
* Converts points/dp frame coordinates to pixels using the device pixel ratio,
|
|
873
|
-
* computes center-point tapX/tapY for each element.
|
|
874
|
-
*
|
|
875
|
-
* @param pixelRatio - device pixel ratio (e.g., 3 for @3x iPhone)
|
|
876
|
-
* @param screenshotScaleFactor - if the screenshot image was scaled down, this factor adjusts coordinates
|
|
877
|
-
* @param device - optional target device name
|
|
878
|
-
* @returns formatted tree string with pixel coordinates, or null if unavailable
|
|
879
|
-
*/
|
|
880
825
|
export async function enrichScreenshotWithLayout(pixelRatio, screenshotScaleFactor, device, safeAreaTopPoints = 0) {
|
|
881
826
|
try {
|
|
882
827
|
const result = await getScreenLayout({ extended: false, summary: false, device, raw: true });
|
|
@@ -884,10 +829,6 @@ export async function enrichScreenshotWithLayout(pixelRatio, screenshotScaleFact
|
|
|
884
829
|
return null;
|
|
885
830
|
const elements = result.parsedElements.map((el) => {
|
|
886
831
|
const frame = el.frame || { x: 0, y: 0, width: 0, height: 0 };
|
|
887
|
-
// React-native-screens modal/sheet presentations on iOS cause measureInWindow to return y
|
|
888
|
-
// relative to the screen's content origin (below safe-area inset), not the window origin.
|
|
889
|
-
// An element whose center y sits inside the safe-area band is physically impossible for a
|
|
890
|
-
// visible interactive target — treat that as a sign of the shifted space and add the inset.
|
|
891
832
|
const centerXPoints = frame.x + frame.width / 2;
|
|
892
833
|
let centerYPoints = frame.y + frame.height / 2;
|
|
893
834
|
let yPoints = frame.y;
|
|
@@ -922,7 +863,7 @@ export async function enrichScreenshotWithLayout(pixelRatio, screenshotScaleFact
|
|
|
922
863
|
});
|
|
923
864
|
}
|
|
924
865
|
catch {
|
|
925
|
-
return null;
|
|
866
|
+
return null;
|
|
926
867
|
}
|
|
927
868
|
}
|
|
928
869
|
//# sourceMappingURL=screenLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenLayout.js","sourceRoot":"","sources":["../../src/core/screenLayout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"screenLayout.js","sourceRoot":"","sources":["../../src/core/screenLayout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,103 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* One coordinate space for every layout tool: **screen space**.
|
|
3
|
-
*
|
|
4
|
-
* `measureInWindow` does not report screen coordinates uniformly:
|
|
5
|
-
*
|
|
6
|
-
* - **Android** returns coordinates relative to the app window, which starts *below*
|
|
7
|
-
* the status bar. A header button measured at y=7dp sits at y=61dp on screen.
|
|
8
|
-
* - **iOS** returns coordinates that already include the status bar — except for
|
|
9
|
-
* react-native-screens modal-presented screens, which measure from the modal's own
|
|
10
|
-
* presentation container. A modal header button measured at y=29pt sits at y=88pt on
|
|
11
|
-
* screen, exactly one safe-area inset lower.
|
|
12
|
-
*
|
|
13
|
-
* The screenshot formatters already compensated for both, which is why screenshot pixel
|
|
14
|
-
* coordinates were correct. The point-space outputs (`get_screen_state`,
|
|
15
|
-
* `inspect_at_point`) did not, so the two families disagreed whenever a modal was open:
|
|
16
|
-
* converting a screenshot pixel coordinate to points by dividing by the pixel ratio — the
|
|
17
|
-
* documented procedure — landed an inset off and resolved to the screen underneath.
|
|
18
|
-
*
|
|
19
|
-
* Everything now normalises through here, so a coordinate read from any tool can be
|
|
20
|
-
* passed to any other tool.
|
|
21
|
-
*/
|
|
22
1
|
export interface ScreenSpaceMetrics {
|
|
23
2
|
platform: "ios" | "android";
|
|
24
|
-
/** iOS: safe-area top in points. Android: status bar height in dp. 0 disables shifting. */
|
|
25
3
|
topInset: number;
|
|
26
|
-
/**
|
|
27
|
-
* Points (iOS) / dp (Android) -> delivered-screenshot pixels, the canonical unit
|
|
28
|
-
* every tool reads and writes. Omitted or 1 means "unknown" and leaves coordinates
|
|
29
|
-
* in point space — the pre-unification behaviour, and the safe degradation when a
|
|
30
|
-
* device cannot be measured.
|
|
31
|
-
*/
|
|
32
4
|
pixelScale?: number;
|
|
33
5
|
}
|
|
34
|
-
/**
|
|
35
|
-
* API image cap. A capture wider or taller than this is downscaled before delivery, so
|
|
36
|
-
* it is part of the coordinate contract, not just a transport detail: the pixels an
|
|
37
|
-
* agent reads off the returned image are post-downscale.
|
|
38
|
-
*/
|
|
39
6
|
export declare const SCREENSHOT_MAX_DIMENSION = 2000;
|
|
40
|
-
/**
|
|
41
|
-
* Downscale a capture of these *device-pixel* dimensions will receive on delivery.
|
|
42
|
-
* Mirrors the resize in `iosScreenshot`/`androidScreenshot`; both derive their own
|
|
43
|
-
* factor the same way, and this is the copy the layout tools predict it with.
|
|
44
|
-
*/
|
|
45
7
|
export declare function computeDeliveredDownscale(pixelWidth: number, pixelHeight: number): number;
|
|
46
|
-
/**
|
|
47
|
-
* points/dp -> delivered-screenshot pixels, given the device's scale (iOS DPR, Android
|
|
48
|
-
* density/160) and its point/dp screen size.
|
|
49
|
-
*
|
|
50
|
-
* Note this collapses to `SCREENSHOT_MAX_DIMENSION / longestPointDimension` whenever the
|
|
51
|
-
* raw capture overflows the cap — the device scale cancels out — which is why the factor
|
|
52
|
-
* is stable per device rather than per capture.
|
|
53
|
-
*/
|
|
54
8
|
export declare function computePixelScale(deviceScale: number, pointWidth: number, pointHeight: number): number;
|
|
55
|
-
/**
|
|
56
|
-
* Fiber-space y -> screen-space y.
|
|
57
|
-
*
|
|
58
|
-
* The iOS rule is a heuristic: nothing in the fiber tree says "I am inside a modal
|
|
59
|
-
* presentation", and the inset is only knowable natively. An element measuring *above*
|
|
60
|
-
* the safe-area top is the signal — on a normal screen that band is occupied by the
|
|
61
|
-
* status bar and holds no app content. This is the same rule the screenshot formatters
|
|
62
|
-
* already shipped; it is centralised here rather than made more clever, so the pixel
|
|
63
|
-
* output that users have been reading stays byte-identical.
|
|
64
|
-
*/
|
|
65
9
|
export declare function toScreenSpaceY(y: number, m: ScreenSpaceMetrics): number;
|
|
66
|
-
/** Screen-space y -> fiber-space y. Inverse of {@link toScreenSpaceY}. */
|
|
67
10
|
export declare function fromScreenSpaceY(y: number, m: ScreenSpaceMetrics): number;
|
|
68
|
-
/**
|
|
69
|
-
* Source for the injected walkers, which run inside Hermes and cannot import.
|
|
70
|
-
* Emitted as a plain function so the in-app hit-test normalises measurements the same
|
|
71
|
-
* way the Node side does — a second copy of this rule is exactly what caused the drift.
|
|
72
|
-
*/
|
|
73
11
|
export declare const SCREEN_SPACE_HELPER_JS: string;
|
|
74
|
-
/**
|
|
75
|
-
* A warning line when the device scale could not be resolved, or "" when it could.
|
|
76
|
-
*
|
|
77
|
-
* Without this the degradation is silent and dangerous in one specific way: the tools
|
|
78
|
-
* emit point-space coordinates while tap() still expects delivered pixels, which is the
|
|
79
|
-
* original defect wearing a different hat. Saying so lets the caller fall back to
|
|
80
|
-
* screenshot coordinates instead of tapping the wrong place.
|
|
81
|
-
*/
|
|
82
12
|
export declare function unresolvedScaleNote(m: ScreenSpaceMetrics): string;
|
|
83
|
-
/**
|
|
84
|
-
* Fiber-space y (points/dp) -> canonical delivered-screenshot pixels.
|
|
85
|
-
*
|
|
86
|
-
* Order matters: `topInset` is a point-space quantity, so the inset shift has to happen
|
|
87
|
-
* before the scale, not after.
|
|
88
|
-
*/
|
|
89
13
|
export declare function toDeliveredPxY(y: number, m: ScreenSpaceMetrics): number;
|
|
90
|
-
/** Fiber-space x -> delivered pixels. No horizontal inset exists on either platform. */
|
|
91
14
|
export declare function toDeliveredPxX(x: number, m: ScreenSpaceMetrics): number;
|
|
92
|
-
/** A length (width/height) in points/dp -> delivered pixels. Unaffected by the inset. */
|
|
93
15
|
export declare function toDeliveredPxLength(v: number, m: ScreenSpaceMetrics): number;
|
|
94
|
-
/**
|
|
95
|
-
* Delivered pixels -> fiber space. Inverse of {@link toDeliveredPxY}, for tools that
|
|
96
|
-
* take a caller-supplied coordinate (inspect_at_point) and must hit-test against raw
|
|
97
|
-
* `measureInWindow` output.
|
|
98
|
-
*/
|
|
99
16
|
export declare function fromDeliveredPxY(y: number, m: ScreenSpaceMetrics): number;
|
|
100
|
-
/** Delivered pixels -> fiber-space x. */
|
|
101
17
|
export declare function fromDeliveredPxX(x: number, m: ScreenSpaceMetrics): number;
|
|
102
18
|
interface Box {
|
|
103
19
|
center: {
|
|
@@ -111,13 +27,6 @@ interface Box {
|
|
|
111
27
|
height: number;
|
|
112
28
|
};
|
|
113
29
|
}
|
|
114
|
-
/**
|
|
115
|
-
* Return a copy of a **screen-space** state with every box in delivered pixels.
|
|
116
|
-
*
|
|
117
|
-
* For consumers that hit-test a caller-supplied coordinate against the state itself
|
|
118
|
-
* rather than just formatting it — the coordinate arrives in delivered pixels, so the
|
|
119
|
-
* geometry has to meet it there. Compose after {@link screenStateToScreenSpace}.
|
|
120
|
-
*/
|
|
121
30
|
export declare function screenStateToDeliveredPx<T extends {
|
|
122
31
|
pressables: Box[];
|
|
123
32
|
texts: Box[];
|
|
@@ -128,16 +37,6 @@ export declare function screenStateToDeliveredPx<T extends {
|
|
|
128
37
|
images?: Box[];
|
|
129
38
|
}[];
|
|
130
39
|
}>(ss: T, m: ScreenSpaceMetrics): T;
|
|
131
|
-
/**
|
|
132
|
-
* Converter mapping an item **already in screen space** into canonical delivered pixels.
|
|
133
|
-
*
|
|
134
|
-
* Deliberately pure scale, with no inset term: every caller runs its state through
|
|
135
|
-
* {@link screenStateToScreenSpace} first, so re-applying the shift here would move each
|
|
136
|
-
* coordinate by a second `topInset`. This converter is the single argument that used to
|
|
137
|
-
* differ between the screenshot tools (which passed a real one) and get_screen_state
|
|
138
|
-
* (which passed none and so emitted raw points). Structurally an `ItemCoordConverter`;
|
|
139
|
-
* typed locally to keep this module import-free.
|
|
140
|
-
*/
|
|
141
40
|
export declare function pxScaleConverter(m: ScreenSpaceMetrics): (item: Box) => {
|
|
142
41
|
center: {
|
|
143
42
|
x: number;
|
|
@@ -150,12 +49,6 @@ export declare function pxScaleConverter(m: ScreenSpaceMetrics): (item: Box) =>
|
|
|
150
49
|
height: number;
|
|
151
50
|
};
|
|
152
51
|
};
|
|
153
|
-
/**
|
|
154
|
-
* Return a copy of a screen state with every y in screen space.
|
|
155
|
-
*
|
|
156
|
-
* Only y moves — no horizontal inset exists on either platform — and height is untouched,
|
|
157
|
-
* because the shift translates a box rather than resizing it.
|
|
158
|
-
*/
|
|
159
52
|
export declare function screenStateToScreenSpace<T extends {
|
|
160
53
|
pressables: Box[];
|
|
161
54
|
texts: Box[];
|