@helix3/helix-cli 0.1.13-helix3.65 → 0.1.13-helix3.66

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 CHANGED
@@ -51,7 +51,8 @@ The token is stored in `~/.helix/credentials.json` (mode `600`). It's sent as
51
51
  | `helix assets start\|status\|generate\|resume` | Start or poll generation without duplicates. Props/characters use the main Dreamer path; standalone assets use the shared broker and report the auto-published `vaultAssetId`. |
52
52
  | `helix assets generate-image\|generate-material\|generate-audio\|generate-environment` | Run the supported standalone generation adapters. Material is a validated PBR bundle (1K default, explicit 2K); splats declare object/environment scope. Animation remains an explicit unavailable boundary. |
53
53
  | `helix assets start-reference\|generate-reference` | Start or fully drive a character job from a local four-view PNG/JPEG/WebP. The backend validates and reuses the exact sheet; it skips image generation while preserving mesh, texture, rig, LOD, thumbnail, billing, and Vault publication. |
54
- | `helix assets materials\|material` | Discover the small built-in material palette and resolve its immutable map URLs before searching or generating. |
54
+ | `helix assets materials [--resolution <res>] [--human]` | Discover the small built-in material palette. `--resolution` keeps only materials carrying that texture resolution. |
55
+ | `helix assets material <id> [--resolution <res>] [--human]` | Resolve one material to its immutable map URLs at the resolution you pick (default: the pack's own default). |
55
56
  | `helix assets credits\|check-loaders` | Render asset credits from provenance and reject models requiring unsupported loaders. |
56
57
  | `helix character retarget-animation <clip.fbx\|clip.glb>` | Retarget a raw Mixamo/Meshy clip directly to `helix-humanoid@1`. FBX conversion is deterministic and runs inside the CLI; no hidden Blender/DCC pre-export is required. |
57
58
  | `helix world audit\|source-audit\|perf-gate\|prove-live` | Run the blocking world QA, performance, and deployed-build identity gates. |
@@ -164,6 +165,47 @@ The reference endpoint is character-only. The file is image-guarded, normalized,
164
165
  checksum-bound to the job, semantically validated, and mirrored before approval.
165
166
  Retries reuse those same bytes and never invoke or charge the image provider.
166
167
 
168
+ ## Material texture resolution
169
+
170
+ A platform material can ship more than one texture resolution. `--resolution` picks which one you
171
+ get; without it you get the pack's declared default, byte-for-byte what every earlier CLI returned.
172
+
173
+ ```bash
174
+ helix assets material brick-block # the pack's default resolution
175
+ helix assets material brick-block --resolution 2k # the 2K variant's map URLs
176
+ helix assets material brick-block --resolution 2048 # same thing — numeric spelling
177
+ helix assets materials --resolution 2k --human # only materials that carry 2K
178
+ ```
179
+
180
+ Accepted values are the keys the catalog itself declares (`1k`, `2k`, …), case-insensitively, plus
181
+ the numeric aliases `1024`/`2048`, which map onto the variant authored at that pixel edge.
182
+
183
+ Both commands print JSON by default (agents and the MCP delegation parse it); `--human` prints a
184
+ readable summary instead. Either way the output states **which resolution was resolved and which
185
+ ones the material offers**, under `resolution`:
186
+
187
+ ```jsonc
188
+ "resolution": {
189
+ "requested": "2k", "resolved": "2k", "pixels": 2048, "default": "1k",
190
+ "available": [{ "key": "1k", "pixels": 1024 }, { "key": "2k", "pixels": 2048 }],
191
+ "applicable": true
192
+ }
193
+ ```
194
+
195
+ Three rules make this safe to rely on:
196
+
197
+ - **No silent fallback, ever.** Asking for a resolution the material does not carry is an error that
198
+ names the ones it does. You never receive a different resolution than the one you asked for.
199
+ - **Old packs keep working.** A catalog with no `resolutions` block (`schemaVersion: 1`) is treated
200
+ as having exactly one resolution, keyed `default`, derived from its existing `maps`. Such a pack
201
+ never claims to be "1k" — it does not say how big its textures are, so neither do we.
202
+ - **Procedural materials are not an error.** `glass` and `procedural_water` carry no texture maps;
203
+ a resolution request against them is ignored and the output says so in `resolution.note`.
204
+
205
+ `helix assets install` has no resolution flag: Vault related-artifact roles are semantic
206
+ (`source.albedo`, `runtime.ktx2.normal`, `sky.backdrop`), never resolution-tagged, so a filter there
207
+ would filter nothing.
208
+
167
209
  ## Item publish flow
168
210
 
169
211
  `helix item publish` is a different shape from a world publish: one mesh, one round trip, an
package/dist/assets.d.ts CHANGED
@@ -229,25 +229,108 @@ export declare class UnavailableCapabilityError extends Error {
229
229
  readonly code = "CAPABILITY_UNAVAILABLE";
230
230
  constructor(capability: string, message: string);
231
231
  }
232
+ export type MaterialMaps = {
233
+ albedo: string;
234
+ normal: string;
235
+ orm: string;
236
+ };
237
+ /**
238
+ * One texture-resolution variant a catalog entry declares (pack catalog
239
+ * schemaVersion 2+). `pixels` is the authored square edge, e.g. 2048 for "2k".
240
+ */
241
+ export type MaterialResolutionVariant = {
242
+ pixels?: number;
243
+ maps: MaterialMaps;
244
+ };
232
245
  export type MaterialCatalogEntry = {
233
246
  id: string;
234
247
  name: string;
235
248
  category: string;
236
249
  kind: 'texture' | 'glass' | 'procedural_water';
237
250
  tags: string[];
238
- maps?: {
239
- albedo: string;
240
- normal: string;
241
- orm: string;
242
- };
251
+ /** The DEFAULT resolution's maps. Unchanged across schema versions. */
252
+ maps?: MaterialMaps;
253
+ /** Catalog schemaVersion 2+: names which `resolutions` key `maps` mirrors. */
254
+ defaultResolution?: string;
255
+ /** Catalog schemaVersion 2+: every texture resolution this material carries. */
256
+ resolutions?: Record<string, MaterialResolutionVariant>;
243
257
  [key: string]: unknown;
244
258
  };
259
+ /** One resolvable resolution of one material, normalized across schema versions. */
260
+ export type MaterialResolutionOption = {
261
+ key: string;
262
+ pixels: number | null;
263
+ maps: MaterialMaps;
264
+ };
265
+ /**
266
+ * What a command actually resolved, and what else it could have. Present on
267
+ * every material this CLI returns so a caller can SEE the choice it has
268
+ * instead of guessing — and so a silent downgrade is impossible.
269
+ */
270
+ export type MaterialResolutionReport = {
271
+ /** Exactly what the caller passed, or null when they did not ask. */
272
+ requested: string | null;
273
+ /** The catalog key whose maps were used; null when the material has none. */
274
+ resolved: string | null;
275
+ /** Authored square edge of the resolved variant when the pack declares it. */
276
+ pixels: number | null;
277
+ /** The key this material treats as its default. */
278
+ default: string | null;
279
+ available: Array<{
280
+ key: string;
281
+ pixels: number | null;
282
+ }>;
283
+ /** false for procedural materials — they carry no texture maps at all. */
284
+ applicable: boolean;
285
+ note?: string;
286
+ };
287
+ export type ResolvedMaterial = MaterialCatalogEntry & {
288
+ resolvedMaps?: Record<string, string>;
289
+ resolution: MaterialResolutionReport;
290
+ };
245
291
  export type MaterialCatalogResult = {
246
292
  slug: string;
247
293
  version: string;
294
+ /** The catalog's own schemaVersion, verbatim (1 = no per-resolution variants). */
295
+ schemaVersion: string | number | null;
248
296
  assetBaseUrl: string;
249
- materials: MaterialCatalogEntry[];
297
+ materials: ResolvedMaterial[];
298
+ resolution: {
299
+ requested: string | null;
300
+ /** Every resolution key offered by ANY material in this pack. */
301
+ packResolutions: Array<{
302
+ key: string;
303
+ pixels: number | null;
304
+ }>;
305
+ matched: number;
306
+ /** Texture materials dropped because they lack the requested resolution. */
307
+ skippedWithoutResolution: number;
308
+ /** Procedural materials dropped because they carry no texture maps. */
309
+ skippedProcedural: number;
310
+ };
250
311
  };
312
+ /**
313
+ * The label a schemaVersion-1 entry's single resolution gets. Such a pack never
314
+ * says how big its maps are, so naming it "1k" would be a guess presented as a
315
+ * fact — and a creator asking for "1k" would then be silently served whatever
316
+ * the pack happens to hold. "default" is the only honest label.
317
+ */
318
+ export declare const DEFAULT_RESOLUTION_KEY = "default";
319
+ /**
320
+ * Every resolution a material offers, in catalog-declared order, normalized so
321
+ * that an old single-resolution pack and a new multi-resolution pack are the
322
+ * same shape to every caller above this line.
323
+ */
324
+ export declare function materialResolutionOptions(material: MaterialCatalogEntry): MaterialResolutionOption[];
325
+ /** The key whose maps the pack mirrors at the top level — the default download. */
326
+ export declare function materialDefaultResolutionKey(material: MaterialCatalogEntry, options?: MaterialResolutionOption[]): string | null;
327
+ /**
328
+ * Match a requested resolution against what a material declares. Exact keys win
329
+ * (case-insensitively); `1024`/`2048` and `1k`/`2k` are accepted as aliases of
330
+ * each other so a caller never has to know which spelling a pack chose.
331
+ * Returns null when nothing matches — the caller MUST then fail loudly.
332
+ */
333
+ export declare function matchMaterialResolution(options: MaterialResolutionOption[], requested: string): MaterialResolutionOption | null;
251
334
  export declare function generateAndPublishAsset(creds: CliCredentials, input: GenerateAssetInput, options?: GenerateAssetOptions): Promise<DreamerAssetJob>;
252
335
  export declare function generateAndPublishAssetFromReference(creds: CliCredentials, input: GenerateAssetFromReferenceInput, options?: GenerateAssetOptions): Promise<DreamerAssetJob>;
253
336
  export declare function startDreamerAssetGeneration(creds: CliCredentials, input: GenerateAssetInput): Promise<DreamerAssetJob>;
@@ -326,7 +409,8 @@ export declare function listMaterials(apiUrl: string, query?: {
326
409
  q?: string;
327
410
  category?: string;
328
411
  limit?: number;
412
+ resolution?: string;
329
413
  }, slug?: string): Promise<MaterialCatalogResult>;
330
- export declare function resolveMaterial(apiUrl: string, id: string, slug?: string): Promise<MaterialCatalogEntry & {
331
- resolvedMaps?: Record<string, string>;
332
- }>;
414
+ export declare function resolveMaterial(apiUrl: string, id: string, slug?: string, options?: {
415
+ resolution?: string;
416
+ }): Promise<ResolvedMaterial>;
package/dist/assets.js CHANGED
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnavailableCapabilityError = exports.AUDIO_GENERATION_TIMEOUT_MS = exports.VAULT_ASSET_KINDS = void 0;
3
+ exports.DEFAULT_RESOLUTION_KEY = exports.UnavailableCapabilityError = exports.AUDIO_GENERATION_TIMEOUT_MS = exports.VAULT_ASSET_KINDS = void 0;
4
+ exports.materialResolutionOptions = materialResolutionOptions;
5
+ exports.materialDefaultResolutionKey = materialDefaultResolutionKey;
6
+ exports.matchMaterialResolution = matchMaterialResolution;
4
7
  exports.generateAndPublishAsset = generateAndPublishAsset;
5
8
  exports.generateAndPublishAssetFromReference = generateAndPublishAssetFromReference;
6
9
  exports.startDreamerAssetGeneration = startDreamerAssetGeneration;
@@ -52,6 +55,184 @@ class UnavailableCapabilityError extends Error {
52
55
  }
53
56
  }
