@bitmagic/cli 0.1.53-dev.5 → 0.1.53-dev.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +34 -8
  2. package/dist/assets/revoxelize.d.ts +27 -1
  3. package/dist/assets/revoxelize.js +78 -12
  4. package/dist/assets/revoxelize.js.map +1 -1
  5. package/dist/commands/assets.js +2 -1
  6. package/dist/commands/assets.js.map +1 -1
  7. package/dist/commands/generate.d.ts +22 -0
  8. package/dist/commands/generate.js +59 -1
  9. package/dist/commands/generate.js.map +1 -1
  10. package/dist/commands/publish.d.ts +7 -2
  11. package/dist/commands/publish.js +39 -7
  12. package/dist/commands/publish.js.map +1 -1
  13. package/dist/editor/publish-panel.d.ts +31 -0
  14. package/dist/editor/publish-panel.js +69 -0
  15. package/dist/editor/publish-panel.js.map +1 -0
  16. package/dist/editor/server.js +31 -0
  17. package/dist/editor/server.js.map +1 -1
  18. package/dist/editor/shell-page.js +90 -2
  19. package/dist/editor/shell-page.js.map +1 -1
  20. package/dist/generate/model.d.ts +5 -0
  21. package/dist/generate/model.js +7 -2
  22. package/dist/generate/model.js.map +1 -1
  23. package/dist/generate/prop.d.ts +18 -0
  24. package/dist/generate/prop.js +21 -1
  25. package/dist/generate/prop.js.map +1 -1
  26. package/dist/publish/record.d.ts +22 -0
  27. package/dist/publish/record.js +62 -0
  28. package/dist/publish/record.js.map +1 -0
  29. package/dist/render/qr-output.d.ts +44 -0
  30. package/dist/render/qr-output.js +71 -0
  31. package/dist/render/qr-output.js.map +1 -0
  32. package/dist/render/qr-png.d.ts +37 -0
  33. package/dist/render/qr-png.js +111 -0
  34. package/dist/render/qr-png.js.map +1 -0
  35. package/dist/render/qr-terminal.d.ts +8 -1
  36. package/dist/render/qr-terminal.js +8 -1
  37. package/dist/render/qr-terminal.js.map +1 -1
  38. package/dist/scaffold/project-files.js +5 -0
  39. package/dist/scaffold/project-files.js.map +1 -1
  40. package/dist/update/check.js +2 -1
  41. package/dist/update/check.js.map +1 -1
  42. package/package.json +4 -4
package/README.md CHANGED
@@ -193,11 +193,11 @@ browser reloads itself on every change and the assets panel shows each generatio
193
193
  | `bitmagic whoami [--env <env>]` | Show the identity the CLI is authenticated as — the account's email address alongside its user id — and which environment answered, including where that environment was chosen from. |
194
194
  | `bitmagic init [dir] [--template <id>] [--name <name>] [--idea "<pitch>"] [--env <env>] [--force]` | Scaffold a new project: mints a game, downloads the vendored engine, writes `AGENTS.md`, `GAME-DESIGN.md` and templates. Starts from `empty-3d` unless told otherwise. `--idea` seeds the design doc's pitch **and** picks the template whose camera and controls fit it — "a doom-like corridor shooter" scaffolds `first-person`, "jump between floating islands" scaffolds `sidescroller`. `--template` overrides both; a suggestion that fails for any reason falls back to `empty-3d` rather than failing the scaffold. Dependencies are installed with **pnpm** when your machine has it and npm otherwise — the lockfile that produces is what every later command reads, so it never tells you to run the wrong one. |
195
195
  | `bitmagic check` | Typecheck (`tsc --noEmit`) against the vendored engine. Fast; does not prove the game runs. |
196
- | `bitmagic dev [--port <port>] [--editor-port <port>] [--no-open]` | Build, then serve everything and keep it running: `tsc --watch`, `vite` on 3010, and a **Game / Editor** view on 3011 that reloads itself when the project changes. Opens the view in your browser; `--no-open` (or `BITMAGIC_NO_OPEN=1`) skips that. The one command to leave open. See **The dev view** below. |
196
+ | `bitmagic dev [--port <port>] [--editor-port <port>] [--no-open]` | Build, then serve everything and keep it running: `tsc --watch`, `vite` on 3010, and a **Game / Editor** view on 3011 that reloads itself when the project changes, and shows where the game is published (with a QR code) once it has been. Opens the view in your browser; `--no-open` (or `BITMAGIC_NO_OPEN=1`) skips that. The one command to leave open. See **The dev view** below. |
197
197
  | `bitmagic reload [--port <port>]` | Tell a running `bitmagic dev` to reload the browser now. For agents: run it when you finish a round of edits. Exits 0 and does nothing when no dev server is running. |
