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

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 (160) hide show
  1. package/README.md +34 -3
  2. package/assets/metahuman/src/work/metahuman/MetaHumanMaterials.ts +4 -0
  3. package/assets/metahuman/src/work/metahuman/StudioEnvironment.ts +4 -0
  4. package/assets/optimizing-assets/SKILL.md +3 -2
  5. package/assets/optimizing-assets/references/tools.md +1 -1
  6. package/dist/assets/vxl-summary.js +1 -1
  7. package/dist/assets/vxl-summary.js.map +1 -1
  8. package/dist/cli.d.ts +9 -0
  9. package/dist/commands/steam-upload.js +6 -4
  10. package/dist/commands/steam-upload.js.map +1 -1
  11. package/dist/commands/steam.js +4 -2
  12. package/dist/commands/steam.js.map +1 -1
  13. package/dist/commands/upgrade.d.ts +18 -0
  14. package/dist/commands/upgrade.js +94 -1
  15. package/dist/commands/upgrade.js.map +1 -1
  16. package/dist/config/environments.d.ts +1 -1
  17. package/dist/editor/animation-preview-page.js +20 -0
  18. package/dist/editor/animation-preview-page.js.map +1 -1
  19. package/dist/editor/asset-viewer.js +4 -0
  20. package/dist/editor/asset-viewer.js.map +1 -1
  21. package/dist/editor/design.d.ts +2 -2
  22. package/dist/editor/design.js +2 -2
  23. package/dist/editor/design.js.map +1 -1
  24. package/dist/editor/hud-replay-page.js +5 -0
  25. package/dist/editor/hud-replay-page.js.map +1 -1
  26. package/dist/editor/recording-sink.js +1 -1
  27. package/dist/editor/runtime-token.d.ts +61 -0
  28. package/dist/editor/runtime-token.js +74 -0
  29. package/dist/editor/runtime-token.js.map +1 -0
  30. package/dist/editor/save.d.ts +2 -2
  31. package/dist/editor/server.js +39 -12
  32. package/dist/editor/server.js.map +1 -1
  33. package/dist/editor/shell-page.d.ts +12 -8
  34. package/dist/editor/shell-page.js +69 -10
  35. package/dist/editor/shell-page.js.map +1 -1
  36. package/dist/forge/browser-host.d.ts +1 -1
  37. package/dist/forge/browser-host.js +14 -11
  38. package/dist/forge/browser-host.js.map +1 -1
  39. package/dist/generate/model.js +4 -1
  40. package/dist/generate/model.js.map +1 -1
  41. package/dist/generate/prop.js +4 -1
  42. package/dist/generate/prop.js.map +1 -1
  43. package/dist/http/signed-upload.d.ts +6 -4
  44. package/dist/http/signed-upload.js +37 -14
  45. package/dist/http/signed-upload.js.map +1 -1
  46. package/dist/mobile/rewrite-shim.js +1 -1
  47. package/dist/project/published-three.js +4 -6
  48. package/dist/project/published-three.js.map +1 -1
  49. package/dist/publish/game-exchange.js +9 -3
  50. package/dist/publish/game-exchange.js.map +1 -1
  51. package/dist/scaffold/blender-level-skill-files.js +2 -2
  52. package/dist/scaffold/game-migration.d.ts +88 -0
  53. package/dist/scaffold/game-migration.js +492 -0
  54. package/dist/scaffold/game-migration.js.map +1 -0
  55. package/dist/scaffold/import-codemod.d.ts +51 -0
  56. package/dist/scaffold/import-codemod.js +117 -0
  57. package/dist/scaffold/import-codemod.js.map +1 -0
  58. package/dist/scaffold/legacy-game-baselines.d.ts +14 -0
  59. package/dist/scaffold/legacy-game-baselines.js +218 -0
  60. package/dist/scaffold/legacy-game-baselines.js.map +1 -0
  61. package/dist/scaffold/project-files.d.ts +1 -1
  62. package/dist/scaffold/project-files.js +13 -47
  63. package/dist/scaffold/project-files.js.map +1 -1
  64. package/dist/scaffold/project.js +8 -17
  65. package/dist/scaffold/project.js.map +1 -1
  66. package/dist/smoke/run.js +8 -1
  67. package/dist/smoke/run.js.map +1 -1
  68. package/dist/steam/art-generate.js +2 -1
  69. package/dist/steam/art-generate.js.map +1 -1
  70. package/dist/steam/art-render.js.map +1 -1
  71. package/dist/steam/art.js +1 -1
  72. package/dist/steam/art.js.map +1 -1
  73. package/dist/steam/check.js.map +1 -1
  74. package/dist/steam/electron-cache.d.ts +1 -1
  75. package/dist/steam/electron-cache.js +2 -2
  76. package/dist/steam/electron-cache.js.map +1 -1
  77. package/dist/steam/fuses.js +1 -1
  78. package/dist/steam/fuses.js.map +1 -1
  79. package/dist/steam/media.js +6 -2
  80. package/dist/steam/media.js.map +1 -1
  81. package/dist/steam/package-windows.d.ts +1 -2
  82. package/dist/steam/package-windows.js +1 -2
  83. package/dist/steam/package-windows.js.map +1 -1
  84. package/dist/steam/paths.d.ts +0 -2
  85. package/dist/steam/paths.js +0 -1
  86. package/dist/steam/paths.js.map +1 -1
  87. package/dist/steam/portal.js +1 -1
  88. package/dist/steam/portal.js.map +1 -1
  89. package/dist/steam/raster.d.ts +0 -1
  90. package/dist/steam/raster.js +1 -1
  91. package/dist/steam/raster.js.map +1 -1
  92. package/dist/steam/store-copy.d.ts +0 -1
  93. package/dist/steam/store-copy.js +3 -10
  94. package/dist/steam/store-copy.js.map +1 -1
  95. package/dist/steam/tags.js +6 -3
  96. package/dist/steam/tags.js.map +1 -1
  97. package/dist/theme/kernel.d.ts +14 -0
  98. package/dist/theme/kernel.js +15 -0
  99. package/dist/theme/kernel.js.map +1 -0
  100. package/dist/theme/theme-io.js +11 -16
  101. package/dist/theme/theme-io.js.map +1 -1
  102. package/dist/trailer/record-session.d.ts +1 -1
  103. package/dist/trailer/record-session.js +5 -8
  104. package/dist/trailer/record-session.js.map +1 -1
  105. package/dist/trailer/vendored-recorder.d.ts +8 -0
  106. package/dist/trailer/vendored-recorder.js +26 -0
  107. package/dist/trailer/vendored-recorder.js.map +1 -0
  108. package/dist/vendor/hud-theme/catalog.js +71 -0
  109. package/dist/vendor/hud-theme/engine/hud/ThemeTokens.js +115 -0
  110. package/dist/{theme/theme-color-math.js → vendor/hud-theme/engine/hud/colorMath.js} +13 -14
  111. package/dist/vendor/hud-theme/engine/hud/decorations.js +179 -0
  112. package/dist/vendor/hud-theme/engine/hud/fonts.js +147 -0
  113. package/dist/vendor/hud-theme/engine/hud/presets.js +80 -0
  114. package/dist/vendor/hud-theme/engine/hud/resolveWorldTheme.js +66 -0
  115. package/dist/vendor/hud-theme/engine/hud/themes/bitmagic.js +29 -0
  116. package/dist/vendor/hud-theme/engine/hud/themes/nexus.js +69 -0
  117. package/dist/vendor/hud-theme/engine/hud/themes/racing.js +57 -0
  118. package/dist/vendor/hud-theme/engine/hud/themes/rift-raider.js +63 -0
  119. package/dist/vendor/hud-theme/engine/hud/themes/simulator.js +55 -0
  120. package/dist/vendor/hud-theme/engine/hud/themes/village-keep.js +108 -0
  121. package/dist/vendor/hud-theme/engine/hud/validateTheme.js +535 -0
  122. package/dist/vendor/hud-theme/index.js +26 -0
  123. package/dist/{theme/theme-merge.js → vendor/hud-theme/merge.js} +0 -1
  124. package/dist/{theme/theme-report.js → vendor/hud-theme/report.js} +8 -9
  125. package/dist/{theme/theme-stored.js → vendor/hud-theme/stored.js} +6 -9
  126. package/dist/{theme/theme-validate.js → vendor/hud-theme/validate-strict.js} +102 -164
  127. package/dist/verify/browser.d.ts +6 -0
  128. package/dist/verify/browser.js +30 -3
  129. package/dist/verify/browser.js.map +1 -1
  130. package/dist/verify/categories.d.ts +1 -1
  131. package/dist/verify/categories.js +1 -0
  132. package/dist/verify/categories.js.map +1 -1
  133. package/dist/verify/classify.d.ts +7 -0
  134. package/dist/verify/classify.js +7 -0
  135. package/dist/verify/classify.js.map +1 -1
  136. package/dist/verify/hud-theme.d.ts +19 -14
  137. package/dist/verify/hud-theme.js +23 -17
  138. package/dist/verify/hud-theme.js.map +1 -1
  139. package/dist/verify/mobile-parity.d.ts +1 -1
  140. package/dist/verify/mobile-parity.js +1 -1
  141. package/dist/verify/model-downloads.d.ts +47 -0
  142. package/dist/verify/model-downloads.js +127 -0
  143. package/dist/verify/model-downloads.js.map +1 -0
  144. package/dist/verify/start.d.ts +3 -2
  145. package/dist/verify/start.js +1 -1
  146. package/dist/verify/start.js.map +1 -1
  147. package/package.json +11 -7
  148. package/dist/theme/hud-theme-catalog.d.ts +0 -235
  149. package/dist/theme/hud-theme-catalog.js +0 -389
  150. package/dist/theme/hud-theme-catalog.js.map +0 -1
  151. package/dist/theme/theme-color-math.d.ts +0 -21
  152. package/dist/theme/theme-color-math.js.map +0 -1
  153. package/dist/theme/theme-merge.d.ts +0 -36
  154. package/dist/theme/theme-merge.js.map +0 -1
  155. package/dist/theme/theme-report.d.ts +0 -28
  156. package/dist/theme/theme-report.js.map +0 -1
  157. package/dist/theme/theme-stored.d.ts +0 -21
  158. package/dist/theme/theme-stored.js.map +0 -1
  159. package/dist/theme/theme-validate.d.ts +0 -41
  160. package/dist/theme/theme-validate.js.map +0 -1
