peachsim 0.1.2224 → 0.1.2228

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 (171) hide show
  1. package/cli/bridge-flow-runner.ts +56 -3
  2. package/cli/commands/control.ts +27 -1
  3. package/cli/commands/flow.ts +26 -0
  4. package/cli/commands/package.ts +9 -2
  5. package/cli/drivers/playwright.ts +1 -0
  6. package/cli/drivers/types.ts +3 -0
  7. package/cli/internal-child.ts +4 -2
  8. package/dist-lib/agent-daemon-client.cjs +1 -1
  9. package/dist-lib/agent-events.cjs +1 -1
  10. package/dist-lib/attached-projects.cjs +1 -1
  11. package/dist-lib/auth/shared-session.cjs +1 -1
  12. package/dist-lib/backend-origin.cjs +1 -1
  13. package/dist-lib/beta.cjs +1 -1
  14. package/dist-lib/beta.mjs +1 -1
  15. package/dist-lib/bridge-constants.cjs +1 -1
  16. package/dist-lib/bridge-contract-input.cjs +1 -1
  17. package/dist-lib/bridge-contract-input.mjs +1 -1
  18. package/dist-lib/bridge-contract.cjs +1 -1
  19. package/dist-lib/bridge-contract.mjs +1 -1
  20. package/dist-lib/bundle-channel.cjs +931 -455
  21. package/dist-lib/capture-contract.cjs +1 -1
  22. package/dist-lib/capture-contract.mjs +1 -1
  23. package/dist-lib/cloud-contract.cjs +1 -1
  24. package/dist-lib/cloud-contract.mjs +1 -1
  25. package/dist-lib/cloud-test-args.cjs +1 -1
  26. package/dist-lib/cloud-test-args.mjs +1 -1
  27. package/dist-lib/cloud.cjs +1 -1
  28. package/dist-lib/cloud.mjs +1 -1
  29. package/dist-lib/config.cjs +1 -1
  30. package/dist-lib/config.mjs +1 -1
  31. package/dist-lib/detox/index.cjs +2 -2
  32. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  33. package/dist-lib/expo-swift-bundle.cjs +867 -391
  34. package/dist-lib/expo-swift-metadata.cjs +1 -1
  35. package/dist-lib/expo-swift-metadata.mjs +1 -1
  36. package/dist-lib/home-paths.cjs +1 -1
  37. package/dist-lib/host/bridge-host.cjs +926 -450
  38. package/dist-lib/host/fetch-proxy-handler.cjs +55 -12
  39. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  40. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  41. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  42. package/dist-lib/host/websocket-proxy.cjs +1 -1
  43. package/dist-lib/index.cjs +60 -16
  44. package/dist-lib/jump-to-source-babel.cjs +1 -1
  45. package/dist-lib/jump-to-source-native.cjs +1 -1
  46. package/dist-lib/kotlin-host.cjs +1 -1
  47. package/dist-lib/menu.cjs +1 -1
  48. package/dist-lib/menu.mjs +1 -1
  49. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  50. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  51. package/dist-lib/metro-production-bundle.cjs +11 -4
  52. package/dist-lib/metro-production-bundle.mjs +10 -4
  53. package/dist-lib/metro.cjs +60 -16
  54. package/dist-lib/native-app-identity-project.cjs +53 -9
  55. package/dist-lib/native-app-identity-project.mjs +84 -37
  56. package/dist-lib/native-app-identity.cjs +1 -1
  57. package/dist-lib/native-app-identity.mjs +1 -1
  58. package/dist-lib/native-firebase-metadata.cjs +1 -1
  59. package/dist-lib/native-firebase-metadata.mjs +1 -1
  60. package/dist-lib/pdfium-raster.cjs +1 -1
  61. package/dist-lib/pdfium-raster.mjs +1 -1
  62. package/dist-lib/plist.cjs +1 -1
  63. package/dist-lib/plist.mjs +1 -1
  64. package/dist-lib/profiles.cjs +1 -1
  65. package/dist-lib/public-brand.cjs +1 -1
  66. package/dist-lib/public-origins-lib-esm.json +26 -24
  67. package/dist-lib/public-origins-lib.json +66 -54
  68. package/dist-lib/react-native-host-modules.cjs +1 -1
  69. package/dist-lib/react-native-host-modules.mjs +1 -1
  70. package/dist-lib/reap-browser.cjs +1 -1
  71. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  72. package/dist-lib/sdk.cjs +1 -1
  73. package/dist-lib/sdk.mjs +1 -1
  74. package/dist-lib/skills.cjs +1049 -512
  75. package/dist-lib/swift-compile.cjs +557 -121
  76. package/dist-lib/swift-compile.mjs +693 -258
  77. package/dist-lib/swift-package.cjs +1 -1
  78. package/dist-lib/swift-package.mjs +1 -1
  79. package/dist-lib/swift-submit.cjs +1 -1
  80. package/dist-lib/swift-submit.mjs +1 -1
  81. package/dist-lib/swift-toolchain.cjs +38 -2
  82. package/dist-lib/swift.cjs +1 -1
  83. package/dist-lib/vite-swift.cjs +1726 -1209
  84. package/dist-lib/vite.cjs +55 -12
  85. package/dist-lib/worklet-executable.cjs +1 -1
  86. package/dist-lib/worklet-executable.mjs +1 -1
  87. package/dist-types/packages/peach-engine/src/bundle-parse-receipt.d.ts +17 -0
  88. package/dist-types/packages/peach-engine/src/engine/canvaskit-api.d.ts +2 -1
  89. package/dist-types/packages/peach-engine/src/engine/font-config.d.ts +2 -2
  90. package/dist-types/packages/peach-engine/src/engine/native-layout.d.ts +1 -0
  91. package/dist-types/packages/peach-engine/src/engine/native-paragraph.d.ts +4 -0
  92. package/dist-types/packages/peach-engine/src/engine/node.d.ts +2 -0
  93. package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +1 -1
  94. package/dist-types/packages/peach-engine/src/engine/types.d.ts +7 -0
  95. package/dist-types/packages/peach-engine/src/engine/yoga-layout.d.ts +2 -0
  96. package/dist-types/packages/peach-engine/src/metro-fingerprint.d.ts +3 -2
  97. package/dist-types/packages/peach-engine/src/preview/preview-room-contract.d.ts +6 -0
  98. package/dist-types/packages/peach-engine/src/render-worker/compositor-protocol.d.ts +1 -0
  99. package/dist-types/packages/peach-engine/src/render-worker/protocol.d.ts +15 -3
  100. package/dist-types/packages/peach-engine/src/rolldown-bundle-inventory.d.ts +0 -5
  101. package/dist-types/packages/peach-kit/src/capabilities.d.ts +2 -0
  102. package/dist-types/packages/peach-kit/src/internal.d.ts +1 -1
  103. package/dist-types/packages/peach-kit/src/ios-tint.d.ts +2 -0
  104. package/kotlin/sdk.tar.gz +0 -0
  105. package/package.json +1 -1
  106. package/runtime-companion.json +1 -1
  107. package/sdk/ios/System/Library/Frameworks/CoreFoundation.framework/Headers/CFCGTypes.h +0 -6
  108. package/sdk/ios/System/Library/Frameworks/Foundation.framework/Headers/NSCharacterSet.h +1 -1
  109. package/sdk/ios/System/Library/Frameworks/Foundation.framework/Headers/NSURL.h +1 -1
  110. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UIControl.h +0 -26
  111. package/sdk/ios/System/Library/Frameworks/UIKitTypes.framework/Headers/UIKitTypes.h +27 -0
  112. package/sdk/ios/usr/include/AvailabilityInternal.h +2 -2
  113. package/sdk/ios/usr/include/ObjectiveC.apinotes +380 -7
  114. package/sdk/ios/usr/include/peach/pthread.h +1 -7
  115. package/sdk/ios/wasm/include/TargetConditionals.h +2 -3
  116. package/sdk/ios/wasm/include/__struct_timeval.h +15 -0
  117. package/sdk/ios/wasm/include/__typedef_suseconds_t.h +9 -0
  118. package/sdk/ios/wasm/include/limits.h +1 -1
  119. package/sdk/ios/wasm/include/machine/_types.h +1 -1
  120. package/sdk/ios/wasm/include/machine/limits.h +1 -1
  121. package/sdk/ios/wasm/include/machine/param.h +2 -2
  122. package/sdk/ios/wasm/include/math.h +13 -0
  123. package/sdk/ios/wasm/include/pthread.h +1 -13
  124. package/sdk/ios/wasm/include/sys/resource.h +3 -0
  125. package/sdk/ios/wasm/include/sys/socket.h +0 -10
  126. package/sdk/ios/wasm/include/sys/stat.h +5 -2
  127. package/sdk/ios/wasm/include/sys/time.h +16 -3
  128. package/sdk/ios/wasm/include/sys/types.h +4 -1
  129. package/sdk/ios/wasm/include/time.h +2 -0
  130. package/sdk/ios/wasm/storage-include/TargetConditionals.h +2 -3
  131. package/sdk/native-hashes.json +14 -14
  132. package/src/metro-production-bundle.ts +15 -2
  133. package/src/native-slices.ts +3 -2
  134. package/src/native-static-libraries.ts +23 -23
  135. package/src/native-swift-slices.ts +2 -2
  136. package/src/nitro-adapter.lock.json +288 -288
  137. package/src/nitro-compiler-digest.ts +0 -1
  138. package/src/nitro-dependencies.ts +8 -9
  139. package/src/nitro-superset.lock.json +4 -4
  140. package/src/react-native-core-build.ts +2 -2
  141. package/src/swift-compile.ts +209 -47
  142. package/src/swift-compiler-digest.ts +2 -0
  143. package/src/swift-cxx-standin.ts +1 -1
  144. package/src/swift-darwin-records.ts +4 -4
  145. package/src/swift-distribution-contract.ts +2 -2
  146. package/src/swift-distribution.lock.json +13 -12
  147. package/src/swift-guest-compile.ts +6 -5
  148. package/src/swift-guest-image-ledger.ts +5 -5
  149. package/src/swift-guest-link.ts +1 -1
  150. package/src/swift-guest-linked-spans.ts +7 -4
  151. package/src/swift-guest-manifest.ts +2 -2
  152. package/src/swift-guest-source-inputs.ts +16 -5
  153. package/src/swift-host.ts +10 -5
  154. package/src/swift-icu.ts +1 -1
  155. package/src/swift-objc-compile.ts +9 -4
  156. package/src/swift-objc-standin.ts +1 -4
  157. package/src/swift-package-manifest.ts +5 -1
  158. package/src/swift-packages.ts +2 -2
  159. package/src/swift-shared-sdk.ts +1 -1
  160. package/src/swift-standin-emit.ts +3 -16
  161. package/src/swift-standins.ts +119 -87
  162. package/src/swift-toolchain.ts +37 -1
  163. package/src/swift-uniform-type-constants.ts +1 -1
  164. package/src/swift-wasm-prune.ts +17 -12
  165. package/src/swiftGuestImageContract.ts +4 -4
  166. package/src/swiftNativePinContract.ts +1 -1
  167. package/src/swiftRuntimeProductContract.ts +1 -1
  168. package/src/turbo-runtime.lock.json +28 -28
  169. package/src/wasm-narrow-boundary.ts +296 -0
  170. package/src/wasm-optimize.ts +59 -14
  171. package/src/xcode-project.ts +6 -4
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -39,7 +39,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
39
39
  var define_SWIFT_COVERAGE_SOURCE_DIGESTS_default;
