peachsim 0.1.1644 → 0.1.1653

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (608) hide show
  1. package/README.md +12 -0
  2. package/cli/app-catalog.ts +1 -1
  3. package/cli/app-fonts.ts +11 -80
  4. package/cli/app-splash.ts +18 -12
  5. package/cli/bridge-flow-runner.ts +11 -7
  6. package/cli/cloud-client.ts +10 -13
  7. package/cli/command-registry.ts +13 -4
  8. package/cli/commands/box.ts +4 -4
  9. package/cli/commands/control.ts +93 -53
  10. package/cli/commands/coverage-parser.ts +67 -0
  11. package/cli/commands/coverage.ts +550 -0
  12. package/cli/commands/debug.ts +9 -18
  13. package/cli/commands/desktop.ts +19 -7
  14. package/cli/commands/device.ts +14 -9
  15. package/cli/commands/guest-host.ts +6 -10
  16. package/cli/commands/inspect/core.ts +81 -17
  17. package/cli/commands/inspect.ts +13 -8
  18. package/cli/commands/kotlin.ts +2 -2
  19. package/cli/commands/maestro-compare.ts +1 -1
  20. package/cli/commands/platform.ts +20 -11
  21. package/cli/commands/preview.ts +16 -18
  22. package/cli/commands/runtime.ts +3 -2
  23. package/cli/commands/screenshot-layers.ts +1 -1
  24. package/cli/commands/screenshot.ts +1 -1
  25. package/cli/commands/serve.ts +5 -1
  26. package/cli/commands/support.ts +4 -4
  27. package/cli/commands/three-mode.ts +22 -15
  28. package/cli/commands/upload.ts +44 -45
  29. package/cli/current-sim.ts +38 -0
  30. package/cli/desktop-companion.ts +36 -8
  31. package/cli/device-option.ts +1 -1
  32. package/cli/drivers/playwright.ts +1 -0
  33. package/cli/drivers/types.ts +4 -0
  34. package/cli/help-core.ts +1 -1
  35. package/cli/internal-child.ts +2 -1
  36. package/cli/main.ts +9 -3
  37. package/cli/outbound-endpoints.ts +11 -3
  38. package/cli/output-redaction.ts +39 -14
  39. package/cli/remote-simulators.ts +4 -1
  40. package/cli/scene-video.ts +5 -2
  41. package/cli/send-to-box.ts +7 -10
  42. package/cli/telemetry.ts +1 -1
  43. package/cli/ws-bridge.ts +8 -1
  44. package/detox/attempt-events.cjs +3 -1
  45. package/detox/attempt-events.d.cts +1 -1
  46. package/detox/expectations.ts +108 -99
  47. package/detox/frame-offset.d.mts +6 -0
  48. package/detox/frame-offset.mjs +35 -0
  49. package/detox/gestures.ts +6 -18
  50. package/detox/index.ts +169 -101
  51. package/detox/jest-preset.cjs +1 -3
  52. package/detox/jest-transform.cjs +4 -0
  53. package/detox/matchers.ts +3 -0
  54. package/detox/motion-change.cjs +46 -114
  55. package/detox/motion-change.d.cts +5 -27
  56. package/dist-lib/agent-daemon-client.cjs +1 -1
  57. package/dist-lib/agent-events.cjs +1 -1
  58. package/dist-lib/attached-projects.cjs +1 -1
  59. package/dist-lib/auth/shared-session.cjs +1 -1
  60. package/dist-lib/backend-origin.cjs +1 -1
  61. package/dist-lib/beta.cjs +1 -1
  62. package/dist-lib/beta.mjs +1 -1
  63. package/dist-lib/bridge-constants.cjs +1 -1
  64. package/dist-lib/bridge-contract-input.cjs +65 -1
  65. package/dist-lib/bridge-contract-input.mjs +63 -1
  66. package/dist-lib/bridge-contract.cjs +19 -1
  67. package/dist-lib/bridge-contract.mjs +17 -1
  68. package/dist-lib/bundle-channel.cjs +38091 -14846
  69. package/dist-lib/capture-contract.cjs +1 -1
  70. package/dist-lib/capture-contract.mjs +1 -1
  71. package/dist-lib/cloud-contract.cjs +1 -1
  72. package/dist-lib/cloud-contract.mjs +1 -1
  73. package/dist-lib/cloud-test-args.cjs +1 -1
  74. package/dist-lib/cloud-test-args.mjs +1 -1
  75. package/dist-lib/cloud.cjs +1 -1
  76. package/dist-lib/cloud.mjs +1 -1
  77. package/dist-lib/config.cjs +1 -1
  78. package/dist-lib/config.mjs +5 -3
  79. package/dist-lib/detox/index.cjs +1244 -4509
  80. package/dist-lib/detox/jest-preset.cjs +1 -3
  81. package/dist-lib/detox/jest-transform.cjs +4 -0
  82. package/dist-lib/dev-bundle-resolution.cjs +28 -24
  83. package/dist-lib/expo-swift-bundle.cjs +35049 -13125
  84. package/dist-lib/expo-swift-metadata.cjs +1 -1
  85. package/dist-lib/expo-swift-metadata.mjs +1 -1
  86. package/dist-lib/home-paths.cjs +1 -1
  87. package/dist-lib/host/bridge-host.cjs +45112 -63143
  88. package/dist-lib/host/fetch-proxy-handler.cjs +3544 -11
  89. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  90. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  91. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  92. package/dist-lib/host/websocket-proxy.cjs +1 -1
  93. package/dist-lib/index.cjs +1909 -2029
  94. package/dist-lib/jump-to-source-babel.cjs +1 -1
  95. package/dist-lib/jump-to-source-native.cjs +1 -1
  96. package/dist-lib/kotlin-host.cjs +2 -2
  97. package/dist-lib/menu.cjs +1 -1
  98. package/dist-lib/menu.mjs +1 -1
  99. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  100. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  101. package/dist-lib/metro-production-bundle.cjs +1 -1
  102. package/dist-lib/metro-production-bundle.mjs +1 -1
  103. package/dist-lib/metro.cjs +380 -522
  104. package/dist-lib/native-app-identity-project.cjs +39 -252
  105. package/dist-lib/native-app-identity-project.mjs +1174 -11
  106. package/dist-lib/native-app-identity.cjs +8 -3
  107. package/dist-lib/native-app-identity.mjs +8 -3
  108. package/dist-lib/native-firebase-metadata.cjs +1 -1
  109. package/dist-lib/native-firebase-metadata.mjs +1 -1
  110. package/dist-lib/plist.cjs +2 -244
  111. package/dist-lib/plist.mjs +1 -1
  112. package/dist-lib/profiles.cjs +1 -1
  113. package/dist-lib/public-brand.cjs +1 -1
  114. package/dist-lib/public-origins-lib-esm.json +290 -0
  115. package/dist-lib/public-origins-lib-static.json +1 -0
  116. package/dist-lib/public-origins-lib.json +1852 -0
  117. package/dist-lib/react-native-host-modules.cjs +1 -1
  118. package/dist-lib/react-native-host-modules.mjs +1 -1
  119. package/dist-lib/scripts/dev-server-scanner.cjs +14 -253
  120. package/dist-lib/sdk.cjs +83 -16
  121. package/dist-lib/sdk.mjs +81 -15
  122. package/dist-lib/skills.cjs +50546 -75098
  123. package/dist-lib/swift-compile.cjs +25897 -1070
  124. package/dist-lib/swift-compile.mjs +25866 -1033
  125. package/dist-lib/swift-package.cjs +79 -1
  126. package/dist-lib/swift-package.mjs +75 -1
  127. package/dist-lib/swift-submit.cjs +1 -1
  128. package/dist-lib/swift-submit.mjs +1 -1
  129. package/dist-lib/swift-toolchain.cjs +1 -1
  130. package/dist-lib/swift.cjs +1 -1
  131. package/dist-lib/vite-swift.cjs +34273 -12349
  132. package/dist-lib/vite.cjs +373 -298
  133. package/dist-lib/worklet-executable.cjs +1 -1
  134. package/dist-lib/worklet-executable.mjs +1 -1
  135. package/dist-types/packages/peach-compat/src/engine-config.d.ts +2 -0
  136. package/dist-types/packages/peach-compat/src/stubs/form-sheet-spring.d.ts +9 -0
  137. package/dist-types/packages/peach-compat/src/stubs/native-evaluation-lease.d.ts +47 -0
  138. package/dist-types/packages/peach-compat/src/stubs/native-seams/react-native-cookies.d.ts +113 -0
  139. package/dist-types/packages/peach-compat/src/stubs/native-seams/react-native-gesture-handler.d.ts +154 -0
  140. package/dist-types/packages/peach-compat/src/stubs/screen-transition-math.d.ts +756 -0
  141. package/dist-types/packages/peach-compat/src/stubs/transition-scalar.d.ts +25 -0
  142. package/dist-types/packages/peach-engine/src/billing/plans.d.ts +64 -0
  143. package/dist-types/packages/peach-engine/src/browser-page-target.d.ts +2 -0
  144. package/dist-types/packages/peach-engine/src/bundle-platform-url.d.ts +3 -0
  145. package/dist-types/packages/peach-engine/src/capture/browser-accessibility-host.d.ts +3 -0
  146. package/dist-types/packages/peach-engine/src/capture/browser-composite.d.ts +55 -0
  147. package/dist-types/packages/peach-engine/src/capture/browserAccessibilityContract.d.ts +27 -0
  148. package/dist-types/packages/peach-engine/src/capture/nativeScreenCaptureContract.d.ts +22 -0
  149. package/dist-types/packages/peach-engine/src/cli-companion.d.ts +36 -0
  150. package/dist-types/packages/peach-engine/src/components/native-ui/webview-frame-bridge.d.ts +34 -0
  151. package/dist-types/packages/peach-engine/src/config.d.ts +5 -0
  152. package/dist-types/packages/peach-engine/src/engine/android-stretch-effect.d.ts +57 -0
  153. package/dist-types/packages/peach-engine/src/engine/animated-driven-style.d.ts +47 -0
  154. package/dist-types/packages/peach-engine/src/engine/animated-value.d.ts +5 -0
  155. package/dist-types/packages/peach-engine/src/engine/animated.d.ts +195 -0
  156. package/dist-types/packages/peach-engine/src/engine/animation-clockContract.d.ts +15 -0
  157. package/dist-types/packages/peach-engine/src/engine/animation-graph.d.ts +148 -0
  158. package/dist-types/packages/peach-engine/src/engine/app-catalog-wire.d.ts +10 -0
  159. package/dist-types/packages/peach-engine/src/engine/app-font-registry.d.ts +87 -0
  160. package/dist-types/packages/peach-engine/src/engine/attributed-paragraph-paint.d.ts +7 -0
  161. package/dist-types/packages/peach-engine/src/engine/attributed-paragraph.d.ts +123 -0
  162. package/dist-types/packages/peach-engine/src/engine/audioContract.d.ts +16 -0
  163. package/dist-types/packages/peach-engine/src/engine/canvaskit-api.d.ts +93 -0
  164. package/dist-types/packages/peach-engine/src/engine/canvaskit-renderer.d.ts +216 -0
  165. package/dist-types/packages/peach-engine/src/engine/config-plugin-fonts.d.ts +40 -0
  166. package/dist-types/packages/peach-engine/src/engine/config-plugin-splash.d.ts +25 -0
  167. package/dist-types/packages/peach-engine/src/engine/cull-visibility.d.ts +44 -0
  168. package/dist-types/packages/peach-engine/src/engine/damage-rect.d.ts +19 -0
  169. package/dist-types/packages/peach-engine/src/engine/engine-resource.d.ts +6 -0
  170. package/dist-types/packages/peach-engine/src/engine/expo-manifest.d.ts +5 -0
  171. package/dist-types/packages/peach-engine/src/engine/fiber-debug-metadata.d.ts +30 -0
  172. package/dist-types/packages/peach-engine/src/engine/font-config.d.ts +139 -0
  173. package/dist-types/packages/peach-engine/src/engine/generated/sf-pro-font.d.ts +1 -0
  174. package/dist-types/packages/peach-engine/src/engine/glass-material.d.ts +31 -0
  175. package/dist-types/packages/peach-engine/src/engine/host-composite.d.ts +100 -0
  176. package/dist-types/packages/peach-engine/src/engine/hosted-semantics.d.ts +49 -0
  177. package/dist-types/packages/peach-engine/src/engine/image-audit.d.ts +70 -0
  178. package/dist-types/packages/peach-engine/src/engine/image-loader.d.ts +350 -0
  179. package/dist-types/packages/peach-engine/src/engine/inspect-info.d.ts +27 -0
  180. package/dist-types/packages/peach-engine/src/engine/inspect-outline.d.ts +14 -0
  181. package/dist-types/packages/peach-engine/src/engine/inspect-visibility.d.ts +33 -0
  182. package/dist-types/packages/peach-engine/src/engine/ios-fast-scroll.d.ts +16 -0
  183. package/dist-types/packages/peach-engine/src/engine/layout-sab.d.ts +43 -0
  184. package/dist-types/packages/peach-engine/src/engine/liquid-glass-rect.d.ts +23 -0
  185. package/dist-types/packages/peach-engine/src/engine/liquid-glass-shaders.d.ts +9 -0
  186. package/dist-types/packages/peach-engine/src/engine/liquid-glass.d.ts +283 -0
  187. package/dist-types/packages/peach-engine/src/engine/live-object-counts.d.ts +6 -0
  188. package/dist-types/packages/peach-engine/src/engine/lottie-runtime.d.ts +32 -0
  189. package/dist-types/packages/peach-engine/src/engine/lottie-types.d.ts +138 -0
  190. package/dist-types/packages/peach-engine/src/engine/memory-counts.d.ts +27 -0
  191. package/dist-types/packages/peach-engine/src/engine/metalDirectContract.d.ts +108 -0
  192. package/dist-types/packages/peach-engine/src/engine/metalShaderContract.d.ts +217 -0
  193. package/dist-types/packages/peach-engine/src/engine/native-animation-driver.d.ts +112 -0
  194. package/dist-types/packages/peach-engine/src/engine/native-animation-graph.d.ts +62 -0
  195. package/dist-types/packages/peach-engine/src/engine/native-layout.d.ts +133 -0
  196. package/dist-types/packages/peach-engine/src/engine/native-resources.d.ts +26 -0
  197. package/dist-types/packages/peach-engine/src/engine/nativeReanimatedContract.d.ts +25 -0
  198. package/dist-types/packages/peach-engine/src/engine/nativeReplayContract.d.ts +64 -0
  199. package/dist-types/packages/peach-engine/src/engine/node.d.ts +589 -0
  200. package/dist-types/packages/peach-engine/src/engine/paint-boundary-types.d.ts +112 -0
  201. package/dist-types/packages/peach-engine/src/engine/paint-boundary.d.ts +57 -0
  202. package/dist-types/packages/peach-engine/src/engine/portalContract.d.ts +21 -0
  203. package/dist-types/packages/peach-engine/src/engine/portals.d.ts +20 -0
  204. package/dist-types/packages/peach-engine/src/engine/render-damage.d.ts +107 -0
  205. package/dist-types/packages/peach-engine/src/engine/riveContract.d.ts +420 -0
  206. package/dist-types/packages/peach-engine/src/engine/rn-spring.d.ts +51 -0
  207. package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +379 -0
  208. package/dist-types/packages/peach-engine/src/engine/scroll-momentum-math.d.ts +152 -0
  209. package/dist-types/packages/peach-engine/src/engine/scroll-pan-contacts.d.ts +10 -0
  210. package/dist-types/packages/peach-engine/src/engine/scroll-platform.d.ts +75 -0
  211. package/dist-types/packages/peach-engine/src/engine/scroll-range.d.ts +14 -0
  212. package/dist-types/packages/peach-engine/src/engine/scroll-velocity.d.ts +14 -0
  213. package/dist-types/packages/peach-engine/src/engine/scroll.d.ts +320 -0
  214. package/dist-types/packages/peach-engine/src/engine/signal.d.ts +7 -0
  215. package/dist-types/packages/peach-engine/src/engine/snapshot-cache-policy.d.ts +6 -0
  216. package/dist-types/packages/peach-engine/src/engine/svg-geometry.d.ts +41 -0
  217. package/dist-types/packages/peach-engine/src/engine/text-attachment-paragraphs.d.ts +10 -0
  218. package/dist-types/packages/peach-engine/src/engine/text-decoration.d.ts +11 -0
  219. package/dist-types/packages/peach-engine/src/engine/text-line-break.d.ts +22 -0
  220. package/dist-types/packages/peach-engine/src/engine/text-paint-receipt.d.ts +98 -0
  221. package/dist-types/packages/peach-engine/src/engine/text-paragraph.d.ts +11 -0
  222. package/dist-types/packages/peach-engine/src/engine/text-paragraphContract.d.ts +34 -0
  223. package/dist-types/packages/peach-engine/src/engine/text-transform.d.ts +1 -0
  224. package/dist-types/packages/peach-engine/src/engine/types.d.ts +657 -0
  225. package/dist-types/packages/peach-engine/src/engine/visible-frame.d.ts +54 -0
  226. package/dist-types/packages/peach-engine/src/engine/webrtcContract.d.ts +74 -0
  227. package/dist-types/packages/peach-engine/src/graphite-stats-fields.d.ts +184 -0
  228. package/dist-types/packages/peach-engine/src/guest-import-meta.d.ts +12 -0
  229. package/dist-types/packages/peach-engine/src/guest-module-overrides.d.ts +7 -0
  230. package/dist-types/packages/peach-engine/src/ios/app-card-types.d.ts +7 -0
  231. package/dist-types/packages/peach-engine/src/ios/apps/canvas-map-data.d.ts +177 -0
  232. package/dist-types/packages/peach-engine/src/ios/aux-home-scene.d.ts +54 -0
  233. package/dist-types/packages/peach-engine/src/ios/chrome-metrics.d.ts +47 -0
  234. package/dist-types/packages/peach-engine/src/ios/constants.d.ts +21 -0
  235. package/dist-types/packages/peach-engine/src/ios/duo-housing.d.ts +37 -0
  236. package/dist-types/packages/peach-engine/src/ios/home/types.d.ts +29 -0
  237. package/dist-types/packages/peach-engine/src/ios/home-app-catalog.d.ts +43 -0
  238. package/dist-types/packages/peach-engine/src/ios/photo-store.d.ts +73 -0
  239. package/dist-types/packages/peach-engine/src/ios/photoLibraryContract.d.ts +166 -0
  240. package/dist-types/packages/peach-engine/src/ios/shell-controller-types.d.ts +21 -0
  241. package/dist-types/packages/peach-engine/src/ios/shell-transition-debug.d.ts +18 -0
  242. package/dist-types/packages/peach-engine/src/metro-asset-path.d.ts +21 -0
  243. package/dist-types/packages/peach-engine/src/metro-fingerprint-registry-client.d.ts +11 -0
  244. package/dist-types/packages/peach-engine/src/metro-fingerprint.d.ts +38 -0
  245. package/dist-types/packages/peach-engine/src/native-preview-bundle.d.ts +44 -0
  246. package/dist-types/packages/peach-engine/src/observability/types.d.ts +74 -0
  247. package/dist-types/packages/peach-engine/src/peach-warm-manifest.d.ts +32 -0
  248. package/dist-types/packages/peach-engine/src/permissions/app-settings-client.d.ts +25 -0
  249. package/dist-types/packages/peach-engine/src/permissions/system-permission-types.d.ts +20 -0
  250. package/dist-types/packages/peach-engine/src/platform/android-back-panel.d.ts +131 -0
  251. package/dist-types/packages/peach-engine/src/platform/android-gesture-exclusion.d.ts +28 -0
  252. package/dist-types/packages/peach-engine/src/platform/android-predictive-back.d.ts +33 -0
  253. package/dist-types/packages/peach-engine/src/platform/system-bars-state.d.ts +14 -0
  254. package/dist-types/packages/peach-engine/src/playwright-sim-host.d.ts +1 -0
  255. package/dist-types/packages/peach-engine/src/preview/bundle-layout.d.ts +8 -0
  256. package/dist-types/packages/peach-engine/src/preview/bundle-variantContract.d.ts +24 -0
  257. package/dist-types/packages/peach-engine/src/preview/capture-bundle.d.ts +26 -0
  258. package/dist-types/packages/peach-engine/src/preview/compress-node.d.ts +2 -0
  259. package/dist-types/packages/peach-engine/src/preview/compress.d.ts +2 -0
  260. package/dist-types/packages/peach-engine/src/preview/presigned-upload.d.ts +60 -0
  261. package/dist-types/packages/peach-engine/src/preview/trace.d.ts +144 -0
  262. package/dist-types/packages/peach-engine/src/preview/upload-protocol.d.ts +152 -0
  263. package/dist-types/packages/peach-engine/src/profiler/animation-recording-loader.d.ts +1 -0
  264. package/dist-types/packages/peach-engine/src/profiler/profile-trace.d.ts +4 -0
  265. package/dist-types/packages/peach-engine/src/react-bridge.d.ts +3 -0
  266. package/dist-types/packages/peach-engine/src/react-native/AppState.d.ts +45 -0
  267. package/dist-types/packages/peach-engine/src/react-native/Appearance.d.ts +34 -0
  268. package/dist-types/packages/peach-engine/src/react-native/framework-colors-data.d.ts +2 -0
  269. package/dist-types/packages/peach-engine/src/react-native/host-services.d.ts +42 -0
  270. package/dist-types/packages/peach-engine/src/react-native/layout-animation.d.ts +22 -0
  271. package/dist-types/packages/peach-engine/src/react-native/platform-colors.d.ts +17 -0
  272. package/dist-types/packages/peach-engine/src/remote-stream/client-config.d.ts +10 -0
  273. package/dist-types/packages/peach-engine/src/remote-stream/cloud-display.d.ts +58 -0
  274. package/dist-types/packages/peach-engine/src/remote-stream/scene-recording.d.ts +45 -0
  275. package/dist-types/packages/peach-engine/src/render-worker/animated-drive-output.d.ts +35 -0
  276. package/dist-types/packages/peach-engine/src/render-worker/app-load.d.ts +16 -0
  277. package/dist-types/packages/peach-engine/src/render-worker/aux-surface-types.d.ts +2 -0
  278. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-shared.d.ts +42 -0
  279. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-webgpu.d.ts +434 -0
  280. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-worker-init.d.ts +12 -0
  281. package/dist-types/packages/peach-engine/src/render-worker/compositor-backend.d.ts +31 -0
  282. package/dist-types/packages/peach-engine/src/render-worker/compositor-gpu.d.ts +202 -0
  283. package/dist-types/packages/peach-engine/src/render-worker/compositor-protocol.d.ts +1945 -0
  284. package/dist-types/packages/peach-engine/src/render-worker/compositor-runtime/scroll-drag-resample.d.ts +44 -0
  285. package/dist-types/packages/peach-engine/src/render-worker/css-keyframes-drive.d.ts +36 -0
  286. package/dist-types/packages/peach-engine/src/render-worker/edit-menu-geometry.d.ts +8 -0
  287. package/dist-types/packages/peach-engine/src/render-worker/engine-resource-relay.d.ts +21 -0
  288. package/dist-types/packages/peach-engine/src/render-worker/expo-widgetContract.d.ts +16 -0
  289. package/dist-types/packages/peach-engine/src/render-worker/gesture-seam-protocol.d.ts +152 -0
  290. package/dist-types/packages/peach-engine/src/render-worker/graph-linked-value.d.ts +29 -0
  291. package/dist-types/packages/peach-engine/src/render-worker/graphite-pipeline-compiler-contract.d.ts +49 -0
  292. package/dist-types/packages/peach-engine/src/render-worker/graphite-pipeline-compiler.d.ts +12 -0
  293. package/dist-types/packages/peach-engine/src/render-worker/host-service-protocol.d.ts +756 -0
  294. package/dist-types/packages/peach-engine/src/render-worker/image-lifecycle-event.d.ts +22 -0
  295. package/dist-types/packages/peach-engine/src/render-worker/image-pixel-contract.d.ts +48 -0
  296. package/dist-types/packages/peach-engine/src/render-worker/live-frame-mirror.d.ts +34 -0
  297. package/dist-types/packages/peach-engine/src/render-worker/map-command-channel.d.ts +189 -0
  298. package/dist-types/packages/peach-engine/src/render-worker/mapNativeContract.d.ts +101 -0
  299. package/dist-types/packages/peach-engine/src/render-worker/native-dynamic-synchronizable.d.ts +22 -0
  300. package/dist-types/packages/peach-engine/src/render-worker/native-menu-gesture.d.ts +9 -0
  301. package/dist-types/packages/peach-engine/src/render-worker/native-ui-commandContract.d.ts +23 -0
  302. package/dist-types/packages/peach-engine/src/render-worker/native-ui-protocol.d.ts +1087 -0
  303. package/dist-types/packages/peach-engine/src/render-worker/native-widgetContract.d.ts +100 -0
  304. package/dist-types/packages/peach-engine/src/render-worker/nativeAnimMirrorContract.d.ts +174 -0
  305. package/dist-types/packages/peach-engine/src/render-worker/nativeSyncReplyContract.d.ts +11 -0
  306. package/dist-types/packages/peach-engine/src/render-worker/one-native-contentContract.d.ts +54 -0
  307. package/dist-types/packages/peach-engine/src/render-worker/pointerSampleContract.d.ts +14 -0
  308. package/dist-types/packages/peach-engine/src/render-worker/protocol.d.ts +880 -0
  309. package/dist-types/packages/peach-engine/src/render-worker/reanimated-css-contract.d.ts +63 -0
  310. package/dist-types/packages/peach-engine/src/render-worker/reanimated-readiness.d.ts +29 -0
  311. package/dist-types/packages/peach-engine/src/render-worker/resilient-frame-clock.d.ts +22 -0
  312. package/dist-types/packages/peach-engine/src/render-worker/retained-app-load.d.ts +20 -0
  313. package/dist-types/packages/peach-engine/src/render-worker/screen-edge-swipe-commit-protocol.d.ts +1 -0
  314. package/dist-types/packages/peach-engine/src/render-worker/screen-form-sheet-commit-protocol.d.ts +26 -0
  315. package/dist-types/packages/peach-engine/src/render-worker/scroll-mirror-tenant.d.ts +37 -0
  316. package/dist-types/packages/peach-engine/src/render-worker/scroll-mirror.d.ts +164 -0
  317. package/dist-types/packages/peach-engine/src/render-worker/shell-event-registry.d.ts +119 -0
  318. package/dist-types/packages/peach-engine/src/render-worker/shell-gesture-regions.d.ts +41 -0
  319. package/dist-types/packages/peach-engine/src/render-worker/shell-protocol.d.ts +603 -0
  320. package/dist-types/packages/peach-engine/src/render-worker/shell-scene-schema.d.ts +101 -0
  321. package/dist-types/packages/peach-engine/src/render-worker/shell-tree-inline-sources.d.ts +13 -0
  322. package/dist-types/packages/peach-engine/src/render-worker/shell-tree-wire.d.ts +87 -0
  323. package/dist-types/packages/peach-engine/src/render-worker/test-bridge-protocol.d.ts +47 -0
  324. package/dist-types/packages/peach-engine/src/render-worker/text-inputContract.d.ts +93 -0
  325. package/dist-types/packages/peach-engine/src/render-worker/tree-sync-port.d.ts +102 -0
  326. package/dist-types/packages/peach-engine/src/render-worker/webgpu-frame-transaction.d.ts +292 -0
  327. package/dist-types/packages/peach-engine/src/render-worker/webgpu-readback-scheduler.d.ts +107 -0
  328. package/dist-types/packages/peach-engine/src/render-worker/webview-capture-protocol.d.ts +16 -0
  329. package/dist-types/packages/peach-engine/src/render-worker/worker-input-runtime.d.ts +211 -0
  330. package/dist-types/packages/peach-engine/src/render-worker/worker-storage.d.ts +33 -0
  331. package/dist-types/packages/peach-engine/src/render-worker/worklet-runtime.d.ts +987 -0
  332. package/dist-types/packages/peach-engine/src/render-worker/worklet-sab.d.ts +24 -0
  333. package/dist-types/packages/peach-engine/src/rolldown-bundle-inventory.d.ts +84 -0
  334. package/dist-types/packages/peach-engine/src/rolldown-production-fingerprint.d.ts +31 -0
  335. package/dist-types/packages/peach-engine/src/screenshots/timeline-assets.d.ts +10 -0
  336. package/dist-types/packages/peach-engine/src/screenshots/tokens.d.ts +9 -0
  337. package/dist-types/packages/peach-engine/src/settings/devices.d.ts +70 -0
  338. package/dist-types/packages/peach-engine/src/settings/duo-fold-bus.d.ts +87 -0
  339. package/dist-types/packages/peach-engine/src/settings/interface-rotation.d.ts +30 -0
  340. package/dist-types/packages/peach-engine/src/settings/react-native-configuration.d.ts +12 -0
  341. package/dist-types/packages/peach-engine/src/settings/scene-geometryContract.d.ts +40 -0
  342. package/dist-types/packages/peach-engine/src/settings/store.d.ts +37 -0
  343. package/dist-types/packages/peach-engine/src/shell-events.d.ts +203 -0
  344. package/dist-types/packages/peach-engine/src/shell-intent.d.ts +68 -0
  345. package/dist-types/packages/peach-engine/src/sootsim-event.d.ts +35 -0
  346. package/dist-types/packages/peach-engine/src/top-overlay-state.d.ts +5 -0
  347. package/dist-types/packages/peach-engine/src/web-authentication-automation-host.d.ts +2 -0
  348. package/dist-types/packages/peach-engine/src/webAuthenticationContract.d.ts +34 -0
  349. package/dist-types/packages/peach-engine/src/webview-automation-host.d.ts +180 -0
  350. package/dist-types/packages/peach-engine/src/wireframe-mode.d.ts +16 -0
  351. package/dist-types/packages/peach-globals/src/frameBreakdownContract.d.ts +16 -0
  352. package/dist-types/packages/peach-globals/src/index.d.ts +3311 -0
  353. package/dist-types/packages/peach-globals/src/nativeSurfaceContract.d.ts +76 -0
  354. package/dist-types/packages/peach-globals/src/pointerSourceEventContract.d.ts +8 -0
  355. package/dist-types/packages/peach-globals/src/profileTrace.d.ts +11 -0
  356. package/dist-types/packages/peach-globals/src/profilerContract.d.ts +223 -0
  357. package/dist-types/packages/peach-kit/src/capabilities.d.ts +721 -0
  358. package/dist-types/packages/peach-kit/src/internal.d.ts +4 -0
  359. package/dist-types/packages/peach-kit/src/materials/types.d.ts +27 -0
  360. package/dist-types/packages/peach-kit/src/materials/uikit-blur-material.d.ts +14 -0
  361. package/dist-types/packages/peach-kit/src/navigation-types.d.ts +11 -0
  362. package/dist-types/packages/peach-kit/src/react-bridge.d.ts +53 -0
  363. package/dist-types/packages/peach-kit/src/runtime.d.ts +26 -0
  364. package/dist-types/packages/peach-kit/src/ui/hosting-safe-area.d.ts +24 -0
  365. package/dist-types/packages/peach-kit/src/ui/popover-placement.d.ts +53 -0
  366. package/dist-types/packages/peach-kit/src/ui/presentationContract.d.ts +17 -0
  367. package/kotlin/ComposeSources/PeachComposeHost.kt +1 -1
  368. package/kotlin/JniSources/com/facebook/jni/HybridData.kt +0 -2
  369. package/kotlin/JniSources/dev/peach/jni/NativeBindings.kt +0 -2
  370. package/kotlin/JniTransportSources/dev/peach/jni/integration/JniTransport.kt +0 -2
  371. package/kotlin/README.md +6 -0
  372. package/package.json +22 -2
  373. package/runtime-companion.json +1 -0
  374. package/skills/contrast/SKILL.md +1 -0
  375. package/src/assetCatalogContract.ts +21 -0
  376. package/src/bridge-contract-input.ts +84 -0
  377. package/src/bridge-contract.ts +35 -3
  378. package/src/browser-launch-policy.ts +1 -0
  379. package/src/bundle-channel.mjs +4 -2
  380. package/src/cli-runtime.ts +55 -0
  381. package/src/crash-fingerprint.ts +26 -0
  382. package/src/dev-bundle-resolution.ts +50 -23
  383. package/src/device-catalog.ts +1159 -0
  384. package/src/host/bridge-host.ts +3 -26
  385. package/src/host/browser-pointer.ts +71 -0
  386. package/src/host/dev-server-package-versions.ts +23 -0
  387. package/src/host/fetch-proxy-handler.ts +17 -4
  388. package/src/installed-package-versions.ts +142 -38
  389. package/src/kotlin-host.ts +1 -1
  390. package/src/metro-plugin.ts +4 -4
  391. package/src/metro-project-root.ts +68 -0
  392. package/src/nitro-adapter.lock.json +26 -0
  393. package/src/nitro-adapter.ts +103 -0
  394. package/src/nitro-bundle.ts +24 -10
  395. package/src/nitro-compile.ts +33 -51
  396. package/src/nitro-source.ts +177 -96
  397. package/src/nitroAdapterContract.ts +217 -0
  398. package/src/nitroContract.ts +24 -11
  399. package/src/process-group.ts +41 -34
  400. package/src/react-bridge-importers.ts +28 -0
  401. package/src/reactNativeConfigurationContract.ts +36 -0
  402. package/src/runtime-assets.ts +7 -2
  403. package/src/runtime-delivery.ts +2 -0
  404. package/src/runtimePlatformContract.ts +70 -0
  405. package/src/screenshots/frame-compose.ts +42 -43
  406. package/src/screenshots/org-deck.ts +9 -4
  407. package/src/screenshots/preset-names.ts +29 -0
  408. package/src/screenshots/registry.ts +5 -5
  409. package/src/screenshots/schema.ts +1 -1
  410. package/src/screenshots/screenshotContract.ts +971 -0
  411. package/src/settings-flags.ts +107 -0
  412. package/src/settingsContract.ts +609 -0
  413. package/src/storageSnapshotContract.ts +344 -0
  414. package/src/stub-pattern-matcher.ts +550 -0
  415. package/src/swift-compile.ts +908 -40
  416. package/src/swift-compiler-digest.ts +13 -1
  417. package/src/swift-distribution.lock.json +49 -22
  418. package/src/swift-host.ts +167 -52
  419. package/src/swift-objc-compile.ts +54 -24
  420. package/src/swift-objc-export.ts +532 -0
  421. package/src/swift-objc-import.ts +769 -0
  422. package/src/swift-objc-metadata.ts +285 -10
  423. package/src/swift-objc-sdk.ts +13970 -158
  424. package/src/swift-objc-standin.ts +137 -1
  425. package/src/swift-package.ts +94 -0
  426. package/src/swift-packages.ts +5 -5
  427. package/src/swift-submit.ts +6 -0
  428. package/src/swiftContract.ts +99 -0
  429. package/src/target-matcher.ts +6 -1
  430. package/src/vite-plugin.ts +14 -40
  431. package/src/worker-system-chunks.ts +1 -1
  432. package/src/workerChunkContract.ts +5 -0
  433. package/src/worklets-babel.ts +24 -5
  434. package/src/xcode-project.ts +36 -7
  435. package/src/xcode-target-members.ts +10 -3
  436. package/cli/drivers/playwright-sim-host.ts +0 -825
  437. package/kotlin/fixtures/counter/Counter.d.kt.ts +0 -17
  438. package/kotlin/fixtures/counter/Counter.kt +0 -51
  439. package/kotlin/fixtures/counter/CounterApp.native.tsx +0 -61
  440. package/kotlin/fixtures/counter/CounterApp.tsx +0 -3
  441. package/kotlin/fixtures/counter/CounterScreen.d.kt.ts +0 -8
  442. package/kotlin/fixtures/counter/CounterScreen.kt +0 -56
  443. package/kotlin/fixtures/counter/app/_layout.tsx +0 -4
  444. package/kotlin/fixtures/counter/app/index+spa.tsx +0 -1
  445. package/kotlin/fixtures/counter/app/routes.d.ts +0 -18
  446. package/kotlin/fixtures/counter/package.json +0 -20
  447. package/kotlin/fixtures/counter/tsconfig.json +0 -19
  448. package/kotlin/fixtures/counter/vite.config.ts +0 -20
  449. package/kotlin/fixtures/headless-counter/Headless.kt +0 -234
  450. package/kotlin/fixtures/import-animation/Animation.d.kt.ts +0 -7
  451. package/kotlin/fixtures/import-animation/Animation.kt +0 -80
  452. package/kotlin/fixtures/import-animation/ImportAnimation.native.tsx +0 -13
  453. package/kotlin/fixtures/import-animation/README.md +0 -24
  454. package/kotlin/fixtures/import-animation/app/_layout.tsx +0 -4
  455. package/kotlin/fixtures/import-animation/app/index+spa.tsx +0 -1
  456. package/kotlin/fixtures/import-animation/app/routes.d.ts +0 -18
  457. package/kotlin/fixtures/import-animation/package.json +0 -23
  458. package/kotlin/fixtures/import-animation/tsconfig.json +0 -20
  459. package/kotlin/fixtures/import-animation/vite.config.ts +0 -20
  460. package/kotlin/fixtures/import-drawing/Drawing.d.kt.ts +0 -7
  461. package/kotlin/fixtures/import-drawing/Drawing.kt +0 -101
  462. package/kotlin/fixtures/import-drawing/ImportDrawing.native.tsx +0 -18
  463. package/kotlin/fixtures/import-drawing/README.md +0 -34
  464. package/kotlin/fixtures/import-drawing/app/_layout.tsx +0 -4
  465. package/kotlin/fixtures/import-drawing/app/index+spa.tsx +0 -1
  466. package/kotlin/fixtures/import-drawing/package.json +0 -23
  467. package/kotlin/fixtures/import-drawing/tsconfig.json +0 -20
  468. package/kotlin/fixtures/import-drawing/vite.config.ts +0 -20
  469. package/kotlin/fixtures/import-editor/Editor.d.kt.ts +0 -7
  470. package/kotlin/fixtures/import-editor/Editor.kt +0 -59
  471. package/kotlin/fixtures/import-editor/ImportEditor.native.tsx +0 -23
  472. package/kotlin/fixtures/import-editor/README.md +0 -27
  473. package/kotlin/fixtures/import-editor/app/_layout.tsx +0 -4
  474. package/kotlin/fixtures/import-editor/app/index+spa.tsx +0 -1
  475. package/kotlin/fixtures/import-editor/package.json +0 -23
  476. package/kotlin/fixtures/import-editor/tsconfig.json +0 -20
  477. package/kotlin/fixtures/import-editor/vite.config.ts +0 -20
  478. package/kotlin/fixtures/import-effects/Effects.d.kt.ts +0 -7
  479. package/kotlin/fixtures/import-effects/Effects.kt +0 -87
  480. package/kotlin/fixtures/import-effects/ImportEffects.native.tsx +0 -13
  481. package/kotlin/fixtures/import-effects/README.md +0 -19
  482. package/kotlin/fixtures/import-effects/app/_layout.tsx +0 -4
  483. package/kotlin/fixtures/import-effects/app/index+spa.tsx +0 -1
  484. package/kotlin/fixtures/import-effects/package.json +0 -23
  485. package/kotlin/fixtures/import-effects/tsconfig.json +0 -20
  486. package/kotlin/fixtures/import-effects/vite.config.ts +0 -20
  487. package/kotlin/fixtures/import-layout/ImportLayout.native.tsx +0 -13
  488. package/kotlin/fixtures/import-layout/Layout.d.kt.ts +0 -7
  489. package/kotlin/fixtures/import-layout/Layout.kt +0 -72
  490. package/kotlin/fixtures/import-layout/README.md +0 -24
  491. package/kotlin/fixtures/import-layout/app/_layout.tsx +0 -4
  492. package/kotlin/fixtures/import-layout/app/index+spa.tsx +0 -1
  493. package/kotlin/fixtures/import-layout/package.json +0 -23
  494. package/kotlin/fixtures/import-layout/tsconfig.json +0 -20
  495. package/kotlin/fixtures/import-layout/vite.config.ts +0 -20
  496. package/kotlin/fixtures/import-navigation/ImportNavigation.native.tsx +0 -18
  497. package/kotlin/fixtures/import-navigation/Navigation.d.kt.ts +0 -7
  498. package/kotlin/fixtures/import-navigation/Navigation.kt +0 -104
  499. package/kotlin/fixtures/import-navigation/README.md +0 -31
  500. package/kotlin/fixtures/import-navigation/app/_layout.tsx +0 -4
  501. package/kotlin/fixtures/import-navigation/app/index+spa.tsx +0 -1
  502. package/kotlin/fixtures/import-navigation/package.json +0 -23
  503. package/kotlin/fixtures/import-navigation/tsconfig.json +0 -20
  504. package/kotlin/fixtures/import-navigation/vite.config.ts +0 -20
  505. package/kotlin/fixtures/import-overlays/ImportOverlays.native.tsx +0 -29
  506. package/kotlin/fixtures/import-overlays/Overlays.d.kt.ts +0 -7
  507. package/kotlin/fixtures/import-overlays/Overlays.kt +0 -93
  508. package/kotlin/fixtures/import-overlays/README.md +0 -34
  509. package/kotlin/fixtures/import-overlays/app/_layout.tsx +0 -4
  510. package/kotlin/fixtures/import-overlays/app/index+spa.tsx +0 -1
  511. package/kotlin/fixtures/import-overlays/package.json +0 -23
  512. package/kotlin/fixtures/import-overlays/tsconfig.json +0 -20
  513. package/kotlin/fixtures/import-overlays/vite.config.ts +0 -20
  514. package/kotlin/fixtures/import-resources/ImportResources.native.tsx +0 -18
  515. package/kotlin/fixtures/import-resources/README.md +0 -26
  516. package/kotlin/fixtures/import-resources/Resources.d.kt.ts +0 -6
  517. package/kotlin/fixtures/import-resources/Resources.kt +0 -72
  518. package/kotlin/fixtures/import-resources/app/_layout.tsx +0 -4
  519. package/kotlin/fixtures/import-resources/app/index+spa.tsx +0 -1
  520. package/kotlin/fixtures/import-resources/package.json +0 -23
  521. package/kotlin/fixtures/import-resources/tsconfig.json +0 -20
  522. package/kotlin/fixtures/import-resources/vite.config.ts +0 -20
  523. package/kotlin/fixtures/import-scroll/ImportNested.native.tsx +0 -10
  524. package/kotlin/fixtures/import-scroll/ImportScroll.native.tsx +0 -13
  525. package/kotlin/fixtures/import-scroll/Nested.d.kt.ts +0 -4
  526. package/kotlin/fixtures/import-scroll/Nested.kt +0 -64
  527. package/kotlin/fixtures/import-scroll/README.md +0 -38
  528. package/kotlin/fixtures/import-scroll/Scroll.d.kt.ts +0 -7
  529. package/kotlin/fixtures/import-scroll/Scroll.kt +0 -91
  530. package/kotlin/fixtures/import-scroll/app/_layout.tsx +0 -4
  531. package/kotlin/fixtures/import-scroll/app/index+spa.tsx +0 -1
  532. package/kotlin/fixtures/import-scroll/app/nested+spa.tsx +0 -1
  533. package/kotlin/fixtures/import-scroll/package.json +0 -23
  534. package/kotlin/fixtures/import-scroll/tsconfig.json +0 -20
  535. package/kotlin/fixtures/import-scroll/vite.config.ts +0 -20
  536. package/kotlin/fixtures/import-selection/ImportSelection.native.tsx +0 -44
  537. package/kotlin/fixtures/import-selection/README.md +0 -32
  538. package/kotlin/fixtures/import-selection/Selection.d.kt.ts +0 -8
  539. package/kotlin/fixtures/import-selection/Selection.kt +0 -78
  540. package/kotlin/fixtures/import-selection/app/_layout.tsx +0 -4
  541. package/kotlin/fixtures/import-selection/app/index+spa.tsx +0 -1
  542. package/kotlin/fixtures/import-selection/package.json +0 -23
  543. package/kotlin/fixtures/import-selection/tsconfig.json +0 -20
  544. package/kotlin/fixtures/import-selection/vite.config.ts +0 -20
  545. package/kotlin/fixtures/import-surfaces/ImportSurfaces.native.tsx +0 -13
  546. package/kotlin/fixtures/import-surfaces/README.md +0 -22
  547. package/kotlin/fixtures/import-surfaces/Surfaces.d.kt.ts +0 -7
  548. package/kotlin/fixtures/import-surfaces/Surfaces.kt +0 -64
  549. package/kotlin/fixtures/import-surfaces/app/_layout.tsx +0 -4
  550. package/kotlin/fixtures/import-surfaces/app/index+spa.tsx +0 -1
  551. package/kotlin/fixtures/import-surfaces/package.json +0 -23
  552. package/kotlin/fixtures/import-surfaces/tsconfig.json +0 -20
  553. package/kotlin/fixtures/import-surfaces/vite.config.ts +0 -20
  554. package/kotlin/fixtures/import-values/ImportValues.native.tsx +0 -61
  555. package/kotlin/fixtures/import-values/README.md +0 -28
  556. package/kotlin/fixtures/import-values/Values.d.kt.ts +0 -15
  557. package/kotlin/fixtures/import-values/Values.kt +0 -84
  558. package/kotlin/fixtures/import-values/app/_layout.tsx +0 -4
  559. package/kotlin/fixtures/import-values/app/index+spa.tsx +0 -1
  560. package/kotlin/fixtures/import-values/package.json +0 -23
  561. package/kotlin/fixtures/import-values/tsconfig.json +0 -20
  562. package/kotlin/fixtures/import-values/vite.config.ts +0 -20
  563. package/kotlin/fixtures/kotlin-app/app/build.gradle.kts +0 -30
  564. package/kotlin/fixtures/kotlin-app/app/src/main/AndroidManifest.xml +0 -13
  565. package/kotlin/fixtures/kotlin-app/app/src/main/java/dev/contrast/kotlinapp/MainActivity.kt +0 -60
  566. package/kotlin/fixtures/kotlin-app/app/src/main/java/dev/contrast/kotlinapp/ProbeApplication.kt +0 -18
  567. package/kotlin/fixtures/kotlin-app/build.gradle.kts +0 -5
  568. package/kotlin/fixtures/kotlin-app/gradle.properties +0 -4
  569. package/kotlin/fixtures/kotlin-app/settings.gradle.kts +0 -4
  570. package/kotlin/fixtures/kotlin-app-variants/Anim.kt +0 -62
  571. package/kotlin/fixtures/kotlin-app-variants/BarBehavior.kt +0 -38
  572. package/kotlin/fixtures/kotlin-app-variants/BarVisibility.kt +0 -36
  573. package/kotlin/fixtures/kotlin-app-variants/Bitmaps.kt +0 -50
  574. package/kotlin/fixtures/kotlin-app-variants/Browse.kt +0 -73
  575. package/kotlin/fixtures/kotlin-app-variants/Colors.kt +0 -41
  576. package/kotlin/fixtures/kotlin-app-variants/Controls.kt +0 -62
  577. package/kotlin/fixtures/kotlin-app-variants/Drag.kt +0 -56
  578. package/kotlin/fixtures/kotlin-app-variants/Draw.kt +0 -74
  579. package/kotlin/fixtures/kotlin-app-variants/Drawables.kt +0 -53
  580. package/kotlin/fixtures/kotlin-app-variants/Focus.kt +0 -62
  581. package/kotlin/fixtures/kotlin-app-variants/Form.kt +0 -47
  582. package/kotlin/fixtures/kotlin-app-variants/Icons.kt +0 -59
  583. package/kotlin/fixtures/kotlin-app-variants/Ime.kt +0 -53
  584. package/kotlin/fixtures/kotlin-app-variants/Lists.kt +0 -57
  585. package/kotlin/fixtures/kotlin-app-variants/Nav.kt +0 -47
  586. package/kotlin/fixtures/kotlin-app-variants/Note.kt +0 -40
  587. package/kotlin/fixtures/kotlin-app-variants/Overlays.kt +0 -56
  588. package/kotlin/fixtures/kotlin-app-variants/Pan.kt +0 -38
  589. package/kotlin/fixtures/kotlin-app-variants/Pickers.kt +0 -44
  590. package/kotlin/fixtures/kotlin-app-variants/Press.kt +0 -43
  591. package/kotlin/fixtures/kotlin-app-variants/Scroll.kt +0 -63
  592. package/kotlin/fixtures/kotlin-app-variants/Sheet.kt +0 -43
  593. package/kotlin/fixtures/kotlin-app-variants/Strings.kt +0 -49
  594. package/kotlin/fixtures/kotlin-app-variants/Tabs.kt +0 -47
  595. package/kotlin/fixtures/kotlin-app-variants/TextWidth.kt +0 -45
  596. package/kotlin/fixtures/kotlin-app-variants/TransientInsets.kt +0 -50
  597. package/kotlin/fixtures/kotlin-app-variants/Transition.kt +0 -69
  598. package/kotlin/fixtures/kotlin-app-variants/ViewConfig.kt +0 -22
  599. package/kotlin/fixtures/kotlin-app-variants/Widgets.kt +0 -67
  600. package/kotlin/fixtures/runtime-state/RuntimeState.kt +0 -200
  601. package/kotlin/fork/README.md +0 -97
  602. package/kotlin/fork/build.sh +0 -176
  603. package/kotlin/fork/compose-worker-globals.patch +0 -1247
  604. package/kotlin/fork/fork.json +0 -46
  605. package/kotlin/fork/publish.ts +0 -99
  606. package/kotlin/fork/skia-android-shaping.patch +0 -189
  607. package/kotlin/fork/skiko-local.init.gradle +0 -10
  608. package/kotlin/fork/skiko-worker-clock.patch +0 -122