@@ -0,0 +1,117 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { createRequire } from 'module';
4
+ import { SPECIFIER_KINDS, applyTextEdits, findModuleSpecifiers, formatSpecifier, parseMovedModules, resolveSourceSpecifier, stemOf, } from '@bitmagic/asset-core/engine-specifiers';
5
+ import { ALIASES } from './aliases.js';
6
+ /**
7
+ * Where the vendored engine lists its moved modules: `engine/compat/aliases.ts` in the engine's
8
+ * own tree, which a project vendors under `engine/engine/`.
9
+ */
10
+ export const VENDORED_ALIASES_FILE = 'engine/engine/compat/aliases.ts';
11
+ /** The project's alias prefixes that name a directory of the vendored engine (`engine`, `types`, …). */
12
+ function engineAliasRoots() {
13
+ return ALIASES.filter((a) => a.sourceDir === `engine/${a.name}`).map((a) => a.name);
14
+ }
15
+ const SKIP_DIRS = new Set(['node_modules', 'dist', '.git']);
16
+ function listSourceFiles(dir, out = []) {
17
+ if (!fs.existsSync(dir))
18
+ return out;
19
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
20
+ if (SKIP_DIRS.has(entry.name))
21
+ continue;
22
+ const full = path.join(dir, entry.name);
23
+ if (entry.isDirectory())
24
+ listSourceFiles(full, out);
25
+ else if (/\.(ts|tsx|mts|cts)$/.test(entry.name))
26
+ out.push(full);
27
+ }
28
+ return out;
29
+ }
30
+ /**
31
+ * Rewrite the creator's imports of moved engine modules to the modules' new paths.
32
+ *
33
+ * An upgraded engine keeps a shim at every old path (so nothing breaks the day it lands), and
34
+ * lists the shims in `engine/compat/aliases.ts`. This reads that list from the engine just
35
+ * vendored — the same fixed-format parse the engine's own lint rule uses — and rewrites every
36
+ * specifier under `src/` that resolves into the vendored engine and names a moved module, in
37
+ * every form a specifier takes (static and dynamic imports, inline `import()` types, re-exports,
38
+ * `jest.mock`, `require`, `new URL(…, import.meta.url)`, `declare module`), keeping each one's
39
+ * alias-or-relative style and extension. Specifiers that point anywhere else — a package, the
40
+ * creator's own files — are never touched, and a second run finds nothing to do.
41
+ *
42
+ * The scan and the spelling are the ones `game/scripts/engine-move.mjs` runs inside the engine
43
+ * repo (`@bitmagic/asset-core/engine-specifiers`), so a creator's import ends up exactly where the
44
+ * engine's own imports of the same module did.
45
+ */
46
+ export function runImportCodemod(options) {
47
+ const { root, ts } = options;
48
+ const write = options.write !== false;
49
+ const specifiers = Object.fromEntries(SPECIFIER_KINDS.map((k) => [k, 0]));
50
+ const result = {
51
+ moveListFound: false,
52
+ movedModules: 0,
53
+ filesChanged: [],
54
+ specifiers,
55
+ total: 0,
56
+ computedDynamic: [],
57
+ };
58
+ const aliasesFile = path.join(root, VENDORED_ALIASES_FILE);
59
+ if (!fs.existsSync(aliasesFile))
60
+ return result;
61
+ result.moveListFound = true;
62
+ const moves = parseMovedModules(fs.readFileSync(aliasesFile, 'utf-8'));
63
+ result.movedModules = moves.length;
64
+ if (moves.length === 0)
65
+ return result;
66
+ // Keyed by the old path WITH .ts, as `resolveSourceSpecifier` reports it; a shim removed from a
67
+ // later engine still resolves here, so the rewrite does not depend on the old file existing.
68
+ const movedTo = new Map(moves.map((m) => [`${stemOf(m.from)}.ts`, m.to]));
69
+ const srcRoot = path.join(root, 'engine');
70
+ const resolveOptions = {
71
+ srcRoot,
72
+ aliasRoots: engineAliasRoots(),
73
+ exists: (abs) => movedTo.has(path.relative(srcRoot, abs).split(path.sep).join('/')) || fs.existsSync(abs),
74
+ };
75
+ for (const file of listSourceFiles(path.join(root, 'src'))) {
76
+ const text = fs.readFileSync(file, 'utf-8');
77
+ const scan = findModuleSpecifiers(ts, file, text);
78
+ const relFile = path.relative(root, file).split(path.sep).join('/');
79
+ for (const call of scan.computedDynamic)
80
+ result.computedDynamic.push(`${relFile}: ${call}`);
81
+ const edits = [];
82
+ for (const found of scan.specifiers) {
83
+ const resolved = resolveSourceSpecifier(found.value, file, resolveOptions);
84
+ const newRel = resolved ? movedTo.get(resolved.rel) : undefined;
85
+ if (!resolved || newRel === undefined)
86
+ continue;
87
+ const next = formatSpecifier(found.value, { newRel, viaIndex: resolved.viaIndex, targetMoves: true }, file, srcRoot);
88
+ if (next === found.value)
89
+ continue;
90
+ specifiers[found.kind]++;
91
+ result.total++;
92
+ edits.push({ start: found.start, end: found.end, text: `${found.quote}${next}${found.quote}` });
93
+ }
94
+ if (edits.length === 0)
95
+ continue;
96
+ result.filesChanged.push(relFile);
97
+ if (write)
98
+ fs.writeFileSync(file, applyTextEdits(text, edits));
99
+ }
100
+ return result;
101
+ }
102
+ /**
103
+ * The project's own TypeScript compiler, the one `bitmagic check` runs. The published CLI ships
104
+ * none (it would be a second ~20 MB copy of what every project already installs), so the codemods
105
+ * borrow it. Null when the project's dependencies are not installed.
106
+ */
107
+ export function loadProjectTypeScript(root) {
108
+ try {
109
+ return createRequire(path.join(root, 'package.json'))('typescript');
110
+ }
111
+ catch (error) {
112
+ if (error instanceof Error && 'code' in error && error.code === 'MODULE_NOT_FOUND')
113
+ return null;
114
+ throw error;
115
+ }
116
+ }
117
+ //# sourceMappingURL=import-codemod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-codemod.js","sourceRoot":"","sources":["../../src/scaffold/import-codemod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,GAGP,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,iCAAiC,CAAC;AAyBvE,wGAAwG;AACxG,SAAS,gBAAgB;IACvB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5D,SAAS,eAAe,CAAC,GAAW,EAAE,MAAgB,EAAE;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC/C,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA6B;IAC5D,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAkC,CAAC;IAC3G,MAAM,MAAM,GAAwB;QAClC,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,EAAE;QAChB,UAAU;QACV,KAAK,EAAE,CAAC;QACR,eAAe,EAAE,EAAE;KACpB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/C,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEtC,gGAAgG;IAChG,6FAA6F;IAC7F,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG;QACrB,OAAO;QACP,UAAU,EAAE,gBAAgB,EAAE;QAC9B,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;KAClH,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,oBAAoB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe;YAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC;QAE5F,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,IAAI,CAAC,QAAQ,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAS;YAChD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACrH,IAAI,IAAI,KAAK,KAAK,CAAC,KAAK;gBAAE,SAAS;YACnC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,KAAK;YAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,YAAY,CAAc,CAAC;IACnF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAChG,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * GENERATED by cli/scripts/gen-legacy-game-baselines.mjs from the git history of the baseline
3
+ * Game.ts (62 versions before VoxelGameBase) — do not edit by hand. Token fingerprints of
4
+ * every member, and of each segmented method's statements with the gaps a VoxelGameBase hook runs
5
+ * at: what `bitmagic upgrade --migrate-game` treats as the default (see game-migration.ts).
6
+ */
7
+ /** A segmented method body of one released baseline Game.ts. */
8
+ export interface LegacyBody {
9
+ statements: string[];
10
+ catchClause?: string;
11
+ anchors: Record<string, number>;
12
+ }
13
+ export declare const LEGACY_GAME_MEMBERS: Record<string, string[] | undefined>;
14
+ export declare const LEGACY_GAME_BODIES: Record<'constructor' | 'load' | 'update' | 'dispose', LegacyBody[]>;
@@ -0,0 +1,218 @@
1
+ /**
2
+ * GENERATED by cli/scripts/gen-legacy-game-baselines.mjs from the git history of the baseline
3
+ * Game.ts (62 versions before VoxelGameBase) — do not edit by hand. Token fingerprints of
4
+ * every member, and of each segmented method's statements with the gaps a VoxelGameBase hook runs
5
+ * at: what `bitmagic upgrade --migrate-game` treats as the default (see game-migration.ts).
6
+ */
7
+ export const LEGACY_GAME_MEMBERS = {
8
+ "ambientLighting": [
9
+ "46137ba2a93f6aa2"
10
+ ],
11
+ "applyDisplayMode": [
12
+ "257b5398db0373cc",
13
+ "2c466a30122c248c"
14
+ ],
15
+ "cameraController": [
16
+ "ac39312f806a0a3a"
17
+ ],
18
+ "cameraManager": [
19
+ "c0f764f0ea2778c7"
20
+ ],
21
+ "constructor": [
22
+ "1c2fcf8e751d5845",
23
+ "201d5e0e2f44b727",
24
+ "3df0a7df8e64f6b6",
25
+ "45be15bddd7cf9db",
26
+ "5597796edb7ac536",
27
+ "875dd7014d50734a",
28
+ "d86c9adb6ca48681",
29
+ "e998c4663b4b5683"
30
+ ],
31
+ "cullingWasEnabledBeforeRecording": [
32
+ "42d92c1d4a266c5e"
33
+ ],
34
+ "debugController": [
35
+ "74687178d1e0d8f0",
36
+ "7d3bea3e1d2786a1"
37
+ ],
38
+ "dispose": [
39
+ "0e105d3fb2261e5d",
40
+ "3010d8d7ef4a3ddb",
41
+ "3b41efb3f798a524",
42
+ "905b7ca67e2840d3",
43
+ "a07c4677b2985303",
44
+ "b889ce921ded2dbb",
45
+ "cf4574e971cdcef9",
46
+ "f846878656a687d4"
47
+ ],
48
+ "elapsedTime": [
49
+ "8f8596efaf1a9135"
50
+ ],
51
+ "engine": [
52
+ "7c8e549d3b5a40ae"
53
+ ],
54
+ "envCullingWasEnabledBeforeRecording": [
55
+ "2ced589018ff0334"
56
+ ],
57
+ "gameData": [
58
+ "844fab42484c890b"
59
+ ],
60
+ "gameId": [
61
+ "49f82897d2848e74"
62
+ ],
63
+ "getAnimationController": [
64
+ "f40eff32c83c08f3"
65
+ ],
66
+ "getCurrentPlayer": [
67
+ "98f8165d9642fe79"
68
+ ],
69
+ "getHemisphereLight": [
70
+ "2e0d1ef2543fdf6f"
71
+ ],
72
+ "getSpawner": [
73
+ "645cd9ce155f072c"
74
+ ],
75
+ "getVehicleSpawner": [
76
+ "7a0473c4e81afe17"
77
+ ],
78
+ "getWorldSeed": [
79
+ "7a40cf5507beef3b"
80
+ ],
81
+ "hasOverlaySplat": [
82
+ "d418c82ec4acc1cb"
83
+ ],
84
+ "hemisphereLight": [
85
+ "6fab274cbf243240"
86
+ ],
87
+ "hud": [
88
+ "9131e5efcf566e35",
89
+ "9a9a60a253ecbbf5"
90
+ ],
91
+ "load": [
92
+ "212f44c2dd56d098",
93
+ "23129fc814c2847c",
94
+ "27cd89162bf29e18",
95
+ "35451816e759a663",
96
+ "40b9ac355d33d2ec",
97
+ "65defd7032eff52b",
98
+ "66c8d0fdd34f100e",
99
+ "85f249ec68fbbe40",
100
+ "8c697bced07f1dde",
101
+ "9753c0b58f4cacd0",
102
+ "9db25bea6700d7f2",
103
+ "a535891818b9516e",
104
+ "ea903ebdd189cd8b",
105
+ "f7d837c37db187c9"
106
+ ],
107
+ "loadCustomAnimations": [
108
+ "02da11475c2dfa00",
109
+ "5f7981a12b558750",
110
+ "b3235bc95d11d05f",
111
+ "cf8e5b7efdc1255f"
112
+ ],
113
+ "npcRegistry": [
114
+ "4a674248e88c81ba"
115
+ ],
116
+ "onOverlaySplatLoaded": [
117
+ "736e8129ffa60f04",
118
+ "9ea46f40d61ab169"
119
+ ],
120
+ "onWindowResize": [
121
+ "6a3db254b010ac29"
122
+ ],
123
+ "player": [
124
+ "a8ae83df13991554"
125
+ ],
126
+ "playerController": [
127
+ "972abd900b223bbc"
128
+ ],
129
+ "playerLoader": [
130
+ "8298a3bd5abb28bf"
131
+ ],
132
+ "setupCamera": [
133
+ "555948b75ced6e94",
134
+ "5738adad4180103b",
135
+ "84322b4af5f85abd",
136
+ "b0dd5877961d936a"
137
+ ],
138
+ "setupOverlaySplatDisplayMode": [
139
+ "b3d85d9ff059ca51"
140
+ ],
141
+ "setupPlayerController": [
142
+ "2a30fa97012622fe",
143
+ "47a2262225798d0d",
144
+ "5744262ea3040eba",
145
+ "659b1150008011bd",
146
+ "859344c3ae727948",
147
+ "baa33f1bc1c95c56",
148
+ "eecffb88c216a086",
149
+ "f6726de12378248b",
150
+ "f8f514798aea6d86"
151
+ ],
152
+ "setupVoxelLighting": [
153
+ "34b25553238a2132",
154
+ "3d504a80ab5f0830",
155
+ "42c3603b2f3e555c",
156
+ "8b0aa242aa953ca8",
157
+ "a308b719363368dd",
158
+ "a89ceb2fe0371fb2",
159
+ "d887e44460af731d"
160
+ ],
161
+ "skyboxLoader": [
162
+ "79ca4a2a107b0f7f"
163
+ ],
164
+ "spawner": [
165
+ "48a91c18044bfe7c"
166
+ ],
167
+ "splatDisplayMode": [
168
+ "e7e222111eb26832"
169
+ ],
170
+ "syncPlayerPhysics": [
171
+ "16dd7ab68e02d45b",
172
+ "9eeaa9b0581f0cb9"
173
+ ],
174
+ "unregisterViewPreparer": [
175
+ "afe66368819d2ab8"
176
+ ],
177
+ "update": [
178
+ "2116a0e005e52d56",
179
+ "235e9265e95cba9a",
180
+ "2c4f1402ed227b54",
181
+ "40a3df87e6815c71",
182
+ "4b330fcc94c3cde3",
183
+ "6087c74fe242ac94",
184
+ "668b5e8f86c19be8",
185
+ "68c251f7f380c593",
186
+ "7cdef6d995816093",
187
+ "914e88adf0093ccb",
188
+ "9f46c6e21eaf0e60",
189
+ "a1adb8803cfcfa92",
190
+ "aa6d5d1d31015047",
191
+ "be44cc882b778a3f",
192
+ "d004049a3d78466e"
193
+ ],
194
+ "vehicleManager": [
195
+ "df6fae44be88b804"
196
+ ],
197
+ "vehicleSpawner": [
198
+ "3bd28f63cf5422fd"
199
+ ],
200
+ "vKeyHandler": [
201
+ "95b832041342b6aa"
202
+ ],
203
+ "wasRecordingFrames": [
204
+ "3a545476eed7f258"
205
+ ],
206
+ "world": [
207
+ "04f4f195331ab74d"
208
+ ],
209
+ "worldGenerator": [
210
+ "743dbe7543e6e8c8",
211
+ "afbd2c2043cb92d3"
212
+ ],
213
+ "worldProfileData": [
214
+ "d0a9d2fc24c56e7b"
215
+ ]
216
+ };
217
+ export const LEGACY_GAME_BODIES = { "constructor": [{ "statements": ["8acc511dff1a5e7d", "5cd5f07971f053bd", "bb1fb672e8147326", "700ade8eaf24b93e", "d8339a336c3a8020", "d24a95b025a30320", "6ca28e47624cee4b", "552d26e5cfa17db6", "cbf338b796e616b1", "bf4d3058d4d661e6", "7d7f466b3f165592", "a4f3f516b2dc87b9", "a0ce21ad280934dc", "0067123367eb6042", "de31ac791ec40388", "28401f96e77f2bbf", "5fbe6502e0444975", "00dd8f7f11abd875", "b32077f257c28a73", "693a6e6d29d2d631", "d3e8b4c6e4c8952a", "5ba9aeb32fd154bf"], "anchors": { "end": 22 } }, { "statements": ["8acc511dff1a5e7d", "5cd5f07971f053bd", "bb1fb672e8147326", "700ade8eaf24b93e", "d8339a336c3a8020", "d24a95b025a30320", "6ca28e47624cee4b", "552d26e5cfa17db6", "eee15db672c30b81", "bf4d3058d4d661e6", "7d7f466b3f165592", "a4f3f516b2dc87b9", "a0ce21ad280934dc", "0067123367eb6042", "de31ac791ec40388", "28401f96e77f2bbf", "5fbe6502e0444975", "00dd8f7f11abd875", "b32077f257c28a73", "693a6e6d29d2d631", "d3e8b4c6e4c8952a", "5ba9aeb32fd154bf", "f93bdd48148fbc82"], "anchors": { "end": 23 } }, { "statements": ["8acc511dff1a5e7d", "5cd5f07971f053bd", "bb1fb672e8147326", "700ade8eaf24b93e", "d8339a336c3a8020", "d24a95b025a30320", "6ca28e47624cee4b", "552d26e5cfa17db6", "eee15db672c30b81", "bf4d3058d4d661e6", "7d7f466b3f165592", "a4f3f516b2dc87b9", "a0ce21ad280934dc", "0067123367eb6042", "de31ac791ec40388", "28401f96e77f2bbf", "5fbe6502e0444975", "00dd8f7f11abd875", "b32077f257c28a73", "693a6e6d29d2d631", "d3e8b4c6e4c8952a", "5ba9aeb32fd154bf"], "anchors": { "end": 22 } }, { "statements": ["8acc511dff1a5e7d", "5cd5f07971f053bd", "bb1fb672e8147326", "700ade8eaf24b93e", "d8339a336c3a8020", "d24a95b025a30320", "6ca28e47624cee4b", "552d26e5cfa17db6", "eee15db672c30b81", "bf4d3058d4d661e6", "7d7f466b3f165592", "a4f3f516b2dc87b9", "a0ce21ad280934dc", "0067123367eb6042", "b69197e5a864bade", "df83df694ae005e9", "28401f96e77f2bbf", "5fbe6502e0444975", "00dd8f7f11abd875", "b32077f257c28a73", "693a6e6d29d2d631", "d3e8b4c6e4c8952a", "5ba9aeb32fd154bf"], "anchors": { "end": 23 } }, { "statements": ["8acc511dff1a5e7d", "5cd5f07971f053bd", "bb1fb672e8147326", "700ade8eaf24b93e", "d8339a336c3a8020", "d24a95b025a30320", "6ca28e47624cee4b", "552d26e5cfa17db6", "eee15db672c30b81", "bf4d3058d4d661e6", "7d7f466b3f165592", "a4f3f516b2dc87b9", "a0ce21ad280934dc", "0067123367eb6042", "b69197e5a864bade", "df83df694ae005e9", "28401f96e77f2bbf", "5fbe6502e0444975", "00dd8f7f11abd875", "4c7df5db9e55d02b", "b32077f257c28a73", "693a6e6d29d2d631", "d3e8b4c6e4c8952a", "5ba9aeb32fd154bf"], "anchors": { "end": 24 } }, { "statements": ["8acc511dff1a5e7d", "5cd5f07971f053bd", "bb1fb672e8147326", "700ade8eaf24b93e", "d8339a336c3a8020", "d24a95b025a30320", "6ca28e47624cee4b", "552d26e5cfa17db6", "eee15db672c30b81", "bf4d3058d4d661e6", "7d7f466b3f165592", "a4f3f516b2dc87b9", "a0ce21ad280934dc", "0067123367eb6042", "cdfc439e72d4ada9", "28401f96e77f2bbf", "5fbe6502e0444975", "00dd8f7f11abd875", "4c7df5db9e55d02b", "b32077f257c28a73", "693a6e6d29d2d631", "d3e8b4c6e4c8952a", "5ba9aeb32fd154bf"], "anchors": { "end": 23 } }, { "statements": ["8acc511dff1a5e7d", "5cd5f07971f053bd", "bb1fb672e8147326", "700ade8eaf24b93e", "d8339a336c3a8020", "d24a95b025a30320", "6ca28e47624cee4b", "552d26e5cfa17db6", "eee15db672c30b81", "bf4d3058d4d661e6", "7d7f466b3f165592", "a4f3f516b2dc87b9", "538d754d0a1f9f73", "84fae81acff38a21", "28401f96e77f2bbf", "5fbe6502e0444975", "00dd8f7f11abd875", "4c7df5db9e55d02b", "b32077f257c28a73", "693a6e6d29d2d631", "d3e8b4c6e4c8952a", "5ba9aeb32fd154bf"], "anchors": { "end": 22 } }, { "statements": ["8acc511dff1a5e7d", "5cd5f07971f053bd", "bb1fb672e8147326", "700ade8eaf24b93e", "d8339a336c3a8020", "d24a95b025a30320", "6ca28e47624cee4b", "552d26e5cfa17db6", "eee15db672c30b81", "bf4d3058d4d661e6", "7d7f466b3f165592", "a4f3f516b2dc87b9", "84fae81acff38a21", "28401f96e77f2bbf", "5fbe6502e0444975", "00dd8f7f11abd875", "4c7df5db9e55d02b", "b32077f257c28a73", "693a6e6d29d2d631", "d3e8b4c6e4c8952a", "5ba9aeb32fd154bf"], "anchors": { "end": 21 } }], "load": [{ "statements": ["d7b2a97994fe18d2", "715b60be7a4df190", "db4a7bf4627876fb", "7c8a8abee2952dcb", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "98f59241f91a62b9", "6c30494b26fcd0d4", "14c6531e6003e303", "47cbfd0169d4f99d", "3ab41ca3f06aa80b", "133ae8b09090c2dd", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "2d0a37a9f51df69e", "a44089bcc669720c", "0d0cfa3dc82864a7", "fb51fab1316096ef", "54b0a294fb2d4082", "bb0baaf166b758c9", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 23, "onWorldLoaded": 12, "onCameraReady": 16, "onPlayerReady": 18 } }, { "statements": ["d7b2a97994fe18d2", "e31aa991a14960f7", "db4a7bf4627876fb", "7c8a8abee2952dcb", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "98f59241f91a62b9", "6c30494b26fcd0d4", "14c6531e6003e303", "47cbfd0169d4f99d", "3ab41ca3f06aa80b", "133ae8b09090c2dd", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "2d0a37a9f51df69e", "a44089bcc669720c", "0d0cfa3dc82864a7", "fb51fab1316096ef", "54b0a294fb2d4082", "bb0baaf166b758c9", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 23, "onWorldLoaded": 12, "onCameraReady": 16, "onPlayerReady": 18 } }, { "statements": ["d7b2a97994fe18d2", "e31aa991a14960f7", "db4a7bf4627876fb", "7c8a8abee2952dcb", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "98f59241f91a62b9", "6c30494b26fcd0d4", "14c6531e6003e303", "47cbfd0169d4f99d", "3ab41ca3f06aa80b", "133ae8b09090c2dd", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "4f3fda69d22f3303", "a44089bcc669720c", "0d0cfa3dc82864a7", "fb51fab1316096ef", "54b0a294fb2d4082", "bb0baaf166b758c9", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 23, "onWorldLoaded": 12, "onCameraReady": 16, "onPlayerReady": 18 } }, { "statements": ["d7b2a97994fe18d2", "e31aa991a14960f7", "db4a7bf4627876fb", "7c8a8abee2952dcb", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "94ce174661a6cf32", "98f59241f91a62b9", "6c30494b26fcd0d4", "14c6531e6003e303", "47cbfd0169d4f99d", "3ab41ca3f06aa80b", "133ae8b09090c2dd", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "4f3fda69d22f3303", "a44089bcc669720c", "0d0cfa3dc82864a7", "fb51fab1316096ef", "54b0a294fb2d4082", "bb0baaf166b758c9", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 24, "onWorldLoaded": 13, "onCameraReady": 17, "onPlayerReady": 19 } }, { "statements": ["d7b2a97994fe18d2", "e31aa991a14960f7", "db4a7bf4627876fb", "7c8a8abee2952dcb", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "94ce174661a6cf32", "98f59241f91a62b9", "6c30494b26fcd0d4", "14c6531e6003e303", "47cbfd0169d4f99d", "3ab41ca3f06aa80b", "133ae8b09090c2dd", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "4f3fda69d22f3303", "a44089bcc669720c", "0d0cfa3dc82864a7", "fb51fab1316096ef", "54b0a294fb2d4082", "bb0baaf166b758c9", "c728f03dd554aaff", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 25, "onWorldLoaded": 13, "onCameraReady": 17, "onPlayerReady": 19 } }, { "statements": ["d7b2a97994fe18d2", "5c25252815636fbd", "db4a7bf4627876fb", "7c8a8abee2952dcb", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "94ce174661a6cf32", "98f59241f91a62b9", "6c30494b26fcd0d4", "14c6531e6003e303", "47cbfd0169d4f99d", "3ab41ca3f06aa80b", "133ae8b09090c2dd", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "4f3fda69d22f3303", "a44089bcc669720c", "0d0cfa3dc82864a7", "fb51fab1316096ef", "54b0a294fb2d4082", "bb0baaf166b758c9", "c728f03dd554aaff", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 25, "onWorldLoaded": 13, "onCameraReady": 17, "onPlayerReady": 19 } }, { "statements": ["d7b2a97994fe18d2", "5c25252815636fbd", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "94ce174661a6cf32", "51f75771b692e753", "6c30494b26fcd0d4", "14c6531e6003e303", "47cbfd0169d4f99d", "3ab41ca3f06aa80b", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "4f3fda69d22f3303", "a44089bcc669720c", "0d0cfa3dc82864a7", "fb51fab1316096ef", "54b0a294fb2d4082", "bb0baaf166b758c9", "c728f03dd554aaff", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 22, "onWorldLoaded": 11, "onCameraReady": 14, "onPlayerReady": 16 } }, { "statements": ["d7b2a97994fe18d2", "5c25252815636fbd", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "94ce174661a6cf32", "85743fead4da02b8", "51f75771b692e753", "6c30494b26fcd0d4", "14c6531e6003e303", "47cbfd0169d4f99d", "3ab41ca3f06aa80b", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "4f3fda69d22f3303", "a44089bcc669720c", "0d0cfa3dc82864a7", "fb51fab1316096ef", "54b0a294fb2d4082", "bb0baaf166b758c9", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 22, "onWorldLoaded": 12, "onCameraReady": 15, "onPlayerReady": 17 } }, { "statements": ["d7b2a97994fe18d2", "5c25252815636fbd", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "94ce174661a6cf32", "85743fead4da02b8", "c12fec6660d25ca7", "086cd35b9d86bd3c", "ce5115967d6dc4f1", "ae4862bc305a9182", "51f75771b692e753", "6c30494b26fcd0d4", "14c6531e6003e303", "47cbfd0169d4f99d", "3ab41ca3f06aa80b", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "4f3fda69d22f3303", "a44089bcc669720c", "0d0cfa3dc82864a7", "fb51fab1316096ef", "54b0a294fb2d4082", "bb0baaf166b758c9", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 26, "onWorldLoaded": 16, "onCameraReady": 19, "onPlayerReady": 21 } }, { "statements": ["d7b2a97994fe18d2", "5c25252815636fbd", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "94ce174661a6cf32", "85743fead4da02b8", "c12fec6660d25ca7", "086cd35b9d86bd3c", "ce5115967d6dc4f1", "ae4862bc305a9182", "51f75771b692e753", "6c30494b26fcd0d4", "14c6531e6003e303", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "4f3fda69d22f3303", "a44089bcc669720c", "0d0cfa3dc82864a7", "fb51fab1316096ef", "54b0a294fb2d4082", "bb0baaf166b758c9", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 24, "onWorldLoaded": 14, "onCameraReady": 17, "onPlayerReady": 19 } }, { "statements": ["d7b2a97994fe18d2", "5c25252815636fbd", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "94ce174661a6cf32", "85743fead4da02b8", "51f75771b692e753", "6c30494b26fcd0d4", "14c6531e6003e303", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "4f3fda69d22f3303", "a44089bcc669720c", "54b0a294fb2d4082", "bb0baaf166b758c9", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 18, "onWorldLoaded": 10, "onCameraReady": 13, "onPlayerReady": 15 } }, { "statements": ["d7b2a97994fe18d2", "cc1939f4e1ad89ae", "5c25252815636fbd", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "94ce174661a6cf32", "85743fead4da02b8", "51f75771b692e753", "6c30494b26fcd0d4", "14c6531e6003e303", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "4f3fda69d22f3303", "a44089bcc669720c", "54b0a294fb2d4082", "bb0baaf166b758c9", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 19, "onWorldLoaded": 11, "onCameraReady": 14, "onPlayerReady": 16 } }, { "statements": ["d7b2a97994fe18d2", "cc1939f4e1ad89ae", "885abe21c50d0a4e", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "94ce174661a6cf32", "85743fead4da02b8", "51f75771b692e753", "6c30494b26fcd0d4", "14c6531e6003e303", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "4f3fda69d22f3303", "a44089bcc669720c", "54b0a294fb2d4082", "bb0baaf166b758c9", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 19, "onWorldLoaded": 11, "onCameraReady": 14, "onPlayerReady": 16 } }, { "statements": ["d7b2a97994fe18d2", "cc1939f4e1ad89ae", "885abe21c50d0a4e", "465ea4a6a594fe08", "aa7a89bd181f58cb", "eecf461f56a7abde", "94ce174661a6cf32", "85743fead4da02b8", "51f75771b692e753", "6c30494b26fcd0d4", "14c6531e6003e303", "e0888beb263e45db", "bb5c03aff2778a06", "fb78701211b3dd6c", "315aa630b966acae", "a44089bcc669720c", "54b0a294fb2d4082", "bb0baaf166b758c9", "47f6366f44bfe5d7"], "catchClause": "d00eef4761c3db7d", "anchors": { "end": 19, "onWorldLoaded": 11, "onCameraReady": 14, "onPlayerReady": 16 } }], "update": [{ "statements": ["96b9eb58df5cdf12", "08eb5cc38b9e0317", "6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "4e936fceab8d442d", "f2a25f0fb1862a62", "39ecf48ddd38f566", "5f831f60809f4696"], "anchors": { "start": 0, "end": 10 } }, { "statements": ["96b9eb58df5cdf12", "08eb5cc38b9e0317", "6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "f2a25f0fb1862a62", "39ecf48ddd38f566", "5f831f60809f4696"], "anchors": { "start": 0, "end": 10 } }, { "statements": ["96b9eb58df5cdf12", "08eb5cc38b9e0317", "6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "f2a25f0fb1862a62", "cdfc7b4ada946a59", "5f831f60809f4696"], "anchors": { "start": 0, "end": 10 } }, { "statements": ["96b9eb58df5cdf12", "08eb5cc38b9e0317", "6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "7241e805a8c384fb", "cdfc7b4ada946a59", "5f831f60809f4696"], "anchors": { "start": 0, "end": 10 } }, { "statements": ["96b9eb58df5cdf12", "08eb5cc38b9e0317", "6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "3a1294ea8d39603a", "cdfc7b4ada946a59", "5f831f60809f4696"], "anchors": { "start": 0, "end": 10 } }, { "statements": ["96b9eb58df5cdf12", "08eb5cc38b9e0317", "6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "69622b61e4d028b9", "cdfc7b4ada946a59", "5f831f60809f4696"], "anchors": { "start": 0, "end": 10 } }, { "statements": ["96b9eb58df5cdf12", "08eb5cc38b9e0317", "6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "f6ca9154143ca570", "cdfc7b4ada946a59", "5f831f60809f4696"], "anchors": { "start": 0, "end": 10 } }, { "statements": ["96b9eb58df5cdf12", "08eb5cc38b9e0317", "6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "a82c95b174b53b07", "cdfc7b4ada946a59", "5f831f60809f4696"], "anchors": { "start": 0, "end": 10 } }, { "statements": ["96b9eb58df5cdf12", "08eb5cc38b9e0317", "6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "a82c95b174b53b07", "cdfc7b4ada946a59", "5f831f60809f4696", "32551fdfd28deba6"], "anchors": { "start": 0, "end": 11 } }, { "statements": ["6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "a82c95b174b53b07", "cdfc7b4ada946a59", "5f831f60809f4696", "32551fdfd28deba6"], "anchors": { "start": 0, "end": 9 } }, { "statements": ["6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "a82c95b174b53b07", "7147ae8695984061", "5f831f60809f4696", "32551fdfd28deba6"], "anchors": { "start": 0, "end": 9 } }, { "statements": ["6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "6386d8441f61a2c5", "7147ae8695984061", "5f831f60809f4696", "32551fdfd28deba6"], "anchors": { "start": 0, "end": 9 } }, { "statements": ["6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "6ad1670733df27ec", "7147ae8695984061", "5f831f60809f4696", "32551fdfd28deba6"], "anchors": { "start": 0, "end": 9 } }, { "statements": ["6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "414d2d6639f0303b", "7147ae8695984061", "5f831f60809f4696", "32551fdfd28deba6"], "anchors": { "start": 0, "end": 9 } }, { "statements": ["6af7a28e8cc3f83d", "3451e830e142d882", "9ed70b1e888f86f4", "cfe5abe9b5902171", "324add35ad6bc941", "c0562d541d19d2c6", "7147ae8695984061", "5f831f60809f4696", "32551fdfd28deba6"], "anchors": { "start": 0, "end": 9 } }], "dispose": [{ "statements": ["f2b3557c159e8c0a", "2dac5571523cf203", "918769a779cbd92c", "5198da4b3694adf6", "6c2e7191aebaa5f5", "864c7405fbb10588", "f520c6b90afcb977", "b6b7ecd70a66510d", "45ae35c0fa85d048", "695bb5ef6b528318", "cdc5352cf995c314", "5ec1887ea9c173fb", "4fcb5228d42f4203", "cff3dd595815a070", "6b0595718cb98e30", "7724af9af6ccb8be"], "anchors": { "start": 0, "end": 16, "disposeGameplay": 3 } }, { "statements": ["f2b3557c159e8c0a", "2dac5571523cf203", "5198da4b3694adf6", "6c2e7191aebaa5f5", "864c7405fbb10588", "f520c6b90afcb977", "b6b7ecd70a66510d", "45ae35c0fa85d048", "695bb5ef6b528318", "cdc5352cf995c314", "5ec1887ea9c173fb", "4fcb5228d42f4203"], "anchors": { "start": 0, "end": 12 } }, { "statements": ["5198da4b3694adf6", "6c2e7191aebaa5f5", "864c7405fbb10588", "f520c6b90afcb977", "b6b7ecd70a66510d", "45ae35c0fa85d048", "695bb5ef6b528318", "cdc5352cf995c314", "5ec1887ea9c173fb", "4fcb5228d42f4203"], "anchors": { "start": 0, "end": 10 } }, { "statements": ["a5dd5e24c5446ff2", "5198da4b3694adf6", "6c2e7191aebaa5f5", "864c7405fbb10588", "f520c6b90afcb977", "b6b7ecd70a66510d", "45ae35c0fa85d048", "695bb5ef6b528318", "cdc5352cf995c314", "5ec1887ea9c173fb", "4fcb5228d42f4203"], "anchors": { "start": 0, "end": 11 } }, { "statements": ["a5dd5e24c5446ff2", "5198da4b3694adf6", "6c2e7191aebaa5f5", "864c7405fbb10588", "f520c6b90afcb977", "b6b7ecd70a66510d", "45ae35c0fa85d048", "695bb5ef6b528318", "e4793655c213b645", "cdc5352cf995c314", "5ec1887ea9c173fb", "4fcb5228d42f4203"], "anchors": { "start": 0, "end": 12 } }, { "statements": ["5198da4b3694adf6", "6c2e7191aebaa5f5", "864c7405fbb10588", "8efe108a68d0d020", "f520c6b90afcb977", "b6b7ecd70a66510d", "45ae35c0fa85d048", "695bb5ef6b528318", "e4793655c213b645", "cdc5352cf995c314", "5ec1887ea9c173fb", "4fcb5228d42f4203"], "anchors": { "start": 0, "end": 12 } }, { "statements": ["5198da4b3694adf6", "6c2e7191aebaa5f5", "b20176b980e069cc", "8efe108a68d0d020", "f520c6b90afcb977", "b6b7ecd70a66510d", "45ae35c0fa85d048", "695bb5ef6b528318", "e4793655c213b645", "cdc5352cf995c314", "5ec1887ea9c173fb", "4fcb5228d42f4203"], "anchors": { "start": 0, "end": 12 } }, { "statements": ["5198da4b3694adf6", "6c2e7191aebaa5f5", "b20176b980e069cc", "8efe108a68d0d020", "f520c6b90afcb977", "b6b7ecd70a66510d", "45ae35c0fa85d048", "695bb5ef6b528318", "e4793655c213b645", "2c3770f4e822b729", "e5c3b14dd99614f1"], "anchors": { "start": 0, "end": 11 } }] };
218
+ //# sourceMappingURL=legacy-game-baselines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-game-baselines.js","sourceRoot":"","sources":["../../src/scaffold/legacy-game-baselines.ts"],"names":[],"mappings":"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AK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,aAAa,EAAC,kBAAkB,EAAC,SAAS,EAAC,EAAC,KAAK,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,eAAe,EAAC,EAAE,EAAC,EAAC,CAAC,EAAC,QAAQ,EAAC,CAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,EAAC,CAAC,EAAC,SAAS,EAAC,CAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,iBAAiB,EAAC,CAAC,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,EAAC,EAAC,YAAY,EAAC,CAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,EAAC,kBAAkB,CAAC,EAAC,SAAS,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAC,EAAC,CAAC,EAAC,CAAC"}
@@ -53,7 +53,7 @@ export declare function renderViteConfig(): string;
53
53
  /**
54
54
  * `CDN_IMPORTS` entries a published bundle keeps INLINED rather than fetching at runtime.
55
55
  *
56
- * `fflate` is the whole list, and it is a decision rather than an oversight. `engine/gzip.ts`
56
+ * `fflate` is the whole list, and it is a decision rather than an oversight. `engine/utils/gzip.ts`
57
57
  * falls back to fflate's synchronous codec when `CompressionStream` is missing — that is
58
58
  * iOS/WebKit below 16.4 and a long tail of embedded WebViews, i.e. exactly the browsers with the
59
59
  * least reliable module-CDN story, and the file says so in as many words ("fflate is bundled (not
@@ -263,8 +263,8 @@ export function renderIndexHtml() {
263
263
  // Derived from the same alias model as the import map above, not a hardcoded literal, so the
264
264
  // two cannot drift: the entry point is the engine's import-map target plus its filename.
265
265
  const engineEntryPoint = `${aliasImports['engine/']}GameTemplate.js`;
266
- // The #game-container div below is required, not decorative: GameTemplate.ts (:196, :457)
267
- // does document.getElementById('game-container') as HTMLElement, and GameEngine.ts (:557)
266
+ // The #game-container div below is required, not decorative: GameTemplate.ts
267
+ // does document.getElementById('game-container') as HTMLElement, and GameEngine.ts
268
268
  // appendChild()s into it. The "as HTMLElement" cast erases the null a missing div would
269
269
  // produce, so its absence typechecks clean and only fails at runtime. The CSS rule mirrors
270
270
  // game/index.html's #game-container rule verbatim.
@@ -358,7 +358,7 @@ ${renderAliasEntries()}
358
358
  /**
359
359
  * `CDN_IMPORTS` entries a published bundle keeps INLINED rather than fetching at runtime.
360
360
  *
361
- * `fflate` is the whole list, and it is a decision rather than an oversight. `engine/gzip.ts`
361
+ * `fflate` is the whole list, and it is a decision rather than an oversight. `engine/utils/gzip.ts`
362
362
  * falls back to fflate's synchronous codec when `CompressionStream` is missing — that is
363
363
  * iOS/WebKit below 16.4 and a long tail of embedded WebViews, i.e. exactly the browsers with the
364
364
  * least reliable module-CDN story, and the file says so in as many words ("fflate is bundled (not
@@ -434,7 +434,7 @@ ${entries}
434
434
  // The project's own aliases ('engine/', 'work/', 'core/', ...) are deliberately absent from the
435
435
  // table: they are this project's compiled code, they are inlined here, and a published game is one
436
436
  // file in object storage with no same-origin siblings to fetch. 'fflate' is absent for a different
437
- // reason — see engine/gzip.ts, it is the codec fallback for browsers that would struggle to fetch
437
+ // reason — see engine/utils/gzip.ts, it is the codec fallback for browsers that would struggle to fetch
438
438
  // it in the first place.
439
439
  function cdnUrl(id) {
440
440
  for (const [key, url] of CDN_MODULES) {
@@ -446,43 +446,6 @@ function cdnUrl(id) {
446
446
  return undefined;
447
447
  }
448
448
 
449
- `;
450
- }
451
- /**
452
- * Drops the whole creator/editor command surface out of a published bundle.
453
- *
454
- * A published game is player-facing and never runs in creator mode: `GameTemplate` registers the
455
- * listener only behind `isCreatorMode`, so stubbing the module lets Rollup tree-shake the entire
456
- * subtree behind it — FBXLoader, GLTFExporter, the voxelizer, the splat collider editors. Mirrors
457
- * `game/vite.bundle-publish.config.js`, which does this for the web lane.
458
- *
459
- * `enforce: 'pre'` is required, not tidy: without it Vite's alias plugin resolves the `engine/`
460
- * prefix to a real file first and the stub never fires.
461
- */
462
- function renderCreatorHandlerStub() {
463
- return `// Published games never run in creator mode, so the creator<->game command surface (and its
464
- // editor-only dependencies) is dead weight. 'pre' runs before Vite's alias plugin resolves the
465
- // 'engine/' prefix, which is what lets this stub win.
466
- const stubCreatorHandlerPlugin = () => ({
467
- name: 'stub-creator-handler',
468
- enforce: 'pre',
469
- resolveId(id) {
470
- if (id === 'engine/template/CreatorMessageHandler.js' ||
471
- id.endsWith('/engine/template/CreatorMessageHandler.js')) {
472
- return '\\0creator-handler-stub';
473
- }
474
- return null;
475
- },
476
- load(id) {
477
- if (id === '\\0creator-handler-stub') {
478
- return 'export function registerCreatorMessageListener() {}\\n' +
479
- 'export function notifyPhysicsReady() {}\\n' +
480
- 'export function flushPendingToolMessages() {}\\n' +
481
- 'export function disposeCreatorEngineState() {}\\n';
482
- }
483
- return null;
484
- }
485
- });
486
449
  `;
487
450
  }
