@bitmagic/cli 0.1.83-dev.3 → 0.1.83-dev.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -3
- package/assets/metahuman/src/work/metahuman/MetaHumanMaterials.ts +4 -0
- package/assets/metahuman/src/work/metahuman/StudioEnvironment.ts +4 -0
- package/assets/optimizing-assets/SKILL.md +3 -2
- package/assets/optimizing-assets/references/tools.md +1 -1
- package/dist/cli.d.ts +9 -0
- package/dist/commands/upgrade.d.ts +18 -0
- package/dist/commands/upgrade.js +94 -1
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/config/environments.d.ts +1 -1
- package/dist/editor/animation-preview-page.js +20 -0
- package/dist/editor/animation-preview-page.js.map +1 -1
- package/dist/editor/asset-viewer.js +4 -0
- package/dist/editor/asset-viewer.js.map +1 -1
- package/dist/editor/design.d.ts +2 -2
- package/dist/editor/design.js +2 -2
- package/dist/editor/design.js.map +1 -1
- package/dist/editor/hud-replay-page.js +5 -0
- package/dist/editor/hud-replay-page.js.map +1 -1
- package/dist/editor/recording-sink.js +1 -1
- package/dist/editor/reload-bus.js +1 -1
- package/dist/editor/runtime-token.d.ts +61 -0
- package/dist/editor/runtime-token.js +74 -0
- package/dist/editor/runtime-token.js.map +1 -0
- package/dist/editor/save.d.ts +2 -2
- package/dist/editor/server.js +39 -12
- package/dist/editor/server.js.map +1 -1
- package/dist/editor/shell-page.d.ts +13 -9
- package/dist/editor/shell-page.js +70 -11
- package/dist/editor/shell-page.js.map +1 -1
- package/dist/forge/browser-host.d.ts +1 -1
- package/dist/forge/browser-host.js +13 -10
- package/dist/forge/browser-host.js.map +1 -1
- package/dist/generate/model.js +4 -1
- package/dist/generate/model.js.map +1 -1
- package/dist/generate/prop.js +4 -1
- package/dist/generate/prop.js.map +1 -1
- package/dist/http/signed-upload.d.ts +6 -4
- package/dist/http/signed-upload.js +37 -14
- package/dist/http/signed-upload.js.map +1 -1
- package/dist/mobile/rewrite-shim.js +1 -1
- package/dist/poki/publish.d.ts +5 -1
- package/dist/poki/publish.js +24 -7
- package/dist/poki/publish.js.map +1 -1
- package/dist/publish/game-exchange.d.ts +5 -0
- package/dist/publish/game-exchange.js +16 -3
- package/dist/publish/game-exchange.js.map +1 -1
- package/dist/scaffold/aliases.d.ts +16 -1
- package/dist/scaffold/aliases.js +10 -2
- package/dist/scaffold/aliases.js.map +1 -1
- package/dist/scaffold/blender-level-skill-files.js +2 -2
- package/dist/scaffold/engine-capabilities.d.ts +34 -0
- package/dist/scaffold/engine-capabilities.js +39 -0
- package/dist/scaffold/engine-capabilities.js.map +1 -0
- package/dist/scaffold/game-migration.d.ts +88 -0
- package/dist/scaffold/game-migration.js +491 -0
- package/dist/scaffold/game-migration.js.map +1 -0
- package/dist/scaffold/import-codemod.d.ts +51 -0
- package/dist/scaffold/import-codemod.js +118 -0
- package/dist/scaffold/import-codemod.js.map +1 -0
- package/dist/scaffold/legacy-game-baselines.d.ts +14 -0
- package/dist/scaffold/legacy-game-baselines.js +218 -0
- package/dist/scaffold/legacy-game-baselines.js.map +1 -0
- package/dist/scaffold/project-files.d.ts +20 -2
- package/dist/scaffold/project-files.js +64 -58
- package/dist/scaffold/project-files.js.map +1 -1
- package/dist/scaffold/project.d.ts +10 -3
- package/dist/scaffold/project.js +22 -23
- package/dist/scaffold/project.js.map +1 -1
- package/dist/scaffold/upgrade-project.js +4 -1
- package/dist/scaffold/upgrade-project.js.map +1 -1
- package/dist/smoke/run.js +8 -1
- package/dist/smoke/run.js.map +1 -1
- package/dist/trailer/record-session.d.ts +5 -3
- package/dist/trailer/record-session.js +12 -12
- package/dist/trailer/record-session.js.map +1 -1
- package/dist/trailer/vendored-recorder.d.ts +8 -0
- package/dist/trailer/vendored-recorder.js +26 -0
- package/dist/trailer/vendored-recorder.js.map +1 -0
- package/dist/vendor/hud-theme/engine/hud/resolveWorldTheme.js +7 -0
- package/dist/verify/browser.d.ts +6 -0
- package/dist/verify/browser.js +32 -0
- package/dist/verify/browser.js.map +1 -1
- package/dist/verify/categories.d.ts +1 -1
- package/dist/verify/categories.js +1 -0
- package/dist/verify/categories.js.map +1 -1
- package/dist/verify/classify.d.ts +17 -0
- package/dist/verify/classify.js +11 -0
- package/dist/verify/classify.js.map +1 -1
- package/dist/verify/mobile-parity.d.ts +1 -1
- package/dist/verify/mobile-parity.js +1 -1
- package/dist/verify/model-downloads.d.ts +47 -0
- package/dist/verify/model-downloads.js +127 -0
- package/dist/verify/model-downloads.js.map +1 -0
- package/package.json +8 -5
package/README.md
CHANGED
|
@@ -201,7 +201,7 @@ browser reloads itself on every change and the assets panel shows each generatio
|
|
|
201
201
|
| `bitmagic build [--single-file]` | Bundle the game into a single `.bitmagic/build/index.html`. The engine, your game and its data are inlined; three.js, Rapier and the other third-party packages load from a CDN at the versions your import map pins — the same shape a game published from bitmagic.ai has. `--single-file` inlines those too, for a game that has to run with no network (offline, `file://`, a packaged shell); the file is several megabytes bigger. Rarely needs to be run by hand — `publish` builds automatically when the project changed. |
|
|
202
202
|
| `bitmagic publish [--visibility public\|coming-soon\|private] [--name <name>] [--description <desc>] [--force] [--single-file] [--version-url] [--no-qr]` | Verify-gate, build if needed, and upload straight to GCS. `--single-file` publishes the offline bundle described under `bitmagic build`; switching the flag between runs always rebuilds, since it changes nothing on disk for the reuse check to notice. **Keeps the game's current visibility**; a new game is private until published with `--visibility public`. Prints the link worth sharing: `bitmagic.ai/play/<ID>/` — the game's page, with its name, cover and comments — for a public or coming-soon game, and `bitmagic.ai/games/<ID>/` for a private one. Both always serve the newest publish, so a link handed out today keeps working after tomorrow's publish; `--version-url` also prints the URL of this one build (`.../indexN.html`), for pinning a bug report to it. Shows the shared URL as a QR code so you can scan it onto a phone — drawn in the terminal, or written to `.bitmagic/publish-qr.png` when it cannot be. `--no-qr` skips both. |
|
|
203
203
|
| `bitmagic self-update [--tag latest\|dev]` | Update the **CLI itself** to the newest build of its line, installing into the place this CLI actually lives rather than wherever the `npm` on your `PATH` would put it — which under nvm is routinely somewhere else. Reads the project's line from `bitmagic.json` when there is one, so it also fixes a wrong-line install; `--tag` overrides. Verifies the version on disk moved, and refuses (naming the path) for an `npx` run, a source checkout, or an install shape it cannot recognise. Not to be confused with `upgrade`, which is about the project's engine. |
|
|
204
|
-
| `bitmagic upgrade [--engine <version>] [--force]` | Refresh vendored platform files and the CLI's own skills to the currently published engine. Refuses a dirty git tree unless `--force`. Also records the project's `environment` in `bitmagic.json` if it has none yet — the engine it just vendored came from that api-server — and says so when it does. |
|
|
204
|
+
| `bitmagic upgrade [--engine <version>] [--force] [--no-codemod] [--migrate-game]` | Refresh vendored platform files and the CLI's own skills to the currently published engine, and rewrite `src/` imports of engine modules that moved to their new paths (`--no-codemod` skips that). `--migrate-game` also turns an old `src/work/Game.ts` into a `VoxelGameBase` subclass when it can prove the result equivalent. Refuses a dirty git tree unless `--force`. Also records the project's `environment` in `bitmagic.json` if it has none yet — the engine it just vendored came from that api-server — and says so when it does. |
|
|
205
205
|
| `bitmagic generate <skybox\|background\|block-type\|sound\|music\|image\|video\|character\|animation\|model\|prop\|vehicle> ...` | Generate one asset directly into `src/work/world.json`. Costs sparks. `model` mints a **new** 3D object from a prompt, `prop` upgrades an existing placeholder **in place** (both produce voxels directly; `--mesh` takes the older mesh path; a low-poly project keeps the mesh as a `glb` asset — see **Art style**), `vehicle` adds a new drivable one, `animation` takes a parameter spec rather than a prompt, `block-type` registers a custom voxel block, `video` makes a short clip for a cutscene (played with `engine.playVideo("<id>")`) — see **Cutscene clips** below. `skybox` and `background` write the **same** field: pick one. **`character` now lives in its own group** — `bitmagic character generate|search|add` — and `bitmagic generate character` is a deprecated alias of the first; see **Characters**. |
|
|
206
206
|
| `bitmagic character <generate\|search\|add> ...` | Forge a character, look through the ready-made ones, or add one. `generate` costs sparks and may substitute a close-enough stored body (`--fresh` always forges). `search` lists the shelf's closest matches with their scores — free, changes nothing. `add` puts a stored body in the game for free and never forges. See **Characters** below. |
|
|
207
207
|
| `bitmagic assets add <file> [--name <n>] [--asset-id <id>] [--keep-glb\|--voxelize] [--voxel-size <m>] [--max-voxel-size <m>] [--height <m>] [--hollow\|--solid] [--force]` | Upload **your own** file — `.glb`, `.vxl`, `.png/.jpg/.webp`, `.opus/.ogg/.m4a/.mp3`, `.json` — into the game's assets and write its entry into `src/work/world.json`. A `.glb` is voxelized in a headless browser (Chrome + a free port in 3000–3199, like `prop`) unless `--keep-glb` — or unless the project is low-poly (see **Art style**). Free — no sparks. See **Adding your own assets** below. |
|
|
@@ -775,6 +775,18 @@ While the game boots, the mark hops over the stage — the first time only. Late
|
|
|
775
775
|
still, and only if the reload is slow enough to be worth explaining. If a boot fails it stays put,
|
|
776
776
|
says what went wrong and offers to try again, instead of leaving you a black rectangle.
|
|
777
777
|
|
|
778
|
+
### Runtime AI in the dev view
|
|
779
|
+
|
|
780
|
+
NPC chat, decisions, generated images and meshes, speech-to-text and in-game screenshot uploads
|
|
781
|
+
run on Bitmagic's game-server, which needs a short-lived token for your game. In the dev view
|
|
782
|
+
(the page on 3011) the CLI gets it for you with your `bitmagic login`: the page asks the CLI, the
|
|
783
|
+
CLI asks the game-server of your project's environment, and only that 15-minute game token reaches
|
|
784
|
+
the game. Your login itself never enters the page. Limits count against your account, your game
|
|
785
|
+
and the whole server, the same as in the web Creator.
|
|
786
|
+
|
|
787
|
+
Logged out, these features work only once the game is published. The same is true of the
|
|
788
|
+
**Game only** page (3010), which has no dev view around it to ask.
|
|
789
|
+
|
|
778
790
|
### Where your game is published
|
|
779
791
|
|
|
780
792
|
Once the project has been published, **Published…** in the top bar's **⋯** menu opens the game's
|
|
@@ -1933,13 +1945,32 @@ refuses to run against a dirty git working tree unless `--force`, so the upgrade
|
|
|
1933
1945
|
its own reviewable diff. When the engine version actually moves it also checks npm for a newer CLI —
|
|
1934
1946
|
see [Staying current](#staying-current).
|
|
1935
1947
|
|
|
1936
|
-
What is yours and never touched: `
|
|
1937
|
-
`.gitignore`, and any skill you wrote yourself. `
|
|
1948
|
+
What is yours and never touched: `game.json`, `package.json`, `CLAUDE.md`, `GAME-DESIGN.md`,
|
|
1949
|
+
`.gitignore`, and any skill you wrote yourself. `src/` is yours too, with one exception: when the
|
|
1950
|
+
engine moved a module you import (`engine/Door.js` became `engine/gameplay/doors/Door.js`), the
|
|
1951
|
+
upgrade rewrites that import to the new path — every form an import takes, keeping your alias or
|
|
1952
|
+
relative style and extension — and lists each file it changed. The old path keeps compiling through
|
|
1953
|
+
a compatibility shim until the next major engine version, so `--no-codemod` is safe; the codemod
|
|
1954
|
+
borrows the project's own TypeScript, and says so and skips when it is not installed. A second run
|
|
1955
|
+
finds nothing to do. `world.json` is yours too, with one exception: the
|
|
1938
1956
|
default trees and rocks the platform itself scaffolded into a project before engine 3.1056 pointed at
|
|
1939
1957
|
legacy JSON `.vxl` files (converted in memory on every load, warned about on every load, no LOD
|
|
1940
1958
|
levels), and `upgrade` repoints those nine known URLs at their VXL3 versions and updates their
|
|
1941
1959
|
`size`. Nothing you added is looked at, and the command lists every record it moved.
|
|
1942
1960
|
|
|
1961
|
+
`--migrate-game` is opt-in. A project scaffolded before the engine built the spawner, vehicles and
|
|
1962
|
+
player loader itself has a `src/work/Game.ts` that builds them and hands them over with
|
|
1963
|
+
`engine.setSpawner()` and friends: it keeps working (the engine adopts what it is handed, with a
|
|
1964
|
+
deprecation warning), and this flag rewrites it to today's
|
|
1965
|
+
`class VoxelGame extends VoxelGameBase`. Every member identical to a released baseline is dropped;
|
|
1966
|
+
your own fields, methods and helpers are kept; statements you added to `constructor`, `load`,
|
|
1967
|
+
`update` or `dispose` move into the hook that runs at the same point (`onWorldLoaded`,
|
|
1968
|
+
`onCameraReady`, `onPlayerReady`, `updateCamera`, `disposeGameplay`); and `VoxelGameBase.ts` is
|
|
1969
|
+
added beside it. When it cannot prove that — a default statement edited or removed, code added
|
|
1970
|
+
where no hook runs — it leaves the file unchanged and says why. The result must type-check with the
|
|
1971
|
+
project's own compiler or both files are put back, so run it with dependencies installed and a
|
|
1972
|
+
project that type-checks.
|
|
1973
|
+
|
|
1943
1974
|
`.claude/settings.json` is merged rather than rewritten — it is where your permissions and your own
|
|
1944
1975
|
hooks live. An upgrade adds the `bitmagic reload` Stop hook if it is missing and changes nothing
|
|
1945
1976
|
else; if it cannot parse the file it leaves it entirely alone and says so.
|
|
@@ -26,6 +26,10 @@ import {
|
|
|
26
26
|
texture, uv, float, mix, smoothstep, abs, dot, uniform,
|
|
27
27
|
normalView, positionViewDirection, materialRoughness,
|
|
28
28
|
} from 'three/tsl';
|
|
29
|
+
// `engine/RendererType.js` is the pre-move path on purpose: this file is installed into projects
|
|
30
|
+
// whatever engine they vendor, and that path is the module in older engines and a shim in newer
|
|
31
|
+
// ones (it moved to `engine/render/backend/`). The move codemod leaves this file alone:
|
|
32
|
+
// engine-move: ignore-file
|
|
29
33
|
import { isWebGpuActive } from 'engine/RendererType.js';
|
|
30
34
|
|
|
31
35
|
/** Which MetaHuman part a material belongs to, decided from its glTF name. */
|
|
@@ -10,6 +10,10 @@ import * as THREE from 'three';
|
|
|
10
10
|
import { RGBELoader } from 'three/addons/loaders/RGBELoader.js';
|
|
11
11
|
import { PMREMGenerator as PMREMGeneratorWebGPU } from 'three/webgpu';
|
|
12
12
|
import { PMREMGenerator as PMREMGeneratorWebGL } from 'three/src/extras/PMREMGenerator.js';
|
|
13
|
+
// `engine/RendererType.js` is the pre-move path on purpose: this file is installed into projects
|
|
14
|
+
// whatever engine they vendor, and that path is the module in older engines and a shim in newer
|
|
15
|
+
// ones (it moved to `engine/render/backend/`). The move codemod leaves this file alone:
|
|
16
|
+
// engine-move: ignore-file
|
|
13
17
|
import { isWebGpuActive } from 'engine/RendererType.js';
|
|
14
18
|
import type { EngineLike } from 'types/game.js';
|
|
15
19
|
|
|
@@ -26,7 +26,8 @@ node $O --report big.glb # triangles, textures (format, size, bytes
|
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
- **Fetch each GLB into a work directory**, e.g. `.bitmagic/optimize/<asset>/` (git ignores
|
|
29
|
-
`.bitmagic/`).
|
|
29
|
+
`.bitmagic/`). GLBs are stored brotli-encoded and a plain `curl -o` saves bytes no tool reads, so fetch its row's `url` decoded,
|
|
30
|
+
`node -e "fetch(process.argv[1]).then(r=>r.arrayBuffer()).then(b=>require('fs').writeFileSync(process.argv[2],new Uint8Array(b)))" <url> <file>`; record its SHA-256, and never edit the only copy.
|
|
30
31
|
Keep per-asset work out of this skill folder, because `bitmagic upgrade` rewrites it.
|
|
31
32
|
- **Start from the original, never from a variant.** Rows marked `(variant?)`, and files whose
|
|
32
33
|
report says `already EXT_meshopt_compression`, are earlier optimized copies. Re-encoding one
|
|
@@ -123,7 +124,7 @@ carries. A grep that prints 0 (or a missing file) is a gap:
|
|
|
123
124
|
ls engine/engine/loaders/GltfLoaderSupport.ts # missing: no KTX2 at all
|
|
124
125
|
grep -c setMeshoptDecoder engine/engine/loaders/GltfLoaderSupport.ts # meshopt decodes
|
|
125
126
|
grep -c expectGltfLoaderSupport engine/engine/loaders/GltfLoaderSupport.ts # KTX2 waits for WebGPU
|
|
126
|
-
grep -
|
|
127
|
+
grep -rlw packedFloats engine/engine/ # voxelizes quantized files (no file: a gap)
|
|
127
128
|
grep -rlE "setMeshoptDecoder|meshoptDecoder" src/ # a game-side decoder
|
|
128
129
|
grep -rlE "gltfLoaderSupportsKtx2|KHR_texture_basisu" src/ # a game-side KTX2 wait
|
|
129
130
|
```
|
|
@@ -99,7 +99,7 @@ SKILL.md's commands are POSIX shell. In PowerShell:
|
|
|
99
99
|
$O = ".agents/skills/optimizing-assets/scripts/optimize-glb.mjs"; node $O --audit src/work/world.json
|
|
100
100
|
$L = "engine/engine/loaders/GltfLoaderSupport.ts"; Test-Path $L
|
|
101
101
|
'setMeshoptDecoder', 'expectGltfLoaderSupport' | ForEach-Object { "$_ $((Select-String -Path $L -Pattern $_).Count)" }
|
|
102
|
-
(
|
|
102
|
+
(Get-ChildItem -Recurse engine/engine -Include *.ts | Select-String -Pattern packedFloats -List).Count
|
|
103
103
|
Get-ChildItem -Recurse src -Include *.ts,*.js | Select-String -Pattern 'setMeshoptDecoder|meshoptDecoder' -List
|
|
104
104
|
Get-ChildItem -Recurse src -Include *.ts,*.js | Select-String -Pattern 'gltfLoaderSupportsKtx2|KHR_texture_basisu' -List
|
|
105
105
|
Get-FileHash in.glb -Algorithm SHA256
|
package/dist/cli.d.ts
CHANGED
|
@@ -267,6 +267,15 @@ declare const rawCommands: {
|
|
|
267
267
|
readonly type: "string";
|
|
268
268
|
readonly description: string;
|
|
269
269
|
};
|
|
270
|
+
readonly codemod: {
|
|
271
|
+
readonly type: "boolean";
|
|
272
|
+
readonly default: true;
|
|
273
|
+
readonly description: "Rewrite src/ imports of engine modules that moved to their new paths (the old paths keep compiling through shims until the next major). --no-codemod skips it.";
|
|
274
|
+
};
|
|
275
|
+
readonly 'migrate-game': {
|
|
276
|
+
readonly type: "boolean";
|
|
277
|
+
readonly description: "Also rewrite an old src/work/Game.ts into a VoxelGameBase subclass, keeping only your changes as hook overrides. Leaves the file alone, and says why, when it cannot prove the result equivalent and type-checking.";
|
|
278
|
+
};
|
|
270
279
|
readonly json: {
|
|
271
280
|
readonly type: "boolean";
|
|
272
281
|
readonly description: "Print the result as JSON on stdout; all progress goes to stderr.";
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type Output } from '../output.js';
|
|
2
2
|
import type { AgentsMdOutcome } from '../scaffold/agents-md.js';
|
|
3
3
|
import { type DependencyMismatch } from '../scaffold/dependency-diff.js';
|
|
4
|
+
import { type ImportCodemodResult } from '../scaffold/import-codemod.js';
|
|
5
|
+
import { type GameMigrationOutcome } from '../scaffold/game-migration.js';
|
|
4
6
|
import { type UpdateTag } from '../update/notice.js';
|
|
5
7
|
export interface GitStatus {
|
|
6
8
|
dirty: boolean;
|
|
@@ -55,6 +57,13 @@ export declare function reportAgentsMd(output: Output, outcome: AgentsMdOutcome)
|
|
|
55
57
|
* game's mouth, and the file is theirs.
|
|
56
58
|
*/
|
|
57
59
|
export declare function reportMissingDesignDoc(output: Output, root: string): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Say what the import codemod rewrote. Silent when the engine moved nothing the project imports —
|
|
62
|
+
* the common case, and not news.
|
|
63
|
+
*/
|
|
64
|
+
export declare function reportImportCodemod(output: Output, result: ImportCodemodResult | null, skipped: string | undefined): void;
|
|
65
|
+
/** Say what `--migrate-game` did, or why it left Game.ts alone. */
|
|
66
|
+
export declare function reportGameMigration(output: Output, outcome: GameMigrationOutcome | null): void;
|
|
58
67
|
/** What the post-upgrade CLI check found, for the `--json` result. */
|
|
59
68
|
export interface CliUpdateStatus {
|
|
60
69
|
/** The CLI that ran this upgrade. '' when its own package.json could not be read. */
|
|
@@ -96,6 +105,15 @@ export declare const upgradeCommand: import("citty").CommandDef<{
|
|
|
96
105
|
readonly type: "string";
|
|
97
106
|
readonly description: string;
|
|
98
107
|
};
|
|
108
|
+
readonly codemod: {
|
|
109
|
+
readonly type: "boolean";
|
|
110
|
+
readonly default: true;
|
|
111
|
+
readonly description: "Rewrite src/ imports of engine modules that moved to their new paths (the old paths keep compiling through shims until the next major). --no-codemod skips it.";
|
|
112
|
+
};
|
|
113
|
+
readonly 'migrate-game': {
|
|
114
|
+
readonly type: "boolean";
|
|
115
|
+
readonly description: "Also rewrite an old src/work/Game.ts into a VoxelGameBase subclass, keeping only your changes as hook overrides. Leaves the file alone, and says why, when it cannot prove the result equivalent and type-checking.";
|
|
116
|
+
};
|
|
99
117
|
readonly json: {
|
|
100
118
|
readonly type: "boolean";
|
|
101
119
|
readonly description: "Print the result as JSON on stdout; all progress goes to stderr.";
|
package/dist/commands/upgrade.js
CHANGED
|
@@ -13,7 +13,10 @@ import { AGENT_FLAG_DESCRIPTION, agentLabels, parseAgentFlag, skillDirsFor } fro
|
|
|
13
13
|
import { WORLDS_ROOT } from '../scaffold/legacy-default-assets.js';
|
|
14
14
|
import { diffDependencies } from '../scaffold/dependency-diff.js';
|
|
15
15
|
import { DEPENDENCIES, DEV_DEPENDENCIES } from '../scaffold/project-files.js';
|
|
16
|
-
import { loadProjectContext } from '../project/context.js';
|
|
16
|
+
import { loadProjectContext, projectBin } from '../project/context.js';
|
|
17
|
+
import { spawnBinSync } from '../project/spawn-bin.js';
|
|
18
|
+
import { loadProjectTypeScript, runImportCodemod } from '../scaffold/import-codemod.js';
|
|
19
|
+
import { GAME_FILE, migrateGameFile } from '../scaffold/game-migration.js';
|
|
17
20
|
import { addCommand, detectPackageManager } from '../project/package-manager.js';
|
|
18
21
|
import { isOlderSemverVersion } from '../project/version-compare.js';
|
|
19
22
|
import { fetchTagVersion } from '../update/check.js';
|
|
@@ -192,6 +195,62 @@ export function reportMissingDesignDoc(output, root) {
|
|
|
192
195
|
'generating-assets skill, which upgrade DID refresh, does.');
|
|
193
196
|
return true;
|
|
194
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Say what the import codemod rewrote. Silent when the engine moved nothing the project imports —
|
|
200
|
+
* the common case, and not news.
|
|
201
|
+
*/
|
|
202
|
+
export function reportImportCodemod(output, result, skipped) {
|
|
203
|
+
if (skipped !== undefined) {
|
|
204
|
+
output.info('');
|
|
205
|
+
output.info(`Did not rewrite imports of moved engine modules: ${skipped}.`);
|
|
206
|
+
output.info(' Your imports still compile through the engine\'s compatibility shims; run `bitmagic upgrade` again to rewrite them.');
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
if (result === null)
|
|
210
|
+
return;
|
|
211
|
+
if (result.total > 0) {
|
|
212
|
+
const kinds = Object.entries(result.specifiers).filter(([, n]) => n > 0).map(([k, n]) => `${k} ${n}`).join(', ');
|
|
213
|
+
output.info('');
|
|
214
|
+
output.info(`Rewrote ${result.total} import(s) of moved engine modules in ${result.filesChanged.length} file(s) to their new paths (${kinds}):`);
|
|
215
|
+
for (const file of result.filesChanged)
|
|
216
|
+
output.info(` ${file}`);
|
|
217
|
+
}
|
|
218
|
+
if (result.computedDynamic.length > 0) {
|
|
219
|
+
output.info('');
|
|
220
|
+
output.info('These dynamic imports compute their path, so check by hand that none names a moved engine module:');
|
|
221
|
+
for (const call of result.computedDynamic)
|
|
222
|
+
output.info(` ${call}`);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
/** Say what `--migrate-game` did, or why it left Game.ts alone. */
|
|
226
|
+
export function reportGameMigration(output, outcome) {
|
|
227
|
+
if (outcome === null)
|
|
228
|
+
return;
|
|
229
|
+
output.info('');
|
|
230
|
+
if (outcome.status === 'already-migrated') {
|
|
231
|
+
output.info(`${GAME_FILE} already extends VoxelGameBase; nothing to migrate.`);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
if (outcome.status === 'skipped') {
|
|
235
|
+
output.info(`Left ${GAME_FILE} unchanged: ${outcome.reason}`);
|
|
236
|
+
output.info(' It keeps working as it is; the engine adopts the spawner, vehicles and player loader it hands over.');
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
output.info(`Migrated ${GAME_FILE} to \`class VoxelGame extends VoxelGameBase\` (it type-checks).`);
|
|
240
|
+
if (outcome.wroteBase)
|
|
241
|
+
output.info(' Added src/work/VoxelGameBase.ts from the engine\'s baseline.');
|
|
242
|
+
if (outcome.hooks.length > 0)
|
|
243
|
+
output.info(` Your additions now run in: ${outcome.hooks.map((h) => `${h}()`).join(', ')}.`);
|
|
244
|
+
if (outcome.kept.length > 0)
|
|
245
|
+
output.info(` Kept as you wrote them: ${outcome.kept.join(', ')}.`);
|
|
246
|
+
}
|
|
247
|
+
/** The project's own `tsc --noEmit`, captured rather than printed: the migration reports it only when it fails. */
|
|
248
|
+
function projectTypeCheck(root) {
|
|
249
|
+
const result = spawnBinSync(projectBin(root, 'tsc'), ['--noEmit'], { cwd: root, encoding: 'utf-8' });
|
|
250
|
+
if (result.error)
|
|
251
|
+
throw new CliError(`Could not run the TypeScript compiler: ${result.error.message}`);
|
|
252
|
+
return { ok: result.status === 0, output: `${String(result.stdout ?? '')}${String(result.stderr ?? '')}` };
|
|
253
|
+
}
|
|
195
254
|
/**
|
|
196
255
|
* Ask npm, right now, whether this CLI is behind — but only when the engine actually moved.
|
|
197
256
|
*
|
|
@@ -244,6 +303,15 @@ export const upgradeCommand = defineCommand({
|
|
|
244
303
|
engine: { type: 'string', description: 'Engine version to upgrade to (must be the currently published one).' },
|
|
245
304
|
force: { type: 'boolean', description: 'Upgrade even with uncommitted changes in the working tree.' },
|
|
246
305
|
agent: { type: 'string', description: AGENT_FLAG_DESCRIPTION },
|
|
306
|
+
codemod: {
|
|
307
|
+
type: 'boolean',
|
|
308
|
+
default: true,
|
|
309
|
+
description: "Rewrite src/ imports of engine modules that moved to their new paths (the old paths keep compiling through shims until the next major). --no-codemod skips it.",
|
|
310
|
+
},
|
|
311
|
+
'migrate-game': {
|
|
312
|
+
type: 'boolean',
|
|
313
|
+
description: 'Also rewrite an old src/work/Game.ts into a VoxelGameBase subclass, keeping only your changes as hook overrides. Leaves the file alone, and says why, when it cannot prove the result equivalent and type-checking.',
|
|
314
|
+
},
|
|
247
315
|
json: {
|
|
248
316
|
type: 'boolean',
|
|
249
317
|
description: 'Print the result as JSON on stdout; all progress goes to stderr.',
|
|
@@ -297,6 +365,24 @@ export const upgradeCommand = defineCommand({
|
|
|
297
365
|
: {}),
|
|
298
366
|
addAgents,
|
|
299
367
|
});
|
|
368
|
+
// After the engine is in place: the move list and the new baseline are read from the engine
|
|
369
|
+
// just vendored, and both rewrites land in the same reviewable diff as the upgrade itself.
|
|
370
|
+
const ts = args.codemod !== false || args['migrate-game'] === true ? loadProjectTypeScript(context.root) : null;
|
|
371
|
+
const noTypeScript = "this project's TypeScript is not installed (run the project's install first)";
|
|
372
|
+
let codemod = null;
|
|
373
|
+
let codemodSkipped;
|
|
374
|
+
if (args.codemod !== false) {
|
|
375
|
+
if (ts === null)
|
|
376
|
+
codemodSkipped = noTypeScript;
|
|
377
|
+
else
|
|
378
|
+
codemod = runImportCodemod({ root: context.root, ts });
|
|
379
|
+
}
|
|
380
|
+
let gameMigration = null;
|
|
381
|
+
if (args['migrate-game'] === true) {
|
|
382
|
+
gameMigration = ts === null
|
|
383
|
+
? { status: 'skipped', reason: noTypeScript }
|
|
384
|
+
: migrateGameFile({ root: context.root, ts, typeCheck: () => projectTypeCheck(context.root) });
|
|
385
|
+
}
|
|
300
386
|
output.info('');
|
|
301
387
|
if (result.environmentPinned !== undefined) {
|
|
302
388
|
output.info(`Pinned this project to the ${result.environmentPinned} environment in bitmagic.json.`);
|
|
@@ -358,6 +444,8 @@ export const upgradeCommand = defineCommand({
|
|
|
358
444
|
// just vendored came from THIS environment, so the CLI that ships with it is on that
|
|
359
445
|
// environment's line — which is the same rule AGENTS.md hands the agent.
|
|
360
446
|
const cliUpdate = await reportCliUpdate(output, result.previousEngineVersion !== result.engineVersion, currentCliVersion(), updateTagForEnvironment(environment.name));
|
|
447
|
+
reportImportCodemod(output, codemod, codemodSkipped);
|
|
448
|
+
reportGameMigration(output, gameMigration);
|
|
361
449
|
const mismatches = printDependencyReport(output, context.root);
|
|
362
450
|
reportAgentsMd(output, result.agentsMd);
|
|
363
451
|
const needsDesignDoc = reportMissingDesignDoc(output, context.root);
|
|
@@ -370,6 +458,11 @@ export const upgradeCommand = defineCommand({
|
|
|
370
458
|
// records moved under it and to where.
|
|
371
459
|
legacyAssetsRepointed: result.legacyAssetsRepointed,
|
|
372
460
|
legacyAssetsSkipped: result.legacyAssetsSkipped ?? null,
|
|
461
|
+
// Null when --no-codemod was passed or it could not run (`importCodemodSkipped` says why).
|
|
462
|
+
importCodemod: codemod,
|
|
463
|
+
importCodemodSkipped: codemodSkipped ?? null,
|
|
464
|
+
// Null unless --migrate-game was passed.
|
|
465
|
+
gameMigration,
|
|
373
466
|
// The install command is printed as prose; an agent gets the structured form instead of
|
|
374
467
|
// parsing it back out of a sentence.
|
|
375
468
|
missingDependencies: mismatches,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export interface Environment {
|
|
|
8
8
|
* deployment and needs no token.
|
|
9
9
|
*
|
|
10
10
|
* The engine can pick this host itself, but only from the page's own hostname
|
|
11
|
-
* (`game/src/engine/environment.ts`), and localhost tells it nothing — it reads as
|
|
11
|
+
* (`game/src/engine/runtime/environment.ts`), and localhost tells it nothing — it reads as
|
|
12
12
|
* neither prod nor dev and so always resolves to the dev cluster. Here the project's
|
|
13
13
|
* pinned environment is known, so `bitmagic dev` hands the answer to the engine
|
|
14
14
|
* rather than letting it guess (see the LOAD_GAME `gameServerUrl` in editor/server.ts).
|
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
* An engine too old to carry `debug/AnimationPreview.js` fails the module import; the catch
|
|
17
17
|
* posts `ASSET_PREVIEW_FAILED`, and the shell shows the reason — same contract as the asset
|
|
18
18
|
* viewer, one handler on the shell side for both.
|
|
19
|
+
*
|
|
20
|
+
* The page runs against the PROJECT's vendored engine, whatever its version, so its engine
|
|
21
|
+
* imports keep the old paths (a pre-move engine resolves them natively, a newer one through its
|
|
22
|
+
* compat shim) and the move codemod leaves this file alone:
|
|
23
|
+
* engine-move: ignore-file
|
|
19
24
|
*/
|
|
20
25
|
import { CDN_IMPORTS } from '../scaffold/project-files.js';
|
|
21
26
|
import { importMapEntries } from '../scaffold/aliases.js';
|
|
@@ -254,6 +259,16 @@ async function ensureKtx2Support() {
|
|
|
254
259
|
}
|
|
255
260
|
}
|
|
256
261
|
|
|
262
|
+
/** The vendored baseline's block character factory, or undefined on an engine without one. */
|
|
263
|
+
async function baselineCharacterFactory() {
|
|
264
|
+
try {
|
|
265
|
+
return (await import('baseline/BitmagicPlayerCharacter.js')).bitmagicCharacterFactory;
|
|
266
|
+
} catch (error) {
|
|
267
|
+
console.warn('This engine has no baseline/BitmagicPlayerCharacter.js; its preview picks the character.', error);
|
|
268
|
+
return undefined;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
257
272
|
try {
|
|
258
273
|
await ensureKtx2Support();
|
|
259
274
|
// A clip NAME resolves through the engine's table; an explicit url is an asset of the
|
|
@@ -265,6 +280,11 @@ try {
|
|
|
265
280
|
// below with the browser's own "failed to fetch" instead of a blank page.
|
|
266
281
|
var mod = await import('debug/AnimationPreview.js');
|
|
267
282
|
var handle = await mod.startAnimationPreview({
|
|
283
|
+
// The block mascot the clip plays on, handed in so the engine's preview need not reach up
|
|
284
|
+
// into the baseline itself (its deprecated fallback). An engine whose baseline still lives
|
|
285
|
+
// under genres/ has no such module: the import fails, and that engine's preview picks its
|
|
286
|
+
// own mascot, as it always did.
|
|
287
|
+
characterFactory: await baselineCharacterFactory(),
|
|
268
288
|
animationUrl: animationUrl,
|
|
269
289
|
container: document.getElementById('stage'),
|
|
270
290
|
characterHeight: mod.DEFAULT_ANIMATION_PREVIEW_OPTIONS.characterHeight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation-preview-page.js","sourceRoot":"","sources":["../../src/editor/animation-preview-page.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"animation-preview-page.js","sourceRoot":"","sources":["../../src/editor/animation-preview-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQtE,SAAS,YAAY,CAAC,QAAgB;IACpC,MAAM,MAAM,GAAG,oBAAoB,QAAQ,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CACzF,CAAC;IACF,sFAAsF;IACtF,qFAAqF;IACrF,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAoC;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACrF,OAAO;;;;;EAKP,kBAAkB;;EAElB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4MR,CAAC;AACF,CAAC"}
|
|
@@ -110,6 +110,10 @@ function countTriangles(root) {
|
|
|
110
110
|
/**
|
|
111
111
|
* Specifiers held in variables on purpose: a literal would make tsc try to resolve a module that
|
|
112
112
|
* only exists on the other origin at runtime. The import map on the page resolves them.
|
|
113
|
+
* `engine/VoxelObject.js` is the pre-move path on purpose: it is a shim in engines after the move
|
|
114
|
+
* (to `engine/voxel/object/`) and the module itself in every engine before it, so the viewer works
|
|
115
|
+
* against whichever engine the project vendors. The move codemod leaves this file alone:
|
|
116
|
+
* engine-move: ignore-file
|
|
113
117
|
*/
|
|
114
118
|
const VOXEL_OBJECT_MODULE = 'engine/VoxelObject.js';
|
|
115
119
|
const GLTF_LOADER_SUPPORT_MODULE = 'engine/loaders/GltfLoaderSupport.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-viewer.js","sourceRoot":"","sources":["../../src/editor/asset-viewer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"asset-viewer.js","sourceRoot":"","sources":["../../src/editor/asset-viewer.ts"],"names":[],"mappings":"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"}
|
package/dist/editor/design.d.ts
CHANGED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
* look at — so it follows `creator/DESIGN.md` the way the Creator and the in-engine editor do.
|
|
6
6
|
* It cannot import the Creator's `BitmagicDesign.css`: this package ships on npm on its own, and
|
|
7
7
|
* both pages are strings assembled in TypeScript rather than bundled documents. So it re-declares
|
|
8
|
-
* the same tokens, exactly as `game/src/
|
|
8
|
+
* the same tokens, exactly as `game/src/engine/ui/theme/designTokens.ts` does for the engine's editor
|
|
9
9
|
* dialogs — three copies of the palette, one source of truth in DESIGN.md.
|
|
10
10
|
*
|
|
11
11
|
* **No backticks in anything exported here.** These constants are interpolated into the pages'
|
|
12
12
|
* template literals, and a backtick would end the literal somewhere else entirely (there is a test
|
|
13
13
|
* for it: `__tests__/shell-page.test.ts`).
|
|
14
14
|
*/
|
|
15
|
-
/** Hex tokens for TS-side use — the same set `game/src/
|
|
15
|
+
/** Hex tokens for TS-side use — the same set `game/src/engine/ui/theme/designTokens.ts` exposes. */
|
|
16
16
|
export declare const BM: {
|
|
17
17
|
readonly bg: "#0b0b0b";
|
|
18
18
|
readonly surface: "#181818";
|
package/dist/editor/design.js
CHANGED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
* look at — so it follows `creator/DESIGN.md` the way the Creator and the in-engine editor do.
|
|
6
6
|
* It cannot import the Creator's `BitmagicDesign.css`: this package ships on npm on its own, and
|
|
7
7
|
* both pages are strings assembled in TypeScript rather than bundled documents. So it re-declares
|
|
8
|
-
* the same tokens, exactly as `game/src/
|
|
8
|
+
* the same tokens, exactly as `game/src/engine/ui/theme/designTokens.ts` does for the engine's editor
|
|
9
9
|
* dialogs — three copies of the palette, one source of truth in DESIGN.md.
|
|
10
10
|
*
|
|
11
11
|
* **No backticks in anything exported here.** These constants are interpolated into the pages'
|
|
12
12
|
* template literals, and a backtick would end the literal somewhere else entirely (there is a test
|
|
13
13
|
* for it: `__tests__/shell-page.test.ts`).
|
|
14
14
|
*/
|
|
15
|
-
/** Hex tokens for TS-side use — the same set `game/src/
|
|
15
|
+
/** Hex tokens for TS-side use — the same set `game/src/engine/ui/theme/designTokens.ts` exposes. */
|
|
16
16
|
export const BM = {
|
|
17
17
|
bg: '#0b0b0b',
|
|
18
18
|
surface: '#181818',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design.js","sourceRoot":"","sources":["../../src/editor/design.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,
|
|
1
|
+
{"version":3,"file":"design.js","sourceRoot":"","sources":["../../src/editor/design.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,oGAAoG;AACpG,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,EAAE,EAAE,SAAS;IACb,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,SAAS;IAEtB,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,SAAS;IAEvB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,SAAS;IAEtB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IAEjB,YAAY,EAAE,+BAA+B;IAC7C,UAAU,EAAE,8BAA8B;IAC1C,QAAQ,EAAE,oCAAoC;IAC9C;sGACkG;IAClG,SAAS,EAAE,qCAAqC;IAChD,QAAQ,EAAE,kCAAkC;IAC5C,cAAc,EAAE,yBAAyB;IACzC,gBAAgB,EAAE,8DAA8D;IAEhF,IAAI,EAAE,8EAA8E;IACpF,QAAQ,EAAE,gDAAgD;CAClD,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;0HAEwF,CAAC;AAE3H,uFAAuF;AACvF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;eAGpB,EAAE,CAAC,EAAE;oBACA,EAAE,CAAC,OAAO;wBACN,EAAE,CAAC,UAAU;yBACZ,EAAE,CAAC,WAAW;iBACtB,EAAE,CAAC,WAAW;uBACR,EAAE,CAAC,SAAS;qBACd,EAAE,CAAC,OAAO;mBACZ,EAAE,CAAC,MAAM;yBACH,EAAE,CAAC,WAAW;iBACtB,EAAE,CAAC,IAAI;uBACD,EAAE,CAAC,SAAS;iBAClB,EAAE,CAAC,IAAI;uBACD,EAAE,CAAC,SAAS;oBACf,EAAE,CAAC,OAAO;mBACX,EAAE,CAAC,MAAM;;;;;;;0BAOF,EAAE,CAAC,YAAY;wBACjB,EAAE,CAAC,UAAU;sBACf,EAAE,CAAC,QAAQ;uBACV,EAAE,CAAC,SAAS;sBACb,EAAE,CAAC,QAAQ;iBAChB,EAAE,CAAC,IAAI;sBACF,EAAE,CAAC,QAAQ;;CAEhC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqInB,EAAE,CAAC,cAAc;;;;;;;kCAOD,EAAE,CAAC,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDpD,CAAC"}
|
|
@@ -30,6 +30,11 @@
|
|
|
30
30
|
* and runs against whichever engine the project has vendored, so a named import of something that
|
|
31
31
|
* engine predates would fail the whole module load (and with it every overlay) rather than one
|
|
32
32
|
* optional nicety.
|
|
33
|
+
*
|
|
34
|
+
* For the same reason the engine paths here stay the OLD ones (`engine/GameHUD.js`): every engine
|
|
35
|
+
* resolves them, a pre-move one natively and a newer one through its compat shim, while a moved
|
|
36
|
+
* path fails on every project that vendored an engine from before the move.
|
|
37
|
+
* engine-move: ignore-file
|
|
33
38
|
*/
|
|
34
39
|
import { CDN_IMPORTS } from '../scaffold/project-files.js';
|
|
35
40
|
import { importMapEntries } from '../scaffold/aliases.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hud-replay-page.js","sourceRoot":"","sources":["../../src/editor/hud-replay-page.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hud-replay-page.js","sourceRoot":"","sources":["../../src/editor/hud-replay-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO1D,oGAAoG;AACpG,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,MAAM,MAAM,GAAG,oBAAoB,QAAQ,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CACvF,CAAC;IACF,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,OAAO;;;;;;+BAMsB,OAAO,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;EAmB7C,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2brC,CAAC;AACF,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* The F9 recording sink: where the engine's ScreenRecorder streams gameplay frames when the dev
|
|
3
3
|
* view is the host.
|
|
4
4
|
*
|
|
5
|
-
* The recorder (`game/src/
|
|
5
|
+
* The recorder (`game/src/engine/recording/ScreenRecorder.ts`, vendored into every project) POSTs one PNG per
|
|
6
6
|
* frame to `/api/dev/save-frame` and, at stop, one JSON manifest to
|
|
7
7
|
* `/api/dev/save-recording-timeline`. Until the shell announced this sidecar as the sink, those
|
|
8
8
|
* POSTs went to `getAgentUrl()` — the upload proxy (which 404s them) or a dead `localhost:4111` —
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* loop was "watch the agent finish, then remember to press F5", which is exactly the friction a
|
|
7
7
|
* side-by-side agent/browser workflow is supposed to remove.
|
|
8
8
|
*
|
|
9
|
-
* Server-Sent Events rather than the WebSocket the web lane uses (`game/dev-reload-watcher.cjs`):
|
|
9
|
+
* Server-Sent Events rather than the WebSocket the web lane uses (`game/server/dev-reload-watcher.cjs`):
|
|
10
10
|
* traffic here is one-directional and rare, `EventSource` reconnects on its own with no client-side
|
|
11
11
|
* retry loop to write, and it needs no dependency in a package that deliberately keeps `dev`
|
|
12
12
|
* offline and light.
|