@bitmagic/cli 0.1.65-dev.24 → 0.1.65-dev.3

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 (71) hide show
  1. package/README.md +14 -137
  2. package/dist/assets/materials.d.ts +0 -9
  3. package/dist/assets/materials.js +2 -10
  4. package/dist/assets/materials.js.map +1 -1
  5. package/dist/cli.d.ts +0 -9
  6. package/dist/cli.js +0 -2
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/forge.d.ts +0 -15
  9. package/dist/commands/forge.js +38 -143
  10. package/dist/commands/forge.js.map +1 -1
  11. package/dist/commands/generate.d.ts +13 -31
  12. package/dist/commands/generate.js +56 -48
  13. package/dist/commands/generate.js.map +1 -1
  14. package/dist/commands/trailer.js +1 -1
  15. package/dist/commands/trailer.js.map +1 -1
  16. package/dist/editor/animation-preview-page.js +1 -88
  17. package/dist/editor/animation-preview-page.js.map +1 -1
  18. package/dist/editor/asset-detail-panel.d.ts +2 -2
  19. package/dist/editor/asset-detail-panel.js +0 -21
  20. package/dist/editor/asset-detail-panel.js.map +1 -1
  21. package/dist/editor/asset-viewer.js +8 -31
  22. package/dist/editor/asset-viewer.js.map +1 -1
  23. package/dist/editor/shell-page.js +1 -63
  24. package/dist/editor/shell-page.js.map +1 -1
  25. package/dist/forge/run-pipeline.js +1 -5
  26. package/dist/forge/run-pipeline.js.map +1 -1
  27. package/dist/forge/stream.d.ts +1 -5
  28. package/dist/forge/stream.js +0 -4
  29. package/dist/forge/stream.js.map +1 -1
  30. package/dist/mobile/asset-hosts.d.ts +9 -7
  31. package/dist/mobile/asset-hosts.js +16 -7
  32. package/dist/mobile/asset-hosts.js.map +1 -1
  33. package/dist/scaffold/blender-level-skill-files.js +2 -3
  34. package/dist/scaffold/blender-level-skill-files.js.map +1 -1
  35. package/dist/scaffold/claude-settings.js +0 -4
  36. package/dist/scaffold/claude-settings.js.map +1 -1
  37. package/dist/scaffold/project-files.js +12 -18
  38. package/dist/scaffold/project-files.js.map +1 -1
  39. package/dist/scaffold/project.js +1 -4
  40. package/dist/scaffold/project.js.map +1 -1
  41. package/dist/scaffold/skill-files.d.ts +5 -32
  42. package/dist/scaffold/skill-files.js +63 -102
  43. package/dist/scaffold/skill-files.js.map +1 -1
  44. package/dist/telemetry/creator-prompt.d.ts +2 -18
  45. package/dist/telemetry/creator-prompt.js +3 -24
  46. package/dist/telemetry/creator-prompt.js.map +1 -1
  47. package/dist/telemetry/report.js +16 -31
  48. package/dist/telemetry/report.js.map +1 -1
  49. package/package.json +4 -4
  50. package/assets/skills/trailer-craft.md +0 -180
  51. package/dist/commands/character.d.ts +0 -18
  52. package/dist/commands/character.js +0 -268
  53. package/dist/commands/character.js.map +0 -1
  54. package/dist/forge/edit-target.d.ts +0 -30
  55. package/dist/forge/edit-target.js +0 -88
  56. package/dist/forge/edit-target.js.map +0 -1
  57. package/dist/forge/prune-store.d.ts +0 -46
  58. package/dist/forge/prune-store.js +0 -86
  59. package/dist/forge/prune-store.js.map +0 -1
  60. package/dist/forge/remote-store.d.ts +0 -36
  61. package/dist/forge/remote-store.js +0 -113
  62. package/dist/forge/remote-store.js.map +0 -1
  63. package/dist/generate/character-body.d.ts +0 -79
  64. package/dist/generate/character-body.js +0 -100
  65. package/dist/generate/character-body.js.map +0 -1
  66. package/dist/project/character-search.d.ts +0 -30
  67. package/dist/project/character-search.js +0 -82
  68. package/dist/project/character-search.js.map +0 -1
  69. package/dist/scaffold/asset-pipeline-skill-files.d.ts +0 -42
  70. package/dist/scaffold/asset-pipeline-skill-files.js +0 -207
  71. package/dist/scaffold/asset-pipeline-skill-files.js.map +0 -1
@@ -19,8 +19,7 @@
19
19
  * nothing, and is my project still intact?" is the first question.
20
20
  */
21
21
  import { defineCommand } from 'citty';