488
451
  /**
@@ -530,7 +493,7 @@ const rapierFlavor = resolveRapierFlavor();
530
493
  const droppedRapier = RAPIER_PACKAGES[rapierFlavor === '2d' ? '3d' : '2d'];
531
494
  // 'pre' is load-bearing: without it Vite's own resolver wins and the "dropped" package is
532
495
  // INLINED from node_modules — WASM and all, ~2 MB heavier — with no error and no greppable
533
- // package-name string. Same trap the creator-handler stub above documents.
496
+ // package-name string.
534
497
  const stubRapierPlugin = () => ({
535
498
  name: 'stub-rapier-flavor',
536
499
  enforce: 'pre',
@@ -575,7 +538,7 @@ const PUBLISH_CONFIG_PATHS_BLOCK = ` // Rewrite each externalized import
575
538
  *
576
539
  * Rendered from one function because the two differ in exactly one dimension — whether three.js,
577
540
  * Rapier and the other CDN packages are left external or inlined — and everything else about them
578
- * (aliases, `__BUNDLED__`, the licence banner, the creator-handler stub) has to stay identical.
541
+ * (aliases, `__BUNDLED__`, the licence banner) has to stay identical.
579
542
  * Two hand-maintained copies is how the web lane's pair drifted.
580
543
  *
581
544
  * Either way the output is ONE index.html: `viteSingleFile` with an effectively unlimited inline
@@ -608,7 +571,6 @@ import { effectivePhysicsMode, rapierFlavorForPhysicsMode } from './engine/engin
608
571
  // build. Verified against a real \`vite build\` before trusting the plain-string form.
609
572
 
610
573
  ${cdn ? renderCdnModuleTable() : ''}${renderRapierFlavorBlock()}
611
- ${renderCreatorHandlerStub()}
612
574
  // Editing-only asset fields must not ship inside published game data: the
613
575
  // source recording behind a video-to-motion clip is the creator's webcam
614
576
  // footage. The list mirrors EDITING_ONLY_ASSET_FIELDS in @bitmagic/asset-core
@@ -650,6 +612,10 @@ export default defineConfig({
650
612
  // That makes a missing define invisible until a published game is opened in a browser.
651
613
  //
652
614
  // Deliberately NOT set in the dev config — live-edit serving must take the fetch path.
615
+ //
616
+ // The same define keeps the editor, the debug tools and the Creator bridge out of the bundle:
617
+ // it makes the engine's isPublishedBuild a constant, so engine/devtools/DevtoolsHost.ts returns
618
+ // before its one dynamic import of them and Rollup drops that import with the dead branch.
653
619
  define: { __BUNDLED__: true },
654
620
  resolve: {
655
621
  alias: {
@@ -673,7 +639,7 @@ ${cdn ? PUBLISH_CONFIG_PATHS_BLOCK : ''} // A licence obligation, not dec
673
639
  },
674
640
  },
675
641
  },
676
- plugins: [stubCreatorHandlerPlugin(), stripEditingOnlyWorldFieldsPlugin(), stubRapierPlugin(), viteSingleFile()],
642
+ plugins: [stripEditingOnlyWorldFieldsPlugin(), stubRapierPlugin(), viteSingleFile()],
677
643
  });
678
644
  `;
679
645
  }
@@ -908,7 +874,7 @@ Batch it: issue independent greps and reads in one turn rather than one per turn
908
874
  Engine code is reached through path aliases, not relative paths:
909
875
 
910
876
  \`\`\`ts
911
- import { PlayerController } from 'engine/PlayerController.js';
877
+ import { PlayerController } from 'engine/player/PlayerController.js';
912
878
  import type { GameData } from 'types/game.js';
913
879
  \`\`\`
914
880
 
@@ -1507,7 +1473,7 @@ runs, and ships a control no phone can reach.
1507
1473
  - \`PlayerController.registerCustomAction({ action, desktop: { keys }, mobile: { label, behavior } })\`
1508
1474
  — binds the desktop key and creates the mobile button atomically. **Throws** without \`mobile\`.
1509
1475
  - \`declareMobileActions(): MobileActionSpec[]\` on your Game class — the declarative form,
1510
- run before game systems initialize. \`MobileActionSpec\` (\`engine/MobileActionSpec.js\`):
1476
+ run before game systems initialize. \`MobileActionSpec\` (\`engine/input/mobile/MobileActionSpec.js\`):
1511
1477
  \`action\`, \`desktopKeys\`, \`iconKey\`, \`label\`, \`behavior: 'tap' | 'continuous'\`, \`preferredSlot\`.
1512
1478
  - Both write \`playerController.keys.<action>\`, so the gameplay code reads one flag either way.
1513
1479
  - \`playerController.verifyMobileParity()\` runs at game start and reports gaps as a