@aura3d/asset-index 1.1.0 → 1.3.1

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.
@@ -0,0 +1,36 @@
1
+ import type { AuraCanonicalAsset } from "./CanonicalAsset.js";
2
+ export type AnimationAssetProfile = "animation-character" | "animation-prop" | "animation-set" | "animation-environment";
3
+ export type AnimationAssetCategory = "character" | "prop" | "set" | "environment";
4
+ export interface AnimationAssetProfileEvaluation {
5
+ readonly profile: AnimationAssetProfile;
6
+ readonly category: AnimationAssetCategory;
7
+ readonly suitable: boolean;
8
+ readonly scoreBonus: number;
9
+ readonly rejectionReasons: readonly string[];
10
+ readonly warnings: readonly string[];
11
+ readonly matchedSignals: readonly string[];
12
+ /**
13
+ * Checks that could not be decided from pre-download catalog metadata and must
14
+ * be re-run against the downloaded GLB (e.g. embedded animation clips, rig,
15
+ * triangle budget, walkable bounds). Empty unless `preDownload` was set.
16
+ */
17
+ readonly validationHooks: readonly AnimationAssetValidationHook[];
18
+ }
19
+ /** A deferred, post-download check the resolver/CLI should run on the GLB. */
20
+ export type AnimationAssetValidationHook = "animation-clips" | "humanoid-rig" | "facial-blendshapes" | "triangle-budget" | "payload-budget" | "walkable-bounds" | "character-scale-bounds" | "prop-scale-bounds";
21
+ export interface AnimationAssetProfileEvaluationOptions {
22
+ /**
23
+ * Pre-download (catalog-only) ranking mode. The hosted catalog exposes title +
24
+ * tags + license but rarely rig/animation/triangle metadata, so in this mode
25
+ * checks that depend on *absent* metadata DOWN-RANK and defer to a post-download
26
+ * `validationHooks` entry instead of hard-rejecting the candidate. Proven-negative
27
+ * signals (a `false` animation flag, photoreal/IP-risk/violence terms, or a
28
+ * known-oversized payload/triangle/extent) still reject. Defaults to `false`
29
+ * (strict post-download evaluation), preserving existing behavior.
30
+ */
31
+ readonly preDownload?: boolean;
32
+ }
33
+ export declare const animationAssetProfiles: readonly AnimationAssetProfile[];
34
+ export declare function isAnimationAssetProfile(profile: string): profile is AnimationAssetProfile;
35
+ export declare function evaluateAnimationAssetProfile(asset: AuraCanonicalAsset, profile: AnimationAssetProfile, options?: AnimationAssetProfileEvaluationOptions): AnimationAssetProfileEvaluation;
36
+ //# sourceMappingURL=animation-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-profile.d.ts","sourceRoot":"","sources":["../../../../packages/asset-index/src/animation-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,MAAM,qBAAqB,GAC7B,qBAAqB,GACrB,gBAAgB,GAChB,eAAe,GACf,uBAAuB,CAAC;AAE5B,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;AAElF,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACnE;AAED,8EAA8E;AAC9E,MAAM,MAAM,4BAA4B,GACpC,iBAAiB,GACjB,cAAc,GACd,oBAAoB,GACpB,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,GACjB,wBAAwB,GACxB,mBAAmB,CAAC;AAExB,MAAM,WAAW,sCAAsC;IACrD;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,sBAAsB,EAAE,SAAS,qBAAqB,EAKlE,CAAC;AAkMF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,qBAAqB,CAEzF;AAKD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,GAAE,sCAA2C,GACnD,+BAA+B,CA8EjC"}
@@ -0,0 +1,467 @@
1
+ export const animationAssetProfiles = [
2
+ "animation-character",
3
+ "animation-prop",
4
+ "animation-set",
5
+ "animation-environment",
6
+ ];
7
+ const PROFILE_CATEGORY = {
8
+ "animation-character": "character",
9
+ "animation-prop": "prop",
10
+ "animation-set": "set",
11
+ "animation-environment": "environment",
12
+ };
13
+ const ANIMATION_STYLE_TERMS = [
14
+ "animation",
15
+ "toon",
16
+ "stylized",
17
+ "stylised",
18
+ "cel",
19
+ "cell shaded",
20
+ "cel-shaded",
21
+ "low poly",
22
+ "low-poly",
23
+ "cute",
24
+ "kid",
25
+ "kids",
26
+ "child friendly",
27
+ "chibi",
28
+ "flat color",
29
+ "handpainted",
30
+ "hand painted",
31
+ "poly pizza",
32
+ "kenney",
33
+ "quaternius",
34
+ ];
35
+ const CHARACTER_TERMS = [
36
+ "character",
37
+ "humanoid",
38
+ "person",
39
+ "people",
40
+ "boy",
41
+ "girl",
42
+ "kid",
43
+ "hero",
44
+ "villain",
45
+ "sidekick",
46
+ "mascot",
47
+ "avatar",
48
+ "actor",
49
+ "narrator",
50
+ "robot",
51
+ "creature",
52
+ ];
53
+ const FACIAL_TERMS = [
54
+ "face",
55
+ "facial",
56
+ "expression",
57
+ "expressive",
58
+ "emotion",
59
+ "mouth",
60
+ "viseme",
61
+ "lip sync",
62
+ "lipsync",
63
+ "blendshape",
64
+ "blend shape",
65
+ "morph",
66
+ ];
67
+ const HUMANOID_RIG_TERMS = [
68
+ "humanoid",
69
+ "rigged",
70
+ "armature",
71
+ "skeleton",
72
+ "skinned",
73
+ "retarget",
74
+ "mixamo",
75
+ "animation",
76
+ "animated",
77
+ ];
78
+ const ANIMATION_TERMS = [
79
+ "animated",
80
+ "animation",
81
+ "idle",
82
+ "walk",
83
+ "run",
84
+ "talk",
85
+ "gesture",
86
+ "wave",
87
+ "emote",
88
+ ];
89
+ const PROP_TERMS = [
90
+ "prop",
91
+ "furniture",
92
+ "chair",
93
+ "table",
94
+ "desk",
95
+ "sofa",
96
+ "vehicle",
97
+ "tool",
98
+ "toy",
99
+ "book",
100
+ "tree",
101
+ "plant",
102
+ "rock",
103
+ "sign",
104
+ "crate",
105
+ "food",
106
+ ];
107
+ const SET_TERMS = [
108
+ "set",
109
+ "room",
110
+ "house",
111
+ "classroom",
112
+ "school",
113
+ "park",
114
+ "street",
115
+ "interior",
116
+ "exterior",
117
+ "stage",
118
+ "level",
119
+ "playground",
120
+ "space station",
121
+ "underwater",
122
+ "walkable",
123
+ "floor",
124
+ "environment",
125
+ ];
126
+ const ENVIRONMENT_TERMS = [
127
+ "environment",
128
+ "skybox",
129
+ "backdrop",
130
+ "background",
131
+ "hdri",
132
+ "sky",
133
+ "landscape",
134
+ "world",
135
+ "terrain",
136
+ "horizon",
137
+ "panorama",
138
+ "diorama",
139
+ "forest",
140
+ "desert",
141
+ "ocean",
142
+ "mountain",
143
+ ];
144
+ const PHOTOREAL_TERMS = [
145
+ "photogrammetry",
146
+ "scan",
147
+ "scanned",
148
+ "photoreal",
149
+ "photo real",
150
+ "realistic",
151
+ "pbr scan",
152
+ "raw scan",
153
+ "statue",
154
+ "bust",
155
+ "sculpture",
156
+ ];
157
+ const IP_RISK_TERMS = [
158
+ "fan art",
159
+ "fanart",
160
+ "copyright",
161
+ "copyrighted",
162
+ "ripped",
163
+ "rip",
164
+ "pokemon",
165
+ "mario",
166
+ "sonic",
167
+ "naruto",
168
+ "dragon ball",
169
+ "fortnite",
170
+ "marvel",
171
+ "dc comics",
172
+ "star wars",
173
+ "disney",
174
+ "pixar",
175
+ "spongebob",
176
+ ];
177
+ const VIOLENCE_TERMS = [
178
+ "gore",
179
+ "blood",
180
+ "horror",
181
+ "corpse",
182
+ "weapon pack",
183
+ "gun",
184
+ "rifle",
185
+ "pistol",
186
+ ];
187
+ export function isAnimationAssetProfile(profile) {
188
+ return animationAssetProfiles.includes(profile);
189
+ }
190
+ /** Hard cap on any single bounds dimension; beyond this an asset is mis-scaled. */
191
+ const INSANE_EXTENT_UNITS = 50;
192
+ export function evaluateAnimationAssetProfile(asset, profile, options = {}) {
193
+ const preDownload = options.preDownload === true;
194
+ const category = PROFILE_CATEGORY[profile];
195
+ const rejectionReasons = [];
196
+ const warnings = [];
197
+ const matchedSignals = [];
198
+ const validationHooks = [];
199
+ const text = searchableText(asset);
200
+ const tags = asset.tags.map((tag) => tag.toLowerCase());
201
+ if (asset.access !== "direct-download") {
202
+ rejectionReasons.push(`asset is marketplace/deep-link only; ${profile} auto-resolve requires direct-download access.`);
203
+ }
204
+ if (!asset.license.verified || !asset.license.redistributable) {
205
+ rejectionReasons.push(`asset license is not verified redistributable (${asset.license.spdx}); ${profile} requires license-safe catalog provenance.`);
206
+ }
207
+ if (asset.format !== "glb") {
208
+ rejectionReasons.push(`expected GLB format for animation-library auto-resolve; found ${asset.format}.`);
209
+ }
210
+ // An insanely large extent is a proven-negative signal in every mode: even
211
+ // pre-download we know the bounds are wrong if the catalog reported them.
212
+ if (asset.bounds) {
213
+ const largest = Math.max(...asset.bounds.size);
214
+ if (largest > INSANE_EXTENT_UNITS) {
215
+ rejectionReasons.push(`bounds largest dimension ${formatNumber(largest)}m is implausible (> ${INSANE_EXTENT_UNITS}m); asset is mis-scaled.`);
216
+ }
217
+ }
218
+ collectSignals(text, tags, ANIMATION_STYLE_TERMS, matchedSignals);
219
+ const hasAnimationStyle = hasAny(text, tags, ANIMATION_STYLE_TERMS);
220
+ if (!hasAnimationStyle) {
221
+ warnings.push("catalog metadata does not explicitly prove animation/stylized art direction; inspect preview before publishing.");
222
+ }
223
+ const photoreal = firstTerm(text, PHOTOREAL_TERMS);
224
+ if (photoreal && !hasAnimationStyle) {
225
+ rejectionReasons.push(`catalog metadata looks photorealistic or scan-derived ("${photoreal}"), not animation-ready.`);
226
+ }
227
+ else if (photoreal) {
228
+ warnings.push(`catalog metadata includes "${photoreal}"; verify the asset is stylized enough for animation use.`);
229
+ }
230
+ const ipRisk = firstTerm(text, IP_RISK_TERMS);
231
+ if (ipRisk) {
232
+ rejectionReasons.push(`catalog metadata contains IP-risk term "${ipRisk}"; animation profiles only accept license-safe original/generic assets.`);
233
+ }
234
+ const violenceRisk = firstTerm(text, VIOLENCE_TERMS);
235
+ if (violenceRisk) {
236
+ rejectionReasons.push(`catalog metadata contains child-safety risk term "${violenceRisk}".`);
237
+ }
238
+ applyProfileRules(asset, profile, text, tags, rejectionReasons, warnings, matchedSignals, validationHooks, preDownload);
239
+ let scoreBonus = 0;
240
+ if (hasAnimationStyle)
241
+ scoreBonus += 24;
242
+ if (asset.license.verified && asset.license.redistributable)
243
+ scoreBonus += 8;
244
+ if (asset.access === "direct-download")
245
+ scoreBonus += 6;
246
+ if (asset.format === "glb")
247
+ scoreBonus += 6;
248
+ if (asset.sourcePage || asset.license.sourcePage)
249
+ scoreBonus += 2;
250
+ if (asset.thumbnailUrl)
251
+ scoreBonus += 2;
252
+ if (asset.bounds)
253
+ scoreBonus += 2;
254
+ if (typeof asset.fileSizeBytes === "number" && asset.fileSizeBytes <= payloadBudget(profile) / 2)
255
+ scoreBonus += 2;
256
+ scoreBonus += profileScoreBonus(asset, profile, text, tags, matchedSignals);
257
+ if (rejectionReasons.length > 0)
258
+ scoreBonus -= 100;
259
+ return {
260
+ profile,
261
+ category,
262
+ suitable: rejectionReasons.length === 0,
263
+ scoreBonus,
264
+ rejectionReasons,
265
+ warnings,
266
+ matchedSignals: [...new Set(matchedSignals)],
267
+ validationHooks: [...new Set(validationHooks)],
268
+ };
269
+ }
270
+ function applyProfileRules(asset, profile, text, tags, rejectionReasons, warnings, matchedSignals, validationHooks, preDownload) {
271
+ // Triangle/payload caps are proven-negatives only when the catalog actually
272
+ // reported a count over budget; an absent count defers to a post-download hook
273
+ // in pre-download mode (it always did fall through silently before).
274
+ const maxTriangles = triangleBudget(profile);
275
+ if (typeof asset.triangles === "number") {
276
+ if (asset.triangles > maxTriangles) {
277
+ rejectionReasons.push(`triangle count ${asset.triangles} exceeds ${profile} budget of ${maxTriangles}.`);
278
+ }
279
+ }
280
+ else if (preDownload) {
281
+ validationHooks.push("triangle-budget");
282
+ }
283
+ const maxPayload = payloadBudget(profile);
284
+ if (typeof asset.fileSizeBytes === "number") {
285
+ if (asset.fileSizeBytes > maxPayload) {
286
+ rejectionReasons.push(`payload ${asset.fileSizeBytes} bytes exceeds ${profile} browser budget of ${maxPayload}.`);
287
+ }
288
+ }
289
+ else if (preDownload) {
290
+ validationHooks.push("payload-budget");
291
+ }
292
+ if (profile === "animation-character") {
293
+ collectSignals(text, tags, CHARACTER_TERMS, matchedSignals);
294
+ collectSignals(text, tags, HUMANOID_RIG_TERMS, matchedSignals);
295
+ collectSignals(text, tags, FACIAL_TERMS, matchedSignals);
296
+ collectSignals(text, tags, ANIMATION_TERMS, matchedSignals);
297
+ if (!hasAny(text, tags, CHARACTER_TERMS)) {
298
+ rejectionReasons.push("catalog metadata is not character-like enough for a animation-character.");
299
+ }
300
+ // Rig evidence rarely appears in catalog titles/tags. Pre-download we defer
301
+ // it to a post-download rig check rather than rejecting every catalog hit.
302
+ if (!hasAny(text, tags, HUMANOID_RIG_TERMS)) {
303
+ if (preDownload) {
304
+ warnings.push("catalog metadata does not prove a rig/skeleton; validate humanoid rig after download.");
305
+ validationHooks.push("humanoid-rig");
306
+ }
307
+ else {
308
+ rejectionReasons.push("catalog metadata does not show rigged/skinned/humanoid compatibility for a animation-character.");
309
+ }
310
+ }
311
+ // A `false` flag is a proven static asset -> always reject. An *absent* flag
312
+ // is unknown: pre-download we defer to an embedded-clip check; strict mode
313
+ // keeps requiring proven clips.
314
+ if (asset.hasAnimations === false) {
315
+ rejectionReasons.push("asset is marked static; animation-character requires embedded animation clips.");
316
+ }
317
+ else if (asset.hasAnimations !== true) {
318
+ if (preDownload) {
319
+ warnings.push("missing animation metadata; validate embedded animation clips after download.");
320
+ validationHooks.push("animation-clips");
321
+ }
322
+ else {
323
+ rejectionReasons.push("missing animation metadata; animation-character requires proven embedded animation clips.");
324
+ }
325
+ }
326
+ if (!hasAny(text, tags, FACIAL_TERMS)) {
327
+ warnings.push("facial expression, mouth, morph, or viseme metadata is missing; validate lip-sync readiness after resolve.");
328
+ if (preDownload)
329
+ validationHooks.push("facial-blendshapes");
330
+ }
331
+ validateBounds(asset, 0.45, 4.5, profile, warnings, rejectionReasons, preDownload, validationHooks, "character-scale-bounds");
332
+ return;
333
+ }
334
+ if (profile === "animation-prop") {
335
+ collectSignals(text, tags, PROP_TERMS, matchedSignals);
336
+ if (!hasAny(text, tags, PROP_TERMS)) {
337
+ rejectionReasons.push("catalog metadata is not prop-like enough for a animation-prop.");
338
+ }
339
+ if (hasAny(text, tags, CHARACTER_TERMS) && !hasAny(text, tags, PROP_TERMS)) {
340
+ rejectionReasons.push("catalog metadata looks like a character, not a standalone animation prop.");
341
+ }
342
+ validateBounds(asset, 0.02, 18, profile, warnings, rejectionReasons, preDownload, validationHooks, "prop-scale-bounds");
343
+ return;
344
+ }
345
+ if (profile === "animation-set") {
346
+ collectSignals(text, tags, SET_TERMS, matchedSignals);
347
+ if (!hasAny(text, tags, SET_TERMS)) {
348
+ rejectionReasons.push("catalog metadata is not set/location-like enough for a animation-set.");
349
+ }
350
+ if (asset.bounds) {
351
+ const largest = Math.max(...asset.bounds.size);
352
+ if (largest < 1.5) {
353
+ rejectionReasons.push(`bounds largest dimension ${formatNumber(largest)}m is too small for a walkable animation set.`);
354
+ }
355
+ }
356
+ else {
357
+ warnings.push("bounds metadata unavailable; validate-animation must confirm walkable scale after resolve.");
358
+ if (preDownload)
359
+ validationHooks.push("walkable-bounds");
360
+ }
361
+ return;
362
+ }
363
+ collectSignals(text, tags, ENVIRONMENT_TERMS, matchedSignals);
364
+ if (!hasAny(text, tags, ENVIRONMENT_TERMS)) {
365
+ rejectionReasons.push("catalog metadata is not backdrop/sky/world-like enough for a animation-environment.");
366
+ }
367
+ if (asset.hasAnimations === true) {
368
+ warnings.push("environment candidate includes animations; verify it behaves as a static backdrop or world layer.");
369
+ }
370
+ }
371
+ function profileScoreBonus(asset, profile, text, tags, matchedSignals) {
372
+ let bonus = Math.min(12, matchedSignals.length * 2);
373
+ if (profile === "animation-character") {
374
+ if (hasAny(text, tags, CHARACTER_TERMS))
375
+ bonus += 16;
376
+ if (hasAny(text, tags, HUMANOID_RIG_TERMS))
377
+ bonus += 12;
378
+ if (hasAny(text, tags, FACIAL_TERMS))
379
+ bonus += 10;
380
+ if (hasAny(text, tags, ANIMATION_TERMS) || asset.hasAnimations === true)
381
+ bonus += 14;
382
+ return bonus;
383
+ }
384
+ if (profile === "animation-prop") {
385
+ if (hasAny(text, tags, PROP_TERMS))
386
+ bonus += 18;
387
+ if (asset.hasAnimations === false || asset.hasAnimations === undefined)
388
+ bonus += 4;
389
+ return bonus;
390
+ }
391
+ if (profile === "animation-set") {
392
+ if (hasAny(text, tags, SET_TERMS))
393
+ bonus += 18;
394
+ if (asset.bounds && Math.max(...asset.bounds.size) >= 1.5)
395
+ bonus += 8;
396
+ return bonus;
397
+ }
398
+ if (hasAny(text, tags, ENVIRONMENT_TERMS))
399
+ bonus += 18;
400
+ if (asset.bounds && Math.max(...asset.bounds.size) >= 8)
401
+ bonus += 6;
402
+ return bonus;
403
+ }
404
+ function validateBounds(asset, minLargest, maxLargest, profile, warnings, rejectionReasons, preDownload, validationHooks, hook) {
405
+ if (!asset.bounds) {
406
+ warnings.push("bounds metadata unavailable; validate-animation must confirm scale after resolve.");
407
+ if (preDownload)
408
+ validationHooks.push(hook);
409
+ return;
410
+ }
411
+ const largest = Math.max(...asset.bounds.size);
412
+ if (largest < minLargest) {
413
+ rejectionReasons.push(`bounds largest dimension ${formatNumber(largest)}m is too small for ${profile}.`);
414
+ }
415
+ if (largest > maxLargest) {
416
+ rejectionReasons.push(`bounds largest dimension ${formatNumber(largest)}m exceeds ${profile} scale budget of ${formatNumber(maxLargest)}m.`);
417
+ }
418
+ }
419
+ function triangleBudget(profile) {
420
+ switch (profile) {
421
+ case "animation-character":
422
+ return 160_000;
423
+ case "animation-prop":
424
+ return 100_000;
425
+ case "animation-set":
426
+ return 350_000;
427
+ case "animation-environment":
428
+ return 250_000;
429
+ }
430
+ }
431
+ function payloadBudget(profile) {
432
+ switch (profile) {
433
+ case "animation-character":
434
+ return 45 * 1024 * 1024;
435
+ case "animation-prop":
436
+ return 30 * 1024 * 1024;
437
+ case "animation-set":
438
+ return 90 * 1024 * 1024;
439
+ case "animation-environment":
440
+ return 80 * 1024 * 1024;
441
+ }
442
+ }
443
+ function searchableText(asset) {
444
+ return [
445
+ asset.id,
446
+ asset.title,
447
+ asset.description ?? "",
448
+ asset.source,
449
+ ...asset.tags,
450
+ ].join(" ").toLowerCase();
451
+ }
452
+ function hasAny(text, tags, terms) {
453
+ return terms.some((term) => text.includes(term) || tags.includes(term));
454
+ }
455
+ function collectSignals(text, tags, terms, matchedSignals) {
456
+ for (const term of terms) {
457
+ if (text.includes(term) || tags.includes(term))
458
+ matchedSignals.push(term);
459
+ }
460
+ }
461
+ function firstTerm(text, terms) {
462
+ return terms.find((term) => text.includes(term));
463
+ }
464
+ function formatNumber(value) {
465
+ return Number.isInteger(value) ? String(value) : value.toFixed(2);
466
+ }
467
+ //# sourceMappingURL=animation-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-profile.js","sourceRoot":"","sources":["../../../../packages/asset-index/src/animation-profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { AuraCanonicalAsset } from "./CanonicalAsset.js";
2
+ import type { SourceAdapter } from "./SourceAdapter.js";
3
+ export type AnimationStarterPackRole = "hero" | "sidekick" | "villain" | "narrator" | "background" | "miko" | "luma" | "furniture" | "vehicle" | "nature" | "tool" | "indoor-room" | "outdoor-park" | "school" | "space-station" | "underwater" | "moon-garden";
4
+ export type AnimationStarterPackKind = "character" | "prop" | "set";
5
+ export interface AnimationStarterPackEntry {
6
+ readonly id: string;
7
+ readonly kind: AnimationStarterPackKind;
8
+ readonly role: AnimationStarterPackRole;
9
+ readonly title: string;
10
+ readonly mirrorPath: string;
11
+ readonly source: "kenney";
12
+ readonly pack: string;
13
+ readonly license: "CC0";
14
+ readonly sourcePage: string;
15
+ readonly tags: readonly string[];
16
+ readonly bounds: readonly [number, number, number];
17
+ readonly hasAnimations?: boolean | undefined;
18
+ readonly triangles?: number | undefined;
19
+ }
20
+ export declare const animationStarterPack: readonly AnimationStarterPackEntry[];
21
+ export declare function animationStarterPackSummary(): {
22
+ readonly characterCount: number;
23
+ readonly propCount: number;
24
+ readonly setCount: number;
25
+ readonly allLicenseVerified: boolean;
26
+ };
27
+ export declare function animationStarterPackAssets(): readonly AuraCanonicalAsset[];
28
+ export declare function createAnimationStarterPackAdapter(): SourceAdapter;
29
+ //# sourceMappingURL=animation-starter-pack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-starter-pack.d.ts","sourceRoot":"","sources":["../../../../packages/asset-index/src/animation-starter-pack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,KAAK,EAAgC,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEtF,MAAM,MAAM,wBAAwB,GAChC,MAAM,GACN,UAAU,GACV,SAAS,GACT,UAAU,GACV,YAAY,GACZ,MAAM,GACN,MAAM,GACN,WAAW,GACX,SAAS,GACT,QAAQ,GACR,MAAM,GACN,aAAa,GACb,cAAc,GACd,QAAQ,GACR,eAAe,GACf,YAAY,GACZ,aAAa,CAAC;AAElB,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC;AAEpE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAKD,eAAO,MAAM,oBAAoB,EAAE,SAAS,yBAAyB,EAwB3D,CAAC;AAEX,wBAAgB,2BAA2B,IAAI;IAC7C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;CACtC,CAOA;AAED,wBAAgB,0BAA0B,IAAI,SAAS,kBAAkB,EAAE,CAE1E;AAED,wBAAgB,iCAAiC,IAAI,aAAa,CAQjE"}
@@ -0,0 +1,118 @@
1
+ import { normalizeLicense } from "./CanonicalAsset.js";
2
+ const CDN_BASE = "https://cdn.jsdelivr.net/gh/gchahal1982/aura3d-cc0-assets@main";
3
+ const KENNEY_LICENSE_PAGE = "https://kenney.nl/assets";
4
+ export const animationStarterPack = [
5
+ starterCharacter("animation-starter:miko", "miko", "Miko Moon Garden Helper", "kenney/blocky-characters/character-a.glb"),
6
+ starterCharacter("animation-starter:luma", "luma", "Luma Moon Garden Helper", "kenney/blocky-characters/character-b.glb"),
7
+ starterCharacter("animation-starter:hero", "hero", "Hero Character", "kenney/blocky-characters/character-a.glb"),
8
+ starterCharacter("animation-starter:sidekick", "sidekick", "Sidekick Character", "kenney/blocky-characters/character-b.glb"),
9
+ starterCharacter("animation-starter:villain", "villain", "Villain Character", "kenney/blocky-characters/character-c.glb"),
10
+ starterCharacter("animation-starter:narrator", "narrator", "Narrator Character", "kenney/blocky-characters/character-d.glb"),
11
+ starterCharacter("animation-starter:background-kid", "background", "Background Character", "kenney/blocky-characters/character-e.glb"),
12
+ starterProp("animation-starter:prop-stool", "furniture", "Classroom Stool Prop", "kenney/fantasy-town-kit/stall-stool.glb", ["stool", "chair", "furniture", "classroom"]),
13
+ starterProp("animation-starter:prop-bench-table", "furniture", "Activity Bench Table Prop", "kenney/fantasy-town-kit/stall-bench.glb", ["bench", "table", "desk", "furniture"]),
14
+ starterProp("animation-starter:prop-delivery-car", "vehicle", "Tiny Delivery Vehicle Prop", "kenney/car-kit/delivery.glb", ["vehicle", "car", "street"]),
15
+ starterProp("animation-starter:prop-tree", "nature", "Rounded Park Tree Prop", "kenney/city-kit-suburban/tree-small.glb", ["tree", "nature", "park"]),
16
+ starterProp("animation-starter:prop-flower", "nature", "Garden Flower Prop", "kenney/platformer-kit/flowers.glb", ["flower", "nature", "garden"]),
17
+ starterProp("animation-starter:prop-key", "tool", "Story Key Prop", "kenney/platformer-kit/key.glb", ["key", "tool", "story"]),
18
+ starterProp("animation-starter:prop-crate", "tool", "Utility Crate Prop", "kenney/platformer-kit/crate.glb", ["crate", "tool", "storage"]),
19
+ starterProp("animation-starter:prop-sign", "tool", "Direction Sign Prop", "kenney/platformer-kit/sign.glb", ["sign", "tool", "label"]),
20
+ starterProp("animation-starter:prop-bench", "furniture", "Park Bench Prop", "kenney/graveyard-kit/bench.glb", ["bench", "furniture", "park"]),
21
+ starterProp("animation-starter:prop-boat", "vehicle", "Toy Boat Vehicle Prop", "kenney/pirate-kit/boat-row-small.glb", ["boat", "vehicle", "water"]),
22
+ starterSet("animation-starter:set-indoor-room", "indoor-room", "Indoor Room Set", "kenney/modular-dungeon-kit/room-large.glb", ["room", "indoor", "set", "walkable"]),
23
+ starterSet("animation-starter:set-outdoor-park", "outdoor-park", "Outdoor Park Set", "kenney/platformer-kit/block-grass-large.glb", ["park", "outdoor", "set", "walkable"]),
24
+ starterSet("animation-starter:set-school", "school", "School Room Set", "kenney/modular-dungeon-kit/room-wide.glb", ["school", "classroom", "set", "walkable"]),
25
+ starterSet("animation-starter:set-space-station", "space-station", "Space Station Set", "kenney/modular-space-kit/room-large.glb", ["space", "station", "set", "walkable"]),
26
+ starterSet("animation-starter:set-underwater", "underwater", "Underwater Cove Set", "kenney/pirate-kit/ship-wreck.glb", ["underwater", "ocean", "set", "walkable"]),
27
+ starterSet("animation-starter:set-moon-garden", "moon-garden", "Moon Garden Set", "kenney/platformer-kit/block-grass-large.glb", ["moon", "garden", "outdoor", "set", "walkable"]),
28
+ ];
29
+ export function animationStarterPackSummary() {
30
+ return {
31
+ characterCount: animationStarterPack.filter((entry) => entry.kind === "character").length,
32
+ propCount: animationStarterPack.filter((entry) => entry.kind === "prop").length,
33
+ setCount: animationStarterPack.filter((entry) => entry.kind === "set").length,
34
+ allLicenseVerified: animationStarterPack.every((entry) => entry.license === "CC0" && entry.sourcePage.length > 0),
35
+ };
36
+ }
37
+ export function animationStarterPackAssets() {
38
+ return animationStarterPack.map(toCanonical);
39
+ }
40
+ export function createAnimationStarterPackAdapter() {
41
+ return {
42
+ id: "animation-starter-pack",
43
+ label: "Aura3D curated animation starter pack",
44
+ async search(_query, _ctx) {
45
+ return animationStarterPackAssets();
46
+ },
47
+ };
48
+ }
49
+ function starterCharacter(id, role, title, mirrorPath) {
50
+ return {
51
+ id,
52
+ kind: "character",
53
+ role,
54
+ title,
55
+ mirrorPath,
56
+ source: "kenney",
57
+ pack: "blocky-characters",
58
+ license: "CC0",
59
+ sourcePage: KENNEY_LICENSE_PAGE,
60
+ tags: ["animation", "stylized", "low-poly", "character", "humanoid", "starter", role, "rigged", "animated", "mouth", "viseme", "expression", "primitive mouth-card fallback"],
61
+ bounds: [0.8, 1.7, 0.8],
62
+ hasAnimations: true,
63
+ triangles: 8_000,
64
+ };
65
+ }
66
+ function starterProp(id, role, title, mirrorPath, tags) {
67
+ return {
68
+ id,
69
+ kind: "prop",
70
+ role,
71
+ title,
72
+ mirrorPath,
73
+ source: "kenney",
74
+ pack: "animation-starter-props",
75
+ license: "CC0",
76
+ sourcePage: KENNEY_LICENSE_PAGE,
77
+ tags: ["animation", "stylized", "low-poly", "prop", "starter", role, ...tags],
78
+ bounds: [1, 1, 1],
79
+ hasAnimations: false,
80
+ triangles: 12_000,
81
+ };
82
+ }
83
+ function starterSet(id, role, title, mirrorPath, tags) {
84
+ return {
85
+ id,
86
+ kind: "set",
87
+ role,
88
+ title,
89
+ mirrorPath,
90
+ source: "kenney",
91
+ pack: "animation-starter-sets",
92
+ license: "CC0",
93
+ sourcePage: KENNEY_LICENSE_PAGE,
94
+ tags: ["animation", "stylized", "low-poly", "set", "environment", "starter", role, ...tags],
95
+ bounds: [6, 2, 6],
96
+ hasAnimations: false,
97
+ triangles: 40_000,
98
+ };
99
+ }
100
+ function toCanonical(entry) {
101
+ return {
102
+ id: entry.id,
103
+ source: `starter:${entry.source}`,
104
+ title: entry.title,
105
+ description: `Curated ${entry.kind} for the Aura3D animation starter pack. Role: ${entry.role}. Source pack: ${entry.pack}.`,
106
+ url: `${CDN_BASE}/${entry.mirrorPath}`,
107
+ access: "direct-download",
108
+ format: "glb",
109
+ license: normalizeLicense(entry.license, entry.sourcePage),
110
+ sourcePage: entry.sourcePage,
111
+ attribution: "Kenney",
112
+ tags: entry.tags,
113
+ bounds: { size: entry.bounds },
114
+ hasAnimations: entry.hasAnimations,
115
+ triangles: entry.triangles,
116
+ };
117
+ }
118
+ //# sourceMappingURL=animation-starter-pack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-starter-pack.js","sourceRoot":"","sources":["../../../../packages/asset-index/src/animation-starter-pack.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,28 @@ export interface CartoonAssetProfileEvaluation {
9
9
  readonly rejectionReasons: readonly string[];
