@bitmagic/cli 0.1.83-dev.6 → 0.1.83

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 (61) hide show
  1. package/README.md +49 -7
  2. package/dist/bug-report/dev-view.d.ts +10 -0
  3. package/dist/bug-report/dev-view.js +35 -0
  4. package/dist/bug-report/dev-view.js.map +1 -0
  5. package/dist/bug-report/send.d.ts +54 -0
  6. package/dist/bug-report/send.js +143 -0
  7. package/dist/bug-report/send.js.map +1 -0
  8. package/dist/cli.d.ts +29 -0
  9. package/dist/cli.js +4 -0
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/build.d.ts +4 -0
  12. package/dist/commands/build.js +20 -3
  13. package/dist/commands/build.js.map +1 -1
  14. package/dist/commands/pages.d.ts +25 -0
  15. package/dist/commands/pages.js +87 -0
  16. package/dist/commands/pages.js.map +1 -0
  17. package/dist/commands/report-bug.d.ts +42 -0
  18. package/dist/commands/report-bug.js +98 -0
  19. package/dist/commands/report-bug.js.map +1 -0
  20. package/dist/commands/upgrade.d.ts +9 -2
  21. package/dist/commands/upgrade.js +27 -6
  22. package/dist/commands/upgrade.js.map +1 -1
  23. package/dist/editor/bug-report-panel.d.ts +23 -0
  24. package/dist/editor/bug-report-panel.js +191 -0
  25. package/dist/editor/bug-report-panel.js.map +1 -0
  26. package/dist/editor/hud-replay-page.d.ts +9 -0
  27. package/dist/editor/hud-replay-page.js +11 -1
  28. package/dist/editor/hud-replay-page.js.map +1 -1
  29. package/dist/editor/server.js +54 -1
  30. package/dist/editor/server.js.map +1 -1
  31. package/dist/editor/shell-page.js +11 -0
  32. package/dist/editor/shell-page.js.map +1 -1
  33. package/dist/project/context.d.ts +7 -0
  34. package/dist/project/context.js.map +1 -1
  35. package/dist/publish/bundle.d.ts +43 -0
  36. package/dist/publish/bundle.js +133 -29
  37. package/dist/publish/bundle.js.map +1 -1
  38. package/dist/publish/source-zip.d.ts +6 -0
  39. package/dist/publish/source-zip.js +1 -1
  40. package/dist/publish/source-zip.js.map +1 -1
  41. package/dist/scaffold/engine-capabilities.d.ts +4 -0
  42. package/dist/scaffold/engine-capabilities.js.map +1 -1
  43. package/dist/scaffold/game-migration.d.ts +25 -63
  44. package/dist/scaffold/game-migration.js +30 -439
  45. package/dist/scaffold/game-migration.js.map +1 -1
  46. package/dist/scaffold/github-pages.d.ts +83 -0
  47. package/dist/scaffold/github-pages.js +200 -0
  48. package/dist/scaffold/github-pages.js.map +1 -0
  49. package/dist/scaffold/import-codemod.d.ts +4 -3
  50. package/dist/scaffold/import-codemod.js +16 -34
  51. package/dist/scaffold/import-codemod.js.map +1 -1
  52. package/dist/scaffold/project-files.d.ts +11 -0
  53. package/dist/scaffold/project-files.js +21 -8
  54. package/dist/scaffold/project-files.js.map +1 -1
  55. package/dist/scaffold/skill-files.js +34 -3
  56. package/dist/scaffold/skill-files.js.map +1 -1
  57. package/dist/vendor/hud-theme/engine/hud/fonts.js +6 -4
  58. package/package.json +6 -6
  59. package/dist/scaffold/legacy-game-baselines.d.ts +0 -14
  60. package/dist/scaffold/legacy-game-baselines.js +0 -218
  61. package/dist/scaffold/legacy-game-baselines.js.map +0 -1
@@ -30,6 +30,13 @@ export interface ProjectMetadata {
30
30
  * `readRecordedAgents` does the narrowing, and reports what it dropped.
31
31
  */
32
32
  agents?: string[];
33
+ /**
34
+ * Where a GitHub Pages build (`bitmagic build --pages`) loads the engine's own files from:
35
+ * `"bitmagic-cdn"` (the default when absent), `"github-pages"` (the open engine's asset site,
36
+ * useful only once that site exists), or a root URL of a self-hosted copy. Typed `unknown`
37
+ * because this file is hand-editable; `pagesAssetHostMeta` in scaffold/github-pages.ts parses it.
38
+ */
39
+ pagesHosting?: unknown;
33
40
  }
