peachsim 0.1.2221 → 0.1.2222
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.
- package/cli/commands/compat.ts +4 -4
- package/cli/commands/report-issue.ts +1 -1
- package/cli/runtime-compat.ts +7 -2
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/attached-projects.cjs +1 -1
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/bridge-contract-input.cjs +1 -1
- package/dist-lib/bridge-contract-input.mjs +1 -1
- package/dist-lib/bridge-contract.cjs +1 -1
- package/dist-lib/bridge-contract.mjs +1 -1
- package/dist-lib/bundle-channel.cjs +438 -362
- package/dist-lib/capture-contract.cjs +1 -1
- package/dist-lib/capture-contract.mjs +1 -1
- package/dist-lib/cloud-contract.cjs +1 -1
- package/dist-lib/cloud-contract.mjs +1 -1
- package/dist-lib/cloud-test-args.cjs +1 -1
- package/dist-lib/cloud-test-args.mjs +1 -1
- package/dist-lib/cloud.cjs +1 -1
- package/dist-lib/cloud.mjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/config.mjs +1 -1
- package/dist-lib/detox/index.cjs +3 -2
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/expo-swift-bundle.cjs +435 -360
- package/dist-lib/expo-swift-metadata.cjs +1 -1
- package/dist-lib/expo-swift-metadata.mjs +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +658 -555
- package/dist-lib/host/fetch-proxy-handler.cjs +10 -7
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/replacement-module-handler.cjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +8232 -7815
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/kotlin-host.cjs +1 -1
- package/dist-lib/menu.cjs +1 -1
- package/dist-lib/menu.mjs +1 -1
- package/dist-lib/metro-fingerprint-registry.cjs +1 -1
- package/dist-lib/metro-fingerprint-registry.mjs +1 -1
- package/dist-lib/metro-production-bundle.cjs +1 -1
- package/dist-lib/metro-production-bundle.mjs +1 -1
- package/dist-lib/metro.cjs +8146 -7737
- package/dist-lib/native-app-identity-project.cjs +331 -13
- package/dist-lib/native-app-identity-project.mjs +331 -13
- package/dist-lib/native-app-identity.cjs +16 -3
- package/dist-lib/native-app-identity.mjs +16 -3
- package/dist-lib/native-firebase-metadata.cjs +1 -1
- package/dist-lib/native-firebase-metadata.mjs +1 -1
- package/dist-lib/pdfium-raster.cjs +1 -1
- package/dist-lib/pdfium-raster.mjs +1 -1
- package/dist-lib/plist.cjs +1 -1
- package/dist-lib/plist.mjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/public-origins-lib-esm.json +25 -24
- package/dist-lib/public-origins-lib.json +99 -96
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/reap-browser.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +495 -401
- package/dist-lib/swift-compile.cjs +47 -30
- package/dist-lib/swift-compile.mjs +47 -30
- package/dist-lib/swift-package.cjs +1 -1
- package/dist-lib/swift-package.mjs +1 -1
- package/dist-lib/swift-submit.cjs +1 -1
- package/dist-lib/swift-submit.mjs +1 -1
- package/dist-lib/swift-toolchain.cjs +1 -1
- package/dist-lib/swift.cjs +1 -1
- package/dist-lib/vite-swift.cjs +121 -50
- package/dist-lib/vite.cjs +2930 -2800
- package/dist-lib/worklet-executable.cjs +1 -1
- package/dist-lib/worklet-executable.mjs +1 -1
- package/dist-types/packages/peach-engine/src/cli-companion.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/cli-host-terser.d.ts +7 -0
- package/dist-types/packages/peach-engine/src/engine/glass-material.d.ts +1 -1
- package/dist-types/packages/peach-engine/src/engine/liquid-glass.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/engine/native-layout.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/engine/node.d.ts +5 -0
- package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +8 -1
- package/dist-types/packages/peach-engine/src/engine/types.d.ts +3 -0
- package/dist-types/packages/peach-engine/src/engine/yoga-layout.d.ts +1 -1
- package/dist-types/packages/peach-engine/src/remote-stream/cloud-display.d.ts +2 -2
- package/dist-types/packages/peach-engine/src/render-worker/shell-tree-wire.d.ts +1 -2
- package/dist-types/packages/peach-kit/src/internal.d.ts +1 -0
- package/dist-types/packages/peach-kit/src/ios-tint.d.ts +1 -0
- package/dist-types/packages/peach-kit/src/transitions/screen-transition-math.d.ts +25 -0
- package/kotlin/sdk.tar.gz +0 -0
- package/package.json +1 -1
- package/runtime-companion.json +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNAnimation.h +4 -4
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNCameraController.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNConstraint.h +5 -5
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNGeometry.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNLevelOfDetail.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNParametricGeometry.h +9 -9
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNParticleSystem.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNPhysicsBehavior.h +7 -7
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNRenderer.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNShadable.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNTechnique.h +1 -1
- package/src/cli-runtime.ts +1 -0
- package/src/expo-native-workspace.ts +14 -10
- package/src/expo-workspace-exclusion.ts +10 -7
- package/src/react-native-autolinking.ts +2 -1
- package/src/runtime-delivery.ts +7 -0
- package/src/swift-compile.ts +47 -31
- package/src/swift-coverage/xcode-assets.ts +4 -2
- package/src/swift-host.ts +53 -14
- package/src/wasm-optimize.ts +5 -1
- package/src/xcode-project.ts +26 -5
- package/src/xcode-target-members.ts +25 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2222 | (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;
|
|
@@ -10254,7 +10254,8 @@ var FEATURES = [
|
|
|
10254
10254
|
"reference-types",
|
|
10255
10255
|
"sign-ext"
|
|
10256
10256
|
];
|
|
10257
|
-
var
|
|
10257
|
+
var KEEP_WASM_NAMES = process.env.PEACH_SWIFT_NAMES === "1";
|
|
10258
|
+
var WASM_OPTIMIZE_IDENTITY = `wasm-opt ${import_wasm_opt.BINARYEN_VERSION} -Oz ${FEATURES.join(",")}${KEEP_WASM_NAMES ? " -g" : ""}`;
|
|
10258
10259
|
var PINNED_BINARYEN_VERSION = "132";
|
|
10259
10260
|
var BINARYEN_RELEASES = /* @__PURE__ */ new Map([
|
|
10260
10261
|
[
|
|
@@ -10290,6 +10291,7 @@ async function runWasmOpt(file, output, skipPasses, binary) {
|
|
|
10290
10291
|
const result = await (0, import_wasm_opt.wasmOpt)(
|
|
10291
10292
|
[
|
|
10292
10293
|
"-Oz",
|
|
10294
|
+
...KEEP_WASM_NAMES ? ["-g"] : [],
|
|
10293
10295
|
...skipPasses.flatMap((pass) => ["--skip-pass", pass]),
|
|
10294
10296
|
...FEATURES.map((feature) => `--enable-${feature}`),
|
|
10295
10297
|
file,
|
|
@@ -12068,7 +12070,8 @@ var OPTIONAL_FRAMEWORK_DEPENDENCIES = {
|
|
|
12068
12070
|
PeachCFNetwork: [],
|
|
12069
12071
|
JavaScriptCore: ["PeachJavaScriptCore"],
|
|
12070
12072
|
PeachJavaScriptCore: [],
|
|
12071
|
-
GameplayKit
|
|
12073
|
+
// GameplayKit names SpriteKit and SceneKit nodes, as on iOS
|
|
12074
|
+
GameplayKit: ["SpriteKit", "SceneKit", "PeachBox2D", "simd", "GLKit"],
|
|
12072
12075
|
simd: [],
|
|
12073
12076
|
ModelIO: ["simd"],
|
|
12074
12077
|
GLKit: ["ModelIO"],
|
|
@@ -12579,10 +12582,21 @@ function swiftTargetDependencies(files, targets, frameworks = OPTIONAL_FRAMEWORK
|
|
|
12579
12582
|
return siblings;
|
|
12580
12583
|
}
|
|
12581
12584
|
var ONE_PRODUCT = '.product(name: "One", package: "sootsim-swift")';
|
|
12582
|
-
var
|
|
12583
|
-
var
|
|
12584
|
-
|
|
12585
|
-
)
|
|
12585
|
+
var GAME_FAMILY = ["SpriteKit", "SceneKit"];
|
|
12586
|
+
var gameProducts = (files) => {
|
|
12587
|
+
const imported = new Set(
|
|
12588
|
+
Object.entries(files).flatMap(
|
|
12589
|
+
([file, contents]) => file.endsWith(".swift") ? swiftImportNames(contents) : []
|
|
12590
|
+
)
|
|
12591
|
+
);
|
|
12592
|
+
if (imported.has("SceneKit")) return [...GAME_FAMILY];
|
|
12593
|
+
return imported.has("SpriteKit") ? ["SpriteKit"] : [];
|
|
12594
|
+
};
|
|
12595
|
+
var gameProduct = (name2) => `.product(name: "${name2}", package: "sootsim-swift")`;
|
|
12596
|
+
var GAME_REACH = {
|
|
12597
|
+
SpriteKit: ["SpriteKit", "PeachBox2D", "simd", "GLKit"],
|
|
12598
|
+
SceneKit: ["SceneKit"]
|
|
12599
|
+
};
|
|
12586
12600
|
var FOUNDATION_IMPLICIT_MODULES = [
|
|
12587
12601
|
"PeachObjC",
|
|
12588
12602
|
"Dispatch",
|
|
@@ -12609,7 +12623,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
|
|
|
12609
12623
|
var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
|
|
12610
12624
|
var MULTI_MANIFEST_VERSION = 68;
|
|
12611
12625
|
var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
|
|
12612
|
-
var compilerSourceDigest = true ? "
|
|
12626
|
+
var compilerSourceDigest = true ? "eba60b7a2e9485f928a6ec2e544e10d84b2b33430be66b9e069c9797a927af86" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
|
|
12613
12627
|
function swiftArtifactHash(input, release, moduleRoot) {
|
|
12614
12628
|
const hash = (0, import_node_crypto13.createHash)("sha256");
|
|
12615
12629
|
hash.update(`swift-compile
|
|
@@ -12617,6 +12631,7 @@ ${release}
|
|
|
12617
12631
|
`);
|
|
12618
12632
|
hash.update(compilerSourceDigest);
|
|
12619
12633
|
if (input.oneModule) hash.update("one-module\n");
|
|
12634
|
+
if (KEEP_WASM_NAMES) hash.update("names\n");
|
|
12620
12635
|
hash.update(swiftModuleDigest(moduleRoot));
|
|
12621
12636
|
if (input.optimize) hash.update(`optimize
|
|
12622
12637
|
${WASM_OPTIMIZE_IDENTITY}
|
|
@@ -12731,7 +12746,14 @@ function toolsetOrdersLibcxxBeforeDarwinOverlay(options) {
|
|
|
12731
12746
|
return libcxx >= 0 && overlay > libcxx;
|
|
12732
12747
|
}
|
|
12733
12748
|
function emitSwiftPackageManifest(args) {
|
|
12734
|
-
const {
|
|
12749
|
+
const {
|
|
12750
|
+
targets,
|
|
12751
|
+
siblings,
|
|
12752
|
+
moduleRoot,
|
|
12753
|
+
oneModule,
|
|
12754
|
+
gameProducts: gameProducts2 = [],
|
|
12755
|
+
distribution
|
|
12756
|
+
} = args;
|
|
12735
12757
|
const prebuilt = args.prebuilt;
|
|
12736
12758
|
const linkedObjects = Boolean(distribution || prebuilt);
|
|
12737
12759
|
const cxxFlagsFor = (flags) => args.deferDarwinOverlay ? withoutWasmOverlayIsystem(flags) : flags;
|
|
@@ -12760,9 +12782,8 @@ function emitSwiftPackageManifest(args) {
|
|
|
12760
12782
|
for (const name2 of [...siblings.values()].flat())
|
|
12761
12783
|
if (OPTIONAL_FRAMEWORKS.has(name2) && !targets.some((target) => target.name === name2))
|
|
12762
12784
|
reach(name2);
|
|
12763
|
-
|
|
12764
|
-
for (const name2 of [
|
|
12765
|
-
}
|
|
12785
|
+
for (const product of gameProducts2)
|
|
12786
|
+
for (const name2 of GAME_REACH[product] ?? []) reach(name2);
|
|
12766
12787
|
let distributionLinkPath;
|
|
12767
12788
|
const distributionLink = args.distributionLink;
|
|
12768
12789
|
if (distribution && distributionLink) {
|
|
@@ -12785,7 +12806,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12785
12806
|
(object3) => !isProvider(object3) && !replacedObjects.has(object3)
|
|
12786
12807
|
);
|
|
12787
12808
|
const objects = available.filter(
|
|
12788
|
-
(object3) => !targets.some((target) => object3.startsWith(`lib/${target.name}-`)) && [...OPTIONAL_FRAMEWORKS,
|
|
12809
|
+
(object3) => !targets.some((target) => object3.startsWith(`lib/${target.name}-`)) && [...OPTIONAL_FRAMEWORKS, ...GAME_FAMILY, "PeachBox2D"].every(
|
|
12789
12810
|
(name2) => !object3.startsWith(`lib/${name2}-`) || reachedFrameworks.has(name2)
|
|
12790
12811
|
)
|
|
12791
12812
|
);
|
|
@@ -12948,7 +12969,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12948
12969
|
...linkedObjects || clang && !target.executable ? [] : [
|
|
12949
12970
|
'.product(name: "SwiftUI", package: "sootsim-swift")',
|
|
12950
12971
|
...oneModule ? [ONE_PRODUCT] : [],
|
|
12951
|
-
...
|
|
12972
|
+
...gameProducts2.map(gameProduct)
|
|
12952
12973
|
],
|
|
12953
12974
|
...(siblings.get(target.name) ?? []).flatMap(
|
|
12954
12975
|
(dependency) => clang && // textual native headers can include one another without imposing
|
|
@@ -12980,7 +13001,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12980
13001
|
.unsafeFlags(${flagArray(`[
|
|
12981
13002
|
${REACTOR_FLAG}${executableLinkFlags(args.root)} "-Xlinker", "--export-if-defined=__main_argc_argv"${library},
|
|
12982
13003
|
]`)}),
|
|
12983
|
-
.unsafeFlags(["-Xlinker", "--strip-all"], .when(configuration: .release)),
|
|
13004
|
+
${KEEP_WASM_NAMES ? "" : '.unsafeFlags(["-Xlinker", "--strip-all"], .when(configuration: .release)),'}
|
|
12984
13005
|
]` : librarySettings.length > 0 ? `,
|
|
12985
13006
|
linkerSettings: [${librarySettings.join(", ")}]` : "";
|
|
12986
13007
|
const cDefines = macroSettings(target.cDefines);
|
|
@@ -13585,8 +13606,6 @@ var FOUNDATION_OVERLAY_GLOBALS = /* @__PURE__ */ new Set([
|
|
|
13585
13606
|
"NSURLProtectionSpaceHTTPS",
|
|
13586
13607
|
"NSURLProtectionSpaceHTTPSProxy",
|
|
13587
13608
|
"NSURLProtectionSpaceSOCKSProxy",
|
|
13588
|
-
"NSURLSessionDownloadTaskResumeData",
|
|
13589
|
-
"NSURLSessionTransferSizeUnknown",
|
|
13590
13609
|
"NSURLSessionUploadTaskResumeData",
|
|
13591
13610
|
"NSUTF16BigEndianStringEncoding",
|
|
13592
13611
|
"NSUTF16LittleEndianStringEncoding",
|
|
@@ -15591,14 +15610,17 @@ module ${moduleName}.Swift {
|
|
|
15591
15610
|
manifest = manifest.replace(product, `${product}
|
|
15592
15611
|
${ONE_PRODUCT},`).replace(flags, `${flags}${ONE_IMPLICIT_FLAGS}`);
|
|
15593
15612
|
}
|
|
15594
|
-
|
|
15613
|
+
const games = gameProducts(input.files);
|
|
15614
|
+
if (games.length > 0) {
|
|
15595
15615
|
const anchor = '.product(name: "CoreLocation", package: "sootsim-swift"),';
|
|
15596
15616
|
if (!manifest.includes(anchor))
|
|
15597
15617
|
throw new Error(
|
|
15598
|
-
"scripts/contrast-app-Package.swift lost the line the
|
|
15618
|
+
"scripts/contrast-app-Package.swift lost the line the game products link at"
|
|
15599
15619
|
);
|
|
15600
|
-
manifest = manifest.replace(
|
|
15601
|
-
|
|
15620
|
+
manifest = manifest.replace(
|
|
15621
|
+
anchor,
|
|
15622
|
+
[anchor, ...games.map((name2) => `${gameProduct(name2)},`)].join("\n ")
|
|
15623
|
+
);
|
|
15602
15624
|
}
|
|
15603
15625
|
files.set(import_node_path27.default.join(layout2.root, "Package.swift"), manifest + moduleFiles);
|
|
15604
15626
|
} else {
|
|
@@ -15713,7 +15735,7 @@ module ${moduleName}.Swift {
|
|
|
15713
15735
|
siblings: moduleSiblings,
|
|
15714
15736
|
moduleRoot,
|
|
15715
15737
|
oneModule: input.oneModule,
|
|
15716
|
-
|
|
15738
|
+
gameProducts: gameProducts(input.files),
|
|
15717
15739
|
distribution: distribution ?? void 0,
|
|
15718
15740
|
moduleExcludes,
|
|
15719
15741
|
deferDarwinOverlay: native.size > 0 && toolsetOrdersLibcxxBeforeDarwinOverlay(
|
|
@@ -16120,14 +16142,9 @@ function linkedFrameworkTargets(moduleRoot, input) {
|
|
|
16120
16142
|
))
|
|
16121
16143
|
reach(match[1]);
|
|
16122
16144
|
}
|
|
16123
|
-
|
|
16124
|
-
|
|
16125
|
-
const wanted = [
|
|
16126
|
-
"PeachApp",
|
|
16127
|
-
...input.oneModule ? ["One"] : [],
|
|
16128
|
-
...importsSpriteKit(input.files) ? ["SpriteKit"] : [],
|
|
16129
|
-
...reached
|
|
16130
|
-
];
|
|
16145
|
+
const games = gameProducts(input.files);
|
|
16146
|
+
for (const product of games) for (const name2 of GAME_REACH[product] ?? []) reach(name2);
|
|
16147
|
+
const wanted = ["PeachApp", ...input.oneModule ? ["One"] : [], ...games, ...reached];
|
|
16131
16148
|
const linked = [...new Set(wanted)].filter((name2) => libraries.has(name2));
|
|
16132
16149
|
if (!linked.includes("PeachApp"))
|
|
16133
16150
|
throw new Error("swift-compile: the framework package declares no PeachApp library");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2222 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
|
|
3
3
|
// src/swift-compile.ts
|
|
4
4
|
import {
|
|
@@ -10209,7 +10209,8 @@ var FEATURES = [
|
|
|
10209
10209
|
"reference-types",
|
|
10210
10210
|
"sign-ext"
|
|
10211
10211
|
];
|
|
10212
|
-
var
|
|
10212
|
+
var KEEP_WASM_NAMES = process.env.PEACH_SWIFT_NAMES === "1";
|
|
10213
|
+
var WASM_OPTIMIZE_IDENTITY = `wasm-opt ${BINARYEN_VERSION} -Oz ${FEATURES.join(",")}${KEEP_WASM_NAMES ? " -g" : ""}`;
|
|
10213
10214
|
var PINNED_BINARYEN_VERSION = "132";
|
|
10214
10215
|
var BINARYEN_RELEASES = /* @__PURE__ */ new Map([
|
|
10215
10216
|
[
|
|
@@ -10245,6 +10246,7 @@ async function runWasmOpt(file, output, skipPasses, binary) {
|
|
|
10245
10246
|
const result = await wasmOpt(
|
|
10246
10247
|
[
|
|
10247
10248
|
"-Oz",
|
|
10249
|
+
...KEEP_WASM_NAMES ? ["-g"] : [],
|
|
10248
10250
|
...skipPasses.flatMap((pass) => ["--skip-pass", pass]),
|
|
10249
10251
|
...FEATURES.map((feature) => `--enable-${feature}`),
|
|
10250
10252
|
file,
|
|
@@ -12047,7 +12049,8 @@ var OPTIONAL_FRAMEWORK_DEPENDENCIES = {
|
|
|
12047
12049
|
PeachCFNetwork: [],
|
|
12048
12050
|
JavaScriptCore: ["PeachJavaScriptCore"],
|
|
12049
12051
|
PeachJavaScriptCore: [],
|
|
12050
|
-
GameplayKit
|
|
12052
|
+
// GameplayKit names SpriteKit and SceneKit nodes, as on iOS
|
|
12053
|
+
GameplayKit: ["SpriteKit", "SceneKit", "PeachBox2D", "simd", "GLKit"],
|
|
12051
12054
|
simd: [],
|
|
12052
12055
|
ModelIO: ["simd"],
|
|
12053
12056
|
GLKit: ["ModelIO"],
|
|
@@ -12558,10 +12561,21 @@ function swiftTargetDependencies(files, targets, frameworks = OPTIONAL_FRAMEWORK
|
|
|
12558
12561
|
return siblings;
|
|
12559
12562
|
}
|
|
12560
12563
|
var ONE_PRODUCT = '.product(name: "One", package: "sootsim-swift")';
|
|
12561
|
-
var
|
|
12562
|
-
var
|
|
12563
|
-
|
|
12564
|
-
)
|
|
12564
|
+
var GAME_FAMILY = ["SpriteKit", "SceneKit"];
|
|
12565
|
+
var gameProducts = (files) => {
|
|
12566
|
+
const imported = new Set(
|
|
12567
|
+
Object.entries(files).flatMap(
|
|
12568
|
+
([file, contents]) => file.endsWith(".swift") ? swiftImportNames(contents) : []
|
|
12569
|
+
)
|
|
12570
|
+
);
|
|
12571
|
+
if (imported.has("SceneKit")) return [...GAME_FAMILY];
|
|
12572
|
+
return imported.has("SpriteKit") ? ["SpriteKit"] : [];
|
|
12573
|
+
};
|
|
12574
|
+
var gameProduct = (name2) => `.product(name: "${name2}", package: "sootsim-swift")`;
|
|
12575
|
+
var GAME_REACH = {
|
|
12576
|
+
SpriteKit: ["SpriteKit", "PeachBox2D", "simd", "GLKit"],
|
|
12577
|
+
SceneKit: ["SceneKit"]
|
|
12578
|
+
};
|
|
12565
12579
|
var FOUNDATION_IMPLICIT_MODULES = [
|
|
12566
12580
|
"PeachObjC",
|
|
12567
12581
|
"Dispatch",
|
|
@@ -12588,7 +12602,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
|
|
|
12588
12602
|
var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
|
|
12589
12603
|
var MULTI_MANIFEST_VERSION = 68;
|
|
12590
12604
|
var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
|
|
12591
|
-
var compilerSourceDigest = true ? "
|
|
12605
|
+
var compilerSourceDigest = true ? "eba60b7a2e9485f928a6ec2e544e10d84b2b33430be66b9e069c9797a927af86" : swiftCompilerSourceDigest(import.meta.dirname);
|
|
12592
12606
|
function swiftArtifactHash(input, release, moduleRoot) {
|
|
12593
12607
|
const hash = createHash13("sha256");
|
|
12594
12608
|
hash.update(`swift-compile
|
|
@@ -12596,6 +12610,7 @@ ${release}
|
|
|
12596
12610
|
`);
|
|
12597
12611
|
hash.update(compilerSourceDigest);
|
|
12598
12612
|
if (input.oneModule) hash.update("one-module\n");
|
|
12613
|
+
if (KEEP_WASM_NAMES) hash.update("names\n");
|
|
12599
12614
|
hash.update(swiftModuleDigest(moduleRoot));
|
|
12600
12615
|
if (input.optimize) hash.update(`optimize
|
|
12601
12616
|
${WASM_OPTIMIZE_IDENTITY}
|
|
@@ -12710,7 +12725,14 @@ function toolsetOrdersLibcxxBeforeDarwinOverlay(options) {
|
|
|
12710
12725
|
return libcxx >= 0 && overlay > libcxx;
|
|
12711
12726
|
}
|
|
12712
12727
|
function emitSwiftPackageManifest(args) {
|
|
12713
|
-
const {
|
|
12728
|
+
const {
|
|
12729
|
+
targets,
|
|
12730
|
+
siblings,
|
|
12731
|
+
moduleRoot,
|
|
12732
|
+
oneModule,
|
|
12733
|
+
gameProducts: gameProducts2 = [],
|
|
12734
|
+
distribution
|
|
12735
|
+
} = args;
|
|
12714
12736
|
const prebuilt = args.prebuilt;
|
|
12715
12737
|
const linkedObjects = Boolean(distribution || prebuilt);
|
|
12716
12738
|
const cxxFlagsFor = (flags) => args.deferDarwinOverlay ? withoutWasmOverlayIsystem(flags) : flags;
|
|
@@ -12739,9 +12761,8 @@ function emitSwiftPackageManifest(args) {
|
|
|
12739
12761
|
for (const name2 of [...siblings.values()].flat())
|
|
12740
12762
|
if (OPTIONAL_FRAMEWORKS.has(name2) && !targets.some((target) => target.name === name2))
|
|
12741
12763
|
reach(name2);
|
|
12742
|
-
|
|
12743
|
-
for (const name2 of [
|
|
12744
|
-
}
|
|
12764
|
+
for (const product of gameProducts2)
|
|
12765
|
+
for (const name2 of GAME_REACH[product] ?? []) reach(name2);
|
|
12745
12766
|
let distributionLinkPath;
|
|
12746
12767
|
const distributionLink = args.distributionLink;
|
|
12747
12768
|
if (distribution && distributionLink) {
|
|
@@ -12764,7 +12785,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12764
12785
|
(object3) => !isProvider(object3) && !replacedObjects.has(object3)
|
|
12765
12786
|
);
|
|
12766
12787
|
const objects = available.filter(
|
|
12767
|
-
(object3) => !targets.some((target) => object3.startsWith(`lib/${target.name}-`)) && [...OPTIONAL_FRAMEWORKS,
|
|
12788
|
+
(object3) => !targets.some((target) => object3.startsWith(`lib/${target.name}-`)) && [...OPTIONAL_FRAMEWORKS, ...GAME_FAMILY, "PeachBox2D"].every(
|
|
12768
12789
|
(name2) => !object3.startsWith(`lib/${name2}-`) || reachedFrameworks.has(name2)
|
|
12769
12790
|
)
|
|
12770
12791
|
);
|
|
@@ -12927,7 +12948,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12927
12948
|
...linkedObjects || clang && !target.executable ? [] : [
|
|
12928
12949
|
'.product(name: "SwiftUI", package: "sootsim-swift")',
|
|
12929
12950
|
...oneModule ? [ONE_PRODUCT] : [],
|
|
12930
|
-
...
|
|
12951
|
+
...gameProducts2.map(gameProduct)
|
|
12931
12952
|
],
|
|
12932
12953
|
...(siblings.get(target.name) ?? []).flatMap(
|
|
12933
12954
|
(dependency) => clang && // textual native headers can include one another without imposing
|
|
@@ -12959,7 +12980,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12959
12980
|
.unsafeFlags(${flagArray(`[
|
|
12960
12981
|
${REACTOR_FLAG}${executableLinkFlags(args.root)} "-Xlinker", "--export-if-defined=__main_argc_argv"${library},
|
|
12961
12982
|
]`)}),
|
|
12962
|
-
.unsafeFlags(["-Xlinker", "--strip-all"], .when(configuration: .release)),
|
|
12983
|
+
${KEEP_WASM_NAMES ? "" : '.unsafeFlags(["-Xlinker", "--strip-all"], .when(configuration: .release)),'}
|
|
12963
12984
|
]` : librarySettings.length > 0 ? `,
|
|
12964
12985
|
linkerSettings: [${librarySettings.join(", ")}]` : "";
|
|
12965
12986
|
const cDefines = macroSettings(target.cDefines);
|
|
@@ -13564,8 +13585,6 @@ var FOUNDATION_OVERLAY_GLOBALS = /* @__PURE__ */ new Set([
|
|
|
13564
13585
|
"NSURLProtectionSpaceHTTPS",
|
|
13565
13586
|
"NSURLProtectionSpaceHTTPSProxy",
|
|
13566
13587
|
"NSURLProtectionSpaceSOCKSProxy",
|
|
13567
|
-
"NSURLSessionDownloadTaskResumeData",
|
|
13568
|
-
"NSURLSessionTransferSizeUnknown",
|
|
13569
13588
|
"NSURLSessionUploadTaskResumeData",
|
|
13570
13589
|
"NSUTF16BigEndianStringEncoding",
|
|
13571
13590
|
"NSUTF16LittleEndianStringEncoding",
|
|
@@ -15570,14 +15589,17 @@ module ${moduleName}.Swift {
|
|
|
15570
15589
|
manifest = manifest.replace(product, `${product}
|
|
15571
15590
|
${ONE_PRODUCT},`).replace(flags, `${flags}${ONE_IMPLICIT_FLAGS}`);
|
|
15572
15591
|
}
|
|
15573
|
-
|
|
15592
|
+
const games = gameProducts(input.files);
|
|
15593
|
+
if (games.length > 0) {
|
|
15574
15594
|
const anchor = '.product(name: "CoreLocation", package: "sootsim-swift"),';
|
|
15575
15595
|
if (!manifest.includes(anchor))
|
|
15576
15596
|
throw new Error(
|
|
15577
|
-
"scripts/contrast-app-Package.swift lost the line the
|
|
15597
|
+
"scripts/contrast-app-Package.swift lost the line the game products link at"
|
|
15578
15598
|
);
|
|
15579
|
-
manifest = manifest.replace(
|
|
15580
|
-
|
|
15599
|
+
manifest = manifest.replace(
|
|
15600
|
+
anchor,
|
|
15601
|
+
[anchor, ...games.map((name2) => `${gameProduct(name2)},`)].join("\n ")
|
|
15602
|
+
);
|
|
15581
15603
|
}
|
|
15582
15604
|
files.set(path27.join(layout2.root, "Package.swift"), manifest + moduleFiles);
|
|
15583
15605
|
} else {
|
|
@@ -15692,7 +15714,7 @@ module ${moduleName}.Swift {
|
|
|
15692
15714
|
siblings: moduleSiblings,
|
|
15693
15715
|
moduleRoot,
|
|
15694
15716
|
oneModule: input.oneModule,
|
|
15695
|
-
|
|
15717
|
+
gameProducts: gameProducts(input.files),
|
|
15696
15718
|
distribution: distribution ?? void 0,
|
|
15697
15719
|
moduleExcludes,
|
|
15698
15720
|
deferDarwinOverlay: native.size > 0 && toolsetOrdersLibcxxBeforeDarwinOverlay(
|
|
@@ -16099,14 +16121,9 @@ function linkedFrameworkTargets(moduleRoot, input) {
|
|
|
16099
16121
|
))
|
|
16100
16122
|
reach(match[1]);
|
|
16101
16123
|
}
|
|
16102
|
-
|
|
16103
|
-
|
|
16104
|
-
const wanted = [
|
|
16105
|
-
"PeachApp",
|
|
16106
|
-
...input.oneModule ? ["One"] : [],
|
|
16107
|
-
...importsSpriteKit(input.files) ? ["SpriteKit"] : [],
|
|
16108
|
-
...reached
|
|
16109
|
-
];
|
|
16124
|
+
const games = gameProducts(input.files);
|
|
16125
|
+
for (const product of games) for (const name2 of GAME_REACH[product] ?? []) reach(name2);
|
|
16126
|
+
const wanted = ["PeachApp", ...input.oneModule ? ["One"] : [], ...games, ...reached];
|
|
16110
16127
|
const linked = [...new Set(wanted)].filter((name2) => libraries.has(name2));
|
|
16111
16128
|
if (!linked.includes("PeachApp"))
|
|
16112
16129
|
throw new Error("swift-compile: the framework package declares no PeachApp library");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2222 | (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.
|
|
1
|
+
/*! peach v0.1.2222 | (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.
|
|
1
|
+
/*! peach v0.1.2222 | (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;
|
package/dist-lib/swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2222 | (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;
|