peachsim 0.1.1641 → 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 (618) hide show
  1. package/README.md +12 -0
  2. package/cli/app-bundle-resources.ts +57 -0
  3. package/cli/app-catalog.ts +1 -1
  4. package/cli/app-fonts.ts +11 -80
  5. package/cli/app-splash.ts +18 -12
  6. package/cli/bridge-flow-runner.ts +11 -7
  7. package/cli/cloud-client.ts +10 -13
  8. package/cli/command-registry.ts +13 -4
  9. package/cli/commands/box.ts +4 -4
  10. package/cli/commands/control.ts +105 -53
  11. package/cli/commands/coverage-parser.ts +67 -0
  12. package/cli/commands/coverage.ts +550 -0
  13. package/cli/commands/debug.ts +9 -18
  14. package/cli/commands/desktop.ts +19 -7
  15. package/cli/commands/device.ts +14 -9
  16. package/cli/commands/guest-host.ts +6 -10
  17. package/cli/commands/inspect/core.ts +81 -17
  18. package/cli/commands/inspect.ts +13 -8
  19. package/cli/commands/kotlin.ts +2 -2
  20. package/cli/commands/maestro-compare.ts +1 -1
  21. package/cli/commands/platform.ts +20 -11
  22. package/cli/commands/preview.ts +16 -18
  23. package/cli/commands/runtime.ts +3 -2
  24. package/cli/commands/screenshot-layers.ts +1 -1
  25. package/cli/commands/screenshot.ts +1 -1
  26. package/cli/commands/serve.ts +5 -1
  27. package/cli/commands/support.ts +4 -4
  28. package/cli/commands/three-mode.ts +22 -15
  29. package/cli/commands/upload.ts +44 -45
  30. package/cli/current-sim.ts +38 -0
  31. package/cli/desktop-companion.ts +36 -8
  32. package/cli/device-option.ts +1 -1
  33. package/cli/drivers/playwright.ts +40 -0
  34. package/cli/drivers/types.ts +4 -0
  35. package/cli/help-core.ts +1 -1
  36. package/cli/internal-child.ts +2 -1
  37. package/cli/main.ts +9 -3
  38. package/cli/outbound-endpoints.ts +15 -5
  39. package/cli/output-redaction.ts +39 -14
  40. package/cli/remote-simulators.ts +4 -1
  41. package/cli/scene-video.ts +5 -2
  42. package/cli/send-to-box.ts +7 -10
  43. package/cli/telemetry.ts +1 -1
  44. package/cli/ws-bridge.ts +8 -1
  45. package/detox/attempt-events.cjs +3 -1
  46. package/detox/attempt-events.d.cts +1 -1
  47. package/detox/expectations.ts +108 -99
  48. package/detox/frame-offset.d.mts +6 -0
  49. package/detox/frame-offset.mjs +35 -0
  50. package/detox/gestures.ts +6 -18
  51. package/detox/index.ts +169 -101
  52. package/detox/jest-preset.cjs +1 -3
  53. package/detox/jest-transform.cjs +4 -0
  54. package/detox/matchers.ts +3 -0
  55. package/detox/motion-change.cjs +52 -118
  56. package/detox/motion-change.d.cts +6 -27
  57. package/detox/motion-leg-starts.cjs +20 -0
  58. package/detox/motion-leg-starts.d.cts +8 -0
  59. package/dist-lib/agent-daemon-client.cjs +1 -1
  60. package/dist-lib/agent-events.cjs +1 -1
  61. package/dist-lib/attached-projects.cjs +1 -1
  62. package/dist-lib/auth/shared-session.cjs +1 -1
  63. package/dist-lib/backend-origin.cjs +3 -3
  64. package/dist-lib/beta.cjs +1 -1
  65. package/dist-lib/beta.mjs +1 -1
  66. package/dist-lib/bridge-constants.cjs +1 -1
  67. package/dist-lib/bridge-contract-input.cjs +65 -1
  68. package/dist-lib/bridge-contract-input.mjs +63 -1
  69. package/dist-lib/bridge-contract.cjs +19 -1
  70. package/dist-lib/bridge-contract.mjs +17 -1
  71. package/dist-lib/bundle-channel.cjs +38332 -14940
  72. package/dist-lib/capture-contract.cjs +1 -1
  73. package/dist-lib/capture-contract.mjs +1 -1
  74. package/dist-lib/cloud-contract.cjs +1 -1
  75. package/dist-lib/cloud-contract.mjs +1 -1
  76. package/dist-lib/cloud-test-args.cjs +1 -1
  77. package/dist-lib/cloud-test-args.mjs +1 -1
  78. package/dist-lib/cloud.cjs +1 -1
  79. package/dist-lib/cloud.mjs +1 -1
  80. package/dist-lib/config.cjs +1 -1
  81. package/dist-lib/config.mjs +5 -3
  82. package/dist-lib/detox/index.cjs +1247 -4511
  83. package/dist-lib/detox/jest-preset.cjs +1 -3
  84. package/dist-lib/detox/jest-transform.cjs +4 -0
  85. package/dist-lib/dev-bundle-resolution.cjs +28 -24
  86. package/dist-lib/expo-swift-bundle.cjs +35243 -13172
  87. package/dist-lib/expo-swift-metadata.cjs +1 -1
  88. package/dist-lib/expo-swift-metadata.mjs +1 -1
  89. package/dist-lib/home-paths.cjs +1 -1
  90. package/dist-lib/host/bridge-host.cjs +45285 -63163
  91. package/dist-lib/host/fetch-proxy-handler.cjs +3544 -11
  92. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  93. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  94. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  95. package/dist-lib/host/websocket-proxy.cjs +1 -1
  96. package/dist-lib/index.cjs +1997 -2069
  97. package/dist-lib/jump-to-source-babel.cjs +1 -1
  98. package/dist-lib/jump-to-source-native.cjs +1 -1
  99. package/dist-lib/kotlin-host.cjs +2 -2
  100. package/dist-lib/menu.cjs +14 -6
  101. package/dist-lib/menu.mjs +14 -6
  102. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  103. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  104. package/dist-lib/metro-production-bundle.cjs +1 -1
  105. package/dist-lib/metro-production-bundle.mjs +1 -1
  106. package/dist-lib/metro.cjs +468 -563
  107. package/dist-lib/native-app-identity-project.cjs +128 -292
  108. package/dist-lib/native-app-identity-project.mjs +1262 -51
  109. package/dist-lib/native-app-identity.cjs +8 -3
  110. package/dist-lib/native-app-identity.mjs +8 -3
  111. package/dist-lib/native-firebase-metadata.cjs +1 -1
  112. package/dist-lib/native-firebase-metadata.mjs +1 -1
  113. package/dist-lib/plist.cjs +2 -244
  114. package/dist-lib/plist.mjs +1 -1
  115. package/dist-lib/profiles.cjs +1 -1
  116. package/dist-lib/public-brand.cjs +1 -1
  117. package/dist-lib/public-origins-lib-esm.json +290 -0
  118. package/dist-lib/public-origins-lib-static.json +1 -0
  119. package/dist-lib/public-origins-lib.json +1852 -0
  120. package/dist-lib/react-native-host-modules.cjs +1 -1
  121. package/dist-lib/react-native-host-modules.mjs +1 -1
  122. package/dist-lib/scripts/dev-server-scanner.cjs +14 -253
  123. package/dist-lib/sdk.cjs +84 -16
  124. package/dist-lib/sdk.mjs +82 -15
  125. package/dist-lib/skills.cjs +51248 -75450
  126. package/dist-lib/swift-compile.cjs +26154 -1245
  127. package/dist-lib/swift-compile.mjs +26151 -1230
  128. package/dist-lib/swift-package.cjs +79 -1
  129. package/dist-lib/swift-package.mjs +75 -1
  130. package/dist-lib/swift-submit.cjs +1 -1
  131. package/dist-lib/swift-submit.mjs +1 -1
  132. package/dist-lib/swift-toolchain.cjs +1 -1
  133. package/dist-lib/swift.cjs +1 -1
  134. package/dist-lib/vite-swift.cjs +34394 -12323
  135. package/dist-lib/vite.cjs +373 -298
  136. package/dist-lib/worklet-executable.cjs +1 -1
  137. package/dist-lib/worklet-executable.mjs +1 -1
  138. package/dist-types/packages/peach-compat/src/engine-config.d.ts +2 -0
  139. package/dist-types/packages/peach-compat/src/stubs/form-sheet-spring.d.ts +9 -0
  140. package/dist-types/packages/peach-compat/src/stubs/native-evaluation-lease.d.ts +47 -0
  141. package/dist-types/packages/peach-compat/src/stubs/native-seams/react-native-cookies.d.ts +113 -0
  142. package/dist-types/packages/peach-compat/src/stubs/native-seams/react-native-gesture-handler.d.ts +154 -0
  143. package/dist-types/packages/peach-compat/src/stubs/screen-transition-math.d.ts +756 -0
  144. package/dist-types/packages/peach-compat/src/stubs/transition-scalar.d.ts +25 -0
  145. package/dist-types/packages/peach-engine/src/billing/plans.d.ts +64 -0
  146. package/dist-types/packages/peach-engine/src/browser-page-target.d.ts +2 -0
  147. package/dist-types/packages/peach-engine/src/bundle-platform-url.d.ts +3 -0
  148. package/dist-types/packages/peach-engine/src/capture/browser-accessibility-host.d.ts +3 -0
  149. package/dist-types/packages/peach-engine/src/capture/browser-composite.d.ts +55 -0
  150. package/dist-types/packages/peach-engine/src/capture/browserAccessibilityContract.d.ts +27 -0
  151. package/dist-types/packages/peach-engine/src/capture/nativeScreenCaptureContract.d.ts +22 -0
  152. package/dist-types/packages/peach-engine/src/cli-companion.d.ts +36 -0
  153. package/dist-types/packages/peach-engine/src/components/native-ui/webview-frame-bridge.d.ts +34 -0
  154. package/dist-types/packages/peach-engine/src/config.d.ts +5 -0
  155. package/dist-types/packages/peach-engine/src/engine/android-stretch-effect.d.ts +57 -0
  156. package/dist-types/packages/peach-engine/src/engine/animated-driven-style.d.ts +47 -0
  157. package/dist-types/packages/peach-engine/src/engine/animated-value.d.ts +5 -0
  158. package/dist-types/packages/peach-engine/src/engine/animated.d.ts +195 -0
  159. package/dist-types/packages/peach-engine/src/engine/animation-clockContract.d.ts +15 -0
  160. package/dist-types/packages/peach-engine/src/engine/animation-graph.d.ts +148 -0
  161. package/dist-types/packages/peach-engine/src/engine/app-catalog-wire.d.ts +10 -0
  162. package/dist-types/packages/peach-engine/src/engine/app-font-registry.d.ts +87 -0
  163. package/dist-types/packages/peach-engine/src/engine/attributed-paragraph-paint.d.ts +7 -0
  164. package/dist-types/packages/peach-engine/src/engine/attributed-paragraph.d.ts +123 -0
  165. package/dist-types/packages/peach-engine/src/engine/audioContract.d.ts +16 -0
  166. package/dist-types/packages/peach-engine/src/engine/canvaskit-api.d.ts +93 -0
  167. package/dist-types/packages/peach-engine/src/engine/canvaskit-renderer.d.ts +216 -0
  168. package/dist-types/packages/peach-engine/src/engine/config-plugin-fonts.d.ts +40 -0
  169. package/dist-types/packages/peach-engine/src/engine/config-plugin-splash.d.ts +25 -0
  170. package/dist-types/packages/peach-engine/src/engine/cull-visibility.d.ts +44 -0
  171. package/dist-types/packages/peach-engine/src/engine/damage-rect.d.ts +19 -0
  172. package/dist-types/packages/peach-engine/src/engine/engine-resource.d.ts +6 -0
  173. package/dist-types/packages/peach-engine/src/engine/expo-manifest.d.ts +5 -0
  174. package/dist-types/packages/peach-engine/src/engine/fiber-debug-metadata.d.ts +30 -0
  175. package/dist-types/packages/peach-engine/src/engine/font-config.d.ts +139 -0
  176. package/dist-types/packages/peach-engine/src/engine/generated/sf-pro-font.d.ts +1 -0
  177. package/dist-types/packages/peach-engine/src/engine/glass-material.d.ts +31 -0
  178. package/dist-types/packages/peach-engine/src/engine/host-composite.d.ts +100 -0
  179. package/dist-types/packages/peach-engine/src/engine/hosted-semantics.d.ts +49 -0
  180. package/dist-types/packages/peach-engine/src/engine/image-audit.d.ts +70 -0
  181. package/dist-types/packages/peach-engine/src/engine/image-loader.d.ts +350 -0
  182. package/dist-types/packages/peach-engine/src/engine/inspect-info.d.ts +27 -0
  183. package/dist-types/packages/peach-engine/src/engine/inspect-outline.d.ts +14 -0
  184. package/dist-types/packages/peach-engine/src/engine/inspect-visibility.d.ts +33 -0
  185. package/dist-types/packages/peach-engine/src/engine/ios-fast-scroll.d.ts +16 -0
  186. package/dist-types/packages/peach-engine/src/engine/layout-sab.d.ts +43 -0
  187. package/dist-types/packages/peach-engine/src/engine/liquid-glass-rect.d.ts +23 -0
  188. package/dist-types/packages/peach-engine/src/engine/liquid-glass-shaders.d.ts +9 -0
  189. package/dist-types/packages/peach-engine/src/engine/liquid-glass.d.ts +283 -0
  190. package/dist-types/packages/peach-engine/src/engine/live-object-counts.d.ts +6 -0
  191. package/dist-types/packages/peach-engine/src/engine/lottie-runtime.d.ts +32 -0
  192. package/dist-types/packages/peach-engine/src/engine/lottie-types.d.ts +138 -0
  193. package/dist-types/packages/peach-engine/src/engine/memory-counts.d.ts +27 -0
  194. package/dist-types/packages/peach-engine/src/engine/metalDirectContract.d.ts +108 -0
  195. package/dist-types/packages/peach-engine/src/engine/metalShaderContract.d.ts +217 -0
  196. package/dist-types/packages/peach-engine/src/engine/native-animation-driver.d.ts +112 -0
  197. package/dist-types/packages/peach-engine/src/engine/native-animation-graph.d.ts +62 -0
  198. package/dist-types/packages/peach-engine/src/engine/native-layout.d.ts +133 -0
  199. package/dist-types/packages/peach-engine/src/engine/native-resources.d.ts +26 -0
  200. package/dist-types/packages/peach-engine/src/engine/nativeReanimatedContract.d.ts +25 -0
  201. package/dist-types/packages/peach-engine/src/engine/nativeReplayContract.d.ts +64 -0
  202. package/dist-types/packages/peach-engine/src/engine/node.d.ts +589 -0
  203. package/dist-types/packages/peach-engine/src/engine/paint-boundary-types.d.ts +112 -0
  204. package/dist-types/packages/peach-engine/src/engine/paint-boundary.d.ts +57 -0
  205. package/dist-types/packages/peach-engine/src/engine/portalContract.d.ts +21 -0
  206. package/dist-types/packages/peach-engine/src/engine/portals.d.ts +20 -0
  207. package/dist-types/packages/peach-engine/src/engine/render-damage.d.ts +107 -0
  208. package/dist-types/packages/peach-engine/src/engine/riveContract.d.ts +420 -0
  209. package/dist-types/packages/peach-engine/src/engine/rn-spring.d.ts +51 -0
  210. package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +379 -0
  211. package/dist-types/packages/peach-engine/src/engine/scroll-momentum-math.d.ts +152 -0
  212. package/dist-types/packages/peach-engine/src/engine/scroll-pan-contacts.d.ts +10 -0
  213. package/dist-types/packages/peach-engine/src/engine/scroll-platform.d.ts +75 -0
  214. package/dist-types/packages/peach-engine/src/engine/scroll-range.d.ts +14 -0
  215. package/dist-types/packages/peach-engine/src/engine/scroll-velocity.d.ts +14 -0
  216. package/dist-types/packages/peach-engine/src/engine/scroll.d.ts +320 -0
  217. package/dist-types/packages/peach-engine/src/engine/signal.d.ts +7 -0
  218. package/dist-types/packages/peach-engine/src/engine/snapshot-cache-policy.d.ts +6 -0
  219. package/dist-types/packages/peach-engine/src/engine/svg-geometry.d.ts +41 -0
  220. package/dist-types/packages/peach-engine/src/engine/text-attachment-paragraphs.d.ts +10 -0
  221. package/dist-types/packages/peach-engine/src/engine/text-decoration.d.ts +11 -0
  222. package/dist-types/packages/peach-engine/src/engine/text-line-break.d.ts +22 -0
  223. package/dist-types/packages/peach-engine/src/engine/text-paint-receipt.d.ts +98 -0
  224. package/dist-types/packages/peach-engine/src/engine/text-paragraph.d.ts +11 -0
  225. package/dist-types/packages/peach-engine/src/engine/text-paragraphContract.d.ts +34 -0
  226. package/dist-types/packages/peach-engine/src/engine/text-transform.d.ts +1 -0
  227. package/dist-types/packages/peach-engine/src/engine/types.d.ts +657 -0
  228. package/dist-types/packages/peach-engine/src/engine/visible-frame.d.ts +54 -0
  229. package/dist-types/packages/peach-engine/src/engine/webrtcContract.d.ts +74 -0
  230. package/dist-types/packages/peach-engine/src/graphite-stats-fields.d.ts +184 -0
  231. package/dist-types/packages/peach-engine/src/guest-import-meta.d.ts +12 -0
  232. package/dist-types/packages/peach-engine/src/guest-module-overrides.d.ts +7 -0
  233. package/dist-types/packages/peach-engine/src/ios/app-card-types.d.ts +7 -0
  234. package/dist-types/packages/peach-engine/src/ios/apps/canvas-map-data.d.ts +177 -0
  235. package/dist-types/packages/peach-engine/src/ios/aux-home-scene.d.ts +54 -0
  236. package/dist-types/packages/peach-engine/src/ios/chrome-metrics.d.ts +47 -0
  237. package/dist-types/packages/peach-engine/src/ios/constants.d.ts +21 -0
  238. package/dist-types/packages/peach-engine/src/ios/duo-housing.d.ts +37 -0
  239. package/dist-types/packages/peach-engine/src/ios/home/types.d.ts +29 -0
  240. package/dist-types/packages/peach-engine/src/ios/home-app-catalog.d.ts +43 -0
  241. package/dist-types/packages/peach-engine/src/ios/photo-store.d.ts +73 -0
  242. package/dist-types/packages/peach-engine/src/ios/photoLibraryContract.d.ts +166 -0
  243. package/dist-types/packages/peach-engine/src/ios/shell-controller-types.d.ts +21 -0
  244. package/dist-types/packages/peach-engine/src/ios/shell-transition-debug.d.ts +18 -0
  245. package/dist-types/packages/peach-engine/src/metro-asset-path.d.ts +21 -0
  246. package/dist-types/packages/peach-engine/src/metro-fingerprint-registry-client.d.ts +11 -0
  247. package/dist-types/packages/peach-engine/src/metro-fingerprint.d.ts +38 -0
  248. package/dist-types/packages/peach-engine/src/native-preview-bundle.d.ts +44 -0
  249. package/dist-types/packages/peach-engine/src/observability/types.d.ts +74 -0
  250. package/dist-types/packages/peach-engine/src/peach-warm-manifest.d.ts +32 -0
  251. package/dist-types/packages/peach-engine/src/permissions/app-settings-client.d.ts +25 -0
  252. package/dist-types/packages/peach-engine/src/permissions/system-permission-types.d.ts +20 -0
  253. package/dist-types/packages/peach-engine/src/platform/android-back-panel.d.ts +131 -0
  254. package/dist-types/packages/peach-engine/src/platform/android-gesture-exclusion.d.ts +28 -0
  255. package/dist-types/packages/peach-engine/src/platform/android-predictive-back.d.ts +33 -0
  256. package/dist-types/packages/peach-engine/src/platform/system-bars-state.d.ts +14 -0
  257. package/dist-types/packages/peach-engine/src/playwright-sim-host.d.ts +1 -0
  258. package/dist-types/packages/peach-engine/src/preview/bundle-layout.d.ts +8 -0
  259. package/dist-types/packages/peach-engine/src/preview/bundle-variantContract.d.ts +24 -0
  260. package/dist-types/packages/peach-engine/src/preview/capture-bundle.d.ts +26 -0
  261. package/dist-types/packages/peach-engine/src/preview/compress-node.d.ts +2 -0
  262. package/dist-types/packages/peach-engine/src/preview/compress.d.ts +2 -0
  263. package/dist-types/packages/peach-engine/src/preview/presigned-upload.d.ts +60 -0
  264. package/dist-types/packages/peach-engine/src/preview/trace.d.ts +144 -0
  265. package/dist-types/packages/peach-engine/src/preview/upload-protocol.d.ts +152 -0
  266. package/dist-types/packages/peach-engine/src/profiler/animation-recording-loader.d.ts +1 -0
  267. package/dist-types/packages/peach-engine/src/profiler/profile-trace.d.ts +4 -0
  268. package/dist-types/packages/peach-engine/src/react-bridge.d.ts +3 -0
  269. package/dist-types/packages/peach-engine/src/react-native/AppState.d.ts +45 -0
  270. package/dist-types/packages/peach-engine/src/react-native/Appearance.d.ts +34 -0
  271. package/dist-types/packages/peach-engine/src/react-native/framework-colors-data.d.ts +2 -0
  272. package/dist-types/packages/peach-engine/src/react-native/host-services.d.ts +42 -0
  273. package/dist-types/packages/peach-engine/src/react-native/layout-animation.d.ts +22 -0
  274. package/dist-types/packages/peach-engine/src/react-native/platform-colors.d.ts +17 -0
  275. package/dist-types/packages/peach-engine/src/remote-stream/client-config.d.ts +10 -0
  276. package/dist-types/packages/peach-engine/src/remote-stream/cloud-display.d.ts +58 -0
  277. package/dist-types/packages/peach-engine/src/remote-stream/scene-recording.d.ts +45 -0
  278. package/dist-types/packages/peach-engine/src/render-worker/animated-drive-output.d.ts +35 -0
  279. package/dist-types/packages/peach-engine/src/render-worker/app-load.d.ts +16 -0
  280. package/dist-types/packages/peach-engine/src/render-worker/aux-surface-types.d.ts +2 -0
  281. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-shared.d.ts +42 -0
  282. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-webgpu.d.ts +434 -0
  283. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-worker-init.d.ts +12 -0
  284. package/dist-types/packages/peach-engine/src/render-worker/compositor-backend.d.ts +31 -0
  285. package/dist-types/packages/peach-engine/src/render-worker/compositor-gpu.d.ts +202 -0
  286. package/dist-types/packages/peach-engine/src/render-worker/compositor-protocol.d.ts +1945 -0
  287. package/dist-types/packages/peach-engine/src/render-worker/compositor-runtime/scroll-drag-resample.d.ts +44 -0
  288. package/dist-types/packages/peach-engine/src/render-worker/css-keyframes-drive.d.ts +36 -0
  289. package/dist-types/packages/peach-engine/src/render-worker/edit-menu-geometry.d.ts +8 -0
  290. package/dist-types/packages/peach-engine/src/render-worker/engine-resource-relay.d.ts +21 -0
  291. package/dist-types/packages/peach-engine/src/render-worker/expo-widgetContract.d.ts +16 -0
  292. package/dist-types/packages/peach-engine/src/render-worker/gesture-seam-protocol.d.ts +152 -0
  293. package/dist-types/packages/peach-engine/src/render-worker/graph-linked-value.d.ts +29 -0
  294. package/dist-types/packages/peach-engine/src/render-worker/graphite-pipeline-compiler-contract.d.ts +49 -0
  295. package/dist-types/packages/peach-engine/src/render-worker/graphite-pipeline-compiler.d.ts +12 -0
  296. package/dist-types/packages/peach-engine/src/render-worker/host-service-protocol.d.ts +756 -0
  297. package/dist-types/packages/peach-engine/src/render-worker/image-lifecycle-event.d.ts +22 -0
  298. package/dist-types/packages/peach-engine/src/render-worker/image-pixel-contract.d.ts +48 -0
  299. package/dist-types/packages/peach-engine/src/render-worker/live-frame-mirror.d.ts +34 -0
  300. package/dist-types/packages/peach-engine/src/render-worker/map-command-channel.d.ts +189 -0
  301. package/dist-types/packages/peach-engine/src/render-worker/mapNativeContract.d.ts +101 -0
  302. package/dist-types/packages/peach-engine/src/render-worker/native-dynamic-synchronizable.d.ts +22 -0
  303. package/dist-types/packages/peach-engine/src/render-worker/native-menu-gesture.d.ts +9 -0
  304. package/dist-types/packages/peach-engine/src/render-worker/native-ui-commandContract.d.ts +23 -0
  305. package/dist-types/packages/peach-engine/src/render-worker/native-ui-protocol.d.ts +1087 -0
  306. package/dist-types/packages/peach-engine/src/render-worker/native-widgetContract.d.ts +100 -0
  307. package/dist-types/packages/peach-engine/src/render-worker/nativeAnimMirrorContract.d.ts +174 -0
  308. package/dist-types/packages/peach-engine/src/render-worker/nativeSyncReplyContract.d.ts +11 -0
  309. package/dist-types/packages/peach-engine/src/render-worker/one-native-contentContract.d.ts +54 -0
  310. package/dist-types/packages/peach-engine/src/render-worker/pointerSampleContract.d.ts +14 -0
  311. package/dist-types/packages/peach-engine/src/render-worker/protocol.d.ts +880 -0
  312. package/dist-types/packages/peach-engine/src/render-worker/reanimated-css-contract.d.ts +63 -0
  313. package/dist-types/packages/peach-engine/src/render-worker/reanimated-readiness.d.ts +29 -0
  314. package/dist-types/packages/peach-engine/src/render-worker/resilient-frame-clock.d.ts +22 -0
  315. package/dist-types/packages/peach-engine/src/render-worker/retained-app-load.d.ts +20 -0
  316. package/dist-types/packages/peach-engine/src/render-worker/screen-edge-swipe-commit-protocol.d.ts +1 -0
  317. package/dist-types/packages/peach-engine/src/render-worker/screen-form-sheet-commit-protocol.d.ts +26 -0
  318. package/dist-types/packages/peach-engine/src/render-worker/scroll-mirror-tenant.d.ts +37 -0
  319. package/dist-types/packages/peach-engine/src/render-worker/scroll-mirror.d.ts +164 -0
  320. package/dist-types/packages/peach-engine/src/render-worker/shell-event-registry.d.ts +119 -0
  321. package/dist-types/packages/peach-engine/src/render-worker/shell-gesture-regions.d.ts +41 -0
  322. package/dist-types/packages/peach-engine/src/render-worker/shell-protocol.d.ts +603 -0
  323. package/dist-types/packages/peach-engine/src/render-worker/shell-scene-schema.d.ts +101 -0
  324. package/dist-types/packages/peach-engine/src/render-worker/shell-tree-inline-sources.d.ts +13 -0
  325. package/dist-types/packages/peach-engine/src/render-worker/shell-tree-wire.d.ts +87 -0
  326. package/dist-types/packages/peach-engine/src/render-worker/test-bridge-protocol.d.ts +47 -0
  327. package/dist-types/packages/peach-engine/src/render-worker/text-inputContract.d.ts +93 -0
  328. package/dist-types/packages/peach-engine/src/render-worker/tree-sync-port.d.ts +102 -0
  329. package/dist-types/packages/peach-engine/src/render-worker/webgpu-frame-transaction.d.ts +292 -0
  330. package/dist-types/packages/peach-engine/src/render-worker/webgpu-readback-scheduler.d.ts +107 -0
  331. package/dist-types/packages/peach-engine/src/render-worker/webview-capture-protocol.d.ts +16 -0
  332. package/dist-types/packages/peach-engine/src/render-worker/worker-input-runtime.d.ts +211 -0
  333. package/dist-types/packages/peach-engine/src/render-worker/worker-storage.d.ts +33 -0
  334. package/dist-types/packages/peach-engine/src/render-worker/worklet-runtime.d.ts +987 -0
  335. package/dist-types/packages/peach-engine/src/render-worker/worklet-sab.d.ts +24 -0
  336. package/dist-types/packages/peach-engine/src/rolldown-bundle-inventory.d.ts +84 -0
  337. package/dist-types/packages/peach-engine/src/rolldown-production-fingerprint.d.ts +31 -0
  338. package/dist-types/packages/peach-engine/src/screenshots/timeline-assets.d.ts +10 -0
  339. package/dist-types/packages/peach-engine/src/screenshots/tokens.d.ts +9 -0
  340. package/dist-types/packages/peach-engine/src/settings/devices.d.ts +70 -0
  341. package/dist-types/packages/peach-engine/src/settings/duo-fold-bus.d.ts +87 -0
  342. package/dist-types/packages/peach-engine/src/settings/interface-rotation.d.ts +30 -0
  343. package/dist-types/packages/peach-engine/src/settings/react-native-configuration.d.ts +12 -0
  344. package/dist-types/packages/peach-engine/src/settings/scene-geometryContract.d.ts +40 -0
  345. package/dist-types/packages/peach-engine/src/settings/store.d.ts +37 -0
  346. package/dist-types/packages/peach-engine/src/shell-events.d.ts +203 -0
  347. package/dist-types/packages/peach-engine/src/shell-intent.d.ts +68 -0
  348. package/dist-types/packages/peach-engine/src/sootsim-event.d.ts +35 -0
  349. package/dist-types/packages/peach-engine/src/top-overlay-state.d.ts +5 -0
  350. package/dist-types/packages/peach-engine/src/web-authentication-automation-host.d.ts +2 -0
  351. package/dist-types/packages/peach-engine/src/webAuthenticationContract.d.ts +34 -0
  352. package/dist-types/packages/peach-engine/src/webview-automation-host.d.ts +180 -0
  353. package/dist-types/packages/peach-engine/src/wireframe-mode.d.ts +16 -0
  354. package/dist-types/packages/peach-globals/src/frameBreakdownContract.d.ts +16 -0
  355. package/dist-types/packages/peach-globals/src/index.d.ts +3311 -0
  356. package/dist-types/packages/peach-globals/src/nativeSurfaceContract.d.ts +76 -0
  357. package/dist-types/packages/peach-globals/src/pointerSourceEventContract.d.ts +8 -0
  358. package/dist-types/packages/peach-globals/src/profileTrace.d.ts +11 -0
  359. package/dist-types/packages/peach-globals/src/profilerContract.d.ts +223 -0
  360. package/dist-types/packages/peach-kit/src/capabilities.d.ts +721 -0
  361. package/dist-types/packages/peach-kit/src/internal.d.ts +4 -0
  362. package/dist-types/packages/peach-kit/src/materials/types.d.ts +27 -0
  363. package/dist-types/packages/peach-kit/src/materials/uikit-blur-material.d.ts +14 -0
  364. package/dist-types/packages/peach-kit/src/navigation-types.d.ts +11 -0
  365. package/dist-types/packages/peach-kit/src/react-bridge.d.ts +53 -0
  366. package/dist-types/packages/peach-kit/src/runtime.d.ts +26 -0
  367. package/dist-types/packages/peach-kit/src/ui/hosting-safe-area.d.ts +24 -0
  368. package/dist-types/packages/peach-kit/src/ui/popover-placement.d.ts +53 -0
  369. package/dist-types/packages/peach-kit/src/ui/presentationContract.d.ts +17 -0
  370. package/kotlin/ComposeSources/PeachComposeHost.kt +1 -1
  371. package/kotlin/JniSources/com/facebook/jni/HybridData.kt +0 -2
  372. package/kotlin/JniSources/dev/peach/jni/NativeBindings.kt +0 -2
  373. package/kotlin/JniTransportSources/dev/peach/jni/integration/JniTransport.kt +0 -2
  374. package/kotlin/README.md +6 -0
  375. package/package.json +22 -2
  376. package/runtime-companion.json +1 -0
  377. package/skills/contrast/SKILL.md +1 -0
  378. package/src/appBundleResourcesContract.ts +51 -0
  379. package/src/assetCatalogContract.ts +21 -0
  380. package/src/backend-origin.ts +3 -1
  381. package/src/bridge-contract-input.ts +84 -0
  382. package/src/bridge-contract.ts +35 -3
  383. package/src/browser-launch-policy.ts +1 -0
  384. package/src/bundle-channel.mjs +4 -2
  385. package/src/cli-runtime.ts +55 -0
  386. package/src/crash-fingerprint.ts +26 -0
  387. package/src/dev-bundle-resolution.ts +50 -23
  388. package/src/device-catalog.ts +1159 -0
  389. package/src/host/bridge-host.ts +20 -37
  390. package/src/host/browser-pointer.ts +71 -0
  391. package/src/host/dev-server-package-versions.ts +23 -0
  392. package/src/host/fetch-proxy-handler.ts +17 -4
  393. package/src/host/staged-host-files.ts +28 -4
  394. package/src/installed-package-versions.ts +142 -38
  395. package/src/kotlin-host.ts +1 -1
  396. package/src/launchMetadataContract.ts +1 -0
  397. package/src/menu.ts +12 -4
  398. package/src/metro-plugin.ts +4 -4
  399. package/src/metro-project-root.ts +68 -0
  400. package/src/native-app-identity-project.ts +47 -38
  401. package/src/nitro-adapter.lock.json +26 -0
  402. package/src/nitro-adapter.ts +103 -0
  403. package/src/nitro-bundle.ts +24 -10
  404. package/src/nitro-compile.ts +33 -51
  405. package/src/nitro-source.ts +177 -96
  406. package/src/nitroAdapterContract.ts +217 -0
  407. package/src/nitroContract.ts +24 -11
  408. package/src/process-group.ts +41 -34
  409. package/src/react-bridge-importers.ts +28 -0
  410. package/src/reactNativeConfigurationContract.ts +36 -0
  411. package/src/runtime-assets.ts +7 -2
  412. package/src/runtime-delivery.ts +8 -7
  413. package/src/runtimePlatformContract.ts +70 -0
  414. package/src/screenshots/frame-compose.ts +42 -43
  415. package/src/screenshots/org-deck.ts +9 -4
  416. package/src/screenshots/preset-names.ts +29 -0
  417. package/src/screenshots/registry.ts +5 -5
  418. package/src/screenshots/schema.ts +1 -1
  419. package/src/screenshots/screenshotContract.ts +971 -0
  420. package/src/settings-flags.ts +107 -0
  421. package/src/settingsContract.ts +609 -0
  422. package/src/storageSnapshotContract.ts +344 -0
  423. package/src/stub-pattern-matcher.ts +550 -0
  424. package/src/swift-compile.ts +926 -47
  425. package/src/swift-compiler-digest.ts +17 -3
  426. package/src/swift-distribution.lock.json +49 -22
  427. package/src/swift-host.ts +167 -52
  428. package/src/swift-objc-compile.ts +86 -26
  429. package/src/swift-objc-export.ts +532 -0
  430. package/src/swift-objc-import.ts +769 -0
  431. package/src/swift-objc-metadata.ts +285 -10
  432. package/src/swift-objc-sdk.ts +13970 -158
  433. package/src/swift-objc-standin.ts +137 -1
  434. package/src/swift-package.ts +94 -0
  435. package/src/swift-packages.ts +5 -5
  436. package/src/swift-root-lock.ts +241 -92
  437. package/src/swift-submit.ts +6 -0
  438. package/src/swiftContract.ts +99 -0
  439. package/src/target-matcher.ts +6 -1
  440. package/src/vite-plugin.ts +14 -40
  441. package/src/worker-system-chunks.ts +1 -1
  442. package/src/workerChunkContract.ts +5 -0
  443. package/src/worklets-babel.ts +24 -5
  444. package/src/xcode-project.ts +103 -11
  445. package/src/xcode-target-members.ts +10 -3
  446. package/cli/drivers/playwright-sim-host.ts +0 -825
  447. package/kotlin/fixtures/counter/Counter.d.kt.ts +0 -17
  448. package/kotlin/fixtures/counter/Counter.kt +0 -51
  449. package/kotlin/fixtures/counter/CounterApp.native.tsx +0 -61
  450. package/kotlin/fixtures/counter/CounterApp.tsx +0 -3
  451. package/kotlin/fixtures/counter/CounterScreen.d.kt.ts +0 -8
  452. package/kotlin/fixtures/counter/CounterScreen.kt +0 -56
  453. package/kotlin/fixtures/counter/app/_layout.tsx +0 -4
  454. package/kotlin/fixtures/counter/app/index+spa.tsx +0 -1
  455. package/kotlin/fixtures/counter/app/routes.d.ts +0 -18
  456. package/kotlin/fixtures/counter/package.json +0 -20
  457. package/kotlin/fixtures/counter/tsconfig.json +0 -19
  458. package/kotlin/fixtures/counter/vite.config.ts +0 -20
  459. package/kotlin/fixtures/headless-counter/Headless.kt +0 -234
  460. package/kotlin/fixtures/import-animation/Animation.d.kt.ts +0 -7
  461. package/kotlin/fixtures/import-animation/Animation.kt +0 -80
  462. package/kotlin/fixtures/import-animation/ImportAnimation.native.tsx +0 -13
  463. package/kotlin/fixtures/import-animation/README.md +0 -24
  464. package/kotlin/fixtures/import-animation/app/_layout.tsx +0 -4
  465. package/kotlin/fixtures/import-animation/app/index+spa.tsx +0 -1
  466. package/kotlin/fixtures/import-animation/app/routes.d.ts +0 -18
  467. package/kotlin/fixtures/import-animation/package.json +0 -23
  468. package/kotlin/fixtures/import-animation/tsconfig.json +0 -20
  469. package/kotlin/fixtures/import-animation/vite.config.ts +0 -20
  470. package/kotlin/fixtures/import-drawing/Drawing.d.kt.ts +0 -7
  471. package/kotlin/fixtures/import-drawing/Drawing.kt +0 -101
  472. package/kotlin/fixtures/import-drawing/ImportDrawing.native.tsx +0 -18
  473. package/kotlin/fixtures/import-drawing/README.md +0 -34
  474. package/kotlin/fixtures/import-drawing/app/_layout.tsx +0 -4
  475. package/kotlin/fixtures/import-drawing/app/index+spa.tsx +0 -1
  476. package/kotlin/fixtures/import-drawing/package.json +0 -23
  477. package/kotlin/fixtures/import-drawing/tsconfig.json +0 -20
  478. package/kotlin/fixtures/import-drawing/vite.config.ts +0 -20
  479. package/kotlin/fixtures/import-editor/Editor.d.kt.ts +0 -7
  480. package/kotlin/fixtures/import-editor/Editor.kt +0 -59
  481. package/kotlin/fixtures/import-editor/ImportEditor.native.tsx +0 -23
  482. package/kotlin/fixtures/import-editor/README.md +0 -27
  483. package/kotlin/fixtures/import-editor/app/_layout.tsx +0 -4
  484. package/kotlin/fixtures/import-editor/app/index+spa.tsx +0 -1
  485. package/kotlin/fixtures/import-editor/package.json +0 -23
  486. package/kotlin/fixtures/import-editor/tsconfig.json +0 -20
  487. package/kotlin/fixtures/import-editor/vite.config.ts +0 -20
  488. package/kotlin/fixtures/import-effects/Effects.d.kt.ts +0 -7
  489. package/kotlin/fixtures/import-effects/Effects.kt +0 -87
  490. package/kotlin/fixtures/import-effects/ImportEffects.native.tsx +0 -13
  491. package/kotlin/fixtures/import-effects/README.md +0 -19
  492. package/kotlin/fixtures/import-effects/app/_layout.tsx +0 -4
  493. package/kotlin/fixtures/import-effects/app/index+spa.tsx +0 -1
  494. package/kotlin/fixtures/import-effects/package.json +0 -23
  495. package/kotlin/fixtures/import-effects/tsconfig.json +0 -20
  496. package/kotlin/fixtures/import-effects/vite.config.ts +0 -20
  497. package/kotlin/fixtures/import-layout/ImportLayout.native.tsx +0 -13
  498. package/kotlin/fixtures/import-layout/Layout.d.kt.ts +0 -7
  499. package/kotlin/fixtures/import-layout/Layout.kt +0 -72
  500. package/kotlin/fixtures/import-layout/README.md +0 -24
  501. package/kotlin/fixtures/import-layout/app/_layout.tsx +0 -4
  502. package/kotlin/fixtures/import-layout/app/index+spa.tsx +0 -1
  503. package/kotlin/fixtures/import-layout/package.json +0 -23
  504. package/kotlin/fixtures/import-layout/tsconfig.json +0 -20
  505. package/kotlin/fixtures/import-layout/vite.config.ts +0 -20
  506. package/kotlin/fixtures/import-navigation/ImportNavigation.native.tsx +0 -18
  507. package/kotlin/fixtures/import-navigation/Navigation.d.kt.ts +0 -7
  508. package/kotlin/fixtures/import-navigation/Navigation.kt +0 -104
  509. package/kotlin/fixtures/import-navigation/README.md +0 -31
  510. package/kotlin/fixtures/import-navigation/app/_layout.tsx +0 -4
  511. package/kotlin/fixtures/import-navigation/app/index+spa.tsx +0 -1
  512. package/kotlin/fixtures/import-navigation/package.json +0 -23
  513. package/kotlin/fixtures/import-navigation/tsconfig.json +0 -20
  514. package/kotlin/fixtures/import-navigation/vite.config.ts +0 -20
  515. package/kotlin/fixtures/import-overlays/ImportOverlays.native.tsx +0 -29
  516. package/kotlin/fixtures/import-overlays/Overlays.d.kt.ts +0 -7
  517. package/kotlin/fixtures/import-overlays/Overlays.kt +0 -93
  518. package/kotlin/fixtures/import-overlays/README.md +0 -34
  519. package/kotlin/fixtures/import-overlays/app/_layout.tsx +0 -4
  520. package/kotlin/fixtures/import-overlays/app/index+spa.tsx +0 -1
  521. package/kotlin/fixtures/import-overlays/package.json +0 -23
  522. package/kotlin/fixtures/import-overlays/tsconfig.json +0 -20
  523. package/kotlin/fixtures/import-overlays/vite.config.ts +0 -20
  524. package/kotlin/fixtures/import-resources/ImportResources.native.tsx +0 -18
  525. package/kotlin/fixtures/import-resources/README.md +0 -26
  526. package/kotlin/fixtures/import-resources/Resources.d.kt.ts +0 -6
  527. package/kotlin/fixtures/import-resources/Resources.kt +0 -72
  528. package/kotlin/fixtures/import-resources/app/_layout.tsx +0 -4
  529. package/kotlin/fixtures/import-resources/app/index+spa.tsx +0 -1
  530. package/kotlin/fixtures/import-resources/package.json +0 -23
  531. package/kotlin/fixtures/import-resources/tsconfig.json +0 -20
  532. package/kotlin/fixtures/import-resources/vite.config.ts +0 -20
  533. package/kotlin/fixtures/import-scroll/ImportNested.native.tsx +0 -10
  534. package/kotlin/fixtures/import-scroll/ImportScroll.native.tsx +0 -13
  535. package/kotlin/fixtures/import-scroll/Nested.d.kt.ts +0 -4
  536. package/kotlin/fixtures/import-scroll/Nested.kt +0 -64
  537. package/kotlin/fixtures/import-scroll/README.md +0 -38
  538. package/kotlin/fixtures/import-scroll/Scroll.d.kt.ts +0 -7
  539. package/kotlin/fixtures/import-scroll/Scroll.kt +0 -91
  540. package/kotlin/fixtures/import-scroll/app/_layout.tsx +0 -4
  541. package/kotlin/fixtures/import-scroll/app/index+spa.tsx +0 -1
  542. package/kotlin/fixtures/import-scroll/app/nested+spa.tsx +0 -1
  543. package/kotlin/fixtures/import-scroll/package.json +0 -23
  544. package/kotlin/fixtures/import-scroll/tsconfig.json +0 -20
  545. package/kotlin/fixtures/import-scroll/vite.config.ts +0 -20
  546. package/kotlin/fixtures/import-selection/ImportSelection.native.tsx +0 -44
  547. package/kotlin/fixtures/import-selection/README.md +0 -32
  548. package/kotlin/fixtures/import-selection/Selection.d.kt.ts +0 -8
  549. package/kotlin/fixtures/import-selection/Selection.kt +0 -78
  550. package/kotlin/fixtures/import-selection/app/_layout.tsx +0 -4
  551. package/kotlin/fixtures/import-selection/app/index+spa.tsx +0 -1
  552. package/kotlin/fixtures/import-selection/package.json +0 -23
  553. package/kotlin/fixtures/import-selection/tsconfig.json +0 -20
  554. package/kotlin/fixtures/import-selection/vite.config.ts +0 -20
  555. package/kotlin/fixtures/import-surfaces/ImportSurfaces.native.tsx +0 -13
  556. package/kotlin/fixtures/import-surfaces/README.md +0 -22
  557. package/kotlin/fixtures/import-surfaces/Surfaces.d.kt.ts +0 -7
  558. package/kotlin/fixtures/import-surfaces/Surfaces.kt +0 -64
  559. package/kotlin/fixtures/import-surfaces/app/_layout.tsx +0 -4
  560. package/kotlin/fixtures/import-surfaces/app/index+spa.tsx +0 -1
  561. package/kotlin/fixtures/import-surfaces/package.json +0 -23
  562. package/kotlin/fixtures/import-surfaces/tsconfig.json +0 -20
  563. package/kotlin/fixtures/import-surfaces/vite.config.ts +0 -20
  564. package/kotlin/fixtures/import-values/ImportValues.native.tsx +0 -61
  565. package/kotlin/fixtures/import-values/README.md +0 -28
  566. package/kotlin/fixtures/import-values/Values.d.kt.ts +0 -15
  567. package/kotlin/fixtures/import-values/Values.kt +0 -84
  568. package/kotlin/fixtures/import-values/app/_layout.tsx +0 -4
  569. package/kotlin/fixtures/import-values/app/index+spa.tsx +0 -1
  570. package/kotlin/fixtures/import-values/package.json +0 -23
  571. package/kotlin/fixtures/import-values/tsconfig.json +0 -20
  572. package/kotlin/fixtures/import-values/vite.config.ts +0 -20
  573. package/kotlin/fixtures/kotlin-app/app/build.gradle.kts +0 -30
  574. package/kotlin/fixtures/kotlin-app/app/src/main/AndroidManifest.xml +0 -13
  575. package/kotlin/fixtures/kotlin-app/app/src/main/java/dev/contrast/kotlinapp/MainActivity.kt +0 -60
  576. package/kotlin/fixtures/kotlin-app/app/src/main/java/dev/contrast/kotlinapp/ProbeApplication.kt +0 -18
  577. package/kotlin/fixtures/kotlin-app/build.gradle.kts +0 -5
  578. package/kotlin/fixtures/kotlin-app/gradle.properties +0 -4
  579. package/kotlin/fixtures/kotlin-app/settings.gradle.kts +0 -4
  580. package/kotlin/fixtures/kotlin-app-variants/Anim.kt +0 -62
  581. package/kotlin/fixtures/kotlin-app-variants/BarBehavior.kt +0 -38
  582. package/kotlin/fixtures/kotlin-app-variants/BarVisibility.kt +0 -36
  583. package/kotlin/fixtures/kotlin-app-variants/Bitmaps.kt +0 -50
  584. package/kotlin/fixtures/kotlin-app-variants/Browse.kt +0 -73
  585. package/kotlin/fixtures/kotlin-app-variants/Colors.kt +0 -41
  586. package/kotlin/fixtures/kotlin-app-variants/Controls.kt +0 -62
  587. package/kotlin/fixtures/kotlin-app-variants/Drag.kt +0 -56
  588. package/kotlin/fixtures/kotlin-app-variants/Draw.kt +0 -74
  589. package/kotlin/fixtures/kotlin-app-variants/Drawables.kt +0 -53
  590. package/kotlin/fixtures/kotlin-app-variants/Focus.kt +0 -62
  591. package/kotlin/fixtures/kotlin-app-variants/Form.kt +0 -47
  592. package/kotlin/fixtures/kotlin-app-variants/Icons.kt +0 -59
  593. package/kotlin/fixtures/kotlin-app-variants/Ime.kt +0 -53
  594. package/kotlin/fixtures/kotlin-app-variants/Lists.kt +0 -57
  595. package/kotlin/fixtures/kotlin-app-variants/Nav.kt +0 -47
  596. package/kotlin/fixtures/kotlin-app-variants/Note.kt +0 -40
  597. package/kotlin/fixtures/kotlin-app-variants/Overlays.kt +0 -56
  598. package/kotlin/fixtures/kotlin-app-variants/Pan.kt +0 -38
  599. package/kotlin/fixtures/kotlin-app-variants/Pickers.kt +0 -44
  600. package/kotlin/fixtures/kotlin-app-variants/Press.kt +0 -43
  601. package/kotlin/fixtures/kotlin-app-variants/Scroll.kt +0 -63
  602. package/kotlin/fixtures/kotlin-app-variants/Sheet.kt +0 -43
  603. package/kotlin/fixtures/kotlin-app-variants/Strings.kt +0 -49
  604. package/kotlin/fixtures/kotlin-app-variants/Tabs.kt +0 -47
  605. package/kotlin/fixtures/kotlin-app-variants/TextWidth.kt +0 -45
  606. package/kotlin/fixtures/kotlin-app-variants/TransientInsets.kt +0 -50
  607. package/kotlin/fixtures/kotlin-app-variants/Transition.kt +0 -69
  608. package/kotlin/fixtures/kotlin-app-variants/ViewConfig.kt +0 -22
  609. package/kotlin/fixtures/kotlin-app-variants/Widgets.kt +0 -67
  610. package/kotlin/fixtures/runtime-state/RuntimeState.kt +0 -200
  611. package/kotlin/fork/README.md +0 -97
  612. package/kotlin/fork/build.sh +0 -176
  613. package/kotlin/fork/compose-worker-globals.patch +0 -1247
  614. package/kotlin/fork/fork.json +0 -46
  615. package/kotlin/fork/publish.ts +0 -99
  616. package/kotlin/fork/skia-android-shaping.patch +0 -189
  617. package/kotlin/fork/skiko-local.init.gradle +0 -10
  618. package/kotlin/fork/skiko-worker-clock.patch +0 -122
