peachsim 0.1.897 → 0.1.899

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 (84) hide show
  1. package/dist-lib/agent-daemon-client.cjs +1 -1
  2. package/dist-lib/agent-events.cjs +1 -1
  3. package/dist-lib/agent-identity.cjs +1 -1
  4. package/dist-lib/agent-sessions.cjs +1 -1
  5. package/dist-lib/attached-projects.cjs +1 -1
  6. package/dist-lib/auth/shared-session.cjs +1 -1
  7. package/dist-lib/backend-origin.cjs +1 -1
  8. package/dist-lib/beta.cjs +1 -1
  9. package/dist-lib/beta.mjs +1 -1
  10. package/dist-lib/bridge-constants.cjs +1 -1
  11. package/dist-lib/bridge-contract-input.cjs +1 -1
  12. package/dist-lib/bridge-contract-input.mjs +1 -1
  13. package/dist-lib/bridge-contract.cjs +1 -1
  14. package/dist-lib/bridge-contract.mjs +1 -1
  15. package/dist-lib/bundle-channel.cjs +1 -1
  16. package/dist-lib/capture-contract.cjs +1 -1
  17. package/dist-lib/capture-contract.mjs +1 -1
  18. package/dist-lib/cli-constants.cjs +1 -1
  19. package/dist-lib/cloud-contract.cjs +1 -1
  20. package/dist-lib/cloud-contract.mjs +1 -1
  21. package/dist-lib/cloud-test-args.cjs +1 -1
  22. package/dist-lib/cloud-test-args.mjs +1 -1
  23. package/dist-lib/cloud.cjs +1 -1
  24. package/dist-lib/cloud.mjs +1 -1
  25. package/dist-lib/config.cjs +1 -1
  26. package/dist-lib/detox/index.cjs +1 -1
  27. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  28. package/dist-lib/expo-swift-bundle.cjs +1 -1
  29. package/dist-lib/expo-swift-metadata.cjs +1 -1
  30. package/dist-lib/expo-swift-metadata.mjs +1 -1
  31. package/dist-lib/home-paths.cjs +1 -1
  32. package/dist-lib/host/bridge-host.cjs +1 -1
  33. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  34. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  35. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  36. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  37. package/dist-lib/host/websocket-proxy.cjs +1 -1
  38. package/dist-lib/index.cjs +1 -1
  39. package/dist-lib/jump-to-source-babel.cjs +1 -1
  40. package/dist-lib/jump-to-source-native.cjs +1 -1
  41. package/dist-lib/kotlin-host.cjs +1 -1
  42. package/dist-lib/menu.cjs +5 -4
  43. package/dist-lib/menu.mjs +5 -4
  44. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  45. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  46. package/dist-lib/metro-production-bundle.cjs +1 -1
  47. package/dist-lib/metro-production-bundle.mjs +1 -1
  48. package/dist-lib/metro.cjs +1 -1
  49. package/dist-lib/native-app-identity.cjs +1 -1
  50. package/dist-lib/native-app-identity.mjs +1 -1
  51. package/dist-lib/native-firebase-metadata.cjs +1 -1
  52. package/dist-lib/native-firebase-metadata.mjs +1 -1
  53. package/dist-lib/plist.cjs +1 -1
  54. package/dist-lib/plist.mjs +1 -1
  55. package/dist-lib/profiles.cjs +1 -1
  56. package/dist-lib/public-brand.cjs +1 -1
  57. package/dist-lib/react-native-host-modules.cjs +1 -1
  58. package/dist-lib/react-native-host-modules.mjs +1 -1
  59. package/dist-lib/render-mode.cjs +1 -1
  60. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  61. package/dist-lib/sdk.cjs +1 -1
  62. package/dist-lib/sdk.mjs +1 -1
  63. package/dist-lib/skills.cjs +9 -6
  64. package/dist-lib/swift-compile.cjs +1 -1
  65. package/dist-lib/swift-compile.mjs +1 -1
  66. package/dist-lib/swift-package.cjs +1 -1
  67. package/dist-lib/swift-package.mjs +1 -1
  68. package/dist-lib/swift-submit.cjs +1 -1
  69. package/dist-lib/swift-submit.mjs +1 -1
  70. package/dist-lib/swift-toolchain.cjs +1 -1
  71. package/dist-lib/swift.cjs +1 -1
  72. package/dist-lib/vite-swift.cjs +1 -1
  73. package/dist-lib/vite.cjs +1 -1
  74. package/dist-lib/worklet-executable.cjs +1 -1
  75. package/dist-lib/worklet-executable.mjs +1 -1
  76. package/kotlin/fork/NOTICE +6 -1
  77. package/kotlin/fork/README.md +8 -3
  78. package/kotlin/fork/build.sh +24 -0
  79. package/kotlin/fork/fork.json +6 -2
  80. package/kotlin/fork/skia-android-shaping.patch +16 -1
  81. package/kotlin/fork/skiko-worker-clock.patch +27 -5
  82. package/kotlin/toolchain.json +3 -3
  83. package/package.json +1 -1
  84. package/src/menu.ts +10 -3
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
package/dist-lib/beta.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
package/dist-lib/beta.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/beta.ts
4
4
  var IS_BETA = true;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var SIM_LONG_PRESS_MAX_MS = 5e3;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var REFUSED_PERFORM_STEP_TYPES = [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/capture-contract.ts
4
4
  var RNX_SCREEN_CAPTURE_VERSION = 1;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/cloud-contract.ts
4
4
  var RNX_CLOUD_MAX_ARTIFACT_BYTES = 20 * 1024 * 1024;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/cloud-test-args.ts
4
4
  var CLOUD_TEST_ARGS_MAX_COUNT = 32;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/expoSwiftContract.ts
4
4
  function record(value) {
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/host/fetch-proxy-overrides.ts
4
4
  var FETCH_PROXY_NATIVE_USER_AGENT_HEADER = "x-sootsim-native-user-agent";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
package/dist-lib/menu.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -89,15 +89,16 @@ var SOOTSIM_RENDER_RESOLUTION_LABELS = {
89
89
  medium: "Medium",
90
90
  low: "Low"
91
91
  };
92
- var SOOTSIM_SCREEN_EFFECTS = ["none", "wireframe", "blueprint", "panel"];
92
+ var SOOTSIM_SCREEN_EFFECTS = ["none", "wireframe", "blueprint", "panel", "green"];
93
93
  function isSootSimScreenEffect(value) {
94
- return value === "none" || value === "wireframe" || value === "blueprint" || value === "panel";
94
+ return value === "none" || value === "wireframe" || value === "blueprint" || value === "panel" || value === "green";
95
95
  }
96
96
  var SOOTSIM_SCREEN_EFFECT_LABELS = {
97
97
  none: "None",
98
98
  wireframe: "Wireframe",
99
99
  blueprint: "Blueprint",
100
- panel: "Panel"
100
+ panel: "Panel",
101
+ green: "Green"
101
102
  };
102
103
  function buildSootSimMenuDefs(state, deviceChoices) {
103
104
  return [
package/dist-lib/menu.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/public-brand.ts
4
4
  var name = "Peach";
@@ -42,15 +42,16 @@ var SOOTSIM_RENDER_RESOLUTION_LABELS = {
42
42
  medium: "Medium",
43
43
  low: "Low"
44
44
  };
45
- var SOOTSIM_SCREEN_EFFECTS = ["none", "wireframe", "blueprint", "panel"];
45
+ var SOOTSIM_SCREEN_EFFECTS = ["none", "wireframe", "blueprint", "panel", "green"];
46
46
  function isSootSimScreenEffect(value) {
47
- return value === "none" || value === "wireframe" || value === "blueprint" || value === "panel";
47
+ return value === "none" || value === "wireframe" || value === "blueprint" || value === "panel" || value === "green";
48
48
  }
49
49
  var SOOTSIM_SCREEN_EFFECT_LABELS = {
50
50
  none: "None",
51
51
  wireframe: "Wireframe",
52
52
  blueprint: "Blueprint",
53
- panel: "Panel"
53
+ panel: "Panel",
54
+ green: "Green"
54
55
  };
55
56
  function buildSootSimMenuDefs(state, deviceChoices) {
56
57
  return [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/is-record.ts
4
4
  function isRecord(value) {
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/metro-production-bundle.ts
4
4
  var RNXSIM_METRO_MODULE_PATHS_PREFIX = "globalThis.__sootsimModulePaths=";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/native-app-identity.ts
4
4
  var NATIVE_APP_IDENTITY_PREFIX = "globalThis.__sootsimNativeAppIdentity=";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/native-firebase-metadata.ts
4
4
  var PREFIX = "globalThis.__peachNativeFirebaseConfig=";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/plist.ts
4
4
  import plist from "plist";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/react-native-host-modules.ts
4
4
  var REACT_NATIVE_PASSTHROUGH_SPECIFIERS = [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
package/dist-lib/sdk.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
package/dist-lib/sdk.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -4992,6 +4992,8 @@ var init_supported_native_packages = __esm({
4992
4992
  // coverage
4993
4993
  "react-native-launch-arguments",
4994
4994
  // coverage
4995
+ "react-native-legal",
4996
+ // seam
4995
4997
  "react-native-linear-gradient",
4996
4998
  // seam+coverage
4997
4999
  "react-native-linkedin-login",
@@ -7562,8 +7564,8 @@ var init_registry = __esm({
7562
7564
  range: ">=4.0.0",
7563
7565
  coverage: 0.93,
7564
7566
  note: "native-seam only \u2014 the real 5.x Slider, StepMarker overlay, limits and defaults run from the bundle over the RNCSlider component view (engine canvas slider). drag values clamp to lower/upper limits and report through the platform event (onRNCSliderValueChange on iOS, onChange with fromUser on android); inverted mirrors like the native scaleX(-1) transform. vertical is a matched no-op (unread by iOS and android upstream).",
7565
- working: "real upstream Slider JS from the bundle, value, minimumValue, maximumValue, step, onValueChange, onSlidingStart, onSlidingComplete, disabled (including accessibilityState derivation), inverted, minimumTrackTintColor, maximumTrackTintColor, thumbTintColor, lowerLimit, upperLimit, testID, StepMarker, renderStepNumber",
7566
- missing: "thumbImage / minimumTrackImage / maximumTrackImage / trackImage / thumbSize custom visuals, tapToSeek tap-vs-ignore switch (the engine control has one tap behaviour), VoiceOver directional step rounding"
7567
+ working: "real upstream Slider JS from the bundle, value, minimumValue, maximumValue, step, onValueChange, onSlidingStart, onSlidingComplete, disabled (including accessibilityState derivation), inverted, minimumTrackTintColor, maximumTrackTintColor, thumbTintColor, lowerLimit, upperLimit, tapToSeek on iOS, testID, StepMarker, renderStepNumber",
7568
+ missing: "thumbImage / minimumTrackImage / maximumTrackImage / trackImage / thumbSize custom visuals, VoiceOver directional step rounding"
7567
7569
  }
7568
7570
  ]
7569
7571
  },
@@ -11991,9 +11993,10 @@ var init_registry = __esm({
11991
11993
  versions: [
11992
11994
  {
11993
11995
  range: ">=1.0.0",
11994
- coverage: 0,
11995
- note: "the reference iOS simulator performs this package's behavior. Peach currently provides only this unsupported shape: launchLicenseList accepted; addLicense / setLibraryName accepted. imports and API shape receive no behavior credit",
11996
- missing: "no native UI; consumers should render licenses themselves on web"
11996
+ coverage: 0.75,
11997
+ note: "published ReactNativeLegal.js runs unchanged against a ReactNativeLegalModule seam that mirrors the native no-generated-data regime per platform",
11998
+ working: "getLibrariesAsync resolves {} on ios and rejects with the missing-resource error on android; launchLicenseListScreen is a no-op on ios, matching native without the LicensePlist bundle",
11999
+ missing: "generated-data regime (LicensePlist plist, aboutlibraries json); android launch activity path unverified"
11997
12000
  }
11998
12001
  ]
11999
12002
  },
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/swift-compile.ts
4
4
  import { execFile as execFile2, execFileSync } from "node:child_process";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/swift-package.ts
4
4
  function isSwiftManifestFile(file) {
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/swift-submit.ts
4
4
  var SWIFT_COMPILE_PATH = "/api/swift-compile";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.897 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.899 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/worklet-executable.ts
4
4
  import { parse } from "acorn";
@@ -1,7 +1,7 @@
1
1
  Peach's patched builds of JetBrains Compose Multiplatform UI and Skiko
2
2
 
3
3
  This directory records modified Compose and Skiko builds under Apache License
4
- 2.0 (LICENSE), and modified Skia shaping and paragraph units under BSD-3-Clause (SKIA_LICENSE).
4
+ 2.0 (LICENSE), and modified Skia shaping, paragraph and raster units under BSD-3-Clause (SKIA_LICENSE).
5
5
 
6
6
  - JetBrains/compose-multiplatform-core at tag v1.13.0-alpha01
7
7
  (commit a9e47e8aa04c95cfe572ab4297c770f3cbfb234e), a fork of the Android
@@ -41,3 +41,8 @@ non-subpixel, non-linear shaping. The original run font retains its painting
41
41
  size and metrics. Run.cpp uses Android inter-glyph spacing and caret boundaries. TextLine.cpp
42
42
  trims line edges, and TextWrapper.cpp applies the same trimming before fitting
43
43
  a line. These modified Skia units compile into the Skiko Wasm runtime.
44
+
45
+ The FreeType patch preserves explicit forced autohinting and disables implicit
46
+ autohinting, matching Android. The Wasm compiler uses Android text gamma 1.4
47
+ and contrast 0; the pinned surface and FreeType units replace their archive
48
+ counterparts. FreeType headers come from the same dependency revision as Skia.
@@ -16,6 +16,7 @@ Android behavior for the approved web differences and static text shaping below.
16
16
  | Compose `ui-skiko` | `SkiaBackedPaint.nonAndroid.kt` | initial Miter join agrees with the backing paint and Android |
17
17
  | Compose `ui-skiko` | `SkikoText.nonAndroid.kt`, `SkikoParagraphBuilder.nonAndroid.kt` | Android static advances and letter-spacing scale; Animated text retains fractional shaping |
18
18
  | Skia shaper | `SkShaper_harfbuzz.cpp` | measurement-font copy truncates static shaping size; the painted run font retains the requested size |
19
+ | Skia raster | `SkFontHost_FreeType.cpp`, `SkFontHost_FreeType_common.cpp`, `SkSurface.cpp` | Android implicit autohinting policy and text gamma 1.4, contrast 0 |
19
20
  | Skia paragraph | `Run.cpp`, `TextLine.cpp`, `TextWrapper.cpp` | Android inter-glyph spacing, caret boundaries and edge trimming before line fits |
20
21
  | Compose `material3` | `PlatformDateFormat.web.kt` | timestamp formatting uses UTC, as Android does |
21
22
  | Navigation `navigation-compose` | `DefaultNavTransitions.web.kt` | Android forward fades and predictive pop defaults |
@@ -32,10 +33,12 @@ this contract.
32
33
  `fork.json` pins repositories, commits, patch hashes, JDK and Android tools.
33
34
  Every changed upstream file carries a modification notice. `LICENSE` and
34
35
  `NOTICE` travel with the patches. `SKIA_LICENSE` records the modified Skia units’ BSD license. `build.sh` builds the changed KLIBs and Skiko
35
- runtime jar with the upstream Gradle builds on the Linux builder. The Skia shaping and paragraph
36
+ runtime jar with the upstream Gradle builds on the Linux builder. The Skia shaping, paragraph and raster
36
37
  units are fetched at their pinned commit, patched, and compiled into Skiko; the linker
37
38
  uses them instead of the same units in the pinned Skia archive. All other Skia
38
- objects retain their upstream build. This adds no allocation beyond the existing
39
+ objects retain their upstream build. FreeType headers match the pinned Skia DEPS revision;
40
+ the FreeType binary remains the archive version. Raster changes add no allocation
41
+ and retain the existing A8 preblend path. This adds no allocation beyond the existing
39
42
  measurement-font copy, and truncates once per shaped font, outside the glyph loop.
40
43
  Paragraph spacing adds constant arithmetic per glyph or cluster; line fits trim
41
44
  the same edge half-spaces as completed lines, without allocation.
@@ -70,6 +73,8 @@ upstream issue names these hooks and the full guest regression vehicle.
70
73
  The static shaping correction is measured against the original `textwidth`
71
74
  fixture. The six original widths, twelve spacing assertions and the 162/164 px
72
75
  wrapping threshold pass their paired Android controls. The body Range probe
73
- retains its existing 0.00098 px difference. Pixel residuals, mixed-font bold
76
+ retains its existing 0.00098 px difference. The original plain Month raster rows pass the strict 16/255 comparison in
77
+ the actual Kotlin app; the old frame fails the retained raster check. Other
78
+ pixel residuals, mixed-font bold
74
79
  advances, the primary caret at a style boundary and Animated whole-width rounding
75
80
  remain open in the lane plan. These corrections do not certify full text parity.
@@ -129,6 +129,30 @@ rsync -a --include='*/' --include='*.h' --exclude='*' "${SOURCE}/src/" "${SKIKO_
129
129
  cp "${SOURCE}/modules/skparagraph/src/Run.cpp" "${SKIKO_SOURCE}/skiko/src/nativeJsMain/cpp/AndroidParagraphRun.cpp"
130
130
  cp "${SOURCE}/modules/skparagraph/src/TextLine.cpp" "${SKIKO_SOURCE}/skiko/src/nativeJsMain/cpp/AndroidParagraphTextLine.cpp"
131
131
  cp "${SOURCE}/modules/skparagraph/src/TextWrapper.cpp" "${SKIKO_SOURCE}/skiko/src/nativeJsMain/cpp/AndroidParagraphTextWrapper.cpp"
132
+ # the raster units use the same freetype headers as the pinned skia archive.
133
+ FREETYPE_SOURCE=${ROOT}/src/freetype
134
+ FREETYPE_REPOSITORY=$(field 'f.toolchain.freetypeHeaders.repository')
135
+ FREETYPE_COMMIT=$(field 'f.toolchain.freetypeHeaders.commit')
136
+ if ! grep -Fq "${FREETYPE_REPOSITORY}@${FREETYPE_COMMIT}" "${SOURCE}/DEPS"; then
137
+ echo "freetype headers differ from the pinned skia dependency" >&2
138
+ exit 2
139
+ fi
140
+ if [[ ! -d "${FREETYPE_SOURCE}/.git" ]]; then
141
+ git init -q "${FREETYPE_SOURCE}"
142
+ git -C "${FREETYPE_SOURCE}" remote add origin "${FREETYPE_REPOSITORY}"
143
+ fi
144
+ if ! git -C "${FREETYPE_SOURCE}" cat-file -e "${FREETYPE_COMMIT}^{commit}" 2>/dev/null; then
145
+ git -C "${FREETYPE_SOURCE}" fetch -q --depth 1 origin "${FREETYPE_COMMIT}"
146
+ fi
147
+ git -C "${FREETYPE_SOURCE}" checkout -q -f --detach "${FREETYPE_COMMIT}"
148
+ if [[ $(git -C "${FREETYPE_SOURCE}" rev-parse HEAD) != "${FREETYPE_COMMIT}" ]]; then
149
+ echo "freetype headers are not at ${FREETYPE_COMMIT}" >&2
150
+ exit 2
151
+ fi
152
+ rsync -a --delete "${FREETYPE_SOURCE}/include/" "${SKIKO_SOURCE}/skiko/src/nativeJsMain/cpp/freetype/"
153
+ cp "${SOURCE}/src/ports/SkFontHost_FreeType.cpp" "${SKIKO_SOURCE}/skiko/src/nativeJsMain/cpp/AndroidFreeType.cpp"
154
+ cp "${SOURCE}/src/ports/SkFontHost_FreeType_common.cpp" "${SKIKO_SOURCE}/skiko/src/nativeJsMain/cpp/AndroidFreeTypeCommon.cpp"
155
+ cp "${SOURCE}/src/image/SkSurface.cpp" "${SKIKO_SOURCE}/skiko/src/nativeJsMain/cpp/AndroidSurface.cpp"
132
156
  (
133
157
  cd "${SKIKO_SOURCE}/skiko"
134
158
  gradle -Pdeploy.version=0.152.0-alpha02 -Pdeploy.release=true \
@@ -8,6 +8,10 @@
8
8
  "androidCommandLineTools": {
9
9
  "url": "https://dl.google.com/android/repository/commandlinetools-linux-16111833_latest.zip",
10
10
  "sha256": "0877a1d048fe4a24efe2eff536ca4223f7adeb58648bb81909d33c446918cfa8"
11
+ },
12
+ "freetypeHeaders": {
13
+ "repository": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
14
+ "commit": "264b5fbf5b912b39f98d038bf75d39be0a73f21b"
11
15
  }
12
16
  },
13
17
  "upstreams": [
@@ -27,7 +31,7 @@
27
31
  "tag": "v0.152.0-alpha02",
28
32
  "commit": "96378296bb23c23c5f30cd2b0d42d6f8fdeff730",
29
33
  "patch": "skiko-worker-clock.patch",
30
- "patchSha256": "735a42f7a9d3be1ab288f4d67bef44924ec2b6bbcd59f5a5f76edf22f912c347"
34
+ "patchSha256": "44b38c49b9f8d860573ec43d54d7ce74c0ad36da59100ec482b46953d9d6ef81"
31
35
  },
32
36
  {
33
37
  "name": "skia",
@@ -36,7 +40,7 @@
36
40
  "tag": "m152-2ca5fe6a81",
37
41
  "commit": "2ca5fe6a8170e2f55f519d9de083be4dccc06e70",
38
42
  "patch": "skia-android-shaping.patch",
39
- "patchSha256": "4e453826e54c1fcaf0e164b5e2ff121399c4316b18653911e1d6b51df840f100"
43
+ "patchSha256": "b6293707ff832c77fa6016d7d1e469b7e3d24e31b7af7d70cdfb5ee1bc68ba7f"
40
44
  }
41
45
  ]
42
46
  }
@@ -102,7 +102,7 @@ diff --git a/modules/skparagraph/src/TextLine.cpp b/modules/skparagraph/src/Text
102
102
  +++ b/modules/skparagraph/src/TextWrapper.cpp
103
103
  @@ -58,12 +58,19 @@
104
104
  fClip.startFrom(fEndLine.startCluster(), fEndLine.startPos());
105
-
105
+
106
106
  LineBreakerWithLittleRounding breaker(maxWidth, applyRoundingHack);
107
107
  + // modified for the Android host: fit the same trimmed edges as TextLine.
108
108
  + const auto lineWidth = [endOfClusters](SkScalar width, const Cluster* first, const Cluster* last) {
@@ -142,3 +142,18 @@ diff --git a/modules/skparagraph/src/TextLine.cpp b/modules/skparagraph/src/Text
142
142
  if (nextWordLength > maxWidth) {
143
143
  if (nextNonBreakingSpace != nullptr) {
144
144
  // We only get here if the non-breaking space improves our situation
145
+ diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
146
+ --- a/src/ports/SkFontHost_FreeType.cpp
147
+ +++ b/src/ports/SkFontHost_FreeType.cpp
148
+ @@ -990,10 +990,9 @@
149
+
150
+ if (fRec.fFlags & SkScalerContext::kForceAutohinting_Flag) {
151
+ loadFlags |= FT_LOAD_FORCE_AUTOHINT;
152
+ -#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
153
+ } else {
154
+ + // modified for the android host: disable implicit autohinting.
155
+ loadFlags |= FT_LOAD_NO_AUTOHINT;
156
+ -#endif
157
+ }
158
+
159
+ if ((fRec.fFlags & SkScalerContext::kEmbeddedBitmapText_Flag) == 0) {
@@ -9,27 +9,27 @@ index 366ed37..d56c267 100644
9
9
  +// the patch and upstream revision.
10
10
  +
11
11
  package org.jetbrains.skiko
12
-
12
+
13
13
  import org.w3c.dom.HTMLElement
14
14
  @@ -5,7 +10,7 @@ import org.w3c.dom.HTMLElement
15
15
  internal actual inline fun <R> maybeSynchronized(lock: Any, block: () -> R): R =
16
16
  block()
17
-
17
+
18
18
  -actual fun currentNanoTime(): Long = currentNanoTimeWindowPerformance().toLong()
19
19
  +actual fun currentNanoTime(): Long = currentNanoTimePerformance().toLong()
20
-
20
+
21
21
  internal actual fun loadOpenGLLibrary() {
22
22
  // Nothing to do here
23
23
  @@ -15,8 +20,8 @@ internal actual fun loadAngleLibrary() {
24
24
  // Nothing to do here
25
25
  }
26
-
26
+
27
27
  -private fun currentNanoTimeWindowPerformance() : Double =
28
28
  +private fun currentNanoTimePerformance() : Double =
29
29
  //language=JavaScript
30
30
  - js("window.performance.now() * 1000000")
31
31
  + js("globalThis.performance.now() * 1000000")
32
-
32
+
33
33
  annotation class WebImport(val name : String)
34
34
  diff --git a/skiko/buildSrc/src/main/kotlin/OptimizeSkikoWasmTask.kt b/skiko/buildSrc/src/main/kotlin/OptimizeSkikoWasmTask.kt
35
35
  --- a/skiko/buildSrc/src/main/kotlin/OptimizeSkikoWasmTask.kt
@@ -69,3 +69,25 @@ diff --git a/skiko/src/webMain/kotlin/org/jetbrains/skiko/OsArch.web.kt b/skiko/
69
69
  -
70
70
  +
71
71
  actual val hostArch: Arch = Arch.Unknown
72
+ diff --git a/skiko/buildSrc/src/main/kotlin/tasks/configuration/WasmTasksConfiguration.kt b/skiko/buildSrc/src/main/kotlin/tasks/configuration/WasmTasksConfiguration.kt
73
+ --- a/skiko/buildSrc/src/main/kotlin/tasks/configuration/WasmTasksConfiguration.kt
74
+ +++ b/skiko/buildSrc/src/main/kotlin/tasks/configuration/WasmTasksConfiguration.kt
75
+ @@ -95,6 +95,7 @@
76
+
77
+ includeHeadersNonRecursive(project.projectDir.resolve("src/nativeJsMain/cpp"))
78
+ includeHeadersNonRecursive(project.projectDir.resolve("src/webMain/cpp"))
79
+ + includeHeadersNonRecursive(project.projectDir.resolve("src/nativeJsMain/cpp/freetype"))
80
+ includeHeadersNonRecursive(project.projectDir.resolve("src/commonMain/cpp/common/include"))
81
+ if (isSideModule) {
82
+ val coreProjectDir = project.rootProject.projectDir
83
+ @@ -106,6 +107,10 @@
84
+ flags.set(
85
+ buildList {
86
+ addAll(skiaPreprocessorFlags(OS.Wasm, buildType))
87
+ + // modified for the android host: use its text surface defaults.
88
+ + add("-USK_GAMMA_SRGB")
89
+ + add("-DSK_GAMMA_EXPONENT=1.4")
90
+ + add("-DSK_GAMMA_CONTRAST=0.0")
91
+ addAll(buildType.clangFlags)
92
+ add("-fno-rtti")
93
+ add("-fno-exceptions")
@@ -325,9 +325,9 @@
325
325
  "skiko": "0.152.0-alpha02"
326
326
  },
327
327
  "composeRuntime": {
328
- "name": "skiko-wasm-0.152.0-alpha02-peach-8b1b394f5d3b.jar",
329
- "url": "https://r2.rnxsim.com/peach-kotlin-fork/8b1b394f5d3b3ac096c966de34855cf90625b8c0322f39d18cdfc619f21816e8/skiko-wasm-0.152.0-alpha02.jar",
330
- "sha256": "8b1b394f5d3b3ac096c966de34855cf90625b8c0322f39d18cdfc619f21816e8"
328
+ "name": "skiko-wasm-0.152.0-alpha02-peach-bf4a72712ff0.jar",
329
+ "url": "https://r2.rnxsim.com/peach-kotlin-fork/bf4a72712ff0ab67c5a5d28e058f6743497545392b593111a212e95b7435a339/skiko-wasm-0.152.0-alpha02.jar",
330
+ "sha256": "bf4a72712ff0ab67c5a5d28e058f6743497545392b593111a212e95b7435a339"
331
331
  },
332
332
  "composeJsLibraries": [
333
333
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peachsim",
3
- "version": "0.1.897",
3
+ "version": "0.1.899",
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",
package/src/menu.ts CHANGED
@@ -70,11 +70,17 @@ export const SOOTSIM_RENDER_RESOLUTION_LABELS: Record<SootSimRenderResolution, s
70
70
  // screen effect: the real rendering, or one of the presentation looks the
71
71
  // engine's wireframe store draws. 'wireframe' is the clean structural sketch;
72
72
  // the others are its screen-space styles that ship as named effects.
73
- export type SootSimScreenEffect = 'none' | 'wireframe' | 'blueprint' | 'panel'
74
- export const SOOTSIM_SCREEN_EFFECTS = ['none', 'wireframe', 'blueprint', 'panel'] as const
73
+ export type SootSimScreenEffect = 'none' | 'wireframe' | 'blueprint' | 'panel' | 'green'
74
+ export const SOOTSIM_SCREEN_EFFECTS = ['none', 'wireframe', 'blueprint', 'panel', 'green'] as const
75
75
 
76
76
  export function isSootSimScreenEffect(value: unknown): value is SootSimScreenEffect {
77
- return value === 'none' || value === 'wireframe' || value === 'blueprint' || value === 'panel'
77
+ return (
78
+ value === 'none' ||
79
+ value === 'wireframe' ||
80
+ value === 'blueprint' ||
81
+ value === 'panel' ||
82
+ value === 'green'
83
+ )
78
84
  }
79
85
 
80
86
  export const SOOTSIM_SCREEN_EFFECT_LABELS: Record<SootSimScreenEffect, string> = {
@@ -82,6 +88,7 @@ export const SOOTSIM_SCREEN_EFFECT_LABELS: Record<SootSimScreenEffect, string> =
82
88
  wireframe: 'Wireframe',
83
89
  blueprint: 'Blueprint',
84
90
  panel: 'Panel',
91
+ green: 'Green',
85
92
  }
86
93
 
87
94
  export type SootSimMenuItemDef =