peachsim 0.1.2223 → 0.1.2224

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 (88) 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/attached-projects.cjs +1 -1
  4. package/dist-lib/auth/shared-session.cjs +1 -1
  5. package/dist-lib/backend-origin.cjs +1 -1
  6. package/dist-lib/beta.cjs +1 -1
  7. package/dist-lib/beta.mjs +1 -1
  8. package/dist-lib/bridge-constants.cjs +1 -1
  9. package/dist-lib/bridge-contract-input.cjs +1 -1
  10. package/dist-lib/bridge-contract-input.mjs +1 -1
  11. package/dist-lib/bridge-contract.cjs +1 -1
  12. package/dist-lib/bridge-contract.mjs +1 -1
  13. package/dist-lib/bundle-channel.cjs +20 -20
  14. package/dist-lib/capture-contract.cjs +1 -1
  15. package/dist-lib/capture-contract.mjs +1 -1
  16. package/dist-lib/cloud-contract.cjs +1 -1
  17. package/dist-lib/cloud-contract.mjs +1 -1
  18. package/dist-lib/cloud-test-args.cjs +1 -1
  19. package/dist-lib/cloud-test-args.mjs +1 -1
  20. package/dist-lib/cloud.cjs +1 -1
  21. package/dist-lib/cloud.mjs +1 -1
  22. package/dist-lib/config.cjs +1 -1
  23. package/dist-lib/config.mjs +1 -1
  24. package/dist-lib/detox/index.cjs +2 -2
  25. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  26. package/dist-lib/expo-swift-bundle.cjs +18 -18
  27. package/dist-lib/expo-swift-metadata.cjs +1 -1
  28. package/dist-lib/expo-swift-metadata.mjs +1 -1
  29. package/dist-lib/home-paths.cjs +1 -1
  30. package/dist-lib/host/bridge-host.cjs +20 -20
  31. package/dist-lib/host/fetch-proxy-handler.cjs +2 -2
  32. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  33. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  34. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  35. package/dist-lib/host/websocket-proxy.cjs +1 -1
  36. package/dist-lib/index.cjs +2 -2
  37. package/dist-lib/jump-to-source-babel.cjs +1 -1
  38. package/dist-lib/jump-to-source-native.cjs +1 -1
  39. package/dist-lib/kotlin-host.cjs +1 -1
  40. package/dist-lib/menu.cjs +1 -1
  41. package/dist-lib/menu.mjs +1 -1
  42. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  43. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  44. package/dist-lib/metro-production-bundle.cjs +1 -1
  45. package/dist-lib/metro-production-bundle.mjs +1 -1
  46. package/dist-lib/metro.cjs +2 -2
  47. package/dist-lib/native-app-identity-project.cjs +1 -1
  48. package/dist-lib/native-app-identity-project.mjs +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/pdfium-raster.cjs +1 -1
  54. package/dist-lib/pdfium-raster.mjs +1 -1
  55. package/dist-lib/plist.cjs +1 -1
  56. package/dist-lib/plist.mjs +1 -1
  57. package/dist-lib/profiles.cjs +1 -1
  58. package/dist-lib/public-brand.cjs +1 -1
  59. package/dist-lib/public-origins-lib-esm.json +24 -24
  60. package/dist-lib/public-origins-lib.json +53 -53
  61. package/dist-lib/react-native-host-modules.cjs +1 -1
  62. package/dist-lib/react-native-host-modules.mjs +1 -1
  63. package/dist-lib/reap-browser.cjs +1 -1
  64. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  65. package/dist-lib/sdk.cjs +1 -1
  66. package/dist-lib/sdk.mjs +1 -1
  67. package/dist-lib/skills.cjs +21 -20
  68. package/dist-lib/swift-compile.cjs +1 -1
  69. package/dist-lib/swift-compile.mjs +1 -1
  70. package/dist-lib/swift-package.cjs +1 -1
  71. package/dist-lib/swift-package.mjs +1 -1
  72. package/dist-lib/swift-submit.cjs +1 -1
  73. package/dist-lib/swift-submit.mjs +1 -1
  74. package/dist-lib/swift-toolchain.cjs +1 -1
  75. package/dist-lib/swift.cjs +1 -1
  76. package/dist-lib/vite-swift.cjs +17 -17
  77. package/dist-lib/vite.cjs +2 -2
  78. package/dist-lib/worklet-executable.cjs +1 -1
  79. package/dist-lib/worklet-executable.mjs +1 -1
  80. package/dist-types/packages/peach-engine/src/engine/glass-material.d.ts +4 -0
  81. package/dist-types/packages/peach-engine/src/engine/liquid-glass.d.ts +3 -6
  82. package/dist-types/packages/peach-engine/src/engine/types.d.ts +1 -0
  83. package/kotlin/sdk.tar.gz +0 -0
  84. package/package.json +1 -1
  85. package/runtime-companion.json +1 -1
  86. package/src/conformance-comparison-contract.ts +9 -9
  87. package/src/swift-host.ts +23 -26
  88. package/src/vite-plugin.ts +6 -1
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2223 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (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;
@@ -37825,6 +37825,21 @@ function compileInput(packagePath, entry) {
37825
37825
  () => snapshotCompileInput(packageSnapshot(project, entry))
37826
37826
  );
37827
37827
  }
