@bitmagic/cli 0.1.83-dev.0 → 0.1.83-dev.2

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 (199) hide show
  1. package/README.md +70 -1
  2. package/assets/skills/publishing-to-steam/SKILL.md +218 -0
  3. package/dist/assets/vxl-summary.d.ts +6 -20
  4. package/dist/assets/vxl-summary.js +9 -100
  5. package/dist/assets/vxl-summary.js.map +1 -1
  6. package/dist/cli.d.ts +1 -0
  7. package/dist/cli.js +2 -0
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/check.js +5 -0
  10. package/dist/commands/check.js.map +1 -1
  11. package/dist/commands/forge.js +1 -1
  12. package/dist/commands/forge.js.map +1 -1
  13. package/dist/commands/import.js +2 -4
  14. package/dist/commands/import.js.map +1 -1
  15. package/dist/commands/init.js +0 -3
  16. package/dist/commands/init.js.map +1 -1
  17. package/dist/commands/ios.js +88 -136
  18. package/dist/commands/ios.js.map +1 -1
  19. package/dist/commands/promote.js +2 -4
  20. package/dist/commands/promote.js.map +1 -1
  21. package/dist/commands/publish.js +0 -1
  22. package/dist/commands/publish.js.map +1 -1
  23. package/dist/commands/steam-build.d.ts +67 -0
  24. package/dist/commands/steam-build.js +286 -0
  25. package/dist/commands/steam-build.js.map +1 -0
  26. package/dist/commands/steam-portal.d.ts +1 -0
  27. package/dist/commands/steam-portal.js +319 -0
  28. package/dist/commands/steam-portal.js.map +1 -0
  29. package/dist/commands/steam-upload.d.ts +37 -0
  30. package/dist/commands/steam-upload.js +172 -0
  31. package/dist/commands/steam-upload.js.map +1 -0
  32. package/dist/commands/steam.d.ts +1 -0
  33. package/dist/commands/steam.js +502 -0
  34. package/dist/commands/steam.js.map +1 -0
  35. package/dist/commands/verify.js +6 -0
  36. package/dist/commands/verify.js.map +1 -1
  37. package/dist/editor/asset-viewer.js +5 -4
  38. package/dist/editor/asset-viewer.js.map +1 -1
  39. package/dist/editor/game-info-panel.d.ts +2 -2
  40. package/dist/editor/game-info-panel.js +1 -2
  41. package/dist/editor/game-info-panel.js.map +1 -1
  42. package/dist/editor/game-info.d.ts +1 -3
  43. package/dist/editor/game-info.js +1 -2
  44. package/dist/editor/game-info.js.map +1 -1
  45. package/dist/editor/server.js +2 -3
  46. package/dist/editor/server.js.map +1 -1
  47. package/dist/editor/shell-page.js +9 -7
  48. package/dist/editor/shell-page.js.map +1 -1
  49. package/dist/forge/browser-host.d.ts +6 -12
  50. package/dist/forge/browser-host.js +5 -11
  51. package/dist/forge/browser-host.js.map +1 -1
  52. package/dist/ios/native-overrides.d.ts +27 -0
  53. package/dist/ios/native-overrides.js +87 -0
  54. package/dist/ios/native-overrides.js.map +1 -0
  55. package/dist/ios/record-validate.d.ts +1 -33
  56. package/dist/ios/record-validate.js +2 -100
  57. package/dist/ios/record-validate.js.map +1 -1
  58. package/dist/ios/store-bridge.d.ts +26 -0
  59. package/dist/ios/store-bridge.js +224 -0
  60. package/dist/ios/store-bridge.js.map +1 -0
  61. package/dist/ios/storekit-config.d.ts +15 -0
  62. package/dist/ios/storekit-config.js +106 -0
  63. package/dist/ios/storekit-config.js.map +1 -0
  64. package/dist/ios/xcode-template.d.ts +12 -3
  65. package/dist/ios/xcode-template.js +158 -27
  66. package/dist/ios/xcode-template.js.map +1 -1
  67. package/dist/package/collect-urls.d.ts +1 -1
  68. package/dist/package/collect-urls.js +10 -2
  69. package/dist/package/collect-urls.js.map +1 -1
  70. package/dist/package/offline-payload.d.ts +35 -0
  71. package/dist/package/offline-payload.js +142 -0
  72. package/dist/package/offline-payload.js.map +1 -0
  73. package/dist/package/packaged-check.d.ts +39 -0
  74. package/dist/package/packaged-check.js +104 -0
  75. package/dist/package/packaged-check.js.map +1 -0
  76. package/dist/package/transform.d.ts +4 -4
  77. package/dist/package/transform.js +3 -3
  78. package/dist/project/context.d.ts +7 -2
  79. package/dist/project/context.js +1 -2
  80. package/dist/project/context.js.map +1 -1
  81. package/dist/project/published-three.d.ts +14 -0
  82. package/dist/project/published-three.js +93 -0
  83. package/dist/project/published-three.js.map +1 -0
  84. package/dist/publish/bundle.d.ts +1 -1
  85. package/dist/publish/bundle.js +8 -3
  86. package/dist/publish/bundle.js.map +1 -1
  87. package/dist/publish/platform.d.ts +1 -1
  88. package/dist/publish/platform.js +1 -1
  89. package/dist/publish/source-zip.d.ts +0 -1
  90. package/dist/publish/source-zip.js +1 -2
  91. package/dist/publish/source-zip.js.map +1 -1
  92. package/dist/scaffold/aliases.js +8 -5
  93. package/dist/scaffold/aliases.js.map +1 -1
  94. package/dist/scaffold/engine-download.d.ts +1 -1
  95. package/dist/scaffold/engine-download.js +1 -1
  96. package/dist/scaffold/export-zip.d.ts +0 -1
  97. package/dist/scaffold/export-zip.js +3 -6
  98. package/dist/scaffold/export-zip.js.map +1 -1
  99. package/dist/scaffold/import-project.js +1 -1
  100. package/dist/scaffold/project-export.js +0 -1
  101. package/dist/scaffold/project-export.js.map +1 -1
  102. package/dist/scaffold/project-files.d.ts +0 -1
  103. package/dist/scaffold/project-files.js +8 -5
  104. package/dist/scaffold/project-files.js.map +1 -1
  105. package/dist/scaffold/project.d.ts +15 -4
  106. package/dist/scaffold/project.js +30 -13
  107. package/dist/scaffold/project.js.map +1 -1
  108. package/dist/scaffold/skill-files.js +3 -1
  109. package/dist/scaffold/skill-files.js.map +1 -1
  110. package/dist/scaffold/steam-skill-files.d.ts +2 -0
  111. package/dist/scaffold/steam-skill-files.js +7 -0
  112. package/dist/scaffold/steam-skill-files.js.map +1 -0
  113. package/dist/scaffold/suggest-template.js +0 -1
  114. package/dist/scaffold/suggest-template.js.map +1 -1
  115. package/dist/scaffold/unity-skill-files.js +1 -1
  116. package/dist/steam/art-generate.d.ts +55 -0
  117. package/dist/steam/art-generate.js +173 -0
  118. package/dist/steam/art-generate.js.map +1 -0
  119. package/dist/steam/art-render.d.ts +25 -0
  120. package/dist/steam/art-render.js +157 -0
  121. package/dist/steam/art-render.js.map +1 -0
  122. package/dist/steam/art-use.d.ts +20 -0
  123. package/dist/steam/art-use.js +84 -0
  124. package/dist/steam/art-use.js.map +1 -0
  125. package/dist/steam/art.d.ts +98 -0
  126. package/dist/steam/art.js +243 -0
  127. package/dist/steam/art.js.map +1 -0
  128. package/dist/steam/check.d.ts +21 -0
  129. package/dist/steam/check.js +113 -0
  130. package/dist/steam/check.js.map +1 -0
  131. package/dist/steam/config.d.ts +57 -0
  132. package/dist/steam/config.js +145 -0
  133. package/dist/steam/config.js.map +1 -0
  134. package/dist/steam/electron-cache.d.ts +11 -0
  135. package/dist/steam/electron-cache.js +105 -0
  136. package/dist/steam/electron-cache.js.map +1 -0
  137. package/dist/steam/fuses.d.ts +16 -0
  138. package/dist/steam/fuses.js +75 -0
  139. package/dist/steam/fuses.js.map +1 -0
  140. package/dist/steam/icon-files.d.ts +16 -0
  141. package/dist/steam/icon-files.js +70 -0
  142. package/dist/steam/icon-files.js.map +1 -0
  143. package/dist/steam/image-info.d.ts +16 -0
  144. package/dist/steam/image-info.js +89 -0
  145. package/dist/steam/image-info.js.map +1 -0
  146. package/dist/steam/launch-check.d.ts +12 -0
  147. package/dist/steam/launch-check.js +101 -0
  148. package/dist/steam/launch-check.js.map +1 -0
  149. package/dist/steam/media.d.ts +48 -0
  150. package/dist/steam/media.js +151 -0
  151. package/dist/steam/media.js.map +1 -0
  152. package/dist/steam/package-macos.d.ts +52 -0
  153. package/dist/steam/package-macos.js +268 -0
  154. package/dist/steam/package-macos.js.map +1 -0
  155. package/dist/steam/package-windows.d.ts +24 -0
  156. package/dist/steam/package-windows.js +84 -0
  157. package/dist/steam/package-windows.js.map +1 -0
  158. package/dist/steam/paths.d.ts +37 -0
  159. package/dist/steam/paths.js +45 -0
  160. package/dist/steam/paths.js.map +1 -0
  161. package/dist/steam/playtest-shots.d.ts +18 -0
  162. package/dist/steam/playtest-shots.js +83 -0
  163. package/dist/steam/playtest-shots.js.map +1 -0
  164. package/dist/steam/portal-recipes.d.ts +25 -0
  165. package/dist/steam/portal-recipes.js +61 -0
  166. package/dist/steam/portal-recipes.js.map +1 -0
  167. package/dist/steam/portal.d.ts +58 -0
  168. package/dist/steam/portal.js +340 -0
  169. package/dist/steam/portal.js.map +1 -0
  170. package/dist/steam/raster.d.ts +59 -0
  171. package/dist/steam/raster.js +285 -0
  172. package/dist/steam/raster.js.map +1 -0
  173. package/dist/steam/shell-files.d.ts +17 -0
  174. package/dist/steam/shell-files.js +268 -0
  175. package/dist/steam/shell-files.js.map +1 -0
  176. package/dist/steam/specs.d.ts +61 -0
  177. package/dist/steam/specs.js +103 -0
  178. package/dist/steam/specs.js.map +1 -0
  179. package/dist/steam/steampipe.d.ts +46 -0
  180. package/dist/steam/steampipe.js +170 -0
  181. package/dist/steam/steampipe.js.map +1 -0
  182. package/dist/steam/store-copy.d.ts +89 -0
  183. package/dist/steam/store-copy.js +221 -0
  184. package/dist/steam/store-copy.js.map +1 -0
  185. package/dist/steam/tags.d.ts +9 -0
  186. package/dist/steam/tags.js +49 -0
  187. package/dist/steam/tags.js.map +1 -0
  188. package/dist/steam/trailer.d.ts +34 -0
  189. package/dist/steam/trailer.js +141 -0
  190. package/dist/steam/trailer.js.map +1 -0
  191. package/dist/verify/browser.d.ts +11 -0
  192. package/dist/verify/browser.js +195 -152
  193. package/dist/verify/browser.js.map +1 -1
  194. package/dist/verify/classify.d.ts +11 -2
  195. package/dist/verify/classify.js +16 -4
  196. package/dist/verify/classify.js.map +1 -1
  197. package/dist/verify/mobile-parity.d.ts +1 -1
  198. package/dist/verify/mobile-parity.js +1 -1
  199. package/package.json +5 -4