@@ -0,0 +1,1945 @@
1
+ import { type DriveAnimationGraph, type DriveColorAnimationGraph, type LinearLoopAnimationGraph, type NativeAnimationGraph, type ScrollAnimationGraph } from '../engine/animation-graph.d.ts';
2
+ import { type CollapseBand, type ScrollMomentumPhysics } from '../engine/scroll-momentum-math.d.ts';
3
+ import { type CSSKeyframesDrive } from './css-keyframes-drive.d.ts';
4
+ import { type NativeWidgetSurfaceId, type NativeWidgetIdentity, type NativeWidgetMount } from './native-widgetContract.d.ts';
5
+ import type { DeviceSpec, RuntimePlatform } from '../../../../../src/device-catalog.ts';
6
+ import type { AndroidEdgeEffectState } from '../engine/android-stretch-effect.d.ts';
7
+ import type { AnimatedDrivenStyleLease, AnimatedDrivenStyleRetirement } from '../engine/animated-driven-style.d.ts';
8
+ import type { AnimationClockSnapshot } from '../engine/animation-clockContract.d.ts';
9
+ import type { RemoteFontRegistration } from '../engine/app-font-registry.d.ts';
10
+ import type { AppFontWireSpec } from '../engine/config-plugin-fonts.d.ts';
11
+ import type { readImageAudit } from '../engine/image-audit.d.ts';
12
+ import type { ImageLoaderStats } from '../engine/image-loader.d.ts';
13
+ import type { LottieOwnerDiagnostics } from '../engine/lottie-runtime.d.ts';
14
+ import type { LottieIntent, LottieLifecycleEvent } from '../engine/lottie-types.d.ts';
15
+ import type { MetalShaderCompileRequest, MetalShaderCompileResponse } from '../engine/metalShaderContract.d.ts';
16
+ import type { NativeAnimationGraphNode } from '../engine/native-animation-graph.d.ts';
17
+ import type { NativeReplayReport, NativeReplayRequest } from '../engine/nativeReplayContract.d.ts';
18
+ import type { NativeWindowPresentation } from '../engine/portalContract.d.ts';
19
+ import type { ScrollRange } from '../engine/scroll-range.d.ts';
20
+ import type { readTextPaintReceipt } from '../engine/text-paint-receipt.d.ts';
21
+ import type { InterfaceRotation } from '../settings/interface-rotation.d.ts';
22
+ import type { ReactNativeConfigurationSnapshot } from '../settings/react-native-configuration.d.ts';
23
+ import type { WireframeModeConfig } from '../wireframe-mode.d.ts';
24
+ import type { AuxAppSurfaceId } from './aux-surface-types.d.ts';
25
+ import type { GraphitePipelineCacheLoadResult } from './canvaskit-shared.d.ts';
26
+ import type { GraphiteDeviceContextStats, GraphitePipelinePrecompileResult, GraphiteResidencyReport } from './canvaskit-webgpu.d.ts';
27
+ import type { CompositorGpuRegion } from './compositor-gpu.d.ts';
28
+ import type { ScrollDragResampleTrace } from './compositor-runtime/scroll-drag-resample.d.ts';
29
+ import type { EditMenuItemRect } from './edit-menu-geometry.d.ts';
30
+ import type { EngineResourceRequest, EngineResourceResponse } from './engine-resource-relay.d.ts';
31
+ import type { ImageLifecycleEvent } from './image-lifecycle-event.d.ts';
32
+ import type { LiveFrameMirrorEnvelope } from './live-frame-mirror.d.ts';
33
+ import type { ViewShotCaptureResultSpec, ViewShotCaptureSpec } from './native-ui-protocol.d.ts';
34
+ import type { ResilientFrameClockStats } from './resilient-frame-clock.d.ts';
35
+ import type { WireElementNode, WireSurfaceUpdate } from './shell-tree-wire.d.ts';
36
+ import type { CursorBridgeEvent } from './text-inputContract.d.ts';
37
+ import type { SurfaceTreePaintAckState } from './tree-sync-port.d.ts';
38
+ import type { WebGpuFrameTransactionCounters } from './webgpu-frame-transaction.d.ts';
39
+ import type { WebGpuReadbackCounters } from './webgpu-readback-scheduler.d.ts';
40
+ import type { WorkerStorageSyncMessage } from './worker-storage.d.ts';
41
+ import type { ScreenTransitionDriveDescriptor } from '../../../peach-compat/src/stubs/screen-transition-math.d.ts';
42
+ import type { SootSimCaptureOptions, SootsimBootMark } from '../../../peach-globals/src/index.d.ts';
43
+ export type NativeInterfaceRotation = InterfaceRotation & {
44
+ platform: RuntimePlatform;
45
+ };
46
+ export type BackdropSurfaceId = AuxAppSurfaceId | 'home';
47
+ export type ShellAuthoredSurfaceId = 'home' | 'shell-overlay';
48
+ export type CompositorSurfaceId = AuxAppSurfaceId | ShellAuthoredSurfaceId | NativeWidgetSurfaceId;
49
+ export interface NativeWindowInputRegion extends NativeWindowPresentation {
50
+ viewTag: number;
51
+ x: number;
52
+ y: number;
53
+ width: number;
54
+ height: number;
55
+ }
56
+ export interface NativeWindowSource {
57
+ surfaceId: CompositorSurfaceId;
58
+ generation: number;
59
+ }
60
+ export interface NativeWindowOwnership extends NativeWindowSource {
61
+ windows: readonly NativeWindowInputRegion[];
62
+ }
63
+ export type CapturePublicationOrigin = 'tenant' | 'shell' | 'video';
64
+ export type CompositorFatalReason = 'init' | 'device-lost' | 'frame-production' | 'profile-measurement';
65
+ export interface GraphiteCachePoolSnapshot {
66
+ currentBytes: number;
67
+ purgeableBytes: number;
68
+ maxBytes: number;
69
+ }
70
+ export interface GraphiteDeviceCacheSnapshot {
71
+ contextResources: GraphiteCachePoolSnapshot;
72
+ recorderResources: GraphiteCachePoolSnapshot;
73
+ }
74
+ export interface SettledIdleCacheCleanupResult {
75
+ reason: 'over-budget-resources';
76
+ status: 'cleaned' | 'locked' | 'purgeable';
77
+ durationMs: number;
78
+ before: GraphiteDeviceCacheSnapshot;
79
+ after: GraphiteDeviceCacheSnapshot;
80
+ }
81
+ export type SettledIdleCacheBlockReason = 'never-scheduled' | 'no-context' | 'profile' | 'finite-interaction' | 'readback' | 'within-budget' | 'quiet-timer' | 'in-flight' | 'generation-complete' | 'recent-work' | 'waiting-for-completion' | 'cancelled' | 'locked' | 'purgeable-over-budget' | 'none' | 'completion-failed';
82
+ export declare const SHELL_SURFACE_GENERATION = 1;
83
+ export type CompositorAnimatedGraph = NativeAnimationGraph | ScrollAnimationGraph | DriveAnimationGraph | DriveColorAnimationGraph;
84
+ export declare function isCompositorAnimatedGraph(value: unknown): value is CompositorAnimatedGraph;
85
+ export interface CompositorAnimatedSlotGraph {
86
+ slot: number;
87
+ graph: CompositorAnimatedGraph;
88
+ }
89
+ export interface CompositorScrollEffectPresentation {
90
+ nodeId: number;
91
+ refreshHolding: boolean;
92
+ refreshPullProgress: number;
93
+ androidEdgeEffect: AndroidEdgeEffectState | null;
94
+ }
95
+ export interface CompositorSurfaceInit {
96
+ surfaceId: CompositorSurfaceId;
97
+ canvas: OffscreenCanvas;
98
+ physW: number;
99
+ physH: number;
100
+ contentW: number;
101
+ contentH: number;
102
+ dpr: number;
103
+ }
104
+ export interface CompositorSurfaceResize {
105
+ surfaceId: CompositorSurfaceId;
106
+ physW: number;
107
+ physH: number;
108
+ contentW: number;
109
+ contentH: number;
110
+ dpr: number;
111
+ }
112
+ export interface CompositorCapturedSurface {
113
+ surfaceId: CompositorSurfaceId;
114
+ bitmap: ImageBitmap;
115
+ frameToken?: number;
116
+ presentedAtEpochMs?: number;
117
+ }
118
+ export type PresentedFrameCaptureFormat = 'rgba' | 'sha256';
119
+ export interface CompositorCapturedFrameHash {
120
+ surfaceId: CompositorSurfaceId;
121
+ frameToken: number;
122
+ presentedAtEpochMs: number;
123
+ width: number;
124
+ height: number;
125
+ pixelHash: string;
126
+ }
127
+ export interface CompositorCapturedPixelSurface extends CompositorCapturedFrameHash {
128
+ rgba: Uint8ClampedArray<ArrayBuffer>;
129
+ }
130
+ export interface PresentedFrameCaptureOptions {
131
+ surfaceId: CompositorSurfaceId;
132
+ maxWidth: number;
133
+ limit: number;
134
+ }
135
+ export interface CompositorSurfaceCaptureFailure {
136
+ surfaceId: CompositorSurfaceId;
137
+ message: string;
138
+ }
139
+ export interface CompositorSurfaceCaptureResult {
140
+ surfaces: CompositorCapturedSurface[];
141
+ pixelSurfaces?: CompositorCapturedPixelSurface[];
142
+ hashedSurfaces?: CompositorCapturedFrameHash[];
143
+ unavailableSurfaceIds: CompositorSurfaceId[];
144
+ failures: CompositorSurfaceCaptureFailure[];
145
+ }
146
+ export interface CompositorScrollTraceSample {
147
+ t: number;
148
+ seq: number;
149
+ surfaceId: AuxAppSurfaceId;
150
+ generation: number;
151
+ surfaceEpoch: number;
152
+ textureEpoch: number;
153
+ frameToken: number;
154
+ nodeId: number;
155
+ x: number;
156
+ y: number;
157
+ slotX: number | null;
158
+ slotY: number | null;
159
+ slotSampleTime: number | null;
160
+ resampledAt: number | null;
161
+ drag: boolean;
162
+ momentum: boolean;
163
+ paint: number;
164
+ }
165
+ export interface CompositorTransitionTraceSample {
166
+ t: number;
167
+ surfaceId: AuxAppSurfaceId;
168
+ kind: 'transition';
169
+ stackId: number;
170
+ progress: number;
171
+ targetApplies: number;
172
+ targetChanges: number;
173
+ targetMisses: number;
174
+ paintCount: number;
175
+ }
176
+ export interface CompositorScrollResampleTraceSample extends ScrollDragResampleTrace {
177
+ kind: 'scroll-resample';
178
+ t: number;
179
+ surfaceId: AuxAppSurfaceId;
180
+ generation: number;
181
+ nodeId: number;
182
+ }
183
+ export interface CompositorPressTraceSample {
184
+ kind: 'press';
185
+ inputSurfaceId: CompositorSurfaceId;
186
+ surfaceId: CompositorSurfaceId;
187
+ targetWasMounted: boolean;
188
+ pointerT: number;
189
+ treeT: number;
190
+ paintT: number;
191
+ }
192
+ export interface CompositorLayoutTraceSample {
193
+ kind: 'layout';
194
+ surfaceId: CompositorSurfaceId;
195
+ width: number;
196
+ height: number;
197
+ scale: number;
198
+ t: number;
199
+ frameToken: number;
200
+ chain?: CompositorPaintGate[];
201
+ }
202
+ export type CompositorTraceSample = CompositorScrollTraceSample | CompositorScrollResampleTraceSample | CompositorTransitionTraceSample | CompositorPressTraceSample | CompositorLayoutTraceSample;
203
+ export interface ScrollMomentumDriveNode extends ScrollRange {
204
+ nodeId: number;
205
+ offset: number;
206
+ }
207
+ export interface ScrollMomentumDriveDescriptor extends ScrollRange {
208
+ driveId: number;
209
+ startedAtAnimationMs: number;
210
+ nodeId: number;
211
+ axis: 'x' | 'y';
212
+ offset: number;
213
+ velocity: number;
214
+ releasePanVelocity: number;
215
+ fastScrollMultiplier: number;
216
+ bounces: boolean;
217
+ paging: boolean;
218
+ pageSize: number;
219
+ pageStartPage: number;
220
+ boundsWidth: number;
221
+ pixelScale: number;
222
+ snapToInterval?: number;
223
+ snapToAlignment?: 'start' | 'center' | 'end';
224
+ snapToOffsets?: number[];
225
+ snapToStart: boolean;
226
+ snapToEnd: boolean;
227
+ disableIntervalMomentum: boolean;
228
+ collapseBand?: CollapseBand;
229
+ physics: ScrollMomentumPhysics;
230
+ nestedScrollChain?: ScrollMomentumDriveNode[];
231
+ timedScroll?: {
232
+ target: number;
233
+ durationMs: number;
234
+ curve: import('../engine/scroll-momentum-math.d.ts').TimedScrollCurve;
235
+ };
236
+ }
237
+ export interface ScrollMomentumExtentNode extends ScrollRange {
238
+ nodeId: number;
239
+ }
240
+ export declare function isScrollMomentumExtentChain(value: unknown): value is ScrollMomentumExtentNode[];
241
+ export declare function isScrollMomentumDriveChain(value: unknown): value is ScrollMomentumDriveNode[];
242
+ export declare function isScrollMomentumDriveDescriptor(value: unknown): value is ScrollMomentumDriveDescriptor;
243
+ export interface CompositorPaintSample {
244
+ t: number;
245
+ frame: number;
246
+ surfaceId: CompositorSurfaceId;
247
+ paint: number;
248
+ warm?: boolean;
249
+ totalMs: number;
250
+ layoutMs: number;
251
+ renderMs: number;
252
+ flushMs: number;
253
+ gpuCacheBeforeBytes: number | null;
254
+ gpuCacheAfterRenderBytes: number | null;
255
+ gpuCacheAfterFlushBytes: number | null;
256
+ renderProfile: Record<string, number> | null;
257
+ }
258
+ export interface CompositorTimingSummary {
259
+ count: number;
260
+ avg: number;
261
+ p50: number;
262
+ p95: number;
263
+ max: number;
264
+ }
265
+ export interface CompositorWorkSummary extends CompositorTimingSummary {
266
+ frames: number;
267
+ }
268
+ export type CompositorFrameSource = 'display' | 'timer' | 'demand';
269
+ export type CompositorDisplayClockPolicy = 'display-clock-present-v1';
270
+ export type CompositorSchedulerEvent = {
271
+ kind: 'display';
272
+ t: number;
273
+ displayTimestampMs: number;
274
+ } | {
275
+ kind: 'arm';
276
+ t: number;
277
+ requestId: number;
278
+ plannedFireMs: number;
279
+ } | {
280
+ kind: 'fire' | 'cancel';
281
+ t: number;
282
+ requestId: number;
283
+ } | {
284
+ kind: 'demand';
285
+ t: number;
286
+ coalesced: boolean;
287
+ };
288
+ export interface CompositorMotionCurve {
289
+ durationMs: number;
290
+ curve: Array<{
291
+ elapsedMs: number;
292
+ progress: number;
293
+ }>;
294
+ }
295
+ export interface CompositorMotionProgress {
296
+ id: string;
297
+ elapsedMs: number;
298
+ progress: number;
299
+ expected?: CompositorMotionCurve;
300
+ }
301
+ export type NativeFrameReceiptValue = number | '-0' | 'NaN' | 'Infinity' | '-Infinity';
302
+ export type NativeFrameReceiptRect = Record<'left' | 'top' | 'right' | 'bottom', NativeFrameReceiptValue>;
303
+ export interface NativeFrameReceiptState {
304
+ serial: NativeFrameReceiptValue;
305
+ frameTime: NativeFrameReceiptValue;
306
+ applies: NativeFrameReceiptValue;
307
+ incoherent: NativeFrameReceiptValue;
308
+ presentFailures: NativeFrameReceiptValue;
309
+ inputs: Array<{
310
+ slot: number;
311
+ kind: 'animation' | 'watch';
312
+ value: NativeFrameReceiptValue;
313
+ }>;
314
+ omittedInputs: number;
315
+ entries: Array<{
316
+ surfaceId: CompositorSurfaceId;
317
+ generation: number;
318
+ viewTag: number;
319
+ sceneSlot: number | null;
320
+ nativeId: number;
321
+ promoted: boolean;
322
+ settled: boolean;
323
+ slots: number[];
324
+ values: NativeFrameReceiptValue[];
325
+ sceneLanes: NativeFrameReceiptValue[] | null;
326
+ omittedValues: number;
327
+ properties: Record<string, number[]>;
328
+ omittedProperties: number;
329
+ }>;
330
+ omittedEntries: number;
331
+ surfaces: Array<{
332
+ surfaceId: CompositorSurfaceId;
333
+ generation: number;
334
+ root: NativeFrameReceiptValue;
335
+ damageId: NativeFrameReceiptValue;
336
+ animSurface: NativeFrameReceiptValue;
337
+ canvas: NativeFrameReceiptValue;
338
+ surfaceEpoch: number;
339
+ textureEpoch: number;
340
+ needsPaint: boolean;
341
+ layoutPending: boolean;
342
+ paints: NativeFrameReceiptValue;
343
+ presented: NativeFrameReceiptValue;
344
+ drawn: NativeFrameReceiptValue;
345
+ lastPaintSerial: NativeFrameReceiptValue;
346
+ lastPaintMs: NativeFrameReceiptValue;
347
+ damage: (Omit<import('../engine/render-damage.d.ts').PendingDamage, 'source'> & {
348
+ source: NativeFrameReceiptRect | null;
349
+ }) | null;
350
+ currentClip: NativeFrameReceiptRect | null;
351
+ lastClip: NativeFrameReceiptRect | null;
352
+ }>;
353
+ }
354
+ export interface NativeFrameReceipt {
355
+ status: number;
356
+ before: NativeFrameReceiptState;
357
+ after: NativeFrameReceiptState;
358
+ }
359
+ export interface NativeFrameReceiptRecord {
360
+ sequence: number;
361
+ receipt: NativeFrameReceipt;
362
+ }
363
+ export interface CompositorFramePhaseSample {
364
+ sequence: number;
365
+ t: number;
366
+ frameToken: number;
367
+ nativeFrame?: boolean;
368
+ frameSource: CompositorFrameSource;
369
+ rafMs: number;
370
+ intervalMs: number;
371
+ productionMs: number;
372
+ productionStartedAtMs: number;
373
+ productionEndedAtMs: number;
374
+ displayTimestampMs: number | null;
375
+ demandObservedAtMs: number | null;
376
+ admissionDepth: number | null;
377
+ productionOutcome: 'admitted' | 'deferred';
378
+ phases: {
379
+ javascriptMs: number;
380
+ layoutMs: number;
381
+ paintMs: number;
382
+ prewarmMs: number;
383
+ textureUploadMs: number;
384
+ gpuSubmitMs: number;
385
+ compositeMs: number;
386
+ captureMs: number;
387
+ };
388
+ captureBetweenFramesMs: number;
389
+ inputMessages: number;
390
+ slotEpochDelta: number;
391
+ scrollSlotApplies: number;
392
+ scrollMessageApplies: number;
393
+ appTreeUpdates: number;
394
+ scrollDragStartsMs: readonly number[];
395
+ slotEpochChanged: boolean;
396
+ engineQueuedAtStart: boolean;
397
+ engineDemandAfter: boolean;
398
+ motionPending: boolean;
399
+ paints: number;
400
+ presentedSurfaces: number;
401
+ motionProgress?: CompositorMotionProgress[];
402
+ prewarmPasses: number;
403
+ canvaskitFlushes: number;
404
+ canvaskitFlushMs: number;
405
+ canvaskitSubmissionIntervalMs: number | null;
406
+ afterCanvaskitFlush: boolean;
407
+ uninterruptedEngineEmpty: boolean;
408
+ }
409
+ export interface CompositorProductionStats {
410
+ budgetMs: number;
411
+ frames: CompositorTimingSummary;
412
+ overBudget: number;
413
+ overBudgetPct: number;
414
+ phases: {
415
+ javascript: CompositorTimingSummary;
416
+ layout: CompositorTimingSummary;
417
+ paint: CompositorTimingSummary;
418
+ prewarm: CompositorTimingSummary;
419
+ textureUpload: CompositorTimingSummary;
420
+ gpuSubmit: CompositorTimingSummary;
421
+ composite: CompositorTimingSummary;
422
+ capture: CompositorTimingSummary;
423
+ };
424
+ captureBetweenFrames: CompositorTimingSummary;
425
+ worstFrames: CompositorFramePhaseSample[];
426
+ }
427
+ export interface GPUUploadTrace {
428
+ texImage2DCalls: number;
429
+ texSubImage2DCalls: number;
430
+ uploadedByteUpperBound: number;
431
+ compileShaderCalls: number;
432
+ linkProgramCalls: number;
433
+ compileShaderMs: number;
434
+ shaderStatusMs: number;
435
+ linkProgramMs: number;
436
+ programStatusMs: number;
437
+ uploadMs: number;
438
+ }
439
+ export interface CompositorSurfacePaintStats {
440
+ surfaceId: CompositorSurfaceId;
441
+ physW: number;
442
+ physH: number;
443
+ generation: number;
444
+ launchPaintedGeneration: number | null;
445
+ contentPaintedGeneration: number | null;
446
+ treePaintAcks: SurfaceTreePaintAckState | null;
447
+ firstContent: {
448
+ appId: string;
449
+ readiness: 'empty' | 'pending-symbols' | 'ready';
450
+ layoutDirty: boolean;
451
+ textDataPending: boolean;
452
+ textDataFailed: boolean;
453
+ pendingSymbolCount: number;
454
+ pendingSymbols: Array<{
455
+ nodeId: number;
456
+ name: string | null;
457
+ paintGates: CompositorPaintGate[];
458
+ }>;
459
+ } | null;
460
+ hasLiveFrames: boolean;
461
+ paints: number;
462
+ paused: boolean;
463
+ awaitingBoundTree: boolean;
464
+ needsPaint: boolean;
465
+ appInMotion: boolean;
466
+ motionApproximate: boolean;
467
+ cacheUsageBytes?: number | null;
468
+ cacheLimitBytes?: number | null;
469
+ gpuUploads?: GPUUploadTrace | null;
470
+ nodeCount: number;
471
+ imageNodeCount: number;
472
+ fileImageNodeCount: number;
473
+ lastBackdropSampleBounds: {
474
+ left: number;
475
+ top: number;
476
+ right: number;
477
+ bottom: number;
478
+ } | null;
479
+ gpuCacheTrace: {
480
+ afterSurfaceCreateBytes: number | null;
481
+ prewarm: {
482
+ beforeBytes: number | null;
483
+ afterDrawBytes: number | null;
484
+ afterPurgeBytes: number | null;
485
+ scratchPixelBytes: number;
486
+ backdropPixelBytes: number;
487
+ } | null;
488
+ paintCheckpoints: Array<{
489
+ paint: number;
490
+ beforeBytes: number | null;
491
+ afterRenderBytes: number | null;
492
+ afterFlushBytes: number | null;
493
+ }>;
494
+ };
495
+ work: CompositorTimingSummary;
496
+ avgLayoutMs: number;
497
+ avgRenderMs: number;
498
+ avgFlushMs: number;
499
+ maxFlushMs: number;
500
+ sampledPaints: number;
501
+ jankPaints: number;
502
+ worstPaints: CompositorPaintSample[];
503
+ paintSeries: CompositorPaintSample[];
504
+ prewarm: {
505
+ passes: number;
506
+ records: number;
507
+ rasterPromotions: number;
508
+ realizeRasterBlits: number;
509
+ acceptedBeforeFirstPaint: number;
510
+ passesBeforeFirstPaint: number;
511
+ recordsBeforeFirstPaint: number;
512
+ rasterPromotionsBeforeFirstPaint: number;
513
+ msBeforeFirstPaint: number;
514
+ ms: number;
515
+ pending: boolean;
516
+ };
517
+ }
518
+ export type { ImageAuditRow } from '../engine/image-audit.d.ts';
519
+ export type ImageAuditReport = ReturnType<typeof readImageAudit>;
520
+ export type { TextPaintReceiptRow } from '../engine/text-paint-receipt.d.ts';
521
+ export type TextPaintReceiptReport = ReturnType<typeof readTextPaintReceipt>;
522
+ export interface TextPaintReceiptRequest {
523
+ scope?: string | null;
524
+ replay?: NativeReplayRequest;
525
+ }
526
+ export interface CompositorPaintGate {
527
+ nodeId: number;
528
+ viewTag: number | null;
529
+ type: string;
530
+ testID: string | null;
531
+ hidden: boolean;
532
+ display: string | null;
533
+ opacity: number | null;
534
+ wireframeHidden: boolean;
535
+ wireframeWallpaper: boolean;
536
+ layout: {
537
+ x: number;
538
+ y: number;
539
+ width: number;
540
+ height: number;
541
+ };
542
+ absolute: {
543
+ x: number;
544
+ y: number;
545
+ };
546
+ transform: Record<string, number>;
547
+ leasedKeys: string[];
548
+ }
549
+ export interface CompositorStyleProbe {
550
+ nodeId: number;
551
+ paintGates: CompositorPaintGate[];
552
+ paintBoundary: {
553
+ chunkCount: number;
554
+ layerChunks: number;
555
+ liveChunks: number;
556
+ pictureChunks: number;
557
+ records: number;
558
+ replays: number;
559
+ textureLayer: {
560
+ bytes: number;
561
+ dpr: number;
562
+ height: number;
563
+ width: number;
564
+ } | null;
565
+ } | null;
566
+ surfaceId: string;
567
+ style: Record<string, unknown>;
568
+ viewTag: number | null;
569
+ }
570
+ export interface GraphiteAdapterIdentity {
571
+ vendor: string;
572
+ architecture: string;
573
+ device: string;
574
+ description: string;
575
+ isFallbackAdapter: boolean;
576
+ }
577
+ export interface CompositorCadenceRequest {
578
+ detail: 'cadence';
579
+ nativeReceiptsAfter?: number;
580
+ }
581
+ export interface CompositorCadenceStats {
582
+ backend: 'ganesh' | 'graphite';
583
+ cadence: CompositorStats['cadence'];
584
+ nativeReceipts?: NativeFrameReceiptRecord[];
585
+ graphite: {
586
+ device: {
587
+ native: Pick<GraphiteDeviceContextStats['native'], 'renderPipelineCreations' | 'asyncPipelineCompilesPending'>;
588
+ };
589
+ pipelineWarm: Pick<NonNullable<CompositorStats['graphite']>['pipelineWarm'], 'queued' | 'warmed'>;
590
+ transactions: NonNullable<CompositorStats['graphite']>['transactions'];
591
+ residencyPeakBytes: number;
592
+ readbacks: WebGpuReadbackCounters;
593
+ } | null;
594
+ }
595
+ export type PendingSurfaceReason = 'paused' | 'unbound';
596
+ export interface CompositorStats {
597
+ windowRotation: {
598
+ active: boolean;
599
+ running: boolean;
600
+ progress: number;
601
+ startedAt: number | null;
602
+ duration: number;
603
+ };
604
+ presentationCapture: {
605
+ active: boolean;
606
+ count: number;
607
+ };
608
+ backend?: 'ganesh' | 'graphite';
609
+ hostFrameClock?: {
610
+ published: ResilientFrameClockStats | null;
611
+ consumed: ResilientFrameClockStats;
612
+ };
613
+ imageAudit?: ImageAuditReport | null;
614
+ textPaint?: TextPaintReceiptReport | null;
615
+ nativeReplay?: NativeReplayReport | null;
616
+ hasFile?: boolean;
617
+ resourcePolicy: {
618
+ budgetScale: number;
619
+ contextBudgetApplications: number;
620
+ defaultSurfaceCacheBudgetBytes: number;
621
+ appSurfaceCacheBudgetBytes: number;
622
+ imageCacheLimitBytes: number;
623
+ };
624
+ graphite: {
625
+ device: GraphiteDeviceContextStats;
626
+ adapter: GraphiteAdapterIdentity;
627
+ pipelineCorpus: GraphitePipelinePrecompileResult;
628
+ pipelineWarm: {
629
+ queued: number;
630
+ inFlight: boolean;
631
+ sliceRecords: number;
632
+ warmed: number;
633
+ rejected: number;
634
+ reason: string | null;
635
+ blockedBy: 'finite-motion' | 'host-task' | null;
636
+ learnedScreens: number;
637
+ learnedRecords: number;
638
+ pageAppRecords: number;
639
+ learnedReason: string | null;
640
+ };
641
+ imageWarm: {
642
+ queued: number;
643
+ inFlight: boolean;
644
+ warmed: number;
645
+ failed: number;
646
+ };
647
+ residency: GraphiteResidencyReport | null;
648
+ residencyPeak: GraphiteResidencyReport | null;
649
+ residencyPeakBytes: number;
650
+ residencyPeakAtMs: number;
651
+ transactions: WebGpuFrameTransactionCounters;
652
+ readbacks: WebGpuReadbackCounters;
653
+ creationEvents: Array<{
654
+ label: string;
655
+ surfaces: Array<{
656
+ surfaceId: CompositorSurfaceId;
657
+ generation: number;
658
+ phase: 'first-paint' | 'device-prewarm';
659
+ }>;
660
+ shaderModulesCreated: number;
661
+ renderPipelinesCreated: number;
662
+ shaderModuleCreationCpuMicros: number;
663
+ renderPipelineCreationCpuMicros: number;
664
+ recorderSnapCpuMicros: number;
665
+ recordingInsertionCpuMicros: number;
666
+ commandBufferFinishCpuMicros: number;
667
+ queueSubmissionCpuMicros: number;
668
+ pipelineCacheHits: number;
669
+ pipelineCacheMisses: number;
670
+ }>;
671
+ } | null;
672
+ boundedFrameProduction: {
673
+ submissionLimit: number;
674
+ acceptedFrames: number;
675
+ deferredLogicalFrames: number;
676
+ pendingReplacements: number;
677
+ resumedProductions: number;
678
+ pending: boolean;
679
+ currentDeferredStreak: number;
680
+ longestDeferredStreak: number;
681
+ oldestPendingAgeMs: number;
682
+ latestDeferredAgeMs: number;
683
+ };
684
+ ticks: number;
685
+ paints: number;
686
+ frameLoopSleeps: number;
687
+ frameLoop: {
688
+ running: boolean;
689
+ frameScheduled: boolean;
690
+ idleFrames: number;
691
+ foregroundSurfaceId: CompositorSurfaceId | null;
692
+ immediateDemand: boolean;
693
+ pendingDemandBackingEpoch: number | null;
694
+ nativeFrameArmed: boolean;
695
+ };
696
+ demandPaintsSuperseded: number;
697
+ entryEvals: number;
698
+ count: number;
699
+ max: number;
700
+ avg: number;
701
+ over33: number;
702
+ over100: number;
703
+ displayClockPolicy: CompositorDisplayClockPolicy;
704
+ cadence: {
705
+ intervals: number;
706
+ p50: number;
707
+ p95: number;
708
+ max: number;
709
+ gaps: number;
710
+ phases: {
711
+ uninterruptedEngineEmpty: CompositorTimingSummary;
712
+ withCanvaskitFlush: CompositorTimingSummary;
713
+ afterCanvaskitFlush: CompositorTimingSummary;
714
+ queuedWithoutCanvaskitFlush: CompositorTimingSummary;
715
+ };
716
+ presentation: CompositorTimingSummary;
717
+ canvaskitSubmission: CompositorTimingSummary;
718
+ productionClock: {
719
+ displayTicks: number;
720
+ timerTicks: number;
721
+ producedDisplayFrames: number;
722
+ producedTimerFrames: number;
723
+ producedDemandFrames: number;
724
+ paintedDisplayFrames: number;
725
+ paintedTimerFrames: number;
726
+ paintedDemandFrames: number;
727
+ flushedDisplayFrames: number;
728
+ flushedTimerFrames: number;
729
+ flushedDemandFrames: number;
730
+ presentedDisplayFrames: number;
731
+ presentedTimerFrames: number;
732
+ presentedDemandFrames: number;
733
+ multiPaintClockIntervals: number;
734
+ multiPresentationClockIntervals: number;
735
+ productionFramesWithSlotDemand: number;
736
+ coalescedSlotWrites: number;
737
+ };
738
+ frameSeries: CompositorFramePhaseSample[];
739
+ scheduler: {
740
+ timerArms: number;
741
+ timerFires: number;
742
+ timerCancels: number;
743
+ demandWakes: number;
744
+ coalescedDemandWakes: number;
745
+ events: CompositorSchedulerEvent[];
746
+ };
747
+ };
748
+ production: CompositorProductionStats;
749
+ work: CompositorWorkSummary;
750
+ layout: {
751
+ adoptions: number;
752
+ yogaFallbacks: number;
753
+ unchangedTreeRepaints: number;
754
+ unchangedTreeSkips: number;
755
+ };
756
+ cull: {
757
+ examined: number;
758
+ kept: number;
759
+ skipped: number;
760
+ };
761
+ walkCensus: {
762
+ paints: number;
763
+ visits: Record<string, number>;
764
+ native: Record<string, number>;
765
+ clips: Record<string, number>;
766
+ } | null;
767
+ debug: {
768
+ paintBoundaryEvents: Array<{
769
+ t: number;
770
+ channel: 'paintBoundaries';
771
+ data: unknown;
772
+ }>;
773
+ } | null;
774
+ ambientGlow: {
775
+ active: boolean;
776
+ surfaceId: CompositorSurfaceId | null;
777
+ samples: number;
778
+ damageRejectedPaints: number;
779
+ bitmapFailures: number;
780
+ pendingDamageAreaRatio: number;
781
+ };
782
+ home: {
783
+ treeUpdatesReceived: number;
784
+ treeUpdatesApplied: number;
785
+ paints: number;
786
+ firstContentPaintedAt: number | null;
787
+ };
788
+ cursor: {
789
+ nodeId: number;
790
+ position: number;
791
+ opacity: number;
792
+ visible: boolean;
793
+ rect: {
794
+ x: number;
795
+ y: number;
796
+ width: number;
797
+ height: number;
798
+ } | null;
799
+ blinkTicks: number;
800
+ blinkPhaseMs: number | null;
801
+ } | null;
802
+ surfaces: CompositorSurfacePaintStats[];
803
+ appMotion: {
804
+ busy: boolean;
805
+ compositorMotionSurfaceIds: CompositorSurfaceId[];
806
+ pendingSurfaces: {
807
+ surfaceId: AuxAppSurfaceId;
808
+ reason: PendingSurfaceReason;
809
+ }[];
810
+ };
811
+ lottie: LottieOwnerDiagnostics;
812
+ surfacePrewarm: {
813
+ surfaces: number;
814
+ idleRealized: number;
815
+ bootRealized: number;
816
+ pending: number;
817
+ totalMs: number;
818
+ maxMs: number;
819
+ bootHomeMs: number;
820
+ attempts: number;
821
+ lastBlock: string;
822
+ } | null;
823
+ keyboardWarm: {
824
+ lastPaintAck: {
825
+ committedSeq: number | null;
826
+ acceptedSeq: number;
827
+ } | null;
828
+ requests: number;
829
+ grants: number;
830
+ denials: number;
831
+ paintAcks: number;
832
+ aborts: number;
833
+ ends: number;
834
+ active: boolean;
835
+ paintAttempts: number;
836
+ paints: number;
837
+ scratchCreates: number;
838
+ scratchReleases: number;
839
+ scratchMisses: number;
840
+ };
841
+ worldRealize: {
842
+ enabled: boolean;
843
+ passes: number;
844
+ realizeMs: number;
845
+ passLog: Array<{
846
+ surfaceId: CompositorSurfaceId;
847
+ bounds: [number, number, number, number] | null;
848
+ bytes: number;
849
+ records: number;
850
+ chunkReplays: number;
851
+ rasterPromotions: number;
852
+ rasterBlits: number;
853
+ }>;
854
+ };
855
+ settledIdleCache: {
856
+ delayMs: number;
857
+ cleanups: number;
858
+ attempts: number;
859
+ completions: number;
860
+ retries: number;
861
+ cancellations: number;
862
+ lockedCompletions: number;
863
+ reclaimedBytes: number;
864
+ totalMs: number;
865
+ maxMs: number;
866
+ inFlight: boolean;
867
+ lastBlock: SettledIdleCacheBlockReason;
868
+ last: SettledIdleCacheCleanupResult | null;
869
+ };
870
+ nativeFrame: {
871
+ armed: boolean;
872
+ arms: number;
873
+ ticks: number;
874
+ paintFrames: number;
875
+ handbacks: Record<string, number>;
876
+ lastBlock: string | null;
877
+ blocks: Record<string, number>;
878
+ walkCallbacks: number;
879
+ };
880
+ imageRealization: {
881
+ queued: number;
882
+ attempts: number;
883
+ pending: number;
884
+ realized: number;
885
+ mipmappedDraws: number;
886
+ cubicDraws: number;
887
+ repeatDraws: number;
888
+ exactDraws: number;
889
+ staleSurface: number;
890
+ staleGeneration: number;
891
+ staleNode: number;
892
+ staleRequest: number;
893
+ alreadyRealized: number;
894
+ droppedBudget: number;
895
+ deferredMotion: number;
896
+ failed: number;
897
+ draw: {
898
+ count: number;
899
+ totalMs: number;
900
+ maxMs: number;
901
+ };
902
+ flush: {
903
+ count: number;
904
+ totalMs: number;
905
+ maxMs: number;
906
+ };
907
+ };
908
+ glyphRealization: {
909
+ queued: number;
910
+ attempts: number;
911
+ pending: number;
912
+ realized: number;
913
+ staleSurface: number;
914
+ staleGeneration: number;
915
+ staleNode: number;
916
+ alreadyRealized: number;
917
+ droppedBudget: number;
918
+ deferredMotion: number;
919
+ failed: number;
920
+ draw: {
921
+ count: number;
922
+ totalMs: number;
923
+ maxMs: number;
924
+ };
925
+ flush: {
926
+ count: number;
927
+ totalMs: number;
928
+ maxMs: number;
929
+ };
930
+ };
931
+ appSurfaceLifecycle: {
932
+ liveAppSurfaces: number;
933
+ pendingPrewarms: number;
934
+ parkedCanvases: number;
935
+ parkedBackingPixels: number;
936
+ created: number;
937
+ coverPresents?: number;
938
+ disposed: number;
939
+ pausedReleases: number;
940
+ unboundReleases: number;
941
+ currentGenerationResumes: number;
942
+ releaseBlocks: {
943
+ snapshotMissing: number;
944
+ capturePending: number;
945
+ };
946
+ lastRelease: {
947
+ surfaceId: AuxAppSurfaceId;
948
+ generation: number;
949
+ appId: string | null;
950
+ reason: 'paused' | 'unbound';
951
+ } | null;
952
+ lastCurrentGenerationResume: {
953
+ surfaceId: AuxAppSurfaceId;
954
+ generation: number;
955
+ appId: string;
956
+ } | null;
957
+ };
958
+ styleProbe?: CompositorStyleProbe | null;
959
+ profile: unknown;
960
+ memory: unknown;
961
+ errors: {
962
+ count: number;
963
+ last: {
964
+ context: string;
965
+ message: string;
966
+ stack?: string;
967
+ t: number;
968
+ } | null;
969
+ };
970
+ scrollPresentation: {
971
+ presentedFrames: CompositorScrollTraceSample[];
972
+ registryEntries: number;
973
+ slotApplies: number;
974
+ dragInterpolations: number;
975
+ dragDeliveryBoundMs: number;
976
+ messageApplies: number;
977
+ momentumDrives: {
978
+ driveReceived: number;
979
+ cancelReceived: number;
980
+ rebaseReceived: number;
981
+ staleRejected: number;
982
+ begun: number;
983
+ done: number;
984
+ applies: number;
985
+ canceledMissingEntry: number;
986
+ active: number;
987
+ };
988
+ lastApplied: Array<{
989
+ surfaceId: AuxAppSurfaceId;
990
+ nodeId: number;
991
+ x: number;
992
+ y: number;
993
+ zoom: number;
994
+ refreshHolding: boolean;
995
+ refreshPullProgress: number;
996
+ edgeEffectMode: 'stretch' | null;
997
+ edgeReleasing: boolean;
998
+ }>;
999
+ };
1000
+ animatedPresentation: {
1001
+ registryEntries: number;
1002
+ activeSurfaceIds: CompositorSurfaceId[];
1003
+ laneRefusals: Record<string, number>;
1004
+ slotApplies: number;
1005
+ incoherentSkips: number;
1006
+ graphSettledEntries: number;
1007
+ messageApplies: number;
1008
+ staleDrops: number;
1009
+ entries: Array<{
1010
+ surfaceId: CompositorSurfaceId;
1011
+ generation: number;
1012
+ viewTag: number;
1013
+ targetExists: boolean;
1014
+ dirty: boolean;
1015
+ slotCount: number;
1016
+ graphSlots: number;
1017
+ objectKeys: readonly string[] | null;
1018
+ styleKeys: readonly string[] | null;
1019
+ boundaryRecords: number | null;
1020
+ boundaryInvalidations: number | null;
1021
+ boundaryNeedsContentRepaint: boolean | null;
1022
+ opacity: number | null;
1023
+ borderRadius: number | null;
1024
+ globalX: number | null;
1025
+ globalY: number | null;
1026
+ width: number | null;
1027
+ height: number | null;
1028
+ }>;
1029
+ layoutFrames: Array<{
1030
+ surfaceId: AuxAppSurfaceId;
1031
+ viewTag: number;
1032
+ transitionId: number;
1033
+ x: number;
1034
+ y: number;
1035
+ globalX: number;
1036
+ globalY: number;
1037
+ width: number;
1038
+ height: number;
1039
+ }>;
1040
+ paintedPresentationFrames: Array<{
1041
+ surfaceId: CompositorSurfaceId;
1042
+ generation: number;
1043
+ viewTag: number;
1044
+ transitionId: number | null;
1045
+ paint: number;
1046
+ frameToken: number;
1047
+ presentedAtEpochMs: number;
1048
+ opacity: number | null;
1049
+ globalX: number;
1050
+ globalY: number;
1051
+ width: number;
1052
+ height: number;
1053
+ }>;
1054
+ };
1055
+ screenTransitions: {
1056
+ received: number;
1057
+ staleGeneration: number;
1058
+ missingSurface: number;
1059
+ invalidDescriptor: number;
1060
+ begun: number;
1061
+ targetApplies: number;
1062
+ targetChanges: number;
1063
+ targetMisses: number;
1064
+ paintedFrames: number;
1065
+ endpointsSampled: number;
1066
+ endpointsHeld: number;
1067
+ endpointsPainted: number;
1068
+ endpointsCommitted: number;
1069
+ endpointsRetired: number;
1070
+ endpointsNotified: number;
1071
+ lastReceivedGeneration: number | null;
1072
+ lastRuntimeGeneration: number | null;
1073
+ active: number;
1074
+ };
1075
+ promotedLayers: {
1076
+ promoted: number;
1077
+ promotions: number;
1078
+ demotions: number;
1079
+ captureFailures: number;
1080
+ };
1081
+ snapshots: {
1082
+ intervalMs: number;
1083
+ requests: number;
1084
+ pushes: number;
1085
+ failures: number;
1086
+ inFlight: number;
1087
+ blurSource: {
1088
+ appId: string;
1089
+ surfaceId: BackdropSurfaceId;
1090
+ generation: number;
1091
+ } | null;
1092
+ surfaces: Array<{
1093
+ surfaceId: CompositorSurfaceId;
1094
+ generation: number;
1095
+ appId: string | null;
1096
+ wantsBackdrop: boolean;
1097
+ backdropDirty: boolean;
1098
+ pending: number;
1099
+ lastSnapshotMs: number;
1100
+ }>;
1101
+ };
1102
+ images: ImageLoaderStats & {
1103
+ totalCacheEntries: number;
1104
+ memoryTrims: number;
1105
+ gpuCacheBytes: number | null;
1106
+ };
1107
+ webViewCaptureSettled?: boolean;
1108
+ }
1109
+ export interface PromotedLayerOffer {
1110
+ key: string;
1111
+ surfaceId: CompositorSurfaceId;
1112
+ z: number;
1113
+ rect: {
1114
+ x: number;
1115
+ y: number;
1116
+ width: number;
1117
+ height: number;
1118
+ };
1119
+ pivot: {
1120
+ x: number;
1121
+ y: number;
1122
+ };
1123
+ dpr: number;
1124
+ bitmap: ImageBitmap;
1125
+ graph: LinearLoopAnimationGraph;
1126
+ }
1127
+ export type CompositorHostToWorker = {
1128
+ type: 'metalShaderCompile';
1129
+ requestId: number;
1130
+ request: MetalShaderCompileRequest;
1131
+ } | {
1132
+ type: 'mountNativeWidget';
1133
+ identity: NativeWidgetMount;
1134
+ surface: CompositorSurfaceInit;
1135
+ port: MessagePort;
1136
+ } | {
1137
+ type: 'retireNativeWidget';
1138
+ identity: NativeWidgetIdentity;
1139
+ } | {
1140
+ type: 'webViewCaptureStream';
1141
+ stream: ReadableStream<VideoFrame>;
1142
+ } | {
1143
+ type: 'animationClock';
1144
+ snapshot: AnimationClockSnapshot;
1145
+ } | {
1146
+ type: 'promotedLayerShown';
1147
+ key: string;
1148
+ } | {
1149
+ type: 'init';
1150
+ surfaces: CompositorSurfaceInit[];
1151
+ treePort: MessagePort;
1152
+ workletSAB?: SharedArrayBuffer;
1153
+ uiFrameSAB?: SharedArrayBuffer;
1154
+ layoutSAB?: SharedArrayBuffer;
1155
+ hostTimeOrigin: number;
1156
+ pageDisplayClock?: SharedArrayBuffer;
1157
+ animationClock: AnimationClockSnapshot;
1158
+ fontUrls: string[];
1159
+ fontBuffers?: Record<string, ArrayBuffer>;
1160
+ nativeResourcesPort: MessagePort;
1161
+ canvasKitWasmModule: WebAssembly.Module;
1162
+ pipelineCache: GraphitePipelineCacheLoadResult;
1163
+ pipelineHelpers: MessagePort[];
1164
+ wireframe: boolean;
1165
+ initUrl: string;
1166
+ headlessPresentation: boolean;
1167
+ resourceBudgetScale: number;
1168
+ colorScheme: 'light' | 'dark';
1169
+ reactNativeConfiguration: ReactNativeConfigurationSnapshot;
1170
+ deviceSpec: DeviceSpec;
1171
+ localStorageEntries: Array<[string, string]>;
1172
+ } | {
1173
+ type: 'start';
1174
+ } | {
1175
+ type: 'stop';
1176
+ } | {
1177
+ type: 'stepFrame';
1178
+ requestId: number;
1179
+ now: number;
1180
+ awaitPageShown: boolean;
1181
+ } | {
1182
+ type: 'lockstepMode';
1183
+ epochMs: number | null;
1184
+ } | {
1185
+ type: 'forceRender';
1186
+ captureRequestId?: number;
1187
+ } | {
1188
+ type: 'forceRender';
1189
+ captureRequestId: number;
1190
+ present: true;
1191
+ } | {
1192
+ type: 'forceRender';
1193
+ captureRequestId: number;
1194
+ reuseSettledPixels: true;
1195
+ } | {
1196
+ type: 'prepareWindowRotation';
1197
+ requestId: number;
1198
+ } | {
1199
+ type: 'beginWindowRotation';
1200
+ rotation: NativeInterfaceRotation;
1201
+ } | {
1202
+ type: 'startWindowRotation';
1203
+ startedAt: number;
1204
+ duration: number;
1205
+ } | {
1206
+ type: 'endWindowRotation';
1207
+ } | {
1208
+ type: 'waitForDisplayPresentation';
1209
+ requestId: number;
1210
+ surfaceIds: CompositorSurfaceId[];
1211
+ } | {
1212
+ type: 'cancelDisplayPresentation';
1213
+ requestId: number;
1214
+ } | {
1215
+ type: 'beginCapturePublicationBarrier';
1216
+ requestId: number;
1217
+ origins: CapturePublicationOrigin[];
1218
+ } | {
1219
+ type: 'cancelCapturePublicationBarrier';
1220
+ requestId: number;
1221
+ } | {
1222
+ type: 'ping';
1223
+ nonce: number;
1224
+ } | {
1225
+ type: 'captureSurfaces';
1226
+ requestId: number;
1227
+ surfaceIds: CompositorSurfaceId[];
1228
+ scale?: number;
1229
+ directImage?: boolean;
1230
+ region?: CompositorGpuRegion;
1231
+ presentedFrames?: number | 'all';
1232
+ presentedBeforeEpochMs?: number;
1233
+ format?: PresentedFrameCaptureFormat;
1234
+ suppressText?: SootSimCaptureOptions['suppressText'];
1235
+ captureFilter?: SootSimCaptureOptions['captureFilter'];
1236
+ } | ({
1237
+ type: 'dump';
1238
+ requestId: number;
1239
+ } & (CompositorCadenceRequest | {
1240
+ detail?: 'full';
1241
+ resetCull?: boolean;
1242
+ includeMemory?: boolean;
1243
+ styleTestID?: string;
1244
+ imageAudit?: 'enable' | 'read' | 'disable';
1245
+ textPaint?: TextPaintReceiptRequest;
1246
+ hasFileUri?: string;
1247
+ })) | {
1248
+ type: 'captureGraphitePipelines';
1249
+ requestId: number;
1250
+ } | {
1251
+ type: 'startScrollTrace';
1252
+ requestId: number;
1253
+ limit?: number;
1254
+ pressTestID?: string;
1255
+ layoutTestID?: string;
1256
+ } | {
1257
+ type: 'stopScrollTrace';
1258
+ requestId: number;
1259
+ } | {
1260
+ type: 'pointer';
1261
+ phase: 'down' | 'move' | 'up' | 'cancel';
1262
+ surfaceId: CompositorSurfaceId;
1263
+ t: number;
1264
+ x: number;
1265
+ y: number;
1266
+ } | {
1267
+ type: 'profileStart';
1268
+ requestId: number;
1269
+ renderProfile: boolean;
1270
+ presentationCapture?: PresentedFrameCaptureOptions;
1271
+ nativeReceipts?: boolean;
1272
+ } | {
1273
+ type: 'profileStop';
1274
+ requestId: number;
1275
+ } | {
1276
+ type: 'trimMemory';
1277
+ keepFraction: number;
1278
+ } | {
1279
+ type: 'imageGetSize';
1280
+ requestId: number;
1281
+ uri: string;
1282
+ headers?: Record<string, string>;
1283
+ } | {
1284
+ type: 'imagePrefetch';
1285
+ requestId: number;
1286
+ uri: string;
1287
+ imageRequestId?: number;
1288
+ exactCacheKey?: string;
1289
+ headers?: Record<string, string>;
1290
+ } | {
1291
+ type: 'imageStoreBytes';
1292
+ requestId: number;
1293
+ uri: string;
1294
+ bytes: ArrayBuffer;
1295
+ headers?: Record<string, string>;
1296
+ } | {
1297
+ type: 'imageAbort';
1298
+ requestId: number;
1299
+ imageRequestId: number;
1300
+ } | {
1301
+ type: 'imageQueryCache';
1302
+ requestId: number;
1303
+ uris: string[];
1304
+ } | {
1305
+ type: 'colorScheme';
1306
+ value: 'light' | 'dark';
1307
+ } | {
1308
+ type: 'setReactNativeConfiguration';
1309
+ configuration: ReactNativeConfigurationSnapshot;
1310
+ } | {
1311
+ type: 'wireframe';
1312
+ config: WireframeModeConfig | null;
1313
+ } | {
1314
+ type: 'resize';
1315
+ surfaces: CompositorSurfaceResize[];
1316
+ deviceSpec: DeviceSpec;
1317
+ } | {
1318
+ type: 'renderActivitySubscription';
1319
+ active: boolean;
1320
+ } | {
1321
+ type: 'ambientGlow';
1322
+ active: boolean;
1323
+ } | {
1324
+ type: 'frameBreakdown';
1325
+ buffer: SharedArrayBuffer | null;
1326
+ } | {
1327
+ type: 'debugChannels';
1328
+ active: string[];
1329
+ };
1330
+ export type KeyboardWarmShellMessage = {
1331
+ type: 'keyboardWarm';
1332
+ phase: 'request' | 'ended';
1333
+ } | {
1334
+ type: 'keyboardWarm';
1335
+ phase: 'committed';
1336
+ seq: number;
1337
+ };
1338
+ export type KeyboardWarmCompositorPhase = 'granted' | 'denied' | 'painted' | 'abort';
1339
+ export interface CompositorScrollRegistryEntry {
1340
+ allocationId: string;
1341
+ nodeId: number;
1342
+ surfaceId: AuxAppSurfaceId;
1343
+ generation: number;
1344
+ slotX: number;
1345
+ slotY: number;
1346
+ slotZoom: number;
1347
+ slotVersion: number;
1348
+ slotSampleTime: number;
1349
+ slotDragStartTime: number;
1350
+ slotPresentationDisplacementY: number;
1351
+ }
1352
+ export type ShellToCompositorMessage = {
1353
+ type: 'screenCaptureProtection';
1354
+ request: import('../capture/nativeScreenCaptureContract.d.ts').NativeScreenCaptureRequest;
1355
+ active: boolean;
1356
+ prevented: boolean;
1357
+ } | {
1358
+ type: 'panRecognized';
1359
+ epochMs: number;
1360
+ } | {
1361
+ type: 'foldMotion';
1362
+ active: boolean;
1363
+ } | EngineResourceResponse | WireSurfaceUpdate | {
1364
+ type: 'shellInbox';
1365
+ buffer: SharedArrayBuffer;
1366
+ } | {
1367
+ type: 'nativeSurfaceRegistrations';
1368
+ surfaces: import('../../../peach-globals/src/index.d.ts').NativeSurfaceRegistration[];
1369
+ } | {
1370
+ type: 'webViewCaptureRegistrations';
1371
+ views: import('./webview-capture-protocol.d.ts').WebViewCaptureRegistration[];
1372
+ } | {
1373
+ type: 'webViewCaptureReady';
1374
+ ready: boolean;
1375
+ } | {
1376
+ type: 'webViewCaptureLowered';
1377
+ instanceId: string;
1378
+ sequence: number;
1379
+ } | {
1380
+ type: 'webViewCaptureHostMotion';
1381
+ source: 'pointer' | 'fold' | 'rotation';
1382
+ active: boolean;
1383
+ } | ({
1384
+ type: 'remoteFontRegister';
1385
+ } & RemoteFontRegistration) | {
1386
+ type: 'capturePublicationBarrier';
1387
+ requestId: number;
1388
+ origin: CapturePublicationOrigin;
1389
+ expectedVideoFrames?: number;
1390
+ } | {
1391
+ type: 'shellAuthoredTreeUpdate';
1392
+ update: WireSurfaceUpdate;
1393
+ contentW: number;
1394
+ contentH: number;
1395
+ dpr: number;
1396
+ } | KeyboardWarmShellMessage | {
1397
+ type: 'editMenuMirror';
1398
+ payload: import('./text-inputContract.d.ts').EditMenuBridgeEvent;
1399
+ } | WorkerStorageSyncMessage | {
1400
+ type: 'surfaceState';
1401
+ backdropSurfaceId: BackdropSurfaceId | null;
1402
+ snapshotOwners: import('../engine/snapshot-cache-policy.d.ts').AppSnapshotOwner[];
1403
+ surfaces: Array<{
1404
+ surfaceId: AuxAppSurfaceId;
1405
+ appId: string | null;
1406
+ generation: number;
1407
+ paused: boolean;
1408
+ wantsChromeLuminance: boolean;
1409
+ }>;
1410
+ } | {
1411
+ type: 'foregroundSurface';
1412
+ surfaceId: CompositorSurfaceId | null;
1413
+ } | {
1414
+ type: 'appMotion';
1415
+ busy: boolean;
1416
+ } | {
1417
+ type: 'uiFrameDemand';
1418
+ wanted: boolean;
1419
+ } | {
1420
+ type: 'pipelineWarmApp';
1421
+ appId: string | null;
1422
+ warmPipelines?: readonly string[];
1423
+ } | {
1424
+ type: 'pipelineWarmScreen';
1425
+ appId: string;
1426
+ bundleRevision: string | null;
1427
+ route: string;
1428
+ state: string;
1429
+ idle: boolean;
1430
+ } | {
1431
+ type: 'layoutTick';
1432
+ surfaceId: AuxAppSurfaceId;
1433
+ generation: number;
1434
+ } | {
1435
+ type: 'insertSharedTransitionContainer';
1436
+ surfaceId: AuxAppSurfaceId;
1437
+ generation: number;
1438
+ wire: WireElementNode;
1439
+ layout: {
1440
+ x: number;
1441
+ y: number;
1442
+ width: number;
1443
+ height: number;
1444
+ };
1445
+ } | {
1446
+ type: 'releaseRetainedRemoval';
1447
+ surfaceId: AuxAppSurfaceId;
1448
+ generation: number;
1449
+ viewTag: number;
1450
+ } | {
1451
+ type: 'registerAppFonts';
1452
+ requestId?: number;
1453
+ specs: readonly AppFontWireSpec[];
1454
+ } | {
1455
+ type: 'rasterizeSvgResult';
1456
+ requestId: number;
1457
+ pngBytes: ArrayBuffer | null;
1458
+ } | {
1459
+ type: 'captureSnapshot';
1460
+ surfaceId: AuxAppSurfaceId;
1461
+ appId?: string;
1462
+ requestId?: number;
1463
+ scale?: number;
1464
+ } | {
1465
+ type: 'captureViewShot';
1466
+ surfaceId: AuxAppSurfaceId;
1467
+ requestId: number;
1468
+ spec: ViewShotCaptureSpec;
1469
+ } | {
1470
+ type: 'scrollRegistry';
1471
+ retirements?: import('./scroll-mirror.d.ts').ScrollSlotRetirement[];
1472
+ surfaceId: AuxAppSurfaceId;
1473
+ generation: number;
1474
+ entries: CompositorScrollRegistryEntry[];
1475
+ } | {
1476
+ type: 'animatedPresentation';
1477
+ surfaceId: CompositorSurfaceId;
1478
+ generation: number;
1479
+ viewTag: number;
1480
+ slotVersion: number;
1481
+ slotOwner: number;
1482
+ template: unknown;
1483
+ lease?: AnimatedDrivenStyleLease;
1484
+ graphs?: CompositorAnimatedSlotGraph[];
1485
+ } | {
1486
+ type: 'animatedPresentationChanged';
1487
+ surfaceId: AuxAppSurfaceId;
1488
+ generation: number;
1489
+ } | {
1490
+ type: 'animatedDriveCreate';
1491
+ drive: number;
1492
+ surfaceId: AuxAppSurfaceId;
1493
+ root: NativeAnimationGraphNode | CSSKeyframesDrive;
1494
+ valueIds: number[];
1495
+ valueSlots: number[];
1496
+ versionSlot: number;
1497
+ lowPriority: boolean;
1498
+ presentationOnly?: boolean;
1499
+ } | {
1500
+ type: 'animatedDriveStop';
1501
+ drive: number;
1502
+ retirementId: number;
1503
+ } | {
1504
+ type: 'animatedDriveVisibility';
1505
+ drive: number;
1506
+ visible: boolean;
1507
+ } | {
1508
+ type: 'clearAnimatedPresentation';
1509
+ surfaceId: CompositorSurfaceId;
1510
+ generation: number;
1511
+ viewTag: number;
1512
+ retirementId: number;
1513
+ slotVersion: number;
1514
+ tenantEndpoint?: Record<string, unknown>;
1515
+ } | {
1516
+ type: 'cursorMirror';
1517
+ surfaceId: CompositorSurfaceId;
1518
+ generation: number;
1519
+ payload: CursorBridgeEvent;
1520
+ } | {
1521
+ type: 'loupeMirror';
1522
+ surfaceId: AuxAppSurfaceId;
1523
+ generation: number;
1524
+ payload: import('./text-inputContract.d.ts').LoupeState;
1525
+ } | {
1526
+ type: 'scrollPresentationChanged';
1527
+ surfaceId: AuxAppSurfaceId;
1528
+ generation: number;
1529
+ effects: CompositorScrollEffectPresentation[];
1530
+ } | {
1531
+ type: 'animatedProps';
1532
+ surfaceId: CompositorSurfaceId;
1533
+ generation: number;
1534
+ viewTag: number;
1535
+ updates: Record<string, unknown>;
1536
+ lease?: AnimatedDrivenStyleLease;
1537
+ } | {
1538
+ type: 'retireAnimatedDrivenStyle';
1539
+ surfaceId: CompositorSurfaceId;
1540
+ generation: number;
1541
+ viewTag: number;
1542
+ retirementId: number;
1543
+ retirement: AnimatedDrivenStyleRetirement;
1544
+ } | {
1545
+ type: 'screenTransitionDrive';
1546
+ surfaceId: AuxAppSurfaceId;
1547
+ generation: number;
1548
+ descriptor: ScreenTransitionDriveDescriptor;
1549
+ } | {
1550
+ type: 'screenTransitionCardTargetsRetired';
1551
+ surfaceId: AuxAppSurfaceId;
1552
+ generation: number;
1553
+ stackId: number;
1554
+ transitionId: number;
1555
+ viewTags: number[];
1556
+ } | {
1557
+ type: 'screenTransitionEntrySettled';
1558
+ surfaceId: AuxAppSurfaceId;
1559
+ generation: number;
1560
+ stackId: number;
1561
+ transitionId: number;
1562
+ } | {
1563
+ type: 'screenTransitionCancel';
1564
+ surfaceId: AuxAppSurfaceId;
1565
+ generation: number;
1566
+ stackId: number;
1567
+ hold: boolean;
1568
+ } | {
1569
+ type: 'lottieIntent';
1570
+ surfaceId: AuxAppSurfaceId;
1571
+ generation: number;
1572
+ intent: LottieIntent;
1573
+ } | ({
1574
+ type: 'scrollMomentumDrive';
1575
+ surfaceId: AuxAppSurfaceId;
1576
+ generation: number;
1577
+ } & ScrollMomentumDriveDescriptor) | {
1578
+ type: 'scrollIndicatorFlash';
1579
+ surfaceId: AuxAppSurfaceId;
1580
+ generation: number;
1581
+ nodeId: number;
1582
+ } | {
1583
+ type: 'scrollMomentumCancel';
1584
+ surfaceId: AuxAppSurfaceId;
1585
+ generation: number;
1586
+ nodeId: number;
1587
+ driveId: number;
1588
+ } | {
1589
+ type: 'scrollMomentumRebase';
1590
+ surfaceId: AuxAppSurfaceId;
1591
+ generation: number;
1592
+ nodeId: number;
1593
+ driveId: number;
1594
+ min: number;
1595
+ max: number;
1596
+ offsetShift?: number;
1597
+ nestedScrollExtentChain?: ScrollMomentumExtentNode[];
1598
+ } | {
1599
+ type: 'liveFrameMirror';
1600
+ surfaceId: CompositorSurfaceId;
1601
+ generation: number;
1602
+ payload: LiveFrameMirrorEnvelope;
1603
+ } | {
1604
+ type: 'tenantLiveFramePort';
1605
+ port: MessagePort;
1606
+ };
1607
+ export type ShellCompositorInboxMessage = Extract<ShellToCompositorMessage, WireSurfaceUpdate | {
1608
+ type: 'appMotion' | 'retireAnimatedDrivenStyle';
1609
+ }>;
1610
+ export declare function isShellCompositorInboxMessage(message: ShellToCompositorMessage): message is ShellCompositorInboxMessage;
1611
+ export type CompositorWorkerToHost = {
1612
+ type: 'metalShaderCompileResult';
1613
+ requestId: number;
1614
+ response: MetalShaderCompileResponse;
1615
+ } | {
1616
+ type: 'nativeWindowOwnership';
1617
+ ownership: NativeWindowOwnership | null;
1618
+ } | {
1619
+ type: 'displayClockDemand';
1620
+ active: boolean;
1621
+ } | ({
1622
+ type: 'promotedLayerOffer';
1623
+ } & PromotedLayerOffer) | {
1624
+ type: 'promotedLayerRetire';
1625
+ key: string;
1626
+ } | {
1627
+ type: 'bootstrapped';
1628
+ } | {
1629
+ type: 'ready';
1630
+ adapter: GraphiteAdapterIdentity;
1631
+ } | {
1632
+ type: 'profileStarted';
1633
+ requestId: number;
1634
+ } | {
1635
+ type: 'profileStopped';
1636
+ requestId: number;
1637
+ } | {
1638
+ type: 'bootMark';
1639
+ mark: SootsimBootMark;
1640
+ } | {
1641
+ type: 'firstContentPainted';
1642
+ surfaceId: CompositorSurfaceId;
1643
+ atEpochMs: number;
1644
+ } | {
1645
+ type: 'renderActivity';
1646
+ busy: boolean;
1647
+ frameToken: number;
1648
+ } | {
1649
+ type: 'liveFrameMotion';
1650
+ active: boolean;
1651
+ } | {
1652
+ type: 'ambientGlowSample';
1653
+ bitmap: ImageBitmap;
1654
+ } | {
1655
+ type: 'capturePublicationProgress';
1656
+ requestId: number;
1657
+ origin: CapturePublicationOrigin;
1658
+ } | {
1659
+ type: 'capturePublicationReady';
1660
+ requestId: number;
1661
+ } | {
1662
+ type: 'displayPresentationReady';
1663
+ requestId: number;
1664
+ frameToken: number;
1665
+ } | {
1666
+ type: 'windowRotationPrepared';
1667
+ requestId: number;
1668
+ } | {
1669
+ type: 'forceRenderDone';
1670
+ requestId: number;
1671
+ frameToken: number;
1672
+ } | ({
1673
+ type: 'stats';
1674
+ requestId: number;
1675
+ detail: 'full';
1676
+ } & CompositorStats) | ({
1677
+ type: 'stats';
1678
+ requestId: number;
1679
+ detail: 'cadence';
1680
+ } & CompositorCadenceStats) | {
1681
+ type: 'stats';
1682
+ requestId: number;
1683
+ detail: 'error';
1684
+ error: string;
1685
+ } | {
1686
+ type: 'graphitePipelineCapture';
1687
+ requestId: number;
1688
+ bytes?: ArrayBuffer;
1689
+ error?: string;
1690
+ } | {
1691
+ type: 'scrollTraceStarted';
1692
+ requestId: number;
1693
+ } | {
1694
+ type: 'scrollTraceStopped';
1695
+ requestId: number;
1696
+ samples: CompositorTraceSample[];
1697
+ } | {
1698
+ type: 'error';
1699
+ context: string;
1700
+ message: string;
1701
+ stack?: string;
1702
+ } | {
1703
+ type: 'fatal';
1704
+ reason: CompositorFatalReason;
1705
+ message: string;
1706
+ stack?: string;
1707
+ } | {
1708
+ type: 'heartbeat';
1709
+ count: number;
1710
+ paints: number;
1711
+ } | {
1712
+ type: 'pong';
1713
+ nonce: number;
1714
+ } | {
1715
+ type: 'captureSurfacesResult';
1716
+ requestId: number;
1717
+ surfaces: CompositorCapturedSurface[];
1718
+ pixelSurfaces?: CompositorCapturedPixelSurface[];
1719
+ hashedSurfaces?: CompositorCapturedFrameHash[];
1720
+ unavailableSurfaceIds: CompositorSurfaceId[];
1721
+ failures: CompositorSurfaceCaptureFailure[];
1722
+ } | {
1723
+ type: 'stepFrameDone';
1724
+ requestId: number;
1725
+ frameToken: number;
1726
+ } | {
1727
+ type: 'imageGetSizeResult';
1728
+ requestId: number;
1729
+ size?: {
1730
+ width: number;
1731
+ height: number;
1732
+ };
1733
+ error?: string;
1734
+ } | {
1735
+ type: 'imageStoreBytesResult';
1736
+ requestId: number;
1737
+ error?: string;
1738
+ } | {
1739
+ type: 'imagePrefetchResult';
1740
+ requestId: number;
1741
+ loaded: boolean;
1742
+ error?: string;
1743
+ } | {
1744
+ type: 'imageAbortResult';
1745
+ requestId: number;
1746
+ aborted: boolean;
1747
+ error?: string;
1748
+ } | {
1749
+ type: 'imageQueryCacheResult';
1750
+ requestId: number;
1751
+ entries: Record<string, 'memory'>;
1752
+ error?: string;
1753
+ };
1754
+ export type CompositorToShellMessage = {
1755
+ type: 'screenCaptureProtectionApplied';
1756
+ request: import('../capture/nativeScreenCaptureContract.d.ts').NativeScreenCaptureRequest;
1757
+ } | {
1758
+ type: 'uiFrame';
1759
+ epochMs: number;
1760
+ } | EngineResourceRequest | {
1761
+ type: 'shellInboxAccepted';
1762
+ } | {
1763
+ type: 'keyboardWarm';
1764
+ phase: KeyboardWarmCompositorPhase;
1765
+ } | {
1766
+ type: 'webViewFrameReady';
1767
+ instanceId: string;
1768
+ } | {
1769
+ type: 'webViewCaptureFailed';
1770
+ } | {
1771
+ type: 'webViewCaptureTarget';
1772
+ target: import('./webview-capture-protocol.d.ts').WebViewCaptureTarget;
1773
+ } | {
1774
+ type: 'nativeSurfacePresented';
1775
+ presentation: import('../../../peach-globals/src/index.d.ts').NativeSurfacePresented;
1776
+ } | {
1777
+ type: 'webViewLower';
1778
+ instanceId: string;
1779
+ sequence: number;
1780
+ } | {
1781
+ type: 'liveFrameConsumed';
1782
+ channelId: string;
1783
+ remoteFrame?: LiveFrameMirrorEnvelope['remoteFrame'];
1784
+ } | {
1785
+ type: 'tenantLiveFrameCaptureBarrier';
1786
+ requestId: number;
1787
+ } | {
1788
+ type: 'surfaceTreePainted';
1789
+ surfaceId: AuxAppSurfaceId;
1790
+ generation: number;
1791
+ seq: number;
1792
+ } | {
1793
+ type: 'requestSurfaceResync';
1794
+ surfaceId: AuxAppSurfaceId;
1795
+ } | {
1796
+ type: 'appFontsRegistered';
1797
+ requestId: number;
1798
+ ok: boolean;
1799
+ } | {
1800
+ type: 'requestShellSurfaceResync';
1801
+ surfaceId: ShellAuthoredSurfaceId;
1802
+ } | {
1803
+ type: 'screenTransitionStarted';
1804
+ surfaceId: AuxAppSurfaceId;
1805
+ generation: number;
1806
+ stackId: number;
1807
+ transitionId: number;
1808
+ } | {
1809
+ type: 'screenTransitionClock';
1810
+ surfaceId: AuxAppSurfaceId;
1811
+ generation: number;
1812
+ stackId: number;
1813
+ transitionId: number;
1814
+ startedAt: number;
1815
+ backCapsulePulseStartedAt: number;
1816
+ } | {
1817
+ type: 'screenTransitionProgress';
1818
+ event: import('../../../peach-kit/src/runtime.d.ts').ScreenTransitionProgress;
1819
+ reportProgress?: boolean;
1820
+ shared?: {
1821
+ screenTag: number;
1822
+ progress: number;
1823
+ finished: boolean;
1824
+ };
1825
+ } | {
1826
+ type: 'screenTransitionDone';
1827
+ surfaceId: AuxAppSurfaceId;
1828
+ generation: number;
1829
+ stackId: number;
1830
+ transitionId: number;
1831
+ dropped: boolean;
1832
+ } | {
1833
+ type: 'screenTransitionLanded';
1834
+ surfaceId: AuxAppSurfaceId;
1835
+ generation: number;
1836
+ stackId: number;
1837
+ transitionId: number;
1838
+ } | {
1839
+ type: 'scrollMomentumPresented';
1840
+ surfaceId: AuxAppSurfaceId;
1841
+ generation: number;
1842
+ nodeId: number;
1843
+ driveId: number;
1844
+ phase: 'step' | 'done' | 'refused' | 'canceled';
1845
+ velocity: number;
1846
+ chain: ScrollMomentumDriveNode[];
1847
+ } | {
1848
+ type: 'chromeLuminance';
1849
+ surfaceId: AuxAppSurfaceId;
1850
+ statusBarDark?: boolean;
1851
+ homeIndicatorDark?: boolean;
1852
+ } | {
1853
+ type: 'snapshot';
1854
+ lease: number;
1855
+ surfaceId: AuxAppSurfaceId;
1856
+ generation: number;
1857
+ appId: string;
1858
+ requestId?: number;
1859
+ width: number;
1860
+ height: number;
1861
+ scale: number;
1862
+ } | {
1863
+ type: 'cursorRectBack';
1864
+ surfaceId: CompositorSurfaceId;
1865
+ rect: {
1866
+ x: number;
1867
+ y: number;
1868
+ width: number;
1869
+ height: number;
1870
+ } | null;
1871
+ } | {
1872
+ type: 'snapshotsReleased';
1873
+ owners: import('../engine/snapshot-cache-policy.d.ts').AppSnapshotOwner[];
1874
+ } | {
1875
+ type: 'imageLifecycleEvent';
1876
+ event: ImageLifecycleEvent;
1877
+ } | {
1878
+ type: 'lottieLifecycleEvent';
1879
+ event: LottieLifecycleEvent;
1880
+ } | {
1881
+ type: 'rasterizeSvgRequest';
1882
+ requestId: number;
1883
+ bytes: ArrayBuffer;
1884
+ targetWidth: number;
1885
+ targetHeight: number;
1886
+ } | {
1887
+ type: 'viewShotResult';
1888
+ requestId: number;
1889
+ result: ViewShotCaptureResultSpec;
1890
+ } | {
1891
+ type: 'shellSurfaceFirstContentPainted';
1892
+ surfaceId: ShellAuthoredSurfaceId;
1893
+ t: number;
1894
+ } | {
1895
+ type: 'editMenuRectsBack';
1896
+ barRect: {
1897
+ x: number;
1898
+ y: number;
1899
+ width: number;
1900
+ height: number;
1901
+ } | null;
1902
+ itemRects: EditMenuItemRect[];
1903
+ } | {
1904
+ type: 'appLaunchPainted';
1905
+ surfaceId: AuxAppSurfaceId;
1906
+ generation: number;
1907
+ appId: string;
1908
+ } | {
1909
+ type: 'appLaunchInvalidated';
1910
+ surfaceId: AuxAppSurfaceId;
1911
+ generation: number;
1912
+ appId: string | null;
1913
+ } | {
1914
+ type: 'appContentPainted';
1915
+ surfaceId: AuxAppSurfaceId;
1916
+ generation: number;
1917
+ appId: string;
1918
+ } | {
1919
+ type: 'scrollSlotsRetired';
1920
+ retirements: import('./scroll-mirror.d.ts').ScrollSlotRetirement[];
1921
+ } | {
1922
+ type: 'animatedPresentationRetired';
1923
+ retirementId: number;
1924
+ } | {
1925
+ type: 'animatedDriveEnd';
1926
+ drive: number;
1927
+ values: number[];
1928
+ } | {
1929
+ type: 'animatedDrivenStyleRetired';
1930
+ surfaceId: CompositorSurfaceId;
1931
+ generation: number;
1932
+ viewTag: number;
1933
+ retirementId: number;
1934
+ retirement: AnimatedDrivenStyleRetirement;
1935
+ };
1936
+ export declare function isAuxAppSurfaceId(value: unknown): value is AuxAppSurfaceId;
1937
+ export declare function isBackdropSurfaceId(value: unknown): value is BackdropSurfaceId;
1938
+ export declare function isShellAuthoredSurfaceId(value: unknown): value is ShellAuthoredSurfaceId;
1939
+ export declare function isCompositorSurfaceId(value: unknown): value is CompositorSurfaceId;
1940
+ export declare function isAnimatedDriveCreateMessage(value: unknown): value is Extract<ShellToCompositorMessage, {
1941
+ type: 'animatedDriveCreate';
1942
+ }>;
1943
+ export declare function isSharedTransitionContainerMessage(value: unknown): value is Extract<ShellToCompositorMessage, {
1944
+ type: 'insertSharedTransitionContainer';
1945
+ }>;