22
- import { buildAssetCatalog, createForgedWorkStore, describeEditSeed, EDIT_FORGE_STEPS, seedEditStore, SIDEON_FORGE_STEPS, } from '@bitmagic/world-forger/pipeline/index.js';
23
- import { bakeEverythingPlan, buildEditJobInput, resolveEditTarget } from '../forge/edit-target.js';
22
+ import { buildAssetCatalog, createForgedWorkStore, SIDEON_FORGE_STEPS, } from '@bitmagic/world-forger/pipeline/index.js';
24
23
  import { CliError } from '../errors.js';
25
24
  import { createOutput } from '../output.js';
26
25
  import { creatorPromptField, ORIGINAL_PROMPT_FLAG } from '../telemetry/creator-prompt.js';
@@ -44,8 +43,6 @@ import { assertNotOpenWater, describeSideonRegistryLoss, readCharacterRunSpeed,
44
43
  import { reserveLanePort } from '../local-port.js';
45
44
  import { createForgeProgressTracker } from '../forge/progress.js';
46
45
  import { createLocalForgeStorage } from '../forge/local-store.js';
47
- import { createMirroredForgeStorage } from '../forge/remote-store.js';
48
- import { pruneForgeStore } from '../forge/prune-store.js';
49
46
  import { describeForgeFailure, requestForge } from '../forge/stream.js';
50
47
  import { buildCliForgeDeps, createConsoleForgeLogger, readFrozenInput, runForgePipeline, seedForgeStore, } from '../forge/run-pipeline.js';
51
48
  /** Mirrors api-server's `FORGE_JOB_ID_PATTERN` so a typo is rejected here, before a round trip. */
@@ -77,27 +74,6 @@ export function deriveLevelName(explicit, prompt) {
77
74
  const derived = prompt.trim().split(/\s+/).slice(0, 6).join(' ').slice(0, 48).trim();
78
75
  return derived.length > 0 ? derived : 'level';
79
76
  }
80
- /**
81
- * `--edit` changes a level as it was designed, so it takes none of a fresh forge's steering: no
82
- * prompt, no scene type, no reference image, no revision rounds, no start-level switch, and no
83
- * resume (a resumed edit replays its frozen request, which `--edit` would contradict). Refused
84
- * before any request, where it is still free.
85
- */
86
- export function assertEditFlags(args) {
87
- const conflicts = [
88
- ['prompt', typeof args.prompt === 'string' && args.prompt !== ''],
89
- ['resume', typeof args.resume === 'string' && args.resume !== ''],
90
- ['reference-image', typeof args['reference-image'] === 'string' && args['reference-image'] !== ''],
91
- ['reference-image-url', typeof args['reference-image-url'] === 'string' && args['reference-image-url'] !== ''],
92
- ['match-rounds', args['match-rounds'] !== undefined],
93
- ['make-start', args['make-start'] === true],
94
- ...MODE_FLAGS.map((mode) => [mode, args[mode] === true]),
95
- ].filter(([, set]) => set).map(([flag]) => `--${flag}`);
96
- if (conflicts.length > 0) {
97
- throw new CliError(`--edit changes a forged level as it was designed and cannot be combined with ${conflicts.join(', ')}. `
98
- + 'Describe the change alone: `bitmagic forge --edit "make the doors sliding bulkheads" --level <id or name>`.');
99
- }
100
- }
101
77
  /** The single selected mode, or undefined for plain terrain. */
102
78
  export function selectMode(args) {
103
79
  const chosen = MODE_FLAGS.filter((mode) => args[mode] === true);
@@ -248,9 +224,7 @@ async function classifyForgedArchetypes(input) {
248
224
  for (const assetId of assetIds.slice(0, MAX_ARCHETYPES_TO_CLASSIFY)) {
249
225
  if (!voxelIds.has(assetId))
250
226
  continue;
251
- // A forged archetype baked with the level's material map already carries its
252
- // classes; the model is only asked about the ones the bake could not class.
253
- await classifyAssetMaterialsQuietly({ context, environment, token, assetId, log, session, skipIfClassed: true });
227
+ await classifyAssetMaterialsQuietly({ context, environment, token, assetId, log, session });
254
228
  }
255
229
  }
256
230
  const defaultDeps = (json) => commandRunDeps(json);
@@ -317,7 +291,7 @@ async function runBrowserSteps(options) {
317
291
  });
318
292
  await host.launch();
319
293
  await host.loadGame();
320
- const { storage } = options;
294
+ const storage = createLocalForgeStorage(context.root);
321
295
  const store = createForgedWorkStore(jobId, storage);
322
296
  const forgeDeps = buildCliForgeDeps({
323
297
  projectRoot: context.root,
@@ -383,14 +357,11 @@ export async function runForge(args, deps) {
383
357
  const runDeps = deps ?? defaultDeps(args.json === true);
384
358
  const prepared = await prepareForgeRequest(args, runDeps);
385
359
  const { context, environment, storage, input, resumeJobId, token, reference, lane } = prepared;
386
- // An edit of a forged level (fresh, or a resumed edit): the frozen request names its parent.
387
- const editing = input.parentJobId !== undefined;
388
360
  // One advisory line about the reference image, fresh runs only (a resume replays the frozen
389
- // request, picture and all; an edit never sees the picture — it changes a stored design):
390
- // either the project default took effect, or — when there is no reference at all — a pointer
391
- // to the command that would give the designer one. Neither is a prompt; the forge proceeds
392
- // regardless.
393
- if (resumeJobId === null && !editing) {
361
+ // request, picture and all): either the project default took effect, or — when there is no
362
+ // reference at all — a pointer to the command that would give the designer one. Neither is a
363
+ // prompt; the forge proceeds regardless.
364
+ if (resumeJobId === null) {
394
365
  const referenceLine = describeAppliedReference(reference);
395
366
  if (referenceLine)
396
367
  runDeps.log(referenceLine);
@@ -425,14 +396,11 @@ export async function runForge(args, deps) {
425
396
  onLayout: report.layout,
426
397
  // A side-on run is four steps (no level bake) — with the default list the
427
398
  // banners would read [n/5] and "Baking level" would sit pending forever.
428
- // An edit keeps the five, with the design step named for what it does.
429
- ...(editing ? { steps: EDIT_FORGE_STEPS } : lane === 'sideon' ? { steps: SIDEON_FORGE_STEPS } : {}),
399
+ ...(lane === 'sideon' ? { steps: SIDEON_FORGE_STEPS } : {}),
430
400
  });
431
401
  log(resumeJobId !== null
432
- ? `Resuming ${editing ? 'edit' : 'forge'} job ${resumeJobId} for game ${context.metadata.gameId}.`
433
- : editing
434
- ? `Editing level "${input.name}" of game ${context.metadata.gameId}: "${input.editPrompt ?? input.prompt}"`
435
- : `Forging a ${lane === 'sideon' ? 'SIDE-ON 2D level' : 'level'} for game ${context.metadata.gameId}: "${input.prompt}"`);
402
+ ? `Resuming forge job ${resumeJobId} for game ${context.metadata.gameId}.`
403
+ : `Forging a ${lane === 'sideon' ? 'SIDE-ON 2D level' : 'level'} for game ${context.metadata.gameId}: "${input.prompt}"`);
436
404
  // Said BEFORE the billed request, never only in the post-forge notes: a
437
405
  // side-on forge discards a multi-level registry and the objects in it.
438
406
  if (lane === 'sideon' && resumeJobId === null) {
@@ -450,24 +418,16 @@ export async function runForge(args, deps) {
450
418
  else
451
419
  log(` ${message}`);
452
420
  },
453
- }, editing
421
+ }, lane === 'sideon'
454
422
  ? {
455
- // The edit's own route, for the same loud-404 reason as the side-on lane: an older
456
- // api-server would otherwise design a whole new level from an edit request and bill it.
457
- path: '/api/cli/v1/forge-edit/stream',
458
- notFoundMessage: 'This api-server cannot edit forged levels yet (the route is missing). '
459
- + 'Nothing was sent or billed — update later, or re-forge the level with the change in its prompt.',
423
+ // The sibling route, so an api-server deployed before the side-on lane
424
+ // 404s LOUDLY here — before any model call and before any charge —
425
+ // instead of silently running a wrong 3D forge.
426
+ path: '/api/cli/v1/forge-sideon/stream',
427
+ notFoundMessage: 'This api-server does not support 2D side-view forging yet (the route is missing). '
428
+ + 'Nothing was sent or billed — update later, or build the level from the web creator once it ships there.',
460
429
  }
461
- : lane === 'sideon'
462
- ? {
463
- // The sibling route, so an api-server deployed before the side-on lane
464
- // 404s LOUDLY here — before any model call and before any charge —
465
- // instead of silently running a wrong 3D forge.
466
- path: '/api/cli/v1/forge-sideon/stream',
467
- notFoundMessage: 'This api-server does not support 2D side-view forging yet (the route is missing). '
468
- + 'Nothing was sent or billed — update later, or build the level from the web creator once it ships there.',
469
- }
470
- : undefined);
430
+ : undefined);
471
431
  if (!outcome.success) {
472
432
  throw new CliError(describeForgeFailure(outcome));
473
433
  }
@@ -477,39 +437,14 @@ export async function runForge(args, deps) {
477
437
  log(`Design and geometry are saved server-side as job ${jobId}.`);
478
438
  // From here on the design and the geometry are PAID FOR and saved server-side. Every failure
479
439
  // below must therefore point at the resume rather than at re-running from scratch.
480
- if (editing) {
481
- // The parent's bakes live in THIS project's store, if it forged the level here. The
482
- // server's plan is an upper bound; the seed says what this machine could actually reuse.
483
- const parentJobId = outcome.parentJobId ?? input.parentJobId;
484
- const world = readWorldJson(projectWorldJsonPath(context.root));
485
- const seed = await seedEditStore({
486
- store: createForgedWorkStore(jobId, storage),
487
- parentStore: createForgedWorkStore(parentJobId, storage),
488
- artifact,
489
- input,
490
- reuse: outcome.reuse ?? bakeEverythingPlan(artifact, 'the server returned no reuse plan'),
491
- worldAssets: Array.isArray(world.assets) ? world.assets.filter(isJsonObject) : [],
492
- });
493
- log(describeEditSeed(seed));
494
- if (platformerMovement)
495
- await createForgedWorkStore(jobId, storage).put('platformer-movement', platformerMovement);
496
- }
497
- else {
498
- await seedForgeStore(createForgedWorkStore(jobId, storage), artifact, input, platformerMovement);
499
- }
440
+ await seedForgeStore(createForgedWorkStore(jobId, storage), artifact, input, platformerMovement);
500
441
  try {
501
- await runBrowserSteps({ context, environment, jobId, token, deps: { ...runDeps, log }, tracker, lane, storage });
442
+ await runBrowserSteps({ context, environment, jobId, token, deps: { ...runDeps, log }, tracker, lane });
502
443
  }
503
444
  catch (error) {
504
445
  throw decorateBrowserStepError(error, jobId);
505
446
  }
506
- // The level is in world.json: the finished jobs it no longer names (an
507
- // edited level keeps only its newest) have nothing left to give.
508
- pruneForgeStore({ projectRoot: context.root, world: readWorldJson(projectWorldJsonPath(context.root)), keep: [jobId], log });
509
- output.result({
510
- ok: true, jobId, gameId: context.metadata.gameId, name: input.name,
511
- ...(editing ? { edited: true, levelAssetId: input.assetId, parentJobId: outcome.parentJobId ?? input.parentJobId } : {}),
512
- });
447
+ output.result({ ok: true, jobId, gameId: context.metadata.gameId, name: input.name });
513
448
  });
