@bitmagic/cli 0.1.83-dev.3 → 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.
- 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/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 +12 -8
- package/dist/editor/shell-page.js +69 -10
- 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/publish/game-exchange.js +9 -3
- package/dist/publish/game-exchange.js.map +1 -1
- package/dist/scaffold/blender-level-skill-files.js +2 -2
- package/dist/scaffold/game-migration.d.ts +88 -0
- package/dist/scaffold/game-migration.js +492 -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 +117 -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 +1 -1
- package/dist/scaffold/project-files.js +11 -45
- package/dist/scaffold/project-files.js.map +1 -1
- package/dist/scaffold/project.js +8 -17
- package/dist/scaffold/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 +1 -1
- package/dist/trailer/record-session.js +5 -8
- 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/verify/browser.d.ts +6 -0
- package/dist/verify/browser.js +3 -0
- package/dist/verify/browser.js.map +1 -1
- package/dist/verify/classify.d.ts +4 -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
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* The dev view: the page that plays the Creator's role for a CLI-lane project.
|
|
3
3
|
*
|
|
4
4
|
* The whole feature rests on one fact — the visual editor is ALREADY in every scaffolded project.
|
|
5
|
-
* `VENDORED_DIRS` in `scaffold/project.ts` ships `engine/editor/` and `engine/debug/`, and
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* `VENDORED_DIRS` in `scaffold/project.ts` ships `engine/editor/` and `engine/debug/`, and on any
|
|
6
|
+
* page loaded with `?source=creator` (as this one loads the game) the engine loads its devtools
|
|
7
|
+
* (`engine/engine/devtools/DevtoolsHost.ts`) and builds `EditorManager`: the transform gizmo, the
|
|
8
|
+
* object inspector and the scene hierarchy in a hidden `#debug-container`. Only a published build
|
|
9
|
+
* leaves them out. What the pro lane lacked was
|
|
8
10
|
* a parent frame speaking the Creator's `postMessage` protocol. This page is that frame, and
|
|
9
11
|
* nothing under `game/` changes to support it.
|
|
10
12
|
*
|
|
@@ -34,15 +36,17 @@
|
|
|
34
36
|
* ── Four things that fail silently if changed ────────────────────────────────────────────────
|
|
35
37
|
*
|
|
36
38
|
* 1. `?source=creator` on the iframe URL. Without it `isCreatorMode` is false
|
|
37
|
-
* (`game/src/engine/CreatorMode.ts`), the engine never registers its message listener, and
|
|
39
|
+
* (`game/src/engine/host/CreatorMode.ts`), the engine never registers its message listener, and
|
|
38
40
|
* every message below is discarded with no error anywhere.
|
|
39
41
|
* 2. `GAME_TEMPLATE_READY` must arrive before `LOAD_GAME` is posted. The engine registers its
|
|
40
|
-
* listener only after
|
|
41
|
-
*
|
|
42
|
+
* listener only after its devtools and i18n have loaded. A current engine holds what arrives
|
|
43
|
+
* earlier, but an engine vendored before that DROPS it, not queues it — the symptom is a game
|
|
44
|
+
* that never loads, pointing at the wrong culprit.
|
|
42
45
|
* 3. `REQUEST_ASSETS` / `ADD_OBJECT` / `MARK_OBJECT_MODIFIED` / `GAME_STATE_CHANGED` use a FLAT
|
|
43
46
|
* envelope (`{ type, assets }`), not the `{ type, data }` one the rest of the protocol uses.
|
|
44
|
-
* That is the Creator's existing shape (`useIframeMessages.ts
|
|
45
|
-
* reads the fields off the message directly.
|
|
47
|
+
* That is the Creator's existing shape (`useIframeMessages.ts`'s `REQUEST_ASSETS` and
|
|
48
|
+
* `GAME_STATE_CHANGED` cases) and the engine reads the fields off the message directly. Every
|
|
49
|
+
* post goes to `GAME_ORIGIN`, the game frame's own origin, never to '*'.
|
|
46
50
|
* 4. The autosave poll, rather than an event. `TransformControlsManager`'s mouseUp reaches
|
|
47
51
|
* `EditorManager.commitTransformChange()`, which only mutates a `Set` — the engine posts
|
|
48
52
|
* nothing. Polling `CHECK_SCENE_CHANGES` is what the Creator does too, just on tab switch
|
|
@@ -338,6 +342,15 @@ ${ASSET_DETAIL_HTML}
|
|
|
338
342
|
(function () {
|
|
339
343
|
'use strict';
|
|
340
344
|
var GAME_URL = ${JSON.stringify(gameUrl)};
|
|
345
|
+
/**
|
|
346
|
+
* Where every message into the game frame goes: its own origin, never '*' (engine OSS audit W4.2).
|
|
347
|
+
* A frame that navigated anywhere else gets nothing.
|
|
348
|
+
*/
|
|
349
|
+
var GAME_ORIGIN = new URL(GAME_URL).origin;
|
|
350
|
+
/** The engine <-> host protocol this page speaks (ENGINE_HOST_PROTOCOL_VERSION, engine/host/protocol.ts). */
|
|
351
|
+
var HOST_PROTOCOL_VERSION = 1;
|
|
352
|
+
/** The commands the vendored engine handles, from its ENGINE_HELLO; null for an engine older than the handshake. */
|
|
353
|
+
var engineCommands = null;
|
|
341
354
|
var POLL_MS = ${POLL_INTERVAL_MS};
|
|
342
355
|
var ACTIVE_EDIT_MS = ${ACTIVE_EDIT_WINDOW_MS};
|
|
343
356
|
var MAP_CANVAS_WIDTH = ${MAP_CANVAS_WIDTH};
|
|
@@ -482,12 +495,12 @@ ${ASSET_DETAIL_HTML}
|
|
|
482
495
|
}
|
|
483
496
|
|
|
484
497
|
function post(type, data) {
|
|
485
|
-
if (frame.contentWindow) frame.contentWindow.postMessage({ type: type, data: data },
|
|
498
|
+
if (frame.contentWindow) frame.contentWindow.postMessage({ type: type, data: data }, GAME_ORIGIN);
|
|
486
499
|
}
|
|
487
500
|
|
|
488
501
|
// The flat envelope — see note 3 in this file's header.
|
|
489
502
|
function postFlat(message) {
|
|
490
|
-
if (frame.contentWindow) frame.contentWindow.postMessage(message,
|
|
503
|
+
if (frame.contentWindow) frame.contentWindow.postMessage(message, GAME_ORIGIN);
|
|
491
504
|
}
|
|
492
505
|
|
|
493
506
|
/**
|
|
@@ -591,6 +604,39 @@ ${ASSET_DETAIL_HTML}
|
|
|
591
604
|
return reply;
|
|
592
605
|
}
|
|
593
606
|
|
|
607
|
+
/**
|
|
608
|
+
* The engine asking for a runtime token (game/src/engine/net/identity/RuntimeToken.ts), the role the
|
|
609
|
+
* web Creator's RuntimeTokenBridge plays there. The sidecar mints it with the CLI login and hands
|
|
610
|
+
* back the token alone (editor/runtime-token.ts). Only the game frame is answered, and only on
|
|
611
|
+
* its own origin; the engine checks the reply came from this parent.
|
|
612
|
+
*
|
|
613
|
+
* Always answered, token or not: an engine that hears nothing waits five seconds and then stops
|
|
614
|
+
* asking for the rest of the page.
|
|
615
|
+
*/
|
|
616
|
+
function answerRuntimeTokenRequest(event) {
|
|
617
|
+
var message = event.data;
|
|
618
|
+
if (event.source !== frame.contentWindow || event.origin !== GAME_ORIGIN) return;
|
|
619
|
+
if (typeof message.requestId !== 'string') return;
|
|
620
|
+
var target = event.source;
|
|
621
|
+
function reply(token, expiresAt) {
|
|
622
|
+
target.postMessage({
|
|
623
|
+
type: 'BM_RUNTIME_TOKEN_RESPONSE',
|
|
624
|
+
requestId: message.requestId,
|
|
625
|
+
token: token,
|
|
626
|
+
expiresAt: expiresAt
|
|
627
|
+
}, GAME_ORIGIN);
|
|
628
|
+
}
|
|
629
|
+
postJson('/api/runtime-token', { gameId: message.gameId, gameServerUrl: message.gameServerUrl })
|
|
630
|
+
.then(function (answer) {
|
|
631
|
+
if (answer.ok && typeof answer.result.token === 'string') {
|
|
632
|
+
reply(answer.result.token, typeof answer.result.expiresAt === 'number' ? answer.result.expiresAt : null);
|
|
633
|
+
} else {
|
|
634
|
+
reply(null, null);
|
|
635
|
+
}
|
|
636
|
+
})
|
|
637
|
+
.catch(function () { reply(null, null); });
|
|
638
|
+
}
|
|
639
|
+
|
|
594
640
|
window.addEventListener('message', function (event) {
|
|
595
641
|
var message = event.data;
|
|
596
642
|
if (!message || typeof message.type !== 'string') return;
|
|
@@ -626,6 +672,16 @@ ${ASSET_DETAIL_HTML}
|
|
|
626
672
|
terrainBanner.classList.add('show');
|
|
627
673
|
break;
|
|
628
674
|
|
|
675
|
+
case 'BM_RUNTIME_TOKEN_REQUEST':
|
|
676
|
+
answerRuntimeTokenRequest(event);
|
|
677
|
+
break;
|
|
678
|
+
|
|
679
|
+
case 'ENGINE_HELLO':
|
|
680
|
+
// The engine's half of the protocol handshake. Recorded for features that need a newer
|
|
681
|
+
// engine than the project may have vendored; none checks it yet.
|
|
682
|
+
engineCommands = Array.isArray(message.commands) ? message.commands : null;
|
|
683
|
+
break;
|
|
684
|
+
|
|
629
685
|
case 'EDITOR_HOST_HELLO':
|
|
630
686
|
// The in-engine editor asking what this host can do (game/src/editor/EditorHost.ts). It
|
|
631
687
|
// assumes the web Creator's answer until told otherwise, so this is what stops it offering
|
|
@@ -1044,6 +1100,9 @@ ${ASSET_DETAIL_HTML}
|
|
|
1044
1100
|
// currentTab is honoured by the engine's own LOAD_GAME handler, which sets the camera and
|
|
1045
1101
|
// player controls for it — so booting straight into the right mode rather than correcting it
|
|
1046
1102
|
// afterwards.
|
|
1103
|
+
// The protocol handshake: the engine answers ENGINE_HELLO with the commands it handles. An
|
|
1104
|
+
// engine vendored before the handshake ignores it, and everything below works the same.
|
|
1105
|
+
postFlat({ type: 'HOST_HELLO', protocolVersion: HOST_PROTOCOL_VERSION });
|
|
1047
1106
|
// Capabilities BEFORE the load: the editor's first read of them can happen as soon as the
|
|
1048
1107
|
// world is up, and an announcement that lands after it has drawn the inspector is a button that
|
|
1049
1108
|
// was briefly wrong.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-page.js","sourceRoot":"","sources":["../../src/editor/shell-page.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"shell-page.js","sourceRoot":"","sources":["../../src/editor/shell-page.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAw5C1C,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmChB,CAAC;AACF,CAAC"}
|
|
@@ -8,7 +8,7 @@ export interface ForgeBrowserHostOptions {
|
|
|
8
8
|
/** The project's `src/work/world.json`, parsed — see {@link readProjectGameData}. */
|
|
9
9
|
gameData: Record<string, unknown>;
|
|
10
10
|
/**
|
|
11
|
-
* Base URL the engine reads back through `getAgentUrl()` (`engine/HostLaunchConfig.ts`). In this lane
|
|
11
|
+
* Base URL the engine reads back through `getAgentUrl()` (`engine/host/HostLaunchConfig.ts`). In this lane
|
|
12
12
|
* that must be **api-server**, not game-play-agent: the engine's uploads go to
|
|
13
13
|
* `POST /api/cli/v1/uploads/signed-url`, which api-server serves.
|
|
14
14
|
*/
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
* exists rather than a few lines inside the forge command:
|
|
10
10
|
*
|
|
11
11
|
* 1. `?source=creator` in the URL. Without it `safePostMessageToCreator`
|
|
12
|
-
* (`game/src/engine/CreatorMode.ts
|
|
12
|
+
* (`game/src/engine/host/CreatorMode.ts`) returns without posting, every reply is discarded,
|
|
13
13
|
* and the pipeline times out with no error logged anywhere.
|
|
14
14
|
* 2. `GAME_TEMPLATE_READY` → `LOAD_GAME` → `GAME_LOADED` must complete first, in that order. All
|
|
15
|
-
* six forge message types
|
|
16
|
-
* (`
|
|
15
|
+
* six forge message types wait for the game in the engine's `HOST_COMMANDS`
|
|
16
|
+
* (`game/src/engine/host/protocol.ts`) and are queued, not run, before the handshake finishes — and
|
|
17
17
|
* `LOAD_GAME` itself is DROPPED, not queued, if it is posted before the engine registers its
|
|
18
18
|
* listener (see the long comment in `loadGame`).
|
|
19
19
|
* 3. `--disable-web-security`. The engine PUTs to presigned upload URLs from a `localhost`
|
|
@@ -24,8 +24,10 @@
|
|
|
24
24
|
* validation bails — hence the GL flags from `browser-gl.ts`, which ask for the machine's real
|
|
25
25
|
* GPU and keep software rendering available where there is none.
|
|
26
26
|
*
|
|
27
|
-
* The page is top-level, so `window.parent === window` and the engine's `
|
|
28
|
-
* posts to the page's own
|
|
27
|
+
* The page is top-level, so `window.parent === window` and the engine's `postToHost` (behind
|
|
28
|
+
* `safePostMessageToCreator`) posts to the page's own origin, where its own listener hears it.
|
|
29
|
+
* Commands go the same way: posted from inside the page to `window.location.origin`, never `'*'`,
|
|
30
|
+
* and the engine takes them because they come from its own frame (`isFromHost`). That is the load-bearing reason this works with no creator
|
|
29
31
|
* frame at all: our injected listener sees exactly what the Creator would have seen.
|
|
30
32
|
*/
|
|
31
33
|
import * as fs from 'fs';
|
|
@@ -151,7 +153,7 @@ export class ForgeBrowserHost {
|
|
|
151
153
|
// Runs inside the browser, where `window` is a real global. The CLI's own eslint config
|
|
152
154
|
// declares no DOM globals for the Node process it actually lints.
|
|
153
155
|
// eslint-disable-next-line no-undef
|
|
154
|
-
window.postMessage({ type: message.type, data: message.data },
|
|
156
|
+
window.postMessage({ type: message.type, data: message.data }, window.location.origin);
|
|
155
157
|
}, command);
|
|
156
158
|
},
|
|
157
159
|
onMessage: (listener) => {
|
|
@@ -255,9 +257,8 @@ export class ForgeBrowserHost {
|
|
|
255
257
|
// `CreatorMessageHandler`'s `pendingMessages` queue cannot help because it lives BEHIND the
|
|
256
258
|
// listener that does not exist yet, so a LOAD_GAME landing in that window is dropped
|
|
257
259
|
// outright and the only symptom is a GAME_LOADED timeout pointing at the wrong culprit.
|
|
258
|
-
// `GAME_TEMPLATE_READY` is posted
|
|
259
|
-
//
|
|
260
|
-
// (`creator/src/vue/composables/useIframeMessages.ts:1617`).
|
|
260
|
+
// `GAME_TEMPLATE_READY` is posted right after the listener is registered, and is what the
|
|
261
|
+
// real Creator waits on (`creator/src/vue/composables/useIframeMessages.ts`).
|
|
261
262
|
//
|
|
262
263
|
// `lab/browser.ts` does not hit this only by luck: its `await fetch('/api/get-game-config')`
|
|
263
264
|
// sits between goto and LOAD_GAME and provides accidental slack. This lane reads world.json
|
|
@@ -273,7 +274,9 @@ export class ForgeBrowserHost {
|
|
|
273
274
|
skipMenu: true,
|
|
274
275
|
agentUrl: payload.agentUrl,
|
|
275
276
|
},
|
|
276
|
-
},
|
|
277
|
+
},
|
|
278
|
+
// eslint-disable-next-line no-undef -- browser-side callback, see above.
|
|
279
|
+
window.location.origin);
|
|
277
280
|
}, {
|
|
278
281
|
gameId: this.options.gameId,
|
|
279
282
|
gameData: this.options.gameData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-host.js","sourceRoot":"","sources":["../../src/forge/browser-host.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"browser-host.js","sourceRoot":"","sources":["../../src/forge/browser-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAkC,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAiB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,wBAAwB,GAIzB,MAAM,gBAAgB,CAAC;AAExB,kFAAkF;AAClF,MAAM,cAAc,GAAG,yBAAyB,CAAC;AAEjD,2FAA2F;AAC3F,MAAM,8BAA8B,GAAG,OAAO,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,iCAAiC,GAAG,MAAM,CAAC;AAoBjD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAc;IAC3D,OAAO,oBAAoB,QAAQ,2BAA2B,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAuC,EACvC,QAAmB;IAEnB,OAAO,CAAC,wBAAwB,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,gFAAgF;AAChF,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW;IAC3D,8FAA8F;IAC9F,8FAA8F;IAC9F,gFAAgF;IAChF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAChB,MAAM,IAAI,OAAO,IAAI,wBAAwB,GAAG,6CAA6C,CAC9F,CAAC;IACJ,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,GAAG,IAAI,mDAAmD,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,QAAQ,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,QAA4B;IAE5B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,kDAAkD,CAAC,CAAC;IACjG,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,mDAAmD,CAAC,CAAC;IACpG,gGAAgG;IAChG,2EAA2E;IAC3E,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,OAAO,gBAAgB;IACV,OAAO,CAA0B;IACjC,GAAG,CAA4B;IAC/B,SAAS,GAAG,IAAI,GAAG,EAA8C,CAAC;IAClE,UAAU,CAAkB;IAC5B,cAAc,CAAiB;IACxC,OAAO,GAA0B,IAAI,CAAC;IACtC,IAAI,GAAgB,IAAI,CAAC;IACzB,WAAW,GAAkB,IAAI,CAAC;IAE1C,YAAY,OAAgC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAS,EAAE,GAAE,CAAC,CAAC,CAAC;QAC3C,8FAA8F;QAC9F,+FAA+F;QAC/F,yBAAyB;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE;YAC9D,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,OAAO,CAAC,gBAAgB;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEO,WAAW;QACjB,OAAO;YACL,WAAW,EAAE,KAAK,EAAE,OAAoB,EAAiB,EAAE;gBACzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC5E,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAoB,EAAE,EAAE;oBAC3C,wFAAwF;oBACxF,kEAAkE;oBAClE,oCAAoC;oBACpC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzF,CAAC,EAAE,OAAO,CAAC,CAAC;YACd,CAAC;YACD,SAAS,EAAE,CAAC,QAAQ,EAAgB,EAAE;gBACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,OAAgB;QAC/B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO;QAC/B,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC;YACH,4FAA4F;YAC5F,iFAAiF;YACjF,IAAI,CAAC,OAAO,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,EAAE;gBACtE,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,QAAQ;gBACjB,IAAI;gBACJ,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;gBACtC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,0FAA0F;YAC1F,wFAAwF;YACxF,EAAE;YACF,0FAA0F;YAC1F,2FAA2F;YAC3F,uCAAuC;YACvC,MAAM,IAAI,QAAQ,CAChB,2FAA2F;gBACzF,wFAAwF;gBACxF,YAAY,CACf,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,QAAQ,CAAC,uDAAuD,CAAC,CAAC;QAC1F,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAEvB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,2EAA2E;QAC3E,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YAC7B,yFAAyF;YACzF,qFAAqF;YACrF,EAAE;YACF,wFAAwF;YACxF,uEAAuE;YACvE,yFAAyF;YACzF,4FAA4F;YAC5F,wFAAwF;YACxF,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,MAAM,EAAE,CAAC;gBACzD,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,UAAkB,EAAE,EAAE;YAC9C,uGAAuG;YACvG,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAmB,EAAE,EAAE;gBACzD,MAAM,OAAO,GAAI,MAA6C,CAAC,UAAU,CAAC,CAAC;gBAC3E,2FAA2F;gBAC3F,gCAAgC;gBAChC,IAAI,OAAO,OAAO,KAAK,UAAU;oBAAG,OAAgC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;YACH,4BAA4B;QAC9B,CAAC,EAAE,cAAc,CAAC,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,8BAA8B,CAAC;QACrF,6FAA6F;QAC7F,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAC3C,qBAAqB,EACrB,iCAAiC,EACjC,2DAA2D,iCAAiC,MAAM;YAChG,mFAAmF,CACtF,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CACxC,aAAa,EACb,SAAS,EACT,8CAA8C,SAAS,4BAA4B;YACjF,sEAAsE,CACzE,CAAC;QACF,wFAAwF;QACxF,mFAAmF;QACnF,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7C,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAExD,6FAA6F;YAC7F,sEAAsE;YACtE,gFAAgF;YAChF,yEAAyE;YACzE,4FAA4F;YAC5F,qFAAqF;YACrF,wFAAwF;YACxF,0FAA0F;YAC1F,8EAA8E;YAC9E,EAAE;YACF,6FAA6F;YAC7F,4FAA4F;YAC5F,yDAAyD;YACzD,MAAM,aAAa,CAAC,OAAO,CAAC;YAE5B,MAAM,IAAI,CAAC,QAAQ,CACjB,CAAC,OAAgF,EAAE,EAAE;gBACnF,yEAAyE;gBACzE,MAAM,CAAC,WAAW,CAChB;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE;wBACJ,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;qBAC3B;iBACF;gBACD,yEAAyE;gBACzE,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;YACJ,CAAC,EACD;gBACE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAC/B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;aAChC,CACF,CAAC;YACF,MAAM,UAAU,CAAC,OAAO,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,qCAAqC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QACzE,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,MAAM,EAAE,CAAC;YACvB,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,kBAAkB,CACxB,IAAY,EACZ,SAAiB,EACjB,cAAsB;QAEtB,IAAI,KAAgD,CAAC;QACrD,IAAI,WAAqC,CAAC;QAC1C,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,WAAW,EAAE,EAAE,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;YACvC,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClD,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;oBAAE,OAAO;gBAClC,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;CACF"}
|
package/dist/generate/model.js
CHANGED
|
@@ -6,6 +6,7 @@ import { CliError } from '../errors.js';
|
|
|
6
6
|
import { projectWorldJsonPath } from '../forge/run-pipeline.js';
|
|
7
7
|
import { assertMasterCanBeKept, logReusedMaster, logReusedMesh, requestMesh, requestVoxelMaster, shouldTryVoxelPath, upsertAssetRecord, } from './prop.js';
|
|
8
8
|
import { isJsonObject, readWorldJson } from '../project/world-json.js';
|
|
9
|
+
import { withBoundingBoxInMetres } from '@bitmagic/world-forger/world-data-migrations.js';
|
|
9
10
|
/** Where the generation stores its smart-object spec: beside the master, under `smart/`. */
|
|
10
11
|
export function smartSpecUrlBeside(masterUrl) {
|
|
11
12
|
return `${masterUrl.slice(0, masterUrl.lastIndexOf('/') + 1)}smart/spec.json`;
|
|
@@ -84,8 +85,10 @@ export async function generateAndInstallModel(options) {
|
|
|
84
85
|
// The Asset Forger embeds no scene description, so the engine's record comes back with none and
|
|
85
86
|
// its `production.prompt` is empty. Carrying the prompt across is what makes a later HQ
|
|
86
87
|
// regeneration ask for the same object rather than a generic one.
|
|
88
|
+
// `withBoundingBoxInMetres`: the engine built the box in metres, and the flag keeps an older
|
|
89
|
+
// world.json's load migration from shrinking it (game/docs/world-data-format-version.md).
|
|
87
90
|
const asset = {
|
|
88
|
-
...engineAsset,
|
|
91
|
+
...withBoundingBoxInMetres(engineAsset),
|
|
89
92
|
description: typeof engineAsset.description === 'string' && engineAsset.description.trim() !== ''
|
|
90
93
|
? engineAsset.description
|
|
91
94
|
: prompt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/generate/model.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACL,sBAAsB,EAAE,aAAa,EAAE,oBAAoB,GAE5D,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAgB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EACtF,kBAAkB,EAAE,iBAAiB,GACtC,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAmB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/generate/model.ts"],"names":[],"mappings":"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"}
|
package/dist/generate/prop.js
CHANGED
|
@@ -55,6 +55,7 @@ import { VOXELIZE_TIMEOUT_MS, withVoxelizeSession } from '../forge/voxelize-sess
|
|
|
55
55
|
import { requestGeneration } from './stream.js';
|
|
56
56
|
import { describeSmartBehaviour, smartRequestFrom } from '@bitmagic/asset-core';
|
|
57
57
|
import { isJsonObject, readWorldJson } from '../project/world-json.js';
|
|
58
|
+
import { withBoundingBoxInMetres } from '@bitmagic/world-forger/world-data-migrations.js';
|
|
58
59
|
/**
|
|
59
60
|
* Bake resolution. Taken from the HQ job rather than re-derived: these two values are what the
|
|
60
61
|
* web lane has always produced HQ assets at, and a project should not get a different-looking
|
|
@@ -423,8 +424,10 @@ export async function voxelizeAndInstall(options) {
|
|
|
423
424
|
// embeds but the Asset Forger does not — so a regenerated asset comes back with none. Carrying
|
|
424
425
|
// the prompt across is what keeps `placeholder: false` unambiguous: a described-and-false asset
|
|
425
426
|
// has been regenerated, an undescribed one never was.
|
|
427
|
+
// `withBoundingBoxInMetres`: the engine built the box in metres, and the flag keeps an older
|
|
428
|
+
// world.json's load migration from shrinking it (game/docs/world-data-format-version.md).
|
|
426
429
|
const upgraded = {
|
|
427
|
-
...engineAsset,
|
|
430
|
+
...withBoundingBoxInMetres(engineAsset),
|
|
428
431
|
description: typeof engineAsset.description === 'string' && engineAsset.description.trim() !== ''
|
|
429
432
|
? engineAsset.description
|
|
430
433
|
: prompt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prop.js","sourceRoot":"","sources":["../../src/generate/prop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAgB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAA0B,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAwB,MAAM,sBAAsB,CAAC;AAEtG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AAExF;;;;GAIG;AACH,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC,+DAA+D;AAC/D,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAW1C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAC3G,CAAC;AA+FD,+FAA+F;AAC/F,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,OAAe,EACf,KAAiB,EACjB,OAA6B;IAE7B,MAAM,YAAY,GAA0B;QAC1C,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,CAAC,QAAQ,CAAC;QAChB,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO;QACvE,KAAK,EAAE,KAAK;KACb,CAAC;IACF,yBAAyB,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAA6B;IACjE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO;IACpC,MAAM,IAAI,QAAQ,CAChB,oGAAoG;UAClG,uGAAuG,CAC1G,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,GAA8B;IAC1E,GAAG,CAAC,uBAAuB,MAAM,yBAAyB,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAiB,EACjB,OAAkE,EAClE,GAA8B;IAE9B,GAAG,CAAC,+BAA+B,SAAS,yBAAyB,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,GAAG,CAAC,gCAAgC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,aAAa,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;IAC9H,CAAC;SAAM,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACvC,GAAG,CAAC,yHAAyH,CAAC,CAAC;IACjI,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAiB,EACjB,OAAe;IAEf,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC/E,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAChB,qBAAqB,OAAO,kCAAkC;cAC5D,+DAA+D,CAClE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;WACpB,OAAO,MAAM,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvG,MAAM,IAAI,QAAQ,CAChB,UAAU,OAAO,0DAA0D;cACzE,sDAAsD,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;AAChF,CAAC;AAED,8FAA8F;AAC9F,SAAS,cAAc,CAAC,KAAiB,EAAE,OAAe;IACxD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;AACzF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1D,CAAC;AA4BD,SAAS,cAAc,CAAC,OAAsB;IAC5C,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,IAAa,EACb,GAA8B;IAE9B,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,uBAAuB,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,GAAG,CAAC,oFAAoF;UACpF,iDAAiD,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAsB,EACtB,SAAkB,EAClB,KAAwB;IAExB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEvD,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,OAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE;YAC1E,GAAG,cAAc,CAAC,OAAO,CAAC;YAC1B,0FAA0F;YAC1F,iFAAiF;YACjF,IAAI,EAAE,SAAS,IAAI,mBAAmB;YACtC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,8FAA8F;QAC9F,2FAA2F;QAC3F,+FAA+F;QAC/F,6FAA6F;QAC7F,mBAAmB;QACnB,GAAG,CAAC,2CAA2C,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,2FAA2F;QAC3F,6FAA6F;QAC7F,6DAA6D;QAC7D,GAAG,CAAC,qDAAqD,OAAO,CAAC,OAAO,KAAK;cACzE,+EAA+E,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,iBAAiB,WAAW,CAAC,KAAK,CAAC,MAAM,kBAAkB;kBAC3D,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;QAC5G,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,4EAA4E,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAiB;IAClD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxG,MAAM,WAAW,GAAG,KAAK;SACtB,MAAM,CAAC,YAAY,CAAC;SACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;SACpH,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,IAAc;QACzB,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,EAAE,IAAI,CAAC,MAAmF;KACjG,CAAC,CAAC,CAAC;IACN,MAAM,IAAI,GAAG,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtE,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC,CAAC,CAAC,CAAC;IACL,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC;AAQD,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAsB;IACtD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CACrC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,cAAc,CAAC,OAAO,CAAC,EAChF,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,CACtD,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,MAAM,IAAI,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,2BAA2B,CAAC,CAAC;IACxF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,+EAA+E,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC,MAAM,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAkC;IAElC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEtE,oFAAoF;IACpF,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzG,6EAA6E;IAC7E,2EAA2E;IAC3E,gEAAgE;IAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,CAAC,MAAkB,EAA+B,EAAE,CAAC,kBAAkB,CAAC;QACnF,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG;QACzD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrE,OAAO,EAAE,GAAG,CAAC,MAAM,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IACxE,CAAC;IAED,6FAA6F;IAC7F,uFAAuF;IACvF,+FAA+F;IAC/F,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC9F,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO;YACL,GAAG,CAAC,MAAM,IAAI,CAAC;gBACb,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5C,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE,CAAC,CAAC;YACH,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAErC,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,MAAM;YAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACnG,+FAA+F;QAC/F,8DAA8D;QAC9D,GAAG,CAAC,gCAAgC,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAA4B;IACnE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAAC;IAC1D,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAExE,+FAA+F;IAC/F,wFAAwF;IACxF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK;QAChC,CAAC,CAAC;YACA,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,iCAAiC,MAAM,CAAC,MAAM,EAAE;YACtD,KAAK,EAAE,6DAA6D;SACrE;QACD,CAAC,CAAC;YACA,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,yCAAyC,MAAM,CAAC,SAAS,EAAE;YACjE,KAAK,EAAE,gEAAgE;SACxE,CAAC;IAEJ,OAAO,UAAU,CAAC;QAChB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE;KAChG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QAC1B,GAAG,CAAC,WAAW,SAAS,2BAA2B,CAAC,CAAC;QACrD,4FAA4F;QAC5F,8FAA8F;QAC9F,iEAAiE;QACjE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK;YACnC,CAAC,CAAC;gBACA,IAAI,EAAE,2BAA2B;gBACjC,SAAS,EAAE,QAAQ,OAAO,IAAI,IAAI,EAAE;gBACpC,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,wFAAwF;gBACxF,mCAAmC;gBACnC,OAAO;gBACP,OAAO,EAAE;oBACP,YAAY,EAAE,cAAc;oBAC5B,YAAY,EAAE,cAAc;oBAC5B,MAAM;oBACN,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC;oBACxC,WAAW,EAAE,KAAK;iBACnB;aACF;YACD,CAAC,CAAC;gBACA,IAAI,EAAE,8BAA8B;gBACpC,SAAS,EAAE,QAAQ,OAAO,IAAI,IAAI,EAAE;gBACpC,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO;gBACP,sFAAsF;gBACtF,OAAO,EAAE;oBACP,YAAY,EAAE,cAAc;oBAC5B,YAAY,EAAE,cAAc;oBAC5B,MAAM;iBACP;gBACD,sFAAsF;gBACtF,4DAA4D;gBAC5D,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QAEJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAC7C,OAAO,EACP,2BAA2B,EAC3B,mBAAmB,EACnB,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,QAAQ,CAChB,WAAW,SAAS,gBAAgB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;YACjF,MAAM,IAAI,QAAQ,CAChB,WAAW,SAAS,aAAa,MAAM,KAAK,IAAI,CAAC,IAAI,GAAG,CACzD,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,+FAA+F;QAC/F,+FAA+F;QAC/F,gGAAgG;QAChG,sDAAsD;QACtD,MAAM,QAAQ,GAAe;YAC3B,GAAG,WAAW;YACd,WAAW,EAAE,OAAO,WAAW,CAAC,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;gBAC/F,CAAC,CAAC,WAAW,CAAC,WAAW;gBACzB,CAAC,CAAC,MAAM;YACV,WAAW,EAAE,KAAK;YAClB,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACxC,CAAC;QAEF,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEhD,OAAO;YACL,OAAO;YACP,SAAS;YACT,GAAG,CAAC,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,aAAa,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;SAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,OAAkC;IACrD,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;QACvC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK;QAChD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAC5B,OAAuD;IAEvD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC9E,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,IAAI,oBAAoB,CAAC;IAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;QACtB,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,MAAM;QACzF,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG;KACtD,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAe;QAC3B,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;QACrI,WAAW,EAAE,MAAM;QACnB,MAAM;QACN,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;KACnE,CAAC;IACF,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,GAAG,CAAC,eAAe,SAAS,wBAAwB,MAAM,CAAC,MAAM,2BAA2B,CAAC,CAAC;IAC9F,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;AACnG,CAAC"}
|
|
1
|
+
{"version":3,"file":"prop.js","sourceRoot":"","sources":["../../src/generate/prop.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import type { Environment } from '../config/environments.js';
|
|
|
2
2
|
import { type ApiDeps } from './client.js';
|
|
3
3
|
/** The api-server route; the same one `forge/upload-proxy.ts` forwards the engine to. */
|
|
4
4
|
export declare const SIGNED_UPLOAD_PATH = "/api/cli/v1/uploads/signed-url";
|
|
5
|
+
/** The encodings `putSignedUpload` can produce, sent with every mint request. */
|
|
6
|
+
export declare const ACCEPT_ENCODINGS: readonly ["br", "gzip"];
|
|
5
7
|
export interface SignedUploadRequest {
|
|
6
8
|
gameId: string;
|
|
7
9
|
/** A bare basename. api-server refuses (never rewrites) a path separator or `..`. */
|
|
@@ -14,7 +16,7 @@ export interface SignedUpload {
|
|
|
14
16
|
/** Where the object is served from once the PUT lands — what goes into world.json. */
|
|
15
17
|
publicUrl: string;
|
|
16
18
|
cacheControl?: string;
|
|
17
|
-
/** `'gzip'` when the server bound that encoding into the signature; the PUT must then
|
|
19
|
+
/** `'gzip'` or `'br'` when the server bound that encoding into the signature; the PUT must then encode. */
|
|
18
20
|
contentEncoding?: string;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
@@ -30,13 +32,13 @@ export interface PutSignedUrlOptions {
|
|
|
30
32
|
* Raw PUT of already-prepared bytes to a GCS V4 signed URL.
|
|
31
33
|
*
|
|
32
34
|
* `headers` must match exactly what the URL's signature bound (Content-Type, Cache-Control, and
|
|
33
|
-
* Content-Encoding when the server chose
|
|
35
|
+
* Content-Encoding when the server chose one). A mismatch is a 403 from GCS, not a stale-cache
|
|
34
36
|
* symptom; see cli-publish.ts's and cli-uploads.ts's own doc comments for why.
|
|
35
37
|
*/
|
|
36
38
|
export declare function putSignedUrl(url: string, body: string | Uint8Array, headers: Record<string, string>, deps: ApiDeps, options?: PutSignedUrlOptions): Promise<void>;
|
|
37
39
|
/**
|
|
38
|
-
* PUT `bytes` to the URL `mintSignedUpload` returned,
|
|
39
|
-
* `Content-Encoding
|
|
40
|
+
* PUT `bytes` to the URL `mintSignedUpload` returned, encoding them first when the server bound a
|
|
41
|
+
* `Content-Encoding` into the signature. `contentType` is the SAME value the caller minted
|
|
40
42
|
* with (the server never echoes it back), while `cacheControl` and `contentEncoding` are read off
|
|
41
43
|
* the signed response, because the server — not the caller — decides both.
|
|
42
44
|
*
|
|
@@ -9,11 +9,13 @@
|
|
|
9
9
|
*
|
|
10
10
|
* - **The PUT's headers must match what the signature bound.** api-server signs `Content-Type`,
|
|
11
11
|
* `Cache-Control` and — for the content types it marks compressible (`application/octet-stream`,
|
|
12
|
-
* `application/json`, ...) — `Content-Encoding
|
|
13
|
-
* which reads like an auth problem and is not one.
|
|
14
|
-
* - **`Content-Encoding
|
|
15
|
-
* `StorageUploadUtil` gzips before it PUTs;
|
|
16
|
-
* gzip label would be served with the wrong
|
|
12
|
+
* `application/json`, `model/gltf-binary`, ...) — `Content-Encoding`. A header that differs is a
|
|
13
|
+
* 403 from GCS, which reads like an auth problem and is not one.
|
|
14
|
+
* - **`Content-Encoding` means the bytes are encoded**, not merely labelled. The engine's
|
|
15
|
+
* `StorageUploadUtil` gzips before it PUTs; this gzips or brotli-compresses, whichever the server
|
|
16
|
+
* bound. A creator's `.vxl` uploaded raw under a gzip label would be served with the wrong
|
|
17
|
+
* encoding and fail to load in every browser. The mint request says which encodings this CLI
|
|
18
|
+
* can produce (`ACCEPT_ENCODINGS`); api-server picks brotli for GLBs only when that list has it.
|
|
17
19
|
*
|
|
18
20
|
* Status mapping is this module's own rather than `http/client.ts`'s `request()`, because that one
|
|
19
21
|
* reads every 403 as a Bitmagic Pro refusal. Here a 403 is more often "you do not own this game"
|
|
@@ -21,12 +23,33 @@
|
|
|
21
23
|
* to subscribe would send them somewhere that cannot help.
|
|
22
24
|
*/
|
|
23
25
|
import * as zlib from 'zlib';
|
|
26
|
+
import { promisify } from 'util';
|
|
24
27
|
import { CliError } from '../errors.js';
|
|
25
28
|
import { proRefusal } from './client.js';
|
|
26
29
|
import { isJsonObject } from '../project/world-json.js';
|
|
27
30
|
import { apiServerHeaders } from '../telemetry/request-headers.js';
|
|
28
31
|
/** The api-server route; the same one `forge/upload-proxy.ts` forwards the engine to. */
|
|
29
32
|
export const SIGNED_UPLOAD_PATH = '/api/cli/v1/uploads/signed-url';
|
|
33
|
+
/** The encodings `putSignedUpload` can produce, sent with every mint request. */
|
|
34
|
+
export const ACCEPT_ENCODINGS = ['br', 'gzip'];
|
|
35
|
+
/**
|
|
36
|
+
* Brotli quality 10 is what the agent's upload transcode stores, but its cost grows steeply with
|
|
37
|
+
* size: 19 s for a 30 MB GLB, against 1 s at quality 9 for a 14% larger result. Above this size
|
|
38
|
+
* the upload takes quality 9, so `assets add` on a big ship mesh does not stall.
|
|
39
|
+
*/
|
|
40
|
+
const BROTLI_FULL_QUALITY_MAX_BYTES = 8 * 1024 * 1024;
|
|
41
|
+
const brotliCompress = promisify(zlib.brotliCompress);
|
|
42
|
+
async function encodeBody(bytes, encoding) {
|
|
43
|
+
if (encoding === 'gzip')
|
|
44
|
+
return new Uint8Array(zlib.gzipSync(bytes));
|
|
45
|
+
const quality = bytes.byteLength <= BROTLI_FULL_QUALITY_MAX_BYTES ? 10 : 9;
|
|
46
|
+
return new Uint8Array(await brotliCompress(bytes, {
|
|
47
|
+
params: {
|
|
48
|
+
[zlib.constants.BROTLI_PARAM_QUALITY]: quality,
|
|
49
|
+
[zlib.constants.BROTLI_PARAM_SIZE_HINT]: bytes.byteLength,
|
|
50
|
+
},
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
30
53
|
async function readJsonBody(response) {
|
|
31
54
|
try {
|
|
32
55
|
const parsed = await response.json();
|
|
@@ -52,7 +75,7 @@ export async function mintSignedUpload(environment, accessToken, body, deps) {
|
|
|
52
75
|
'Content-Type': 'application/json',
|
|
53
76
|
Accept: 'application/json',
|
|
54
77
|
},
|
|
55
|
-
body: JSON.stringify(body),
|
|
78
|
+
body: JSON.stringify({ ...body, acceptEncodings: ACCEPT_ENCODINGS }),
|
|
56
79
|
});
|
|
57
80
|
}
|
|
58
81
|
catch {
|
|
@@ -105,7 +128,7 @@ export async function mintSignedUpload(environment, accessToken, body, deps) {
|
|
|
105
128
|
* Raw PUT of already-prepared bytes to a GCS V4 signed URL.
|
|
106
129
|
*
|
|
107
130
|
* `headers` must match exactly what the URL's signature bound (Content-Type, Cache-Control, and
|
|
108
|
-
* Content-Encoding when the server chose
|
|
131
|
+
* Content-Encoding when the server chose one). A mismatch is a 403 from GCS, not a stale-cache
|
|
109
132
|
* symptom; see cli-publish.ts's and cli-uploads.ts's own doc comments for why.
|
|
110
133
|
*/
|
|
111
134
|
export async function putSignedUrl(url, body, headers, deps, options = {}) {
|
|
@@ -131,8 +154,8 @@ export async function putSignedUrl(url, body, headers, deps, options = {}) {
|
|
|
131
154
|
}
|
|
132
155
|
}
|
|
133
156
|
/**
|
|
134
|
-
* PUT `bytes` to the URL `mintSignedUpload` returned,
|
|
135
|
-
* `Content-Encoding
|
|
157
|
+
* PUT `bytes` to the URL `mintSignedUpload` returned, encoding them first when the server bound a
|
|
158
|
+
* `Content-Encoding` into the signature. `contentType` is the SAME value the caller minted
|
|
136
159
|
* with (the server never echoes it back), while `cacheControl` and `contentEncoding` are read off
|
|
137
160
|
* the signed response, because the server — not the caller — decides both.
|
|
138
161
|
*
|
|
@@ -145,15 +168,15 @@ export async function putSignedUpload(signed, bytes, contentType, deps, options
|
|
|
145
168
|
}
|
|
146
169
|
let body = bytes;
|
|
147
170
|
if (signed.contentEncoding !== undefined && signed.contentEncoding !== '') {
|
|
148
|
-
//
|
|
149
|
-
//
|
|
150
|
-
//
|
|
151
|
-
if (signed.contentEncoding
|
|
171
|
+
// An encoding this code cannot PRODUCE must not be advertised: labelling raw bytes with it
|
|
172
|
+
// would store an object no browser can decode. Refused loudly instead, before anything is
|
|
173
|
+
// written.
|
|
174
|
+
if (!ACCEPT_ENCODINGS.includes(signed.contentEncoding)) {
|
|
152
175
|
throw new CliError(`api-server asked for Content-Encoding "${signed.contentEncoding}", which this CLI cannot produce. `
|
|
153
176
|
+ 'Run `bitmagic upgrade` or update the CLI.');
|
|
154
177
|
}
|
|
155
178
|
headers['Content-Encoding'] = signed.contentEncoding;
|
|
156
|
-
body =
|
|
179
|
+
body = await encodeBody(bytes, signed.contentEncoding);
|
|
157
180
|
}
|
|
158
181
|
await putSignedUrl(signed.signedUrl, body, headers, deps, options);
|
|
159
182
|
return { storedBytes: body.byteLength };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signed-upload.js","sourceRoot":"","sources":["../../src/http/signed-upload.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"signed-upload.js","sourceRoot":"","sources":["../../src/http/signed-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* The only place left to intervene is the network call itself.
|
|
10
10
|
*
|
|
11
11
|
* Three families of call have to be caught, because the engine uses all three:
|
|
12
|
-
* fetch - the .vwld level (`engine/levels/fetchVwld.ts`), nav sidecars, .vxl buffers, and
|
|
12
|
+
* fetch - the .vwld level (`engine/world/levels/fetchVwld.ts`), nav sidecars, .vxl buffers, and
|
|
13
13
|
* three's own FileLoader, which is what GLTFLoader loads every .glb through
|
|
14
14
|
* XHR - nothing in the engine today, but three's loaders keep an XHR path and a creator's
|
|
15
15
|
* own game code is not bound by what the engine happens to do
|