@bitmagic/cli 0.1.52-dev.1 → 0.1.52-dev.10
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 +175 -5
- package/dist/assets/add.d.ts +40 -0
- package/dist/assets/add.js +229 -0
- package/dist/assets/add.js.map +1 -0
- package/dist/assets/entry.d.ts +44 -0
- package/dist/assets/entry.js +71 -0
- package/dist/assets/entry.js.map +1 -0
- package/dist/assets/file-kind.d.ts +61 -0
- package/dist/assets/file-kind.js +195 -0
- package/dist/assets/file-kind.js.map +1 -0
- package/dist/assets/list.d.ts +27 -0
- package/dist/assets/list.js +50 -0
- package/dist/assets/list.js.map +1 -0
- package/dist/assets/remove.d.ts +50 -0
- package/dist/assets/remove.js +91 -0
- package/dist/assets/remove.js.map +1 -0
- package/dist/assets/voxelize-glb.d.ts +37 -0
- package/dist/assets/voxelize-glb.js +65 -0
- package/dist/assets/voxelize-glb.js.map +1 -0
- package/dist/assets/vxl-summary.d.ts +32 -0
- package/dist/assets/vxl-summary.js +118 -0
- package/dist/assets/vxl-summary.js.map +1 -0
- package/dist/bin.js +25 -0
- package/dist/bin.js.map +1 -1
- package/dist/cli.d.ts +4 -0
- package/dist/cli.js +15 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/assets.d.ts +56 -0
- package/dist/commands/assets.js +328 -0
- package/dist/commands/assets.js.map +1 -0
- package/dist/commands/cover.js +2 -3
- package/dist/commands/cover.js.map +1 -1
- package/dist/commands/forge.d.ts +2 -9
- package/dist/commands/forge.js +2 -13
- package/dist/commands/forge.js.map +1 -1
- package/dist/commands/generate.d.ts +41 -9
- package/dist/commands/generate.js +234 -54
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/judge.d.ts +2 -7
- package/dist/commands/judge.js +26 -19
- package/dist/commands/judge.js.map +1 -1
- package/dist/commands/levels.d.ts +33 -0
- package/dist/commands/levels.js +241 -0
- package/dist/commands/levels.js.map +1 -0
- package/dist/commands/number-flag.d.ts +7 -0
- package/dist/commands/number-flag.js +38 -0
- package/dist/commands/number-flag.js.map +1 -0
- package/dist/commands/publish.js +13 -0
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/run-deps.d.ts +27 -0
- package/dist/commands/run-deps.js +43 -0
- package/dist/commands/run-deps.js.map +1 -0
- package/dist/editor/journal.d.ts +48 -1
- package/dist/editor/journal.js +44 -0
- package/dist/editor/journal.js.map +1 -1
- package/dist/editor/previews.d.ts +6 -0
- package/dist/editor/previews.js +16 -0
- package/dist/editor/previews.js.map +1 -1
- package/dist/editor/server.js +228 -53
- package/dist/editor/server.js.map +1 -1
- package/dist/editor/shell-page.js +221 -116
- package/dist/editor/shell-page.js.map +1 -1
- package/dist/editor/voxel-save.d.ts +47 -0
- package/dist/editor/voxel-save.js +49 -0
- package/dist/editor/voxel-save.js.map +1 -0
- package/dist/errors.d.ts +10 -0
- package/dist/errors.js +16 -0
- package/dist/errors.js.map +1 -1
- package/dist/forge/apply-modifications.d.ts +18 -1
- package/dist/forge/apply-modifications.js +15 -32
- package/dist/forge/apply-modifications.js.map +1 -1
- package/dist/forge/browser-host.js +9 -4
- package/dist/forge/browser-host.js.map +1 -1
- package/dist/forge/voxelize-session.d.ts +61 -0
- package/dist/forge/voxelize-session.js +137 -0
- package/dist/forge/voxelize-session.js.map +1 -0
- package/dist/generate/model.d.ts +36 -0
- package/dist/generate/model.js +90 -0
- package/dist/generate/model.js.map +1 -0
- package/dist/generate/prop.d.ts +52 -4
- package/dist/generate/prop.js +169 -102
- package/dist/generate/prop.js.map +1 -1
- package/dist/generate/stream.d.ts +7 -0
- package/dist/generate/stream.js +2 -1
- package/dist/generate/stream.js.map +1 -1
- package/dist/generate/vehicle.js +5 -85
- package/dist/generate/vehicle.js.map +1 -1
- package/dist/http/signed-upload.d.ts +55 -0
- package/dist/http/signed-upload.js +168 -0
- package/dist/http/signed-upload.js.map +1 -0
- package/dist/judge/facts.js +72 -57
- package/dist/judge/facts.js.map +1 -1
- package/dist/levels/registry.d.ts +88 -0
- package/dist/levels/registry.js +309 -0
- package/dist/levels/registry.js.map +1 -0
- package/dist/messages/check.d.ts +30 -0
- package/dist/messages/check.js +119 -0
- package/dist/messages/check.js.map +1 -0
- package/dist/messages/notice.d.ts +58 -0
- package/dist/messages/notice.js +54 -0
- package/dist/messages/notice.js.map +1 -0
- package/dist/messages/refresh.d.ts +19 -0
- package/dist/messages/refresh.js +42 -0
- package/dist/messages/refresh.js.map +1 -0
- package/dist/project/jobs.d.ts +1 -1
- package/dist/project/jobs.js.map +1 -1
- package/dist/publish/client.d.ts +13 -0
- package/dist/publish/client.js +13 -34
- package/dist/publish/client.js.map +1 -1
- package/dist/publish/platform.d.ts +46 -0
- package/dist/publish/platform.js +92 -0
- package/dist/publish/platform.js.map +1 -0
- package/dist/scaffold/project-files.js +109 -21
- package/dist/scaffold/project-files.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type CommandRunDeps } from './run-deps.js';
|
|
2
|
+
import { type LevelRow } from '../levels/registry.js';
|
|
3
|
+
export interface LevelsRunDeps extends CommandRunDeps {
|
|
4
|
+
}
|
|
5
|
+
export declare function formatLevelTable(rows: LevelRow[]): string;
|
|
6
|
+
export declare function runLevelsList(options: {
|
|
7
|
+
json: boolean;
|
|
8
|
+
deps?: LevelsRunDeps;
|
|
9
|
+
}): Promise<LevelRow[]>;
|
|
10
|
+
export declare function runLevelsSetStart(options: {
|
|
11
|
+
levelId: string;
|
|
12
|
+
json: boolean;
|
|
13
|
+
deps?: LevelsRunDeps;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
export declare function runLevelsRename(options: {
|
|
16
|
+
levelId: string;
|
|
17
|
+
name: string;
|
|
18
|
+
json: boolean;
|
|
19
|
+
deps?: LevelsRunDeps;
|
|
20
|
+
}): Promise<void>;
|
|
21
|
+
export declare function runLevelsAdd(options: {
|
|
22
|
+
vwldAssetId: string;
|
|
23
|
+
name?: string;
|
|
24
|
+
makeStart: boolean;
|
|
25
|
+
json: boolean;
|
|
26
|
+
deps?: LevelsRunDeps;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
export declare function runLevelsRemove(options: {
|
|
29
|
+
levelId: string;
|
|
30
|
+
json: boolean;
|
|
31
|
+
deps?: LevelsRunDeps;
|
|
32
|
+
}): Promise<void>;
|
|
33
|
+
export declare const levelsCommand: import("citty").CommandDef<import("citty").ArgsDef>;
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `bitmagic levels list | add | rename | set-start | remove` — manage the levels `forge` creates.
|
|
3
|
+
*
|
|
4
|
+
* `forge` could make levels but not manage them, so fixing a wrong start level, renaming one, or
|
|
5
|
+
* deleting one meant opening the web Creator. The registry is a local file in the pro lane, so
|
|
6
|
+
* these are direct surgical `world.json` edits — no server call, no sparks, no login.
|
|
7
|
+
*
|
|
8
|
+
* The rules live in `levels/registry.ts`; this file is flags and output.
|
|
9
|
+
*/
|
|
10
|
+
import { defineCommand } from 'citty';
|
|
11
|
+
import { createOutput } from '../output.js';
|
|
12
|
+
import { commandRunDeps, decoratedError } from './run-deps.js';
|
|
13
|
+
import { loadProjectContext } from '../project/context.js';
|
|
14
|
+
import { readWorldJson } from '../project/world-json.js';
|
|
15
|
+
import { applyModificationsToWorld } from '../forge/apply-modifications.js';
|
|
16
|
+
import { projectWorldJsonPath } from '../forge/run-pipeline.js';
|
|
17
|
+
import { EditorJournal } from '../editor/journal.js';
|
|
18
|
+
import { listLevels, planAdd, planRemove, planRename, planSetStart, } from '../levels/registry.js';
|
|
19
|
+
const defaultDeps = (json) => commandRunDeps(json);
|
|
20
|
+
/** Appends the unchanged-world guarantee unless the message already makes it. */
|
|
21
|
+
function unchanged(message) {
|
|
22
|
+
return message.includes('world.json is unchanged') ? message : `${message} world.json is unchanged.`;
|
|
23
|
+
}
|
|
24
|
+
/** Resolve the project and read its world.json, with every failure carrying the guarantee. */
|
|
25
|
+
function readProject(runDeps) {
|
|
26
|
+
try {
|
|
27
|
+
const context = loadProjectContext(runDeps.startDir);
|
|
28
|
+
return { context, world: readWorldJson(projectWorldJsonPath(context.root)) };
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw decoratedError(error, unchanged);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Apply a plan, journal it, and report.
|
|
36
|
+
*
|
|
37
|
+
* The journal entry is what makes this visible to the creator's agent: a level change moves one id
|
|
38
|
+
* and a url, which is exactly the kind of edit a diff of placed objects cannot explain.
|
|
39
|
+
*/
|
|
40
|
+
function commit(context, plan, subject, journalLine, runDeps) {
|
|
41
|
+
const worldPath = projectWorldJsonPath(context.root);
|
|
42
|
+
let applied;
|
|
43
|
+
try {
|
|
44
|
+
applied = applyModificationsToWorld(worldPath, plan.modifications, { subject }).applied;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
throw decoratedError(error, unchanged);
|
|
48
|
+
}
|
|
49
|
+
// After the write, never before: an agent reading the line must be able to trust world.json.
|
|
50
|
+
new EditorJournal({ root: context.root }).append(journalLine);
|
|
51
|
+
for (const note of plan.notes)
|
|
52
|
+
runDeps.log(`note: ${note}`);
|
|
53
|
+
return applied;
|
|
54
|
+
}
|
|
55
|
+
function reloadHint(runDeps) {
|
|
56
|
+
runDeps.log('A running `bitmagic dev` reloads the browser by itself to show it.');
|
|
57
|
+
}
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// list
|
|
60
|
+
// ============================================================================
|
|
61
|
+
export function formatLevelTable(rows) {
|
|
62
|
+
if (rows.length === 0) {
|
|
63
|
+
return 'This game has no levels. `bitmagic forge` bakes one, or `bitmagic levels add <vwldAssetId>`\n'
|
|
64
|
+
+ 'registers a bake you already have.';
|
|
65
|
+
}
|
|
66
|
+
const header = { id: 'ID', name: 'NAME', start: '', spawns: 'SPAWNS', placed: 'PLACED', note: '' };
|
|
67
|
+
const cells = rows.map((row) => ({
|
|
68
|
+
id: row.id,
|
|
69
|
+
name: row.name,
|
|
70
|
+
start: row.start ? 'START' : '',
|
|
71
|
+
spawns: String(row.spawnPoints),
|
|
72
|
+
placed: String(row.placed),
|
|
73
|
+
note: row.missingAsset ? 'missing .vwld asset' : '',
|
|
74
|
+
}));
|
|
75
|
+
const width = (key) => Math.max(header[key].length, ...cells.map((cell) => cell[key].length));
|
|
76
|
+
const w = { id: width('id'), name: width('name'), start: width('start'), spawns: width('spawns'), placed: width('placed') };
|
|
77
|
+
const line = (cell) => `${cell.id.padEnd(w.id)} ${cell.name.padEnd(w.name)} ${cell.start.padEnd(w.start)} `
|
|
78
|
+
+ `${cell.spawns.padStart(w.spawns)} ${cell.placed.padStart(w.placed)} ${cell.note}`.trimEnd();
|
|
79
|
+
return [line(header), ...cells.map(line)].join('\n');
|
|
80
|
+
}
|
|
81
|
+
export async function runLevelsList(options) {
|
|
82
|
+
const output = createOutput(options.json);
|
|
83
|
+
const runDeps = options.deps ?? defaultDeps(options.json);
|
|
84
|
+
const { world } = readProject(runDeps);
|
|
85
|
+
const rows = listLevels(world);
|
|
86
|
+
if (options.json)
|
|
87
|
+
output.result({ ok: true, count: rows.length, levels: rows });
|
|
88
|
+
else
|
|
89
|
+
runDeps.log(formatLevelTable(rows));
|
|
90
|
+
return rows;
|
|
91
|
+
}
|
|
92
|
+
// ============================================================================
|
|
93
|
+
// the four writes
|
|
94
|
+
// ============================================================================
|
|
95
|
+
export async function runLevelsSetStart(options) {
|
|
96
|
+
const output = createOutput(options.json);
|
|
97
|
+
const runDeps = options.deps ?? defaultDeps(options.json);
|
|
98
|
+
const { context, world } = readProject(runDeps);
|
|
99
|
+
const plan = planSetStart(world, options.levelId);
|
|
100
|
+
const name = listLevels(world).find((row) => row.id === options.levelId)?.name ?? options.levelId;
|
|
101
|
+
commit(context, plan, 'The start level', {
|
|
102
|
+
event: 'levels.changed', action: 'set-start', levelId: options.levelId, name,
|
|
103
|
+
}, runDeps);
|
|
104
|
+
runDeps.log(`"${name}" is now the start level — the game boots into it.`);
|
|
105
|
+
output.result({ ok: true, kind: 'levels', action: 'set-start', levelId: options.levelId, name });
|
|
106
|
+
reloadHint(runDeps);
|
|
107
|
+
}
|
|
108
|
+
export async function runLevelsRename(options) {
|
|
109
|
+
const output = createOutput(options.json);
|
|
110
|
+
const runDeps = options.deps ?? defaultDeps(options.json);
|
|
111
|
+
const { context, world } = readProject(runDeps);
|
|
112
|
+
const plan = planRename(world, options.levelId, options.name);
|
|
113
|
+
const previous = listLevels(world).find((row) => row.id === options.levelId)?.name ?? options.levelId;
|
|
114
|
+
commit(context, plan, 'The level name', {
|
|
115
|
+
event: 'levels.changed', action: 'rename', levelId: options.levelId, name: options.name.trim(),
|
|
116
|
+
}, runDeps);
|
|
117
|
+
runDeps.log(`Renamed "${previous}" to "${options.name.trim()}".`);
|
|
118
|
+
output.result({
|
|
119
|
+
ok: true, kind: 'levels', action: 'rename', levelId: options.levelId, name: options.name.trim(), previous,
|
|
120
|
+
});
|
|
121
|
+
reloadHint(runDeps);
|
|
122
|
+
}
|
|
123
|
+
export async function runLevelsAdd(options) {
|
|
124
|
+
const output = createOutput(options.json);
|
|
125
|
+
const runDeps = options.deps ?? defaultDeps(options.json);
|
|
126
|
+
const { context, world } = readProject(runDeps);
|
|
127
|
+
const plan = planAdd(world, options.vwldAssetId, {
|
|
128
|
+
...(options.name !== undefined ? { name: options.name } : {}),
|
|
129
|
+
makeStart: options.makeStart,
|
|
130
|
+
});
|
|
131
|
+
commit(context, plan, 'The new level', {
|
|
132
|
+
event: 'levels.changed', action: 'add', levelId: plan.level.id, name: plan.level.name,
|
|
133
|
+
}, runDeps);
|
|
134
|
+
runDeps.log(`Added level "${plan.level.name}" (${plan.level.id}).`);
|
|
135
|
+
output.result({
|
|
136
|
+
ok: true, kind: 'levels', action: 'add', levelId: plan.level.id, name: plan.level.name,
|
|
137
|
+
vwldAssetId: options.vwldAssetId, converted: plan.converted,
|
|
138
|
+
});
|
|
139
|
+
reloadHint(runDeps);
|
|
140
|
+
}
|
|
141
|
+
export async function runLevelsRemove(options) {
|
|
142
|
+
const output = createOutput(options.json);
|
|
143
|
+
const runDeps = options.deps ?? defaultDeps(options.json);
|
|
144
|
+
const { context, world } = readProject(runDeps);
|
|
145
|
+
const plan = planRemove(world, options.levelId);
|
|
146
|
+
commit(context, plan, 'Removing the level', {
|
|
147
|
+
event: 'levels.changed', action: 'remove', levelId: options.levelId, name: plan.level.name,
|
|
148
|
+
}, runDeps);
|
|
149
|
+
runDeps.log(`Removed level "${plan.level.name}" (${options.levelId}). Its .vwld asset stays in the project.`);
|
|
150
|
+
output.result({
|
|
151
|
+
ok: true, kind: 'levels', action: 'remove', levelId: options.levelId, name: plan.level.name,
|
|
152
|
+
placedRemoved: plan.placedRemoved,
|
|
153
|
+
});
|
|
154
|
+
reloadHint(runDeps);
|
|
155
|
+
}
|
|
156
|
+
// ============================================================================
|
|
157
|
+
// Subcommands
|
|
158
|
+
// ============================================================================
|
|
159
|
+
const JSON_FLAG = {
|
|
160
|
+
type: 'boolean',
|
|
161
|
+
description: 'Print the result as JSON on stdout; all progress goes to stderr.',
|
|
162
|
+
};
|
|
163
|
+
const listCommand = defineCommand({
|
|
164
|
+
meta: { name: 'list', description: 'List the game\'s levels: id, name, which one boots, spawn and object counts.' },
|
|
165
|
+
args: { json: JSON_FLAG },
|
|
166
|
+
async run({ args }) {
|
|
167
|
+
await runLevelsList({ json: args.json === true });
|
|
168
|
+
},
|
|
169
|
+
});
|
|
170
|
+
const setStartCommand = defineCommand({
|
|
171
|
+
meta: { name: 'set-start', description: 'Make a level the one the game boots into.' },
|
|
172
|
+
args: {
|
|
173
|
+
'level-id': { type: 'positional', required: true, description: 'The level id (see `bitmagic levels list`).' },
|
|
174
|
+
json: JSON_FLAG,
|
|
175
|
+
},
|
|
176
|
+
async run({ args }) {
|
|
177
|
+
await runLevelsSetStart({ levelId: args['level-id'], json: args.json === true });
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
const renameCommand = defineCommand({
|
|
181
|
+
meta: { name: 'rename', description: 'Rename a level. Names are for humans; ids are what code uses.' },
|
|
182
|
+
args: {
|
|
183
|
+
'level-id': { type: 'positional', required: true, description: 'The level id (see `bitmagic levels list`).' },
|
|
184
|
+
name: { type: 'positional', required: true, description: 'The new name.' },
|
|
185
|
+
json: JSON_FLAG,
|
|
186
|
+
},
|
|
187
|
+
async run({ args }) {
|
|
188
|
+
await runLevelsRename({ levelId: args['level-id'], name: args.name, json: args.json === true });
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
const addCommand = defineCommand({
|
|
192
|
+
meta: { name: 'add', description: 'Register a baked .vwld asset as a level.' },
|
|
193
|
+
args: {
|
|
194
|
+
'vwld-asset-id': {
|
|
195
|
+
type: 'positional',
|
|
196
|
+
required: true,
|
|
197
|
+
description: 'Id of a .vwld asset already in the project (see `bitmagic assets list`).',
|
|
198
|
+
},
|
|
199
|
+
name: { type: 'string', description: 'Level name; defaults to the asset\'s name.' },
|
|
200
|
+
'make-start': {
|
|
201
|
+
type: 'boolean',
|
|
202
|
+
description: 'Also make it the level the game boots into. A game\'s first level becomes the start anyway.',
|
|
203
|
+
},
|
|
204
|
+
json: JSON_FLAG,
|
|
205
|
+
},
|
|
206
|
+
async run({ args }) {
|
|
207
|
+
await runLevelsAdd({
|
|
208
|
+
vwldAssetId: args['vwld-asset-id'],
|
|
209
|
+
...(args.name !== undefined ? { name: args.name } : {}),
|
|
210
|
+
makeStart: args['make-start'] === true,
|
|
211
|
+
json: args.json === true,
|
|
212
|
+
});
|
|
213
|
+
},
|
|
214
|
+
});
|
|
215
|
+
const removeCommand = defineCommand({
|
|
216
|
+
meta: {
|
|
217
|
+
name: 'remove',
|
|
218
|
+
description: 'Remove a level and the objects belonging to it. The .vwld asset stays in the project.',
|
|
219
|
+
},
|
|
220
|
+
args: {
|
|
221
|
+
'level-id': { type: 'positional', required: true, description: 'The level id (see `bitmagic levels list`).' },
|
|
222
|
+
json: JSON_FLAG,
|
|
223
|
+
},
|
|
224
|
+
async run({ args }) {
|
|
225
|
+
await runLevelsRemove({ levelId: args['level-id'], json: args.json === true });
|
|
226
|
+
},
|
|
227
|
+
});
|
|
228
|
+
export const levelsCommand = defineCommand({
|
|
229
|
+
meta: {
|
|
230
|
+
name: 'levels',
|
|
231
|
+
description: 'Manage the levels `bitmagic forge` creates: list, add, rename, set-start, remove.',
|
|
232
|
+
},
|
|
233
|
+
subCommands: {
|
|
234
|
+
list: listCommand,
|
|
235
|
+
add: addCommand,
|
|
236
|
+
rename: renameCommand,
|
|
237
|
+
'set-start': setStartCommand,
|
|
238
|
+
remove: removeCommand,
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
//# sourceMappingURL=levels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"levels.js","sourceRoot":"","sources":["../../src/commands/levels.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface NumberFlagOptions {
|
|
2
|
+
min?: number;
|
|
3
|
+
max?: number;
|
|
4
|
+
/** Only for flags whose generator schema declares `.int()` (image width/height). */
|
|
5
|
+
integer?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function parseNumberFlag(flagName: string, raw: string | undefined, options?: NumberFlagOptions): number | undefined;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one numeric-flag parser every command uses.
|
|
3
|
+
*
|
|
4
|
+
* It exists because `verify.ts --timeout` once shipped a bug where an unparseable value silently
|
|
5
|
+
* became `NaN` and produced a false failure pointing nowhere near the real cause. Every numeric
|
|
6
|
+
* flag goes through here so a typo is rejected up front, naming the flag.
|
|
7
|
+
*
|
|
8
|
+
* It is SHARED because a second copy re-opened that exact hazard: `commands/assets.ts` was written
|
|
9
|
+
* with a stricter version while `commands/generate.ts` kept the lax one, so `generate model
|
|
10
|
+
* --height 0x10` quietly scaled a model to 16 metres — `Number()` accepts hex, binary, exponents
|
|
11
|
+
* and surrounding whitespace, and `Number('')` is 0. One decimal-only grammar, one place.
|
|
12
|
+
*/
|
|
13
|
+
import { CliError } from '../errors.js';
|
|
14
|
+
/** A decimal number and nothing else — no `0x10`, no `1e3`, no `''`. */
|
|
15
|
+
const DECIMAL = /^-?\d+(\.\d+)?$/;
|
|
16
|
+
export function parseNumberFlag(flagName, raw, options = {}) {
|
|
17
|
+
if (raw === undefined)
|
|
18
|
+
return undefined;
|
|
19
|
+
const trimmed = raw.trim();
|
|
20
|
+
if (!DECIMAL.test(trimmed)) {
|
|
21
|
+
throw new CliError(`--${flagName} must be a decimal number, got ${JSON.stringify(raw)}. world.json is unchanged.`);
|
|
22
|
+
}
|
|
23
|
+
const value = Number(trimmed);
|
|
24
|
+
if (!Number.isFinite(value)) {
|
|
25
|
+
throw new CliError(`--${flagName} must be a number, got ${JSON.stringify(raw)}. world.json is unchanged.`);
|
|
26
|
+
}
|
|
27
|
+
if (options.integer && !Number.isInteger(value)) {
|
|
28
|
+
throw new CliError(`--${flagName} must be a whole number, got ${JSON.stringify(raw)}. world.json is unchanged.`);
|
|
29
|
+
}
|
|
30
|
+
if (options.min !== undefined && value < options.min) {
|
|
31
|
+
throw new CliError(`--${flagName} must be at least ${options.min}, got ${value}. world.json is unchanged.`);
|
|
32
|
+
}
|
|
33
|
+
if (options.max !== undefined && value > options.max) {
|
|
34
|
+
throw new CliError(`--${flagName} must be at most ${options.max}, got ${value}. world.json is unchanged.`);
|
|
35
|
+
}
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=number-flag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-flag.js","sourceRoot":"","sources":["../../src/commands/number-flag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AASxC,wEAAwE;AACxE,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAElC,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,GAAuB,EACvB,UAA6B,EAAE;IAE/B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,QAAQ,CAAC,KAAK,QAAQ,kCAAkC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACrH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,QAAQ,CAAC,KAAK,QAAQ,0BAA0B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC7G,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,QAAQ,CAAC,KAAK,QAAQ,gCAAgC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,IAAI,QAAQ,CAAC,KAAK,QAAQ,qBAAqB,OAAO,CAAC,GAAG,SAAS,KAAK,4BAA4B,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,IAAI,QAAQ,CAAC,KAAK,QAAQ,oBAAoB,OAAO,CAAC,GAAG,SAAS,KAAK,4BAA4B,CAAC,CAAC;IAC7G,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/commands/publish.js
CHANGED
|
@@ -43,6 +43,7 @@ import { buildSourceIndex } from '../publish/fingerprint.js';
|
|
|
43
43
|
import { buildSourceArchive } from '../publish/source-zip.js';
|
|
44
44
|
import { readVerifyRecord } from '../verify/result.js';
|
|
45
45
|
import { readFaviconOverride } from '../publish/favicon.js';
|
|
46
|
+
import { readPlatformIndicators } from '../publish/platform.js';
|
|
46
47
|
import { checkVerifyGate, injectMetaBlock } from '../publish/meta-block.js';
|
|
47
48
|
import { runBuild as runBuildImpl, readBuildManifest as readBuildManifestImpl, buildBundlePaths, } from '../publish/bundle.js';
|
|
48
49
|
import { beginPublish, completePublish, putBundle, putSourceArchive, requestThumbnailUploadUrl, putThumbnail, } from '../publish/client.js';
|
|
@@ -252,6 +253,13 @@ export async function runPublish(args, deps = defaultDeps()) {
|
|
|
252
253
|
log(`Source archive upload failed (${error instanceof Error ? error.message : String(error)}) — the game still publishes.`);
|
|
253
254
|
}
|
|
254
255
|
}
|
|
256
|
+
// Read from disk rather than from `context.metadata`: bitmagic.json holds what `init` chose,
|
|
257
|
+
// while game.json/world.json hold what the game has since become. Notes are printed even when
|
|
258
|
+
// there is nothing to send — a value the project files declare but this cannot use is a bug in
|
|
259
|
+
// those files, and silently dropping it would hide it.
|
|
260
|
+
const platform = readPlatformIndicators(context.root);
|
|
261
|
+
for (const note of platform.notes)
|
|
262
|
+
log(note);
|
|
255
263
|
// `visibility`, `name`, `description`, and `thumbnailUrl` are all re-sent, not implied.
|
|
256
264
|
// `complete` re-authorizes against its OWN body — `begin` writes nothing, so nothing it
|
|
257
265
|
// validated is bound — and an absent visibility defaults to private. Omitting them here would
|
|
@@ -279,6 +287,11 @@ export async function runPublish(args, deps = defaultDeps()) {
|
|
|
279
287
|
? { sourceKey: begun.sourceKey, sourceSha256: archive.sha256 }
|
|
280
288
|
: {}),
|
|
281
289
|
fingerprintAlgo: sourceIndex.algo,
|
|
290
|
+
// The catalog's platform indicators, read from `src/work/` — the project files are the
|
|
291
|
+
// source of truth for them, so this is a sync and not an override. Spread, because an
|
|
292
|
+
// ABSENT key means "preserve what is stored" server-side and is a different message from
|
|
293
|
+
// 'desktop'/null; see readPlatformIndicators.
|
|
294
|
+
...platform.fields,
|
|
282
295
|
}, apiDeps);
|
|
283
296
|
// Nudge, never a gate — and printed BEFORE the publish result so it does not read as a
|
|
284
297
|
// failure of the publish that just succeeded.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface CommandRunDeps {
|
|
2
|
+
fetch: typeof globalThis.fetch;
|
|
3
|
+
sleep: (ms: number) => Promise<void>;
|
|
4
|
+
/** Injected where a command stamps or compares times. */
|
|
5
|
+
now?: () => number;
|
|
6
|
+
/** Test-only override; production omits it and loadProjectContext walks up from process.cwd(). */
|
|
7
|
+
startDir?: string;
|
|
8
|
+
/** Test-only override; production omits it and the auth store reads ~/.bitmagic. */
|
|
9
|
+
baseDir?: string;
|
|
10
|
+
log: (message: string) => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Built AFTER `--json` is known, so `log` is the Output seam rather than a bare console.log — a
|
|
14
|
+
* deps object constructed before the flag is parsed could only route prose to stdout.
|
|
15
|
+
*/
|
|
16
|
+
export declare function commandRunDeps(json: boolean): CommandRunDeps;
|
|
17
|
+
/**
|
|
18
|
+
* Rethrow a failure with a reworded message, keeping everything else about it.
|
|
19
|
+
*
|
|
20
|
+
* Only the MESSAGE is this function's to change. Re-minting the error with the constructor's
|
|
21
|
+
* defaults silently downgraded "not logged in" (exit 2, `not_logged_in`) to a generic exit-1
|
|
22
|
+
* `cli_error` for every `generate` and `cover` — so the documented exit codes were wrong for a
|
|
23
|
+
* scripted caller and the documented failure categories never appeared in analytics for those
|
|
24
|
+
* lanes. Anything that is not a `CliError` is a genuine bug rather than a condition we designed a
|
|
25
|
+
* message for, and passes through untouched for citty's stack-trace handling.
|
|
26
|
+
*/
|
|
27
|
+
export declare function decoratedError(error: unknown, decorate: (message: string) => string): unknown;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What every command needs injected, and the one place that builds the real thing.
|
|
3
|
+
*
|
|
4
|
+
* `fetch` and `sleep` are here so a test can drive a command without the network or a real clock;
|
|
5
|
+
* `startDir` and `baseDir` so it can point the project lookup and the credentials store at temp
|
|
6
|
+
* directories. `log` is the Output seam rather than a bare `console.log`, which is what keeps prose
|
|
7
|
+
* off stdout under `--json` — stdout there must carry exactly one JSON document, and a stray line
|
|
8
|
+
* beside it is worse than none.
|
|
9
|
+
*
|
|
10
|
+
* Shared because it was copied six times. That is not merely untidy: `defaultDeps` can only be
|
|
11
|
+
* built AFTER `--json` is known (see below), and a copy that forgets why will happily be
|
|
12
|
+
* constructed earlier and route every progress line to stdout.
|
|
13
|
+
*/
|
|
14
|
+
import { CliError } from '../errors.js';
|
|
15
|
+
import { createOutput } from '../output.js';
|
|
16
|
+
/**
|
|
17
|
+
* Built AFTER `--json` is known, so `log` is the Output seam rather than a bare console.log — a
|
|
18
|
+
* deps object constructed before the flag is parsed could only route prose to stdout.
|
|
19
|
+
*/
|
|
20
|
+
export function commandRunDeps(json) {
|
|
21
|
+
const output = createOutput(json);
|
|
22
|
+
return {
|
|
23
|
+
fetch: globalThis.fetch,
|
|
24
|
+
sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms)),
|
|
25
|
+
log: output.info,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Rethrow a failure with a reworded message, keeping everything else about it.
|
|
30
|
+
*
|
|
31
|
+
* Only the MESSAGE is this function's to change. Re-minting the error with the constructor's
|
|
32
|
+
* defaults silently downgraded "not logged in" (exit 2, `not_logged_in`) to a generic exit-1
|
|
33
|
+
* `cli_error` for every `generate` and `cover` — so the documented exit codes were wrong for a
|
|
34
|
+
* scripted caller and the documented failure categories never appeared in analytics for those
|
|
35
|
+
* lanes. Anything that is not a `CliError` is a genuine bug rather than a condition we designed a
|
|
36
|
+
* message for, and passes through untouched for citty's stack-trace handling.
|
|
37
|
+
*/
|
|
38
|
+
export function decoratedError(error, decorate) {
|
|
39
|
+
return error instanceof CliError
|
|
40
|
+
? new CliError(decorate(error.message), error.exitCode, error.code)
|
|
41
|
+
: error;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=run-deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-deps.js","sourceRoot":"","sources":["../../src/commands/run-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAc5C;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,KAAK,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9E,GAAG,EAAE,MAAM,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,QAAqC;IAClF,OAAO,KAAK,YAAY,QAAQ;QAC9B,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC;QACnE,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC"}
|
package/dist/editor/journal.d.ts
CHANGED
|
@@ -82,7 +82,10 @@ export type EditorEvent = {
|
|
|
82
82
|
assetId: string;
|
|
83
83
|
assetName: string;
|
|
84
84
|
instanceCount: number;
|
|
85
|
-
|
|
85
|
+
/** Present when the asset was made from a mesh. Exactly one of these two is. */
|
|
86
|
+
glbUrl?: string;
|
|
87
|
+
/** Present when it was made from a voxel master — the dev-lane path, which builds no mesh. */
|
|
88
|
+
masterUrl?: string;
|
|
86
89
|
assetUrl?: string;
|
|
87
90
|
}
|
|
88
91
|
/** `glbUrl` is present when the mesh was already paid for — a retry can skip that step. */
|
|
@@ -92,6 +95,42 @@ export type EditorEvent = {
|
|
|
92
95
|
assetName: string;
|
|
93
96
|
error: string;
|
|
94
97
|
glbUrl?: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Terrain and voxel-object sculpting, which `deriveSceneEvents` cannot see.
|
|
101
|
+
*
|
|
102
|
+
* Every other event here is reconstructed by diffing world.json before and against after. These
|
|
103
|
+
* four are reported by the editor itself because the diff does not carry them: a terrain save
|
|
104
|
+
* changes one URL that says nothing about what was sculpted, and a save that FAILED changes
|
|
105
|
+
* nothing at all — yet an agent whose creator just lost work is exactly who needs to know.
|
|
106
|
+
*/
|
|
107
|
+
| {
|
|
108
|
+
event: 'terrain.saved';
|
|
109
|
+
voxelUrl: string;
|
|
110
|
+
} | {
|
|
111
|
+
event: 'terrain.saveFailed';
|
|
112
|
+
error: string;
|
|
113
|
+
} | {
|
|
114
|
+
event: 'voxel.saved';
|
|
115
|
+
assetId: string;
|
|
116
|
+
assetName: string;
|
|
117
|
+
} | {
|
|
118
|
+
event: 'voxel.saveFailed';
|
|
119
|
+
assetName: string;
|
|
120
|
+
error: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* A level was added, renamed, removed, or made the one the game boots into.
|
|
124
|
+
*
|
|
125
|
+
* Its own line because a level change is close to invisible in a diff: `set-start` moves one id
|
|
126
|
+
* and a url, and an agent holding world.json in memory would otherwise see the game boot
|
|
127
|
+
* somewhere else with nothing to explain why.
|
|
128
|
+
*/
|
|
129
|
+
| {
|
|
130
|
+
event: 'levels.changed';
|
|
131
|
+
action: string;
|
|
132
|
+
levelId: string;
|
|
133
|
+
name: string;
|
|
95
134
|
};
|
|
96
135
|
/** One journal line: the event, stamped. */
|
|
97
136
|
export type JournalLine = EditorEvent & {
|
|
@@ -111,6 +150,14 @@ export type JournalLine = EditorEvent & {
|
|
|
111
150
|
export declare function deriveSceneEvents(before: WorldJsonShape, payload: ScenePayload): EditorEvent[];
|
|
112
151
|
/** The one-line human form mirrored to stdout. The JSONL line stays the machine contract. */
|
|
113
152
|
export declare function formatEvent(event: EditorEvent): string;
|
|
153
|
+
/**
|
|
154
|
+
* The editor-reported events, validated off an untrusted request body.
|
|
155
|
+
*
|
|
156
|
+
* These arrive from the game iframe by way of the shell, so nothing about their shape is
|
|
157
|
+
* guaranteed. An unrecognised event is dropped rather than written: the journal is a contract an
|
|
158
|
+
* agent parses, and a malformed line there is worse than a missing one.
|
|
159
|
+
*/
|
|
160
|
+
export declare function asHostJournalEvent(payload: unknown): EditorEvent | null;
|
|
114
161
|
export interface EditorJournalOptions {
|
|
115
162
|
root: string;
|
|
116
163
|
/** Where the human-readable mirror goes. Defaults to nowhere. */
|
package/dist/editor/journal.js
CHANGED
|
@@ -181,6 +181,50 @@ export function formatEvent(event) {
|
|
|
181
181
|
return `[edit] hq.completed "${event.assetName}" — ${event.instanceCount} instance(s) upgraded`;
|
|
182
182
|
case 'hq.failed':
|
|
183
183
|
return `[edit] hq.failed "${event.assetName}" — ${event.error}`;
|
|
184
|
+
case 'terrain.saved':
|
|
185
|
+
return `[edit] terrain.saved — ${event.voxelUrl}`;
|
|
186
|
+
case 'terrain.saveFailed':
|
|
187
|
+
return `[edit] terrain.saveFailed — ${event.error}`;
|
|
188
|
+
case 'voxel.saved':
|
|
189
|
+
return `[edit] voxel.saved "${event.assetName}"`;
|
|
190
|
+
case 'voxel.saveFailed':
|
|
191
|
+
return `[edit] voxel.saveFailed "${event.assetName}" — ${event.error}`;
|
|
192
|
+
case 'levels.changed':
|
|
193
|
+
return `[edit] levels.${event.action} "${event.name}" (${event.levelId})`;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* The editor-reported events, validated off an untrusted request body.
|
|
198
|
+
*
|
|
199
|
+
* These arrive from the game iframe by way of the shell, so nothing about their shape is
|
|
200
|
+
* guaranteed. An unrecognised event is dropped rather than written: the journal is a contract an
|
|
201
|
+
* agent parses, and a malformed line there is worse than a missing one.
|
|
202
|
+
*/
|
|
203
|
+
export function asHostJournalEvent(payload) {
|
|
204
|
+
if (!isRecord(payload))
|
|
205
|
+
return null;
|
|
206
|
+
const str = (key) => typeof payload[key] === 'string' && payload[key].length > 0 ? payload[key] : null;
|
|
207
|
+
switch (payload.event) {
|
|
208
|
+
case 'terrain.saved': {
|
|
209
|
+
const voxelUrl = str('voxelUrl');
|
|
210
|
+
return voxelUrl ? { event: 'terrain.saved', voxelUrl } : null;
|
|
211
|
+
}
|
|
212
|
+
case 'terrain.saveFailed': {
|
|
213
|
+
const error = str('error');
|
|
214
|
+
return error ? { event: 'terrain.saveFailed', error } : null;
|
|
215
|
+
}
|
|
216
|
+
case 'voxel.saved': {
|
|
217
|
+
const assetId = str('assetId');
|
|
218
|
+
const assetName = str('assetName');
|
|
219
|
+
return assetId && assetName ? { event: 'voxel.saved', assetId, assetName } : null;
|
|
220
|
+
}
|
|
221
|
+
case 'voxel.saveFailed': {
|
|
222
|
+
const assetName = str('assetName');
|
|
223
|
+
const error = str('error');
|
|
224
|
+
return assetName && error ? { event: 'voxel.saveFailed', assetName, error } : null;
|
|
225
|
+
}
|
|
226
|
+
default:
|
|
227
|
+
return null;
|
|
184
228
|
}
|
|
185
229
|
}
|
|
186
230
|
/**
|