peachsim 0.1.2199 → 0.1.2201
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/inspect/settling.ts +20 -20
- package/cli/outbound-endpoints.ts +12 -0
- 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 +1423 -1118
- 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 +22 -22
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/expo-swift-bundle.cjs +45945 -40026
- 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 +50879 -49774
- package/dist-lib/host/fetch-proxy-handler.cjs +16 -4
- 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 +36 -24
- 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 +100 -10
- 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 +16 -4
- package/dist-lib/native-app-identity-project.cjs +14 -2
- package/dist-lib/native-app-identity-project.mjs +14 -2
- package/dist-lib/native-app-identity.cjs +1 -1
- package/dist-lib/native-app-identity.mjs +1 -1
- 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 +24 -24
- package/dist-lib/public-origins-lib.json +302 -289
- 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 +21 -21
- package/dist-lib/sdk.mjs +21 -21
- package/dist-lib/skills.cjs +3520 -2920
- package/dist-lib/swift-compile.cjs +34 -3
- package/dist-lib/swift-compile.mjs +34 -3
- 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 +42 -8
- package/dist-lib/vite.cjs +16 -4
- package/dist-lib/worklet-executable.cjs +1 -1
- package/dist-lib/worklet-executable.mjs +1 -1
- package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +2 -0
- package/dist-types/packages/peach-engine/src/engine/yoga-layout.d.ts +2 -1
- package/dist-types/packages/peach-engine/src/render-worker/app-prefetch-contract.d.ts +5 -0
- package/dist-types/packages/peach-engine/src/render-worker/protocol.d.ts +2 -0
- package/dist-types/packages/peach-engine/src/render-worker/tree-sync-port.d.ts +5 -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/QuartzCore.framework/Headers/CAValueFunction.h +1 -1
- package/sdk/ios/System/Library/Frameworks/QuartzCore.framework/Modules/module.modulemap +1 -0
- package/sdk/ios/System/Library/Frameworks/UIKitText.framework/Headers/UIKitText.apinotes +14 -0
- package/src/android-layout-ids.ts +50 -0
- package/src/android-view-classes.ts +41 -0
- package/src/expo-swift-host.ts +6 -1
- package/src/java-module-abi.ts +2 -0
- package/src/javaAbiContract.ts +2 -0
- package/src/kotlin-app.ts +33 -7
- package/src/kotlin-host.ts +83 -6
- package/src/kotlin-maven-sources.ts +248 -0
- package/src/native-prebuilt.ts +3 -3
- package/src/react-native-core-build.ts +176 -0
- package/src/react-native-core-digest.ts +1 -1
- package/src/react-native-core.ts +24 -7
- package/src/swift-standin-emit.ts +9 -1
- package/src/swift-wasm-prune.ts +41 -3
- package/src/turbo-compile.ts +6 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2201 | (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.2201 | (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.2201 | (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;
|
package/dist-lib/cloud.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2201 | (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;
|
package/dist-lib/cloud.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2201 | (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);
|
package/dist-lib/config.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2201 | (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;
|
package/dist-lib/config.mjs
CHANGED
package/dist-lib/detox/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2201 | (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;
|
|
@@ -1636,7 +1636,7 @@ function renderActivityIdleScript({
|
|
|
1636
1636
|
const requiredStillMs = ${Math.max(1, Math.round(requiredStillMs))}
|
|
1637
1637
|
let deadline = start + budgetMs
|
|
1638
1638
|
// with no tenant running, nothing an app draws can move.
|
|
1639
|
-
const host =
|
|
1639
|
+
const host = globalThis.__sootsimRenderHost ?? null
|
|
1640
1640
|
// a runtime that predates the animating flag reports render work as busy.
|
|
1641
1641
|
const moving = (activity) => activity.animating ?? activity.busy
|
|
1642
1642
|
const initial = host ? host.getRenderActivity() : null
|
|
@@ -1664,10 +1664,10 @@ function renderActivityIdleScript({
|
|
|
1664
1664
|
// budget proves the new screen. a loaded host runs a push past a tap's
|
|
1665
1665
|
// budget, so the transition carries its own timeout.
|
|
1666
1666
|
let transitionEndedAt = null
|
|
1667
|
-
let transitionPending = budgetMs > 120 && typeof
|
|
1667
|
+
let transitionPending = budgetMs > 120 && typeof globalThis.__sootsimTest?.waitForScreenTransitions === 'function'
|
|
1668
1668
|
if (transitionPending) {
|
|
1669
1669
|
Promise.resolve()
|
|
1670
|
-
.then(() =>
|
|
1670
|
+
.then(() => globalThis.__sootsimTest.waitForScreenTransitions({
|
|
1671
1671
|
timeoutMs: ${Math.max(0, Math.round(transitionTimeoutMs))},
|
|
1672
1672
|
settleMs: 64,
|
|
1673
1673
|
startWindowMs: ${Math.max(0, Math.round(transitionStartWindowMs))},
|
|
@@ -1753,12 +1753,12 @@ async function waitForSootsimIdle({
|
|
|
1753
1753
|
transitionTimeoutMs
|
|
1754
1754
|
}) : `(async () => {
|
|
1755
1755
|
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
|
|
1756
|
-
// tests inject a virtual clock as
|
|
1756
|
+
// tests inject a virtual clock as globalThis.__sootsimIdleClock ({ now, sleep })
|
|
1757
1757
|
// so the stillness window is proven in virtual time: real-timer polls under
|
|
1758
1758
|
// load stretch past a tight budget on a still screen. the busy guards below
|
|
1759
1759
|
// stay on the real setTimeout: virtual time advances only on poll sleeps,
|
|
1760
1760
|
// never on a guard that loses its race to an instant read.
|
|
1761
|
-
const idleClock =
|
|
1761
|
+
const idleClock = globalThis.__sootsimIdleClock
|
|
1762
1762
|
const hasIdleClock =
|
|
1763
1763
|
idleClock && typeof idleClock.now === 'function' && typeof idleClock.sleep === 'function'
|
|
1764
1764
|
const clockNow = hasIdleClock ? () => idleClock.now() : () => Date.now()
|
|
@@ -1782,7 +1782,7 @@ async function waitForSootsimIdle({
|
|
|
1782
1782
|
const fullGeometry = ${!maestro && maxMs >= 1e3 ? "true" : "false"}
|
|
1783
1783
|
const requiredStillMs = paintStill ? 0 : ${Math.max(1, Math.round(stablePolls)) * Math.max(1, Math.round(pollMs))}
|
|
1784
1784
|
const minimumStablePolls = paintStill ? 1 : ${Math.min(2, Math.max(1, Math.round(stablePolls)))}
|
|
1785
|
-
const composite = paintStill ?
|
|
1785
|
+
const composite = paintStill ? globalThis.SootSim?.bridges?.liveComposite : null
|
|
1786
1786
|
if (paintStill && !composite) {
|
|
1787
1787
|
return { settled: false, elapsed: clockNow() - start, blockedBy: 'screen pixels unavailable' }
|
|
1788
1788
|
}
|
|
@@ -1796,7 +1796,7 @@ async function waitForSootsimIdle({
|
|
|
1796
1796
|
// it outlives this wait: a revision still current when a later wait
|
|
1797
1797
|
// polls names the same geometry, so a step that follows a settled one
|
|
1798
1798
|
// proves an unchanged screen without walking the tree again.
|
|
1799
|
-
const geometry = (
|
|
1799
|
+
const geometry = (globalThis.__peachSettleGeometry ??= { revision: null, hierarchy: null })
|
|
1800
1800
|
try {
|
|
1801
1801
|
|
|
1802
1802
|
// discover transitions while observing layout. when motion starts,
|
|
@@ -1806,7 +1806,7 @@ async function waitForSootsimIdle({
|
|
|
1806
1806
|
// the budget restarts once it drains.
|
|
1807
1807
|
let transitionWait = (async () => {
|
|
1808
1808
|
try {
|
|
1809
|
-
const wfst =
|
|
1809
|
+
const wfst = globalThis.__sootsimTest?.waitForScreenTransitions
|
|
1810
1810
|
if (typeof wfst === 'function' && budgetMs > 120) {
|
|
1811
1811
|
const transition = await wfst({
|
|
1812
1812
|
timeoutMs: ${Math.max(0, Math.round(transitionTimeoutMs))},
|
|
@@ -1862,19 +1862,19 @@ async function waitForSootsimIdle({
|
|
|
1862
1862
|
// animations in both realms: a worklet can move the app while the
|
|
1863
1863
|
// tenant's basic animation flag and last presented pixels read still.
|
|
1864
1864
|
const accessibilityRead = maestro
|
|
1865
|
-
? answer(() =>
|
|
1865
|
+
? answer(() => globalThis.__sootsimTest.captureAccessibilityTree()).catch(() => null)
|
|
1866
1866
|
: null
|
|
1867
1867
|
const motionRead = strict || paintStill
|
|
1868
|
-
? answer(() =>
|
|
1868
|
+
? answer(() => globalThis.__sootsimTest?.listAnimations?.()).catch(() => null)
|
|
1869
1869
|
: null
|
|
1870
|
-
const statsRead = answer(() =>
|
|
1870
|
+
const statsRead = answer(() => globalThis.__sootsimRenderHost?.queryStats?.()).catch(() => null)
|
|
1871
1871
|
// image preparation ends in the tenant before the compositor decodes
|
|
1872
1872
|
// and realizes its pixels. both owners must finish before settling.
|
|
1873
1873
|
// the compositor rejects a stats request it is too busy to answer.
|
|
1874
|
-
const compositorRead = answer(() =>
|
|
1875
|
-
const countsRead = answer(() =>
|
|
1874
|
+
const compositorRead = answer(() => globalThis.__sootsimCompositor.getStats({ detail: 'readiness' })).catch(() => BUSY)
|
|
1875
|
+
const countsRead = answer(() => globalThis.__sootsimTest?.getRequestCounts?.()).catch(() => null)
|
|
1876
1876
|
// the mounted hierarchy in render-worker mode comes from the test
|
|
1877
|
-
// bridge:
|
|
1877
|
+
// bridge: globalThis.__sootsimRoot is an empty placeholder there, so a
|
|
1878
1878
|
// walk over it hashes every screen to the same empty string while
|
|
1879
1879
|
// it moves. listInspectable is the worker-backed read describe
|
|
1880
1880
|
// uses; a worker too busy to answer it reads as unsettled. tight
|
|
@@ -1882,13 +1882,13 @@ async function waitForSootsimIdle({
|
|
|
1882
1882
|
// it walks every node, so a poll whose geometry revision matches the
|
|
1883
1883
|
// last read, in this wait or an earlier one, reuses that read.
|
|
1884
1884
|
const hierarchyRead =
|
|
1885
|
-
fullGeometry && typeof
|
|
1886
|
-
? answer(() =>
|
|
1885
|
+
fullGeometry && typeof globalThis.__sootsimTest?.listInspectable === 'function'
|
|
1886
|
+
? answer(() => globalThis.__sootsimTest.getGeometryRevision?.())
|
|
1887
1887
|
.catch(() => null)
|
|
1888
1888
|
.then((revision) => {
|
|
1889
1889
|
if (revision === BUSY) return BUSY
|
|
1890
1890
|
if (typeof revision === 'string' && geometry.revision === revision) return geometry.hierarchy
|
|
1891
|
-
return answer(() =>
|
|
1891
|
+
return answer(() => globalThis.__sootsimTest.listInspectable({}))
|
|
1892
1892
|
.catch(() => null)
|
|
1893
1893
|
.then((hierarchy) => {
|
|
1894
1894
|
const kept = typeof revision === 'string' && Array.isArray(hierarchy)
|
|
@@ -1928,7 +1928,7 @@ async function waitForSootsimIdle({
|
|
|
1928
1928
|
return {
|
|
1929
1929
|
runtimeUnsupported: {
|
|
1930
1930
|
error: 'runtime_readiness_unsupported',
|
|
1931
|
-
runtimeVersion:
|
|
1931
|
+
runtimeVersion: globalThis.__sootsimRuntimeVersion || 'unknown',
|
|
1932
1932
|
missingFields,
|
|
1933
1933
|
},
|
|
1934
1934
|
}
|
|
@@ -1974,7 +1974,7 @@ async function waitForSootsimIdle({
|
|
|
1974
1974
|
// pre-motion baseline to compare against.
|
|
1975
1975
|
const motionStill = !workerBusy && !animating && !layoutDirty && !shellAnimating
|
|
1976
1976
|
const nodeCountRead = motionStill
|
|
1977
|
-
? answer(() =>
|
|
1977
|
+
? answer(() => globalThis.__sootsimTest?.getWindowNodeCount?.()).catch(() => null)
|
|
1978
1978
|
: null
|
|
1979
1979
|
const compositor = await compositorRead
|
|
1980
1980
|
if (compositor === BUSY) {
|
|
@@ -2046,7 +2046,7 @@ async function waitForSootsimIdle({
|
|
|
2046
2046
|
)
|
|
2047
2047
|
}
|
|
2048
2048
|
} else {
|
|
2049
|
-
const root =
|
|
2049
|
+
const root = globalThis.__sootsimRoot
|
|
2050
2050
|
if (root) {
|
|
2051
2051
|
const walk = (n) => {
|
|
2052
2052
|
if (n.layout && n.layout.width > 0) {
|
|
@@ -2512,7 +2512,7 @@ function isValidRuntimeVersion(value) {
|
|
|
2512
2512
|
}
|
|
2513
2513
|
|
|
2514
2514
|
// runtime-companion.json
|
|
2515
|
-
var runtime_companion_default = { abi: 1, sha256: "
|
|
2515
|
+
var runtime_companion_default = { abi: 1, sha256: "5aec79ac0fcea933862e7e373e0d167401e0d891c835d195b7f48039c87add60", file: "node/cli-5aec79ac0fcea933862e7e373e0d167401e0d891c835d195b7f48039c87add60.cjs" };
|
|
2516
2516
|
|
|
2517
2517
|
// src/answeredNativePackages.ts
|
|
2518
2518
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2201 | (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;
|