54
57
  exports.UnavailableCapabilityError = UnavailableCapabilityError;
58
+ /**
59
+ * The label a schemaVersion-1 entry's single resolution gets. Such a pack never
60
+ * says how big its maps are, so naming it "1k" would be a guess presented as a
61
+ * fact — and a creator asking for "1k" would then be silently served whatever
62
+ * the pack happens to hold. "default" is the only honest label.
63
+ */
64
+ exports.DEFAULT_RESOLUTION_KEY = 'default';
65
+ const isMapTable = (value) => !!value &&
66
+ typeof value === 'object' &&
67
+ !Array.isArray(value) &&
68
+ Object.values(value).every((entry) => typeof entry === 'string');
69
+ /**
70
+ * Every resolution a material offers, in catalog-declared order, normalized so
71
+ * that an old single-resolution pack and a new multi-resolution pack are the
72
+ * same shape to every caller above this line.
73
+ */
74
+ function materialResolutionOptions(material) {
75
+ const declared = material.resolutions;
76
+ if (declared && typeof declared === 'object' && !Array.isArray(declared)) {
77
+ const options = Object.entries(declared)
78
+ .filter(([key, variant]) => key.trim() !== '' && isMapTable(variant?.maps))
79
+ .map(([key, variant]) => ({
80
+ key,
81
+ pixels: typeof variant.pixels === 'number' && Number.isFinite(variant.pixels) ? variant.pixels : null,
82
+ maps: variant.maps,
83
+ }));
84
+ if (options.length)
85
+ return options;
86
+ }
87
+ // schemaVersion 1 (or an entry with no `resolutions`): exactly one resolution,
88
+ // derived from the top-level maps that every existing client already reads.
89
+ if (isMapTable(material.maps)) {
90
+ return [
91
+ {
92
+ key: (typeof material.defaultResolution === 'string' && material.defaultResolution.trim()) || exports.DEFAULT_RESOLUTION_KEY,
93
+ pixels: null,
94
+ maps: material.maps,
95
+ },
96
+ ];
97
+ }
98
+ return [];
99
+ }
100
+ const sameMaps = (a, b) => {
101
+ const left = Object.entries(a).sort(([x], [y]) => x.localeCompare(y));
102
+ const right = Object.entries(b).sort(([x], [y]) => x.localeCompare(y));
103
+ return (left.length === right.length &&
104
+ left.every(([key, value], index) => right[index][0] === key && right[index][1] === value));
105
+ };
106
+ /** The key whose maps the pack mirrors at the top level — the default download. */
107
+ function materialDefaultResolutionKey(material, options = materialResolutionOptions(material)) {
108
+ if (!options.length)
109
+ return null;
110
+ const declared = typeof material.defaultResolution === 'string' ? material.defaultResolution.trim().toLowerCase() : '';
111
+ if (declared) {
112
+ const named = options.find((option) => option.key.toLowerCase() === declared);
113
+ if (named)
114
+ return named.key;
115
+ }
116
+ if (isMapTable(material.maps)) {
117
+ const mirrored = options.find((option) => sameMaps(option.maps, material.maps));
118
+ if (mirrored)
119
+ return mirrored.key;
120
+ }
121
+ return options[0].key;
122
+ }
123
+ /**
124
+ * Match a requested resolution against what a material declares. Exact keys win
125
+ * (case-insensitively); `1024`/`2048` and `1k`/`2k` are accepted as aliases of
126
+ * each other so a caller never has to know which spelling a pack chose.
127
+ * Returns null when nothing matches — the caller MUST then fail loudly.
128
+ */
129
+ function matchMaterialResolution(options, requested) {
130
+ const wanted = requested.trim().toLowerCase();
131
+ if (!wanted)
132
+ return null;
133
+ const exact = options.find((option) => option.key.toLowerCase() === wanted);
134
+ if (exact)
135
+ return exact;
136
+ // Numeric spelling ("2048", "2048px") → the variant authored at that edge, or
137
+ // the conventional "2k" key when the pack declares no pixel counts.
138
+ const numeric = /^(\d+)(?:px)?$/.exec(wanted);
139
+ if (numeric) {
140
+ const pixels = Number(numeric[1]);
141
+ const byPixels = options.find((option) => option.pixels === pixels);
142
+ if (byPixels)
143
+ return byPixels;
144
+ if (pixels > 0 && pixels % 1024 === 0) {
145
+ const derived = `${pixels / 1024}k`;
146
+ const byDerivedKey = options.find((option) => option.key.toLowerCase() === derived);
147
+ if (byDerivedKey)
148
+ return byDerivedKey;
149
+ }
150
+ return null;
151
+ }
152
+ // "k" spelling → the variant authored at that edge, for a pack whose keys are
153
+ // named something else entirely but which declares pixels.
154
+ const kilo = /^(\d+(?:\.\d+)?)k$/.exec(wanted);
155
+ if (kilo) {
156
+ const pixels = Math.round(Number(kilo[1]) * 1024);
157
+ const byPixels = options.find((option) => option.pixels === pixels);
158
+ if (byPixels)
159
+ return byPixels;
160
+ }
161
+ return null;
162
+ }
163
+ const renderResolutionList = (options) => options.length
164
+ ? options.map((option) => (option.pixels ? `${option.key} (${option.pixels}px)` : option.key)).join(', ')
165
+ : '(none)';
166
+ const publicResolutions = (options) => options.map(({ key, pixels }) => ({ key, pixels }));
167
+ /** Union of every resolution key in the pack, in first-seen order. */
168
+ function packResolutionOptions(materials) {
169
+ const seen = new Map();
170
+ for (const material of materials) {
171
+ for (const option of materialResolutionOptions(material)) {
172
+ const id = option.key.toLowerCase();
173
+ const prior = seen.get(id);
174
+ if (!prior)
175
+ seen.set(id, { key: option.key, pixels: option.pixels });
176
+ else if (prior.pixels === null && option.pixels !== null)
177
+ prior.pixels = option.pixels;
178
+ }
179
+ }
180
+ return [...seen.values()];
181
+ }
182
+ function absoluteMaps(maps, assetBaseUrl) {
183
+ return Object.fromEntries(Object.entries(maps).map(([key, value]) => [
184
+ key,
185
+ /^https?:\/\//i.test(value) ? value : `${assetBaseUrl}/${value.replace(/^\/+/, '')}`,
186
+ ]));
187
+ }
188
+ /**
189
+ * Attach the resolution report (and, when asked, the resolved absolute map
190
+ * URLs) to one catalog entry. Throws when the caller asked for a resolution
191
+ * this material does not carry — never falls back to a different one.
192
+ */
193
+ function describeMaterialResolution(material, assetBaseUrl, requested) {
194
+ const options = materialResolutionOptions(material);
195
+ const available = publicResolutions(options);
196
+ const defaultKey = materialDefaultResolutionKey(material, options);
197
+ if (!options.length) {
198
+ // Procedural (glass / water): no maps exist, so a resolution is not an
199
+ // error — it simply does not apply, and we say so out loud.
200
+ return {
201
+ ...material,
202
+ resolution: {
203
+ requested,
204
+ resolved: null,
205
+ pixels: null,
206
+ default: null,
207
+ available,
208
+ applicable: false,
209
+ ...(requested
210
+ ? {
211
+ note: `"${material.id}" is a procedural ${material.kind} material with no texture maps — resolution "${requested}" does not apply and was ignored.`,
212
+ }
213
+ : {}),
214
+ },
215
+ };
216
+ }
217
+ const selected = requested
218
+ ? matchMaterialResolution(options, requested)
219
+ : options.find((option) => option.key === defaultKey) ?? options[0];
220
+ if (!selected) {
221
+ throw new Error(`Material "${material.id}" does not offer resolution "${requested}" — available: ${renderResolutionList(available)}`);
222
+ }
223
+ return {
224
+ ...material,
225
+ resolvedMaps: absoluteMaps(selected.maps, assetBaseUrl),
226
+ resolution: {
227
+ requested,
228
+ resolved: selected.key,
229
+ pixels: selected.pixels,
230
+ default: defaultKey,
231
+ available,
232
+ applicable: true,
233
+ },
234
+ };
235
+ }
55
236
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
56
237
  function isTerminalFailure(job) {
57
238
  return ['failed', 'blocked_insufficient_spark', 'cancelled'].includes(job.status);
@@ -492,6 +673,13 @@ async function listMaterials(apiUrl, query = {}, slug = 'helix-materials') {
492
673
  const catalog = (await response.json());
493
674
  if (!Array.isArray(catalog.materials))
494
675
  throw new Error('Material catalog is invalid');
676
+ const requested = query.resolution?.trim() ? query.resolution.trim() : null;
677
+ const packResolutions = packResolutionOptions(catalog.materials);
678
+ // A resolution this pack does not carry ANYWHERE is a loud failure, not an
679
+ // empty result — an empty list reads as "no materials matched your search".
680
+ if (requested && !catalog.materials.some((material) => matchMaterialResolution(materialResolutionOptions(material), requested))) {
681
+ throw new Error(`Material pack "${catalog.pack?.slug ?? slug}"@${catalog.pack?.version ?? 'latest'} does not offer resolution "${requested}" — available: ${renderResolutionList(packResolutions)}`);
682
+ }
495
683
  const needle = query.q?.trim().toLowerCase() ?? '';
496
684
  const matched = catalog.materials.filter((material) => {
497
685
  if (query.category && material.category !== query.category)
@@ -502,29 +690,51 @@ async function listMaterials(apiUrl, query = {}, slug = 'helix-materials') {
502
690
  .toLowerCase()
503
691
  .includes(needle));
504
692
  });
505
- const materials = query.limit === undefined
506
- ? matched
507
- : matched.slice(0, Math.max(0, Math.floor(query.limit)));
693
+ let skippedWithoutResolution = 0;
694
+ let skippedProcedural = 0;
695
+ const carried = requested
696
+ ? matched.filter((material) => {
697
+ const options = materialResolutionOptions(material);
698
+ if (!options.length) {
699
+ skippedProcedural += 1;
700
+ return false;
701
+ }
702
+ if (!matchMaterialResolution(options, requested)) {
703
+ skippedWithoutResolution += 1;
704
+ return false;
705
+ }
706
+ return true;
707
+ })
708
+ : matched;
709
+ const limited = query.limit === undefined
710
+ ? carried
711
+ : carried.slice(0, Math.max(0, Math.floor(query.limit)));
712
+ const materials = limited.map((material) => describeMaterialResolution(material, assetBaseUrl, requested));
508
713
  return {
509
714
  slug: catalog.pack?.slug ?? slug,
510
715
  version: catalog.pack?.version ?? 'latest',
716
+ schemaVersion: catalog.schemaVersion ?? null,
511
717
  assetBaseUrl,
512
718
  materials,
719
+ resolution: {
720
+ requested,
721
+ packResolutions,
722
+ matched: materials.length,
723
+ skippedWithoutResolution,
724
+ skippedProcedural,
725
+ },
513
726
  };
514
727
  }
515
- async function resolveMaterial(apiUrl, id, slug = 'helix-materials') {
728
+ async function resolveMaterial(apiUrl, id, slug = 'helix-materials', options = {}) {
729
+ // Resolve against the UNFILTERED catalog: the resolution check belongs to the
730
+ // named material, so `helix assets material <id> --resolution 4k` must say
731
+ // what THAT material offers, not "not found".
516
732
  const catalog = await listMaterials(apiUrl, {}, slug);
517
733
  const material = catalog.materials.find((candidate) => candidate.id === id);
518
734
  if (!material)
519
735
  throw new Error(`Material "${id}" was not found in ${slug}`);
520
- const resolvedMaps = material.maps
521
- ? Object.fromEntries(Object.entries(material.maps).map(([key, value]) => [
522
- key,
523
- /^https?:\/\//i.test(value)
524
- ? value
525
- : `${catalog.assetBaseUrl}/${value.replace(/^\/+/, '')}`,
526
- ]))
527
- : undefined;
528
- return { ...material, ...(resolvedMaps ? { resolvedMaps } : {}) };
736
+ const requested = options.resolution?.trim() ? options.resolution.trim() : null;
737
+ const { resolvedMaps: _ignored, resolution: _prior, ...entry } = material;
738
+ return describeMaterialResolution(entry, catalog.assetBaseUrl, requested);
529
739
  }
530
740
  //# sourceMappingURL=assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}