198
198
  | `bitmagic verify [--timeout <ms>] [--renderer webgpu\|webgl] [--platform desktop\|mobile\|both] [--fast] [--watch]` | Build, boot the game in a headless browser, press the engine's Play button like a player would, and report what broke. A game without the button passes as long as gameplay starts by itself (auto-starting genres, custom start UIs); a run where gameplay never starts fails. The settle is adaptive: the run ends as soon as the live engine proves stable gameplay (state, rendered frames, no fresh errors, player standing), with `--timeout` as the cap. The verdict includes live engine state — actual GPU backend, fps, player position, physics body count, gameplay events (see **Gameplay events** below) — recorded in `result.json`. `--renderer` pins the pipeline (default `webgpu`, what players run; a silent WebGPU→WebGL2 fallback **fails** the run, and `--renderer webgl` is the deliberate escape hatch). A run failing on a lost WebGL context retries once on software rendering automatically. `--fast` skips the screenshot pipeline (then there is no thumbnail candidate from this run). `--watch` keeps everything warm — incremental `tsc --watch`, one vite, one browser — and re-verifies on file change in seconds; `--fast` is the watch default (`--no-fast` restores the screenshot). `--platform` picks what the run emulates — see **Verifying the mobile path** below. Every run also reports the engine's mobile-parity check: a desktop action with no touch button is a warning, and a **failure** when `game.json` declares `primaryPlatform: "mobile"`. Writes the artifacts the publish gate reads (see below). |
199
199
  | `bitmagic build` | Bundle the game into one self-contained `.bitmagic/build/index.html`. Rarely needs to be run by hand — `publish` builds automatically when the project changed. |
200
- | `bitmagic publish [--visibility public\|private] [--name <name>] [--description <desc>] [--force] [--no-qr]` | Verify-gate, build if needed, and upload straight to GCS. **Keeps the game's current visibility**; a new game is private until published with `--visibility public`. Draws the published URL as a QR code so you can scan it onto a phone; `--no-qr` skips that. |
200
+ | `bitmagic publish [--visibility public\|private] [--name <name>] [--description <desc>] [--force] [--no-qr]` | Verify-gate, build if needed, and upload straight to GCS. **Keeps the game's current visibility**; a new game is private until published with `--visibility public`. Shows the published URL as a QR code so you can scan it onto a phone — drawn in the terminal, or written to `.bitmagic/publish-qr.png` when it cannot be. `--no-qr` skips both. |
201
201
  | `bitmagic self-update [--tag latest\|dev]` | Update the **CLI itself** to the newest build of its line, installing into the place this CLI actually lives rather than wherever the `npm` on your `PATH` would put it — which under nvm is routinely somewhere else. Reads the project's line from `bitmagic.json` when there is one, so it also fixes a wrong-line install; `--tag` overrides. Verifies the version on disk moved, and refuses (naming the path) for an `npx` run, a source checkout, or an install shape it cannot recognise. Not to be confused with `upgrade`, which is about the project's engine. |
202
202
  | `bitmagic upgrade [--engine <version>] [--force]` | Refresh vendored platform files and the CLI's own skills to the currently published engine. Refuses a dirty git tree unless `--force`. Also records the project's `environment` in `bitmagic.json` if it has none yet — the engine it just vendored came from that api-server — and says so when it does. |
203
203
  | `bitmagic generate <skybox\|background\|block-type\|sound\|image\|character\|animation\|model\|prop\|vehicle> ...` | Generate one asset directly into `src/work/world.json`. Costs sparks. `model` mints a **new** 3D object from a prompt, `prop` upgrades an existing placeholder **in place**, `vehicle` adds a new drivable one, `animation` takes a parameter spec rather than a prompt, `block-type` registers a custom voxel block — see below. `skybox` and `background` write the **same** field: pick one. |
@@ -421,6 +421,21 @@ While the game boots, the mark hops over the stage — the first time only. Late
421
421
  still, and only if the reload is slow enough to be worth explaining. If a boot fails it stays put,
422
422
  says what went wrong and offers to try again, instead of leaving you a black rectangle.
423
423
 