@@ -0,0 +1,63 @@
1
+ import type { AnimatedDrivenStyleLease, AnimatedDrivenStyleRetirement } from '../engine/animated-driven-style.d.ts';
2
+ import type { CSSKeyframesDrive } from './css-keyframes-drive.d.ts';
3
+ import type { WorkletViewRef } from './worklet-runtime.d.ts';
4
+ export type CSSEventType = 'animationStart' | 'animationEnd' | 'animationIteration' | 'animationCancel' | 'transitionRun' | 'transitionStart' | 'transitionEnd' | 'transitionCancel';
5
+ export interface NativeCSSEvent {
6
+ tag: number;
7
+ type: CSSEventType;
8
+ name: string;
9
+ elapsedTime: number;
10
+ }
11
+ export declare const CSS_EVENT_MASK: {
12
+ readonly animationStart: number;
13
+ readonly animationEnd: number;
14
+ readonly animationIteration: number;
15
+ readonly animationCancel: number;
16
+ readonly transitionRun: number;
17
+ readonly transitionStart: number;
18
+ readonly transitionEnd: number;
19
+ readonly transitionCancel: number;
20
+ };
21
+ export interface CSSRelativeTo {
22
+ node: 'self' | 'parent';
23
+ dimension: 'width' | 'height';
24
+ }
25
+ export type CSSLayoutResolver = (target: WorkletViewRef, relativeTo: CSSRelativeTo) => number | null;
26
+ export interface CSSShellHost {
27
+ resolveLayout: CSSLayoutResolver;
28
+ retireDrivenStyle: (target: WorkletViewRef, retirement: AnimatedDrivenStyleRetirement) => void;
29
+ createDrive: (target: WorkletViewRef, drive: CSSKeyframesDrive, seeds: number[], onEnd: () => void) => number | null;
30
+ driveLink: (target: WorkletViewRef, drive: number, value: number, prop: string, angle: boolean) => unknown;
31
+ stopDrive: (drive: number) => void;
32
+ }
33
+ export interface ReanimatedCSSRuntimeHost extends CSSShellHost {
34
+ applyUpdates: (target: WorkletViewRef, updates: Record<string, unknown>, lease: AnimatedDrivenStyleLease) => void;
35
+ reportEvents?: (events: NativeCSSEvent[]) => void;
36
+ now: () => number;
37
+ }
38
+ export interface ReanimatedCSSRuntimeStats {
39
+ activeViews: number;
40
+ keyframes: number;
41
+ views: number;
42
+ nativeViewTags: number[];
43
+ }
44
+ export interface ReanimatedCSSRuntimeLike {
45
+ setViewStyle(target: WorkletViewRef, style: unknown, timestamp: number): boolean;
46
+ registerTransition(target: WorkletViewRef, config: unknown): void;
47
+ updateTransition(target: WorkletViewRef, config: unknown, timestamp: number): boolean;
48
+ registerKeyframes(name: string, componentName: string, config: unknown): void;
49
+ unregisterKeyframes(name: string, componentName: string): void;
50
+ applyAnimations(target: WorkletViewRef, componentName: string, value: unknown, timestamp: number): boolean;
51
+ unregisterAnimations(target: WorkletViewRef, timestamp?: number): boolean;
52
+ runTransition(target: WorkletViewRef, value: unknown, timestamp: number, eventMask?: number): boolean;
53
+ unregisterTransition(target: WorkletViewRef, timestamp?: number): boolean;
54
+ removeView(target: WorkletViewRef, timestamp?: number): boolean;
55
+ getStats(): ReanimatedCSSRuntimeStats;
56
+ isActive(): boolean;
57
+ tick(timestamp: number): boolean;
58
+ clear(): void;
59
+ retirePeerState(): void;
60
+ }
61
+ export type ReanimatedCSSRuntimeCtor = new (host: ReanimatedCSSRuntimeHost) => ReanimatedCSSRuntimeLike;
62
+ export declare function registerReanimatedCSSRuntimeCtor(ctor: ReanimatedCSSRuntimeCtor): void;
63
+ export declare function getReanimatedCSSRuntimeCtor(): ReanimatedCSSRuntimeCtor | null;
@@ -0,0 +1,29 @@
1
+ export type ReanimatedAnimationKind = 'repeat' | 'delay' | 'sequence' | 'clamp';
2
+ export type AnimationResultObserver = (result: unknown, args: unknown[]) => void;
3
+ export type ReanimatedAnimationComposition = {
4
+ kind: ReanimatedAnimationKind;
5
+ children: (object | undefined)[];
6
+ repetitions?: number;
7
+ };
8
+ export declare function reanimatedAnimationComposition(animation: object): ReanimatedAnimationComposition | null;
9
+ export declare function reanimatedAnimationModuleKind(path: string): ReanimatedAnimationKind | null;
10
+ export declare function reanimatedFactoryKind(name: string): ReanimatedAnimationKind | null;
11
+ export declare function registerAnimationInitializerBodies(kind: ReanimatedAnimationKind, bodies: string[]): void;
12
+ export declare function clearAnimationInitializerBodies(): void;
13
+ export declare function registerAnimationInitializer(initializer: object, kind: ReanimatedAnimationKind): void;
14
+ export declare function animationInitializerKind(source: object): ReanimatedAnimationKind | null;
15
+ export declare function animationFactoryKind(source: object): ReanimatedAnimationKind | null;
16
+ export declare function registerAnimationFactory(factory: object, kind: ReanimatedAnimationKind): void;
17
+ export declare function recordAnimationInitializerResult(kind: ReanimatedAnimationKind, result: unknown, nativeClosure: object, source: object): void;
18
+ export declare function recordAnimationFactoryResult(kind: ReanimatedAnimationKind, result: unknown, args: unknown[]): void;
19
+ export declare function animationResultObserver(source: object, readClosure: () => unknown): AnimationResultObserver | null;
20
+ export declare function noteComposedChild(worklet: object, result: unknown): void;
21
+ export declare function runObservedAnimation<T>(worklet: object, observe: AnimationResultObserver, args: unknown[], call: () => T): T;
22
+ export declare function observeReanimatedSetter(mutable: object, value: unknown, call: () => void): void;
23
+ export declare function observeAnimationFrameRequest(callback: FrameRequestCallback): void;
24
+ export declare function requestPlaybackFrame(isPlayback: () => boolean, request: () => number): number;
25
+ export declare function isBackgroundAnimationFrame(callback: FrameRequestCallback): boolean;
26
+ export declare function isBackgroundRepeatAnimation(animation: object): boolean;
27
+ export type SharedValuePlayback = 'idle' | 'blocking' | 'background';
28
+ export declare function setDerivedValuePlayback(value: object, playback: SharedValuePlayback): void;
29
+ export declare function sharedValuePlayback(value: object): SharedValuePlayback;
@@ -0,0 +1,22 @@
1
+ export type ResilientFrameSource = 'display' | 'timer';
2
+ export interface ResilientFrameClockStats {
3
+ displayFrames: number;
4
+ timerFrames: number;
5
+ }
6
+ export interface ResilientFrameClockOptions {
7
+ requestFrame: (callback: FrameRequestCallback) => number;
8
+ cancelFrame: (id: number) => void;
9
+ isHidden: () => boolean;
10
+ hiddenFrameMs?: number;
11
+ now?: () => number;
12
+ setTimer?: (callback: () => void, delayMs: number) => ReturnType<typeof setTimeout>;
13
+ clearTimer?: (id: ReturnType<typeof setTimeout>) => void;
14
+ }
15
+ export interface ResilientFrameClock {
16
+ request(callback: (now: number, source: ResilientFrameSource) => void): number;
17
+ cancel(id: number): void;
18
+ getStats(): ResilientFrameClockStats;
19
+ resetStats(): void;
20
+ dispose(): void;
21
+ }
22
+ export declare function createResilientFrameClock(options: ResilientFrameClockOptions): ResilientFrameClock;
@@ -0,0 +1,20 @@
1
+ import type { NativePreviewBundle, NativePreviewBundleShared } from '../native-preview-bundle.d.ts';
2
+ import type { AppLoadRequest } from './protocol.d.ts';
3
+ type RetainedInlineBundle = NativePreviewBundleShared & {
4
+ code?: Blob;
5
+ update?: {
6
+ code: Blob;
7
+ baseSequence: number;
8
+ } | null;
9
+ };
10
+ export type RetainedAppLoadRequest = Exclude<AppLoadRequest, {
11
+ kind: 'shell';
12
+ }> | (Omit<Extract<AppLoadRequest, {
13
+ kind: 'shell';
14
+ }>, 'inlineBundle'> & {
15
+ inlineBundle?: RetainedInlineBundle;
16
+ });
17
+ export declare function retainInlineBundle(bundle: NativePreviewBundle): RetainedInlineBundle;
18
+ export declare function retainAppLoad(request: AppLoadRequest): RetainedAppLoadRequest;
19
+ export declare function materializeAppLoad(request: RetainedAppLoadRequest): Promise<AppLoadRequest>;
20
+ export {};
@@ -0,0 +1 @@
1
+ export type { ScreenEdgeSwipeCommit } from '../../../peach-kit/src/runtime.d.ts';
@@ -0,0 +1,26 @@
1
+ import type { SheetDismissalLifecycle, SheetDismissalResult } from '../../../peach-kit/src/ui/presentationContract.d.ts';
2
+ export type ScreenFormSheetMotion = {
3
+ surfaceId: string;
4
+ generation: number;
5
+ viewTag: number;
6
+ } & ({
7
+ kind: 'position';
8
+ fromTop: number;
9
+ toTop: number;
10
+ } | {
11
+ kind: 'dismissalDecision';
12
+ requestId: number;
13
+ result: SheetDismissalResult;
14
+ });
15
+ export type ScreenFormSheetCommit = {
16
+ stackId: number;
17
+ target: 'detent' | 'dismiss';
18
+ index?: number;
19
+ previousIndex: number;
20
+ dismissAttempt?: boolean;
21
+ } & ({
22
+ phase: 'release' | 'settle' | 'endEditing';
23
+ } | {
24
+ phase: 'request' | 'cancel';
25
+ requestId: number;
26
+ } | SheetDismissalLifecycle);
@@ -0,0 +1,37 @@
1
+ import { type ScrollMirrorOwner, type ScrollMirrorControlMessage } from './scroll-mirror.d.ts';
2
+ import type { SootSimNode } from '../engine/node.d.ts';
3
+ import type { ScrollHandler } from '../engine/scroll.d.ts';
4
+ import type { TenantToShellPeerMessage } from './tree-sync-port.d.ts';
5
+ import type { SootSimScrollOffsetSample } from '../../../peach-globals/src/index.d.ts';
6
+ type PostMessage = (msg: Extract<TenantToShellPeerMessage, {
7
+ type: 'scrollMirror' | 'scrollControl';
8
+ }>) => void;
9
+ type ImperativeScrollCommand = Pick<Extract<ScrollMirrorControlMessage, {
10
+ type: 'scrollTo';
11
+ }>, 'type' | 'contentOffsetX' | 'contentOffsetY' | 'animation'> | Pick<Extract<ScrollMirrorControlMessage, {
12
+ type: 'flashIndicators';
13
+ }>, 'type'>;
14
+ export declare function readNodeSurfaceId(node: SootSimNode): string | undefined;
15
+ export declare function readNodeScrollOwner(node: SootSimNode): ScrollMirrorOwner | null;
16
+ export declare function publishScrollMirrorNow(post: PostMessage): void;
17
+ export declare function scheduleScrollMirrorPublish(surfaceId?: string): void;
18
+ export declare function subscribeScrollMirrorRegistryInvalidation(listener: () => void): () => void;
19
+ export declare function subscribeImperativeScroll(listener: (node: SootSimNode, command: ImperativeScrollCommand) => void): () => void;
20
+ export declare function postImperativeScrollToShell(node: SootSimNode, command: ImperativeScrollCommand): void;
21
+ export declare function installScrollMirrorTenantPublisher(opts: {
22
+ post: PostMessage;
23
+ }): void;
24
+ export declare function getScrollMirrorTenantDebug(): Record<string, unknown>;
25
+ export declare function startTenantScrollPerformanceTrace(limit?: number): void;
26
+ export declare function stopTenantScrollPerformanceTrace(): SootSimScrollOffsetSample[];
27
+ export declare function attachScrollSABWriter(handler: ScrollHandler, owner: ScrollMirrorOwner, requestRender?: () => void): void;
28
+ export declare function detachScrollSABWriter(handler: ScrollHandler): void;
29
+ export declare function triggerShellRefresh(owner: ScrollMirrorOwner): boolean;
30
+ export declare function syncAttachedScrollWriterBaseline(node: SootSimNode, opts?: {
31
+ fromShell?: boolean;
32
+ }): void;
33
+ export declare function endShellScrollOffsetPolling(owner: ScrollMirrorOwner, opts?: {
34
+ forceScrollEvent?: boolean;
35
+ }): boolean;
36
+ export declare function __resetScrollMirrorTenantPublisherInstalled(): void;
37
+ export {};
@@ -0,0 +1,164 @@
1
+ import { type IosFastScroll } from '../engine/ios-fast-scroll.d.ts';
2
+ import type { AndroidEdgeEffectState } from '../engine/android-stretch-effect.d.ts';
3
+ import type { CollapseBand, ScrollRelease } from '../engine/scroll-momentum-math.d.ts';
4
+ import type { ScrollContentInset } from '../engine/scroll-range.d.ts';
5
+ import type { WorkletRuntime } from './worklet-runtime.d.ts';
6
+ export interface ScrollMirrorRect {
7
+ x: number;
8
+ y: number;
9
+ width: number;
10
+ height: number;
11
+ }
12
+ export interface ScrollMirrorOwner {
13
+ surfaceId: string;
14
+ generation: number;
15
+ nodeId: number;
16
+ }
17
+ export interface ScrollMirrorEntry extends ScrollMirrorOwner {
18
+ allocationId: string;
19
+ slotX: number;
20
+ slotY: number;
21
+ slotZoom: number;
22
+ slotVersion: number;
23
+ slotSampleTime: number;
24
+ slotDragStartTime: number;
25
+ slotPresentationDisplacementY: number;
26
+ abs: ScrollMirrorRect;
27
+ contentWidth: number;
28
+ contentHeight: number;
29
+ contentInset?: ScrollContentInset;
30
+ automaticContentInset?: Partial<ScrollContentInset>;
31
+ zoomScale?: number;
32
+ minimumZoomScale?: number;
33
+ maximumZoomScale?: number;
34
+ horizontal: boolean;
35
+ directionalLockEnabled?: boolean;
36
+ axisFlipped?: boolean;
37
+ scrollEnabled: boolean;
38
+ parentNodeId: number | null;
39
+ nestedScrollEnabled?: boolean;
40
+ pagingEnabled: boolean;
41
+ snapToInterval?: number;
42
+ snapToAlignment?: 'start' | 'center' | 'end';
43
+ snapToOffsets?: number[];
44
+ snapToStart: boolean;
45
+ snapToEnd: boolean;
46
+ disableIntervalMomentum: boolean;
47
+ collapseBand?: CollapseBand;
48
+ decelerationRate?: unknown;
49
+ scrollEventThrottle?: number;
50
+ refreshEnabled: boolean;
51
+ refreshing: boolean;
52
+ refreshHasTitle?: boolean;
53
+ refreshTitleFontSize?: number;
54
+ overScrollMode?: unknown;
55
+ bounces?: boolean;
56
+ requiresGestureClaim?: boolean;
57
+ }
58
+ export interface ScrollMirrorRegistry {
59
+ surfaceId: string;
60
+ generation: number;
61
+ entries: ScrollMirrorEntry[];
62
+ retirements?: ScrollSlotRetirement[];
63
+ }
64
+ export interface ScrollSlotRetirement extends ScrollMirrorOwner {
65
+ retirementId: string;
66
+ slotX: number;
67
+ }
68
+ export declare function isScrollSlotRetirement(value: unknown): value is ScrollSlotRetirement;
69
+ export type ScrollMirrorRegistryMessage = {
70
+ type: 'registry';
71
+ registry: ScrollMirrorRegistry;
72
+ };
73
+ export type ScrollMirrorControlMessage = ({
74
+ type: 'flashIndicators';
75
+ } & ScrollMirrorOwner) | ({
76
+ type: 'claim';
77
+ pointerId: number;
78
+ } & ScrollMirrorOwner) | ({
79
+ type: 'release';
80
+ pointerId: number;
81
+ } & ScrollRelease & ScrollMirrorOwner) | ({
82
+ type: 'endDrag';
83
+ pointerId: number;
84
+ } & ScrollMirrorOwner) | ({
85
+ type: 'momentumBegin';
86
+ pointerId: number;
87
+ } & ScrollMirrorOwner) | ({
88
+ type: 'momentumEnd';
89
+ pointerId: number;
90
+ } & ScrollMirrorOwner) | ({
91
+ type: 'cancel';
92
+ pointerId: number;
93
+ } & ScrollMirrorOwner) | ({
94
+ type: 'abandon';
95
+ pointerId: number;
96
+ } & ScrollMirrorOwner) | ({
97
+ type: 'confirm';
98
+ pointerId: number;
99
+ } & ScrollMirrorOwner) | ({
100
+ type: 'scrollTo';
101
+ animation?: import('../engine/scroll-momentum-math.d.ts').TimedScrollControl;
102
+ contentOffsetX: number;
103
+ contentOffsetY: number;
104
+ } & ScrollMirrorOwner) | ({
105
+ type: 'refresh';
106
+ pointerId: number;
107
+ } & ScrollMirrorOwner) | ({
108
+ type: 'scroll';
109
+ animation?: import('../engine/scroll-momentum-math.d.ts').TimedScrollPresentation;
110
+ pointerId: number;
111
+ contentOffsetX: number;
112
+ contentOffsetY: number;
113
+ refreshPullProgress: number;
114
+ androidEdgeEffect: AndroidEdgeEffectState | null;
115
+ ts: number;
116
+ } & ScrollMirrorOwner);
117
+ export type ScrollMirrorEnvelope = ScrollMirrorRegistryMessage;
118
+ export type ScrollControlEnvelope = ScrollMirrorControlMessage;
119
+ interface SlotPair {
120
+ allocationId: string;
121
+ slotX: number;
122
+ slotY: number;
123
+ slotZoom: number;
124
+ slotVersion: number;
125
+ slotSampleTime: number;
126
+ slotDragStartTime: number;
127
+ slotPresentationDisplacementY: number;
128
+ }
129
+ export declare function scrollMirrorOwnerKey(owner: ScrollMirrorOwner): string;
130
+ export declare function sameScrollMirrorOwner(left: ScrollMirrorOwner, right: ScrollMirrorOwner): boolean;
131
+ export declare function getOrAllocateScrollSlots(runtime: WorkletRuntime, owner: ScrollMirrorOwner): SlotPair | null;
132
+ export declare function getKnownScrollSlots(owner: ScrollMirrorOwner): SlotPair | null;
133
+ export declare function releaseScrollSlots(runtime: WorkletRuntime, owner: ScrollMirrorOwner): boolean;
134
+ export declare function releaseScrollSlotsExcept(runtime: WorkletRuntime, liveOwners: ReadonlySet<string>): number;
135
+ export declare function publishScrollMirrorRegistry(runtime: WorkletRuntime, registry: Omit<ScrollMirrorRegistry, 'retirements'>, post: (registry: ScrollMirrorRegistry) => void): void;
136
+ export declare function acknowledgeScrollSlotRetirement(runtime: WorkletRuntime, receipt: ScrollSlotRetirement): boolean;
137
+ export declare function writeScrollOffset(runtime: WorkletRuntime, owner: ScrollMirrorOwner, offsetX: number, offsetY: number, opts?: {
138
+ notifyPeer?: boolean;
139
+ zoomScale?: number;
140
+ presented?: boolean;
141
+ sampleTime?: number;
142
+ dragStartTime?: number;
143
+ presentationDisplacementY?: number;
144
+ }): void;
145
+ export declare function setShellRefreshHold(owner: ScrollMirrorOwner, holding: boolean): void;
146
+ export declare function isShellRefreshHolding(owner: ScrollMirrorOwner): boolean;
147
+ export declare function setShellRefreshPullProgress(owner: ScrollMirrorOwner, progress: number): void;
148
+ export declare function getShellRefreshPullProgress(owner: ScrollMirrorOwner): number;
149
+ export declare function setShellAndroidEdgeEffect(owner: ScrollMirrorOwner, effect: AndroidEdgeEffectState | null): void;
150
+ export declare function getShellAndroidEdgeEffect(owner: ScrollMirrorOwner): AndroidEdgeEffectState | null;
151
+ export declare function getShellIosFastScroll(owner: ScrollMirrorOwner): IosFastScroll;
152
+ export declare function applyScrollMirrorRegistry(registry: ScrollMirrorRegistry): boolean;
153
+ export declare function retireScrollMirrorEntries(retirements: readonly ScrollSlotRetirement[]): void;
154
+ export declare function subscribeScrollMirror(fn: (reg: ScrollMirrorRegistry) => void): () => void;
155
+ export declare function getScrollMirrorEntry(owner: ScrollMirrorOwner): ScrollMirrorEntry | null;
156
+ export declare function getAllScrollMirrorEntries(): ScrollMirrorEntry[];
157
+ export declare function forEachShellScrollEntry(cb: (entry: ScrollMirrorEntry) => void): void;
158
+ export declare function getScrollMirrorOffset(runtime: WorkletRuntime, owner: ScrollMirrorOwner): {
159
+ x: number;
160
+ y: number;
161
+ } | null;
162
+ export declare function findScrollablesAt(surfaceId: string, x: number, y: number): ScrollMirrorEntry[];
163
+ export declare function findScrollableAt(x: number, y: number, surfaceId?: string): ScrollMirrorEntry | null;
164
+ export {};
@@ -0,0 +1,119 @@
1
+ export declare const RENDER_WORKER_SHELL_EVENT_SPECS: readonly [{
2
+ readonly type: 'peach:screenCaptureState';
3
+ readonly forwardToShellWorker: true;
4
+ readonly forwardToTenantWorker: false;
5
+ }, {
6
+ readonly type: 'sootsim:ringHint';
7
+ readonly forwardToShellWorker: true;
8
+ readonly forwardToTenantWorker: true;
9
+ }, {
10
+ readonly type: 'sootsim:ringModeChange';
11
+ readonly forwardToShellWorker: true;
12
+ readonly forwardToTenantWorker: true;
13
+ }, {
14
+ readonly type: 'sootsim:homeIntro';
15
+ readonly forwardToShellWorker: true;
16
+ readonly forwardToTenantWorker: false;
17
+ }, {
18
+ readonly type: 'sootsim:uploadActivity';
19
+ readonly forwardToShellWorker: true;
20
+ readonly forwardToTenantWorker: false;
21
+ }, {
22
+ readonly type: 'sootsim:statusBarOverride';
23
+ readonly forwardToShellWorker: true;
24
+ readonly forwardToTenantWorker: false;
25
+ }, {
26
+ readonly type: 'sootsim:previewReplayClock';
27
+ readonly forwardToShellWorker: false;
28
+ readonly forwardToTenantWorker: true;
29
+ }, {
30
+ readonly type: 'sootsim:hostFocusChange';
31
+ readonly forwardToShellWorker: true;
32
+ readonly forwardToTenantWorker: false;
33
+ }, {
34
+ readonly type: 'sootsim:goHome';
35
+ readonly forwardToShellWorker: true;
36
+ readonly forwardToTenantWorker: false;
37
+ }, {
38
+ readonly type: 'sootsim:appSwitcher';
39
+ readonly forwardToShellWorker: true;
40
+ readonly forwardToTenantWorker: false;
41
+ }, {
42
+ readonly type: 'sootsim:toggleLock';
43
+ readonly forwardToShellWorker: true;
44
+ readonly forwardToTenantWorker: false;
45
+ }, {
46
+ readonly type: 'sootsim:shake';
47
+ readonly forwardToShellWorker: true;
48
+ readonly forwardToTenantWorker: true;
49
+ }, {
50
+ readonly type: 'sootsim:screenshotTaken';
51
+ readonly forwardToShellWorker: false;
52
+ readonly forwardToTenantWorker: true;
53
+ }, {
54
+ readonly type: 'sootsim:agentAction';
55
+ readonly forwardToShellWorker: false;
56
+ readonly forwardToTenantWorker: true;
57
+ }, {
58
+ readonly type: 'sootsim:openNotificationCenter';
59
+ readonly forwardToShellWorker: true;
60
+ readonly forwardToTenantWorker: false;
61
+ }, {
62
+ readonly type: 'sootsim:openControlCenter';
63
+ readonly forwardToShellWorker: true;
64
+ readonly forwardToTenantWorker: false;
65
+ }, {
66
+ readonly type: 'sootsim:closeNotificationCenter';
67
+ readonly forwardToShellWorker: true;
68
+ readonly forwardToTenantWorker: false;
69
+ }, {
70
+ readonly type: 'sootsim:closeControlCenter';
71
+ readonly forwardToShellWorker: true;
72
+ readonly forwardToTenantWorker: false;
73
+ }, {
74
+ readonly type: 'sootsim:setTopOverlay';
75
+ readonly forwardToShellWorker: true;
76
+ readonly forwardToTenantWorker: false;
77
+ }, {
78
+ readonly type: 'sootsim:inspectModeChange';
79
+ readonly forwardToShellWorker: true;
80
+ readonly forwardToTenantWorker: true;
81
+ }, {
82
+ readonly type: 'sootsim:hoverPosition';
83
+ readonly forwardToShellWorker: true;
84
+ readonly forwardToTenantWorker: false;
85
+ }, {
86
+ readonly type: 'sootsim:hoverLeave';
87
+ readonly forwardToShellWorker: true;
88
+ readonly forwardToTenantWorker: false;
89
+ }, {
90
+ readonly type: 'sootsim:inspectSelectPosition';
91
+ readonly forwardToShellWorker: true;
92
+ readonly forwardToTenantWorker: true;
93
+ }, {
94
+ readonly type: 'sootsim:inspectHoverNode';
95
+ readonly forwardToShellWorker: true;
96
+ readonly forwardToTenantWorker: false;
97
+ }, {
98
+ readonly type: 'sootsim:inspectSelectNode';
99
+ readonly forwardToShellWorker: true;
100
+ readonly forwardToTenantWorker: false;
101
+ }, {
102
+ readonly type: 'sootsim:hostKey';
103
+ readonly forwardToShellWorker: true;
104
+ readonly forwardToTenantWorker: true;
105
+ }, {
106
+ readonly type: 'sootsim:menuAnimOverride';
107
+ readonly forwardToShellWorker: true;
108
+ readonly forwardToTenantWorker: true;
109
+ }];
110
+ export type ShellEventType = (typeof RENDER_WORKER_SHELL_EVENT_SPECS)[number]['type'];
111
+ export type ShellWorkerShellEventType = Extract<(typeof RENDER_WORKER_SHELL_EVENT_SPECS)[number], {
112
+ forwardToShellWorker: true;
113
+ }>['type'];
114
+ export type TenantWorkerShellEventType = Extract<(typeof RENDER_WORKER_SHELL_EVENT_SPECS)[number], {
115
+ forwardToTenantWorker: true;
116
+ }>['type'];
117
+ export declare const SHELL_WORKER_SHELL_EVENT_TYPES: ("peach:screenCaptureState" | "sootsim:appSwitcher" | "sootsim:closeControlCenter" | "sootsim:closeNotificationCenter" | "sootsim:goHome" | "sootsim:homeIntro" | "sootsim:hostFocusChange" | "sootsim:hostKey" | "sootsim:hoverLeave" | "sootsim:hoverPosition" | "sootsim:inspectHoverNode" | "sootsim:inspectModeChange" | "sootsim:inspectSelectNode" | "sootsim:inspectSelectPosition" | "sootsim:menuAnimOverride" | "sootsim:openControlCenter" | "sootsim:openNotificationCenter" | "sootsim:ringHint" | "sootsim:ringModeChange" | "sootsim:setTopOverlay" | "sootsim:shake" | "sootsim:statusBarOverride" | "sootsim:toggleLock" | "sootsim:uploadActivity")[];
118
+ export declare const TENANT_WORKER_SHELL_EVENT_TYPES: ("sootsim:agentAction" | "sootsim:hostKey" | "sootsim:inspectModeChange" | "sootsim:inspectSelectPosition" | "sootsim:menuAnimOverride" | "sootsim:previewReplayClock" | "sootsim:ringHint" | "sootsim:ringModeChange" | "sootsim:screenshotTaken" | "sootsim:shake")[];
119
+ export declare function readRenderWorkerShellEventDetail(eventType: ShellEventType, event: Event): unknown;
@@ -0,0 +1,41 @@
1
+ import { type DeviceSpec } from '../../../../../src/device-catalog.ts';
2
+ import { type AndroidSystemBarsWindow } from '../platform/system-bars-state.d.ts';
3
+ export type ShellGestureRegion = 'top-left' | 'top-right' | 'android-shade' | 'android-status-reveal' | 'android-navigation-reveal' | 'island' | 'bottom' | 'android-bottom' | 'android-edge-left' | 'android-edge-right' | 'android-corner-left' | 'android-corner-right' | 'android-reveal-corner-left' | 'android-reveal-corner-right' | 'fullscreen' | null;
4
+ export type AndroidEdgeBackRegion = 'android-edge-left' | 'android-edge-right';
5
+ export type AndroidCornerGestureRegion = 'android-corner-left' | 'android-corner-right' | 'android-reveal-corner-left' | 'android-reveal-corner-right';
6
+ export type AndroidSystemGestureCandidateRegion = 'android-bottom' | 'android-status-reveal' | 'android-navigation-reveal' | AndroidEdgeBackRegion | AndroidCornerGestureRegion;
7
+ export type AndroidSystemGestureClaimRegion = 'android-bottom' | 'android-status-reveal' | 'android-navigation-reveal' | 'android-shade' | AndroidEdgeBackRegion;
8
+ export type AndroidSystemGestureDecision = {
9
+ state: 'wait' | 'cancel';
10
+ } | {
11
+ state: 'activate';
12
+ region: AndroidSystemGestureClaimRegion;
13
+ } | {
14
+ state: 'narrow';
15
+ region: 'android-status-reveal';
16
+ };
17
+ export declare const ANDROID_SYSTEM_BARS_REVEAL_START_THRESHOLD = 24;
18
+ export declare const ANDROID_SYSTEM_BARS_REVEAL_DISTANCE = 24;
19
+ export declare const ANDROID_SYSTEM_BARS_REVEAL_TIMEOUT_MS = 500;
20
+ export declare function getShellGestureRegion(spec: DeviceSpec, x: number, y: number, opts?: {
21
+ fullscreen?: boolean;
22
+ statusBarHidden?: boolean;
23
+ androidWindow?: AndroidSystemBarsWindow;
24
+ }): ShellGestureRegion;
25
+ export declare function isShellTopGestureRegion(region: ShellGestureRegion): boolean;
26
+ export declare function isAndroidEdgeBackRegion(region: ShellGestureRegion): region is AndroidEdgeBackRegion;
27
+ export declare function isAndroidSystemGestureCandidateRegion(region: ShellGestureRegion): region is AndroidSystemGestureCandidateRegion;
28
+ export declare function androidSystemGestureCandidateAllowsContentFallback(region: AndroidSystemGestureCandidateRegion): boolean;
29
+ export declare function isAndroidBackGestureCandidateRegion(region: AndroidSystemGestureCandidateRegion): boolean;
30
+ export declare function resolveAndroidSystemGestureIntent(params: {
31
+ region: AndroidSystemGestureCandidateRegion;
32
+ startX: number;
33
+ startY: number;
34
+ x: number;
35
+ y: number;
36
+ displayHeight: number;
37
+ elapsedMs: number;
38
+ statusRevealStartThreshold: number;
39
+ backGestureExcluded?: boolean;
40
+ }): AndroidSystemGestureDecision;
41
+ export declare function isShellExclusiveGestureRegion(region: ShellGestureRegion): boolean;