@bitmagic/cli 0.1.59-dev.3 → 0.1.59-dev.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +99 -0
- package/dist/assets/materials.d.ts +165 -0
- package/dist/assets/materials.js +395 -0
- package/dist/assets/materials.js.map +1 -0
- package/dist/assets/vxl-summary.js +12 -5
- package/dist/assets/vxl-summary.js.map +1 -1
- package/dist/commands/assets.d.ts +25 -0
- package/dist/commands/assets.js +245 -2
- package/dist/commands/assets.js.map +1 -1
- package/dist/commands/generate.d.ts +4 -0
- package/dist/commands/generate.js +33 -2
- package/dist/commands/generate.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"materials.js","sourceRoot":"","sources":["../../src/assets/materials.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
* Only what the fixed 48-byte body header states outright is trusted unconditionally: bounds,
|
|
8
8
|
* LOD-0 voxel size and fragment count. `voxelCount` is the sum of the LOD-0 fragments' leaf counts,
|
|
9
9
|
* found by walking the fragment table (its stride is `16 + leafCount × (7 + paletteIdxBytes)` for
|
|
10
|
-
* every version through
|
|
11
|
-
*
|
|
12
|
-
* walk runs off the end and the count
|
|
10
|
+
* every version through v11 — every addition since v5 changed what is INSIDE a fragment and what
|
|
11
|
+
* FOLLOWS the table, never its size; the v10 rig's bone column is per leaf but lives in its own
|
|
12
|
+
* trailing section). Should a future version change that, the walk runs off the end and the count
|
|
13
|
+
* is simply omitted rather than reported wrong.
|
|
13
14
|
*
|
|
14
15
|
* Layout reference: game/src/engine/VxlV3Format.ts (the wire-format doc comment at its top).
|
|
15
16
|
*/
|
|
@@ -20,15 +21,21 @@ const WRAPPER_BYTES = 5;
|
|
|
20
21
|
const BODY_HEADER_BYTES = 48;
|
|
21
22
|
/**
|
|
22
23
|
* The versions the engine's own decoder accepts (`VxlV3Format.ts`: 3 no-LOD, 4 LOD trailer,
|
|
23
|
-
* 5 columnar, 6 emissive, 7 slots, 8 per-LOD material columns, 9 block types
|
|
24
|
+
* 5 columnar, 6 emissive, 7 slots, 8 per-LOD material columns, 9 block types, 10 rig,
|
|
25
|
+
* 11 material classes).
|
|
24
26
|
*
|
|
25
27
|
* Checked rather than merely recorded: this header parse only reads the fixed 48-byte prologue,
|
|
26
28
|
* which a FUTURE version could keep byte-compatible while changing what follows. Accepting such a
|
|
27
29
|
* file would write an `assets[]` entry the vendored engine then throws on at load — the exact
|
|
28
30
|
* outcome returning `null` exists to prevent.
|
|
31
|
+
*
|
|
32
|
+
* KEEP THIS IN STEP with the engine's version ladder. The cost of lagging is silent and one-sided:
|
|
33
|
+
* the engine happily loads a version this file has not heard of, so a stale ceiling refuses a
|
|
34
|
+
* perfectly good asset — `bitmagic assets add` reports the file as malformed, with nothing to
|
|
35
|
+
* suggest that the file is fine and the CLI is behind.
|
|
29
36
|
*/
|
|
30
37
|
const MIN_SUPPORTED_VERSION = 3;
|
|
31
|
-
const MAX_SUPPORTED_VERSION =
|
|
38
|
+
const MAX_SUPPORTED_VERSION = 11;
|
|
32
39
|
/** True when the first four bytes are the VXL3 magic — cheap, no copy, no decompression. */
|
|
33
40
|
export function isVxl3(bytes) {
|
|
34
41
|
if (bytes.byteLength < 4)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vxl-summary.js","sourceRoot":"","sources":["../../src/assets/vxl-summary.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"vxl-summary.js","sourceRoot":"","sources":["../../src/assets/vxl-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { type AddAssetResult } from '../assets/add.js';
|
|
|
3
3
|
import type { VoxelizeGlb } from '../assets/voxelize-glb.js';
|
|
4
4
|
import { type AssetRow } from '../assets/list.js';
|
|
5
5
|
import { type RevoxelizeResult } from '../assets/revoxelize.js';
|
|
6
|
+
import { type MaterialVerdictInput } from '../assets/materials.js';
|
|
6
7
|
/** The Creator's voxelize-dialog defaults (assetsVoxelizeDialog.ts), so a plain `add` bakes the same way. */
|
|
7
8
|
export declare const DEFAULT_MIN_VOXEL_SIZE = 0.1;
|
|
8
9
|
export declare const DEFAULT_MAX_VOXEL_SIZE = 0.5;
|
|
@@ -61,6 +62,8 @@ export interface RevoxelizeOptions {
|
|
|
61
62
|
height?: string;
|
|
62
63
|
hollow?: boolean;
|
|
63
64
|
solid?: boolean;
|
|
65
|
+
/** `--no-materials`: leave the re-baked asset matte rather than classifying it again. */
|
|
66
|
+
materials?: boolean;
|
|
64
67
|
json: boolean;
|
|
65
68
|
deps?: AssetsRunDeps;
|
|
66
69
|
}
|
|
@@ -71,4 +74,26 @@ export interface RevoxelizeOptions {
|
|
|
71
74
|
* See assets/revoxelize.ts for which source that is and why the choice is the asset's to answer.
|
|
72
75
|
*/
|
|
73
76
|
export declare function runAssetsRevoxelize(options: RevoxelizeOptions): Promise<RevoxelizeResult>;
|
|
77
|
+
export declare function runAssetsMaterials(options: {
|
|
78
|
+
assetId: string;
|
|
79
|
+
set?: string;
|
|
80
|
+
clear?: boolean;
|
|
81
|
+
/** `--auto`: let api-server's light model write the verdicts. */
|
|
82
|
+
auto?: boolean;
|
|
83
|
+
json?: boolean;
|
|
84
|
+
/** Test-only, matching the other subcommands' seam. */
|
|
85
|
+
deps?: AssetsRunDeps;
|
|
86
|
+
}): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Read and validate a `--set` file.
|
|
89
|
+
*
|
|
90
|
+
* Validated here rather than in the engine so a malformed answer costs nothing: a
|
|
91
|
+
* browser launch is seconds, and a typo in a class name should be a message, not a
|
|
92
|
+
* timeout.
|
|
93
|
+
*/
|
|
94
|
+
export declare function readAssignmentFile(filePath: string): {
|
|
95
|
+
signatureVersion: number;
|
|
96
|
+
signatureHash: string;
|
|
97
|
+
verdicts: MaterialVerdictInput[];
|
|
98
|
+
};
|
|
74
99
|
export declare const assetsCommand: import("citty").CommandDef<import("citty").ArgsDef>;
|
package/dist/commands/assets.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* code / failure category of a CliError carried across untouched.
|
|
11
11
|
*/
|
|
12
12
|
import { defineCommand } from 'citty';
|
|
13
|
+
import * as fs from 'fs';
|
|
13
14
|
import * as path from 'path';
|
|
14
15
|
import { CliError } from '../errors.js';
|
|
15
16
|
import { createOutput } from '../output.js';
|
|
@@ -25,6 +26,8 @@ import { ACCEPTED_EXTENSIONS, classifyAssetFile, uploadFilename, validateAssetNa
|
|
|
25
26
|
import { formatAssetTable, summarizeAssets } from '../assets/list.js';
|
|
26
27
|
import { planAssetRemoval } from '../assets/remove.js';
|
|
27
28
|
import { revoxelizeAsset } from '../assets/revoxelize.js';
|
|
29
|
+
import { MATERIAL_CLASSIFIER_NO_PROMPT_NOTE, MATERIAL_CLASSIFIER_RULES, VOXEL_MATERIAL_CLASS_LIST, VOXEL_MATERIAL_CLASS_NOTES, } from '@bitmagic/asset-core';
|
|
30
|
+
import { classifyAssetMaterials, classifyAssetMaterialsQuietly, readAssetMaterials, setAssetMaterials, } from '../assets/materials.js';
|
|
28
31
|
import { applyModificationsToWorld } from '../forge/apply-modifications.js';
|
|
29
32
|
import { projectWorldJsonPath } from '../forge/run-pipeline.js';
|
|
30
33
|
import { removePreview } from '../editor/previews.js';
|
|
@@ -361,7 +364,14 @@ export async function runAssetsRevoxelize(options) {
|
|
|
361
364
|
runDeps.log(`Re-baked "${result.assetName}" from its ${result.source === 'master' ? 'voxel master' : 'source mesh'}`
|
|
362
365
|
+ `${result.voxelCount !== undefined ? `, ${result.voxelCount} voxels` : ''}. `
|
|
363
366
|
+ `${result.instanceCount} placed instance${result.instanceCount === 1 ? '' : 's'} changed with it.`);
|
|
364
|
-
|
|
367
|
+
// A re-bake produces a fresh `.vxl` with no material classes — the signature hash the old
|
|
368
|
+
// verdicts were bound to is gone with the old palette — so decide again, as generation does.
|
|
369
|
+
const materials = options.materials === false
|
|
370
|
+
? null
|
|
371
|
+
: await classifyAssetMaterialsQuietly({
|
|
372
|
+
context, environment, token, assetId: options.assetId, fetchImpl: runDeps.fetch, log: runDeps.log,
|
|
373
|
+
});
|
|
374
|
+
output.result({ ok: true, kind: 'revoxelize', ...result, ...(materials === null ? {} : { materials }) });
|
|
365
375
|
runDeps.log('A running `bitmagic dev` reloads the browser by itself to show it.');
|
|
366
376
|
return result;
|
|
367
377
|
}
|
|
@@ -387,6 +397,12 @@ const revoxelizeCommand = defineCommand({
|
|
|
387
397
|
},
|
|
388
398
|
hollow: { type: 'boolean', description: 'Bake a closed shell rather than filling the interior.' },
|
|
389
399
|
solid: { type: 'boolean', description: 'Fill the interior even for building-scale objects.' },
|
|
400
|
+
materials: {
|
|
401
|
+
type: 'boolean',
|
|
402
|
+
default: true,
|
|
403
|
+
description: 'Decide again what the re-baked asset is made of (a re-bake starts matte). '
|
|
404
|
+
+ 'Pass --no-materials to leave it plain.',
|
|
405
|
+
},
|
|
390
406
|
json: JSON_FLAG,
|
|
391
407
|
},
|
|
392
408
|
async run({ args }) {
|
|
@@ -397,6 +413,231 @@ const revoxelizeCommand = defineCommand({
|
|
|
397
413
|
...(args.height !== undefined ? { height: args.height } : {}),
|
|
398
414
|
...(args.hollow === true ? { hollow: true } : {}),
|
|
399
415
|
...(args.solid === true ? { solid: true } : {}),
|
|
416
|
+
...(args.materials === false ? { materials: false } : {}),
|
|
417
|
+
json: args.json === true,
|
|
418
|
+
});
|
|
419
|
+
},
|
|
420
|
+
});
|
|
421
|
+
/**
|
|
422
|
+
* The guidance printed under the colour table.
|
|
423
|
+
*
|
|
424
|
+
* Printed rather than documented-elsewhere on purpose: the reader of this output
|
|
425
|
+
* is usually an agent, and everything it needs to answer well should be in the
|
|
426
|
+
* same place as the question. The rules are the ones that actually change the
|
|
427
|
+
* answer — that `matte` is the right verdict for most groups, that the prompt is
|
|
428
|
+
* the strongest evidence there is, and that a low confidence is better than a
|
|
429
|
+
* guess, because a wrongly-shiny surface is what a player notices.
|
|
430
|
+
*
|
|
431
|
+
* The rules themselves come from `@bitmagic/asset-core`, where the model prompt
|
|
432
|
+
* behind `--auto` reads the same list — so an agent and the model are never told
|
|
433
|
+
* different things about the same table.
|
|
434
|
+
*/
|
|
435
|
+
function materialsGuidance(assetId, promptText) {
|
|
436
|
+
const lines = [
|
|
437
|
+
'',
|
|
438
|
+
`Classes: ${VOXEL_MATERIAL_CLASS_LIST}`,
|
|
439
|
+
VOXEL_MATERIAL_CLASS_NOTES,
|
|
440
|
+
'',
|
|
441
|
+
'Decide what each colour group is made of, then write a JSON file:',
|
|
442
|
+
'',
|
|
443
|
+
' {',
|
|
444
|
+
' "signatureVersion": <version above>,',
|
|
445
|
+
' "signatureHash": "<hash above>",',
|
|
446
|
+
' "verdicts": [',
|
|
447
|
+
' { "id": "g0", "class": "metal", "confidence": 0.9 }',
|
|
448
|
+
' ]',
|
|
449
|
+
' }',
|
|
450
|
+
'',
|
|
451
|
+
` bitmagic assets materials ${assetId} --set materials.json`,
|
|
452
|
+
'',
|
|
453
|
+
`Or let a model decide: bitmagic assets materials ${assetId} --auto`,
|
|
454
|
+
'',
|
|
455
|
+
'Rules that matter:',
|
|
456
|
+
...MATERIAL_CLASSIFIER_RULES.map((rule) => ` - ${rule}`),
|
|
457
|
+
];
|
|
458
|
+
lines.push('', promptText === undefined ? MATERIAL_CLASSIFIER_NO_PROMPT_NOTE : `Prompt: ${promptText}`);
|
|
459
|
+
return lines.join('\n');
|
|
460
|
+
}
|
|
461
|
+
export async function runAssetsMaterials(options) {
|
|
462
|
+
const runDeps = options.deps ?? defaultDeps(options.json === true);
|
|
463
|
+
const output = createOutput(options.json === true);
|
|
464
|
+
const unchanged = (message) => `${message} world.json is unchanged.`;
|
|
465
|
+
const modes = [options.set !== undefined, options.clear === true, options.auto === true]
|
|
466
|
+
.filter(Boolean).length;
|
|
467
|
+
if (modes > 1) {
|
|
468
|
+
throw new CliError('Pass only one of --set, --clear or --auto. world.json is unchanged.');
|
|
469
|
+
}
|
|
470
|
+
let context;
|
|
471
|
+
try {
|
|
472
|
+
context = loadProjectContext(runDeps.startDir);
|
|
473
|
+
}
|
|
474
|
+
catch (error) {
|
|
475
|
+
throw decoratedError(error, unchanged);
|
|
476
|
+
}
|
|
477
|
+
const environment = resolveEnvironmentForCommand({ cwd: context.root, baseDir: runDeps.baseDir });
|
|
478
|
+
let token;
|
|
479
|
+
try {
|
|
480
|
+
token = await getAccessToken(environment, resolveAuth0ClientId(environment), { fetch: runDeps.fetch, sleep: runDeps.sleep, now: runDeps.now }, runDeps.baseDir);
|
|
481
|
+
}
|
|
482
|
+
catch (error) {
|
|
483
|
+
throw decoratedError(error, unchanged);
|
|
484
|
+
}
|
|
485
|
+
const base = {
|
|
486
|
+
context,
|
|
487
|
+
environment,
|
|
488
|
+
token,
|
|
489
|
+
assetId: options.assetId,
|
|
490
|
+
fetchImpl: runDeps.fetch,
|
|
491
|
+
};
|
|
492
|
+
// READ is the default, and it writes nothing at all — no upload, no world.json
|
|
493
|
+
// touch — so it is deliberately outside `withJobRecord`: there is no job to
|
|
494
|
+
// record and nothing to resume.
|
|
495
|
+
if (modes === 0) {
|
|
496
|
+
const result = await readAssetMaterials({ ...base, log: runDeps.log });
|
|
497
|
+
if (options.json === true) {
|
|
498
|
+
output.result({ ok: true, kind: 'materials-read', ...result });
|
|
499
|
+
return;
|
|
500
|
+
}
|
|
501
|
+
runDeps.log('');
|
|
502
|
+
runDeps.log(`"${result.assetName}" signature ${result.signature.hash} `
|
|
503
|
+
+ `(version ${result.signature.version})`);
|
|
504
|
+
runDeps.log('');
|
|
505
|
+
runDeps.log(result.table);
|
|
506
|
+
runDeps.log(materialsGuidance(options.assetId, result.promptText));
|
|
507
|
+
return;
|
|
508
|
+
}
|
|
509
|
+
const verdicts = options.set === undefined
|
|
510
|
+
? undefined
|
|
511
|
+
: readAssignmentFile(options.set);
|
|
512
|
+
const result = await withJobRecord({
|
|
513
|
+
root: context.root,
|
|
514
|
+
kind: 'upload',
|
|
515
|
+
label: options.assetId,
|
|
516
|
+
assetId: options.assetId,
|
|
517
|
+
log: runDeps.log,
|
|
518
|
+
}, async (log) => {
|
|
519
|
+
try {
|
|
520
|
+
if (options.auto === true)
|
|
521
|
+
return await classifyAssetMaterials({ ...base, log });
|
|
522
|
+
return options.clear === true
|
|
523
|
+
? await setAssetMaterials({ ...base, log, clear: true })
|
|
524
|
+
: await setAssetMaterials({ ...base, log, ...verdicts });
|
|
525
|
+
}
|
|
526
|
+
catch (error) {
|
|
527
|
+
throw decoratedError(error, (message) => message);
|
|
528
|
+
}
|
|
529
|
+
});
|
|
530
|
+
if (result.unchanged) {
|
|
531
|
+
runDeps.log(`"${result.assetName}" is unchanged — nothing was classified, so the asset was `
|
|
532
|
+
+ 'left exactly as it was.');
|
|
533
|
+
}
|
|
534
|
+
else {
|
|
535
|
+
runDeps.log(`"${result.assetName}" now has ${result.slots.length === 0 ? 'no material classes' : `materials: ${result.slots.join(', ')}`}. `
|
|
536
|
+
+ `${Math.round(result.baseShare * 100)}% of it keeps the default look. `
|
|
537
|
+
+ `${result.instanceCount} placed instance${result.instanceCount === 1 ? '' : 's'} changed with it.`);
|
|
538
|
+
}
|
|
539
|
+
for (const drop of result.dropped) {
|
|
540
|
+
runDeps.log(`note: dropped "${drop.class}" (${describeDropReason(drop.reason)}, `
|
|
541
|
+
+ `${Math.round(drop.share * 100)}% of the asset).`);
|
|
542
|
+
}
|
|
543
|
+
output.result({ ok: true, kind: 'materials-set', ...result });
|
|
544
|
+
if (!result.unchanged) {
|
|
545
|
+
runDeps.log('A running `bitmagic dev` reloads the browser by itself to show it.');
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
/** A dropped class's reason, in words rather than as a slug. */
|
|
549
|
+
function describeDropReason(reason) {
|
|
550
|
+
switch (reason) {
|
|
551
|
+
case 'low-confidence': return 'the verdict was not confident enough';
|
|
552
|
+
case 'too-small': return 'too little of the asset to be a material';
|
|
553
|
+
case 'implausible-bulk': return 'a precious material over a large surface the prompt never mentions';
|
|
554
|
+
case 'over-budget': return 'over the four-material budget';
|
|
555
|
+
case 'unknown-class': return 'not a material class this engine knows';
|
|
556
|
+
default: return reason;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
* Read and validate a `--set` file.
|
|
561
|
+
*
|
|
562
|
+
* Validated here rather than in the engine so a malformed answer costs nothing: a
|
|
563
|
+
* browser launch is seconds, and a typo in a class name should be a message, not a
|
|
564
|
+
* timeout.
|
|
565
|
+
*/
|
|
566
|
+
export function readAssignmentFile(filePath) {
|
|
567
|
+
let raw;
|
|
568
|
+
try {
|
|
569
|
+
raw = fs.readFileSync(filePath, 'utf8');
|
|
570
|
+
}
|
|
571
|
+
catch {
|
|
572
|
+
throw new CliError(`Cannot read "${filePath}". world.json is unchanged.`);
|
|
573
|
+
}
|
|
574
|
+
let parsed;
|
|
575
|
+
try {
|
|
576
|
+
parsed = JSON.parse(raw);
|
|
577
|
+
}
|
|
578
|
+
catch {
|
|
579
|
+
throw new CliError(`"${filePath}" is not valid JSON. world.json is unchanged.`);
|
|
580
|
+
}
|
|
581
|
+
if (typeof parsed !== 'object' || parsed === null) {
|
|
582
|
+
throw new CliError(`"${filePath}" must contain a JSON object. world.json is unchanged.`);
|
|
583
|
+
}
|
|
584
|
+
const body = parsed;
|
|
585
|
+
const signatureHash = body.signatureHash;
|
|
586
|
+
if (typeof signatureHash !== 'string' || signatureHash === '') {
|
|
587
|
+
throw new CliError(`"${filePath}" needs a "signatureHash" — the one printed by `
|
|
588
|
+
+ '`bitmagic assets materials <id>`. It binds the answer to the asset it describes. '
|
|
589
|
+
+ 'world.json is unchanged.');
|
|
590
|
+
}
|
|
591
|
+
const signatureVersion = typeof body.signatureVersion === 'number' ? body.signatureVersion : 1;
|
|
592
|
+
const rawVerdicts = Array.isArray(body.verdicts) ? body.verdicts : null;
|
|
593
|
+
if (rawVerdicts === null) {
|
|
594
|
+
throw new CliError(`"${filePath}" needs a "verdicts" array. world.json is unchanged.`);
|
|
595
|
+
}
|
|
596
|
+
const verdicts = [];
|
|
597
|
+
for (const item of rawVerdicts) {
|
|
598
|
+
if (typeof item !== 'object' || item === null)
|
|
599
|
+
continue;
|
|
600
|
+
const entry = item;
|
|
601
|
+
const id = entry.id;
|
|
602
|
+
const className = entry.class;
|
|
603
|
+
if (typeof id !== 'string' || typeof className !== 'string') {
|
|
604
|
+
throw new CliError(`Every verdict in "${filePath}" needs a string "id" and "class". world.json is unchanged.`);
|
|
605
|
+
}
|
|
606
|
+
const confidence = typeof entry.confidence === 'number' ? entry.confidence : 1;
|
|
607
|
+
verdicts.push({ id, class: className, confidence });
|
|
608
|
+
}
|
|
609
|
+
if (verdicts.length === 0) {
|
|
610
|
+
throw new CliError(`"${filePath}" lists no usable verdicts. world.json is unchanged.`);
|
|
611
|
+
}
|
|
612
|
+
return { signatureVersion, signatureHash, verdicts };
|
|
613
|
+
}
|
|
614
|
+
const materialsCommand = defineCommand({
|
|
615
|
+
meta: {
|
|
616
|
+
name: 'materials',
|
|
617
|
+
description: 'Show what an asset\'s voxels look like, or say what they are made of '
|
|
618
|
+
+ '(metal shines, leather does not). Costs nothing.',
|
|
619
|
+
},
|
|
620
|
+
args: {
|
|
621
|
+
'asset-id': { type: 'positional', required: true, description: 'The asset id (see `bitmagic assets list`).' },
|
|
622
|
+
set: {
|
|
623
|
+
type: 'string',
|
|
624
|
+
description: 'A JSON file of verdicts to apply. Run without it first to see the colours '
|
|
625
|
+
+ 'and the format.',
|
|
626
|
+
},
|
|
627
|
+
clear: { type: 'boolean', description: 'Remove every material class from the asset. The undo.' },
|
|
628
|
+
auto: {
|
|
629
|
+
type: 'boolean',
|
|
630
|
+
description: 'Let a model decide from the colours and the asset\'s prompt — what `generate '
|
|
631
|
+
+ 'prop` and `generate model` do on their own. --set overrides it afterwards.',
|
|
632
|
+
},
|
|
633
|
+
json: JSON_FLAG,
|
|
634
|
+
},
|
|
635
|
+
async run({ args }) {
|
|
636
|
+
await runAssetsMaterials({
|
|
637
|
+
assetId: args['asset-id'],
|
|
638
|
+
...(args.set !== undefined ? { set: args.set } : {}),
|
|
639
|
+
...(args.clear === true ? { clear: true } : {}),
|
|
640
|
+
...(args.auto === true ? { auto: true } : {}),
|
|
400
641
|
json: args.json === true,
|
|
401
642
|
});
|
|
402
643
|
},
|
|
@@ -425,13 +666,15 @@ const removeCommand = defineCommand({
|
|
|
425
666
|
export const assetsCommand = defineCommand({
|
|
426
667
|
meta: {
|
|
427
668
|
name: 'assets',
|
|
428
|
-
description: 'Add your own files to the game\'s assets, list them, re-bake one,
|
|
669
|
+
description: 'Add your own files to the game\'s assets, list them, re-bake one, set what one '
|
|
670
|
+
+ 'is made of, or remove one.',
|
|
429
671
|
},
|
|
430
672
|
subCommands: {
|
|
431
673
|
add: addCommand,
|
|
432
674
|
list: listCommand,
|
|
433
675
|
remove: removeCommand,
|
|
434
676
|
revoxelize: revoxelizeCommand,
|
|
677
|
+
materials: materialsCommand,
|
|
435
678
|
},
|
|
436
679
|
});
|
|
437
680
|
//# sourceMappingURL=assets.js.map
|
|
@@ -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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"}
|
|
@@ -154,6 +154,8 @@ export declare function runPropGeneration(options: {
|
|
|
154
154
|
mesh?: boolean;
|
|
155
155
|
/** `--voxel-grid`: the grid the master is forged at. Not valid with `--mesh`. */
|
|
156
156
|
voxelGrid?: number;
|
|
157
|
+
/** `--no-materials`: leave the asset matte rather than classifying it after the bake. */
|
|
158
|
+
materials?: boolean;
|
|
157
159
|
json: boolean;
|
|
158
160
|
deps?: GenerateRunDeps;
|
|
159
161
|
}): Promise<PropVoxelizeResult>;
|
|
@@ -201,6 +203,8 @@ export declare function runModelGeneration(options: {
|
|
|
201
203
|
mesh?: boolean;
|
|
202
204
|
/** `--voxel-grid`: the grid the master is forged at. Not valid with `--mesh`. */
|
|
203
205
|
voxelGrid?: number;
|
|
206
|
+
/** `--no-materials`: leave the asset matte rather than classifying it after the bake. */
|
|
207
|
+
materials?: boolean;
|
|
204
208
|
json: boolean;
|
|
205
209
|
deps?: GenerateRunDeps;
|
|
206
210
|
}): Promise<GenerateModelResult>;
|
|
@@ -22,6 +22,7 @@ import { propVoxelGrids } from '@bitmagic/asset-core';
|
|
|
22
22
|
import { DEFAULT_MASTER_GRID, generateAndInstallProp } from '../generate/prop.js';
|
|
23
23
|
import { generateAndInstallVehicle } from '../generate/vehicle.js';
|
|
24
24
|
import { generateAndInstallModel } from '../generate/model.js';
|
|
25
|
+
import { classifyAssetMaterialsQuietly } from '../assets/materials.js';
|
|
25
26
|
import { DEFAULT_MAX_VOXEL_SIZE, DEFAULT_MIN_VOXEL_SIZE, SOLID_FILL_MAX_HEIGHT_M } from './assets.js';
|
|
26
27
|
import { creatorPromptField, ORIGINAL_PROMPT_FLAG, withParent } from '../telemetry/creator-prompt.js';
|
|
27
28
|
// ============================================================================
|
|
@@ -480,12 +481,32 @@ const DIRECT_VOXELS_FLAG = {
|
|
|
480
481
|
description: 'Deprecated and ignored — direct voxels are the default. Pass --mesh for the old '
|
|
481
482
|
+ 'behaviour.',
|
|
482
483
|
};
|
|
484
|
+
/**
|
|
485
|
+
* On by default; `--no-materials` is the way out. A generated asset gets its material classes
|
|
486
|
+
* decided right after the bake (metal shines, leather does not) — see `classifyGeneratedAsset`.
|
|
487
|
+
*/
|
|
488
|
+
const MATERIALS_FLAG = {
|
|
489
|
+
type: 'boolean',
|
|
490
|
+
default: true,
|
|
491
|
+
description: 'Decide what the asset is made of after the bake, so metal shines and glass '
|
|
492
|
+
+ 'reflects. Pass --no-materials to leave it plain; `bitmagic assets materials` edits it later.',
|
|
493
|
+
};
|
|
483
494
|
/** The voxel path's `--glb-url`: a paid-for master to bake, instead of buying another. */
|
|
484
495
|
const MASTER_URL_FLAG = {
|
|
485
496
|
type: 'string',
|
|
486
497
|
description: 'Bake this existing voxel master instead of generating one — how to retry for free '
|
|
487
498
|
+ 'when a bake failed after the generation was billed.',
|
|
488
499
|
};
|
|
500
|
+
/**
|
|
501
|
+
* The tail of `generate prop|model`: say what the asset just baked is made of, so a generated
|
|
502
|
+
* sword shines before anyone has looked at it. Never throws — see `classifyAssetMaterialsQuietly`.
|
|
503
|
+
*/
|
|
504
|
+
function classifyGeneratedAsset(input) {
|
|
505
|
+
const { context, environment, token, assetId, runDeps } = input;
|
|
506
|
+
return classifyAssetMaterialsQuietly({
|
|
507
|
+
context, environment, token, assetId, fetchImpl: runDeps.fetch, log: runDeps.log,
|
|
508
|
+
});
|
|
509
|
+
}
|
|
489
510
|
/**
|
|
490
511
|
* `generate prop` cannot go through {@link runAssetGeneration}: the prop generator returns a mesh,
|
|
491
512
|
* not patches, so there is nothing to apply until the CLI has voxelized it in a browser. This owns
|
|
@@ -527,9 +548,12 @@ export async function runPropGeneration(options) {
|
|
|
527
548
|
});
|
|
528
549
|
runDeps.log(`Upgraded "${result.assetName}" — ${result.instanceCount} placed instance`
|
|
529
550
|
+ `${result.instanceCount === 1 ? '' : 's'} now use the generated version.`);
|
|
551
|
+
const materials = options.materials === false
|
|
552
|
+
? null
|
|
553
|
+
: await classifyGeneratedAsset({ context, environment, token, assetId: result.assetId, runDeps });
|
|
530
554
|
// `result` already carries glbUrl, so a retry after a later failure can find the paid-for mesh
|
|
531
555
|
// in the JSON document rather than only in the error text.
|
|
532
|
-
output.result({ ok: true, kind: 'prop', ...result });
|
|
556
|
+
output.result({ ok: true, kind: 'prop', ...result, ...(materials === null ? {} : { materials }) });
|
|
533
557
|
runDeps.log(DEV_VIEW_RELOADS);
|
|
534
558
|
return result;
|
|
535
559
|
}
|
|
@@ -644,9 +668,12 @@ export async function runModelGeneration(options) {
|
|
|
644
668
|
runDeps.log(`Added "${result.assetName}" (id ${result.assetId})`
|
|
645
669
|
+ `${result.voxelCount !== undefined ? `, ${result.voxelCount} voxels` : ''}. Place it from game `
|
|
646
670
|
+ 'code, or drag it in from the dev view\'s Add-object palette.');
|
|
671
|
+
const materials = options.materials === false
|
|
672
|
+
? null
|
|
673
|
+
: await classifyGeneratedAsset({ context, environment, token, assetId: result.assetId, runDeps });
|
|
647
674
|
// `result` carries whichever source was paid for — glbUrl or masterUrl — so a retry after a
|
|
648
675
|
// later failure can find it in the JSON document rather than only in the error text.
|
|
649
|
-
output.result({ ok: true, kind: 'model', ...result });
|
|
676
|
+
output.result({ ok: true, kind: 'model', ...result, ...(materials === null ? {} : { materials }) });
|
|
650
677
|
runDeps.log(DEV_VIEW_RELOADS);
|
|
651
678
|
return result;
|
|
652
679
|
}
|
|
@@ -990,6 +1017,7 @@ const propCommand = defineCommand({
|
|
|
990
1017
|
mesh: MESH_FLAG,
|
|
991
1018
|
'direct-voxels': DIRECT_VOXELS_FLAG,
|
|
992
1019
|
'voxel-grid': VOXEL_GRID_FLAG,
|
|
1020
|
+
materials: MATERIALS_FLAG,
|
|
993
1021
|
'original-prompt': ORIGINAL_PROMPT_FLAG,
|
|
994
1022
|
json: JSON_FLAG,
|
|
995
1023
|
},
|
|
@@ -1001,6 +1029,7 @@ const propCommand = defineCommand({
|
|
|
1001
1029
|
...(args['master-url'] ? { masterUrl: args['master-url'] } : {}),
|
|
1002
1030
|
...(args.mesh === true ? { mesh: true } : {}),
|
|
1003
1031
|
...voxelGridField(args['voxel-grid']),
|
|
1032
|
+
...(args.materials === false ? { materials: false } : {}),
|
|
1004
1033
|
json: args.json === true,
|
|
1005
1034
|
});
|
|
1006
1035
|
},
|
|
@@ -1093,6 +1122,7 @@ const modelCommand = defineCommand({
|
|
|
1093
1122
|
mesh: MESH_FLAG,
|
|
1094
1123
|
'direct-voxels': DIRECT_VOXELS_FLAG,
|
|
1095
1124
|
'voxel-grid': VOXEL_GRID_FLAG,
|
|
1125
|
+
materials: MATERIALS_FLAG,
|
|
1096
1126
|
'original-prompt': ORIGINAL_PROMPT_FLAG,
|
|
1097
1127
|
json: JSON_FLAG,
|
|
1098
1128
|
},
|
|
@@ -1123,6 +1153,7 @@ const modelCommand = defineCommand({
|
|
|
1123
1153
|
...(args['master-url'] !== undefined ? { masterUrl: args['master-url'] } : {}),
|
|
1124
1154
|
...(args.mesh === true ? { mesh: true } : {}),
|
|
1125
1155
|
...voxelGridField(args['voxel-grid']),
|
|
1156
|
+
...(args.materials === false ? { materials: false } : {}),
|
|
1126
1157
|
json: args.json === true,
|
|
1127
1158
|
});
|
|
1128
1159
|
},
|