514
449
  }
515
450
  async function prepareForgeRequest(args, deps) {
@@ -520,33 +455,7 @@ async function prepareForgeRequest(args, deps) {
520
455
  throw new CliError('--resume takes a job id of 1-64 characters (letters, digits, "_" or "-") — the one printed '
521
456
  + 'by the run you are resuming.');
522
457
  }
523
- const environment = resolveEnvironmentForCommand({ cwd: context.root, baseDir: deps.baseDir });
524
- // Resolved on first use and shared by the store and the request: the store
525
- // behind every read below is MIRRORED to api-server (remote-store.ts), so a
526
- // job started on another machine can be resumed or edited here — its frozen
527
- // request and bakes are fetched when the local copy lacks them — and only
528
- // such a fetch, or the request itself, needs the credential.
529
- let tokenPromise;
530
- const accessToken = () => {
531
- tokenPromise ??= getAccessToken(environment, resolveAuth0ClientId(environment), { fetch: deps.fetch, sleep: deps.sleep, now: deps.now }, deps.baseDir);
532
- return tokenPromise;
533
- };
534
- const storage = createMirroredForgeStorage(createLocalForgeStorage(context.root), {
535
- environment, accessToken, fetch: deps.fetch, warn: (message) => deps.log(`warning: ${message}`),
536
- });
537
- // A resume replays the frozen request — including its reference image — so a file passed
538
- // alongside `--resume` would be uploaded and then silently ignored. Refused instead: the
539
- // caller clearly wanted the picture to matter, and it cannot here.
540
- if (resumeJobId !== null && typeof args['reference-image'] === 'string' && args['reference-image'] !== '') {
541
- throw new CliError('A resumed forge replays the original request, reference image and all — --reference-image '
542
- + 'cannot change it. Drop --resume to start a fresh forge with this picture.');
543
- }
544
- // Same rule for the rounds: they are frozen with the job, and a resume that skips the design
545
- // step never runs them anyway.
546
- if (resumeJobId !== null && args['match-rounds'] !== undefined) {
547
- throw new CliError('A resumed forge replays the original request — --match-rounds cannot change it. '
548
- + 'Drop --resume to start a fresh forge.');
549
- }
458
+ const storage = createLocalForgeStorage(context.root);
550
459
  const frozen = resumeJobId !== null ? await readFrozenInput(storage, resumeJobId) : null;
551
460
  // Route by the project's dimension HERE, before any token/server work:
552
461
  // steps 1-2 bill. 3D projects keep today's pipeline; side-view 2D projects
@@ -559,32 +468,24 @@ async function prepareForgeRequest(args, deps) {
559
468
  // Refused here, where it is still free.
560
469
  if (lane === 'sideon')
561
470
  assertNotOpenWater(context.root);
562
- // `--edit`: change a forged level instead of designing one. The request is
563
- // frozen from the level's own record (its name, its asset, the job that built
564
- // it) and the change; everything a fresh forge steers by is refused.
565
- const editPrompt = typeof args.edit === 'string' && args.edit.trim().length > 0 ? args.edit.trim() : null;
566
- if (editPrompt !== null) {
567
- assertEditFlags(args);
568
- if (lane === 'sideon') {
569
- throw new CliError('--edit changes a forged 3D level; a 2D side-view level cannot be edited yet — re-forge it with the change in its prompt.');
570
- }
571
- const target = resolveEditTarget(readWorldJson(projectWorldJsonPath(context.root)), typeof args.level === 'string' ? args.level : undefined);
572
- const input = buildEditJobInput({
573
- target, editPrompt, gameId: context.metadata.gameId, groundPlane: readGroundPlane(context.root),
574
- });
575
- return {
576
- context, environment, storage, input, resumeJobId: null, token: await accessToken(), lane,
577
- reference: resolveReferenceImageUrl(args, context.root),
578
- };
579
- }
580
- if (typeof args.level === 'string' && args.level !== '') {
581
- throw new CliError('--level says which level --edit changes; pass --edit "<the change>" with it.');
582
- }
583
471
  const mode = selectMode(args);
584
472
  if (lane === 'sideon' && mode !== undefined) {
585
473
  throw new CliError(`--${mode} does not apply to a 2D side-view project — the side-on forge derives the layout `
586
474
  + 'from the prompt (and GAME-DESIGN.md). Drop the flag and describe the level instead.');
587
475
  }
476
+ // A resume replays the frozen request — including its reference image — so a file passed
477
+ // alongside `--resume` would be uploaded and then silently ignored. Refused instead: the
478
+ // caller clearly wanted the picture to matter, and it cannot here.
479
+ if (resumeJobId !== null && typeof args['reference-image'] === 'string' && args['reference-image'] !== '') {
480
+ throw new CliError('A resumed forge replays the original request, reference image and all — --reference-image '
481
+ + 'cannot change it. Drop --resume to start a fresh forge with this picture.');
482
+ }
483
+ // Same rule for the rounds: they are frozen with the job, and a resume that skips the design
484
+ // step never runs them anyway.
485
+ if (resumeJobId !== null && args['match-rounds'] !== undefined) {
486
+ throw new CliError('A resumed forge replays the original request — --match-rounds cannot change it. '
487
+ + 'Drop --resume to start a fresh forge.');
488
+ }
588
489
  const referenceMatchRounds = parseNumberFlag('match-rounds', typeof args['match-rounds'] === 'string' ? args['match-rounds'] : undefined, { min: 0, max: 3, integer: true });
589
490
  const reference = resumeJobId !== null
590
491
  ? resolveReferenceImageUrl(args, context.root)
@@ -622,7 +523,9 @@ async function prepareForgeRequest(args, deps) {
622
523
  ...(blockSize !== undefined ? { voxelBlockSize: blockSize } : {}),
623
524
  lane,
624
525
  };
625
- const token = await accessToken();
526
+ const environment = resolveEnvironmentForCommand({ cwd: context.root, baseDir: deps.baseDir });
527
+ const clientId = resolveAuth0ClientId(environment);
528
+ const token = await getAccessToken(environment, clientId, { fetch: deps.fetch, sleep: deps.sleep, now: deps.now }, deps.baseDir);
626
529
  return { context, environment, storage, input, resumeJobId, token, reference, lane };
627
530
  }
628
531
  catch (error) {
@@ -705,14 +608,6 @@ export const forgeCommand = defineCommand({
705
608
  type: 'boolean',
706
609
  description: 'Boot the game into this level. Without it, only a game\'s FIRST forge becomes the start level, so a later forge lands in the level list unseen.',
707
610
  },
708
- edit: {
709
- type: 'string',
710
- description: 'Change a detail of a level this project forged ("make the doors sliding bulkheads", "warm amber lanterns instead of the lamps") without re-forging it: the stored design is patched and only what the change touches is re-made. Replaces the level in place. Takes --level; no other forge flag.',
711
- },
712
- level: {
713
- type: 'string',
714
- description: 'With --edit: the level to change, by id or name (`bitmagic levels list`). Omit when the project has one forged level.',
715
- },
716
611
  json: {
717
612
  type: 'boolean',
718
613
  description: 'Print the result as JSON on stdout; all progress goes to stderr.',
@@ -1 +1 @@
1
- {"version":3,"file":"forge.js","sourceRoot":"","sources":["../../src/commands/forge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forge.js","sourceRoot":"","sources":["../../src/commands/forge.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import { type CommandRunDeps } from './run-deps.js';
2
- import { type ProjectContext } from '../project/context.js';
3
2
  import { type GenerationOutcome } from '../generate/stream.js';
4
3
  import { type PropVoxelizeResult } from '../generate/prop.js';
5
4
  import { type VehicleInstallResult } from '../generate/vehicle.js';
6
5
  import { type GenerateModelResult } from '../generate/model.js';
7
6
  import { type AnimationFromVideoRun } from '../generate/animation-from-video.js';
8
7
  import { type VideoRun } from '../generate/video.js';
9
- import type { Environment } from '../config/environments.js';
10
8
  import type { VoxelizeGlb } from '../assets/voxelize-glb.js';
11
9
  import type { KeepGlb } from '../assets/keep-glb.js';
12
10
  export interface SkyboxArgs {
@@ -57,7 +55,19 @@ export interface ImageArgs {
57
55
  referenceImageUrl?: string;
58
56
  }
59
57
  export declare function buildImageBody(args: ImageArgs): Record<string, unknown>;
60
- export { buildCharacterBody, type CharacterArgs } from '../generate/character-body.js';
58
+ export interface CharacterArgs {
59
+ name: string;
60
+ prompt: string;
61
+ applyToPlayer?: boolean;
62
+ headScale?: string;
63
+ /** citty's negative boolean: `--no-library` arrives as `false`; the flag has no positive form. */
64
+ library?: boolean;
65
+ /** Absent = the generator's default (true); the command fills it from the project's art style. */
66
+ voxelize?: boolean;
67
+ /** Asset Forger image-to-mesh model; absent = the Forger default. */
68
+ meshModel?: string;
69
+ }
70
+ export declare function buildCharacterBody(args: CharacterArgs): Record<string, unknown>;
61
71
  export interface AnimationArgs {
62
72
  /** Asset-record name. Defaults to the spec's own `name` when omitted. */
63
73
  description?: string;
@@ -141,21 +151,6 @@ export interface GenerateRunDeps extends CommandRunDeps {
141
151
  /** Injected in tests so the kept-mesh lane (`--keep-glb` / low-poly projects) runs without a network. */
142
152
  keepGlbUpload?: KeepGlb;
143
153
  }
144
- /**
145
- * What the three browser-baking runners below (prop, vehicle, model) each need before they can
146
- * start, resolved identically by all of them: where the project is, which api-server it belongs
147
- * to, and a token to talk to it with.
148
- *
149
- * `output` and `runDeps` come back too because both depend on `--json` — see commandRunDeps for
150
- * why a deps object built before that flag is known routes prose onto stdout.
151
- */
152
- export declare function resolveRun(json: boolean, deps?: GenerateRunDeps): Promise<{
153
- output: import("../output.js").Output;
154
- runDeps: GenerateRunDeps;
155
- context: ProjectContext;
156
- environment: Environment;
157
- token: string;
158
- }>;
159
154
  /**
160
155
  * Runs one `bitmagic generate <subcommand>`: requests the asset, then applies the returned
161
156
  * patches to world.json. Returns the successful outcome, whose `patches` carry the generated
@@ -323,19 +318,6 @@ export declare function runModelGeneration(options: {
323
318
  json: boolean;
324
319
  deps?: GenerateRunDeps;
325
320
  }): Promise<GenerateModelResult>;
326
- /**
327
- * The two flags several subcommands share, declared once — the same shape `assets.ts` and
328
- * `levels.ts` already use for their own `JSON_FLAG`.
329
- *
330
- * `--help` is an agent's discovery mechanism, so the wording is part of the interface: restated
331
- * once per subcommand it drifts, and two subcommands describing the same flag differently read as
332
- * two different flags. `as const` preserves the literal `type`, which is what citty infers
333
- * `args.json`'s boolean and `args['reference-image-url']`'s string from.
334
- */
335
- export declare const JSON_FLAG: {
336
- readonly type: "boolean";
337
- readonly description: "Print the result as JSON on stdout; all progress goes to stderr.";
338
- };
339
321
  /**
340
322
  * The `--video` lane of `bitmagic generate animation`. Job-shaped rather than streamed (see
341
323
  * generate/animation-from-video.ts), so it cannot share `runAssetGeneration`; it does share the
@@ -10,7 +10,7 @@ import { parseNumberFlag } from './number-flag.js';
10
10
  import { createOutput } from '../output.js';
11
11
  import { commandRunDeps, decoratedError } from './run-deps.js';
12
12
  import { findProjectRootOrNull, loadProjectContext } from '../project/context.js';
13
- import { resolveArtStyle } from '../project/art-style.js';
13
+ import { readArtStyleDeclaration, resolveArtStyle } from '../project/art-style.js';
14
14
  import { withJobRecord } from '../project/jobs.js';
15
15
  import { describeAppliedReference, NO_REFERENCE_FLAG, REFERENCE_FILE_FLAG, REFERENCE_IMAGE_FLAG, } from '../project/reference.js';
16
16
  import { resolveReferenceForCall } from '../project/reference-file.js';
@@ -35,7 +35,6 @@ import { LOCOMOTION_STATES, VIDEO_TO_MOTION_MODELS, MOTION_SOURCE_DEFAULT_SECOND
35
35
  import { classifyAssetMaterialsQuietly } from '../assets/materials.js';
36
36
  import { DEFAULT_MAX_VOXEL_SIZE, DEFAULT_MIN_VOXEL_SIZE, SOLID_FILL_MAX_HEIGHT_M } from './assets.js';
37
37
  import { creatorPromptField, ORIGINAL_PROMPT_FLAG, withParent } from '../telemetry/creator-prompt.js';
38
- import { APPLY_TO_PLAYER_ARG, buildCharacterBody, defaultVoxelizeForProject, FRESH_ARG, HEAD_SCALE_ARG, LIBRARY_ARG, MESH_MODEL_ARG, NAME_ARG, PROMPT_ARG, VOXELIZE_ARG, } from '../generate/character-body.js';
39
38
  // ============================================================================
40
39
  // Body builders
41
40
  //
@@ -107,11 +106,29 @@ export function buildImageBody(args) {
107
106
  referenceImageUrl: args.referenceImageUrl,
108
107
  });
109
108
  }
110
- // The character request lives in `generate/character-body.ts`: two commands
111
- // present it (`bitmagic character generate` and the deprecated alias below), and
112
- // a third module is what keeps them from drifting without an import cycle.
113
- // Re-exported because callers and tests have always imported it from here.
114
- export { buildCharacterBody } from '../generate/character-body.js';
109
+ /**
110
+ * The character default a project's art style implies: a low-poly game keeps the textured rig.
111
+ * Read from the cwd's project like every other generate command; outside a project the answer
112
+ * is "declares nothing", so the generator's own default (voxelize) stands and `loadProjectContext`
113
+ * reports the missing project on the very next line.
114
+ */
115
+ function defaultVoxelizeForProject() {
116
+ const root = findProjectRootOrNull();
117
+ if (root === null)
118
+ return undefined;
119
+ return readArtStyleDeclaration(root).artStyle === 'low-poly' ? false : undefined;
120
+ }
121
+ export function buildCharacterBody(args) {
122
+ return withoutAbsentFlags({
123
+ name: args.name,
124
+ prompt: args.prompt,
125
+ applyToPlayer: args.applyToPlayer,
126
+ headScale: parseNumberFlag('head-scale', args.headScale, { min: 50, max: 300 }),
127
+ useLibrary: args.library,
128
+ voxelize: args.voxelize,
129
+ meshModel: args.meshModel,
130
+ });
131
+ }
115
132
  // ── animation ───────────────────────────────────────────────────────────────
116
133
  //
117
134
  // The odd one out. Every other generator takes a prompt and some scalars; an
@@ -388,7 +405,7 @@ async function resolveEnvironmentAndToken(root, deps) {
388
405
  * `output` and `runDeps` come back too because both depend on `--json` — see commandRunDeps for
389
406
  * why a deps object built before that flag is known routes prose onto stdout.
390
407
  */
391
- export async function resolveRun(json, deps) {
408
+ async function resolveRun(json, deps) {
392
409
  const runDeps = deps ?? defaultDeps(json);
393
410
  const context = loadProjectContext(runDeps.startDir);
394
411
  const { environment, token } = await resolveEnvironmentAndToken(context.root, runDeps);
@@ -957,7 +974,7 @@ export async function runModelGeneration(options) {
957
974
  * two different flags. `as const` preserves the literal `type`, which is what citty infers
958
975
  * `args.json`'s boolean and `args['reference-image-url']`'s string from.
959
976
  */
960
- export const JSON_FLAG = {
977
+ const JSON_FLAG = {
961
978
  type: 'boolean',
962
979
  description: 'Print the result as JSON on stdout; all progress goes to stderr.',
963
980
  };
@@ -1206,59 +1223,50 @@ const imageCommand = defineCommand({
1206
1223
  await runAssetGeneration('image', 'image asset', withParent(body), args.json === true);
1207
1224
  },
1208
1225
  });
1209
- /**
1210
- * The deprecated spelling of `bitmagic character generate`.
1211
- *
1212
- * `bitmagic character` is where characters live now, because this command served
1213
- * two different requests: forging one, and taking a ready-made one off the shelf
1214
- * (`--library-only`), which generates nothing. Splitting them is what let the
1215
- * shelf grow a `search` verb and let each command offer only the flags it can
1216
- * honour.
1217
- *
1218
- * Kept working, with every flag it ever had — `--library-only` included — because
1219
- * the AGENTS.md scaffolded into every project written before the rename teaches
1220
- * this form, and those files are not rewritten until `bitmagic upgrade`. Kept
1221
- * VISIBLE rather than `meta.hidden` for the same reason: someone reading
1222
- * `bitmagic generate --help` should be told where it went, not find it missing.
1223
- *
1224
- * Its flags come from the shared definitions in `generate/character-body.ts`, so
1225
- * an alias whose behaviour has drifted from the command it aliases is not
1226
- * expressible.
1227
- */
1228
1226
  const characterCommand = defineCommand({
1229
- meta: {
1230
- name: 'character',
1231
- description: 'Deprecated — use `bitmagic character generate`. Still works, unchanged.',
1232
- },
1227
+ meta: { name: 'character', description: 'Generate a rigged character and add it to world.json assets.' },
1233
1228
  args: {
1234
- name: NAME_ARG,
1235
- prompt: PROMPT_ARG,
1236
- 'apply-to-player': APPLY_TO_PLAYER_ARG,
1237
- 'head-scale': HEAD_SCALE_ARG,
1238
- fresh: FRESH_ARG,
1239
- library: LIBRARY_ARG,
1240
- 'library-only': {
1229
+ name: {
1230
+ type: 'string',
1231
+ required: true,
1232
+ description: 'Unique name for the character.',
1233
+ },
1234
+ prompt: {
1235
+ type: 'string',
1236
+ required: true,
1237
+ description: 'Description of the character.',
1238
+ },
1239
+ 'apply-to-player': {
1241
1240
  type: 'boolean',
1242
- description: 'Deprecated — use `bitmagic character add`. Takes the closest ready-made body and never forges.',
1241
+ description: 'Set this character as the PLAYER. Omit to use the generator default (true).',
1242
+ },
1243
+ 'head-scale': {
1244
+ type: 'string',
1245
+ description: 'Head size as a percentage of normal, 50-300. Omit to use the generator default.',
1246
+ },
1247
+ library: {
1248
+ type: 'boolean',
1249
+ negativeDescription: 'Always make a new character; do not use a ready-made one from the library.',
1250
+ },
1251
+ voxelize: {
1252
+ type: 'boolean',
1253
+ description: 'Voxelize the rigged body. Omit to follow game.json artStyle: voxel games voxelize, low-poly games keep the textured rig.',
1254
+ negativeDescription: 'Keep the textured low-poly rig instead of voxelizing it.',
1255
+ },
1256
+ 'mesh-model': {
1257
+ type: 'string',
1258
+ description: "Image-to-mesh model. Low-poly characters already default to 'runware-rodin-gen-2' (~$0.40, ~3 min); pass 'unified-trellis' to put one back on the cheap lane. Voxel characters ignore the default and use the Forger's.",
1243
1259
  },
1244
- voxelize: VOXELIZE_ARG,
1245
- 'mesh-model': MESH_MODEL_ARG,
1246
1260
  'original-prompt': ORIGINAL_PROMPT_FLAG,
1247
1261
  json: JSON_FLAG,
1248
1262
  },
1249
1263
  async run({ args }) {
1250
- // On stderr, so a `--json` run still emits exactly one document on stdout.
1251
- console.error(args['library-only'] === true
1252
- ? 'note: `bitmagic generate character --library-only` is now `bitmagic character add`.'
1253
- : 'note: `bitmagic generate character` is now `bitmagic character generate`.');
1254
1264
  const body = buildCharacterBody({
1255
1265
  name: args.name,
1256
1266
  prompt: args.prompt,
1257
1267
  applyToPlayer: args['apply-to-player'],
1258
1268
  headScale: args['head-scale'],
1259
- fresh: args.fresh,
1260
1269
  library: args.library,
1261
- libraryOnly: args['library-only'],
1262
1270
  voxelize: args.voxelize ?? defaultVoxelizeForProject(),
1263
1271
  meshModel: args['mesh-model'],
1264
1272
  });