10
10
  readonly warnings: readonly string[];
11
11
  readonly matchedSignals: readonly string[];
12
+ /**
13
+ * Checks that could not be decided from pre-download catalog metadata and must
14
+ * be re-run against the downloaded GLB (e.g. embedded animation clips, rig,
15
+ * triangle budget, walkable bounds). Empty unless `preDownload` was set.
16
+ */
17
+ readonly validationHooks: readonly CartoonAssetValidationHook[];
18
+ }
19
+ /** A deferred, post-download check the resolver/CLI should run on the GLB. */
20
+ export type CartoonAssetValidationHook = "animation-clips" | "humanoid-rig" | "facial-blendshapes" | "triangle-budget" | "payload-budget" | "walkable-bounds" | "character-scale-bounds" | "prop-scale-bounds";
21
+ export interface CartoonAssetProfileEvaluationOptions {
22
+ /**
23
+ * Pre-download (catalog-only) ranking mode. The hosted catalog exposes title +
24
+ * tags + license but rarely rig/animation/triangle metadata, so in this mode
25
+ * checks that depend on *absent* metadata DOWN-RANK and defer to a post-download
26
+ * `validationHooks` entry instead of hard-rejecting the candidate. Proven-negative
27
+ * signals (a `false` animation flag, photoreal/IP-risk/violence terms, or a
28
+ * known-oversized payload/triangle/extent) still reject. Defaults to `false`
29
+ * (strict post-download evaluation), preserving existing behavior.
30
+ */
31
+ readonly preDownload?: boolean;
12
32
  }