@@ -2,7 +2,7 @@ import * as fs from 'fs';
2
2
  import { browserGlArgs } from '../browser-gl.js';
3
3
  import { CliError } from '../errors.js';
4
4
  import { launchSystemChrome } from '../chrome-launch.js';
5
- import { RESPAWN_LINE, } from './classify.js';
5
+ import { isRespawnLine, } from './classify.js';
6
6
  import { parseMobileParityGap } from './mobile-parity.js';
7
7
  import { DEFAULT_SETTLE_CONFIG, SETTLE_POLL_MS, isFreefalling, settleVerdict, } from './settle.js';
8
8
  import { deriveEventsObservation } from './events.js';
@@ -52,14 +52,6 @@ export class VerifyBrowserSession {
52
52
  await this.browser.close();
53
53
  }
54
54
  async check(options) {
55
- // Declared outside the try so the `finally` below can write whatever was captured even if the
56
- // browser phase throws (e.g. page.goto timing out) — artifacts are the point of a failing run.
57
- const consoleLines = [];
58
- const pageErrors = [];
59
- // Hoisted because both decide several branches below: `startInteraction` separates verify's
60
- // questions from publish's smoke check, and `captureScreenshot` is what `--fast` turns off.
61
- const { startInteraction } = options;
62
- const captureScreenshot = options.captureScreenshot !== false;
63
55
  const contextOptions = options.device ?? DESKTOP_CONTEXT_OPTIONS;
64
56
  const context = await this.browser.newContext({
65
57
  ...contextOptions,
@@ -69,155 +61,182 @@ export class VerifyBrowserSession {
69
61
  if (options.routes)
70
62
  await options.routes(context);
71
63
  const page = await context.newPage();
72
- await armContextLossProbe(page);
73
- await armFrameCounter(page);
64
+ return await observeGamePage(page, options, contextOptions.viewport, (target) => target.goto(options.url, { waitUntil: 'load', timeout: 45_000 }));
65
+ }
66
+ finally {
67
+ await context.close();
68
+ }
69
+ }
70
+ }
71
+ /**
72
+ * One check on a page that already exists: arm the probes, `navigate` (a `goto` for verify, a
73
+ * `reload` for a packaged desktop app that loaded its own page before anything could attach),
74
+ * start the game the way a player does, settle, and observe. Split from
75
+ * {@link VerifyBrowserSession.check} so `bitmagic steam build` can hold the real Electron app to
76
+ * the same verdict a browser tab gets.
77
+ */
78
+ export async function observeGamePage(page, options, viewport, navigate) {
79
+ // Declared outside the try so the `finally` below can write whatever was captured even if the
80
+ // browser phase throws (e.g. page.goto timing out) — artifacts are the point of a failing run.
81
+ const consoleLines = [];
82
+ const pageErrors = [];
83
+ // Hoisted because both decide several branches below: `startInteraction` separates verify's
84
+ // questions from publish's smoke check, and `captureScreenshot` is what `--fast` turns off.
85
+ const { startInteraction } = options;
86
+ const captureScreenshot = options.captureScreenshot !== false;
87
+ try {
88
+ await armContextLossProbe(page);
89
+ await armFrameCounter(page);
90
+ // A phone run strips what iPhone Safari lacks, which also disarms the lock; a desktop run
91
+ // only disarms it.
92
+ if (options.device?.isMobile === true)
93
+ await removeApisIphoneSafariLacks(page);
94
+ else
74
95
  await disarmPointerLock(page);
75
- page.on('console', (message) => consoleLines.push(`${message.type()}: ${message.text()}`));
76
- page.on('pageerror', (error) => pageErrors.push(error.message));
77
- page.on('requestfailed', (request) => consoleLines.push(`requestfailed: ${request.url()} ${request.failure()?.errorText ?? ''}`));
78
- try {
79
- await page.goto(options.url, { waitUntil: 'load', timeout: 45_000 });
80
- }
81
- catch (error) {
82
- // Best-effort screenshot of whatever the page shows right now — often still blank, but
83
- // worth having. The console log (written in `finally` below) is the useful artifact here.
84
- if (captureScreenshot) {
85
- try {
86
- fs.writeFileSync(options.screenshotPath, await page.screenshot(SCREENSHOT_OPTIONS));
87
- }
88
- catch {
89
- // Page may already be unusable (closed context, crashed renderer) — nothing to save.
90
- }
91
- }
92
- const detail = error instanceof Error ? error.message : String(error);
93
- throw new CliError(`The page never finished loading at ${options.url}: ${detail}`);
94
- }
95
- // Same probe either way; only the frame it runs in differs. A missing child frame leaves
96
- // `target` null, which classifies as "no canvas" — correct, because a harness whose iframe
97
- // never loaded (a download, a 404) is exactly the failure this mode exists to catch. A run
98
- // that drives a start interaction needs the frame outright, so it fails loudly instead.
99
- const frameUrlIncludes = options.probeFrameUrlIncludes;
100
- const target = frameUrlIncludes === undefined
101
- ? page
102
- : page.frames().find((frame) => frame.url().includes(frameUrlIncludes)) ?? null;
103
- if (startInteraction !== undefined && target === null) {
104
- throw new CliError('The game iframe did not load.');
105
- }
106
- // Interaction, settling and the menu probe drive the frame the game lives in; the page-level
107
- // screenshot and frame counter stay on `page`.
108
- const interactiveTarget = target ?? page;
109
- const interaction = startInteraction === undefined
110
- ? null
111
- : await performStartInteraction(interactiveTarget, consoleLines, startInteraction, options.device?.hasTouch === true);
112
- // Verify settles adaptively — a game that provably reached stable gameplay is observed
113
- // after a few seconds instead of the full fixed window, with `settleMs` as the hard cap.
114
- // The smoke check keeps the fixed wait: its game lives in an iframe this probe does not
115
- // reach, and its question ("does the published bundle come up") has no early exit.
116
- let settle;
117
- let settleSamples = [];
118
- if (startInteraction === undefined) {
119
- await page.waitForTimeout(options.settleMs);
120
- }
121
- else {
122
- ({ settle, samples: settleSamples } = await adaptiveSettle(interactiveTarget, consoleLines, options.settleMs));
123
- }
124
- if (options.afterSettle)
125
- await options.afterSettle(interactiveTarget);
126
- const canvas = target === null ? null : await target.evaluate(() => {
127
- // This callback runs inside the browser Playwright drives, not in the CLI's Node process,
128
- // so `document` is a real global there even though the CLI's eslint config declares no
129
- // DOM globals for the process it actually lints.
130
- // eslint-disable-next-line no-undef
131
- const element = document.querySelector('#game-container canvas');
132
- if (!(element instanceof HTMLCanvasElement))
133
- return null;
134
- const rect = element.getBoundingClientRect();
135
- return {
136
- width: Math.round(rect.width),
137
- height: Math.round(rect.height),
138
- // The drawing-buffer attributes, not CSS size — see CanvasObservation in classify.ts for
139
- // why this replaced a getContext() probe.
140
- bufferWidth: element.width,
141
- bufferHeight: element.height,
142
- // Page coordinates of the rect, for sampling the captured frame below. Kept out of
143
- // CanvasObservation, which is about whether a renderer claimed the canvas, not where.
144
- left: Math.round(rect.left),
145
- top: Math.round(rect.top),
146
- };
147
- });
148
- // `--fast` skips the whole screenshot pipeline — capture, disk write, and the in-page PNG
149
- // re-decode of measureCanvasFrame. The context-loss probe, frame counter and state
150
- // snapshot still catch the black-frame family; what is lost is only the pixel evidence,
151
- // which the inner loop does not need and publish's own smoke check always recaptures.
152
- let screenshotBytes = null;
153
- let canvasFrame = null;
96
+ page.on('console', (message) => consoleLines.push(`${message.type()}: ${message.text()}`));
97
+ page.on('pageerror', (error) => pageErrors.push(error.message));
98
+ page.on('requestfailed', (request) => consoleLines.push(`requestfailed: ${request.url()} ${request.failure()?.errorText ?? ''}`));
99
+ try {
100
+ await navigate(page);
101
+ }
102
+ catch (error) {
103
+ // Best-effort screenshot of whatever the page shows right now — often still blank, but
104
+ // worth having. The console log (written in `finally` below) is the useful artifact here.
154
105
  if (captureScreenshot) {
155
- const screenshotBuffer = await page.screenshot(SCREENSHOT_OPTIONS);
156
- fs.writeFileSync(options.screenshotPath, screenshotBuffer);
157
- screenshotBytes = screenshotBuffer.length;
158
- canvasFrame = canvas === null
159
- ? null
160
- : await measureCanvasFrame(page, screenshotBuffer, canvas);
161
- }
162
- const webglContextLost = await (target ?? page).evaluate(
163
- // eslint-disable-next-line no-undef -- browser-side callback, see the canvas probe above.
164
- (flag) => window[flag] === true, CONTEXT_LOST_FLAG);
165
- const renderer = options.requestedRenderer === undefined
166
- ? undefined
167
- : await probeRenderer(target, options.requestedRenderer);
168
- // The engine probes below belong to verify's questions only, and need something to probe:
169
- // no start interaction (publish's smoke check) or no frame leaves them unobserved.
170
- const engineTarget = startInteraction === undefined ? null : target;
171
- const snapshot = engineTarget === null
172
- ? undefined
173
- : await captureStateSnapshot(engineTarget, settleSamples);
174
- const events = engineTarget === null
175
- ? undefined
176
- : deriveEventsObservation(await captureEventTrace(engineTarget));
177
- let start;
178
- if (startInteraction !== undefined && interaction !== null) {
179
- start = {
180
- ...interaction,
181
- // Recomputed from the full console capture rather than taken from the interaction step,
182
- // so a start that only lands during the settle (slow world load) still counts.
183
- gameStartDetected: hasStartMarker(consoleLines, startInteraction.startedConsoleMarker),
184
- menuVisibleAfterSettle: await isMenuVisible(interactiveTarget),
185
- };
106
+ try {
107
+ fs.writeFileSync(options.screenshotPath, await page.screenshot(SCREENSHOT_OPTIONS));
108
+ }
109
+ catch {
110
+ // Page may already be unusable (closed context, crashed renderer) — nothing to save.
111
+ }
186
112
  }
187
- // Only meaningful on a run that emulated a phone: on desktop the engine never builds
188
- // MobileControls at all, so zero affordances there is the correct state, not a finding.
189
- // Probed in the game's own frame, so the engine question it carries reaches the engine.
190
- const touchControls = options.device === undefined
191
- ? undefined
192
- : await probeTouchControls(target ?? page);
113
+ const detail = error instanceof Error ? error.message : String(error);
114
+ throw new CliError(`The page never finished loading at ${options.url}: ${detail}`);
115
+ }
116
+ // Same probe either way; only the frame it runs in differs. A missing child frame leaves
117
+ // `target` null, which classifies as "no canvas" — correct, because a harness whose iframe
118
+ // never loaded (a download, a 404) is exactly the failure this mode exists to catch. A run
119
+ // that drives a start interaction needs the frame outright, so it fails loudly instead.
120
+ const frameUrlIncludes = options.probeFrameUrlIncludes;
121
+ const target = frameUrlIncludes === undefined
122
+ ? page
123
+ : page.frames().find((frame) => frame.url().includes(frameUrlIncludes)) ?? null;
124
+ if (startInteraction !== undefined && target === null) {
125
+ throw new CliError('The game iframe did not load.');
126
+ }
127
+ // Interaction, settling and the menu probe drive the frame the game lives in; the page-level
128
+ // screenshot and frame counter stay on `page`.
129
+ const interactiveTarget = target ?? page;
130
+ const interaction = startInteraction === undefined
131
+ ? null
132
+ : await performStartInteraction(interactiveTarget, consoleLines, startInteraction, options.device?.hasTouch === true);
133
+ // Verify settles adaptively — a game that provably reached stable gameplay is observed
134
+ // after a few seconds instead of the full fixed window, with `settleMs` as the hard cap.
135
+ // The smoke check keeps the fixed wait: its game lives in an iframe this probe does not
136
+ // reach, and its question ("does the published bundle come up") has no early exit.
137
+ let settle;
138
+ let settleSamples = [];
139
+ if (startInteraction === undefined) {
140
+ await page.waitForTimeout(options.settleMs);
141
+ }
142
+ else {
143
+ ({ settle, samples: settleSamples } = await adaptiveSettle(interactiveTarget, consoleLines, options.settleMs));
144
+ }
145
+ if (options.afterSettle)
146
+ await options.afterSettle(interactiveTarget);
147
+ const canvas = target === null ? null : await target.evaluate(() => {
148
+ // This callback runs inside the browser Playwright drives, not in the CLI's Node process,
149
+ // so `document` is a real global there even though the CLI's eslint config declares no
150
+ // DOM globals for the process it actually lints.
151
+ // eslint-disable-next-line no-undef
152
+ const element = document.querySelector('#game-container canvas');
153
+ if (!(element instanceof HTMLCanvasElement))
154
+ return null;
155
+ const rect = element.getBoundingClientRect();
193
156
  return {
194
- consoleLines,
195
- pageErrors,
196
- canvas,
197
- screenshotBytes,
198
- webglContextLost,
199
- canvasFrame,
200
- start,
201
- renderer,
202
- snapshot,
203
- settle,
204
- events,
205
- touchControls,
206
- viewport: contextOptions.viewport,
207
- // From the console this run already captured — the engine logs the check on every game
208
- // start, desktop included (see verify/mobile-parity.ts). Behind the same gate as the
209
- // snapshot and event probes: the check only runs at game start, so a run that never
210
- // starts one has observed nothing, and `publish`'s smoke check keeps its exact shape.
211
- mobileParity: engineTarget === null ? undefined : parseMobileParityGap(consoleLines),
157
+ width: Math.round(rect.width),
158
+ height: Math.round(rect.height),
159
+ // The drawing-buffer attributes, not CSS size — see CanvasObservation in classify.ts for
160
+ // why this replaced a getContext() probe.
161
+ bufferWidth: element.width,
162
+ bufferHeight: element.height,
163
+ // Page coordinates of the rect, for sampling the captured frame below. Kept out of
164
+ // CanvasObservation, which is about whether a renderer claimed the canvas, not where.
165
+ left: Math.round(rect.left),
166
+ top: Math.round(rect.top),
212
167
  };
168
+ });
169
+ // `--fast` skips the whole screenshot pipeline — capture, disk write, and the in-page PNG
170
+ // re-decode of measureCanvasFrame. The context-loss probe, frame counter and state
171
+ // snapshot still catch the black-frame family; what is lost is only the pixel evidence,
172
+ // which the inner loop does not need and publish's own smoke check always recaptures.
173
+ let screenshotBytes = null;
174
+ let canvasFrame = null;
175
+ if (captureScreenshot) {
176
+ const screenshotBuffer = await page.screenshot(SCREENSHOT_OPTIONS);
177
+ fs.writeFileSync(options.screenshotPath, screenshotBuffer);
178
+ screenshotBytes = screenshotBuffer.length;
179
+ canvasFrame = canvas === null
180
+ ? null
181
+ : await measureCanvasFrame(page, screenshotBuffer, canvas);
213
182
  }
214
- finally {
215
- // Written on success and failure alike, including when the try block above threw before
216
- // ever reaching the screenshot: the console log is the most useful thing a creator or their
217
- // agent can look at when the page never came up at all.
218
- fs.writeFileSync(options.consolePath, [...consoleLines, ...pageErrors.map((e) => `pageerror: ${e}`)].join('\n'));
219
- await context.close();
183
+ const webglContextLost = await (target ?? page).evaluate(
184
+ // eslint-disable-next-line no-undef -- browser-side callback, see the canvas probe above.
185
+ (flag) => window[flag] === true, CONTEXT_LOST_FLAG);
186
+ const renderer = options.requestedRenderer === undefined
187
+ ? undefined
188
+ : await probeRenderer(target, options.requestedRenderer);
189
+ // The engine probes below belong to verify's questions only, and need something to probe:
190
+ // no start interaction (publish's smoke check) or no frame leaves them unobserved.
191
+ const engineTarget = startInteraction === undefined ? null : target;
192
+ const snapshot = engineTarget === null
193
+ ? undefined
194
+ : await captureStateSnapshot(engineTarget, settleSamples);
195
+ const events = engineTarget === null
196
+ ? undefined
197
+ : deriveEventsObservation(await captureEventTrace(engineTarget));
198
+ let start;
199
+ if (startInteraction !== undefined && interaction !== null) {
200
+ start = {
201
+ ...interaction,
202
+ // Recomputed from the full console capture rather than taken from the interaction step,
203
+ // so a start that only lands during the settle (slow world load) still counts.
204
+ gameStartDetected: hasStartMarker(consoleLines, startInteraction.startedConsoleMarker),
205
+ menuVisibleAfterSettle: await isMenuVisible(interactiveTarget),
206
+ };
220
207
  }
208
+ // Only meaningful on a run that emulated a phone: on desktop the engine never builds
209
+ // MobileControls at all, so zero affordances there is the correct state, not a finding.
210
+ // Probed in the game's own frame, so the engine question it carries reaches the engine.
211
+ const touchControls = options.device === undefined
212
+ ? undefined
213
+ : await probeTouchControls(target ?? page);
214
+ return {
215
+ consoleLines,
216
+ pageErrors,
217
+ canvas,
218
+ screenshotBytes,
219
+ webglContextLost,
220
+ canvasFrame,
221
+ start,
222
+ renderer,
223
+ snapshot,
224
+ settle,
225
+ events,
226
+ touchControls,
227
+ viewport,
228
+ // From the console this run already captured — the engine logs the check on every game
229
+ // start, desktop included (see verify/mobile-parity.ts). Behind the same gate as the
230
+ // snapshot and event probes: the check only runs at game start, so a run that never
231
+ // starts one has observed nothing, and `publish`'s smoke check keeps its exact shape.
232
+ mobileParity: engineTarget === null ? undefined : parseMobileParityGap(consoleLines),
233
+ };
234
+ }
235
+ finally {
236
+ // Written on success and failure alike, including when the try block above threw before
237
+ // ever reaching the screenshot: the console log is the most useful thing a creator or their
238
+ // agent can look at when the page never came up at all.
239
+ fs.writeFileSync(options.consolePath, [...consoleLines, ...pageErrors.map((e) => `pageerror: ${e}`)].join('\n'));
221
240
  }
222
241
  }
223
242
  /**
@@ -290,7 +309,7 @@ const UNOBSERVED_PROBE = {
290
309
  * exactly the pre-adaptive behaviour.
291
310
  */
292
311
  async function takeSettleSample(page, atMs, consoleLines) {
293
- const errorEventCount = consoleLines.filter((line) => line.startsWith('error:') || line.includes(RESPAWN_LINE)).length;
312
+ const errorEventCount = consoleLines.filter((line) => line.startsWith('error:') || isRespawnLine(line)).length;
294
313
  const probed = await page.evaluate((flag) => {
295
314
  /* eslint-disable no-undef -- browser-side callback, see the canvas probe above. */
296
315
  try {
@@ -510,6 +529,30 @@ async function disarmPointerLock(page) {
510
529
  });
511
530
  });
512
531
  }
532
+ /**
533
+ * Delete the browser APIs iPhone Safari does not have, before any page script runs.
534
+ *
535
+ * A phone run is Chromium wearing an iPhone's viewport, touch and UA — and Chromium has Pointer
536
+ * Lock and the element Fullscreen API, which iPhone Safari does not. Game code that calls
537
+ * `document.exitPointerLock()` raw compiles (the DOM types declare it always present), passes
538
+ * dev and a Chromium phone run, and is a TypeError on a real iPhone; thrown from a genre's
539
+ * load(), it is a black screen (Party Boat, 2026-10-08). With the APIs gone here, the run takes
540
+ * the code path an iPhone takes — including the engine's own boot-time stand-ins
541
+ * (`installMissingPointerLockStubs`), so what is verified is what a player gets.
542
+ *
543
+ * `pointerLockElement` goes too: its absence is what tells the engine there is no lock, and it
544
+ * is what keeps the lock from being requested at all — the disarm a desktop run needs anyway.
545
+ */
546
+ async function removeApisIphoneSafariLacks(page) {
547
+ await page.addInitScript(() => {
548
+ const strip = (proto, names) => {
549
+ for (const name of names)
550
+ delete proto[name];
551
+ };
552
+ strip(Document.prototype, ['exitPointerLock', 'pointerLockElement', 'exitFullscreen', 'webkitExitFullscreen']);
553
+ strip(Element.prototype, ['requestPointerLock', 'requestFullscreen', 'webkitRequestFullscreen']);
554
+ });
555
+ }
513
556
  /**
514
557
  * What the canvas rect of `screenshot` actually contains: how much of it is lit, and how many
515
558
  * distinct colours it holds. The second is what catches a canvas that drew nothing on a page whose
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/verify/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/verify/browser.ts"],"names":[],"mappings":"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"}
@@ -190,11 +190,20 @@ export interface VerifyResult {
190
190
  warnings: string[];
191
191
  }
192
192
  /**
193
- * The engine's line when the player has fallen out of the world and is being put back.
193
+ * The engine's line when the player has fallen out of the world and is being put back
194
+ * ("Fell below -100, respawning..."), whatever the kill plane's height: a game may move it
195
+ * (`fallRescue.killPlaneY`) and the engine prints its own. "Vehicle fell below" (a vehicle put
196
+ * back, the player still in it) is a different line.
194
197
  *
195
198
  * A game the player cannot stand up in is not verified, however cleanly it renders. This was not
196
199
  * theoretical: a forged level whose terrain never loaded rendered a perfect frame, threw nothing,
197
200
  * and reported PASSED, while the player fell and respawned 14 times in a 45s settle.
198
201
  */
199
- export declare const RESPAWN_LINE = "Fell below -100";
202
+ export declare function isRespawnLine(line: string): boolean;
203
+ /**
204
+ * The event the engine's fall rescue logs for each respawn — the same signal as the line, but
205
+ * readable without matching console text. Engines that predate it only print the line, so the
206
+ * count is the larger of the two and a respawn seen both ways is still one.
207
+ */
208
+ export declare const PLAYER_RESPAWN_EVENT = "player-respawn";
200
209
  export declare function classifyVerifyRun(observations: VerifyObservations, context?: ClassifyContext): VerifyResult;
@@ -94,14 +94,26 @@ const BLACK_FRAME_MAX_LIT_FRACTION = 0.005;
94
94
  * measures in the thousands.
95
95
  */
96
96
  const MIN_DISTINCT_COLORS = 3;
97
+ const RESPAWN_LINE_PATTERN = /Fell below -?\d/;
97
98
  /**
98
- * The engine's line when the player has fallen out of the world and is being put back.
99
+ * The engine's line when the player has fallen out of the world and is being put back
100
+ * ("Fell below -100, respawning..."), whatever the kill plane's height: a game may move it
101
+ * (`fallRescue.killPlaneY`) and the engine prints its own. "Vehicle fell below" (a vehicle put
102
+ * back, the player still in it) is a different line.
99
103
  *
100
104
  * A game the player cannot stand up in is not verified, however cleanly it renders. This was not
101
105
  * theoretical: a forged level whose terrain never loaded rendered a perfect frame, threw nothing,
102
106
  * and reported PASSED, while the player fell and respawned 14 times in a 45s settle.
103
107
  */
104
- export const RESPAWN_LINE = 'Fell below -100';
108
+ export function isRespawnLine(line) {
109
+ return RESPAWN_LINE_PATTERN.test(line);
110
+ }
111
+ /**
112
+ * The event the engine's fall rescue logs for each respawn — the same signal as the line, but
113
+ * readable without matching console text. Engines that predate it only print the line, so the
114
+ * count is the larger of the two and a respawn seen both ways is still one.
115
+ */
116
+ export const PLAYER_RESPAWN_EVENT = 'player-respawn';
105
117
  /**
106
118
  * One or two falls can be the spawn beating the chunk colliders — the controller says as much
107
119
  * ("waiting for colliders…") and recovers, so those warn. Three is no longer a settle; it is a
@@ -118,7 +130,7 @@ const CORS_BLOCK = 'has been blocked by CORS policy';
118
130
  /**
119
131
  * A player below this and still falling when the run ends is out of the world, not exploring a
120
132
  * deep cave: the engine's own kill plane respawns at -100, so a sustained fall past -50 means
121
- * the respawn keeps landing on nothing. Complements the `RESPAWN_LINE` count — this one fires
133
+ * the respawn keeps landing on nothing. Complements the respawn count — this one fires
122
134
  * even when a game's custom controller never prints that line.
123
135
  */
124
136
  const FREEFALL_FAILURE_Y = -50;
@@ -297,7 +309,7 @@ export function classifyVerifyRun(observations, context = {}) {
297
309
  if (blocked.length > 0) {
298
310
  failures.push(`A game asset could not be fetched — the browser blocked it as cross-origin: ${blocked[0]}`);
299
311
  }
300
- const respawns = observations.consoleLines.filter((line) => line.includes(RESPAWN_LINE)).length;
312
+ const respawns = Math.max(observations.consoleLines.filter(isRespawnLine).length, observations.events?.totalByType[PLAYER_RESPAWN_EVENT] ?? 0);
301
313
  if (respawns > MAX_TOLERATED_RESPAWNS) {
302
314
  failures.push(`The player fell out of the world ${respawns} times and was still falling when the run ended `
303
315
  + '— the level renders but cannot be stood on. Its terrain most likely never loaded.');
@@ -1 +1 @@
1
- {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/verify/classify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/verify/classify.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * `game/agent-docs/control-system.md`). Nothing consumed it, so a game with actions no phone can
8
8
  * reach passed verify silently.
9
9
  *
10
- * Parsing that line rather than listening for the `aitopia:mobile-parity-gap` postMessage the
10
+ * Parsing that line rather than listening for the `MOBILE_PARITY_GAP` postMessage the
11
11
  * same check also fires is deliberate on two counts: the console is already captured, so this
12
12
  * needs no new browser plumbing; and only the console line carries the `(source)` annotation
13
13
  * naming which system registered an orphan key, which is the difference between "KeyF is