37828
+ function swiftBuildRoot(packagePath, moduleRoot) {
37829
+ if (process.env.CONTRAST_SWIFT_BUILD_ROOT) return process.env.CONTRAST_SWIFT_BUILD_ROOT;
37830
+ const resolvedPath = import_node_path54.default.resolve(packagePath);
37831
+ const parts = resolvedPath.split(import_node_path54.default.sep);
37832
+ const scopedAt = Math.max(
37833
+ parts.lastIndexOf("peach-expo-swift"),
37834
+ parts.lastIndexOf("peach-nitro-swift")
37835
+ );
37836
+ const buildKeyPath = scopedAt >= 0 && parts.length >= scopedAt + 3 ? parts.slice(0, scopedAt + 2).join(import_node_path54.default.sep) : sourceEntries().get(resolvedPath) ?? resolvedPath;
37837
+ return import_node_path54.default.join(
37838
+ swiftCacheDir(),
37839
+ "swift-builds",
37840
+ (0, import_node_crypto29.createHash)("sha256").update(`${moduleRoot}\0${buildKeyPath}`).digest("hex").slice(0, 16)
37841
+ );
37842
+ }
37828
37843
  async function compile(packagePath, stamp, moduleRootOverride, hosted, snapshot, signal) {
37829
37844
  const resources = {
37830
37845
  table: snapshot.resources.table,
@@ -37884,22 +37899,7 @@ async function compile(packagePath, stamp, moduleRootOverride, hosted, snapshot,
37884
37899
  // building each other's sources. each app and module checkout still gets
37885
37900
  // its own root, so they do not queue and the same app keeps its
37886
37901
  // incremental build across restarts.
37887
- buildRoot: (() => {
37888
- if (process.env.CONTRAST_SWIFT_BUILD_ROOT)
37889
- return process.env.CONTRAST_SWIFT_BUILD_ROOT;
37890
- const resolvedPath = import_node_path54.default.resolve(packagePath);
37891
- const parts = resolvedPath.split(import_node_path54.default.sep);
37892
- const scopedAt = Math.max(
37893
- parts.lastIndexOf("peach-expo-swift"),
37894
- parts.lastIndexOf("peach-nitro-swift")
37895
- );
37896
- const buildKeyPath = scopedAt >= 0 && parts.length >= scopedAt + 3 ? parts.slice(0, scopedAt + 2).join(import_node_path54.default.sep) : sourceEntries().get(resolvedPath) ?? resolvedPath;
37897
- return import_node_path54.default.join(
37898
- swiftCacheDir(),
37899
- "swift-builds",
37900
- (0, import_node_crypto29.createHash)("sha256").update(`${moduleRoot}\0${buildKeyPath}`).digest("hex").slice(0, 16)
37901
- );
37902
- })(),
37902
+ buildRoot: swiftBuildRoot(packagePath, moduleRoot),
37903
37903
  moduleRoot,
37904
37904
  ...toolchain,
37905
37905
  signal
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2223 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (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;
@@ -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: "ec96dcaf1a90c0295f3ea5be7ec176c04c0714e27eda99ca6b2ba0a2e3394fd0", file: "node/cli-ec96dcaf1a90c0295f3ea5be7ec176c04c0714e27eda99ca6b2ba0a2e3394fd0.cjs" };
1075
+ runtime_companion_default = { abi: 1, sha256: "ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42", file: "node/cli-ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42.cjs" };
1076
1076
  }
1077
1077
  });
