peachsim 0.1.1644 → 0.1.1653

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (608) hide show
  1. package/README.md +12 -0
  2. package/cli/app-catalog.ts +1 -1
  3. package/cli/app-fonts.ts +11 -80
  4. package/cli/app-splash.ts +18 -12
  5. package/cli/bridge-flow-runner.ts +11 -7
  6. package/cli/cloud-client.ts +10 -13
  7. package/cli/command-registry.ts +13 -4
  8. package/cli/commands/box.ts +4 -4
  9. package/cli/commands/control.ts +93 -53
  10. package/cli/commands/coverage-parser.ts +67 -0
  11. package/cli/commands/coverage.ts +550 -0
  12. package/cli/commands/debug.ts +9 -18
  13. package/cli/commands/desktop.ts +19 -7
  14. package/cli/commands/device.ts +14 -9
  15. package/cli/commands/guest-host.ts +6 -10
  16. package/cli/commands/inspect/core.ts +81 -17
  17. package/cli/commands/inspect.ts +13 -8
  18. package/cli/commands/kotlin.ts +2 -2
  19. package/cli/commands/maestro-compare.ts +1 -1
  20. package/cli/commands/platform.ts +20 -11
  21. package/cli/commands/preview.ts +16 -18
  22. package/cli/commands/runtime.ts +3 -2
  23. package/cli/commands/screenshot-layers.ts +1 -1
  24. package/cli/commands/screenshot.ts +1 -1
  25. package/cli/commands/serve.ts +5 -1
  26. package/cli/commands/support.ts +4 -4
  27. package/cli/commands/three-mode.ts +22 -15
  28. package/cli/commands/upload.ts +44 -45
  29. package/cli/current-sim.ts +38 -0
  30. package/cli/desktop-companion.ts +36 -8
  31. package/cli/device-option.ts +1 -1
  32. package/cli/drivers/playwright.ts +1 -0
  33. package/cli/drivers/types.ts +4 -0
  34. package/cli/help-core.ts +1 -1
  35. package/cli/internal-child.ts +2 -1
  36. package/cli/main.ts +9 -3
  37. package/cli/outbound-endpoints.ts +11 -3
  38. package/cli/output-redaction.ts +39 -14
  39. package/cli/remote-simulators.ts +4 -1
  40. package/cli/scene-video.ts +5 -2
  41. package/cli/send-to-box.ts +7 -10
  42. package/cli/telemetry.ts +1 -1
  43. package/cli/ws-bridge.ts +8 -1
  44. package/detox/attempt-events.cjs +3 -1
  45. package/detox/attempt-events.d.cts +1 -1
  46. package/detox/expectations.ts +108 -99
  47. package/detox/frame-offset.d.mts +6 -0
  48. package/detox/frame-offset.mjs +35 -0
  49. package/detox/gestures.ts +6 -18
  50. package/detox/index.ts +169 -101
  51. package/detox/jest-preset.cjs +1 -3
  52. package/detox/jest-transform.cjs +4 -0
  53. package/detox/matchers.ts +3 -0
  54. package/detox/motion-change.cjs +46 -114
  55. package/detox/motion-change.d.cts +5 -27
  56. package/dist-lib/agent-daemon-client.cjs +1 -1
  57. package/dist-lib/agent-events.cjs +1 -1
  58. package/dist-lib/attached-projects.cjs +1 -1
  59. package/dist-lib/auth/shared-session.cjs +1 -1
  60. package/dist-lib/backend-origin.cjs +1 -1
  61. package/dist-lib/beta.cjs +1 -1
  62. package/dist-lib/beta.mjs +1 -1
  63. package/dist-lib/bridge-constants.cjs +1 -1
  64. package/dist-lib/bridge-contract-input.cjs +65 -1
  65. package/dist-lib/bridge-contract-input.mjs +63 -1
  66. package/dist-lib/bridge-contract.cjs +19 -1
  67. package/dist-lib/bridge-contract.mjs +17 -1
  68. package/dist-lib/bundle-channel.cjs +38091 -14846
  69. package/dist-lib/capture-contract.cjs +1 -1
  70. package/dist-lib/capture-contract.mjs +1 -1
  71. package/dist-lib/cloud-contract.cjs +1 -1
  72. package/dist-lib/cloud-contract.mjs +1 -1
  73. package/dist-lib/cloud-test-args.cjs +1 -1
  74. package/dist-lib/cloud-test-args.mjs +1 -1
  75. package/dist-lib/cloud.cjs +1 -1
  76. package/dist-lib/cloud.mjs +1 -1
  77. package/dist-lib/config.cjs +1 -1
  78. package/dist-lib/config.mjs +5 -3
  79. package/dist-lib/detox/index.cjs +1244 -4509
  80. package/dist-lib/detox/jest-preset.cjs +1 -3
  81. package/dist-lib/detox/jest-transform.cjs +4 -0
  82. package/dist-lib/dev-bundle-resolution.cjs +28 -24
  83. package/dist-lib/expo-swift-bundle.cjs +35049 -13125
  84. package/dist-lib/expo-swift-metadata.cjs +1 -1
  85. package/dist-lib/expo-swift-metadata.mjs +1 -1
  86. package/dist-lib/home-paths.cjs +1 -1
  87. package/dist-lib/host/bridge-host.cjs +45112 -63143
  88. package/dist-lib/host/fetch-proxy-handler.cjs +3544 -11
  89. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  90. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  91. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  92. package/dist-lib/host/websocket-proxy.cjs +1 -1
  93. package/dist-lib/index.cjs +1909 -2029
  94. package/dist-lib/jump-to-source-babel.cjs +1 -1
  95. package/dist-lib/jump-to-source-native.cjs +1 -1
  96. package/dist-lib/kotlin-host.cjs +2 -2
  97. package/dist-lib/menu.cjs +1 -1
  98. package/dist-lib/menu.mjs +1 -1
  99. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  100. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  101. package/dist-lib/metro-production-bundle.cjs +1 -1
  102. package/dist-lib/metro-production-bundle.mjs +1 -1
  103. package/dist-lib/metro.cjs +380 -522
  104. package/dist-lib/native-app-identity-project.cjs +39 -252
  105. package/dist-lib/native-app-identity-project.mjs +1174 -11
  106. package/dist-lib/native-app-identity.cjs +8 -3
  107. package/dist-lib/native-app-identity.mjs +8 -3
  108. package/dist-lib/native-firebase-metadata.cjs +1 -1
  109. package/dist-lib/native-firebase-metadata.mjs +1 -1
  110. package/dist-lib/plist.cjs +2 -244
  111. package/dist-lib/plist.mjs +1 -1
  112. package/dist-lib/profiles.cjs +1 -1
  113. package/dist-lib/public-brand.cjs +1 -1
  114. package/dist-lib/public-origins-lib-esm.json +290 -0
  115. package/dist-lib/public-origins-lib-static.json +1 -0
  116. package/dist-lib/public-origins-lib.json +1852 -0
  117. package/dist-lib/react-native-host-modules.cjs +1 -1
  118. package/dist-lib/react-native-host-modules.mjs +1 -1
  119. package/dist-lib/scripts/dev-server-scanner.cjs +14 -253
  120. package/dist-lib/sdk.cjs +83 -16
  121. package/dist-lib/sdk.mjs +81 -15
  122. package/dist-lib/skills.cjs +50546 -75098
  123. package/dist-lib/swift-compile.cjs +25897 -1070
  124. package/dist-lib/swift-compile.mjs +25866 -1033
  125. package/dist-lib/swift-package.cjs +79 -1
  126. package/dist-lib/swift-package.mjs +75 -1
  127. package/dist-lib/swift-submit.cjs +1 -1
  128. package/dist-lib/swift-submit.mjs +1 -1
  129. package/dist-lib/swift-toolchain.cjs +1 -1
  130. package/dist-lib/swift.cjs +1 -1
  131. package/dist-lib/vite-swift.cjs +34273 -12349
  132. package/dist-lib/vite.cjs +373 -298
  133. package/dist-lib/worklet-executable.cjs +1 -1
  134. package/dist-lib/worklet-executable.mjs +1 -1
  135. package/dist-types/packages/peach-compat/src/engine-config.d.ts +2 -0
  136. package/dist-types/packages/peach-compat/src/stubs/form-sheet-spring.d.ts +9 -0
  137. package/dist-types/packages/peach-compat/src/stubs/native-evaluation-lease.d.ts +47 -0
  138. package/dist-types/packages/peach-compat/src/stubs/native-seams/react-native-cookies.d.ts +113 -0
  139. package/dist-types/packages/peach-compat/src/stubs/native-seams/react-native-gesture-handler.d.ts +154 -0
  140. package/dist-types/packages/peach-compat/src/stubs/screen-transition-math.d.ts +756 -0
  141. package/dist-types/packages/peach-compat/src/stubs/transition-scalar.d.ts +25 -0
  142. package/dist-types/packages/peach-engine/src/billing/plans.d.ts +64 -0
  143. package/dist-types/packages/peach-engine/src/browser-page-target.d.ts +2 -0
  144. package/dist-types/packages/peach-engine/src/bundle-platform-url.d.ts +3 -0
  145. package/dist-types/packages/peach-engine/src/capture/browser-accessibility-host.d.ts +3 -0
  146. package/dist-types/packages/peach-engine/src/capture/browser-composite.d.ts +55 -0
  147. package/dist-types/packages/peach-engine/src/capture/browserAccessibilityContract.d.ts +27 -0
  148. package/dist-types/packages/peach-engine/src/capture/nativeScreenCaptureContract.d.ts +22 -0
  149. package/dist-types/packages/peach-engine/src/cli-companion.d.ts +36 -0
  150. package/dist-types/packages/peach-engine/src/components/native-ui/webview-frame-bridge.d.ts +34 -0
  151. package/dist-types/packages/peach-engine/src/config.d.ts +5 -0
  152. package/dist-types/packages/peach-engine/src/engine/android-stretch-effect.d.ts +57 -0
  153. package/dist-types/packages/peach-engine/src/engine/animated-driven-style.d.ts +47 -0
  154. package/dist-types/packages/peach-engine/src/engine/animated-value.d.ts +5 -0
  155. package/dist-types/packages/peach-engine/src/engine/animated.d.ts +195 -0
  156. package/dist-types/packages/peach-engine/src/engine/animation-clockContract.d.ts +15 -0
  157. package/dist-types/packages/peach-engine/src/engine/animation-graph.d.ts +148 -0
  158. package/dist-types/packages/peach-engine/src/engine/app-catalog-wire.d.ts +10 -0
  159. package/dist-types/packages/peach-engine/src/engine/app-font-registry.d.ts +87 -0
  160. package/dist-types/packages/peach-engine/src/engine/attributed-paragraph-paint.d.ts +7 -0
  161. package/dist-types/packages/peach-engine/src/engine/attributed-paragraph.d.ts +123 -0
  162. package/dist-types/packages/peach-engine/src/engine/audioContract.d.ts +16 -0
  163. package/dist-types/packages/peach-engine/src/engine/canvaskit-api.d.ts +93 -0
  164. package/dist-types/packages/peach-engine/src/engine/canvaskit-renderer.d.ts +216 -0
  165. package/dist-types/packages/peach-engine/src/engine/config-plugin-fonts.d.ts +40 -0
  166. package/dist-types/packages/peach-engine/src/engine/config-plugin-splash.d.ts +25 -0
  167. package/dist-types/packages/peach-engine/src/engine/cull-visibility.d.ts +44 -0
  168. package/dist-types/packages/peach-engine/src/engine/damage-rect.d.ts +19 -0
  169. package/dist-types/packages/peach-engine/src/engine/engine-resource.d.ts +6 -0
  170. package/dist-types/packages/peach-engine/src/engine/expo-manifest.d.ts +5 -0
  171. package/dist-types/packages/peach-engine/src/engine/fiber-debug-metadata.d.ts +30 -0
  172. package/dist-types/packages/peach-engine/src/engine/font-config.d.ts +139 -0
  173. package/dist-types/packages/peach-engine/src/engine/generated/sf-pro-font.d.ts +1 -0
  174. package/dist-types/packages/peach-engine/src/engine/glass-material.d.ts +31 -0
  175. package/dist-types/packages/peach-engine/src/engine/host-composite.d.ts +100 -0
  176. package/dist-types/packages/peach-engine/src/engine/hosted-semantics.d.ts +49 -0
  177. package/dist-types/packages/peach-engine/src/engine/image-audit.d.ts +70 -0
  178. package/dist-types/packages/peach-engine/src/engine/image-loader.d.ts +350 -0
  179. package/dist-types/packages/peach-engine/src/engine/inspect-info.d.ts +27 -0
  180. package/dist-types/packages/peach-engine/src/engine/inspect-outline.d.ts +14 -0
  181. package/dist-types/packages/peach-engine/src/engine/inspect-visibility.d.ts +33 -0
  182. package/dist-types/packages/peach-engine/src/engine/ios-fast-scroll.d.ts +16 -0
  183. package/dist-types/packages/peach-engine/src/engine/layout-sab.d.ts +43 -0
  184. package/dist-types/packages/peach-engine/src/engine/liquid-glass-rect.d.ts +23 -0
  185. package/dist-types/packages/peach-engine/src/engine/liquid-glass-shaders.d.ts +9 -0
  186. package/dist-types/packages/peach-engine/src/engine/liquid-glass.d.ts +283 -0
  187. package/dist-types/packages/peach-engine/src/engine/live-object-counts.d.ts +6 -0
  188. package/dist-types/packages/peach-engine/src/engine/lottie-runtime.d.ts +32 -0
  189. package/dist-types/packages/peach-engine/src/engine/lottie-types.d.ts +138 -0
  190. package/dist-types/packages/peach-engine/src/engine/memory-counts.d.ts +27 -0
  191. package/dist-types/packages/peach-engine/src/engine/metalDirectContract.d.ts +108 -0
  192. package/dist-types/packages/peach-engine/src/engine/metalShaderContract.d.ts +217 -0
  193. package/dist-types/packages/peach-engine/src/engine/native-animation-driver.d.ts +112 -0
  194. package/dist-types/packages/peach-engine/src/engine/native-animation-graph.d.ts +62 -0
  195. package/dist-types/packages/peach-engine/src/engine/native-layout.d.ts +133 -0
  196. package/dist-types/packages/peach-engine/src/engine/native-resources.d.ts +26 -0
  197. package/dist-types/packages/peach-engine/src/engine/nativeReanimatedContract.d.ts +25 -0
  198. package/dist-types/packages/peach-engine/src/engine/nativeReplayContract.d.ts +64 -0
  199. package/dist-types/packages/peach-engine/src/engine/node.d.ts +589 -0
  200. package/dist-types/packages/peach-engine/src/engine/paint-boundary-types.d.ts +112 -0
  201. package/dist-types/packages/peach-engine/src/engine/paint-boundary.d.ts +57 -0
  202. package/dist-types/packages/peach-engine/src/engine/portalContract.d.ts +21 -0
  203. package/dist-types/packages/peach-engine/src/engine/portals.d.ts +20 -0
  204. package/dist-types/packages/peach-engine/src/engine/render-damage.d.ts +107 -0
  205. package/dist-types/packages/peach-engine/src/engine/riveContract.d.ts +420 -0
  206. package/dist-types/packages/peach-engine/src/engine/rn-spring.d.ts +51 -0
  207. package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +379 -0
  208. package/dist-types/packages/peach-engine/src/engine/scroll-momentum-math.d.ts +152 -0
  209. package/dist-types/packages/peach-engine/src/engine/scroll-pan-contacts.d.ts +10 -0
  210. package/dist-types/packages/peach-engine/src/engine/scroll-platform.d.ts +75 -0
  211. package/dist-types/packages/peach-engine/src/engine/scroll-range.d.ts +14 -0
  212. package/dist-types/packages/peach-engine/src/engine/scroll-velocity.d.ts +14 -0
  213. package/dist-types/packages/peach-engine/src/engine/scroll.d.ts +320 -0
  214. package/dist-types/packages/peach-engine/src/engine/signal.d.ts +7 -0
  215. package/dist-types/packages/peach-engine/src/engine/snapshot-cache-policy.d.ts +6 -0
  216. package/dist-types/packages/peach-engine/src/engine/svg-geometry.d.ts +41 -0
  217. package/dist-types/packages/peach-engine/src/engine/text-attachment-paragraphs.d.ts +10 -0
  218. package/dist-types/packages/peach-engine/src/engine/text-decoration.d.ts +11 -0
  219. package/dist-types/packages/peach-engine/src/engine/text-line-break.d.ts +22 -0
  220. package/dist-types/packages/peach-engine/src/engine/text-paint-receipt.d.ts +98 -0
  221. package/dist-types/packages/peach-engine/src/engine/text-paragraph.d.ts +11 -0
  222. package/dist-types/packages/peach-engine/src/engine/text-paragraphContract.d.ts +34 -0
  223. package/dist-types/packages/peach-engine/src/engine/text-transform.d.ts +1 -0
  224. package/dist-types/packages/peach-engine/src/engine/types.d.ts +657 -0
  225. package/dist-types/packages/peach-engine/src/engine/visible-frame.d.ts +54 -0
  226. package/dist-types/packages/peach-engine/src/engine/webrtcContract.d.ts +74 -0
  227. package/dist-types/packages/peach-engine/src/graphite-stats-fields.d.ts +184 -0
  228. package/dist-types/packages/peach-engine/src/guest-import-meta.d.ts +12 -0
  229. package/dist-types/packages/peach-engine/src/guest-module-overrides.d.ts +7 -0
  230. package/dist-types/packages/peach-engine/src/ios/app-card-types.d.ts +7 -0
  231. package/dist-types/packages/peach-engine/src/ios/apps/canvas-map-data.d.ts +177 -0
  232. package/dist-types/packages/peach-engine/src/ios/aux-home-scene.d.ts +54 -0
  233. package/dist-types/packages/peach-engine/src/ios/chrome-metrics.d.ts +47 -0
  234. package/dist-types/packages/peach-engine/src/ios/constants.d.ts +21 -0
  235. package/dist-types/packages/peach-engine/src/ios/duo-housing.d.ts +37 -0
  236. package/dist-types/packages/peach-engine/src/ios/home/types.d.ts +29 -0
  237. package/dist-types/packages/peach-engine/src/ios/home-app-catalog.d.ts +43 -0
  238. package/dist-types/packages/peach-engine/src/ios/photo-store.d.ts +73 -0
  239. package/dist-types/packages/peach-engine/src/ios/photoLibraryContract.d.ts +166 -0
  240. package/dist-types/packages/peach-engine/src/ios/shell-controller-types.d.ts +21 -0
  241. package/dist-types/packages/peach-engine/src/ios/shell-transition-debug.d.ts +18 -0
  242. package/dist-types/packages/peach-engine/src/metro-asset-path.d.ts +21 -0
  243. package/dist-types/packages/peach-engine/src/metro-fingerprint-registry-client.d.ts +11 -0
  244. package/dist-types/packages/peach-engine/src/metro-fingerprint.d.ts +38 -0
  245. package/dist-types/packages/peach-engine/src/native-preview-bundle.d.ts +44 -0
  246. package/dist-types/packages/peach-engine/src/observability/types.d.ts +74 -0
  247. package/dist-types/packages/peach-engine/src/peach-warm-manifest.d.ts +32 -0
  248. package/dist-types/packages/peach-engine/src/permissions/app-settings-client.d.ts +25 -0
  249. package/dist-types/packages/peach-engine/src/permissions/system-permission-types.d.ts +20 -0
  250. package/dist-types/packages/peach-engine/src/platform/android-back-panel.d.ts +131 -0
  251. package/dist-types/packages/peach-engine/src/platform/android-gesture-exclusion.d.ts +28 -0
  252. package/dist-types/packages/peach-engine/src/platform/android-predictive-back.d.ts +33 -0
  253. package/dist-types/packages/peach-engine/src/platform/system-bars-state.d.ts +14 -0
  254. package/dist-types/packages/peach-engine/src/playwright-sim-host.d.ts +1 -0
  255. package/dist-types/packages/peach-engine/src/preview/bundle-layout.d.ts +8 -0
  256. package/dist-types/packages/peach-engine/src/preview/bundle-variantContract.d.ts +24 -0
  257. package/dist-types/packages/peach-engine/src/preview/capture-bundle.d.ts +26 -0
  258. package/dist-types/packages/peach-engine/src/preview/compress-node.d.ts +2 -0
  259. package/dist-types/packages/peach-engine/src/preview/compress.d.ts +2 -0
  260. package/dist-types/packages/peach-engine/src/preview/presigned-upload.d.ts +60 -0
  261. package/dist-types/packages/peach-engine/src/preview/trace.d.ts +144 -0
  262. package/dist-types/packages/peach-engine/src/preview/upload-protocol.d.ts +152 -0
  263. package/dist-types/packages/peach-engine/src/profiler/animation-recording-loader.d.ts +1 -0
  264. package/dist-types/packages/peach-engine/src/profiler/profile-trace.d.ts +4 -0
  265. package/dist-types/packages/peach-engine/src/react-bridge.d.ts +3 -0
  266. package/dist-types/packages/peach-engine/src/react-native/AppState.d.ts +45 -0
  267. package/dist-types/packages/peach-engine/src/react-native/Appearance.d.ts +34 -0
  268. package/dist-types/packages/peach-engine/src/react-native/framework-colors-data.d.ts +2 -0
  269. package/dist-types/packages/peach-engine/src/react-native/host-services.d.ts +42 -0
  270. package/dist-types/packages/peach-engine/src/react-native/layout-animation.d.ts +22 -0
  271. package/dist-types/packages/peach-engine/src/react-native/platform-colors.d.ts +17 -0
  272. package/dist-types/packages/peach-engine/src/remote-stream/client-config.d.ts +10 -0
  273. package/dist-types/packages/peach-engine/src/remote-stream/cloud-display.d.ts +58 -0
  274. package/dist-types/packages/peach-engine/src/remote-stream/scene-recording.d.ts +45 -0
  275. package/dist-types/packages/peach-engine/src/render-worker/animated-drive-output.d.ts +35 -0
  276. package/dist-types/packages/peach-engine/src/render-worker/app-load.d.ts +16 -0
  277. package/dist-types/packages/peach-engine/src/render-worker/aux-surface-types.d.ts +2 -0
  278. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-shared.d.ts +42 -0
  279. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-webgpu.d.ts +434 -0
  280. package/dist-types/packages/peach-engine/src/render-worker/canvaskit-worker-init.d.ts +12 -0
  281. package/dist-types/packages/peach-engine/src/render-worker/compositor-backend.d.ts +31 -0
  282. package/dist-types/packages/peach-engine/src/render-worker/compositor-gpu.d.ts +202 -0
  283. package/dist-types/packages/peach-engine/src/render-worker/compositor-protocol.d.ts +1945 -0
  284. package/dist-types/packages/peach-engine/src/render-worker/compositor-runtime/scroll-drag-resample.d.ts +44 -0
  285. package/dist-types/packages/peach-engine/src/render-worker/css-keyframes-drive.d.ts +36 -0
  286. package/dist-types/packages/peach-engine/src/render-worker/edit-menu-geometry.d.ts +8 -0
  287. package/dist-types/packages/peach-engine/src/render-worker/engine-resource-relay.d.ts +21 -0
  288. package/dist-types/packages/peach-engine/src/render-worker/expo-widgetContract.d.ts +16 -0
  289. package/dist-types/packages/peach-engine/src/render-worker/gesture-seam-protocol.d.ts +152 -0
  290. package/dist-types/packages/peach-engine/src/render-worker/graph-linked-value.d.ts +29 -0
  291. package/dist-types/packages/peach-engine/src/render-worker/graphite-pipeline-compiler-contract.d.ts +49 -0
  292. package/dist-types/packages/peach-engine/src/render-worker/graphite-pipeline-compiler.d.ts +12 -0
  293. package/dist-types/packages/peach-engine/src/render-worker/host-service-protocol.d.ts +756 -0
  294. package/dist-types/packages/peach-engine/src/render-worker/image-lifecycle-event.d.ts +22 -0
  295. package/dist-types/packages/peach-engine/src/render-worker/image-pixel-contract.d.ts +48 -0
  296. package/dist-types/packages/peach-engine/src/render-worker/live-frame-mirror.d.ts +34 -0
  297. package/dist-types/packages/peach-engine/src/render-worker/map-command-channel.d.ts +189 -0
  298. package/dist-types/packages/peach-engine/src/render-worker/mapNativeContract.d.ts +101 -0
  299. package/dist-types/packages/peach-engine/src/render-worker/native-dynamic-synchronizable.d.ts +22 -0
  300. package/dist-types/packages/peach-engine/src/render-worker/native-menu-gesture.d.ts +9 -0
  301. package/dist-types/packages/peach-engine/src/render-worker/native-ui-commandContract.d.ts +23 -0
  302. package/dist-types/packages/peach-engine/src/render-worker/native-ui-protocol.d.ts +1087 -0
  303. package/dist-types/packages/peach-engine/src/render-worker/native-widgetContract.d.ts +100 -0
  304. package/dist-types/packages/peach-engine/src/render-worker/nativeAnimMirrorContract.d.ts +174 -0
  305. package/dist-types/packages/peach-engine/src/render-worker/nativeSyncReplyContract.d.ts +11 -0
  306. package/dist-types/packages/peach-engine/src/render-worker/one-native-contentContract.d.ts +54 -0
  307. package/dist-types/packages/peach-engine/src/render-worker/pointerSampleContract.d.ts +14 -0
  308. package/dist-types/packages/peach-engine/src/render-worker/protocol.d.ts +880 -0
  309. package/dist-types/packages/peach-engine/src/render-worker/reanimated-css-contract.d.ts +63 -0
  310. package/dist-types/packages/peach-engine/src/render-worker/reanimated-readiness.d.ts +29 -0
  311. package/dist-types/packages/peach-engine/src/render-worker/resilient-frame-clock.d.ts +22 -0
  312. package/dist-types/packages/peach-engine/src/render-worker/retained-app-load.d.ts +20 -0
  313. package/dist-types/packages/peach-engine/src/render-worker/screen-edge-swipe-commit-protocol.d.ts +1 -0
  314. package/dist-types/packages/peach-engine/src/render-worker/screen-form-sheet-commit-protocol.d.ts +26 -0
  315. package/dist-types/packages/peach-engine/src/render-worker/scroll-mirror-tenant.d.ts +37 -0
  316. package/dist-types/packages/peach-engine/src/render-worker/scroll-mirror.d.ts +164 -0
  317. package/dist-types/packages/peach-engine/src/render-worker/shell-event-registry.d.ts +119 -0
  318. package/dist-types/packages/peach-engine/src/render-worker/shell-gesture-regions.d.ts +41 -0
  319. package/dist-types/packages/peach-engine/src/render-worker/shell-protocol.d.ts +603 -0
  320. package/dist-types/packages/peach-engine/src/render-worker/shell-scene-schema.d.ts +101 -0
  321. package/dist-types/packages/peach-engine/src/render-worker/shell-tree-inline-sources.d.ts +13 -0
  322. package/dist-types/packages/peach-engine/src/render-worker/shell-tree-wire.d.ts +87 -0
  323. package/dist-types/packages/peach-engine/src/render-worker/test-bridge-protocol.d.ts +47 -0
  324. package/dist-types/packages/peach-engine/src/render-worker/text-inputContract.d.ts +93 -0
  325. package/dist-types/packages/peach-engine/src/render-worker/tree-sync-port.d.ts +102 -0
  326. package/dist-types/packages/peach-engine/src/render-worker/webgpu-frame-transaction.d.ts +292 -0
  327. package/dist-types/packages/peach-engine/src/render-worker/webgpu-readback-scheduler.d.ts +107 -0
  328. package/dist-types/packages/peach-engine/src/render-worker/webview-capture-protocol.d.ts +16 -0
  329. package/dist-types/packages/peach-engine/src/render-worker/worker-input-runtime.d.ts +211 -0
  330. package/dist-types/packages/peach-engine/src/render-worker/worker-storage.d.ts +33 -0
  331. package/dist-types/packages/peach-engine/src/render-worker/worklet-runtime.d.ts +987 -0
  332. package/dist-types/packages/peach-engine/src/render-worker/worklet-sab.d.ts +24 -0
  333. package/dist-types/packages/peach-engine/src/rolldown-bundle-inventory.d.ts +84 -0
  334. package/dist-types/packages/peach-engine/src/rolldown-production-fingerprint.d.ts +31 -0
  335. package/dist-types/packages/peach-engine/src/screenshots/timeline-assets.d.ts +10 -0
  336. package/dist-types/packages/peach-engine/src/screenshots/tokens.d.ts +9 -0
  337. package/dist-types/packages/peach-engine/src/settings/devices.d.ts +70 -0
  338. package/dist-types/packages/peach-engine/src/settings/duo-fold-bus.d.ts +87 -0
  339. package/dist-types/packages/peach-engine/src/settings/interface-rotation.d.ts +30 -0
  340. package/dist-types/packages/peach-engine/src/settings/react-native-configuration.d.ts +12 -0
  341. package/dist-types/packages/peach-engine/src/settings/scene-geometryContract.d.ts +40 -0
  342. package/dist-types/packages/peach-engine/src/settings/store.d.ts +37 -0
  343. package/dist-types/packages/peach-engine/src/shell-events.d.ts +203 -0
  344. package/dist-types/packages/peach-engine/src/shell-intent.d.ts +68 -0
  345. package/dist-types/packages/peach-engine/src/sootsim-event.d.ts +35 -0
  346. package/dist-types/packages/peach-engine/src/top-overlay-state.d.ts +5 -0
  347. package/dist-types/packages/peach-engine/src/web-authentication-automation-host.d.ts +2 -0
  348. package/dist-types/packages/peach-engine/src/webAuthenticationContract.d.ts +34 -0
  349. package/dist-types/packages/peach-engine/src/webview-automation-host.d.ts +180 -0
  350. package/dist-types/packages/peach-engine/src/wireframe-mode.d.ts +16 -0
  351. package/dist-types/packages/peach-globals/src/frameBreakdownContract.d.ts +16 -0
  352. package/dist-types/packages/peach-globals/src/index.d.ts +3311 -0
  353. package/dist-types/packages/peach-globals/src/nativeSurfaceContract.d.ts +76 -0
  354. package/dist-types/packages/peach-globals/src/pointerSourceEventContract.d.ts +8 -0
  355. package/dist-types/packages/peach-globals/src/profileTrace.d.ts +11 -0
  356. package/dist-types/packages/peach-globals/src/profilerContract.d.ts +223 -0
  357. package/dist-types/packages/peach-kit/src/capabilities.d.ts +721 -0
  358. package/dist-types/packages/peach-kit/src/internal.d.ts +4 -0
  359. package/dist-types/packages/peach-kit/src/materials/types.d.ts +27 -0
  360. package/dist-types/packages/peach-kit/src/materials/uikit-blur-material.d.ts +14 -0
  361. package/dist-types/packages/peach-kit/src/navigation-types.d.ts +11 -0
  362. package/dist-types/packages/peach-kit/src/react-bridge.d.ts +53 -0
  363. package/dist-types/packages/peach-kit/src/runtime.d.ts +26 -0
  364. package/dist-types/packages/peach-kit/src/ui/hosting-safe-area.d.ts +24 -0
  365. package/dist-types/packages/peach-kit/src/ui/popover-placement.d.ts +53 -0
  366. package/dist-types/packages/peach-kit/src/ui/presentationContract.d.ts +17 -0
  367. package/kotlin/ComposeSources/PeachComposeHost.kt +1 -1
  368. package/kotlin/JniSources/com/facebook/jni/HybridData.kt +0 -2
  369. package/kotlin/JniSources/dev/peach/jni/NativeBindings.kt +0 -2
  370. package/kotlin/JniTransportSources/dev/peach/jni/integration/JniTransport.kt +0 -2
  371. package/kotlin/README.md +6 -0
  372. package/package.json +22 -2
  373. package/runtime-companion.json +1 -0
  374. package/skills/contrast/SKILL.md +1 -0
  375. package/src/assetCatalogContract.ts +21 -0
  376. package/src/bridge-contract-input.ts +84 -0
  377. package/src/bridge-contract.ts +35 -3
  378. package/src/browser-launch-policy.ts +1 -0
  379. package/src/bundle-channel.mjs +4 -2
  380. package/src/cli-runtime.ts +55 -0
  381. package/src/crash-fingerprint.ts +26 -0
  382. package/src/dev-bundle-resolution.ts +50 -23
  383. package/src/device-catalog.ts +1159 -0
  384. package/src/host/bridge-host.ts +3 -26
  385. package/src/host/browser-pointer.ts +71 -0
  386. package/src/host/dev-server-package-versions.ts +23 -0
  387. package/src/host/fetch-proxy-handler.ts +17 -4
  388. package/src/installed-package-versions.ts +142 -38
  389. package/src/kotlin-host.ts +1 -1
  390. package/src/metro-plugin.ts +4 -4
  391. package/src/metro-project-root.ts +68 -0
  392. package/src/nitro-adapter.lock.json +26 -0
  393. package/src/nitro-adapter.ts +103 -0
  394. package/src/nitro-bundle.ts +24 -10
  395. package/src/nitro-compile.ts +33 -51
  396. package/src/nitro-source.ts +177 -96
  397. package/src/nitroAdapterContract.ts +217 -0
  398. package/src/nitroContract.ts +24 -11
  399. package/src/process-group.ts +41 -34
  400. package/src/react-bridge-importers.ts +28 -0
  401. package/src/reactNativeConfigurationContract.ts +36 -0
  402. package/src/runtime-assets.ts +7 -2
  403. package/src/runtime-delivery.ts +2 -0
  404. package/src/runtimePlatformContract.ts +70 -0
  405. package/src/screenshots/frame-compose.ts +42 -43
  406. package/src/screenshots/org-deck.ts +9 -4
  407. package/src/screenshots/preset-names.ts +29 -0
  408. package/src/screenshots/registry.ts +5 -5
  409. package/src/screenshots/schema.ts +1 -1
  410. package/src/screenshots/screenshotContract.ts +971 -0
  411. package/src/settings-flags.ts +107 -0
  412. package/src/settingsContract.ts +609 -0
  413. package/src/storageSnapshotContract.ts +344 -0
  414. package/src/stub-pattern-matcher.ts +550 -0
  415. package/src/swift-compile.ts +908 -40
  416. package/src/swift-compiler-digest.ts +13 -1
  417. package/src/swift-distribution.lock.json +49 -22
  418. package/src/swift-host.ts +167 -52
  419. package/src/swift-objc-compile.ts +54 -24
  420. package/src/swift-objc-export.ts +532 -0
  421. package/src/swift-objc-import.ts +769 -0
  422. package/src/swift-objc-metadata.ts +285 -10
  423. package/src/swift-objc-sdk.ts +13970 -158
  424. package/src/swift-objc-standin.ts +137 -1
  425. package/src/swift-package.ts +94 -0
  426. package/src/swift-packages.ts +5 -5
  427. package/src/swift-submit.ts +6 -0
  428. package/src/swiftContract.ts +99 -0
  429. package/src/target-matcher.ts +6 -1
  430. package/src/vite-plugin.ts +14 -40
  431. package/src/worker-system-chunks.ts +1 -1
  432. package/src/workerChunkContract.ts +5 -0
  433. package/src/worklets-babel.ts +24 -5
  434. package/src/xcode-project.ts +36 -7
  435. package/src/xcode-target-members.ts +10 -3
  436. package/cli/drivers/playwright-sim-host.ts +0 -825
  437. package/kotlin/fixtures/counter/Counter.d.kt.ts +0 -17
  438. package/kotlin/fixtures/counter/Counter.kt +0 -51
  439. package/kotlin/fixtures/counter/CounterApp.native.tsx +0 -61
  440. package/kotlin/fixtures/counter/CounterApp.tsx +0 -3
  441. package/kotlin/fixtures/counter/CounterScreen.d.kt.ts +0 -8
  442. package/kotlin/fixtures/counter/CounterScreen.kt +0 -56
  443. package/kotlin/fixtures/counter/app/_layout.tsx +0 -4
  444. package/kotlin/fixtures/counter/app/index+spa.tsx +0 -1
  445. package/kotlin/fixtures/counter/app/routes.d.ts +0 -18
  446. package/kotlin/fixtures/counter/package.json +0 -20
  447. package/kotlin/fixtures/counter/tsconfig.json +0 -19
  448. package/kotlin/fixtures/counter/vite.config.ts +0 -20
  449. package/kotlin/fixtures/headless-counter/Headless.kt +0 -234
  450. package/kotlin/fixtures/import-animation/Animation.d.kt.ts +0 -7
  451. package/kotlin/fixtures/import-animation/Animation.kt +0 -80
  452. package/kotlin/fixtures/import-animation/ImportAnimation.native.tsx +0 -13
  453. package/kotlin/fixtures/import-animation/README.md +0 -24
  454. package/kotlin/fixtures/import-animation/app/_layout.tsx +0 -4
  455. package/kotlin/fixtures/import-animation/app/index+spa.tsx +0 -1
  456. package/kotlin/fixtures/import-animation/app/routes.d.ts +0 -18
  457. package/kotlin/fixtures/import-animation/package.json +0 -23
  458. package/kotlin/fixtures/import-animation/tsconfig.json +0 -20
  459. package/kotlin/fixtures/import-animation/vite.config.ts +0 -20
  460. package/kotlin/fixtures/import-drawing/Drawing.d.kt.ts +0 -7
  461. package/kotlin/fixtures/import-drawing/Drawing.kt +0 -101
  462. package/kotlin/fixtures/import-drawing/ImportDrawing.native.tsx +0 -18
  463. package/kotlin/fixtures/import-drawing/README.md +0 -34
  464. package/kotlin/fixtures/import-drawing/app/_layout.tsx +0 -4
  465. package/kotlin/fixtures/import-drawing/app/index+spa.tsx +0 -1
  466. package/kotlin/fixtures/import-drawing/package.json +0 -23
  467. package/kotlin/fixtures/import-drawing/tsconfig.json +0 -20
  468. package/kotlin/fixtures/import-drawing/vite.config.ts +0 -20
  469. package/kotlin/fixtures/import-editor/Editor.d.kt.ts +0 -7
  470. package/kotlin/fixtures/import-editor/Editor.kt +0 -59
  471. package/kotlin/fixtures/import-editor/ImportEditor.native.tsx +0 -23
  472. package/kotlin/fixtures/import-editor/README.md +0 -27
  473. package/kotlin/fixtures/import-editor/app/_layout.tsx +0 -4
  474. package/kotlin/fixtures/import-editor/app/index+spa.tsx +0 -1
  475. package/kotlin/fixtures/import-editor/package.json +0 -23
  476. package/kotlin/fixtures/import-editor/tsconfig.json +0 -20
  477. package/kotlin/fixtures/import-editor/vite.config.ts +0 -20
  478. package/kotlin/fixtures/import-effects/Effects.d.kt.ts +0 -7
  479. package/kotlin/fixtures/import-effects/Effects.kt +0 -87
  480. package/kotlin/fixtures/import-effects/ImportEffects.native.tsx +0 -13
  481. package/kotlin/fixtures/import-effects/README.md +0 -19
  482. package/kotlin/fixtures/import-effects/app/_layout.tsx +0 -4
  483. package/kotlin/fixtures/import-effects/app/index+spa.tsx +0 -1
  484. package/kotlin/fixtures/import-effects/package.json +0 -23
  485. package/kotlin/fixtures/import-effects/tsconfig.json +0 -20
  486. package/kotlin/fixtures/import-effects/vite.config.ts +0 -20
  487. package/kotlin/fixtures/import-layout/ImportLayout.native.tsx +0 -13
  488. package/kotlin/fixtures/import-layout/Layout.d.kt.ts +0 -7
  489. package/kotlin/fixtures/import-layout/Layout.kt +0 -72
  490. package/kotlin/fixtures/import-layout/README.md +0 -24
  491. package/kotlin/fixtures/import-layout/app/_layout.tsx +0 -4
  492. package/kotlin/fixtures/import-layout/app/index+spa.tsx +0 -1
  493. package/kotlin/fixtures/import-layout/package.json +0 -23
  494. package/kotlin/fixtures/import-layout/tsconfig.json +0 -20
  495. package/kotlin/fixtures/import-layout/vite.config.ts +0 -20
  496. package/kotlin/fixtures/import-navigation/ImportNavigation.native.tsx +0 -18
  497. package/kotlin/fixtures/import-navigation/Navigation.d.kt.ts +0 -7
  498. package/kotlin/fixtures/import-navigation/Navigation.kt +0 -104
  499. package/kotlin/fixtures/import-navigation/README.md +0 -31
  500. package/kotlin/fixtures/import-navigation/app/_layout.tsx +0 -4
  501. package/kotlin/fixtures/import-navigation/app/index+spa.tsx +0 -1
  502. package/kotlin/fixtures/import-navigation/package.json +0 -23
  503. package/kotlin/fixtures/import-navigation/tsconfig.json +0 -20
  504. package/kotlin/fixtures/import-navigation/vite.config.ts +0 -20
  505. package/kotlin/fixtures/import-overlays/ImportOverlays.native.tsx +0 -29
  506. package/kotlin/fixtures/import-overlays/Overlays.d.kt.ts +0 -7
  507. package/kotlin/fixtures/import-overlays/Overlays.kt +0 -93
  508. package/kotlin/fixtures/import-overlays/README.md +0 -34
  509. package/kotlin/fixtures/import-overlays/app/_layout.tsx +0 -4
  510. package/kotlin/fixtures/import-overlays/app/index+spa.tsx +0 -1
  511. package/kotlin/fixtures/import-overlays/package.json +0 -23
  512. package/kotlin/fixtures/import-overlays/tsconfig.json +0 -20
  513. package/kotlin/fixtures/import-overlays/vite.config.ts +0 -20
  514. package/kotlin/fixtures/import-resources/ImportResources.native.tsx +0 -18
  515. package/kotlin/fixtures/import-resources/README.md +0 -26
  516. package/kotlin/fixtures/import-resources/Resources.d.kt.ts +0 -6
  517. package/kotlin/fixtures/import-resources/Resources.kt +0 -72
  518. package/kotlin/fixtures/import-resources/app/_layout.tsx +0 -4
  519. package/kotlin/fixtures/import-resources/app/index+spa.tsx +0 -1
  520. package/kotlin/fixtures/import-resources/package.json +0 -23
  521. package/kotlin/fixtures/import-resources/tsconfig.json +0 -20
  522. package/kotlin/fixtures/import-resources/vite.config.ts +0 -20
  523. package/kotlin/fixtures/import-scroll/ImportNested.native.tsx +0 -10
  524. package/kotlin/fixtures/import-scroll/ImportScroll.native.tsx +0 -13
  525. package/kotlin/fixtures/import-scroll/Nested.d.kt.ts +0 -4
  526. package/kotlin/fixtures/import-scroll/Nested.kt +0 -64
  527. package/kotlin/fixtures/import-scroll/README.md +0 -38
  528. package/kotlin/fixtures/import-scroll/Scroll.d.kt.ts +0 -7
  529. package/kotlin/fixtures/import-scroll/Scroll.kt +0 -91
  530. package/kotlin/fixtures/import-scroll/app/_layout.tsx +0 -4
  531. package/kotlin/fixtures/import-scroll/app/index+spa.tsx +0 -1
  532. package/kotlin/fixtures/import-scroll/app/nested+spa.tsx +0 -1
  533. package/kotlin/fixtures/import-scroll/package.json +0 -23
  534. package/kotlin/fixtures/import-scroll/tsconfig.json +0 -20
  535. package/kotlin/fixtures/import-scroll/vite.config.ts +0 -20
  536. package/kotlin/fixtures/import-selection/ImportSelection.native.tsx +0 -44
  537. package/kotlin/fixtures/import-selection/README.md +0 -32
  538. package/kotlin/fixtures/import-selection/Selection.d.kt.ts +0 -8
  539. package/kotlin/fixtures/import-selection/Selection.kt +0 -78
  540. package/kotlin/fixtures/import-selection/app/_layout.tsx +0 -4
  541. package/kotlin/fixtures/import-selection/app/index+spa.tsx +0 -1
  542. package/kotlin/fixtures/import-selection/package.json +0 -23
  543. package/kotlin/fixtures/import-selection/tsconfig.json +0 -20
  544. package/kotlin/fixtures/import-selection/vite.config.ts +0 -20
  545. package/kotlin/fixtures/import-surfaces/ImportSurfaces.native.tsx +0 -13
  546. package/kotlin/fixtures/import-surfaces/README.md +0 -22
  547. package/kotlin/fixtures/import-surfaces/Surfaces.d.kt.ts +0 -7
  548. package/kotlin/fixtures/import-surfaces/Surfaces.kt +0 -64
  549. package/kotlin/fixtures/import-surfaces/app/_layout.tsx +0 -4
  550. package/kotlin/fixtures/import-surfaces/app/index+spa.tsx +0 -1
  551. package/kotlin/fixtures/import-surfaces/package.json +0 -23
  552. package/kotlin/fixtures/import-surfaces/tsconfig.json +0 -20
  553. package/kotlin/fixtures/import-surfaces/vite.config.ts +0 -20
  554. package/kotlin/fixtures/import-values/ImportValues.native.tsx +0 -61
  555. package/kotlin/fixtures/import-values/README.md +0 -28
  556. package/kotlin/fixtures/import-values/Values.d.kt.ts +0 -15
  557. package/kotlin/fixtures/import-values/Values.kt +0 -84
  558. package/kotlin/fixtures/import-values/app/_layout.tsx +0 -4
  559. package/kotlin/fixtures/import-values/app/index+spa.tsx +0 -1
  560. package/kotlin/fixtures/import-values/package.json +0 -23
  561. package/kotlin/fixtures/import-values/tsconfig.json +0 -20
  562. package/kotlin/fixtures/import-values/vite.config.ts +0 -20
  563. package/kotlin/fixtures/kotlin-app/app/build.gradle.kts +0 -30
  564. package/kotlin/fixtures/kotlin-app/app/src/main/AndroidManifest.xml +0 -13
  565. package/kotlin/fixtures/kotlin-app/app/src/main/java/dev/contrast/kotlinapp/MainActivity.kt +0 -60
  566. package/kotlin/fixtures/kotlin-app/app/src/main/java/dev/contrast/kotlinapp/ProbeApplication.kt +0 -18
  567. package/kotlin/fixtures/kotlin-app/build.gradle.kts +0 -5
  568. package/kotlin/fixtures/kotlin-app/gradle.properties +0 -4
  569. package/kotlin/fixtures/kotlin-app/settings.gradle.kts +0 -4
  570. package/kotlin/fixtures/kotlin-app-variants/Anim.kt +0 -62
  571. package/kotlin/fixtures/kotlin-app-variants/BarBehavior.kt +0 -38
  572. package/kotlin/fixtures/kotlin-app-variants/BarVisibility.kt +0 -36
  573. package/kotlin/fixtures/kotlin-app-variants/Bitmaps.kt +0 -50
  574. package/kotlin/fixtures/kotlin-app-variants/Browse.kt +0 -73
  575. package/kotlin/fixtures/kotlin-app-variants/Colors.kt +0 -41
  576. package/kotlin/fixtures/kotlin-app-variants/Controls.kt +0 -62
  577. package/kotlin/fixtures/kotlin-app-variants/Drag.kt +0 -56
  578. package/kotlin/fixtures/kotlin-app-variants/Draw.kt +0 -74
  579. package/kotlin/fixtures/kotlin-app-variants/Drawables.kt +0 -53
  580. package/kotlin/fixtures/kotlin-app-variants/Focus.kt +0 -62
  581. package/kotlin/fixtures/kotlin-app-variants/Form.kt +0 -47
  582. package/kotlin/fixtures/kotlin-app-variants/Icons.kt +0 -59
  583. package/kotlin/fixtures/kotlin-app-variants/Ime.kt +0 -53
  584. package/kotlin/fixtures/kotlin-app-variants/Lists.kt +0 -57
  585. package/kotlin/fixtures/kotlin-app-variants/Nav.kt +0 -47
  586. package/kotlin/fixtures/kotlin-app-variants/Note.kt +0 -40
  587. package/kotlin/fixtures/kotlin-app-variants/Overlays.kt +0 -56
  588. package/kotlin/fixtures/kotlin-app-variants/Pan.kt +0 -38
  589. package/kotlin/fixtures/kotlin-app-variants/Pickers.kt +0 -44
  590. package/kotlin/fixtures/kotlin-app-variants/Press.kt +0 -43
  591. package/kotlin/fixtures/kotlin-app-variants/Scroll.kt +0 -63
  592. package/kotlin/fixtures/kotlin-app-variants/Sheet.kt +0 -43
  593. package/kotlin/fixtures/kotlin-app-variants/Strings.kt +0 -49
  594. package/kotlin/fixtures/kotlin-app-variants/Tabs.kt +0 -47
  595. package/kotlin/fixtures/kotlin-app-variants/TextWidth.kt +0 -45
  596. package/kotlin/fixtures/kotlin-app-variants/TransientInsets.kt +0 -50
  597. package/kotlin/fixtures/kotlin-app-variants/Transition.kt +0 -69
  598. package/kotlin/fixtures/kotlin-app-variants/ViewConfig.kt +0 -22
  599. package/kotlin/fixtures/kotlin-app-variants/Widgets.kt +0 -67
  600. package/kotlin/fixtures/runtime-state/RuntimeState.kt +0 -200
  601. package/kotlin/fork/README.md +0 -97
  602. package/kotlin/fork/build.sh +0 -176
  603. package/kotlin/fork/compose-worker-globals.patch +0 -1247
  604. package/kotlin/fork/fork.json +0 -46
  605. package/kotlin/fork/publish.ts +0 -99
  606. package/kotlin/fork/skia-android-shaping.patch +0 -189
  607. package/kotlin/fork/skiko-local.init.gradle +0 -10
  608. package/kotlin/fork/skiko-worker-clock.patch +0 -122
