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,379 @@
1
+ import { type DamageRect } from './damage-rect.d.ts';
2
+ import type { NativeLayoutExports } from './native-layout.d.ts';
3
+ import type { ParsedFilterOp, SootSimLayout, SootSimStyle } from './types.d.ts';
4
+ import type { CanvasKit, Image as SkImage, RuntimeEffect, Shader } from 'canvaskit-wasm';
5
+ export declare const SCENE_I32_STRIDE = 8;
6
+ export declare const SCENE_F64_STRIDE = 100;
7
+ export declare const SCENE_F32_STRIDE = 20;
8
+ export declare const SCENE_MAX_TRANSFORM_OPS = 6;
9
+ export declare const AUTO_RETAINED_MAX_LAYOUT_AREA = 400000;
10
+ export declare const SCENE_I_FIRST_CHILD = 4;
11
+ export declare const SCENE_I_NEXT_SIBLING = 5;
12
+ export declare const SCENE_I_PAINT_KIND = 6;
13
+ export declare const SCENE_I_PAINT_BITS = 7;
14
+ export declare const SCENE_FLAG_PORTAL_VIEW = 1;
15
+ export declare const SCENE_FLAG_PRESENTATION_LAYER_TRANSFORM = 2;
16
+ export declare const SCENE_FLAG_TRANSFORM_UNBOUNDED = 4;
17
+ export declare const SCENE_FLAG_OVERFLOW_CLIP = 8;
18
+ export declare const SCENE_FLAG_TRANSFORM = 16;
19
+ export declare const SCENE_FLAG_PRESENTED_BOX = 32;
20
+ export declare const SCENE_FLAG_PRESENTATION_STYLE = 64;
21
+ export declare const SCENE_FLAG_Z_DYNAMIC = 128;
22
+ export declare const SCENE_FLAG_TRANSFORM_STYLE = 256;
23
+ export declare const SCENE_FLAG_MASK_SLOT = 512;
24
+ export declare const SCENE_FLAG_STICKY_HEADER = 1024;
25
+ export declare const SCENE_FLAG_VERTICAL_SCROLL = 2048;
26
+ export declare const SCENE_FLAG_TEXT = 4096;
27
+ export declare const SCENE_FLAG_IMAGE = 524288;
28
+ export declare const SCENE_FLAG_HOISTED = 2097152;
29
+ export declare const SCENE_FLAG_HOIST_HOST = 4194304;
30
+ export declare const SCENE_FLAG_STICKY_INVERTED = 8388608;
31
+ export declare const SCENE_FLAG_PORTAL_HOST = 536870912;
32
+ export declare const SCENE_PAINT_KIND_JS = 1;
33
+ export declare const SCENE_PAINT_KIND_JS_VOLATILE = 2;
34
+ export declare const SCENE_PAINT_KIND_BOX = 3;
35
+ export declare const SCENE_PAINT_KIND_SKIP = 4;
36
+ export declare const SCENE_PAINT_KIND_HOST = 5;
37
+ export declare const SCENE_PAINT_KIND_TEXT = 6;
38
+ export declare const SCENE_PAINT_KIND_IMAGE = 7;
39
+ export declare const SCENE_PAINT_KIND_PICTURE = 8;
40
+ export declare const SCENE_PAINT_KIND_MASKED_VIEW = 9;
41
+ export declare const SCENE_PAINT_FILL = 1;
42
+ export declare const SCENE_PAINT_ANTIALIAS = 2;
43
+ export declare const SCENE_PAINT_BORDER = 4;
44
+ export declare const SCENE_PAINT_BORDER_UNIFORM = 8;
45
+ export declare const SCENE_PAINT_BORDER_STYLE_SHIFT = 4;
46
+ export declare const SCENE_PAINT_CLIP = 64;
47
+ export declare const SCENE_PAINT_FOLD = 128;
48
+ export declare const SCENE_PAINT_LAYER = 256;
49
+ export declare const SCENE_PAINT_SHADOW = 512;
50
+ export declare const SCENE_PAINT_BLEND_LAYER = 1024;
51
+ export declare const SCENE_PAINT_FILL_BLEND = 2048;
52
+ export declare const SCENE_PAINT_BLEND_SHIFT = 12;
53
+ export declare const SCENE_PAINT_BLEND_RUNTIME = 30;
54
+ export declare const SCENE_PAINT_BLEND_MATRIX = 31;
55
+ export declare const SCENE_PAINT_GRADIENT = 131072;
56
+ export declare const SCENE_PAINT_GLASS = 262144;
57
+ export declare const SCENE_PAINT_OUTLINE = 524288;
58
+ export declare const SCENE_PAINT_CLIP_BORDER_BOX = 1048576;
59
+ export declare const SCENE_PAINT_BORDER_OVER = 2097152;
60
+ export declare const SCENE_PAINT_BORDER_IMAGE = 4194304;
61
+ export declare const SCENE_PAINT_CA_ROUNDED = 8388608;
62
+ export declare const SCENE_PAINT_BORDER_CLIPS_CONTENT = 16777216;
63
+ export declare const SCENE_PAINT_MIX_BLEND = 33554432;
64
+ export declare const SCENE_PAINT_MASK_SAMPLES_BACKDROP = 67108864;
65
+ export declare const SCENE_PAINT_MASK_SEEDS_BACKDROP = 134217728;
66
+ export declare const SCENE_PAINT_SIZE_FREE = 268435456;
67
+ export declare const SCENE_PAINT_MATERIAL = 536870912;
68
+ export declare const SCENE_PAINT_VIEW_MASK = 1073741824;
69
+ export declare const SCENE_D_SELF_GEN = 38;
70
+ export declare const SCENE_D_SUB_GEN = 39;
71
+ export declare const SCENE_D_KIND_STAMP = 53;
72
+ export declare const SCENE_D_BOUNDED_VERSION = 54;
73
+ export declare const SCENE_D_BOUNDED = 55;
74
+ export declare const SCENE_D_RADII = 56;
75
+ export declare const SCENE_D_SHAPE = 60;
76
+ export declare const SCENE_D_BORDER_WIDTHS = 61;
77
+ export declare const SCENE_D_BOUNDS_GEN = 65;
78
+ export declare const SCENE_D_FILL_SHAPE = 66;
79
+ export declare const SCENE_F_FILL = 0;
80
+ export declare const SCENE_F_BORDER = 4;
81
+ export interface SceneMemoryBlock {
82
+ view(): ArrayBufferView;
83
+ free(): void;
84
+ }
85
+ export interface SceneMemory {
86
+ allocate(byteLength: number): SceneMemoryBlock;
87
+ }
88
+ export declare const PAINT_EXTENT_SKIP = 1;
89
+ export declare const PAINT_EXTENT_UNKNOWN = 2;
90
+ export declare const PAINT_EXTENT_CHILDREN = 4;
91
+ export declare const PAINT_EXTENT_FILTER = 8;
92
+ export declare const PAINT_EXTENT_TRANSFORM = 16;
93
+ export interface PaintExtent {
94
+ minX: number;
95
+ minY: number;
96
+ maxX: number;
97
+ maxY: number;
98
+ }
99
+ type PaintExtentPublisher = (node: object, x: number, y: number, width: number, height: number, subtree: boolean, output: () => Float64Array) => number;
100
+ interface LensFoldDraw {
101
+ prepare(x: number, y: number, dpr: number): void;
102
+ restore(): void;
103
+ capture(): boolean;
104
+ draw(canvas: number, effect: RuntimeEffect, x: number, y: number, w: number, h: number, uniforms: number[]): boolean;
105
+ delete(): void;
106
+ }
107
+ interface SdfDisplacementDraw {
108
+ prepare(x: number, y: number, dpr: number): void;
109
+ restore(): void;
110
+ draw(canvas: number, uniforms: number[]): boolean;
111
+ delete(): void;
112
+ }
113
+ export interface SceneNativeBinding {
114
+ p10: new (surface: number) => LensFoldDraw;
115
+ p16: new (content: number, field: number, left: number, top: number) => SdfDisplacementDraw;
116
+ peachPaintExtentParameters?: (slot: number, x: number, y: number, width: number, height: number, subtree: number, out: number) => number;
117
+ _peach_scene_paint_extent(slot: number, x: number, y: number, width: number, height: number, skipPortalViews: number, subtree: number): number;
118
+ _peach_scene_paint_extent_out(): number;
119
+ peachRasterTransformParameters?: (slot: number, out: number) => number;
120
+ _peach_scene_raster_candidate(slot: number): void;
121
+ _peach_scene_retained_changed(slot: number): void;
122
+ _peach_scene_bounds_changed(slot: number): void;
123
+ _peach_scene_child_order_changed(parent: number): void;
124
+ _peach_scene_resize_keeps_classification(slot: number, fromWidth: number, fromHeight: number): number;
125
+ _peach_walk_retained_census(): number;
126
+ _peach_classic_layout_set(slot: number, start: number, duration: number, easing: number, fromX: number, fromY: number, fromWidth: number, fromHeight: number, targetX: number, targetY: number, targetWidth: number, targetHeight: number): void;
127
+ _peach_classic_layout_clear(slot: number): void;
128
+ _peach_classic_layout_sample(slot: number, timestamp: number): number;
129
+ peachExtentParameters?: (slot: number) => void;
130
+ _peach_scene_set_buffers(integers: number, doubles: number, floats: number, layoutMatrices: number): void;
131
+ _peach_paint_walk(canvas: number, slot: number, self: number, childX: number, childY: number, flags: number, txOffX: number, txOffY: number, hasClip: number, clipLeft: number, clipTop: number, clipRight: number, clipBottom: number, dpr: number, surfaceWidth: number, surfaceHeight: number, layoutVersion: number, paintFloor: number, paintEpoch: number, fontGeneration: number, android: number, hasDamage: number, damageLeft: number, damageTop: number, damageRight: number, damageBottom: number, damageId: number, frameMs: number): number;
132
+ _peach_scene_bounds_out(): number;
133
+ _peach_shared_set(slot: number, boundary: number, shared: number, exiting: number): void;
134
+ _peach_shared_reset(): void;
135
+ _peach_shared_collect(root: number, guess: number): number;
136
+ _peach_shared_result(): number;
137
+ _peach_shared_progress_values(): number;
138
+ _peach_shared_progress(progress: number): void;
139
+ _peach_scene_bounds(slot: number, hasExtent: number, left: number, top: number, right: number, bottom: number): void;
140
+ _peach_scene_paint_bounded(slot: number, layoutVersion: number, android: number): number;
141
+ _peach_walk_flat_dep(): number;
142
+ _peach_walk_motion_take(): number;
143
+ _peach_walk_host_continues(): number;
144
+ _peach_walk_host_continue_slots(): number;
145
+ _peach_host_drop(slot: number, release: number): void;
146
+ _peach_scene_subtree_raster(slot: number): number;
147
+ _peach_scene_set_text(slot: number, paragraph: number, dpr: number, fontGeneration: number, padLeft: number, padTop: number, clipOffset: number, offsetX: number, offsetY: number, clip: number, maxWidth: number, contentHeight: number, overlay: number, embeds: number): number;
148
+ _peach_numeric_text_create(fromPicture: number, toPicture: number, glyphs: number): number;
149
+ _peach_numeric_text_parameters(handle: number): number;
150
+ _peach_numeric_text_draw(canvas: number, handle: number, x: number, y: number, elapsed: number): void;
151
+ _peach_numeric_text_drop(handle: number): void;
152
+ _peach_scene_set_image(slot: number, image: number, padLeft: number, padTop: number, padRight: number, padBottom: number, srcLeft: number, srcTop: number, srcRight: number, srcBottom: number, offsetX: number, adjustX: number, offsetY: number, adjustY: number, width: number, height: number, repeat: number, mipmaps: number, tintR: number, tintG: number, tintB: number, tintA: number, alpha: number, shape: number, sampling: number): void;
153
+ _peach_scene_set_picture(slot: number, picture: number, fontGeneration: number, drawnNodes: number): void;
154
+ _peach_scene_set_ink(slot: number, glass: number, id: number): void;
155
+ _peach_ink_draw_picture(canvas: number, picture: number, shader: number, text: number, left: number, top: number, right: number, bottom: number): void;
156
+ pe(): RuntimeEffect | null;
157
+ pf(dark: boolean): RuntimeEffect | null;
158
+ pb(id: number, offsetX: number, offsetY: number): Shader | null;
159
+ p1f(index: number): RuntimeEffect | null;
160
+ p19(): RuntimeEffect | null;
161
+ p1b(): void;
162
+ p1c(): void;
163
+ p1(): RuntimeEffect | null;
164
+ p0(): RuntimeEffect | null;
165
+ p1a(scratch: number, transport: number, first: number, second: number, layers: number, width: number, height: number, glyphScale: number, referenceHeight: number, left: number, top: number): SkImage | null;
166
+ p3(parent: number, sharp: number, blurW: number, blurH: number, leftPad: number, topPad: number, rightPad: number, bottomPad: number, sigma: number, scale: number): SkImage | null;
167
+ pa(parent: number, x: number, y: number, width: number, height: number, tenant: number, tenantScale: number): SkImage | null;
168
+ pc(parent: number, sharp: number, width: number, height: number, sigma: number): SkImage | null;
169
+ p5(surface: number, key: string, snapshot: string, layered: boolean): SkImage | null;
170
+ p6(surface: number, key: string, snapshot: string, sigmaPx: number, staticBackdrop: boolean): SkImage | null;
171
+ p9(surface: number, key: string, image: number): void;
172
+ p8(surface: number, key: string, snapshot: string, image: number, scale: number, cropX: number, cropY: number, cropW: number, cropH: number, portal: boolean, layered: boolean): boolean;
173
+ p4(surface: number, key: string, compositeKey: string, width: number, height: number): SkImage | null;
174
+ p7(surface: number, key: string, compositeKey: string, image: number): boolean;
175
+ _peach_scene_drop_leaf(slot: number): void;
176
+ _peach_scene_shadow_input(): number;
177
+ _peach_scene_set_shadows(slot: number, count: number): void;
178
+ _peach_scene_gradient_input(count: number): number;
179
+ _peach_scene_set_gradient(slot: number, count: number): void;
180
+ _peach_scene_material_input(): number;
181
+ _peach_scene_set_material(slot: number): void;
182
+ _peach_scene_filter_input(): number;
183
+ _peach_scene_set_filter(slot: number, count: number): void;
184
+ _peach_scene_set_blend_matrix(slot: number, effect: number, m0: number, m1: number, m2: number, m3: number, m4: number, m5: number, m6: number, m7: number, m8: number, b0: number, b1: number, b2: number): void;
185
+ _peach_scene_set_blend_runtime(slot: number, effect: number): void;
186
+ _peach_scene_set_damage_outsets(slot: number, known: number, left: number, top: number, right: number, bottom: number, glassPadding: number, glassMaterial: number, glassIntensity: number): void;
187
+ _peach_scene_set_outline(slot: number, r: number, g: number, b: number, a: number, width: number, offset: number, style: number): void;
188
+ _peach_scene_set_scroll_indicator(slot: number, horizontal: number, pos: number, length: number, thickness: number, margin: number, radius: number, alpha: number, white: number): void;
189
+ _peach_scene_set_fading_edges(slot: number, horizontal: number, length: number, edges: number): void;
190
+ _peach_walk_painted_images(): number;
191
+ _peach_anim_create(ints: number, doubles: number): number;
192
+ _peach_anim_program_create(ints: number, doubles: number): number;
193
+ _peach_anim_program_bind(entry: number, program: number, indexes: number): void;
194
+ _peach_anim_program_unbind(entry: number): void;
195
+ _peach_anim_program_drop(id: number): void;
196
+ _peach_anim_program_values(id: number): number;
197
+ _peach_zoom_overlay_set(root: number, program: number, wrapper: number, image: number, input: number): number;
198
+ _peach_zoom_overlay_clear(root: number, wrapper: number): void;
199
+ _peach_anim_program_info(id: number): number;
200
+ _peach_anim_program_time(animationMs: number): void;
201
+ _peach_anim_program_check(animationMs: number): number;
202
+ _peach_anim_drop(id: number): void;
203
+ _peach_anim_set_lanes(id: number, ints: number, doubles: number): void;
204
+ _peach_anim_drop_lanes(id: number): void;
205
+ _peach_anim_fill_class(id: number): number;
206
+ _peach_anim_values(id: number): number;
207
+ _peach_anim_skips(): number;
208
+ _peach_anim_gather(): number;
209
+ _peach_anim_prepare(): number;
210
+ _peach_anim_step(epochMs: number): number;
211
+ _peach_anim_drive_create(ints: number, doubles: number): number;
212
+ _peach_anim_drive_publication(): number;
213
+ _peach_anim_drive_drop(id: number): void;
214
+ _peach_anim_drives_finished(): number;
215
+ _peach_anim_output(): number;
216
+ _peach_anim_entry_count(): number;
217
+ _peach_loupe_state(): number;
218
+ _peach_loupe_step(x: number, y: number, epochMs: number): void;
219
+ _peach_frame_config(): number;
220
+ _peach_frame_surfaces(): number;
221
+ _peach_frame_portals(surface: number, count: number): number;
222
+ _peach_portal_end(slot: number): void;
223
+ _peach_frame_classes(entries: number): number;
224
+ _peach_frame_hold_slots(): number;
225
+ _peach_frame_dirty(): number;
226
+ _peach_frame_current_surface(): number;
227
+ _peach_frame_watch(count: number): number;
228
+ _peach_frame(hostMs: number, nowMs: number): number;
229
+ peachFramePresent?: (mask: number, submitted: number) => number;
230
+ readonly HEAPU8: Uint8Array;
231
+ }
232
+ export declare function arrayBufferSceneMemory(): SceneMemory;
233
+ export declare function isSceneNativeBinding(value: object): value is SceneNativeBinding;
234
+ export declare function requireSceneNativeBinding(value: object): SceneNativeBinding;
235
+ export declare function canvasKitSceneMemory(ck: Pick<CanvasKit, 'Malloc' | 'Free'>): SceneMemory;
236
+ export interface SceneSlotted {
237
+ _sceneSlot: number;
238
+ }
239
+ export interface SceneAbsolutePositionOptions {
240
+ ignorePresentationLayerTransforms?: boolean;
241
+ ignoreSelfTransform?: boolean;
242
+ }
243
+ export declare class SceneTable {
244
+ #private;
245
+ constructor(memory: SceneMemory, capacity?: number);
246
+ static byteLength(capacity: number): number;
247
+ get capacity(): number;
248
+ migrate(memory: SceneMemory, native?: SceneNativeBinding): void;
249
+ nativeIn(module: object): SceneNativeBinding | undefined;
250
+ i32(): Int32Array;
251
+ f64(): Float64Array;
252
+ f32(): Float32Array;
253
+ allocate(node: object, tag: number, flags: number): number;
254
+ setRasterTransformPublisher(publisher: (node: object, output: () => Float64Array) => number): void;
255
+ setExtentPublisher(reader: (node: object) => void): void;
256
+ setStickyOffsetReader(reader: (node: object) => number): void;
257
+ setPaintExtentPublisher(publisher: PaintExtentPublisher): void;
258
+ paintExtent(slot: number, x: number, y: number, width: number, height: number, skipPortalViews: boolean, subtree: boolean): Float64Array | null;
259
+ node(slot: number): object | undefined;
260
+ writeSharedNode(slot: number, update: {
261
+ boundary?: number;
262
+ shared?: number;
263
+ exiting?: boolean;
264
+ }): void;
265
+ collectSharedNodes(root: number, selection: 'active' | 'guess'): {
266
+ boundary: number;
267
+ slots: number[];
268
+ };
269
+ sharedProgress(before: readonly number[], after: readonly number[], progress: number): number[];
270
+ release(node: object, slot: number): void;
271
+ dropReplay(slot: number): void;
272
+ subtreeHoldsRaster(slot: number): boolean;
273
+ dropLeaf(slot: number): void;
274
+ writeParent(slot: number, parentSlot: number): void;
275
+ linkChild(parentSlot: number, previous: number, slot: number, next: number): void;
276
+ unlinkChild(parentSlot: number, previous: number, next: number): void;
277
+ markChildOrderChanged(parentSlot: number): void;
278
+ markPaintChanged(slot: number): void;
279
+ markOwnPaintChanged(slot: number): void;
280
+ invalidatePaintKinds(): void;
281
+ get paintFloor(): number;
282
+ get paintGeneration(): number;
283
+ get boundsGeneration(): number;
284
+ adoptNativeFrameGenerations(paint: number, bounds: number): void;
285
+ armNativeFrame(config: number): void;
286
+ paintBounded(slot: number, layoutVersion: number): boolean;
287
+ writePaintBox(slot: number, radii: {
288
+ tl: number;
289
+ tr: number;
290
+ br: number;
291
+ bl: number;
292
+ }, shape: number, fillShape: number, topWidth: number, rightWidth: number, bottomWidth: number, leftWidth: number, fill: Float32Array, top: Float32Array, right: Float32Array, bottom: Float32Array, left: Float32Array): void;
293
+ writePropFlags(slot: number, propFlags: number): void;
294
+ writeHoistFlag(slot: number, flag: number, on: boolean): void;
295
+ presentationStyleBacked(slot: number): boolean;
296
+ presentsBox(slot: number): boolean;
297
+ stampedPaintKind(slot: number): number;
298
+ stampedPaintSubtreeCurrent(slot: number): boolean;
299
+ resizeKeepsClassification(slot: number, fromWidth: number, fromHeight: number): boolean;
300
+ transformStyled(slot: number): boolean;
301
+ transformBounded(slot: number): boolean;
302
+ zIndex(slot: number): number;
303
+ noteScrolled(slot: number): void;
304
+ get scrolledPending(): boolean;
305
+ drainScrolled(into: Set<number>): void;
306
+ reclassify(slot: number): void;
307
+ flushClassification(root: number, classify: (slot: number) => void): void;
308
+ stampPaintInputs(slot: number, values: unknown[] | null, matches: (node: object, values: unknown[]) => boolean): void;
309
+ refreshPaintInputs(): void;
310
+ stampPaintKind(slot: number, kind: number, bits: number): void;
311
+ readLayout(slot: number, layout: SootSimLayout): void;
312
+ writeClassicLayoutAnimation(slot: number, from: SootSimLayout, target: SootSimLayout, start: number, duration: number, type: string | null): void;
313
+ clearClassicLayoutAnimation(slot: number): void;
314
+ sampleClassicLayoutAnimation(slot: number, timestamp: number, out: SootSimLayout): boolean;
315
+ commitNativeLayouts(native: NativeLayoutExports): void;
316
+ writeLayout(slot: number, x: number, y: number, width: number, height: number): void;
317
+ writeJsBoundary(slot: number, on: boolean): void;
318
+ writeJsBoundaryDirty(slot: number, on: boolean): void;
319
+ writeLiveChunk(slot: number, on: boolean): void;
320
+ writeScroll(slot: number, x: number, y: number): void;
321
+ writeStickyHidden(slot: number, offset: number): void;
322
+ writeZoom(slot: number, zoom: number | undefined): void;
323
+ writeStyle(slot: number, style: SootSimStyle, resolve: (value: unknown) => unknown, owned?: Readonly<Record<string, unknown>> | null): void;
324
+ writeExtentStyle(slot: number, style: SootSimStyle, resolve: (value: unknown) => unknown): void;
325
+ writeLayoutMatrix(slot: number, transform: SootSimStyle['transform'], transformOrigin: SootSimStyle['transformOrigin'], resolve: (value: unknown) => unknown): void;
326
+ writeTransform(slot: number, transform: SootSimStyle['transform'], transformOrigin: SootSimStyle['transformOrigin'], resolve: (value: unknown) => unknown): void;
327
+ writePaintedBox(slot: number, x: number, y: number, width: number, height: number, animated: boolean, transform: SootSimStyle['transform'], transformOrigin: SootSimStyle['transformOrigin'], resolve: (value: unknown) => unknown): void;
328
+ paintMatrix(slot: number, x: number, y: number): number[] | null;
329
+ absolutePosition(slot: number, options: SceneAbsolutePositionOptions | undefined, out: {
330
+ x: number;
331
+ y: number;
332
+ }): void;
333
+ nodeBoundsDamage(slot: number, extent?: {
334
+ x: number;
335
+ y: number;
336
+ width: number;
337
+ height: number;
338
+ }): DamageRect | null;
339
+ addDriveDamage(before: DamageRect | null, after?: DamageRect | null): void;
340
+ takeDriveDamage(): DamageRect | null;
341
+ seedPresentationStyle(slot: number, style: SootSimStyle, program: SceneLaneProgram, resolve: (value: unknown) => unknown): void;
342
+ laneStyleValues(slot: number, program: SceneLaneProgram): Record<string, unknown>;
343
+ }
344
+ declare class SceneLaneReader {
345
+ readonly lane: number;
346
+ readonly getValue: () => number | string;
347
+ constructor(lane: number, getValue: () => number | string);
348
+ }
349
+ export declare class SceneFilterReader extends SceneLaneReader {
350
+ readonly parsed: ParsedFilterOp[];
351
+ constructor(read: () => number);
352
+ }
353
+ export interface SceneLaneProgram {
354
+ readonly writes: Float64Array;
355
+ readonly styleLanes: Readonly<Record<string, number>>;
356
+ readonly parameterKeys: readonly string[];
357
+ readonly geometry: boolean;
358
+ readonly layoutFrame: Readonly<Record<string, unknown>> | null;
359
+ readonly translates: boolean;
360
+ readonly txBase: number;
361
+ readonly tyBase: number;
362
+ readonly txIndexes: readonly number[];
363
+ readonly tyIndexes: readonly number[];
364
+ readonly transform: ReadonlyArray<Record<string, unknown>> | null;
365
+ readonly filterBlur: boolean;
366
+ readonly keys: ReadonlySet<string>;
367
+ readonly objectKeys: readonly string[];
368
+ readonly objectIndexes: readonly number[];
369
+ readonly fillIndex: number;
370
+ readonly layoutStyle: readonly number[];
371
+ readonly layoutStyleIndexes: Readonly<Record<string, number>>;
372
+ readonly glass: readonly number[];
373
+ readonly glassIndexes: Readonly<Record<string, number>>;
374
+ readonly glassRectIndexes: Readonly<Record<string, number>>;
375
+ readonly glassOpacityIndex: number;
376
+ }
377
+ export declare function compileSceneLaneProgram(template: Record<string, unknown>, slotIds: readonly number[]): SceneLaneProgram | string;
378
+ export declare const sceneTable: SceneTable;
379
+ export {};
@@ -0,0 +1,152 @@
1
+ import type { DeviceSpec } from '../../../../../src/device-catalog.ts';
2
+ import type { ScrollRange } from './scroll-range.d.ts';
3
+ export declare function scrollMomentumFrameDuration(elapsedMs: number, platform: string | undefined): number;
4
+ export declare const IOS_SET_CONTENT_OFFSET_MS = 300;
5
+ export type TimedScrollCurve = 'ios-set-content-offset' | 'ios-status-bar-scroll-to-top';
6
+ export type TimedScrollControl = {
7
+ id: number;
8
+ type: 'start';
9
+ target: number;
10
+ durationMs: number;
11
+ curve: TimedScrollCurve;
12
+ } | {
13
+ id: number;
14
+ type: 'cancel';
15
+ } | {
16
+ id: number;
17
+ type: 'shift';
18
+ delta: number;
19
+ };
20
+ export interface TimedScrollPresentation {
21
+ id: number;
22
+ phase: 'step' | 'done' | 'canceled';
23
+ refused?: true;
24
+ }
25
+ export interface TimedScrollState {
26
+ from: number;
27
+ target: number;
28
+ durationMs: number;
29
+ elapsedMs: number;
30
+ curve: TimedScrollCurve;
31
+ }
32
+ export declare const IOS_STATUS_BAR_SCROLL_TO_TOP_MS = 1600;
33
+ export declare function iosSetContentOffsetProgress(fraction: number): number;
34
+ export declare function sampleTimedScroll(timed: TimedScrollState): number;
35
+ export declare const IOS_TOUCH_RUBBER_BAND_COEFFICIENT = 0.55;
36
+ export declare const IOS_SMALL_TRACKPAD_RUBBER_BAND_COEFFICIENT = 0.715;
37
+ export type ScrollMomentumPhysics = {
38
+ kind: 'ios-exponential';
39
+ decelerationRate: number;
40
+ } | {
41
+ kind: 'android-over-scroller';
42
+ friction: number;
43
+ };
44
+ export declare function isScrollMomentumPhysics(value: unknown): value is ScrollMomentumPhysics;
45
+ type ScrollMomentumDriver = {
46
+ kind: 'ios-exponential';
47
+ decelerationRate: number;
48
+ fastScrollMultiplier: number;
49
+ } | {
50
+ kind: 'android-over-scroller';
51
+ startOffset: number;
52
+ elapsedMs: number;
53
+ durationMs: number;
54
+ distance: number;
55
+ };
56
+ export interface ScrollMomentumState {
57
+ offset: number;
58
+ velocity: number;
59
+ bouncing: boolean;
60
+ driver: ScrollMomentumDriver;
61
+ snapTarget: number | null;
62
+ snapOmega: number | null;
63
+ releasePanVelocity: number;
64
+ paging: IosPagingSettle | null;
65
+ }
66
+ interface IosPagingSettle {
67
+ target: number;
68
+ direction: -1 | 0 | 1;
69
+ range: ScrollRange;
70
+ }
71
+ export interface ScrollMomentumConfig extends ScrollRange {
72
+ allowsOverscroll: boolean;
73
+ pagingEnabled: boolean;
74
+ pageSize: number;
75
+ pageStartPage: number;
76
+ boundsWidth: number;
77
+ pixelScale: number;
78
+ snapToInterval?: number;
79
+ snapToAlignment?: 'start' | 'center' | 'end';
80
+ snapToOffsets?: readonly number[];
81
+ snapToStart?: boolean;
82
+ snapToEnd?: boolean;
83
+ disableIntervalMomentum?: boolean;
84
+ collapseBand?: CollapseBand | null;
85
+ }
86
+ export type ScrollSnapFlags = Required<Pick<ScrollMomentumConfig, 'snapToStart' | 'snapToEnd' | 'disableIntervalMomentum'>>;
87
+ export declare function readScrollSnapFlags(props: Record<string, unknown> | null | undefined): ScrollSnapFlags;
88
+ export interface CollapseBand {
89
+ start: number;
90
+ end: number;
91
+ }
92
+ export declare function isCollapseBand(value: unknown): value is CollapseBand;
93
+ export interface AndroidOverScrollerFling {
94
+ distance: number;
95
+ durationMs: number;
96
+ }
97
+ export interface NestedScrollOffset extends ScrollRange {
98
+ offset: number;
99
+ }
100
+ export declare function consumeNestedScrollDelta(entries: readonly NestedScrollOffset[], delta: number): number;
101
+ export declare function getAndroidOverScrollerFling(velocity: number, friction: number): AndroidOverScrollerFling;
102
+ export declare function createScrollMomentumState(opts: {
103
+ offset: number;
104
+ velocity: number;
105
+ releasePanVelocity?: number;
106
+ bouncing?: boolean;
107
+ physics: ScrollMomentumPhysics;
108
+ fastScrollMultiplier?: number;
109
+ }): ScrollMomentumState;
110
+ export declare function rebaseScrollMomentumState(state: ScrollMomentumState, offset: number): ScrollMomentumState;
111
+ export declare function projectedScrollOffset(state: ScrollMomentumState): number;
112
+ export declare function iosDelegateMovesTarget(state: ScrollMomentumState, target: number, range: ScrollRange): boolean;
113
+ export declare function reaimIosScrollMomentum(state: ScrollMomentumState, target: number): ScrollMomentumState;
114
+ export declare function scrollNeedsSettle(config: Omit<ScrollMomentumConfig, 'pageStartPage' | 'boundsWidth' | 'pixelScale'> & Pick<ScrollMomentumState, 'offset'>): boolean;
115
+ export interface ScrollMomentumStep extends ScrollMomentumState {
116
+ done: boolean;
117
+ clamped: boolean;
118
+ absorbedEdge: 'start' | 'end' | null;
119
+ absorbedVelocity: number;
120
+ }
121
+ export declare function advanceScrollMomentumSpring(state: ScrollMomentumState, dtMs: number, target: number, spring?: {
122
+ stiffness: number;
123
+ damping: number;
124
+ }): ScrollMomentumStep;
125
+ export declare function restingScrollOffset(state: ScrollMomentumState, config: ScrollMomentumConfig): number;
126
+ export declare function roundToIosPixel(value: number, scale: number): number;
127
+ export declare function appliedScrollOffset(value: number, spec: DeviceSpec | undefined): number;
128
+ export declare function nativeScrollEventOffset(value: number, spec: DeviceSpec | undefined): number;
129
+ export declare function advanceScrollMomentum(state: ScrollMomentumState, dtMs: number, config: ScrollMomentumConfig): ScrollMomentumStep;
130
+ export type ScrollRelease = {
131
+ velocityX: number;
132
+ velocityY: number;
133
+ targetX: number;
134
+ targetY: number;
135
+ };
136
+ export declare function restingScrollRelease(offset: {
137
+ x: number;
138
+ y: number;
139
+ }): ScrollRelease;
140
+ export declare function scrollEndDragFields(release: ScrollRelease): {
141
+ velocity: {
142
+ x: number;
143
+ y: number;
144
+ };
145
+ targetContentOffset: {
146
+ x: number;
147
+ y: number;
148
+ };
149
+ };
150
+ export declare function iosRubberBand(overscroll: number, dimension: number, coefficient?: number): number;
151
+ export declare function inverseIosRubberBand(displayed: number, dimension: number, coefficient?: number): number;
152
+ export {};
@@ -0,0 +1,10 @@
1
+ export declare class ScrollPanContacts {
2
+ private readonly contacts;
3
+ x: number;
4
+ y: number;
5
+ get size(): number;
6
+ begin(pointerId: number, x: number, y: number): boolean;
7
+ move(pointerId: number, x: number, y: number): boolean;
8
+ end(pointerId: number): boolean;
9
+ clear(): void;
10
+ }
@@ -0,0 +1,75 @@
1
+ import { type ScrollMomentumPhysics } from './scroll-momentum-math.d.ts';
2
+ export declare const IOS_REFRESH_TITLE_FONT_SIZE = 12;
3
+ export declare function getIOSRefreshTitleFontSize(): number;
4
+ export declare function getRefreshHoldOffset(platform: string | undefined, hasTitle: boolean, titleFontSize?: number): number;
5
+ export declare const REFRESH_TRIGGER_THRESHOLD = 60;
6
+ export declare function getRefreshTriggerThreshold(platform: string | undefined, viewportHeight: number, hasTitle: boolean, titleFontSize?: number): number;
7
+ export declare function getRefreshMaximumSnappingHeight(viewportHeight: number, hasTitle: boolean, titleFontSize?: number): number;
8
+ export type ScrollDirectionalLock = 'horizontal' | 'vertical' | null;
9
+ export declare function selectScrollDirectionalLock(dx: number, dy: number, horizontalAvailable: boolean, verticalAvailable: boolean, selected: ScrollDirectionalLock): ScrollDirectionalLock;
10
+ export declare function scrollTouchSlop(platform: string | undefined, primaryDelta: number): number;
11
+ export interface ScrollDragOrigin {
12
+ x: number;
13
+ y: number;
14
+ timestamp?: number;
15
+ }
16
+ export declare function scrollDragAdmission(platform: string | undefined, primaryDelta: number, crossDelta: number): 'pending' | 'reject' | 'begin';
17
+ export declare function scrollDragDelta(platform: string | undefined, pointerDelta: number, slop: number, beganDrag: boolean): number;
18
+ export declare function scrollDragMatchesAxis(platform: string | undefined, primaryDelta: number, crossDelta: number): boolean;
19
+ export declare function allowsRubberBandScroll(opts: {
20
+ platform?: string;
21
+ bounces?: unknown;
22
+ }): boolean;
23
+ export declare function shouldTrackAndroidRefreshPull(opts: {
24
+ platform?: string;
25
+ horizontal?: boolean;
26
+ refreshEnabled?: boolean;
27
+ refreshing?: boolean;
28
+ }): boolean;
29
+ export declare function shouldRenderAndroidEdgeEffect(opts: {
30
+ platform?: string;
31
+ overScrollMode?: unknown;
32
+ contentSize: number;
33
+ viewportSize: number;
34
+ }): boolean;
35
+ export declare function resolveScrollDecelerationRate(opts: {
36
+ platform?: string;
37
+ decelerationRate?: unknown;
38
+ }): number;
39
+ export declare function resolveScrollMomentumPhysics(opts: {
40
+ platform?: string;
41
+ decelerationRate?: unknown;
42
+ }): ScrollMomentumPhysics;
43
+ export declare function resolveAndroidFadingEdgeLength(opts: {
44
+ platform?: string;
45
+ fadingEdgeLength?: unknown;
46
+ }): number;
47
+ export declare function resolveScrollIndicatorMetrics(opts: {
48
+ platform?: string;
49
+ persistentScrollbar?: unknown;
50
+ indicatorStyle?: unknown;
51
+ colorScheme?: string;
52
+ }): {
53
+ width: number;
54
+ minLength: number;
55
+ margin: number;
56
+ radius: number;
57
+ alpha: number;
58
+ white: boolean;
59
+ idleOpacity: number | null;
60
+ };
61
+ export declare function layoutIosScrollIndicator(opts: {
62
+ viewportSize: number;
63
+ scrollRange: number;
64
+ contentOffset: number;
65
+ minOffset: number;
66
+ startInset: number;
67
+ endInset: number;
68
+ minLength: number;
69
+ margin: number;
70
+ scale: number;
71
+ }): {
72
+ pos: number;
73
+ length: number;
74
+ };
75
+ export declare function iosConcentricCornerInset(radius: number, dx: number, dy: number): number;
@@ -0,0 +1,14 @@
1
+ export interface ScrollContentInset {
2
+ top: number;
3
+ bottom: number;
4
+ left: number;
5
+ right: number;
6
+ }
7
+ export declare function getLargeTitleInsetReduction(automaticTop: number, collapseBand: unknown, offsetY: number): number;
8
+ export declare function getScrollEventContentInset(adjusted: Partial<ScrollContentInset> | undefined, automatic: Partial<ScrollContentInset> | undefined): ScrollContentInset;
9
+ export interface ScrollRange {
10
+ min: number;
11
+ max: number;
12
+ }
13
+ export declare function getScrollStartOffset(leadingInset: number, platform: string | undefined): number;
14
+ export declare function getScrollEndOffset(contentSize: number, viewportSize: number, endInset: number, minOffset: number): number;
@@ -0,0 +1,14 @@
1
+ export interface ScrollVelocitySample {
2
+ delta: number;
3
+ dt: number;
4
+ timestamp: number;
5
+ }
6
+ export declare const SCROLL_VELOCITY_SAMPLE_RETENTION_MS: number;
7
+ export declare function combineIosPanSegmentVelocities(previousSegmentVelocity: number | undefined, currentSegmentVelocity: number): number;
8
+ export declare function pushScrollVelocitySample(samples: ScrollVelocitySample[], sample: ScrollVelocitySample): void;
9
+ export interface ScrollReleaseVelocity {
10
+ velocity: number;
11
+ panVelocity: number;
12
+ }
13
+ export declare function estimateScrollReleaseVelocity(samples: readonly ScrollVelocitySample[], releaseTimestamp: number, platform: string | undefined, overscrolled: boolean): ScrollReleaseVelocity;
14
+ export declare function latestIosPanVelocity(samples: readonly ScrollVelocitySample[]): number;