1078
1078
 
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2223 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (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.2223 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2224 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/worklet-executable.ts
4
4
  import { parse } from "acorn";
@@ -26,6 +26,10 @@ export interface GlassMotionScope {
26
26
  export interface GlassInteractionGlow {
27
27
  opacity: number;
28
28
  }
29
+ export interface GlassMaterialTint {
30
+ matrix: readonly number[];
31
+ opacity: number;
32
+ }
29
33
  export declare function glassMaterialOutset(style: GlassStyle, width: number, height: number, intensity?: number): number;
30
34
  export declare function glassMaterialDraws<Config extends {
31
35
  material?: GlassStyle;
@@ -1,4 +1,4 @@
1
- import { type GlassInteractionGlow, type GlassMotionScope, type GlassShapeArrow, type GlassShape, type GlassStyle } from './glass-material.d.ts';
1
+ import { type GlassInteractionGlow, type GlassMaterialTint, type GlassMotionScope, type GlassShapeArrow, type GlassShape, type GlassStyle } from './glass-material.d.ts';
2
2
  import { resolveAnimatedLiquidGlassRect } from './liquid-glass-rect.d.ts';
3
3
  import { type LiquidGlassType } from './liquid-glass-shaders.d.ts';
4
4
  import { type FrameDamage } from './render-damage.d.ts';
@@ -42,11 +42,8 @@ export interface LiquidGlassConfig {
42
42
  materialization?: number;
43
43
  materialReferenceSize?: number;
44
44
  keyboardIdiom?: 'phone' | 'pad';
45
- materialTint?: {
46
- gain: number;
47
- bias: number;
48
- opacity: number;
49
- };
45
+ materialTint?: GlassMaterialTint;
46
+ materialTintDark?: GlassMaterialTint;
50
47
  type?: LiquidGlassType;
51
48
  colorScheme?: LiquidGlassColorScheme;
52
49
  backdropSource?: 'tenant';
@@ -453,6 +453,7 @@ export interface SootSimStyle {
453
453
  _textBackingRaster?: true;
454
454
  _fieldLine?: boolean;
455
455
  _swiftUIWidthProposal?: number;
456
+ _swiftUIHeightProposal?: number;
456
457
  _minimumScaleFactor?: number;
457
458
  _hyphenationLocale?: string;
458
459
  _hyphenationFactor?: number;
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.2223",
3
+ "version": "0.1.2224",
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":"ec96dcaf1a90c0295f3ea5be7ec176c04c0714e27eda99ca6b2ba0a2e3394fd0","file":"node/cli-ec96dcaf1a90c0295f3ea5be7ec176c04c0714e27eda99ca6b2ba0a2e3394fd0.cjs"}
1
+ {"abi":1,"sha256":"ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42","file":"node/cli-ef38a3e8be87c77f4035640cf265efa9aff735577a2de14feb63c8a09afabd42.cjs"}
@@ -121,15 +121,6 @@ export function outsideDisplayPixels(
121
121
  height: number,
122
122
  ): Uint8Array | null {
123
123
  const count = width * height
124
- let anyTransparent = false
125
- for (let i = 0; i < count; i++) {
126
- if (candidate[i * 4 + 3] !== 255) {
127
- anyTransparent = true
128
- break
129
- }
130
- }
131
- if (!anyTransparent) return null
132
-
133
124
  // a compared frame is the physical framebuffer or a one-pixel common-area
134
125
  // crop of it (commonAreaSize), so the lookup probes the crop back up.
135
126
  const spec =
@@ -168,6 +159,15 @@ export function outsideDisplayPixels(
168
159
  return null
169
160
  }
170
161
 
162
+ let anyTransparent = false
163
+ for (let i = 0; i < count; i++) {
164
+ if (candidate[i * 4 + 3] !== 255) {
165
+ anyTransparent = true
166
+ break
167
+ }
168
+ }
169
+ if (!anyTransparent) return null
170
+
171
171
  const outside = new Uint8Array(count)
172
172
  const corners = [
173
173
  { x0: 0, y0: 0, cx: radiiPx.topLeft, cy: radiiPx.topLeft, r: radiiPx.topLeft },
package/src/swift-host.ts CHANGED
@@ -2812,6 +2812,28 @@ export function compileInput(
2812
2812
  )
2813
2813
  }
2814
2814
 
2815
+ export function swiftBuildRoot(packagePath: string, moduleRoot: string): string {
2816
+ if (process.env.CONTRAST_SWIFT_BUILD_ROOT) return process.env.CONTRAST_SWIFT_BUILD_ROOT
2817
+ const resolvedPath = path.resolve(packagePath)
2818
+ const parts = resolvedPath.split(path.sep)
2819
+ const scopedAt = Math.max(
2820
+ parts.lastIndexOf('peach-expo-swift'),
2821
+ parts.lastIndexOf('peach-nitro-swift'),
2822
+ )
2823
+ const buildKeyPath =
2824
+ scopedAt >= 0 && parts.length >= scopedAt + 3
2825
+ ? parts.slice(0, scopedAt + 2).join(path.sep)
2826
+ : (sourceEntries().get(resolvedPath) ?? resolvedPath)
2827
+ return path.join(
2828
+ swiftCacheDir(),
2829
+ 'swift-builds',
2830
+ createHash('sha256')
2831
+ .update(`${moduleRoot}\0${buildKeyPath}`)
2832
+ .digest('hex')
2833
+ .slice(0, 16),
2834
+ )
2835
+ }
2836
+
2815
2837
  // the compile input of an installed workspace with the binary frameworks its
2816
2838
  // pods and project vendor, read from one layout.
2817
2839
  export function installedWorkspaceInput(
@@ -2922,32 +2944,7 @@ async function compile(
2922
2944
  // building each other's sources. each app and module checkout still gets
2923
2945
  // its own root, so they do not queue and the same app keeps its
2924
2946
  // incremental build across restarts.
2925
- buildRoot: (() => {
2926
- if (process.env.CONTRAST_SWIFT_BUILD_ROOT)
2927
- return process.env.CONTRAST_SWIFT_BUILD_ROOT
2928
- const resolvedPath = path.resolve(packagePath)
2929
- // units of one app or nitro module share a root so the module cache stays
2930
- // warm across server restarts: peach-expo-swift/<app>/<scope>/<package>
2931
- // and peach-nitro-swift/<module>/<scope> share <app> or <module>.
2932
- // servers on one app or module queue on the root lock.
2933
- const parts = resolvedPath.split(path.sep)
2934
- const scopedAt = Math.max(
2935
- parts.lastIndexOf('peach-expo-swift'),
2936
- parts.lastIndexOf('peach-nitro-swift'),
2937
- )
2938
- const buildKeyPath =
2939
- scopedAt >= 0 && parts.length >= scopedAt + 3
2940
- ? parts.slice(0, scopedAt + 2).join(path.sep)
2941
- : (sourceEntries().get(resolvedPath) ?? resolvedPath)
2942
- return path.join(
2943
- swiftCacheDir(),
2944
- 'swift-builds',
2945
- createHash('sha256')
2946
- .update(`${moduleRoot}\0${buildKeyPath}`)
2947
- .digest('hex')
2948
- .slice(0, 16),
2949
- )
2950
- })(),
2947
+ buildRoot: swiftBuildRoot(packagePath, moduleRoot),
2951
2948
  moduleRoot,
2952
2949
  ...toolchain,
2953
2950
  signal,
@@ -839,11 +839,16 @@ export function hostBootChunkPlugin(): Plugin {
839
839
  }
840
840
  },
841
841
  outputOptions(options) {
842
+ const chunkFileNames = options.chunkFileNames ?? 'assets/[name]-[hash].js'
842
843
  return {
843
844
  ...options,
844
845
  // host resource urls are relative to the runtime root.
845
846
  chunkFileNames: (chunk) =>
846
- chunk.name === 'host-home' ? 'host-home-[hash].js' : 'assets/[name]-[hash].js',
847
+ chunk.name === 'host-home'
848
+ ? 'host-home-[hash].js'
849
+ : typeof chunkFileNames === 'function'
850
+ ? chunkFileNames(chunk)
851
+ : chunkFileNames,
847
852
  strictExecutionOrder: true,
848
853
  codeSplitting: {
849
854
  groups: [