@bitmagic/cli 0.1.83-dev.7 → 0.1.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -7
- package/dist/bug-report/dev-view.d.ts +10 -0
- package/dist/bug-report/dev-view.js +35 -0
- package/dist/bug-report/dev-view.js.map +1 -0
- package/dist/bug-report/send.d.ts +54 -0
- package/dist/bug-report/send.js +143 -0
- package/dist/bug-report/send.js.map +1 -0
- package/dist/cli.d.ts +24 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/pages.js +6 -14
- package/dist/commands/pages.js.map +1 -1
- package/dist/commands/report-bug.d.ts +42 -0
- package/dist/commands/report-bug.js +98 -0
- package/dist/commands/report-bug.js.map +1 -0
- package/dist/commands/upgrade.d.ts +9 -2
- package/dist/commands/upgrade.js +27 -6
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/editor/bug-report-panel.d.ts +23 -0
- package/dist/editor/bug-report-panel.js +191 -0
- package/dist/editor/bug-report-panel.js.map +1 -0
- package/dist/editor/hud-replay-page.d.ts +9 -0
- package/dist/editor/hud-replay-page.js +11 -1
- package/dist/editor/hud-replay-page.js.map +1 -1
- package/dist/editor/server.js +54 -1
- package/dist/editor/server.js.map +1 -1
- package/dist/editor/shell-page.js +11 -0
- package/dist/editor/shell-page.js.map +1 -1
- package/dist/publish/bundle.js +3 -5
- package/dist/publish/bundle.js.map +1 -1
- package/dist/publish/source-zip.d.ts +6 -0
- package/dist/publish/source-zip.js +1 -1
- package/dist/publish/source-zip.js.map +1 -1
- package/dist/scaffold/game-migration.d.ts +25 -63
- package/dist/scaffold/game-migration.js +30 -439
- package/dist/scaffold/game-migration.js.map +1 -1
- package/dist/scaffold/import-codemod.d.ts +4 -3
- package/dist/scaffold/import-codemod.js +16 -34
- package/dist/scaffold/import-codemod.js.map +1 -1
- package/dist/scaffold/project-files.js +19 -13
- package/dist/scaffold/project-files.js.map +1 -1
- package/dist/scaffold/skill-files.js +16 -2
- package/dist/scaffold/skill-files.js.map +1 -1
- package/dist/vendor/hud-theme/engine/hud/fonts.js +6 -4
- package/package.json +4 -4
- package/dist/scaffold/legacy-game-baselines.d.ts +0 -14
- package/dist/scaffold/legacy-game-baselines.js +0 -218
- package/dist/scaffold/legacy-game-baselines.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-bug.js","sourceRoot":"","sources":["../../src/commands/report-bug.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,8 +62,15 @@ export declare function reportMissingDesignDoc(output: Output, root: string): bo
|
|
|
62
62
|
* the common case, and not news.
|
|
63
63
|
*/
|
|
64
64
|
export declare function reportImportCodemod(output: Output, result: ImportCodemodResult | null, skipped: string | undefined): void;
|
|
65
|
-
/**
|
|
66
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Say what `--migrate-game` did, or why it left Game.ts alone. Without the flag, a Game.ts that is
|
|
67
|
+
* still the old whole class gets a pointer to it; either way a Game.ts left old gets the guide
|
|
68
|
+
* the project's agent can follow by hand (`guide` is null on an engine that predates it).
|
|
69
|
+
*/
|
|
70
|
+
export declare function reportGameMigration(output: Output, outcome: GameMigrationOutcome | null, legacy: {
|
|
71
|
+
stillLegacy: boolean;
|
|
72
|
+
guide: string | null;
|
|
73
|
+
}): void;
|
|
67
74
|
/** What the post-upgrade CLI check found, for the `--json` result. */
|
|
68
75
|
export interface CliUpdateStatus {
|
|
69
76
|
/** The CLI that ran this upgrade. '' when its own package.json could not be read. */
|
package/dist/commands/upgrade.js
CHANGED
|
@@ -16,7 +16,7 @@ import { DEPENDENCIES, DEV_DEPENDENCIES } from '../scaffold/project-files.js';
|
|
|
16
16
|
import { loadProjectContext, projectBin } from '../project/context.js';
|
|
17
17
|
import { spawnBinSync } from '../project/spawn-bin.js';
|
|
18
18
|
import { loadProjectTypeScript, runImportCodemod } from '../scaffold/import-codemod.js';
|
|
19
|
-
import { GAME_FILE, migrateGameFile } from '../scaffold/game-migration.js';
|
|
19
|
+
import { GAME_FILE, gameMigrationGuide, isLegacyGameFile, migrateGameFile } from '../scaffold/game-migration.js';
|
|
20
20
|
import { addCommand, detectPackageManager } from '../project/package-manager.js';
|
|
21
21
|
import { isOlderSemverVersion } from '../project/version-compare.js';
|
|
22
22
|
import { fetchTagVersion } from '../update/check.js';
|
|
@@ -222,10 +222,22 @@ export function reportImportCodemod(output, result, skipped) {
|
|
|
222
222
|
output.info(` ${call}`);
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
|
-
/**
|
|
226
|
-
|
|
227
|
-
|
|
225
|
+
/**
|
|
226
|
+
* Say what `--migrate-game` did, or why it left Game.ts alone. Without the flag, a Game.ts that is
|
|
227
|
+
* still the old whole class gets a pointer to it; either way a Game.ts left old gets the guide
|
|
228
|
+
* the project's agent can follow by hand (`guide` is null on an engine that predates it).
|
|
229
|
+
*/
|
|
230
|
+
export function reportGameMigration(output, outcome, legacy) {
|
|
231
|
+
if (outcome === null) {
|
|
232
|
+
if (!legacy.stillLegacy)
|
|
233
|
+
return;
|
|
234
|
+
output.info('');
|
|
235
|
+
output.info(`${GAME_FILE} is still the old whole \`class VoxelGame\` (not \`extends VoxelGameBase\`), so every load logs [deprecated] warnings.`);
|
|
236
|
+
output.info(' Run `bitmagic upgrade --migrate-game` to rewrite it into a VoxelGameBase subclass.');
|
|
237
|
+
if (legacy.guide !== null)
|
|
238
|
+
output.info(` When it cannot, migrate it by hand, or have your agent do it, following ${legacy.guide}.`);
|
|
228
239
|
return;
|
|
240
|
+
}
|
|
229
241
|
output.info('');
|
|
230
242
|
if (outcome.status === 'already-migrated') {
|
|
231
243
|
output.info(`${GAME_FILE} already extends VoxelGameBase; nothing to migrate.`);
|
|
@@ -234,6 +246,9 @@ export function reportGameMigration(output, outcome) {
|
|
|
234
246
|
if (outcome.status === 'skipped') {
|
|
235
247
|
output.info(`Left ${GAME_FILE} unchanged: ${outcome.reason}`);
|
|
236
248
|
output.info(' It keeps working as it is; the engine adopts the spawner, vehicles and player loader it hands over.');
|
|
249
|
+
if (legacy.stillLegacy && legacy.guide !== null) {
|
|
250
|
+
output.info(` To migrate it by hand, or have your agent do it, follow ${legacy.guide}.`);
|
|
251
|
+
}
|
|
237
252
|
return;
|
|
238
253
|
}
|
|
239
254
|
output.info(`Migrated ${GAME_FILE} to \`class VoxelGame extends VoxelGameBase\` (it type-checks).`);
|
|
@@ -381,7 +396,7 @@ export const upgradeCommand = defineCommand({
|
|
|
381
396
|
if (args['migrate-game'] === true) {
|
|
382
397
|
gameMigration = ts === null
|
|
383
398
|
? { status: 'skipped', reason: noTypeScript }
|
|
384
|
-
: migrateGameFile({ root: context.root, ts, typeCheck: () => projectTypeCheck(context.root) });
|
|
399
|
+
: migrateGameFile({ root: context.root, ts, typeCheck: () => projectTypeCheck(context.root), templatesDir, template: context.metadata.template });
|
|
385
400
|
}
|
|
386
401
|
output.info('');
|
|
387
402
|
if (result.environmentPinned !== undefined) {
|
|
@@ -445,7 +460,9 @@ export const upgradeCommand = defineCommand({
|
|
|
445
460
|
// environment's line — which is the same rule AGENTS.md hands the agent.
|
|
446
461
|
const cliUpdate = await reportCliUpdate(output, result.previousEngineVersion !== result.engineVersion, currentCliVersion(), updateTagForEnvironment(environment.name));
|
|
447
462
|
reportImportCodemod(output, codemod, codemodSkipped);
|
|
448
|
-
|
|
463
|
+
// Read after the migration ran: a Game.ts it rewrote is no longer old.
|
|
464
|
+
const legacyGame = { stillLegacy: isLegacyGameFile(context.root), guide: gameMigrationGuide(context.root) };
|
|
465
|
+
reportGameMigration(output, gameMigration, legacyGame);
|
|
449
466
|
const mismatches = printDependencyReport(output, context.root);
|
|
450
467
|
reportAgentsMd(output, result.agentsMd);
|
|
451
468
|
const needsDesignDoc = reportMissingDesignDoc(output, context.root);
|
|
@@ -463,6 +480,10 @@ export const upgradeCommand = defineCommand({
|
|
|
463
480
|
importCodemodSkipped: codemodSkipped ?? null,
|
|
464
481
|
// Null unless --migrate-game was passed.
|
|
465
482
|
gameMigration,
|
|
483
|
+
// True while src/work/Game.ts is still the old whole class (it logs deprecation warnings);
|
|
484
|
+
// the guide is the rewrite an agent can follow by hand, null on an engine without it.
|
|
485
|
+
legacyGameFile: legacyGame.stillLegacy,
|
|
486
|
+
gameMigrationGuide: legacyGame.stillLegacy ? legacyGame.guide : null,
|
|
466
487
|
// The install command is printed as prose; an agent gets the structured form instead of
|
|
467
488
|
// parsing it back out of a sentence.
|
|
468
489
|
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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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The "Report bug…" dialog, opened from the ⋯ menu — the dev view's counterpart of the Creator's
|
|
3
|
+
* "Report Bug" button, and the same report `bitmagic report-bug` files (`bug-report/send.ts`).
|
|
4
|
+
*
|
|
5
|
+
* The page gathers the two things only it has: a screenshot (the engine takes it, through
|
|
6
|
+
* `captureGamePng()`) and the runtime errors the game has posted as 'GAME_RUNTIME_ERRORS' since the
|
|
7
|
+
* page opened. The sidecar's `POST /api/bug-report` adds the source ZIP and the versions and sends
|
|
8
|
+
* it, so the page never holds a token.
|
|
9
|
+
*
|
|
10
|
+
* Exports its behaviour as a string like `motion-panel.ts`, for the same reason: it has to sit
|
|
11
|
+
* inside the shell's IIFE, where `captureGamePng`, `loaded` and `frame` are in scope. Same
|
|
12
|
+
* template-literal rules as the host: **no backticks**, every colour a `--bm-*` token.
|
|
13
|
+
*/
|
|
14
|
+
/** Errors kept for a report — api-server keeps the last 20 anyway. */
|
|
15
|
+
export declare const BUG_REPORT_MAX_ERRORS = 20;
|
|
16
|
+
export declare const BUG_REPORT_PANEL_CSS = "\n /* Level with the other dialogs: each opens from its own control and they never stack. */\n #bug-overlay { z-index: 10; }\n #bug-dialog { width: min(480px, 94vw); padding: 20px; }\n #bug-dialog p { margin: 0 0 12px; font-size: 13px; color: var(--bm-text-muted); }\n #bug-description { width: 100%; min-height: 120px; resize: vertical; box-sizing: border-box; }\n .bug-check { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 13px; cursor: pointer; }\n .bug-check input { accent-color: var(--bm-aqua); }\n #bug-errors { margin-top: 10px; font-size: 12px; color: var(--bm-text-muted); }\n #bug-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }\n #bug-note { display: none; margin-top: 12px; padding: 12px; border-radius: 6px; font-size: 12px;\n background: var(--bm-surface-alt); border: 1px solid var(--bm-border-muted);\n color: var(--bm-text-muted); }\n #bug-note.show { display: block; }\n #bug-note.error { color: var(--bm-pink); }\n";
|
|
17
|
+
export declare const BUG_REPORT_PANEL_HTML = " <div id=\"bug-overlay\" class=\"bm-overlay\">\n <div id=\"bug-dialog\" class=\"bm-dialog\">\n <h2>Report a bug</h2>\n <p>Something wrong with Bitmagic itself \u2014 the engine, the CLI or this view? Tell the team.\n The report goes to Bitmagic, not to your agent.</p>\n <textarea id=\"bug-description\" class=\"bm-input\" maxlength=\"2000\"\n placeholder=\"What did you do, what did you expect, and what happened instead?\"></textarea>\n <label class=\"bug-check\"><input id=\"bug-screenshot\" type=\"checkbox\" checked> Attach a screenshot of the game</label>\n <label class=\"bug-check\"><input id=\"bug-source\" type=\"checkbox\" checked> Attach the project source (no engine, assets or credential files)</label>\n <div id=\"bug-errors\"></div>\n <div id=\"bug-actions\">\n <button id=\"bug-cancel\" class=\"bm-pill bm-pill--ghost\" type=\"button\">Cancel</button>\n <button id=\"bug-send\" class=\"bm-pill bm-pill--primary\" type=\"button\" disabled>Send report</button>\n </div>\n <div id=\"bug-note\"></div>\n </div>\n </div>\n";
|
|
18
|
+
/**
|
|
19
|
+
* Behaviour, spliced into the shell's IIFE after its helpers are defined. Exposes
|
|
20
|
+
* 'rememberRuntimeErrors(data)' for the shell's message switch and 'closeBugReportPanel()' for its
|
|
21
|
+
* Escape chain.
|
|
22
|
+
*/
|
|
23
|
+
export declare const BUG_REPORT_PANEL_JS = "\n // ---- Report bug: description + screenshot + runtime errors -> sidecar -> api-server ---------\n var bugToggle = document.getElementById('bug-report');\n var bugOverlay = document.getElementById('bug-overlay');\n var bugDescription = document.getElementById('bug-description');\n var bugScreenshot = document.getElementById('bug-screenshot');\n var bugSource = document.getElementById('bug-source');\n var bugErrors = document.getElementById('bug-errors');\n var bugCancel = document.getElementById('bug-cancel');\n var bugSend = document.getElementById('bug-send');\n var bugNote = document.getElementById('bug-note');\n var BUG_MAX_ERRORS = 20;\n // Keyed by message: the engine re-sends an error with a higher count each time it repeats.\n var bugRuntimeErrors = new Map();\n var bugSending = false;\n\n /** Called from the message switch with a 'GAME_RUNTIME_ERRORS' batch. */\n function rememberRuntimeErrors(data) {\n var errors = data && Array.isArray(data.errors) ? data.errors : [];\n errors.forEach(function (error) {\n if (!error || typeof error.message !== 'string') return;\n // Re-inserted, so the map's order is most-recently-seen last.\n bugRuntimeErrors.delete(error.message);\n bugRuntimeErrors.set(error.message, error);\n });\n while (bugRuntimeErrors.size > BUG_MAX_ERRORS) {\n bugRuntimeErrors.delete(bugRuntimeErrors.keys().next().value);\n }\n }\n\n function bugRuntimeErrorLines() {\n var lines = [];\n bugRuntimeErrors.forEach(function (error) {\n var count = typeof error.count === 'number' && error.count > 1 ? ' (x' + error.count + ')' : '';\n var frame = typeof error.stack === 'string' && error.stack ? '\\n ' + error.stack.split('\\n')[0] : '';\n lines.push(error.message + count + frame);\n });\n return lines;\n }\n\n function setBugNote(text, isError) {\n bugNote.textContent = text;\n bugNote.classList.toggle('show', text !== '');\n bugNote.classList.toggle('error', isError === true);\n }\n\n function syncBugSend() {\n bugSend.disabled = bugSending || bugDescription.value.trim() === '';\n }\n\n function openBugReportPanel() {\n setBugNote('', false);\n var count = bugRuntimeErrors.size;\n bugErrors.textContent = count === 0\n ? 'No runtime errors seen since this page opened.'\n : count + ' runtime error' + (count === 1 ? '' : 's') + ' seen since this page opened will be attached.';\n bugScreenshot.disabled = !loaded;\n if (!loaded) bugScreenshot.checked = false;\n syncBugSend();\n bugOverlay.classList.add('show');\n bugDescription.focus();\n }\n\n /** Returns whether it was open \u2014 the Escape handler's contract, like closeMotionPanel. */\n function closeBugReportPanel() {\n if (!bugOverlay.classList.contains('show')) return false;\n bugOverlay.classList.remove('show');\n frame.focus();\n return true;\n }\n\n function blobToBase64(blob) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n reader.onload = function () {\n var url = String(reader.result || '');\n resolve(url.slice(url.indexOf(',') + 1));\n };\n reader.onerror = function () { reject(new Error('the screenshot could not be read')); };\n reader.readAsDataURL(blob);\n });\n }\n\n async function sendBugReportFromPanel() {\n if (bugSending) return;\n var description = bugDescription.value.trim();\n if (description === '') return;\n bugSending = true;\n syncBugSend();\n setBugNote('Sending the report\u2026', false);\n\n var screenshot = null;\n if (bugScreenshot.checked && loaded) {\n try {\n screenshot = await blobToBase64(await captureGamePng());\n } catch (error) {\n // A report without a picture is still a report.\n screenshot = null;\n }\n }\n\n try {\n var response = await fetch('/api/bug-report', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n description: description,\n includeSource: bugSource.checked,\n screenshotPngBase64: screenshot,\n runtimeErrors: bugRuntimeErrorLines(),\n }),\n });\n var result = await response.json().catch(function () { return {}; });\n if (!response.ok || !result.ok) {\n setBugNote(result.error || ('The report could not be sent (HTTP ' + response.status + ').'), true);\n return;\n }\n bugDescription.value = '';\n var warnings = Array.isArray(result.warnings) && result.warnings.length > 0 ? ' ' + result.warnings.join(' ') : '';\n setBugNote('Thank you \u2014 the report is sent (id ' + result.reportId + ').' + warnings, false);\n } catch (error) {\n setBugNote('The report could not be sent: ' + (error && error.message ? error.message : String(error)), true);\n } finally {\n bugSending = false;\n syncBugSend();\n }\n }\n\n bugToggle.addEventListener('click', openBugReportPanel);\n bugCancel.addEventListener('click', function () { closeBugReportPanel(); });\n bugOverlay.addEventListener('click', function (event) {\n if (event.target === bugOverlay) closeBugReportPanel();\n });\n bugDescription.addEventListener('input', syncBugSend);\n bugSend.addEventListener('click', function () { void sendBugReportFromPanel(); });\n";
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The "Report bug…" dialog, opened from the ⋯ menu — the dev view's counterpart of the Creator's
|
|
3
|
+
* "Report Bug" button, and the same report `bitmagic report-bug` files (`bug-report/send.ts`).
|
|
4
|
+
*
|
|
5
|
+
* The page gathers the two things only it has: a screenshot (the engine takes it, through
|
|
6
|
+
* `captureGamePng()`) and the runtime errors the game has posted as 'GAME_RUNTIME_ERRORS' since the
|
|
7
|
+
* page opened. The sidecar's `POST /api/bug-report` adds the source ZIP and the versions and sends
|
|
8
|
+
* it, so the page never holds a token.
|
|
9
|
+
*
|
|
10
|
+
* Exports its behaviour as a string like `motion-panel.ts`, for the same reason: it has to sit
|
|
11
|
+
* inside the shell's IIFE, where `captureGamePng`, `loaded` and `frame` are in scope. Same
|
|
12
|
+
* template-literal rules as the host: **no backticks**, every colour a `--bm-*` token.
|
|
13
|
+
*/
|
|
14
|
+
/** Errors kept for a report — api-server keeps the last 20 anyway. */
|
|
15
|
+
export const BUG_REPORT_MAX_ERRORS = 20;
|
|
16
|
+
export const BUG_REPORT_PANEL_CSS = `
|
|
17
|
+
/* Level with the other dialogs: each opens from its own control and they never stack. */
|
|
18
|
+
#bug-overlay { z-index: 10; }
|
|
19
|
+
#bug-dialog { width: min(480px, 94vw); padding: 20px; }
|
|
20
|
+
#bug-dialog p { margin: 0 0 12px; font-size: 13px; color: var(--bm-text-muted); }
|
|
21
|
+
#bug-description { width: 100%; min-height: 120px; resize: vertical; box-sizing: border-box; }
|
|
22
|
+
.bug-check { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 13px; cursor: pointer; }
|
|
23
|
+
.bug-check input { accent-color: var(--bm-aqua); }
|
|
24
|
+
#bug-errors { margin-top: 10px; font-size: 12px; color: var(--bm-text-muted); }
|
|
25
|
+
#bug-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
|
|
26
|
+
#bug-note { display: none; margin-top: 12px; padding: 12px; border-radius: 6px; font-size: 12px;
|
|
27
|
+
background: var(--bm-surface-alt); border: 1px solid var(--bm-border-muted);
|
|
28
|
+
color: var(--bm-text-muted); }
|
|
29
|
+
#bug-note.show { display: block; }
|
|
30
|
+
#bug-note.error { color: var(--bm-pink); }
|
|
31
|
+
`;
|
|
32
|
+
export const BUG_REPORT_PANEL_HTML = ` <div id="bug-overlay" class="bm-overlay">
|
|
33
|
+
<div id="bug-dialog" class="bm-dialog">
|
|
34
|
+
<h2>Report a bug</h2>
|
|
35
|
+
<p>Something wrong with Bitmagic itself — the engine, the CLI or this view? Tell the team.
|
|
36
|
+
The report goes to Bitmagic, not to your agent.</p>
|
|
37
|
+
<textarea id="bug-description" class="bm-input" maxlength="2000"
|
|
38
|
+
placeholder="What did you do, what did you expect, and what happened instead?"></textarea>
|
|
39
|
+
<label class="bug-check"><input id="bug-screenshot" type="checkbox" checked> Attach a screenshot of the game</label>
|
|
40
|
+
<label class="bug-check"><input id="bug-source" type="checkbox" checked> Attach the project source (no engine, assets or credential files)</label>
|
|
41
|
+
<div id="bug-errors"></div>
|
|
42
|
+
<div id="bug-actions">
|
|
43
|
+
<button id="bug-cancel" class="bm-pill bm-pill--ghost" type="button">Cancel</button>
|
|
44
|
+
<button id="bug-send" class="bm-pill bm-pill--primary" type="button" disabled>Send report</button>
|
|
45
|
+
</div>
|
|
46
|
+
<div id="bug-note"></div>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
`;
|
|
50
|
+
/**
|
|
51
|
+
* Behaviour, spliced into the shell's IIFE after its helpers are defined. Exposes
|
|
52
|
+
* 'rememberRuntimeErrors(data)' for the shell's message switch and 'closeBugReportPanel()' for its
|
|
53
|
+
* Escape chain.
|
|
54
|
+
*/
|
|
55
|
+
export const BUG_REPORT_PANEL_JS = `
|
|
56
|
+
// ---- Report bug: description + screenshot + runtime errors -> sidecar -> api-server ---------
|
|
57
|
+
var bugToggle = document.getElementById('bug-report');
|
|
58
|
+
var bugOverlay = document.getElementById('bug-overlay');
|
|
59
|
+
var bugDescription = document.getElementById('bug-description');
|
|
60
|
+
var bugScreenshot = document.getElementById('bug-screenshot');
|
|
61
|
+
var bugSource = document.getElementById('bug-source');
|
|
62
|
+
var bugErrors = document.getElementById('bug-errors');
|
|
63
|
+
var bugCancel = document.getElementById('bug-cancel');
|
|
64
|
+
var bugSend = document.getElementById('bug-send');
|
|
65
|
+
var bugNote = document.getElementById('bug-note');
|
|
66
|
+
var BUG_MAX_ERRORS = ${BUG_REPORT_MAX_ERRORS};
|
|
67
|
+
// Keyed by message: the engine re-sends an error with a higher count each time it repeats.
|
|
68
|
+
var bugRuntimeErrors = new Map();
|
|
69
|
+
var bugSending = false;
|
|
70
|
+
|
|
71
|
+
/** Called from the message switch with a 'GAME_RUNTIME_ERRORS' batch. */
|
|
72
|
+
function rememberRuntimeErrors(data) {
|
|
73
|
+
var errors = data && Array.isArray(data.errors) ? data.errors : [];
|
|
74
|
+
errors.forEach(function (error) {
|
|
75
|
+
if (!error || typeof error.message !== 'string') return;
|
|
76
|
+
// Re-inserted, so the map's order is most-recently-seen last.
|
|
77
|
+
bugRuntimeErrors.delete(error.message);
|
|
78
|
+
bugRuntimeErrors.set(error.message, error);
|
|
79
|
+
});
|
|
80
|
+
while (bugRuntimeErrors.size > BUG_MAX_ERRORS) {
|
|
81
|
+
bugRuntimeErrors.delete(bugRuntimeErrors.keys().next().value);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function bugRuntimeErrorLines() {
|
|
86
|
+
var lines = [];
|
|
87
|
+
bugRuntimeErrors.forEach(function (error) {
|
|
88
|
+
var count = typeof error.count === 'number' && error.count > 1 ? ' (x' + error.count + ')' : '';
|
|
89
|
+
var frame = typeof error.stack === 'string' && error.stack ? '\\n ' + error.stack.split('\\n')[0] : '';
|
|
90
|
+
lines.push(error.message + count + frame);
|
|
91
|
+
});
|
|
92
|
+
return lines;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function setBugNote(text, isError) {
|
|
96
|
+
bugNote.textContent = text;
|
|
97
|
+
bugNote.classList.toggle('show', text !== '');
|
|
98
|
+
bugNote.classList.toggle('error', isError === true);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function syncBugSend() {
|
|
102
|
+
bugSend.disabled = bugSending || bugDescription.value.trim() === '';
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function openBugReportPanel() {
|
|
106
|
+
setBugNote('', false);
|
|
107
|
+
var count = bugRuntimeErrors.size;
|
|
108
|
+
bugErrors.textContent = count === 0
|
|
109
|
+
? 'No runtime errors seen since this page opened.'
|
|
110
|
+
: count + ' runtime error' + (count === 1 ? '' : 's') + ' seen since this page opened will be attached.';
|
|
111
|
+
bugScreenshot.disabled = !loaded;
|
|
112
|
+
if (!loaded) bugScreenshot.checked = false;
|
|
113
|
+
syncBugSend();
|
|
114
|
+
bugOverlay.classList.add('show');
|
|
115
|
+
bugDescription.focus();
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/** Returns whether it was open — the Escape handler's contract, like closeMotionPanel. */
|
|
119
|
+
function closeBugReportPanel() {
|
|
120
|
+
if (!bugOverlay.classList.contains('show')) return false;
|
|
121
|
+
bugOverlay.classList.remove('show');
|
|
122
|
+
frame.focus();
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function blobToBase64(blob) {
|
|
127
|
+
return new Promise(function (resolve, reject) {
|
|
128
|
+
var reader = new FileReader();
|
|
129
|
+
reader.onload = function () {
|
|
130
|
+
var url = String(reader.result || '');
|
|
131
|
+
resolve(url.slice(url.indexOf(',') + 1));
|
|
132
|
+
};
|
|
133
|
+
reader.onerror = function () { reject(new Error('the screenshot could not be read')); };
|
|
134
|
+
reader.readAsDataURL(blob);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
async function sendBugReportFromPanel() {
|
|
139
|
+
if (bugSending) return;
|
|
140
|
+
var description = bugDescription.value.trim();
|
|
141
|
+
if (description === '') return;
|
|
142
|
+
bugSending = true;
|
|
143
|
+
syncBugSend();
|
|
144
|
+
setBugNote('Sending the report…', false);
|
|
145
|
+
|
|
146
|
+
var screenshot = null;
|
|
147
|
+
if (bugScreenshot.checked && loaded) {
|
|
148
|
+
try {
|
|
149
|
+
screenshot = await blobToBase64(await captureGamePng());
|
|
150
|
+
} catch (error) {
|
|
151
|
+
// A report without a picture is still a report.
|
|
152
|
+
screenshot = null;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
try {
|
|
157
|
+
var response = await fetch('/api/bug-report', {
|
|
158
|
+
method: 'POST',
|
|
159
|
+
headers: { 'Content-Type': 'application/json' },
|
|
160
|
+
body: JSON.stringify({
|
|
161
|
+
description: description,
|
|
162
|
+
includeSource: bugSource.checked,
|
|
163
|
+
screenshotPngBase64: screenshot,
|
|
164
|
+
runtimeErrors: bugRuntimeErrorLines(),
|
|
165
|
+
}),
|
|
166
|
+
});
|
|
167
|
+
var result = await response.json().catch(function () { return {}; });
|
|
168
|
+
if (!response.ok || !result.ok) {
|
|
169
|
+
setBugNote(result.error || ('The report could not be sent (HTTP ' + response.status + ').'), true);
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
bugDescription.value = '';
|
|
173
|
+
var warnings = Array.isArray(result.warnings) && result.warnings.length > 0 ? ' ' + result.warnings.join(' ') : '';
|
|
174
|
+
setBugNote('Thank you — the report is sent (id ' + result.reportId + ').' + warnings, false);
|
|
175
|
+
} catch (error) {
|
|
176
|
+
setBugNote('The report could not be sent: ' + (error && error.message ? error.message : String(error)), true);
|
|
177
|
+
} finally {
|
|
178
|
+
bugSending = false;
|
|
179
|
+
syncBugSend();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
bugToggle.addEventListener('click', openBugReportPanel);
|
|
184
|
+
bugCancel.addEventListener('click', function () { closeBugReportPanel(); });
|
|
185
|
+
bugOverlay.addEventListener('click', function (event) {
|
|
186
|
+
if (event.target === bugOverlay) closeBugReportPanel();
|
|
187
|
+
});
|
|
188
|
+
bugDescription.addEventListener('input', syncBugSend);
|
|
189
|
+
bugSend.addEventListener('click', function () { void sendBugReportFromPanel(); });
|
|
190
|
+
`;
|
|
191
|
+
//# sourceMappingURL=bug-report-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bug-report-panel.js","sourceRoot":"","sources":["../../src/editor/bug-report-panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;CAenC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;CAiBpC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;yBAWV,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4H7C,CAAC"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
+
import { type EngineCapabilities } from '../scaffold/engine-capabilities.js';
|
|
1
2
|
export interface HudReplayPageOptions {
|
|
2
3
|
/** Port vite serves the project (and its `/dist/engine/...`) on. */
|
|
3
4
|
gamePort: number;
|
|
5
|
+
/**
|
|
6
|
+
* The project's vendored engine's capabilities (`readEngineCapabilities`). With `platformEntry`
|
|
7
|
+
* the page registers the Bitmagic platform (`bitmagic/register.js`) before its first engine
|
|
8
|
+
* import, as the game page does through `bitmagic/boot.js`: the HUD's font link follows the
|
|
9
|
+
* engine's hosting provider, and only the Bitmagic one names Google Fonts — a page that
|
|
10
|
+
* registers nothing would ask for the font beside the page (decision D24).
|
|
11
|
+
*/
|
|
12
|
+
capabilities: EngineCapabilities;
|
|
4
13
|
}
|
|
5
14
|
/** The import map for the harness: CDN entries as-is, local aliases absolute on the game origin. */
|
|
6
15
|
export declare function hudReplayImportMap(gamePort: number): Record<string, string>;
|
|
@@ -38,6 +38,16 @@
|
|
|
38
38
|
*/
|
|
39
39
|
import { CDN_IMPORTS } from '../scaffold/project-files.js';
|
|
40
40
|
import { importMapEntries } from '../scaffold/aliases.js';
|
|
41
|
+
import { hasEngineCapability } from '../scaffold/engine-capabilities.js';
|
|
42
|
+
/** The page's first import on an engine with the platform package; empty on one without. */
|
|
43
|
+
function platformRegistration(capabilities) {
|
|
44
|
+
if (!hasEngineCapability(capabilities, 'platformEntry'))
|
|
45
|
+
return '';
|
|
46
|
+
return `// Registers the Bitmagic platform (its asset hosting among it) before any engine module is
|
|
47
|
+
// evaluated: imports evaluate in order, and the HUD's font link reads the hosting.
|
|
48
|
+
import 'bitmagic/register.js';
|
|
49
|
+
`;
|
|
50
|
+
}
|
|
41
51
|
/** The import map for the harness: CDN entries as-is, local aliases absolute on the game origin. */
|
|
42
52
|
export function hudReplayImportMap(gamePort) {
|
|
43
53
|
const origin = `http://localhost:${gamePort}`;
|
|
@@ -76,7 +86,7 @@ ${JSON.stringify({ imports }, null, 2)}
|
|
|
76
86
|
</head>
|
|
77
87
|
<body>
|
|
78
88
|
<script type="module">
|
|
79
|
-
import { GameHUD } from 'engine/GameHUD.js';
|
|
89
|
+
${platformRegistration(options.capabilities)}import { GameHUD } from 'engine/GameHUD.js';
|
|
80
90
|
import * as hudApi from 'engine/hud/index.js';
|
|
81
91
|
|
|
82
92
|
/** Rebuilt whenever the element set changes; kept between same-shape frames. */
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAC1D,OAAO,EAAE,mBAAmB,EAA2B,MAAM,oCAAoC,CAAC;AAelG,4FAA4F;AAC5F,SAAS,oBAAoB,CAAC,YAAgC;IAC5D,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,eAAe,CAAC;QAAE,OAAO,EAAE,CAAC;IACnE,OAAO;;;CAGR,CAAC;AACF,CAAC;AAED,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;;;;;EAKpC,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsb3C,CAAC;AACF,CAAC"}
|
package/dist/editor/server.js
CHANGED
|
@@ -44,6 +44,8 @@ import { findPropAsset, generateAndInstallProp } from '../generate/prop.js';
|
|
|
44
44
|
import { generateAndInstallAnimationFromVideo } from '../generate/animation-from-video.js';
|
|
45
45
|
import { analyseTrimForVideo } from '../generate/trim-analysis.js';
|
|
46
46
|
import { uploadProjectFile } from '../http/signed-upload.js';
|
|
47
|
+
import { sendBugReport } from '../bug-report/send.js';
|
|
48
|
+
import { DEV_VIEW_BUG_REPORT_BODY_LIMIT_BYTES, parseDevViewBugReport } from '../bug-report/dev-view.js';
|
|
47
49
|
import { MOTION_BODY_LIMIT_BYTES, baseContentType, motionCommand, motionDoneMessage, parseMotionVideoRequest } from './motion-sink.js';
|
|
48
50
|
import { resolveEnvironmentForCommand, resolveAuth0ClientId } from '../config/environments.js';
|
|
49
51
|
import { getAccessToken } from '../auth/session.js';
|
|
@@ -268,7 +270,10 @@ export async function startEditorServer(options) {
|
|
|
268
270
|
});
|
|
269
271
|
// The trailer tool's HUD replay harness: a real GameHUD built from this project's vendored engine
|
|
270
272
|
// (served by vite on the game port), screenshotted by `bitmagic trailer render --ui`.
|
|
271
|
-
const hudReplay = renderHudReplayHtml({
|
|
273
|
+
const hudReplay = renderHudReplayHtml({
|
|
274
|
+
gamePort: options.gamePort,
|
|
275
|
+
capabilities: readEngineCapabilities(path.join(options.root, 'engine')),
|
|
276
|
+
});
|
|
272
277
|
/** When the page last polled us — the poll carries `?from=shell`; the CLI's own probes do not. */
|
|
273
278
|
let lastShellPollAt = 0;
|
|
274
279
|
/** Flipped by `dev` once vite answers; the page defers a restart-reload until then. */
|
|
@@ -1369,6 +1374,54 @@ export async function startEditorServer(options) {
|
|
|
1369
1374
|
await handleMotionVideo(req, res);
|
|
1370
1375
|
return;
|
|
1371
1376
|
}
|
|
1377
|
+
/**
|
|
1378
|
+
* "Report bug…" (bug-report-panel.ts): the dialog's description, screenshot and runtime
|
|
1379
|
+
* errors, sent on with the source ZIP through the same path as `bitmagic report-bug`.
|
|
1380
|
+
* Shell-only, like the runtime token — the report is filed under the creator's login and
|
|
1381
|
+
* carries their source, so no other tab may trigger it through the `*` CORS.
|
|
1382
|
+
*/
|
|
1383
|
+
if (req.method === 'POST' && url === '/api/bug-report') {
|
|
1384
|
+
if (!isShellRequest(req.headers, options.port)) {
|
|
1385
|
+
sendJson(res, 403, { ok: false, error: 'Only the dev view may file a bug report' });
|
|
1386
|
+
return;
|
|
1387
|
+
}
|
|
1388
|
+
let parsed;
|
|
1389
|
+
try {
|
|
1390
|
+
parsed = parseDevViewBugReport(JSON.parse((await readBodyBuffer(req, DEV_VIEW_BUG_REPORT_BODY_LIMIT_BYTES)).toString('utf-8')));
|
|
1391
|
+
}
|
|
1392
|
+
catch {
|
|
1393
|
+
sendJson(res, 400, { ok: false, error: 'The report could not be read — is the screenshot too large?' });
|
|
1394
|
+
return;
|
|
1395
|
+
}
|
|
1396
|
+
if (typeof parsed === 'string') {
|
|
1397
|
+
sendJson(res, 400, { ok: false, error: parsed });
|
|
1398
|
+
return;
|
|
1399
|
+
}
|
|
1400
|
+
const auth = await resolveAuth();
|
|
1401
|
+
if (auth === null) {
|
|
1402
|
+
sendJson(res, 200, { ok: false, error: 'You are not logged in. Run `bitmagic login` in your terminal, then send the report again.' });
|
|
1403
|
+
return;
|
|
1404
|
+
}
|
|
1405
|
+
try {
|
|
1406
|
+
const result = await sendBugReport({
|
|
1407
|
+
root: options.root,
|
|
1408
|
+
metadata: options.metadata,
|
|
1409
|
+
environment: auth.environment,
|
|
1410
|
+
token: auth.token,
|
|
1411
|
+
description: parsed.description,
|
|
1412
|
+
surface: 'dev-view',
|
|
1413
|
+
includeSource: parsed.includeSource,
|
|
1414
|
+
...(parsed.screenshotPng ? { screenshotPng: parsed.screenshotPng } : {}),
|
|
1415
|
+
runtimeErrors: parsed.runtimeErrors,
|
|
1416
|
+
}, { fetch: globalThis.fetch });
|
|
1417
|
+
log(`Bug report sent (id ${result.reportId}).`);
|
|
1418
|
+
sendJson(res, 200, { ok: true, reportId: result.reportId, warnings: result.warnings });
|
|
1419
|
+
}
|
|
1420
|
+
catch (error) {
|
|
1421
|
+
sendJson(res, 200, { ok: false, error: messageOf(error) });
|
|
1422
|
+
}
|
|
1423
|
+
return;
|
|
1424
|
+
}
|
|
1372
1425
|
if (req.method === 'POST' && url === '/api/editor/motion-analyze') {
|
|
1373
1426
|
await handleMotionAnalyze(req, res);
|
|
1374
1427
|
return;
|