13
33
  export declare const cartoonAssetProfiles: readonly CartoonAssetProfile[];
14
34
  export declare function isCartoonAssetProfile(profile: string): profile is CartoonAssetProfile;
15
- export declare function evaluateCartoonAssetProfile(asset: AuraCanonicalAsset, profile: CartoonAssetProfile): CartoonAssetProfileEvaluation;
35
+ export declare function evaluateCartoonAssetProfile(asset: AuraCanonicalAsset, profile: CartoonAssetProfile, options?: CartoonAssetProfileEvaluationOptions): CartoonAssetProfileEvaluation;
16
36
  //# sourceMappingURL=cartoon-profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cartoon-profile.d.ts","sourceRoot":"","sources":["../../../../packages/asset-index/src/cartoon-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,qBAAqB,CAAC;AAE1B,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;AAEhF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,eAAO,MAAM,oBAAoB,EAAE,SAAS,mBAAmB,EAK9D,CAAC;AAkMF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,mBAAmB,CAErF;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,mBAAmB,GAC3B,6BAA6B,CAkE/B"}
1
+ {"version":3,"file":"cartoon-profile.d.ts","sourceRoot":"","sources":["../../../../packages/asset-index/src/cartoon-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,qBAAqB,CAAC;AAE1B,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;AAEhF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,0BAA0B,EAAE,CAAC;CACjE;AAED,8EAA8E;AAC9E,MAAM,MAAM,0BAA0B,GAClC,iBAAiB,GACjB,cAAc,GACd,oBAAoB,GACpB,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,GACjB,wBAAwB,GACxB,mBAAmB,CAAC;AAExB,MAAM,WAAW,oCAAoC;IACnD;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,oBAAoB,EAAE,SAAS,mBAAmB,EAK9D,CAAC;AAkMF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,mBAAmB,CAErF;AAKD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,oCAAyC,GACjD,6BAA6B,CA8E/B"}
@@ -187,11 +187,15 @@ const VIOLENCE_TERMS = [
187
187
  export function isCartoonAssetProfile(profile) {
188
188
  return cartoonAssetProfiles.includes(profile);
189
189
  }
190
- export function evaluateCartoonAssetProfile(asset, profile) {
190
+ /** Hard cap on any single bounds dimension; beyond this an asset is mis-scaled. */
191
+ const INSANE_EXTENT_UNITS = 50;
192
+ export function evaluateCartoonAssetProfile(asset, profile, options = {}) {
193
+ const preDownload = options.preDownload === true;
191
194
  const category = PROFILE_CATEGORY[profile];
192
195
  const rejectionReasons = [];
193
196
  const warnings = [];
194
197
  const matchedSignals = [];
198
+ const validationHooks = [];
195
199
  const text = searchableText(asset);
196
200
  const tags = asset.tags.map((tag) => tag.toLowerCase());
197
201
  if (asset.access !== "direct-download") {
@@ -203,6 +207,14 @@ export function evaluateCartoonAssetProfile(asset, profile) {
203
207
  if (asset.format !== "glb") {
204
208
  rejectionReasons.push(`expected GLB format for cartoon-library auto-resolve; found ${asset.format}.`);
205
209
  }
210
+ // An insanely large extent is a proven-negative signal in every mode: even
211
+ // pre-download we know the bounds are wrong if the catalog reported them.
212
+ if (asset.bounds) {
213
+ const largest = Math.max(...asset.bounds.size);
214
+ if (largest > INSANE_EXTENT_UNITS) {
215
+ rejectionReasons.push(`bounds largest dimension ${formatNumber(largest)}m is implausible (> ${INSANE_EXTENT_UNITS}m); asset is mis-scaled.`);
216
+ }
217
+ }
206
218
  collectSignals(text, tags, CARTOON_STYLE_TERMS, matchedSignals);
207
219
  const hasCartoonStyle = hasAny(text, tags, CARTOON_STYLE_TERMS);
208
220
  if (!hasCartoonStyle) {
@@ -223,7 +235,7 @@ export function evaluateCartoonAssetProfile(asset, profile) {
223
235
  if (violenceRisk) {
224
236
  rejectionReasons.push(`catalog metadata contains child-safety risk term "${violenceRisk}".`);
225
237
  }
226
- applyProfileRules(asset, profile, text, tags, rejectionReasons, warnings, matchedSignals);
238
+ applyProfileRules(asset, profile, text, tags, rejectionReasons, warnings, matchedSignals, validationHooks, preDownload);
227
239
  let scoreBonus = 0;
228
240
  if (hasCartoonStyle)
229
241
  scoreBonus += 24;
@@ -252,16 +264,30 @@ export function evaluateCartoonAssetProfile(asset, profile) {
252
264
  rejectionReasons,
253
265
  warnings,
254
266
  matchedSignals: [...new Set(matchedSignals)],
267
+ validationHooks: [...new Set(validationHooks)],
255
268
  };
256
269
  }
257
- function applyProfileRules(asset, profile, text, tags, rejectionReasons, warnings, matchedSignals) {
270
+ function applyProfileRules(asset, profile, text, tags, rejectionReasons, warnings, matchedSignals, validationHooks, preDownload) {
271
+ // Triangle/payload caps are proven-negatives only when the catalog actually
272
+ // reported a count over budget; an absent count defers to a post-download hook
273
+ // in pre-download mode (it always did fall through silently before).
258
274
  const maxTriangles = triangleBudget(profile);
259
- if (typeof asset.triangles === "number" && asset.triangles > maxTriangles) {
260
- rejectionReasons.push(`triangle count ${asset.triangles} exceeds ${profile} budget of ${maxTriangles}.`);
275
+ if (typeof asset.triangles === "number") {
276
+ if (asset.triangles > maxTriangles) {
277
+ rejectionReasons.push(`triangle count ${asset.triangles} exceeds ${profile} budget of ${maxTriangles}.`);
278
+ }
279
+ }
280
+ else if (preDownload) {
281
+ validationHooks.push("triangle-budget");
261
282
  }
262
283
  const maxPayload = payloadBudget(profile);
263
- if (typeof asset.fileSizeBytes === "number" && asset.fileSizeBytes > maxPayload) {
264
- rejectionReasons.push(`payload ${asset.fileSizeBytes} bytes exceeds ${profile} browser budget of ${maxPayload}.`);
284
+ if (typeof asset.fileSizeBytes === "number") {
285
+ if (asset.fileSizeBytes > maxPayload) {
286
+ rejectionReasons.push(`payload ${asset.fileSizeBytes} bytes exceeds ${profile} browser budget of ${maxPayload}.`);
287
+ }
288
+ }
289
+ else if (preDownload) {
290
+ validationHooks.push("payload-budget");
265
291
  }
266
292
  if (profile === "cartoon-character") {
267
293
  collectSignals(text, tags, CHARACTER_TERMS, matchedSignals);
@@ -271,18 +297,38 @@ function applyProfileRules(asset, profile, text, tags, rejectionReasons, warning
271
297
  if (!hasAny(text, tags, CHARACTER_TERMS)) {
272
298
  rejectionReasons.push("catalog metadata is not character-like enough for a cartoon-character.");
273
299
  }
300
+ // Rig evidence rarely appears in catalog titles/tags. Pre-download we defer
301
+ // it to a post-download rig check rather than rejecting every catalog hit.
274
302
  if (!hasAny(text, tags, HUMANOID_RIG_TERMS)) {
275
- rejectionReasons.push("catalog metadata does not show rigged/skinned/humanoid compatibility for a cartoon-character.");
303
+ if (preDownload) {
304
+ warnings.push("catalog metadata does not prove a rig/skeleton; validate humanoid rig after download.");
305
+ validationHooks.push("humanoid-rig");
306
+ }
307
+ else {
308
+ rejectionReasons.push("catalog metadata does not show rigged/skinned/humanoid compatibility for a cartoon-character.");
309
+ }
310
+ }
311
+ // A `false` flag is a proven static asset -> always reject. An *absent* flag
312
+ // is unknown: pre-download we defer to an embedded-clip check; strict mode
313
+ // keeps requiring proven clips.
314
+ if (asset.hasAnimations === false) {
315
+ rejectionReasons.push("asset is marked static; cartoon-character requires embedded animation clips.");
276
316
  }
277
- if (asset.hasAnimations !== true) {
278
- rejectionReasons.push(asset.hasAnimations === false
279
- ? "asset is marked static; cartoon-character requires embedded animation clips."
280
- : "missing animation metadata; cartoon-character requires proven embedded animation clips.");
317
+ else if (asset.hasAnimations !== true) {
318
+ if (preDownload) {
319
+ warnings.push("missing animation metadata; validate embedded animation clips after download.");
320
+ validationHooks.push("animation-clips");
321
+ }
322
+ else {
323
+ rejectionReasons.push("missing animation metadata; cartoon-character requires proven embedded animation clips.");
324
+ }
281
325
  }
282
326
  if (!hasAny(text, tags, FACIAL_TERMS)) {
283
327
  warnings.push("facial expression, mouth, morph, or viseme metadata is missing; validate lip-sync readiness after resolve.");
328
+ if (preDownload)
329
+ validationHooks.push("facial-blendshapes");
284
330
  }
285
- validateBounds(asset, 0.45, 4.5, profile, warnings, rejectionReasons);
331
+ validateBounds(asset, 0.45, 4.5, profile, warnings, rejectionReasons, preDownload, validationHooks, "character-scale-bounds");
286
332
  return;
287
333
  }
288
334
  if (profile === "cartoon-prop") {
@@ -293,7 +339,7 @@ function applyProfileRules(asset, profile, text, tags, rejectionReasons, warning
293
339
  if (hasAny(text, tags, CHARACTER_TERMS) && !hasAny(text, tags, PROP_TERMS)) {
294
340
  rejectionReasons.push("catalog metadata looks like a character, not a standalone cartoon prop.");
295
341
  }
296
- validateBounds(asset, 0.02, 18, profile, warnings, rejectionReasons);
342
+ validateBounds(asset, 0.02, 18, profile, warnings, rejectionReasons, preDownload, validationHooks, "prop-scale-bounds");
297
343
  return;
298
344
  }
299
345
  if (profile === "cartoon-set") {
@@ -309,6 +355,8 @@ function applyProfileRules(asset, profile, text, tags, rejectionReasons, warning
309
355
  }
310
356
  else {
311
357
  warnings.push("bounds metadata unavailable; validate-cartoon must confirm walkable scale after resolve.");
358
+ if (preDownload)
359
+ validationHooks.push("walkable-bounds");
312
360
  }
313
361
  return;
314
362
  }
@@ -353,9 +401,11 @@ function profileScoreBonus(asset, profile, text, tags, matchedSignals) {
353
401
  bonus += 6;
354
402
  return bonus;
355
403
  }
356
- function validateBounds(asset, minLargest, maxLargest, profile, warnings, rejectionReasons) {
404
+ function validateBounds(asset, minLargest, maxLargest, profile, warnings, rejectionReasons, preDownload, validationHooks, hook) {
357
405
  if (!asset.bounds) {
358
406
  warnings.push("bounds metadata unavailable; validate-cartoon must confirm scale after resolve.");
407
+ if (preDownload)
408
+ validationHooks.push(hook);
359
409
  return;
360
410
  }
361
411
  const largest = Math.max(...asset.bounds.size);
@@ -1 +1 @@
1
- {"version":3,"file":"cartoon-profile.js","sourceRoot":"","sources":["../../../../packages/asset-index/src/cartoon-profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cartoon-profile.js","sourceRoot":"","sources":["../../../../packages/asset-index/src/cartoon-profile.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -18,10 +18,10 @@ export { defaultFetchJson } from "./SourceAdapter.js";
18
18
  export { scoreAsset, matchesConstraints } from "./ranking.js";
19
19
  export { evaluateGameAssetProfile, gameAssetProfileDefinitions, getGameAssetProfileDefinition } from "./game-profile.js";
20
20
  export type { GameAssetProfile, GameAssetProfileDefinition, GameAssetProfileEvaluation, GameAssetProfileScoringRules } from "./game-profile.js";
21
- export { cartoonAssetProfiles, evaluateCartoonAssetProfile, isCartoonAssetProfile, } from "./cartoon-profile.js";
22
- export type { CartoonAssetCategory, CartoonAssetProfile, CartoonAssetProfileEvaluation, } from "./cartoon-profile.js";
23
- export { cartoonStarterPack, cartoonStarterPackAssets, cartoonStarterPackSummary, createCartoonStarterPackAdapter, } from "./cartoon-starter-pack.js";
24
- export type { CartoonStarterPackEntry, CartoonStarterPackKind, CartoonStarterPackRole, } from "./cartoon-starter-pack.js";
21
+ export { animationAssetProfiles, evaluateAnimationAssetProfile, isAnimationAssetProfile, } from "./animation-profile.js";
22
+ export type { AnimationAssetCategory, AnimationAssetProfile, AnimationAssetProfileEvaluation, } from "./animation-profile.js";
23
+ export { animationStarterPack, animationStarterPackAssets, animationStarterPackSummary, createAnimationStarterPackAdapter, } from "./animation-starter-pack.js";
24
+ export type { AnimationStarterPackEntry, AnimationStarterPackKind, AnimationStarterPackRole, } from "./animation-starter-pack.js";
25
25
  export type { ResolveCandidate, ResolveResult, FederatedResolverOptions, } from "./federate.js";
26
26
  export { FederatedResolver } from "./federate.js";
27
27
  export { createKhronosAdapter } from "./adapters/khronos.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/asset-index/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvE,YAAY,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AACzH,YAAY,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAChJ,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEtF,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,IAAI,aAAa,EAAE,CAQjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/asset-index/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvE,YAAY,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AACzH,YAAY,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAChJ,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEtF,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,IAAI,aAAa,EAAE,CAQjD"}
package/dist/index.js CHANGED
@@ -15,8 +15,8 @@ export { isAutoPullable, normalizeLicense } from "./CanonicalAsset.js";
15
15
  export { defaultFetchJson } from "./SourceAdapter.js";
16
16
  export { scoreAsset, matchesConstraints } from "./ranking.js";
17
17
  export { evaluateGameAssetProfile, gameAssetProfileDefinitions, getGameAssetProfileDefinition } from "./game-profile.js";
18
- export { cartoonAssetProfiles, evaluateCartoonAssetProfile, isCartoonAssetProfile, } from "./cartoon-profile.js";
19
- export { cartoonStarterPack, cartoonStarterPackAssets, cartoonStarterPackSummary, createCartoonStarterPackAdapter, } from "./cartoon-starter-pack.js";
18
+ export { animationAssetProfiles, evaluateAnimationAssetProfile, isAnimationAssetProfile, } from "./animation-profile.js";
19
+ export { animationStarterPack, animationStarterPackAssets, animationStarterPackSummary, createAnimationStarterPackAdapter, } from "./animation-starter-pack.js";
20
20
  export { FederatedResolver } from "./federate.js";
21
21
  export { createKhronosAdapter } from "./adapters/khronos.js";
22
22
  export { createOS3AAdapter } from "./adapters/os3a.js";
@@ -33,7 +33,7 @@ import { createKhronosAdapter } from "./adapters/khronos.js";
33
33
  import { createOS3AAdapter } from "./adapters/os3a.js";
34
34
  import { createPolyHavenAdapter } from "./adapters/poly-haven.js";
35
35
  import { createJsDelivrMirrorAdapter } from "./adapters/jsdelivr-mirror.js";
36
- import { createCartoonStarterPackAdapter } from "./cartoon-starter-pack.js";
36
+ import { createAnimationStarterPackAdapter } from "./animation-starter-pack.js";
37
37
  /**
38
38
  * The zero-auth, verified source adapters available today.
39
39
  *
@@ -48,7 +48,7 @@ import { createCartoonStarterPackAdapter } from "./cartoon-starter-pack.js";
48
48
  */
49
49
  export function defaultAdapters() {
50
50
  return [
51
- createCartoonStarterPackAdapter(),
51
+ createAnimationStarterPackAdapter(),
52
52
  createKhronosAdapter(),
53
53
  createOS3AAdapter(),
54
54
  createPolyHavenAdapter(),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/asset-index/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEzH,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAYnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,+BAA+B,EAAE;QACjC,oBAAoB,EAAE;QACtB,iBAAiB,EAAE;QACnB,sBAAsB,EAAE;QACxB,2BAA2B,EAAE;KAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/asset-index/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEzH,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAYrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,iCAAiC,EAAE;QACnC,oBAAoB,EAAE;QACtB,iBAAiB,EAAE;QACnB,sBAAsB,EAAE;QACxB,2BAA2B,EAAE;KAC9B,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aura3d/asset-index",
3
- "version": "1.1.0",
3
+ "version": "1.3.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -16,4 +16,4 @@
16
16
  "publishConfig": {
17
17
  "access": "public"
18
18
  }
19
- }
19
+ }