424
+ ### Where your game is published
425
+
426
+ Once the project has been published, a **Published** pill appears in the top bar. It opens the
427
+ game's address, the visibility it went out with, which publish this is and how long ago — and the
428
+ same QR code the terminal draws, so the phone in your hand can reach the build without you typing
429
+ anything.
430
+
431
+ The pill lights up on its own within a second or two of a publish finishing, with no reload: the
432
+ page polls, and the publish it should show almost always happens in another terminal — often your
433
+ agent's, which you never look at. Until the first publish the pill is there but dead, because a
434
+ control that opens an empty dialog is worse than one that is plainly not ready.
435
+
436
+ It works even when the game will not boot, which is deliberate: that is the moment the link matters
437
+ most, since the last good build is still live at that address.
438
+
424
439
  Put the page beside your agent's window. It is one page with
425
440
  two tabs over the same running game, so switching costs nothing and does not restart anything:
426
441
 
@@ -769,10 +784,19 @@ This is the pro lane's "try it on my phone" loop, and `--visibility private` is
769
784
  private game is *unlisted*, not access-controlled, so its URL works from any device while the game
770
785
  stays off bitmagic.ai. Publish as often as you like and scan the code each time.
771
786
 
787
+ **When the code cannot be drawn, publish writes it as a file instead** — `.bitmagic/publish-qr.png`
788
+ — and names the path (`qrPath` in the `--json` result). That is the normal case for an agent-driven
789
+ publish: your agent's stdout is a pipe, not a terminal, so there is nothing to paint a code onto,
790
+ and the person who would scan it is on the other side of that pipe. The image is how it reaches
791
+ them. The same happens under `--json`, for `TERM=dumb`, and when the terminal is narrower than the
792
+ code (37 columns for a typical publish URL), since a wrapped code cannot be scanned anyway. A
793
+ terminal that draws the code successfully writes no file.
794
+
795
+ `.bitmagic/` is excluded from the publish fingerprint, so the image cannot invalidate a verify.
796
+
772
797
  The code is extra, never a substitute — the URL is always printed as a plain line above it, and
773
- everything still works if nothing is drawn. Nothing is drawn when output is redirected or piped,
774
- under `--json`, with `--no-qr`, with `BITMAGIC_NO_QR` set, or when the terminal is narrower than
775
- the code (37 columns for a typical publish URL), because a wrapped code cannot be scanned anyway.
798
+ everything still works if neither a drawing nor a file appears. `--no-qr` and `BITMAGIC_NO_QR`
799
+ suppress both.
776
800
 
777
801
  `bitmagic dev` deliberately has no equivalent. Its servers bind `127.0.0.1`, and the asset CDN
778
802
  only serves assets to `localhost` origins — a phone pointed at your machine's LAN address would
@@ -901,10 +925,12 @@ parses one stream whether the command succeeded or not. The exit code remains au
901
925
 
902
926
  Without `--json` nothing changes: prose goes to stdout as before and no JSON is emitted.
903
927
 
904
- `--json` also suppresses `publish`'s QR code, which is drawn with terminal escape sequences: under
905
- `--json` stdout carries the result document and nothing else.
928
+ `--json` suppresses `publish`'s *drawn* QR code, which uses terminal escape sequences: under
929
+ `--json` stdout carries the result document and nothing else. The image is still written, and
930
+ `qrPath` in the result names it — that is the only way an agent learns the file exists.
906
931
 
907
- The result shape is per-command — `publish` reports `url`/`visibility`/`publishVersion`/`manageUrl`, `init`
932
+ The result shape is per-command — `publish` reports
933
+ `url`/`visibility`/`publishVersion`/`manageUrl`, plus `qrPath` when it wrote a QR image, `init`
908
934
  reports `gameId`/`root`/`dependenciesInstalled`/`packageManager`, `upgrade` reports `replaced` and any
909
935
  `missingDependencies` as structured entries rather than only as a printed install command, plus