@@ -0,0 +1,57 @@
1
+ import type { PaintBoundaryNode, PaintBoundaryState } from './paint-boundary-types.d.ts';
2
+ import type { SootSimStyle } from './types.d.ts';
3
+ export type { PaintBoundaryNode, PaintBoundaryState, PaintChunk, RecordOrigin, TextureLayerFlattenSnapshot, } from './paint-boundary-types.d.ts';
4
+ export declare function getDynamicColorEpoch(pinned: boolean): number;
5
+ export declare function createPaintBoundaryState(): PaintBoundaryState;
6
+ export declare function ensurePaintBoundaryState(node: PaintBoundaryNode): PaintBoundaryState;
7
+ export declare const SCROLL_RETENTION: {
8
+ retainContent: boolean;
9
+ rowRaster: boolean;
10
+ transitionActive: boolean;
11
+ };
12
+ export declare function applyScrollRetentionFromUrl(href: string | null | undefined, chromiumSchedulerAvailable: boolean): void;
13
+ export declare function setScrollRetentionTransitionActive(active: boolean): void;
14
+ export declare function isScrollContentContainer(node: PaintBoundaryNode): boolean;
15
+ export declare function subtreeSamplesLiveBackdropCached(node: PaintBoundaryNode): boolean;
16
+ export type LayerHostReason = 'explicit' | 'scroll-container' | 'auto-retained-scroll' | 'presentation' | 'driven-transform' | 'driven-opacity' | 'driven-frame' | 'animated-value' | 'window-light';
17
+ export declare function layerHostReason(node: PaintBoundaryNode): LayerHostReason | null;
18
+ export declare function isLayerHost(node: PaintBoundaryNode): boolean;
19
+ export declare function isAutoRetainedScrollContent(node: PaintBoundaryNode): boolean;
20
+ export declare function hasScrollAncestor(node: PaintBoundaryNode): boolean;
21
+ export declare function isAutoRetainedScrollContentBase(node: PaintBoundaryNode): boolean;
22
+ export declare function adaptiveForegroundGlassAncestor<T extends {
23
+ rawStyle: Readonly<SootSimStyle>;
24
+ parent: T | null;
25
+ }>(node: T, throughPreservedForeground?: boolean): T | null;
26
+ export declare function subtreeSamplesLiveBackdrop(node: PaintBoundaryNode): boolean;
27
+ export declare function subtreeReadsLayerBackdrop(node: PaintBoundaryNode): boolean;
28
+ export declare function subtreeContainsTextInputHost(node: PaintBoundaryNode): boolean;
29
+ export declare function subtreeContainsLivePresentation(node: PaintBoundaryNode): boolean;
30
+ export declare function invalidateTextPresentationBoundary(node: PaintBoundaryNode): void;
31
+ export declare function invalidateSubtreeLivePresentationCache(node: PaintBoundaryNode): void;
32
+ export declare function subtreeContainsRasterImage(node: {
33
+ _sceneSlot: number;
34
+ }): boolean;
35
+ export declare function readImageSourceUri(source: unknown): string | null;
36
+ export declare function readImageSourceScale(source: unknown): number;
37
+ export declare function dropNativeReplay(state: PaintBoundaryState): void;
38
+ export declare function beginPictureImages(): void;
39
+ export declare function notePictureImage(cacheKey: string): void;
40
+ export declare function endPictureImages(): string[];
41
+ export declare function abandonPictureImages(): void;
42
+ export declare function pictureDrawsImage(cacheKey: string): boolean;
43
+ export declare function releaseChunks(state: PaintBoundaryState, flattenReleaseReason?: 'param' | 'content'): void;
44
+ export declare function publishBoundaryRecord(node: PaintBoundaryNode, state: PaintBoundaryState): void;
45
+ export declare function releaseRasterCachesInSubtree(node: PaintBoundaryNode): number;
46
+ export declare function isMovingPaintChild(state: PaintBoundaryState, child: PaintBoundaryNode): boolean;
47
+ export declare function invalidateNearestPaintBoundary(node: PaintBoundaryNode | null | undefined, cause?: string, mutation?: 'content' | 'geometry' | 'paint' | 'scroll'): void;
48
+ export declare function paintBoundaryStyleChangePreservesChildContent(node: PaintBoundaryNode, changedKeys: ReadonlySet<string>): boolean;
49
+ export declare function animatedUpdateInvalidatesPaintContent(node: PaintBoundaryNode, wasLayerHost: boolean, update: {
50
+ layoutAffecting: boolean;
51
+ changedKeys: ReadonlySet<string>;
52
+ }): boolean;
53
+ export declare function disposePaintBoundary(node: PaintBoundaryNode): void;
54
+ export declare function disposePaintBoundariesInSubtree(node: PaintBoundaryNode): void;
55
+ export declare function getLivePaintBoundaryCount(): number;
56
+ export declare function captureRecordOrigin(state: PaintBoundaryState, x: number, y: number): void;
57
+ export declare function recordOriginMatches(state: PaintBoundaryState, x: number, y: number): boolean;
@@ -0,0 +1,21 @@
1
+ import type { SootSimNode } from './node.d.ts';
2
+ export interface NativeWindowPresentation {
3
+ target: 'app-window' | 'keyboard-window';
4
+ order: number;
5
+ }
6
+ export interface PortalDestination {
7
+ node: SootSimNode;
8
+ host: SootSimNode | null;
9
+ window: SootSimNode | null;
10
+ }
11
+ export interface PortalPlan {
12
+ portals: readonly PortalDestination[];
13
+ appPortals: readonly SootSimNode[];
14
+ hostedPortals: ReadonlyMap<SootSimNode, readonly SootSimNode[]>;
15
+ windows: readonly NativeWindowPortalLayer[];
16
+ }
17
+ export interface NativeWindowPortalLayer {
18
+ root: SootSimNode;
19
+ presentation: NativeWindowPresentation;
20
+ portals: readonly SootSimNode[];
21
+ }
@@ -0,0 +1,20 @@
1
+ import { type DamageBatch } from './render-damage.d.ts';
2
+ import type { DamageRect } from './damage-rect.d.ts';
3
+ import type { SootSimNode } from './node.d.ts';
4
+ import type { NativeWindowPresentation, PortalPlan } from './portalContract.d.ts';
5
+ import type { RenderContext } from './types.d.ts';
6
+ export declare function readNativeWindowPresentation(node: SootSimNode): NativeWindowPresentation | null;
7
+ export declare function subtreePortalEnds(node: SootSimNode): {
8
+ views: SootSimNode[];
9
+ holdsHost: boolean;
10
+ };
11
+ export interface PhasedDamage {
12
+ entries?: DamageBatch;
13
+ }
14
+ export declare function addPhasedRect(into: PhasedDamage, rect: DamageRect | null, portal: boolean): void;
15
+ export declare function addNodeDamage(into: PhasedDamage, node: SootSimNode, rect: DamageRect | null, keepsOwnCapture?: boolean): void;
16
+ export declare function addPhasedDamage(ctx: RenderContext, from: PhasedDamage): void;
17
+ export declare function findPortalHost(root: SootSimNode, portal: SootSimNode): SootSimNode | null;
18
+ export declare function getPortalPlan(root: SootSimNode): PortalPlan;
19
+ export declare function getHostedPortals(host: SootSimNode): readonly SootSimNode[];
20
+ export declare function syncPortalHostPositions(root: SootSimNode): void;
@@ -0,0 +1,107 @@
1
+ import { type DamageRect } from './damage-rect.d.ts';
2
+ import type { Surface } from 'canvaskit-wasm';
3
+ export declare const DAMAGE_CLIP_THRESHOLD = 0.8;
4
+ declare const CLIP_REASONS: readonly [null, 'no-damage', 'full-damage', 'empty-damage', 'empty-surface', 'threshold'];
5
+ interface DamageNative {
6
+ _peach_damage_batch_input(count: number): number;
7
+ _peach_damage_batch(id: number, count: number): void;
8
+ _peach_damage_glass_read(id: number, index: number): number;
9
+ _peach_damage_out(): number;
10
+ _peach_damage_create(): number;
11
+ _peach_damage_dispose(id: number): void;
12
+ _peach_damage_add(id: number, bucket: number, left: number, top: number, right: number, bottom: number): void;
13
+ _peach_damage_source_pair(id: number, hasBefore: number, beforeLeft: number, beforeTop: number, beforeRight: number, beforeBottom: number, hasAfter: number, afterLeft: number, afterTop: number, afterRight: number, afterBottom: number): void;
14
+ _peach_damage_glass_content(id: number, glassId: number, portal: number, left: number, top: number, right: number, bottom: number): void;
15
+ _peach_damage_touch(id: number): void;
16
+ _peach_damage_unknown(id: number, unknown: number): void;
17
+ _peach_damage_force_full(id: number): void;
18
+ _peach_damage_glow_ratio(id: number, width: number, height: number): number;
19
+ _peach_damage_glow_paint(id: number, width: number, height: number): number;
20
+ _peach_damage_glow_pending(id: number, full: number, resetTime: number): void;
21
+ _peach_damage_glow_due(id: number, eligible: number, now: number, width: number, height: number, threshold: number, interval: number, event: number): number;
22
+ _peach_damage_glow_complete(id: number, failed: number): void;
23
+ _peach_damage_reset(id: number): void;
24
+ _peach_damage_begin(id: number, width: number, height: number, dpr: number, threshold: number, forced: number, root: number, floor: number): void;
25
+ _peach_damage_end(id: number, hasReplayed: number, left: number, top: number, right: number, bottom: number, moved: number): void;
26
+ _peach_damage_read(id: number, which: number): void;
27
+ _peach_layout_damage_slots(count: number): number;
28
+ _peach_layout_damage(id: number, count: number, mode: number): number;
29
+ readonly HEAPU8: Uint8Array;
30
+ }
31
+ export interface FrameDamage {
32
+ readonly native: DamageNative;
33
+ readonly id: number;
34
+ }
35
+ export declare function createFrameDamage(module: object, initial: DamageRect | null): FrameDamage;
36
+ export declare function disposeFrameDamage(damage: FrameDamage | null | undefined): void;
37
+ export declare function frameDamageId(damage: FrameDamage | null | undefined, module: object): number;
38
+ export declare function addSourceDamagePair(damage: FrameDamage | null | undefined, before: DamageRect | null, after: DamageRect | null): void;
39
+ export type DamageBatch = number[];
40
+ export declare function addDamageBatch(damage: FrameDamage | null | undefined, entries: DamageBatch): void;
41
+ export declare const LAYOUT_DAMAGE: {
42
+ readonly begin: 0;
43
+ readonly continue: 1;
44
+ readonly landed: 2;
45
+ };
46
+ export type LayoutDamageMode = (typeof LAYOUT_DAMAGE)[keyof typeof LAYOUT_DAMAGE];
47
+ export declare function addLayoutMovedDamage(damage: FrameDamage | null | undefined, nodes: readonly {
48
+ readonly _sceneSlot: number;
49
+ }[], mode: LayoutDamageMode): boolean;
50
+ export declare function pendingPhaseDamage(damage: FrameDamage): {
51
+ source: DamageRect | null;
52
+ portal: DamageRect | null;
53
+ glassContents: {
54
+ id: number;
55
+ portal: boolean;
56
+ rect: DamageRect;
57
+ }[];
58
+ };
59
+ export declare function addDamage(damage: FrameDamage | null | undefined, rect: DamageRect | null | undefined): void;
60
+ export declare function addPortalDamage(damage: FrameDamage | null | undefined, rect: DamageRect | null | undefined): void;
61
+ export declare function addGlassAnimationDamage(damage: FrameDamage | null | undefined, rect: DamageRect | null | undefined): void;
62
+ export declare function addGlassContentDamage(damage: FrameDamage | null | undefined, glassId: number, rect: DamageRect, portal: boolean): void;
63
+ export declare function addBackdropSample(damage: FrameDamage | null | undefined, rect: DamageRect | null | undefined): void;
64
+ export declare function addTransformedBackdropSample(damage: FrameDamage | null | undefined, dpr: number, sourceSurface: Surface, matrix: Float32Array | number[], x: number, y: number, w: number, h: number): void;
65
+ export declare function touchDamage(damage: FrameDamage | null | undefined): void;
66
+ export declare function setSourceUnknown(damage: FrameDamage | null | undefined, unknown: boolean): void;
67
+ export declare function forceFullRedraw(damage: FrameDamage | null | undefined): void;
68
+ export declare function ambientGlowDamageRatio(damage: FrameDamage | null | undefined, width: number, height: number): number;
69
+ export declare function noteAmbientGlowDamage(damage: FrameDamage | null | undefined, width: number, height: number): number;
70
+ export declare function setAmbientGlowDamage(damage: FrameDamage | null | undefined, full: boolean, resetTime?: boolean): void;
71
+ export type AmbientGlowSampleEvent = 'query' | 'begin' | 'finish';
72
+ export declare function ambientGlowSampleDelay(damage: FrameDamage | null | undefined, eligible: boolean, now: number, width: number, height: number, threshold: number, interval: number, event?: AmbientGlowSampleEvent): number | null;
73
+ export declare function completeAmbientGlowSample(damage: FrameDamage | null | undefined, failed: boolean): void;
74
+ export declare function resetDamage(damage: FrameDamage | null | undefined): void;
75
+ export interface PendingDamage {
76
+ source: DamageRect | null;
77
+ unknown: boolean;
78
+ forceFull: boolean;
79
+ glassAnimation: boolean;
80
+ }
81
+ export declare function pendingDamage(damage: FrameDamage): PendingDamage;
82
+ export declare function hasFullDamage(damage: FrameDamage | null | undefined): boolean;
83
+ export declare function hasDeferredDamage(damage: FrameDamage | null | undefined): boolean;
84
+ export declare function hasPendingDamage(damage: FrameDamage | null | undefined): boolean;
85
+ export declare function currentFrameClip(damage: FrameDamage): DamageRect | null;
86
+ export declare function lastFrameClip(damage: FrameDamage | null | undefined): DamageRect | null;
87
+ export declare function lastBackdropSample(damage: FrameDamage | null | undefined): DamageRect | null;
88
+ export interface DamageFrame {
89
+ source: DamageRect | null;
90
+ sourceUnknown: boolean;
91
+ portal: DamageRect | null;
92
+ glassAnimation: boolean;
93
+ initial: DamageRect | null;
94
+ clip: DamageRect | null;
95
+ reason: (typeof CLIP_REASONS)[number];
96
+ area: number;
97
+ ratio: number;
98
+ grown: boolean;
99
+ }
100
+ export declare function beginDamageFrame(damage: FrameDamage, forced: boolean, width: number, height: number, dpr: number, root: number, floor: number): DamageFrame;
101
+ export interface DamageFrameEnd {
102
+ discovered: DamageRect | null;
103
+ damage: DamageRect | null;
104
+ deferred: DamageRect | null;
105
+ }
106
+ export declare function endDamageFrame(damage: FrameDamage, replayedGlass: DamageRect | null, replayedGlassMoved: boolean): DamageFrameEnd;
107
+ export {};
@@ -0,0 +1,420 @@
1
+ import type { ImageFrameSource } from '../render-worker/image-pixel-contract.d.ts';
2
+ export type RiveScalarType = 'number' | 'string' | 'boolean' | 'color' | 'enum';
3
+ export type RiveScalar = number | string | boolean;
4
+ export type RiveEventDescriptor = {
5
+ name: string;
6
+ type?: number;
7
+ delay?: number;
8
+ properties?: Record<string, RiveScalar>;
9
+ url?: string;
10
+ target?: string;
11
+ };
12
+ export type RiveProperty = {
13
+ name: string;
14
+ type: RivePropertyKind | 'unsupported';
15
+ };
16
+ export type RiveIndexedSelection = {
17
+ type: 'name';
18
+ name: string;
19
+ } | {
20
+ type: 'index';
21
+ index: number;
22
+ };
23
+ export type RiveArtboardSelection = RiveIndexedSelection | {
24
+ type: 'default';
25
+ };
26
+ export type RiveInstanceSelection = RiveArtboardSelection | {
27
+ type: 'blank';
28
+ };
29
+ export type RiveInputDescriptor = {
30
+ name: string;
31
+ type: 'boolean' | 'number' | 'trigger';
32
+ };
33
+ export type RiveArtboardDescriptor = {
34
+ kind: 'artboard';
35
+ id: number;
36
+ name: string;
37
+ bounds: {
38
+ minX: number;
39
+ minY: number;
40
+ maxX: number;
41
+ maxY: number;
42
+ };
43
+ width: number;
44
+ height: number;
45
+ animationNames: string[];
46
+ stateMachineNames: string[];
47
+ };
48
+ export type RiveMachineDescriptor = {
49
+ kind: 'machine';
50
+ id: number;
51
+ name: string;
52
+ inputs: RiveInputDescriptor[];
53
+ };
54
+ declare const RIVE_ALIGNMENTS: readonly ['topLeft', 'topCenter', 'topRight', 'centerLeft', 'center', 'centerRight', 'bottomLeft', 'bottomCenter', 'bottomRight'];
55
+ export type RiveAlignment = (typeof RIVE_ALIGNMENTS)[number];
56
+ export type RiveViewBinding = {
57
+ type: 'auto';
58
+ } | {
59
+ type: 'none';
60
+ } | {
61
+ type: 'instance';
62
+ instanceId: number;
63
+ } | {
64
+ type: 'byName';
65
+ name: string;
66
+ };
67
+ export type RiveViewConfiguration = {
68
+ fileId: number;
69
+ artboardName?: string;
70
+ stateMachineName?: string;
71
+ autoPlay: boolean;
72
+ fit: number;
73
+ alignment: RiveAlignment;
74
+ layoutScaleFactor?: number;
75
+ preferredFramesPerSecond?: number;
76
+ };
77
+ export type RiveWatchType = RiveScalarType | 'trigger' | 'list' | 'image';
78
+ export type RivePropertyKind = RiveWatchType | 'artboard';
79
+ export type RiveListAction = {
80
+ action: 'length';
81
+ } | {
82
+ action: 'at' | 'removeAt';
83
+ index: number;
84
+ } | {
85
+ action: 'add' | 'remove';
86
+ valueId: number;
87
+ } | {
88
+ action: 'addAt';
89
+ valueId: number;
90
+ index: number;
91
+ } | {
92
+ action: 'swap';
93
+ index: number;
94
+ other: number;
95
+ };
96
+ export type RivePropertyChange = {
97
+ instanceId: number;
98
+ path: string;
99
+ propertyType: RiveWatchType;
100
+ value?: RiveScalar;
101
+ };
102
+ export type RiveLinearAnimationDescriptor = {
103
+ kind: 'animation';
104
+ id: number;
105
+ name: string;
106
+ duration: number;
107
+ fps: number;
108
+ workStart: number;
109
+ workEnd: number;
110
+ };
111
+ export type RiveSharedViewConfiguration = {
112
+ artboardId: number;
113
+ machineId?: number;
114
+ animationId?: number;
115
+ fit: number;
116
+ alignment: RiveAlignment;
117
+ layoutScaleFactor?: number;
118
+ preferredFramesPerSecond?: number;
119
+ };
120
+ export type RiveOperation = {
121
+ type: 'initialize';
122
+ } | ({
123
+ type: 'view';
124
+ } & RiveViewConfiguration) | ({
125
+ type: 'sharedView';
126
+ } & RiveSharedViewConfiguration) | ({
127
+ type: 'viewConfiguration';
128
+ viewId: number;
129
+ } & Pick<RiveViewConfiguration, 'fit' | 'alignment' | 'layoutScaleFactor' | 'preferredFramesPerSecond'>) | {
130
+ type: 'frame';
131
+ viewId: number;
132
+ channelId: string;
133
+ refresh: boolean;
134
+ playing: boolean;
135
+ onscreen: boolean;
136
+ width: number;
137
+ height: number;
138
+ pixelRatio: number;
139
+ } | {
140
+ type: 'pointer';
141
+ machineId: number;
142
+ fit: number;
143
+ alignment: RiveAlignment;
144
+ phase: 'down' | 'move' | 'up' | 'exit';
145
+ x: number;
146
+ y: number;
147
+ pointerId: number;
148
+ width: number;
149
+ height: number;
150
+ } | {
151
+ type: 'play' | 'pause' | 'reset';
152
+ viewId: number;
153
+ } | {
154
+ type: 'viewBind';
155
+ viewId: number;
156
+ binding: RiveViewBinding;
157
+ } | {
158
+ type: 'viewInstance';
159
+ viewId: number;
160
+ } | {
161
+ type: 'viewInput';
162
+ viewId: number;
163
+ name: string;
164
+ path?: string;
165
+ input: 'number' | 'boolean' | 'trigger';
166
+ value?: number | boolean;
167
+ } | {
168
+ type: 'viewText';
169
+ viewId: number;
170
+ name: string;
171
+ path?: string;
172
+ value?: string;
173
+ } | {
174
+ type: 'artboardText';
175
+ artboardId: number;
176
+ name: string;
177
+ path?: string;
178
+ value?: string;
179
+ } | {
180
+ type: 'trigger' | 'nested';
181
+ instanceId: number;
182
+ path: string;
183
+ } | {
184
+ type: 'instanceName';
185
+ instanceId: number;
186
+ } | {
187
+ type: 'has';
188
+ instanceId: number;
189
+ path: string;
190
+ propertyType: RivePropertyKind;
191
+ } | {
192
+ type: 'assetValue';
193
+ instanceId: number;
194
+ path: string;
195
+ asset: 'image' | 'artboard';
196
+ valueId?: number;
197
+ } | {
198
+ type: 'image';
199
+ bytes: ArrayBuffer;
200
+ } | {
201
+ type: 'font';
202
+ bytes: ArrayBuffer;
203
+ } | {
204
+ type: 'fallbackFonts';
205
+ weights?: RiveFallbackWeight[];
206
+ } | {
207
+ type: 'bindableArtboard';
208
+ fileId: number;
209
+ name: string;
210
+ } | {
211
+ type: 'replace';
212
+ instanceId: number;
213
+ path: string;
214
+ valueId: number;
215
+ } | ({
216
+ type: 'list';
217
+ instanceId: number;
218
+ path: string;
219
+ } & RiveListAction) | {
220
+ type: 'watch';
221
+ instanceId: number;
222
+ path: string;
223
+ propertyType: RiveWatchType;
224
+ watch: boolean;
225
+ } | {
226
+ type: 'load';
227
+ bytes: ArrayBuffer;
228
+ loadCdn: boolean;
229
+ referenced?: string[];
230
+ } | {
231
+ type: 'assetData';
232
+ fileId: number;
233
+ uniqueName: string;
234
+ bytes?: ArrayBuffer;
235
+ imageId?: number;
236
+ } | {
237
+ type: 'artboard';
238
+ fileId: number;
239
+ selection: RiveArtboardSelection;
240
+ } | {
241
+ type: 'machine';
242
+ artboardId: number;
243
+ selection: RiveIndexedSelection;
244
+ } | {
245
+ type: 'animation';
246
+ artboardId: number;
247
+ selection: RiveIndexedSelection;
248
+ } | {
249
+ type: 'animationTime';
250
+ animationId: number;
251
+ time?: number;
252
+ } | {
253
+ type: 'animationAdvance';
254
+ animationId: number;
255
+ elapsed: number;
256
+ } | {
257
+ type: 'animationLoop';
258
+ animationId: number;
259
+ loop?: number;
260
+ } | {
261
+ type: 'animationDirection';
262
+ animationId: number;
263
+ direction?: number;
264
+ } | {
265
+ type: 'animationDidLoop';
266
+ animationId: number;
267
+ } | {
268
+ type: 'advance';
269
+ id: number;
270
+ elapsed: number;
271
+ } | {
272
+ type: 'artboardMetrics';
273
+ artboardId: number;
274
+ } | {
275
+ type: 'states' | 'events';
276
+ machineId: number;
277
+ } | {
278
+ type: 'input';
279
+ machineId: number;
280
+ index: number;
281
+ value?: number | boolean;
282
+ fire?: boolean;
283
+ } | {
284
+ type: 'nestedInput';
285
+ artboardId: number;
286
+ name: string;
287
+ path: string;
288
+ value?: number | boolean;
289
+ fire?: boolean;
290
+ } | {
291
+ type: 'model';
292
+ fileId: number;
293
+ name: string;
294
+ } | {
295
+ type: 'modelIndex';
296
+ fileId: number;
297
+ index: number;
298
+ } | {
299
+ type: 'defaultModel';
300
+ fileId: number;
301
+ artboard: string | number | undefined;
302
+ } | {
303
+ type: 'instance';
304
+ modelId: number;
305
+ selection: RiveInstanceSelection;
306
+ } | {
307
+ type: 'read';
308
+ instanceId: number;
309
+ path: string;
310
+ propertyType: RiveScalarType;
311
+ } | {
312
+ type: 'write';
313
+ instanceId: number;
314
+ path: string;
315
+ propertyType: RiveScalarType;
316
+ value: RiveScalar;
317
+ } | {
318
+ type: 'retain';
319
+ id: number;
320
+ } | {
321
+ type: 'release';
322
+ id: number;
323
+ };
324
+ export type RiveFallbackWeight = {
325
+ weight: number;
326
+ fonts: (number | 'system')[];
327
+ };
328
+ export type RiveFileDescriptor = {
329
+ kind: 'file';
330
+ id: number;
331
+ artboardNames: string[];
332
+ defaultArtboardName: string | undefined;
333
+ defaultMachineIndexes: (number | null)[] | null;
334
+ stateMachineNames: Record<string, string[]>;
335
+ viewModelNames: string[];
336
+ assets: {
337
+ uniqueName: string;
338
+ key: string;
339
+ }[];
340
+ };
341
+ export type RiveModelDescriptor = {
342
+ kind: 'model';
343
+ id: number;
344
+ modelName: string;
345
+ propertyCount: number;
346
+ instanceNames: string[];
347
+ properties: RiveProperty[];
348
+ };
349
+ export type RiveInstanceDescriptor = {
350
+ kind: 'instance';
351
+ id: number;
352
+ properties: RiveProperty[];
353
+ };
354
+ export type RiveResult = RiveFileDescriptor | RiveModelDescriptor | RiveInstanceDescriptor | RiveArtboardDescriptor | RiveMachineDescriptor | RiveLinearAnimationDescriptor | ({
355
+ kind: 'artboardMetrics';
356
+ } & Pick<RiveArtboardDescriptor, 'bounds' | 'width' | 'height'>) | {
357
+ kind: 'states';
358
+ names: string[];
359
+ } | {
360
+ kind: 'events';
361
+ events: RiveEventDescriptor[];
362
+ } | {
363
+ kind: 'value';
364
+ value: RiveScalar;
365
+ changed?: boolean;
366
+ } | {
367
+ kind: 'missing';
368
+ } | {
369
+ kind: 'view';
370
+ id: number;
371
+ } | {
372
+ kind: 'image';
373
+ id: number;
374
+ byteSize: number;
375
+ } | {
376
+ kind: 'font';
377
+ id: number;
378
+ } | {
379
+ kind: 'bindableArtboard';
380
+ id: number;
381
+ name: string;
382
+ } | {
383
+ kind: 'frame';
384
+ bitmap?: ImageFrameSource;
385
+ events?: RiveEventDescriptor[];
386
+ changes?: RivePropertyChange[];
387
+ } | {
388
+ kind: 'done';
389
+ };
390
+ export type RiveHostResponse = {
391
+ type: 'riveResult';
392
+ requestId: number;
393
+ ok: true;
394
+ result: RiveResult;
395
+ } | {
396
+ type: 'riveResult';
397
+ requestId: number;
398
+ ok: false;
399
+ error: string;
400
+ };
401
+ export declare function isRiveOperation(value: unknown): value is RiveOperation;
402
+ export declare const RIVE_SYNC_REPLY_BYTES: number;
403
+ export type RiveSyncResponse = {
404
+ ok: true;
405
+ result: RiveResult;
406
+ } | {
407
+ ok: false;
408
+ error: string;
409
+ };
410
+ export type RiveSyncOperation = Extract<RiveOperation, {
411
+ type: 'initialize' | 'load' | 'retain' | 'release' | 'model' | 'modelIndex' | 'defaultModel' | 'instance' | 'read' | 'artboard' | 'machine' | 'animation' | 'animationTime' | 'animationAdvance' | 'animationLoop' | 'animationDirection' | 'animationDidLoop' | 'advance' | 'states' | 'events' | 'input' | 'nestedInput' | 'pointer' | 'artboardMetrics' | 'sharedView' | 'viewConfiguration' | 'viewBind' | 'viewInstance' | 'viewInput' | 'viewText' | 'artboardText' | 'trigger' | 'nested' | 'instanceName' | 'assetValue' | 'bindableArtboard' | 'font' | 'watch' | 'has' | 'replace' | 'list';
412
+ }>;
413
+ export declare function isRiveSyncOperation(value: unknown): value is RiveSyncOperation;
414
+ export declare function completeRiveSyncReply(reply: SharedArrayBuffer, response: RiveSyncResponse): void;
415
+ declare let requestRiveSync: ((operation: RiveSyncOperation) => RiveResult) | undefined;
416
+ export declare function callRiveHostSync(operation: RiveSyncOperation): RiveResult;
417
+ declare let requestRive: ((operation: RiveOperation) => Promise<RiveResult>) | undefined;
418
+ export declare function setRiveHostService(service: typeof requestRive, syncService?: typeof requestRiveSync): void;
419
+ export declare function callRiveHost(operation: RiveOperation): Promise<RiveResult>;
420
+ export {};
@@ -0,0 +1,51 @@
1
+ export declare function fromOrigamiTensionAndFriction(tension: number, friction: number): {
2
+ stiffness: number;
3
+ damping: number;
4
+ };
5
+ export declare function fromBouncinessAndSpeed(bounciness: number, speed: number): {
6
+ stiffness: number;
7
+ damping: number;
8
+ };
9
+ export interface SpringInput {
10
+ toValue?: number;
11
+ velocity?: number;
12
+ bounciness?: number;
13
+ speed?: number;
14
+ tension?: number;
15
+ friction?: number;
16
+ stiffness?: number;
17
+ damping?: number;
18
+ mass?: number;
19
+ overshootClamping?: boolean;
20
+ restDisplacementThreshold?: number;
21
+ restSpeedThreshold?: number;
22
+ restVelocityThreshold?: number;
23
+ uikitRestEpsilon?: number;
24
+ }
25
+ export interface ResolvedSpring {
26
+ stiffness: number;
27
+ damping: number;
28
+ mass: number;
29
+ initialVelocity: number;
30
+ overshootClamping: boolean;
31
+ restDisplacementThreshold: number;
32
+ restSpeedThreshold: number;
33
+ uikitRestEpsilon?: number;
34
+ }
35
+ export declare function resolveSpringConfig(config: SpringInput): ResolvedSpring;
36
+ export declare function springAtRest(resolved: ResolvedSpring, toValue: number, position: number, velocity: number): boolean;
37
+ export interface SpringSample {
38
+ value: number;
39
+ velocity: number;
40
+ done: boolean;
41
+ }
42
+ export interface SpringSampler {
43
+ (now: number): SpringSample;
44
+ lastVelocity: number;
45
+ lastTime: number | null;
46
+ }
47
+ export declare function evaluateRNSpringAt(fromValue: number, resolved: Pick<ResolvedSpring, 'stiffness' | 'damping' | 'mass' | 'initialVelocity'>, toValue: number, tSeconds: number): {
48
+ position: number;
49
+ velocity: number;
50
+ };
51
+ export declare function createRNSpringSampler(fromValue: number, resolved: ResolvedSpring, toValue: number, previous?: SpringSampler | null, startedAt?: number | null): SpringSampler;