40
40
  var init_define_SWIFT_COVERAGE_SOURCE_DIGESTS = __esm({
41
41
  "<define:__SWIFT_COVERAGE_SOURCE_DIGESTS__>"() {
42
- define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "29c2661be4b952101c9b9b8fd861560e6ce63b25dd4464f47475aaf72024f4fe", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "25505683ca29a0b380413bf2a5026d4967eacf886e35bc11ece6e15317e5bb02", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "b6e04100805ba81f14d751383416fd4aab46901a6f94f5b62f831e66c28001c1", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
42
+ define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "40ec039e7a2920e6b4e7610986eb3ba75c5811eed4ea41570c2a7e2424911721", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
43
43
  }
44
44
  });
45
45
 
@@ -1072,7 +1072,7 @@ var init_src = __esm({
1072
1072
  var runtime_companion_default;
1073
1073
  var init_runtime_companion = __esm({
1074
1074
  "runtime-companion.json"() {
1075
- runtime_companion_default = { abi: 1, sha256: "ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42", file: "node/cli-ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42.cjs" };
1075
+ runtime_companion_default = { abi: 1, sha256: "286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa", file: "node/cli-286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa.cjs" };
1076
1076
  }
1077
1077
  });
1078
1078
 
@@ -3228,7 +3228,7 @@ function readIosSdkTree(root) {
3228
3228
 
3229
3229
  // src/swift-standin-digest.ts
3230
3230
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
3231
- var STANDIN_SOURCE_DIGEST = true ? "967c1c2a3b66ac640e0162783ed9e21b09ff285f8e1f7d4327b70416699e14c8" : standinSourceDigest();
3231
+ var STANDIN_SOURCE_DIGEST = true ? "c157dea0314bab3ba5af4145cc3ba5b8a4d824fa6677166162e49713afe384bb" : standinSourceDigest();
3232
3232
 
3233
3233
  // src/expo-native-workspace.ts
3234
3234
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -6102,6 +6102,42 @@ function peachsimPackageRoot() {
6102
6102
  var SWIFT_HOST_COMPILER_RELEASE = "swift-6.4.0-RELEASE-custom-81b2c791c27276bf";
6103
6103
  var SWIFT_HOST_COMPILER_ID = "81b2c791c27276bf";
6104
6104
  var compilerArchives = {
6105
+ "swift-6.4.0-RELEASE-custom-fb42d2535739dfd2": {
6106
+ identity: "fb42d2535739dfd2",
6107
+ archive: "tar.zst",
6108
+ hosts: {
6109
+ "darwin-arm64": {
6110
+ checksum: "5e417d415ca74a435755e298a1d2d19ec47637fd03479de7a7d958eb382941f1",
6111
+ manifest: "eb5a0356aebabe89c7b2780f8809e13d6e2ad6f342fed87cf99f9a5834344363"
6112
+ },
6113
+ "linux-arm64": {
6114
+ checksum: "8ac7ad97f3d68bf485423001d1ce3cd92a8d4625313c47c8071867a9aeed3af9",
6115
+ manifest: "6126266dd65b43c43d719e4dc4d33c4ea6a3267f99f34e3638637439a995af2e"
6116
+ },
6117
+ "linux-x64": {
6118
+ checksum: "7d76463079619ba822123d250601bd35f6744ed5f8054a657ce472ce4dac76c8",
6119
+ manifest: "f1a6c0c61d15eddb2ecfa4c3a72a5154621881ac2f0c413162ff1d0f4343bd0e"
6120
+ }
6121
+ }
6122
+ },
6123
+ "swift-6.4.0-RELEASE-custom-44ecd25f163bb359": {
6124
+ identity: "44ecd25f163bb359",
6125
+ archive: "tar.zst",
6126
+ hosts: {
6127
+ "darwin-arm64": {
6128
+ checksum: "d06dda4435f99d8376179cc7a3804907aa7305513135ece6288fd8e6d4695ae6",
6129
+ manifest: "bc0d8b955f923f096dda2aa8bbb1d56176a73f3d4a4df4cc9a1f59d31417061a"
6130
+ },
6131
+ "linux-x64": {
6132
+ checksum: "f95b56440693c5de7995f10ea14c57fc7e659a161018a17f17a74b61a98e88a4",
6133
+ manifest: "c18a60b14d5c89a8b2e1dbb2b4b52342c5fb92c7f3069fdc55c985bce61683a7"
6134
+ },
6135
+ "linux-arm64": {
6136
+ checksum: "afb74ae60df2b5bd7792bfbcf29bcea03675a5c814b758dd6cb91a760c220cd2",
6137
+ manifest: "ac037f6b0fdc4a6ae582eebc22bcf811fa2becdc30d083057137fc857f3c456a"
6138
+ }
6139
+ }
6140
+ },
6105
6141
  "swift-6.4.0-RELEASE-custom-11345d60dca47496": {
6106
6142
  identity: "11345d60dca47496",
6107
6143
  archive: "tar.zst",
@@ -6434,7 +6470,7 @@ var swiftSdkProductSchema = v.pipe(
6434
6470
  v.object({
6435
6471
  id: v.string(),
6436
6472
  installName: v.string(),
6437
- target: v.literal("wasm32-unknown-wasip1"),
6473
+ target: v.literal("wasm64-unknown-wasip1"),
6438
6474
  linkNames: v.array(v.string()),
6439
6475
  // absent records declare no framework namespace, even when a library name matches.
6440
6476
  frameworkAliases: v.optional(
@@ -6603,7 +6639,13 @@ init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
6603
6639
  init_src();
6604
6640
  var import_wasm_opt = require("wasm-opt");
6605
6641
  init_home_paths();
6642
+
6643
+ // src/wasm-narrow-boundary.ts
6644
+ init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
6645
+
6646
+ // src/wasm-optimize.ts
6606
6647
  var FEATURES = [
6648
+ "memory64",
6607
6649
  "threads",
6608
6650
  "bulk-memory",
6609
6651
  "bulk-memory-opt",
@@ -6616,7 +6658,8 @@ var FEATURES = [
6616
6658
  "sign-ext"
6617
6659
  ];
6618
6660
  var KEEP_WASM_NAMES = process.env.PEACH_SWIFT_NAMES === "1";
6619
- var WASM_OPTIMIZE_IDENTITY = `wasm-opt ${import_wasm_opt.BINARYEN_VERSION} -Oz ${FEATURES.join(",")}${KEEP_WASM_NAMES ? " -g" : ""}`;
6661
+ var LOWERING = ["--memory64-lowering", "--table64-lowering"];
6662
+ var WASM_LOWER_IDENTITY = `binaryen ${import_wasm_opt.BINARYEN_VERSION} narrow ${LOWERING.join(" ")} ${FEATURES.join(",")} unoptimized-names`;
6620
6663
 
6621
6664
  // src/swift-icu.ts
6622
6665
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -6742,7 +6785,7 @@ var FOUNDATION_IMPLICIT_MODULES = [
6742
6785
  var FOUNDATION_IMPLICIT_FLAGS = FOUNDATION_IMPLICIT_MODULES.map(
6743
6786
  (module2) => `, "-Xfrontend", "-import-module", "-Xfrontend", "${module2}"`
6744
6787
  ).join("");
6745
- var compilerSourceDigest = true ? "ae9e08389e6ab1901846342a7b347d7c10f8074172cf5d4d6505f7e955879ad4" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
6788
+ var compilerSourceDigest = true ? "280e858b01b1c1393d3765c8d6ff1b3ce4a1a93d7fb7e3dd2d4d3e5f1d5f1ac2" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
6746
6789
  var CORE_FOUNDATION_HANDLE_IMPORTS = [
6747
6790
  "CFAllocator",
6748
6791
  "CFArray",
@@ -6771,7 +6814,7 @@ var wasmMacroEnvironment = {
6771
6814
  ...emptyMacroEnvironment,
6772
6815
  defines: /* @__PURE__ */ new Map([
6773
6816
  ["__wasm__", "1"],
6774
- ["__wasm32__", "1"],
6817
+ ["__wasm64__", "1"],
6775
6818
  ["__wasi__", "1"]
6776
6819
  ])
6777
6820
  };
@@ -6882,12 +6925,12 @@ var MAX_SWIFT_COMPILE_IMAGE_TOTAL_BYTES = 16 * 1024 * 1024;
6882
6925
 
6883
6926
  // src/nitro-dependencies.ts
6884
6927
  var run4 = (0, import_node_util5.promisify)(import_node_child_process9.execFile);
6885
- var DOUBLE_CONVERSION_WASM32_BACKPORT = {
6928
+ var DOUBLE_CONVERSION_WASM64_BACKPORT = {
6886
6929
  upstreamCommit: "8857767d5b2f5a035321e3712e8cd0008840ba6b",
6887
6930
  originalSha256: "b495b11f7b61693486894f747add5b454894b8b3ca41aa1610d370ba16407ab7",
6888
- derivedSha256: "642d9f83289672def295f6a0a4f8c94823c20c3186e2b1b9ec36b436cb366da8",
6931
+ derivedSha256: "d8e40c283479c1d8682646a65a869ed42c68b6dc3fb27e502aed5291d7dd223c",
6889
6932
  before: " defined(__AARCH64EL__)\n",
6890
- after: " defined(__AARCH64EL__) || defined(__wasm32__)\n"
6933
+ after: " defined(__AARCH64EL__) || defined(__wasm64__)\n"
6891
6934
  };
6892
6935
  var RN_SHARED_DEPENDENCIES = [
6893
6936
  {
@@ -6914,7 +6957,7 @@ var RN_SHARED_DEPENDENCIES = [
6914
6957
  prefix: "double-conversion-1.1.6",
6915
6958
  headers: { from: "src", to: "double-conversion" },
6916
6959
  files: /\.(?:h|cc)$/,
6917
- backport: { file: "src/utils.h", ...DOUBLE_CONVERSION_WASM32_BACKPORT }
6960
+ backport: { file: "src/utils.h", ...DOUBLE_CONVERSION_WASM64_BACKPORT }
6918
6961
  },
6919
6962
  {
6920
6963
  name: "fast_float",
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2228 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/worklet-executable.ts
4
4
  import { parse } from "acorn";
@@ -0,0 +1,17 @@
1
+ import type { RolldownBundleInventory } from './rolldown-bundle-inventory.d.ts';
2
+ export type MetroBundleLayout = RNXMetroBundleLayout;
3
+ import type { RNXMetroBundleLayout } from '../../../../src/metro-production-bundle.ts';
4
+ export type BundleParseReceipt = {
5
+ kind: 'rolldown';
6
+ key: string;
7
+ inventory: RolldownBundleInventory;
8
+ } | {
9
+ kind: 'metro';
10
+ key: string;
11
+ layout: MetroBundleLayout;
12
+ };
13
+ export declare function carryBundleParse(receipt: BundleParseReceipt | null, report: (receipt: BundleParseReceipt) => void): void;
14
+ export declare function sha256Hex(text: string): Promise<string>;
15
+ export declare function bundleParseKey(textHash: string): string;
16
+ export declare function takeCarriedBundleParse(key: string): BundleParseReceipt | null;
17
+ export declare function reportBundleParse(receipt: BundleParseReceipt): void;
@@ -1,7 +1,7 @@
1
1
  import type { RuntimePlatform } from '../../../../../src/device-catalog.ts';
2
2
  import type { CanvasKitReanimatedApi } from './nativeReanimatedContract.d.ts';
3
3
  import type { CanvasKitReplayApi } from './nativeReplayContract.d.ts';
4
- import type { Canvas, CanvasKit, ImageFilter, Image, RuntimeEffect, Surface, SkPicture } from 'canvaskit-wasm';
4
+ import type { Canvas, FontCollection, Paragraph, CanvasKit, ImageFilter, Image, RuntimeEffect, Surface, SkPicture } from 'canvaskit-wasm';
5
5
  export interface CanvasKitSvgPaintApi {
6
6
  p18(): RuntimeEffect;
7
7
  p17(k1: number, k2: number, k3: number, k4: number, android: boolean, in1: ImageFilter | null, in2: ImageFilter | null): ImageFilter;
@@ -50,6 +50,7 @@ export interface CanvasKitGifApi {
50
50
  _peachSkottieGifDemand(json: string, assets?: Record<string, ArrayBuffer | Uint8Array>): number;
51
51
  }
52
52
  export interface CanvasKitTextDataApi {
53
+ _peachMakeParagraph(collection: FontCollection, pointer: number, length: number): Paragraph | null;
53
54
  HEAPU8: Uint8Array;
54
55
  _malloc(length: number): number;
55
56
  _free(pointer: number): void;
@@ -2,7 +2,7 @@ import { SF_PRO_FONT_URL } from './generated/sf-pro-font.d.ts';
2
2
  import type { DeviceSpec, RuntimePlatform } from '../../../../../src/device-catalog.ts';
3
3
  import type { CanvasKitRenderingApi } from './canvaskit-api.d.ts';
4
4
  import type { SootSimStyle } from './types.d.ts';
5
- import type { FontMgr, ParagraphBuilder, ParagraphStyle } from 'canvaskit-wasm';
5
+ import type { FontMgr, ParagraphStyle } from 'canvaskit-wasm';
6
6
  export declare const DEFAULT_FONT_FAMILY = "SF Pro";
7
7
  export declare const SF_PRO_VERTICAL_METRICS: {
8
8
  ascender: number;
@@ -105,7 +105,7 @@ export declare function noteTextSymbolRegistered(): void;
105
105
  export declare function registerEngineFontFamily(family: string): void;
106
106
  export declare function markSystemNamedFaceFamily(face: SystemNamedFace): void;
107
107
  export declare function registerLazySystemFontFamily(family: string): void;
108
- export declare function makeParagraphBuilder(ck: CanvasKitRenderingApi, style: ParagraphStyle, fontMgr: FontMgr): ParagraphBuilder;
108
+ export declare function makeParagraphBuilder(ck: CanvasKitRenderingApi, style: ParagraphStyle, fontMgr: FontMgr): import("./native-paragraph.d.ts").NativeParagraphBuilder;
109
109
  export declare function registerEngineAppFontFace(aliases: readonly string[], face: AppFontFaceStyle): void;
110
110
  export declare function isFontFamilyRegistered(family: string): boolean;
111
111
  export declare function getRegisteredFontFamilies(): string[];
@@ -18,6 +18,7 @@ export interface NativeLayoutExports {
18
18
  _peach_layout_freed_nodes(): number;
19
19
  _peach_layout_bind(slot: number, tag: number, observers: number, scale: number): void;
20
20
  _peach_layout_apply(slot: number): void;
21
+ _peach_layout_centered(slot: number, leading: number, trailing: number, margin: number, width: number, gap: number, ownerScale: number, leadingScale: number, trailingScale: number): void;
21
22
  _peach_layout_alignment(slot: number, alignmentAxis: number, alignmentGuide: number, alignmentFraction: number, alignmentScale: number): void;
22
23
  _peach_layout_attach(parent: number, child: number, index: number): void;
23
24
  _peach_layout_detach(parent: number, child: number): void;
@@ -0,0 +1,4 @@
1
+ import type { CanvasKitRenderingApi } from './canvaskit-api.d.ts';
2
+ import type { FontCollection, ParagraphBuilder, ParagraphStyle } from 'canvaskit-wasm';
3
+ export type NativeParagraphBuilder = Pick<ParagraphBuilder, 'addText' | 'pushStyle' | 'pop' | 'addPlaceholder' | 'build' | 'reset' | 'delete'>;
4
+ export declare function makeNativeParagraphBuilder(ck: CanvasKitRenderingApi, style: ParagraphStyle, collection: FontCollection): NativeParagraphBuilder;
@@ -1,5 +1,6 @@
1
1
  import type { DamageRect } from './damage-rect.d.ts';
2
2
  import type { TextGuides } from './text-first-baseline.d.ts';
3
+ import type { CenteredLayoutPlacement } from './types.d.ts';
3
4
  export { beginReadFrame, endReadFrame, readAnimatedValue, readPresentedAnimatedValue, } from './animated-value.d.ts';
4
5
  import type { NativeRenderer } from '../../../../../src/config.ts';
5
6
  import type { AndroidEdgeEffectState } from './android-stretch-effect.d.ts';
@@ -253,6 +254,7 @@ export declare class SootSimNode {
253
254
  _memberVersion: number;
254
255
  _memberOf: boolean;
255
256
  _hookPlacement: LayoutHookPlacement | null;
257
+ _centeredPlacement: CenteredLayoutPlacement | null;
256
258
  _onLayoutDispatchScheduled: boolean;
257
259
  private _classicLayoutAnimFrom;
258
260
  get _layoutAnimFrom(): SootSimLayout | null;
@@ -266,7 +266,7 @@ export interface SceneNativeBinding {
266
266
  _peach_frame_current_surface(): number;
267
267
  _peach_frame_watch(count: number): number;
268
268
  _peach_frame_scroll_drives(count: number): number;
269
- _peach_frame_scroll_drive(index: number, surface: number, slot: number, horizontal: number, start: number, period: number, displacement: number, rests: number, count: number): number;
269
+ _peach_frame_scroll_drive(index: number, surface: number, slot: number, horizontal: number, start: number, period: number, displacement: number, rests: number, layers: number, count: number): number;
270
270
  _peach_frame(hostMs: number, nowMs: number): number;
271
271
  peachFramePresent?: (mask: number, submitted: number) => number;
272
272
  readonly HEAPU8: Uint8Array;
@@ -10,6 +10,13 @@ import type { FrameDamage } from './render-damage.d.ts';
10
10
  import type { AttributedParagraphStyle } from './text-paragraphContract.d.ts';
11
11
  import type { NumericTextPaintRequest } from '../../../peach-globals/src/index.d.ts';
12
12
  import type { Surface, Canvas, FontMgr, Image as SkImage } from 'canvaskit-wasm';
13
+ export interface CenteredLayoutPlacement {
14
+ leading: unknown;
15
+ trailing: unknown;
16
+ margin: number;
17
+ width: number;
18
+ gap: number;
19
+ }
13
20
  export type Falsy = undefined | null | false;
14
21
  export type RecursiveArray<T> = Array<T | RecursiveArray<T>>;
15
22
  export type StyleProp<T> = T | RecursiveArray<T | Falsy> | Falsy;
@@ -1,5 +1,6 @@
1
1
  import { type LayoutHookPlacement, SootSimNode } from './node.d.ts';
2
2
  import { type TextGuides } from './text-first-baseline.d.ts';
3
+ import type { CenteredLayoutPlacement } from './types.d.ts';
3
4
  import type { SootSimStyle, SootSimLayout, SootSimTextLayoutLine, MeasureContext } from './types.d.ts';
4
5
  export declare function setLayoutEventDispatcher(dispatcher: ((callback: () => void) => void) | null): void;
5
6
  export interface TextInkBox {
@@ -57,6 +58,7 @@ export declare function setLayoutHook(target: unknown, hook: ((view: SootSimNode
57
58
  export declare function invalidateLayoutHook(target: unknown): void;
58
59
  export declare function placeFromLayoutHook(target: unknown, placement: LayoutHookPlacement | null): void;
59
60
  export declare function layoutHookFrame(target: unknown): SootSimLayout | null;
61
+ export declare function setCenteredLayout(target: unknown, placement: CenteredLayoutPlacement | null): void;
60
62
  export declare function releaseYogaRoot(root: SootSimNode): void;
61
63
  export declare function nestsInParkedYogaTree(root: SootSimNode, owner: SootSimNode): boolean;
62
64
  export declare function parkYogaRoot(root: SootSimNode): boolean;
@@ -1,5 +1,5 @@
1
1
  import type { RNXMetroFingerprintAtom, RNXMetroFingerprintRegistry } from '../../../../src/metro-fingerprint-registry.ts';
2
- import type { RNXMetroModulePathMap } from '../../../../src/metro-production-bundle.ts';
2
+ import type { RNXMetroBundleLayout, RNXMetroModulePathMap } from '../../../../src/metro-production-bundle.ts';
3
3
  export interface BlindMetroModuleFingerprint extends RNXMetroFingerprintAtom {
4
4
  moduleId: number;
5
5
  dependencies: Array<number | null>;
@@ -24,10 +24,11 @@ export declare function metroFingerprintDiscriminators(input: {
24
24
  }>;
25
25
  export declare function isHermesBytecodeHeader(header: Uint8Array): boolean;
26
26
  export declare function isHermesBytecodeText(source: string): boolean;
27
- export declare function fingerprintBlindMetroBundle(source: string): Promise<BlindMetroModuleFingerprint[]>;
27
+ export declare function fingerprintBlindMetroBundle(source: string, knownLayout?: RNXMetroBundleLayout): Promise<BlindMetroModuleFingerprint[]>;
28
28
  export declare function metroFingerprintModuleClaimRoute(packageName: string, modulePath: string): string;
29
29
  export declare function inferMetroModuleIdentity(args: {
30
30
  source: string;
31
31
  registry: RNXMetroFingerprintRegistry;
32
32
  registryIntegrity: string;
33
+ layout?: RNXMetroBundleLayout;
33
34
  }): Promise<InferredMetroModuleIdentity>;
@@ -0,0 +1,6 @@
1
+ export declare const PREVIEW_ROOM_PATH = "/__orez/room/";
2
+ export declare const PREVIEW_GUEST_ROOM_PROTOCOL = "contrast-preview-room.";
3
+ export type PreviewRoomGrant = {
4
+ token: string;
5
+ expiresAt: number;
6
+ };
@@ -1097,6 +1097,7 @@ export interface CompositorStats {
1097
1097
  viewTag: number;
1098
1098
  targetExists: boolean;
1099
1099
  dirty: boolean;
1100
+ state: readonly string[];
1100
1101
  slotCount: number;
1101
1102
  graphSlots: number;
1102
1103
  objectKeys: readonly string[] | null;
@@ -8,6 +8,7 @@ import type { ShellControlEvent } from '../engine/shell-owned-values.d.ts';
8
8
  import type { AuxShellActivity } from '../ios/aux-home-scene.d.ts';
9
9
  import type { NativePreviewBundle } from '../native-preview-bundle.d.ts';
10
10
  import type { PreviewBundleStripCapture } from '../preview/bundle-variantContract.d.ts';
11
+ import type { PreviewRoomGrant } from '../preview/preview-room-contract.d.ts';
11
12
  import type { RemoteEngineClientConfig } from '../remote-stream/client-config.d.ts';
12
13
  import type { DuoFoldWireState } from '../settings/duo-fold-bus.d.ts';
13
14
  import type { ReactNativeConfigurationMutation, ReactNativeConfigurationSnapshot } from '../settings/react-native-configuration.d.ts';
@@ -159,7 +160,7 @@ export type HostToWorker = {
159
160
  simScopeId?: string;
160
161
  secureItemDeviceDomain: import('../../../peach-globals/src/secure-item-store.d.ts').SecureItemDeviceDomain;
161
162
  appLoad: AppLoadRequest;
162
- rolldownInventory?: import('../rolldown-bundle-inventory.d.ts').RolldownInventoryReceipt;
163
+ bundleParse?: import('../bundle-parse-receipt.d.ts').BundleParseReceipt;
163
164
  localStorageEntries?: Array<[string, string]>;
164
165
  sessionStorageEntries?: Array<[string, string]>;
165
166
  prefersDark?: boolean;
@@ -394,6 +395,12 @@ export type HostToWorker = {
394
395
  ok: boolean;
395
396
  response?: SerializedAuthResponse;
396
397
  error?: string;
398
+ } | {
399
+ type: 'roomGrantResponse';
400
+ requestId: number;
401
+ ok: boolean;
402
+ grant?: PreviewRoomGrant;
403
+ error?: string;
397
404
  } | {
398
405
  type: 'a11ySync';
399
406
  enabled: boolean;
@@ -633,6 +640,11 @@ export type WorkerToHost = {
633
640
  routeKey: string;
634
641
  previewSessionId: string;
635
642
  } & SerializedAuthRequest) | {
643
+ type: 'roomGrantRequest';
644
+ requestId: number;
645
+ projectId: string;
646
+ routeKey: string;
647
+ } | {
636
648
  type: 'externalAppLifecycleResult';
637
649
  requestId: number;
638
650
  ok: boolean;
@@ -855,8 +867,8 @@ export type WorkerToHost = {
855
867
  type: 'bundleProgress';
856
868
  percent: number | null;
857
869
  } | {
858
- type: 'rolldownInventory';
859
- receipt: import('../rolldown-bundle-inventory.d.ts').RolldownInventoryReceipt;
870
+ type: 'bundleParse';
871
+ receipt: import('../bundle-parse-receipt.d.ts').BundleParseReceipt;
860
872
  } | ({
861
873
  type: 'shellScene';
862
874
  } & ShellScenePayload) | {
@@ -76,11 +76,6 @@ export interface LocalNameOffsets {
76
76
  ends: Int32Array;
77
77
  shorthand: Uint8Array;
78
78
  }
79
- export interface RolldownInventoryReceipt {
80
- key: string;
81
- inventory: RolldownBundleInventory;
82
- }
83
- export declare function carryRolldownBundleInventory(receipt: RolldownInventoryReceipt | null, report: (receipt: RolldownInventoryReceipt) => void): void;
84
79
  export declare function stripRolldownBundleInventoryFooter(source: string): string;
85
80
  export declare function hasRolldownInventoryMarkers(source: string, format?: TextBundleFormat): boolean;
86
81
  export declare function buildRolldownBundleInventory(source: string): Promise<RolldownBundleInventory>;
@@ -222,6 +222,7 @@ export interface SootSimEngineConfig {
222
222
  }) => void;
223
223
  invalidateLayoutHook: (view: unknown) => void;
224
224
  placeFromLayoutHook: (view: unknown, placement: LayoutHookPlacement | null) => void;
225
+ setCenteredLayout: (view: unknown, placement: SlotContainer['_centeredPlacement']) => void;
225
226
  layoutHookFrame: (view: unknown) => {
226
227
  x: number;
227
228
  y: number;
@@ -549,6 +550,7 @@ export interface NativeAlertsConfig {
549
550
  dismissActionSheet: (handle: number) => void;
550
551
  isWindowTintDimmed: () => boolean;
551
552
  subscribeWindowTintDimmed: (listener: () => void) => () => void;
553
+ dimWindowTint: () => () => void;
552
554
  }
553
555
  export interface NativeNotificationsConfig {
554
556
  push: (spec: {
@@ -3,4 +3,4 @@ export { bindReact } from './react-bridge.d.ts';
3
3
  export { POPOVER_ARROWS, POPOVER_ARROW_DEPTH, POPOVER_CORNER_RADIUS, placePopover, centerArrowlessPopover, popoverGlassArrow, popoverRegion, } from './ui/popover-placement.d.ts';
4
4
  export { KeyboardToolbarAccessoryContext, type KeyboardToolbarAccessory, } from './ui/keyboard-toolbar.d.ts';
5
5
  export { childControllerLayoutMargin, HostingSafeAreaContext, systemLayoutMargin, type HostingSafeAreaContainer, } from './ui/hosting-safe-area.d.ts';
6
- export { dimmedIOSTint } from './ios-tint.d.ts';
6
+ export { dimmedIOSTint, PresentedTintContext, useWindowTintDimmed } from './ios-tint.d.ts';
@@ -1 +1,3 @@
1
+ export declare const PresentedTintContext: import("react").Context<boolean>;
2
+ export declare function useWindowTintDimmed(): boolean;
1
3
  export declare function dimmedIOSTint(color: string): string;
package/kotlin/sdk.tar.gz CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peachsim",
3
- "version": "0.1.2224",
3
+ "version": "0.1.2228",
4
4
  "description": "Vite and Metro plugins, testing drivers, and SDK exports for peach.",
5
5
  "author": "Tamagui LLC",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -1 +1 @@
1
- {"abi":1,"sha256":"ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42","file":"node/cli-ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42.cjs"}
1
+ {"abi":1,"sha256":"286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa","file":"node/cli-286145bc3b2ca79a64228c88d8c2e088a592754d61b5855d0388974ee88863fa.cjs"}
@@ -32,12 +32,6 @@
32
32
  # define CGFLOAT_MIN DBL_MIN
33
33
  # define CGFLOAT_MAX DBL_MAX
34
34
  # define CGFLOAT_EPSILON DBL_EPSILON
35
- #elif defined(__wasm32__)
36
- # define CGFLOAT_TYPE double
37
- # define CGFLOAT_IS_DOUBLE 1
38
- # define CGFLOAT_MIN DBL_MIN
39
- # define CGFLOAT_MAX DBL_MAX
40
- # define CGFLOAT_EPSILON DBL_EPSILON
41
35
  #else
42
36
  # define CGFLOAT_TYPE float
43
37
  # define CGFLOAT_IS_DOUBLE 0
@@ -30,7 +30,7 @@ enum {
30
30
  ///
31
31
  /// > Important:
32
32
  /// > The Swift overlay to the Foundation framework provides the ``CharacterSet`` structure, which bridges to the ``NSCharacterSet`` class and its mutable subclass, ``NSMutableCharacterSet``. For more information about value types, see <doc://com.apple.documentation/documentation/swift/working-with-foundation-types>.
33
- @interface NSCharacterSet : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
33
+ PEACH_SWIFT_CLASS(Foundation) @interface NSCharacterSet : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
34
34
 
35
35
  /// A character set containing the characters in Unicode General Category Cc and Cf.
36
36
  ///
@@ -1061,7 +1061,7 @@ API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
1061
1061
  /// > Important:
1062
1062
  /// > The Swift overlay to the Foundation framework provides the ``URLComponents`` structure, which bridges to the ``NSURLComponents`` class. For more information about value types, see <doc://com.apple.documentation/documentation/swift/working-with-foundation-types>.
1063
1063
  API_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0))
1064
- @interface NSURLComponents : NSObject <NSCopying>
1064
+ PEACH_SWIFT_CLASS(Foundation) @interface NSURLComponents : NSObject <NSCopying>
1065
1065
 
1066
1066
  /// Creates a URL components object with all components left undefined.
1067
1067
  - (instancetype)init;
@@ -14,32 +14,6 @@
14
14
 
15
15
  NS_HEADER_AUDIT_BEGIN(nullability, sendability)
16
16
 
17
- typedef NS_OPTIONS(NSUInteger, UIControlEvents) {
18
- UIControlEventTouchDown = 1 << 0, // on all touch downs
19
- UIControlEventTouchDownRepeat = 1 << 1, // on multiple touchdowns (tap count > 1)
20
- UIControlEventTouchDragInside = 1 << 2,
21
- UIControlEventTouchDragOutside = 1 << 3,
22
- UIControlEventTouchDragEnter = 1 << 4,
23
- UIControlEventTouchDragExit = 1 << 5,
24
- UIControlEventTouchUpInside = 1 << 6,
25
- UIControlEventTouchUpOutside = 1 << 7,
26
- UIControlEventTouchCancel = 1 << 8,
27
-
28
- UIControlEventValueChanged = 1 << 12, // sliders, etc.
29
- UIControlEventPrimaryActionTriggered API_AVAILABLE(ios(9.0)) = 1 << 13, // semantic action: for buttons, etc.
30
- UIControlEventMenuActionTriggered API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos) = 1 << 14, // triggered when the menu gesture fires but before the menu presents
31
-
32
- UIControlEventEditingDidBegin = 1 << 16, // UITextField
33
- UIControlEventEditingChanged = 1 << 17,
34
- UIControlEventEditingDidEnd = 1 << 18,
35
- UIControlEventEditingDidEndOnExit = 1 << 19, // 'return key' ending editing
36
-
37
- UIControlEventAllTouchEvents = 0x00000FFF, // for touch events
38
- UIControlEventAllEditingEvents = 0x000F0000, // for UITextField
39
- UIControlEventApplicationReserved = 0x0F000000, // range available for application use
40
- UIControlEventSystemReserved = 0xF0000000, // range reserved for internal framework use
41
- UIControlEventAllEvents = 0xFFFFFFFF
42
- } API_UNAVAILABLE(watchos);
43
17
 
44
18
 
45
19
 
@@ -2391,6 +2391,33 @@ typedef NS_ENUM(NSInteger, UIScrollViewContentInsetAdjustmentBehavior) {
2391
2391
  UIScrollViewContentInsetAdjustmentAlways, // contentInset is always adjusted by the scroll view's safeAreaInsets
2392
2392
  } API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
2393
2393
 
2394
+ typedef NS_OPTIONS(NSUInteger, UIControlEvents) {
2395
+ UIControlEventTouchDown = 1 << 0, // on all touch downs
2396
+ UIControlEventTouchDownRepeat = 1 << 1, // on multiple touchdowns (tap count > 1)
2397
+ UIControlEventTouchDragInside = 1 << 2,
2398
+ UIControlEventTouchDragOutside = 1 << 3,
2399
+ UIControlEventTouchDragEnter = 1 << 4,
2400
+ UIControlEventTouchDragExit = 1 << 5,
2401
+ UIControlEventTouchUpInside = 1 << 6,
2402
+ UIControlEventTouchUpOutside = 1 << 7,
2403
+ UIControlEventTouchCancel = 1 << 8,
2404
+
2405
+ UIControlEventValueChanged = 1 << 12, // sliders, etc.
2406
+ UIControlEventPrimaryActionTriggered API_AVAILABLE(ios(9.0)) = 1 << 13, // semantic action: for buttons, etc.
2407
+ UIControlEventMenuActionTriggered API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos) = 1 << 14, // triggered when the menu gesture fires but before the menu presents
2408
+
2409
+ UIControlEventEditingDidBegin = 1 << 16, // UITextField
2410
+ UIControlEventEditingChanged = 1 << 17,
2411
+ UIControlEventEditingDidEnd = 1 << 18,
2412
+ UIControlEventEditingDidEndOnExit = 1 << 19, // 'return key' ending editing
2413
+
2414
+ UIControlEventAllTouchEvents = 0x00000FFF, // for touch events
2415
+ UIControlEventAllEditingEvents = 0x000F0000, // for UITextField
2416
+ UIControlEventApplicationReserved = 0x0F000000, // range available for application use
2417
+ UIControlEventSystemReserved = 0xF0000000, // range reserved for internal framework use
2418
+ UIControlEventAllEvents = 0xFFFFFFFF
2419
+ } API_UNAVAILABLE(watchos);
2420
+
2394
2421
  API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos, tvos)
2395
2422
  typedef NS_ENUM(NSInteger, UITextSearchMatchMethod) {
2396
2423
  /// Word contains search string.
@@ -518,12 +518,12 @@
518
518
  #define __API_UNAVAILABLE_BEGIN15(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15) __API_U_BEGIN(arg0) __API_U_BEGIN(arg1) __API_U_BEGIN(arg2) __API_U_BEGIN(arg3) __API_U_BEGIN(arg4) __API_U_BEGIN(arg5) __API_U_BEGIN(arg6) __API_U_BEGIN(arg7) __API_U_BEGIN(arg8) __API_U_BEGIN(arg9) __API_U_BEGIN(arg10) __API_U_BEGIN(arg11) __API_U_BEGIN(arg12) __API_U_BEGIN(arg13) __API_U_BEGIN(arg14) __API_U_BEGIN(arg15)
519
519
  #define __API_UNAVAILABLE_BEGIN_GET_MACRO_93585900(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,NAME,...) NAME
520
520
 
521
- /* peach: wasm32 models ios at its 27.1 deployment target, and clang and swift apply no
521
+ /* peach: wasm64 models ios at its 27.1 deployment target, and clang and swift apply no
522
522
  platform's availability attribute there. an ios or anyappleos unavailable declaration and
523
523
  an ios obsoleted one (every obsoleted version in the 27.1 sdk has passed) also take the
524
524
  platform-agnostic unavailable attribute, so they are refused as on ios. ranges keep the
525
525
  native form: #pragma clang attribute does not accept unavailable. */
526
- #if defined(__wasm32__)
526
+ #if defined(__wasm__)
527
527
  #define __API_WASM_SECOND(a, b, ...) b
528
528
  #define __API_WASM_IOS(...) __API_WASM_SECOND(__VA_ARGS__, , )
529
529
  #define __API_WASM_U_ios ~, unavailable