34
41
  export interface ProjectContext {
35
42
  root: string;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/project/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/project/context.ts"],"names":[],"mappings":"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"}
@@ -90,3 +90,46 @@ options?: {
90
90
  singleFile?: boolean;
91
91
  stderr?: boolean;
92
92
  }): BuildManifest;
93
+ /** Where `bitmagic build --pages` puts its page, and the scratch directory it builds it from. */
94
+ export declare function pagesBundlePaths(root: string): {
95
+ dir: string;
96
+ htmlPath: string;
97
+ sourceDir: string;
98
+ };
99
+ /** What `bitmagic build --pages` made. Not recorded anywhere: nothing reuses a Pages build. */
100
+ export interface PagesBuildResult {
101
+ htmlPath: string;
102
+ /** Whether three.js, Rapier and the other CDN packages are inlined (`--single-file`). */
103
+ singleFile: boolean;
104
+ /** The `bm:asset-host` meta the page carries, or null: the Bitmagic CDN through the platform. */
105
+ assetHost: string | null;
106
+ bytes: number;
107
+ sha256: string;
108
+ }
109
+ /**
110
+ * The Vite config a Pages build runs: the project's own vendored publish config, with the static
111
+ * page as its input instead of the project's `index.html`. Everything else (aliases, the CDN
112
+ * table, `__BUNDLED__`, the Rapier stub, the licence banner, single-file output) is the vendored
113
+ * config's, so a Pages page ships exactly what a publish ships around a different entry module.
114
+ *
115
+ * Generated next to the page for each build rather than vendored, so the vendored configs stay
116
+ * byte-identical in every project and a project on an older scaffold needs no upgrade for it. Vite
117
+ * bundles a config's relative imports, which is how this file reaches the vendored one.
118
+ */
119
+ export declare function renderPagesViteConfig(baseConfigFile: string, inputHtml: string): string;
120
+ /**
121
+ * `bitmagic build --pages`: compile and bundle the project into `.bitmagic/pages/index.html`, the
122
+ * STATIC page the GitHub Pages workflow deploys (`scaffold/github-pages.ts`).
123
+ *
124
+ * The page differs from the publish bundle in its entry and its metas only: it boots
125
+ * `bitmagic/boot-static.js` (no platform services, so nothing calls api-server or game-server from
126
+ * a `*.github.io` origin) and declares `bm:platform` `bitmagic-static`, plus `bm:asset-host` for a
127
+ * non-default `pagesHosting`. It never touches `.bitmagic/build/`, whose manifest `publish` reuses.
128
+ *
129
+ * An engine without `staticPage` is refused before the compile, as is an unreadable `pagesHosting`.
130
+ */
131
+ export declare function runPagesBuild(root: string, options?: {
132
+ singleFile?: boolean;
133
+ stderr?: boolean;
134
+ pagesHosting?: unknown;
135
+ }): PagesBuildResult;
@@ -7,6 +7,9 @@ import { projectBin } from '../project/context.js';
7
7
  import { spawnBinSync } from '../project/spawn-bin.js';
8
8
  import { computeFingerprint } from './fingerprint.js';
9
9
  import { describeDevOnlyThreeUses, scanWorkForDevOnlyThree } from '../project/published-three.js';