910
936
  `cliUpdate` (`{ current, latest, updateAvailable }`, or `null` when the engine did not move and so
@@ -45,12 +45,38 @@ export declare function findRevoxelizableAsset(world: Record<string, unknown>, a
45
45
  asset: Record<string, unknown>;
46
46
  source: RevoxelizeSource;
47
47
  };
48
+ /**
49
+ * The height a master re-bake will be resampled to.
50
+ *
51
+ * `--height` wins. Otherwise the height the asset was BAKED at, which the master path records in
52
+ * `voxelizeSettings` for exactly this. Falling through to neither is the case worth naming: a
53
+ * master is a grid, not a size, so the engine has nothing to derive a height from and lands on its
54
+ * own `DEFAULT_TARGET_HEIGHT` of 2 m — silently returning a 10 m building as a 2 m one. The mesh
55
+ * branch has no such gap, which is why `--height`'s "omit to keep the source's own size" only ever
56
+ * described half of this command.
57
+ */
58
+ export declare function resolveMasterTargetHeight(asset: Record<string, unknown>, requested: number | undefined): number | undefined;
48
59
  /**
49
60
  * Refuse a master re-bake that asks for more detail than the master holds.
50
61
  *
51
62
  * The engine would refuse it too — `resampleMaster` throws "re-forge at a higher resolution rather
52
63
  * than upsampling" — but only after the browser, vite and the page have started. Saying it here
53
64
  * costs nothing and names the thing to do instead, which the engine's message cannot know.
65
+ *
66
+ * The floor is derived from the MASTER, not from the previous bake. Those are very different
67
+ * numbers: a 512³ master baked once at 0.1 m holds detail down to about `targetHeight / 512`, and
68
+ * refusing everything below 0.1 m would make that headroom unreachable from the CLI — which is the
69
+ * whole reason the master is stored rather than the working asset.
70
+ *
71
+ * Deliberately PERMISSIVE. The engine's real limit is the master's occupied span along the up
72
+ * axis, which is at most its resolution and usually less, so a request between
73
+ * `targetHeight / resolution` and `targetHeight / spanUp` still throws in the browser. That is the
74
+ * right way round: this pre-flight exists to avoid paying for a browser on a request that cannot
75
+ * work, never to refuse a size the master can serve. The engine stays the authority.
76
+ *
77
+ * Falls back to the old "no finer than the last bake" rule when either field is missing, so assets
78
+ * written before `sourceVxlMasterResolution` existed — or hand-edited ones — keep a guard rather
79
+ * than losing it.
54
80
  */
55
- export declare function assertMasterCanGoFiner(asset: Record<string, unknown>, requestedVoxelSize: number, name: string): void;
81
+ export declare function assertMasterCanGoFiner(asset: Record<string, unknown>, requestedVoxelSize: number, targetHeight: number | undefined, name: string): void;
56
82
  export declare function revoxelizeAsset(options: RevoxelizeOptions): Promise<RevoxelizeResult>;
@@ -3,11 +3,13 @@
3
3
  *
4
4
  * Every voxelized asset keeps what it was made from, and either source can be baked again:
5
5
  *
6
- * - `sourceVxlMasterUrl` — the voxel master, written by the direct-voxel path. Cheap (about a
7
- * megabyte) and already occupancy, so the engine only resamples and recompiles it.
6
+ * - `sourceVxlMasterUrl` — the voxel master, written by the direct-voxel path. Cheap (a few
7
+ * megabytes) and already occupancy, so the engine only resamples and recompiles it. It can go
8
+ * finer than a previous bake, but never finer than the grid it was forged at — masters are
9
+ * resampled by merging cells, never by inventing them.
8
10
  * - `sourceGlbUrl` — the mesh, written by the GLB path. Heavier (50-100 MB to refetch) and a full
9
- * re-voxelization, but the mesh is resolution-independent, so it is the only source that can go
10
- * FINER than any previous bake.
11
+ * re-voxelization, but the mesh is resolution-independent, so it is the only source with no
12
+ * ceiling at all.
11
13
  *
12
14
  * One command over both, because "re-bake this at a different size" is one thing a creator wants
13
15
  * and which pipeline produced the asset months ago is not something they should have to remember.
@@ -65,20 +67,66 @@ function countInstances(world, assetId) {
65
67
  const objects = Array.isArray(world.environmentObjects) ? world.environmentObjects : [];
66
68
  return objects.filter((item) => isJsonObject(item) && item.assetId === assetId).length;
67
69
  }
70
+ /** A positive number from an unknown field, or undefined. */
71
+ function positiveNumber(value) {
72
+ return typeof value === 'number' && Number.isFinite(value) && value > 0 ? value : undefined;
73
+ }
74
+ /**
75
+ * The height a master re-bake will be resampled to.
76
+ *
77
+ * `--height` wins. Otherwise the height the asset was BAKED at, which the master path records in
78
+ * `voxelizeSettings` for exactly this. Falling through to neither is the case worth naming: a
79
+ * master is a grid, not a size, so the engine has nothing to derive a height from and lands on its
80
+ * own `DEFAULT_TARGET_HEIGHT` of 2 m — silently returning a 10 m building as a 2 m one. The mesh
81
+ * branch has no such gap, which is why `--height`'s "omit to keep the source's own size" only ever
82
+ * described half of this command.
83
+ */
84
+ export function resolveMasterTargetHeight(asset, requested) {
85
+ if (requested !== undefined)
86
+ return requested;
87
+ const settings = asset.voxelizeSettings;
88
+ return isJsonObject(settings) ? positiveNumber(settings.targetHeight) : undefined;
89
+ }
68
90
  /**
69
91
  * Refuse a master re-bake that asks for more detail than the master holds.
70
92
  *
71
93
  * The engine would refuse it too — `resampleMaster` throws "re-forge at a higher resolution rather
72
94
  * than upsampling" — but only after the browser, vite and the page have started. Saying it here
73
95
  * costs nothing and names the thing to do instead, which the engine's message cannot know.
96
+ *
97
+ * The floor is derived from the MASTER, not from the previous bake. Those are very different
98
+ * numbers: a 512³ master baked once at 0.1 m holds detail down to about `targetHeight / 512`, and
99
+ * refusing everything below 0.1 m would make that headroom unreachable from the CLI — which is the
100
+ * whole reason the master is stored rather than the working asset.
101
+ *
102
+ * Deliberately PERMISSIVE. The engine's real limit is the master's occupied span along the up
103
+ * axis, which is at most its resolution and usually less, so a request between
104
+ * `targetHeight / resolution` and `targetHeight / spanUp` still throws in the browser. That is the
105
+ * right way round: this pre-flight exists to avoid paying for a browser on a request that cannot
106
+ * work, never to refuse a size the master can serve. The engine stays the authority.
107
+ *
108
+ * Falls back to the old "no finer than the last bake" rule when either field is missing, so assets
109
+ * written before `sourceVxlMasterResolution` existed — or hand-edited ones — keep a guard rather
110
+ * than losing it.
74
111
  */
75
- export function assertMasterCanGoFiner(asset, requestedVoxelSize, name) {
76
- const existing = asset.voxelSize;
77
- if (typeof existing !== 'number' || requestedVoxelSize >= existing)
112
+ export function assertMasterCanGoFiner(asset, requestedVoxelSize, targetHeight, name) {
113
+ const resolution = positiveNumber(asset.sourceVxlMasterResolution);
114
+ if (resolution !== undefined && targetHeight !== undefined) {
115
+ const floor = targetHeight / resolution;
116
+ if (requestedVoxelSize >= floor)
117
+ return;
118
+ throw new CliError(`"${name}" has a ${resolution}³ voxel master, which at ${targetHeight} m holds detail down `
119
+ + `to about ${floor.toPrecision(3)} m — ${requestedVoxelSize} m would be upsampling, and a `
120
+ + 'master is only ever resampled coarser. Re-generate it at a higher --voxel-grid for more '
121
+ + 'detail. world.json is unchanged.');
122
+ }
123
+ const existing = positiveNumber(asset.voxelSize);
124
+ if (existing === undefined || requestedVoxelSize >= existing)
78
125
  return;
79
- throw new CliError(`"${name}" was baked at ${existing} m and its voxel master cannot be resampled finer than `
80
- + `itself, so ${requestedVoxelSize} m would be upsampling. Re-generate it insteador use a `
81
- + 'voxel size at or above the current one. world.json is unchanged.');
126
+ throw new CliError(`"${name}" was baked at ${existing} m and records no master resolution, so there is nothing `
127
+ + `saying its master can be resampled finer than that${requestedVoxelSize} m may be `
128
+ + 'upsampling. Re-generate it instead, or use a voxel size at or above the current one. '
129
+ + 'world.json is unchanged.');
82
130
  }
83
131
  export async function revoxelizeAsset(options) {
84
132
  const { context, assetId } = options;
@@ -115,7 +163,12 @@ export async function revoxelizeAsset(options) {
115
163
  */
116
164
  async function rebakeFromMaster(options) {
117
165
  const { context, environment, token, assetId, voxel, assetName, source, log } = options;
118
- assertMasterCanGoFiner(options.asset, voxel.minVoxelSize, assetName);
166
+ const targetHeight = resolveMasterTargetHeight(options.asset, voxel.targetHeight);
167
+ assertMasterCanGoFiner(options.asset, voxel.minVoxelSize, targetHeight, assetName);
168
+ if (targetHeight === undefined) {
169
+ log(`note: "${assetName}" records no baked height, so the engine's 2 m default applies. `
170
+ + 'Pass --height to keep it the size it is.');
171
+ }
119
172
  const runSession = options.session ?? withVoxelizeSession;
120
173
  const retryHint = `Nothing was spent — the master is still at ${source.masterUrl}, so this is `
121
174
  + 'safe to retry.';
@@ -130,7 +183,9 @@ async function rebakeFromMaster(options) {
130
183
  options: {
131
184
  minVoxelSize: voxel.minVoxelSize,
132
185
  maxVoxelSize: voxel.maxVoxelSize,
133
- ...(voxel.targetHeight !== undefined ? { targetHeight: voxel.targetHeight } : {}),
186
+ // The RESOLVED height, not `voxel.targetHeight`: omitting it lands on the engine's 2 m
187
+ // default, which resizes every asset that is not 2 m tall.
188
+ ...(targetHeight !== undefined ? { targetHeight } : {}),
134
189
  },
135
190
  }, 'REVOXELIZE_FROM_VXL_MASTER_RESULT', VOXELIZE_TIMEOUT_MS, { maxRetries: 1 });
136
191
  if (!result)
@@ -171,6 +226,17 @@ async function rebakeFromMaster(options) {
171
226
  voxelSize: summary.minVoxelSize,
172
227
  fragmentCount: summary.fragmentCount,
173
228
  ...(summary.voxelCount !== undefined ? { voxelCount: summary.voxelCount } : {}),
229
+ // Re-recorded, mirroring what the engine writes on the create path and what the GLB branch
230
+ // gets back for free. A `--height` re-bake that left the old height here would leave the next
231
+ // run computing its master floor — and its own default height — against a size that no longer
232
+ // matches the asset. `fillInterior` is meaningless on this path: a master already carries its
233
+ // own occupancy.
234
+ voxelizeSettings: {
235
+ minVoxelSize: voxel.minVoxelSize,
236
+ maxVoxelSize: voxel.maxVoxelSize,
237
+ ...(targetHeight !== undefined ? { targetHeight } : {}),
238
+ fillInterior: false,
239
+ },
174
240
  };
175
241
  }
176
242
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"revoxelize.js","sourceRoot":"","sources":["../../src/assets/revoxelize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"revoxelize.js","sourceRoot":"","sources":["../../src/assets/revoxelize.ts"],"names":[],"mappings":"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"}
@@ -382,7 +382,8 @@ const revoxelizeCommand = defineCommand({
382
382
  },
383
383
  height: {
384
384
  type: 'string',
385
- description: 'Scale to this height in metres. Omit to keep the source\'s own size.',
385
+ description: 'Scale to this height in metres. Omit to keep the size it has — the source '
386
+ + 'mesh\'s own size, or the height the voxel master was last baked at.',
386
387
  },
387
388
  hollow: { type: 'boolean', description: 'Bake a closed shell rather than filling the interior.' },
388
389
  solid: { type: 'boolean', description: 'Fill the interior even for building-scale objects.' },
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/commands/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/commands/assets.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,24 @@ export declare function runAssetGeneration(type: string, label: string, body: Re
113
113
  * generator at all.
114
114
  */
115
115
  export declare function assertDirectVoxelsAllowed(environment: Environment, directVoxels: boolean): void;
116
+ /**
117
+ * Refuses `--voxel-grid` without `--direct-voxels`, rather than ignoring it.
118
+ *
119
+ * The grid only reaches the `prop-voxel` generator, so on the mesh path the flag does nothing at
120
+ * all — and it is the one flag whose whole point is a decision that cannot be revisited later
121
+ * (see DEFAULT_MASTER_GRID). Silently dropping it is how a creator ends up believing they asked
122
+ * for a finer master and finding out months later, when a re-voxelize refuses.
123
+ */
124
+ export declare function assertVoxelGridAllowed(voxelGrid: number | undefined, directVoxels: boolean): void;
125
+ /**
126
+ * The grid flag's value, validated against the generator's own allowlist.
127
+ *
128
+ * An allowlist rather than any positive integer because the master packer maps native coordinates
129
+ * into the target grid by integer division: a grid that does not divide the native resolution
130
+ * pushes the top coordinate past the grid, and asset-forger reports that as "axis mapping is
131
+ * wrong". Caught here so a typo costs nothing rather than a GPU minute.
132
+ */
133
+ export declare function parseVoxelGridFlag(raw: string | undefined): number | undefined;
116
134
  export declare function runPropGeneration(options: {
117
135
  assetId: string;
118
136
  prompt: string;
@@ -121,6 +139,8 @@ export declare function runPropGeneration(options: {
121
139
  glbUrl?: string;
122
140
  /** `--direct-voxels`: ask for voxels rather than a mesh. Dev only. */
123
141
  directVoxels?: boolean;
142
+ /** `--voxel-grid`: the grid the master is forged at. Only with `--direct-voxels`. */
143
+ voxelGrid?: number;
124
144
  json: boolean;
125
145
  deps?: GenerateRunDeps;
126
146
  }): Promise<PropVoxelizeResult>;
@@ -166,6 +186,8 @@ export declare function runModelGeneration(options: {
166
186
  glbUrl?: string;
167
187
  /** `--direct-voxels`: ask for voxels rather than a mesh. Dev only. */
168
188
  directVoxels?: boolean;
189
+ /** `--voxel-grid`: the grid the master is forged at. Only with `--direct-voxels`. */
190
+ voxelGrid?: number;
169
191
  json: boolean;
170
192
  deps?: GenerateRunDeps;
171
193
  }): Promise<GenerateModelResult>;
@@ -16,7 +16,8 @@ import { resolveEnvironmentForCommand, resolveAuth0ClientId } from '../config/en
16
16
  import { getAccessToken } from '../auth/session.js';
17
17
  import { requestGeneration } from '../generate/stream.js';
18
18
  import { applyPatchesToWorld } from '../generate/apply-patches.js';
19
- import { generateAndInstallProp } from '../generate/prop.js';
19
+ import { propVoxelGrids } from '@bitmagic/asset-core';
20
+ import { DEFAULT_MASTER_GRID, generateAndInstallProp } from '../generate/prop.js';
20
21
  import { generateAndInstallVehicle } from '../generate/vehicle.js';
21
22
  import { generateAndInstallModel } from '../generate/model.js';
22
23
  import { DEFAULT_MAX_VOXEL_SIZE, DEFAULT_MIN_VOXEL_SIZE, SOLID_FILL_MAX_HEIGHT_M } from './assets.js';
@@ -364,12 +365,62 @@ export function assertDirectVoxelsAllowed(environment, directVoxels) {
364
365
  throw new CliError(`--direct-voxels is only available in the dev environment (this project is on "${environment.name}"). `
365
366
  + 'Omit it to generate through the mesh path.');
366
367
  }
368
+ /**
369
+ * Refuses `--voxel-grid` without `--direct-voxels`, rather than ignoring it.
370
+ *
371
+ * The grid only reaches the `prop-voxel` generator, so on the mesh path the flag does nothing at
372
+ * all — and it is the one flag whose whole point is a decision that cannot be revisited later
373
+ * (see DEFAULT_MASTER_GRID). Silently dropping it is how a creator ends up believing they asked
374
+ * for a finer master and finding out months later, when a re-voxelize refuses.
375
+ */
376
+ export function assertVoxelGridAllowed(voxelGrid, directVoxels) {
377
+ if (voxelGrid === undefined || directVoxels)
378
+ return;
379
+ throw new CliError('--voxel-grid only applies to --direct-voxels, which this run did not ask for. The mesh path '
380
+ + 'voxelizes at --voxel-size instead. world.json is unchanged.');
381
+ }
382
+ /**
383
+ * The grid flag's value, validated against the generator's own allowlist.
384
+ *
385
+ * An allowlist rather than any positive integer because the master packer maps native coordinates
386
+ * into the target grid by integer division: a grid that does not divide the native resolution
387
+ * pushes the top coordinate past the grid, and asset-forger reports that as "axis mapping is
388
+ * wrong". Caught here so a typo costs nothing rather than a GPU minute.
389
+ */
390
+ export function parseVoxelGridFlag(raw) {
391
+ const value = parseNumberFlag('voxel-grid', raw, { integer: true, min: 0, max: 512 });
392
+ if (value === undefined)
393
+ return undefined;
394
+ if (!propVoxelGrids.includes(value)) {
395
+ throw new CliError(`--voxel-grid must be one of ${propVoxelGrids.join(', ')} (0 keeps the generator's own `
396
+ + `resolution), got ${value}. world.json is unchanged.`);
397
+ }
398
+ return value;
399
+ }
400
+ /**
401
+ * Shared between `generate prop` and `generate model`, which offer the identical choice — the two
402
+ * help strings drifting apart is exactly how a creator learns different things about one flag.
403
+ */
404
+ const VOXEL_GRID_FLAG = {
405
+ type: 'string',
406
+ description: 'With --direct-voxels: the grid the stored voxel master is forged at (default '
407
+ + `${DEFAULT_MASTER_GRID}, one of ${propVoxelGrids.join('/')}, 0 keeps the generator's own). `
408
+ + 'A master can only ever be re-baked COARSER, so this is the ceiling on every later '
409
+ + '`bitmagic assets revoxelize` — lower it only to save storage on something you will never '
410
+ + 'want in more detail.',
411
+ };
412
+ /** The parsed flag as a spreadable field, so `undefined` never reaches an exactOptionalProperty. */
413
+ function voxelGridField(raw) {
414
+ const voxelGrid = parseVoxelGridFlag(raw);
415
+ return voxelGrid === undefined ? {} : { voxelGrid };
416
+ }
367
417
  export async function runPropGeneration(options) {
368
418
  const output = createOutput(options.json);
369
419
  const runDeps = options.deps ?? defaultDeps(options.json);
370
420
  const context = loadProjectContext(runDeps.startDir);
371
421
  const environment = resolveEnvironmentForCommand({ cwd: context.root, baseDir: runDeps.baseDir });
372
422
  assertDirectVoxelsAllowed(environment, options.directVoxels === true);
423
+ assertVoxelGridAllowed(options.voxelGrid, options.directVoxels === true);
373
424
  const token = await getAccessToken(environment, resolveAuth0ClientId(environment), { fetch: runDeps.fetch, sleep: runDeps.sleep, now: runDeps.now }, runDeps.baseDir);
374
425
  const result = await withJobRecord({
375
426
  root: context.root,
@@ -390,6 +441,7 @@ export async function runPropGeneration(options) {
390
441
  prompt: options.prompt,
391
442
  ...(options.glbUrl ? { glbUrl: options.glbUrl } : {}),
392
443
  ...(options.directVoxels === true ? { directVoxels: true } : {}),
444
+ ...(options.voxelGrid !== undefined ? { voxelGrid: options.voxelGrid } : {}),
393
445
  fetchImpl: runDeps.fetch,
394
446
  log,
395
447
  });
@@ -485,6 +537,7 @@ export async function runModelGeneration(options) {
485
537
  const context = loadProjectContext(runDeps.startDir);
486
538
  const environment = resolveEnvironmentForCommand({ cwd: context.root, baseDir: runDeps.baseDir });
487
539
  assertDirectVoxelsAllowed(environment, options.directVoxels === true);
540
+ assertVoxelGridAllowed(options.voxelGrid, options.directVoxels === true);
488
541
  const token = await getAccessToken(environment, resolveAuth0ClientId(environment), { fetch: runDeps.fetch, sleep: runDeps.sleep, now: runDeps.now }, runDeps.baseDir);
489
542
  const result = await withJobRecord({
490
543
  root: context.root,
@@ -504,6 +557,7 @@ export async function runModelGeneration(options) {
504
557
  ...(options.assetId !== undefined ? { assetId: options.assetId } : {}),
505
558
  ...(options.glbUrl !== undefined ? { glbUrl: options.glbUrl } : {}),
506
559
  ...(options.directVoxels === true ? { directVoxels: true } : {}),
560
+ ...(options.voxelGrid !== undefined ? { voxelGrid: options.voxelGrid } : {}),
507
561
  voxel: {
508
562
  minVoxelSize: options.minVoxelSize,
509
563
  maxVoxelSize: options.maxVoxelSize,
@@ -829,6 +883,7 @@ const propCommand = defineCommand({
829
883
  description: 'Dev only. Generate voxels directly instead of a mesh the bake then discards — '
830
884
  + 'smaller and faster, but newer. Falls back to the mesh path if it is unavailable.',
831
885
  },
886
+ 'voxel-grid': VOXEL_GRID_FLAG,
832
887
  'original-prompt': ORIGINAL_PROMPT_FLAG,
833
888
  json: JSON_FLAG,
834
889
  },
@@ -838,6 +893,7 @@ const propCommand = defineCommand({
838
893
  prompt: args.prompt,
839
894
  ...(args['glb-url'] ? { glbUrl: args['glb-url'] } : {}),
840
895
  ...(args['direct-voxels'] === true ? { directVoxels: true } : {}),
896
+ ...(voxelGridField(args['voxel-grid'])),
841
897
  json: args.json === true,
842
898
  });
843
899
  },
@@ -931,6 +987,7 @@ const modelCommand = defineCommand({
931
987
  description: 'Dev only. Generate voxels directly instead of a mesh the bake then discards — '
932
988
  + 'smaller and faster, but newer. Falls back to the mesh path if it is unavailable.',
933
989
  },
990
+ 'voxel-grid': VOXEL_GRID_FLAG,
934
991
  'original-prompt': ORIGINAL_PROMPT_FLAG,
935
992
  json: JSON_FLAG,
936
993
  },
@@ -959,6 +1016,7 @@ const modelCommand = defineCommand({
959
1016
  || (args.hollow !== true && (targetHeight === undefined || targetHeight <= SOLID_FILL_MAX_HEIGHT_M)),
960
1017
  ...(args['glb-url'] !== undefined ? { glbUrl: args['glb-url'] } : {}),
961
1018
  ...(args['direct-voxels'] === true ? { directVoxels: true } : {}),
1019
+ ...(voxelGridField(args['voxel-grid'])),
962
1020
  json: args.json === true,
963
1021
  });
964
1022
  },