10
+ import { readEngineCapabilities } from '../scaffold/engine-capabilities.js';
11
+ import { PAGES_OUTPUT_DIR, pagesAssetHostMeta, requireStaticPageEngine, } from '../scaffold/github-pages.js';
12
+ import { renderIndexHtml } from '../scaffold/project-files.js';
10
13
  /**
11
14
  * The configs the scaffold vendors alongside `engine/`, one per bundle mode.
12
15
  *
@@ -103,38 +106,22 @@ export function isCurrentBundle(root, fingerprint, singleFile) {
103
106
  return createHash('sha256').update(contents).digest('hex') === manifest.sha256;
104
107
  }
105
108
  /**
106
- * Compile and bundle the project into one HTML file, and record what was built.
107
- *
108
- * One file either way — `bitmagic publish` PUTs a single object and api-server range-reads that
109
- * same object to confirm the meta block, so there is nowhere for a second file to go. What the
110
- * mode changes is what is INSIDE it: by default the engine, the game and its data are inlined
111
- * while three.js, Rapier and the other CDN packages are fetched at runtime, matching what the
112
- * Creator publishes; `singleFile` inlines those too, for a game that must run with no network.
113
- *
114
- * Exit code 1 on failure, matching the table in the spec: a build failure is the creator's own
115
- * code, and the compiler's output has already been printed.
116
- *
117
- * The pre-flight below runs BEFORE `tsc`, not after: a project scaffolded before the config it
118
- * needs existed has none for vite to load, and without this check the creator pays a full
119
- * type-check and then reads a raw vite "config not found" that names no remedy. `bitmagic upgrade`
120
- * is the remedy — it vendors the file without touching game code — so the error says so. It names
121
- * the config for the mode actually asked for, since a project can easily have one and not the
122
- * other: the standalone config was added later than the default one.
123
- */
124
- export function runBuild(root, engineVersion,
125
- /**
126
- * `stderr: true` sends the compiler's and bundler's own chatter to stderr instead of inheriting
127
- * stdout — a `--json` run must keep stdout clean for its single result document.
109
+ * The pre-flight every bundle mode shares. It runs BEFORE `tsc`, not after: a project scaffolded
110
+ * before the config it needs existed has none for vite to load, and without this check the creator
111
+ * pays a full type-check and then reads a raw vite "config not found" that names no remedy.
128
112
  */
129
- options = {}) {
130
- const singleFile = options.singleFile === true;
131
- const configFile = publishConfigFor(singleFile);
113
+ function requirePublishConfig(root, configFile) {
132
114
  if (!fs.existsSync(path.join(root, configFile))) {
133
115
  throw new CliError(`This project has no ${configFile}, which \`bitmagic build\` needs to bundle it. ` +
134
116
  'It was added to the scaffold after this project was created — run `bitmagic upgrade` to ' +
135
117
  'vendor it (your game code is not touched), then build again.', 1);
136
118
  }
137
- const stdio = options.stderr === true ? ['ignore', 2, 2] : 'inherit';
119
+ }
120
+ function buildStdio(options) {
121
+ return options.stderr === true ? ['ignore', 2, 2] : 'inherit';
122
+ }
123
+ /** `tsc`, then the dev-only three.js scan: what has to pass before anything is bundled. */
124
+ function compileForBundle(root, stdio) {
138
125
  const tsc = projectBin(root, 'tsc');
139
126
  const compile = spawnBinSync(tsc, [], { cwd: root, stdio });
140
127
  if (compile.error)
@@ -146,8 +133,8 @@ options = {}) {
146
133
  const devOnlyThree = scanWorkForDevOnlyThree(root);
147
134
  if (devOnlyThree.length > 0)
148
135
  throw new CliError(`Build failed. ${describeDevOnlyThreeUses(devOnlyThree)}`, 1);
149
- const { dir, htmlPath } = buildBundlePaths(root);
150
- fs.mkdirSync(dir, { recursive: true });
136
+ }
137
+ function bundleWithVite(root, configFile, outDir, stdio) {
151
138
  const vite = projectBin(root, 'vite');
152
139
  // Covers `bitmagic build`, `bitmagic publish` and `bitmagic ios` in one
153
140
  // place: the vendored configs read BUNDLE_RAPIER_FLAVOR and stub the Rapier
@@ -155,7 +142,7 @@ options = {}) {
155
142
  // variable is OWNED here — an inherited value from the caller's shell never
156
143
  // overrides the game's own physics mode.
157
144
  const bundleEnv = { ...process.env, BUNDLE_RAPIER_FLAVOR: resolveRapierFlavor(root) };
158
- const bundle = spawnBinSync(vite, ['build', '--config', configFile, '--outDir', dir, '--emptyOutDir'], {
145
+ const bundle = spawnBinSync(vite, ['build', '--config', configFile, '--outDir', outDir, '--emptyOutDir'], {
159
146
  cwd: root,
160
147
  stdio,
161
148
  env: bundleEnv,
@@ -164,6 +151,40 @@ options = {}) {
164
151
  throw new CliError(`Could not run vite: ${bundle.error.message}`, 1);
165
152
  if (bundle.status !== 0)
166
153
  throw new CliError('Build failed: the bundle did not complete.', 1);
154
+ }
155
+ /**
156
+ * Compile and bundle the project into one HTML file, and record what was built.
157
+ *
158
+ * One file either way — `bitmagic publish` PUTs a single object and api-server range-reads that
159
+ * same object to confirm the meta block, so there is nowhere for a second file to go. What the
160
+ * mode changes is what is INSIDE it: by default the engine, the game and its data are inlined
161
+ * while three.js, Rapier and the other CDN packages are fetched at runtime, matching what the
162
+ * Creator publishes; `singleFile` inlines those too, for a game that must run with no network.
163
+ *
164
+ * Exit code 1 on failure, matching the table in the spec: a build failure is the creator's own
165
+ * code, and the compiler's output has already been printed.
166
+ *
167
+ * The pre-flight below runs BEFORE `tsc`, not after: a project scaffolded before the config it
168
+ * needs existed has none for vite to load, and without this check the creator pays a full
169
+ * type-check and then reads a raw vite "config not found" that names no remedy. `bitmagic upgrade`
170
+ * is the remedy — it vendors the file without touching game code — so the error says so. It names
171
+ * the config for the mode actually asked for, since a project can easily have one and not the
172
+ * other: the standalone config was added later than the default one.
173
+ */
174
+ export function runBuild(root, engineVersion,
175
+ /**
176
+ * `stderr: true` sends the compiler's and bundler's own chatter to stderr instead of inheriting
177
+ * stdout — a `--json` run must keep stdout clean for its single result document.
178
+ */
179
+ options = {}) {
180
+ const singleFile = options.singleFile === true;
181
+ const configFile = publishConfigFor(singleFile);
182
+ requirePublishConfig(root, configFile);
183
+ const stdio = buildStdio(options);
184
+ compileForBundle(root, stdio);
185
+ const { dir, htmlPath } = buildBundlePaths(root);
186
+ fs.mkdirSync(dir, { recursive: true });
187
+ bundleWithVite(root, configFile, dir, stdio);
167
188
  if (!fs.existsSync(htmlPath)) {
168
189
  throw new CliError(`Build produced no ${path.relative(root, htmlPath)}. Check ${configFile}.`, 1);
169
190
  }
@@ -179,4 +200,87 @@ options = {}) {
179
200
  writeBuildManifest(root, manifest);
180
201
  return manifest;
181
202
  }
203
+ /** Where `bitmagic build --pages` puts its page, and the scratch directory it builds it from. */
204
+ export function pagesBundlePaths(root) {
205
+ const dir = path.join(root, PAGES_OUTPUT_DIR);
206
+ return { dir, htmlPath: path.join(dir, 'index.html'), sourceDir: path.join(root, '.bitmagic', 'pages-src') };
207
+ }
208
+ /**
209
+ * The Vite config a Pages build runs: the project's own vendored publish config, with the static
210
+ * page as its input instead of the project's `index.html`. Everything else (aliases, the CDN
211
+ * table, `__BUNDLED__`, the Rapier stub, the licence banner, single-file output) is the vendored
212
+ * config's, so a Pages page ships exactly what a publish ships around a different entry module.
213
+ *
214
+ * Generated next to the page for each build rather than vendored, so the vendored configs stay
215
+ * byte-identical in every project and a project on an older scaffold needs no upgrade for it. Vite
216
+ * bundles a config's relative imports, which is how this file reaches the vendored one.
217
+ */
218
+ export function renderPagesViteConfig(baseConfigFile, inputHtml) {
219
+ return `// Generated by \`bitmagic build --pages\` for one build; never edit it, it is rewritten every time.
220
+ // The project's vendored ${baseConfigFile}, with the static GitHub Pages page as the input.
221
+ import base from '../../${baseConfigFile}';
222
+
223
+ export default {
224
+ ...base,
225
+ build: {
226
+ ...base.build,
227
+ rollupOptions: {
228
+ ...base.build.rollupOptions,
229
+ input: ${JSON.stringify(inputHtml)},
230
+ },
231
+ },
232
+ };
233
+ `;
234
+ }
235
+ /**
236
+ * `bitmagic build --pages`: compile and bundle the project into `.bitmagic/pages/index.html`, the
237
+ * STATIC page the GitHub Pages workflow deploys (`scaffold/github-pages.ts`).
238
+ *
239
+ * The page differs from the publish bundle in its entry and its metas only: it boots
240
+ * `bitmagic/boot-static.js` (no platform services, so nothing calls api-server or game-server from
241
+ * a `*.github.io` origin) and declares `bm:platform` `bitmagic-static`, plus `bm:asset-host` for a
242
+ * non-default `pagesHosting`. It never touches `.bitmagic/build/`, whose manifest `publish` reuses.
243
+ *
244
+ * An engine without `staticPage` is refused before the compile, as is an unreadable `pagesHosting`.
245
+ */
246
+ export function runPagesBuild(root, options = {}) {
247
+ const capabilities = readEngineCapabilities(path.join(root, 'engine'));
248
+ requireStaticPageEngine(capabilities);
249
+ const assetHost = pagesAssetHostMeta(options.pagesHosting);
250
+ const singleFile = options.singleFile === true;
251
+ const configFile = publishConfigFor(singleFile);
252
+ requirePublishConfig(root, configFile);
253
+ const stdio = buildStdio(options);
254
+ compileForBundle(root, stdio);
255
+ const { dir, htmlPath, sourceDir } = pagesBundlePaths(root);
256
+ fs.rmSync(sourceDir, { recursive: true, force: true });
257
+ fs.mkdirSync(sourceDir, { recursive: true });
258
+ const inputHtml = path.join(sourceDir, 'index.html');
259
+ fs.writeFileSync(inputHtml, renderIndexHtml({ capabilities, staticPage: { assetHost } }));
260
+ const pagesConfig = path.join(sourceDir, 'vite.pages.config.mjs');
261
+ fs.writeFileSync(pagesConfig, renderPagesViteConfig(configFile, inputHtml));
262
+ try {
263
+ bundleWithVite(root, path.relative(root, pagesConfig), dir, stdio);
264
+ // Vite writes an HTML input under its path relative to the root, so the page lands at
265
+ // <outDir>/.bitmagic/pages-src/index.html; Pages serves the directory's own index.html.
266
+ const inputRelative = path.relative(root, inputHtml);
267
+ const emitted = path.join(dir, inputRelative);
268
+ if (!fs.existsSync(emitted)) {
269
+ throw new CliError(`Build produced no ${path.relative(root, emitted)}. Check ${configFile}.`, 1);
270
+ }
271
+ fs.renameSync(emitted, htmlPath);
272
+ fs.rmSync(path.join(dir, inputRelative.split(path.sep)[0]), { recursive: true, force: true });
273
+ }
274
+ finally {
275
+ fs.rmSync(sourceDir, { recursive: true, force: true });
276
+ }
277
+ const contents = fs.readFileSync(htmlPath);
278
+ return {
279
+ htmlPath,
280
+ singleFile,
281
+ assetHost,
282
+ bytes: contents.byteLength,
283
+ sha256: createHash('sha256').update(contents).digest('hex'),
284
+ };
285
+ }
182
286
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/publish/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/publish/bundle.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,12 @@ export interface BuildSourceArchiveOptions {
26
26
  index: SourceIndex;
27
27
  gameId: string;
28
28
  engineVersion: string;
29
+ /**
30
+ * Where to write the archive. Defaults to {@link sourceArchivePath}; `report-bug` passes its own
31
+ * so a bug report never replaces the archive the last publish left behind. Keep it inside
32
+ * `.bitmagic/`, for the same fingerprint reason.
33
+ */
34
+ filePath?: string;
29
35
  /** Injected so tests get a stable manifest; production passes the real clock. */
30
36
  now?: () => Date;
31
37
  }
@@ -110,7 +110,7 @@ export async function buildSourceArchive(options) {
110
110
  omitted,
111
111
  engineHashes: Object.fromEntries(index.files.filter((f) => f.engineSha256 !== undefined).map((f) => [f.path, f.engineSha256])),
112
112
  };
113
- const filePath = sourceArchivePath(root);
113
+ const filePath = options.filePath ?? sourceArchivePath(root);
114
114
  fs.mkdirSync(path.dirname(filePath), { recursive: true });
115
115
  const hash = createHash('sha256');
116
116
  let bytes = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"source-zip.js","sourceRoot":"","sources":["../../src/publish/source-zip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-zip.js","sourceRoot":"","sources":["../../src/publish/source-zip.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@
21
21
  * URL tables (`loadAnimationAssets`) pass that preset explicitly instead of taking the engine's
22
22
  * default, which stops being Bitmagic's. Without it they import the module's `animationAssets`
23
23
  * as they always have.
24
+ * - `staticPage`: the engine carries `bitmagic/boot-static.js`, the entry of the static page
25
+ * `bitmagic build --pages` builds for GitHub Pages (no platform services, the engine's files
26
+ * on the Bitmagic CDN). Without it `bitmagic pages init` and `build --pages` refuse with an
27
+ * upgrade hint (`requireStaticPageEngine` in `github-pages.ts`).
24
28
  */
25
29
  export interface EngineCapabilities {
26
30
  readonly [name: string]: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"engine-capabilities.js","sourceRoot":"","sources":["../../src/scaffold/engine-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AA8B7B,2FAA2F;AAC3F,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;AAEpF,oFAAoF;AACpF,MAAM,CAAC,MAAM,sBAAsB,GAAuB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,cAAc,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IACnH,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,sBAAsB,CAAC;IAC3E,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACpG,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CACjC,YAAgC,EAChC,IAAY,EACZ,OAAO,GAAG,CAAC;IAEX,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,OAAO,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"engine-capabilities.js","sourceRoot":"","sources":["../../src/scaffold/engine-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAkC7B,2FAA2F;AAC3F,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;AAEpF,oFAAoF;AACpF,MAAM,CAAC,MAAM,sBAAsB,GAAuB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,cAAc,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IACnH,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,sBAAsB,CAAC;IAC3E,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACpG,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CACjC,YAAgC,EAChC,IAAY,EACZ,OAAO,GAAG,CAAC;IAEX,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,OAAO,CAAC;AACjD,CAAC"}
@@ -1,73 +1,19 @@
1
1
  import type * as TS from 'typescript';
2
- import { type LegacyBody } from './legacy-game-baselines.js';
2
+ import { type GameMigrationOutcome } from '@bitmagic/asset-core/game-migration';
3
3
  /**
4
- * `bitmagic upgrade --migrate-game`: turn a Game.ts written on the old baseline — a whole
5
- * `class VoxelGame implements GameModule` that built its own Spawner, VehicleManager,
6
- * VehicleSpawner and PlayerLoader and handed them to the engine with `setX()` — into the small
7
- * `class VoxelGame extends VoxelGameBase` every game is now, keeping only what the creator changed.
8
- *
9
- * It only rewrites what it can prove:
10
- *
11
- * - a member identical (token for token, comments and layout ignored) to the same member in any
12
- * released baseline is the default, and is dropped;
13
- * - `constructor`, `load`, `update` and `dispose` may additionally carry the creator's own
14
- * statements, but only inserted at a point a VoxelGameBase hook runs at — after the world
15
- * (`onWorldLoaded`), after the camera (`onCameraReady`), after the player controller
16
- * (`onPlayerReady`), at the end of a frame (`updateCamera`), beside the vehicles' disposal
17
- * (`disposeGameplay`), or at the very start or end of the method — and each default statement
18
- * must still be there, in order;
19
- * - a modified `setupCamera` or `setupVoxelLighting` stays as an override (both are hooks now);
20
- * - anything the creator added (fields, methods, top-level code) is kept as it is, with
21
- * `this.spawner` / `this.vehicleSpawner` read through `getSpawner()` / `getVehicleSpawner()`.
22
- *
23
- * Anything else — a default statement removed or edited, a statement added where no hook runs,
24
- * a changed member VoxelGameBase also declares — leaves the file unchanged and says why. The
25
- * result is then type-checked with the project's own compiler and put back if it does not
26
- * compile, so a migration that runs is one that compiles.
4
+ * `bitmagic upgrade --migrate-game`: rewrite a project's old `src/work/Game.ts` — a whole
5
+ * `class VoxelGame implements GameModule` (`GenreGameInterface` on older engines) — into the small `class VoxelGame extends VoxelGameBase`
6
+ * every game is now, keeping only what the creator changed. The rewrite itself, and what it can
7
+ * prove, is `@bitmagic/asset-core/game-migration` (the Creator agent's migration runs the same);
8
+ * this file runs it on a project and keeps the result only while the project type-checks.
27
9
  */
10
+ export type { GameMigrationOutcome } from '@bitmagic/asset-core/game-migration';
28
11
  export declare const GAME_FILE = "src/work/Game.ts";
29
12
  export declare const BASE_FILE = "src/work/VoxelGameBase.ts";
13
+ /** The step-by-step rewrite for the project's agent, when `--migrate-game` cannot prove one (vendored from game/agent-docs). */
14
+ export declare const GAME_MIGRATION_GUIDE = "engine/agent-docs/migrating-game-to-voxelgamebase.md";
30
15
  /** The new baseline, as the engine just vendored it. */
31
16
  export declare const VENDORED_BASELINE_DIR = "engine/baseline";
32
- /** The methods whose bodies may carry insertions, and the gaps they may sit in. */
33
- export type SegmentedMethod = 'constructor' | 'load' | 'update' | 'dispose';
34
- export declare const SEGMENTED_METHODS: readonly SegmentedMethod[];
35
- /** A statement or member compared by its tokens alone, so comments and layout never matter. */
36
- export declare function fingerprint(ts: typeof TS, node: TS.Node, sf: TS.SourceFile): string;
37
- /** What one Game.ts version contributes to the known defaults (the generator's half). */
38
- export interface LegacyGameShape {
39
- members: Record<string, string>;
40
- bodies: Partial<Record<SegmentedMethod, LegacyBody>>;
41
- }
42
- /**
43
- * The fingerprints of a pre-VoxelGameBase Game.ts — every member, plus the statement list and
44
- * hook gaps of each segmented method. Null when the file has no such class. Run over every
45
- * released baseline by `scripts/gen-legacy-game-baselines.mjs` to produce the known defaults.
46
- */
47
- export declare function describeLegacyGame(ts: typeof TS, text: string): LegacyGameShape | null;
48
- export type GameMigrationOutcome = {
49
- status: 'migrated';
50
- kept: string[];
51
- hooks: string[];
52
- wroteBase: boolean;
53
- } | {
54
- status: 'already-migrated';
55
- } | {
56
- status: 'skipped';
57
- reason: string;
58
- };
59
- export interface PlanResult {
60
- outcome: GameMigrationOutcome;
61
- /** The new Game.ts, when the outcome is `migrated`. */
62
- gameText?: string;
63
- }
64
- /**
65
- * Plan the rewrite of one Game.ts against the new baseline: pure, reads nothing but its inputs.
66
- *
67
- * `newBaselineGame` is the vendored `engine/baseline/Game.ts` (the file a game with nothing of
68
- * its own becomes, verbatim), `newBaseText` the vendored `VoxelGameBase.ts`.
69
- */
70
- export declare function planGameMigration(ts: typeof TS, oldText: string, newBaselineGame: string, newBaseText: string): PlanResult;
71
17
  export interface TypeCheckResult {
72
18
  ok: boolean;
73
19
  /** The compiler's output, for the report when it failed. */
@@ -78,6 +24,14 @@ export interface MigrateGameOptions {
78
24
  ts: typeof TS;
79
25
  /** Runs the project's type-check; the migration is kept only when it passes before and after. */
80
26
  typeCheck: () => TypeCheckResult;
27
+ /**
28
+ * The engine's templates (`<slug>/source/Game.ts`), unpacked beside the engine an upgrade just
29
+ * fetched, and the project's own template from bitmagic.json. A game started from a template
30
+ * carries that template's whole class, so it is compared with the template's history and
31
+ * rebuilt on the template's Game.ts today.
32
+ */
33
+ templatesDir?: string;
34
+ template?: string;
81
35
  }
82
36
  /**
83
37
  * Migrate `src/work/Game.ts` onto VoxelGameBase in place: plan it, write the new Game.ts and the
@@ -86,3 +40,11 @@ export interface MigrateGameOptions {
86
40
  * a failure afterwards could not be told apart from one it already had.
87
41
  */
88
42
  export declare function migrateGameFile(options: MigrateGameOptions): GameMigrationOutcome;
43
+ /**
44
+ * Whether src/work/Game.ts is still the old baseline's whole class, which logs the GameEngine
45
+ * `set*` deprecation warnings on every load. A cheap text check for the hint `upgrade` prints
46
+ * when `--migrate-game` was not passed; the migration itself parses the file.
47
+ */
48
+ export declare function isLegacyGameFile(root: string): boolean;
49
+ /** The guide's project-relative path, or null on an engine that predates it. */
50
+ export declare function gameMigrationGuide(root: string): string | null;