@aura3d/asset-index 3.0.1 → 4.0.2

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.
@@ -29,7 +29,29 @@ export interface AuraAssetLicense {
29
29
  /** Human-checkable page where the license can be confirmed. */
30
30
  readonly sourcePage?: string;
31
31
  }
32
- export type AuraAssetFormat = "glb" | "gltf";
32
+ /**
33
+ * `glb`/`gltf` for models; `hdr` for radiance environment maps; `texture-set`
34
+ * for a PBR map bundle (base/normal/ORM/...) assembled per-source; `image` for
35
+ * a standalone texture file. PRD-05 §6.6 added the non-model values so HDRI and
36
+ * texture sources federate through the same canonical record.
37
+ */
38
+ export type AuraAssetFormat = "glb" | "gltf" | "hdr" | "texture-set" | "image";
39
+ /** One directly-fetchable file belonging to a canonical record. */
40
+ export interface AuraAssetFileEntry {
41
+ readonly name: string;
42
+ readonly url: string;
43
+ readonly sizeBytes?: number;
44
+ readonly md5?: string;
45
+ }
46
+ /** Membership of the curated §6.6 library (aura.library.json). */
47
+ export interface AuraLibraryMembership {
48
+ /** Kit id, e.g. "characters/humanoid-pbr" or "hdri". */
49
+ readonly kitId: string;
50
+ /** Entry id inside the kit. */
51
+ readonly entryId: string;
52
+ /** Repo-relative path of the admitted bytes (e.g. assets/library/hdri/x.hdr). */
53
+ readonly path: string;
54
+ }
33
55
  /** Whether the file can be fetched directly or is a discovery deep-link only. */
34
56
  export type AuraAssetAccess = "direct-download" | "deep-link-only";
35
57
  export interface AuraAssetBounds {
@@ -91,6 +113,24 @@ export interface AuraCanonicalAsset {
91
113
  readonly qualityWarnings?: readonly string[];
92
114
  readonly duplicateHash?: string;
93
115
  readonly duplicateOkReason?: string;
116
+ /**
117
+ * Multi-file pull set (PRD-05 §6.6): HDRIs carry one entry per resolution;
118
+ * texture-sets carry one entry per map/zip. `url`/`downloadUrl` remain the
119
+ * canonical single-file choice when the source has one.
120
+ */
121
+ readonly downloadFileset?: readonly AuraAssetFileEntry[];
122
+ /** §6.6 library membership — set only for entries read from aura.library.json. */
123
+ readonly library?: AuraLibraryMembership;
124
+ /** True when the entry carries an approved §6.7 look-dev record (G9). */
125
+ readonly lookDevApproved?: boolean;
126
+ /** `assets/art-direction/<id>.json` id the entry was admitted under (G10). */
127
+ readonly artDirection?: string;
128
+ /** §6.7 HDRI: dominant-light direction (unit vector, equirect). */
129
+ readonly sunDirection?: readonly [number, number, number];
130
+ /** §6.7 HDRI: 99th-percentile relative luminance. */
131
+ readonly luminanceP99?: number;
132
+ /** §6.7 HDRI: estimated white balance (McCamy CCT, kelvin). */
133
+ readonly whiteBalanceK?: number;
94
134
  readonly rawCatalogMetadata?: Readonly<Record<string, unknown>>;
95
135
  }
96
136
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CanonicalAsset.d.ts","sourceRoot":"","sources":["../../../../packages/asset-index/src/CanonicalAsset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CanonicalAsset.d.ts","sourceRoot":"","sources":["../../../../packages/asset-index/src/CanonicalAsset.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CanonicalAsset.js","sourceRoot":"","sources":["../../../../packages/asset-index/src/CanonicalAsset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA6GH;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAyB;IACtD,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,iBAAiB;QAClC,KAAK,CAAC,OAAO,CAAC,QAAQ;QACtB,KAAK,CAAC,OAAO,CAAC,eAAe,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAiE;IAClF,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;IAC3F,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;IACjG,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;IACvG,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;IAChG,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;IACpG,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;CACrG,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAA8B,EAC9B,UAAmB;IAEnB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC;IAChD,CAAC;IACD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,GAAG,IAAI,EAAE;QACd,QAAQ,EAAE,KAAK;QACf,mBAAmB,EAAE,IAAI;QACzB,eAAe,EAAE,KAAK;QACtB,UAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CanonicalAsset.js","sourceRoot":"","sources":["../../../../packages/asset-index/src/CanonicalAsset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuJH;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAyB;IACtD,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,iBAAiB;QAClC,KAAK,CAAC,OAAO,CAAC,QAAQ;QACtB,KAAK,CAAC,OAAO,CAAC,eAAe,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAiE;IAClF,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;IAC3F,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;IACjG,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;IACvG,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;IAChG,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;IACpG,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;CACrG,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAA8B,EAC9B,UAAmB;IAEnB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC;IAChD,CAAC;IACD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,GAAG,IAAI,EAAE;QACd,QAAQ,EAAE,KAAK;QACf,mBAAmB,EAAE,IAAI;QACzB,eAAe,EAAE,KAAK;QACtB,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SourceAdapter } from "../SourceAdapter.js";
2
+ export declare function createAmbientCgAdapter(): SourceAdapter;
3
+ //# sourceMappingURL=ambientcg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambientcg.d.ts","sourceRoot":"","sources":["../../../../../packages/asset-index/src/adapters/ambientcg.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,qBAAqB,CAAC;AA4I7B,wBAAgB,sBAAsB,IAAI,aAAa,CAWtD"}
@@ -0,0 +1,112 @@
1
+ import { normalizeLicense } from "../CanonicalAsset.js";
2
+ /**
3
+ * ambientCG adapter — https://ambientcg.com (free public JSON API, NO key).
4
+ *
5
+ * Verified live (Oct 2026):
6
+ * GET https://ambientcg.com/api/v2/full_json?type=Material&include=downloadData&limit=N&offset=N
7
+ * -> { foundAssets: [{
8
+ * assetId, displayName, displayCategory, tags[], popularityScore,
9
+ * shortLink, dataType ("Material"), dimensionX/Y/Z,
10
+ * downloadFolders: { default: { downloadFiletypeCategories:
11
+ * { zip: { downloads: [{ fullDownloadPath, fileName, size, attribute: "1K-JPG", ... }] } } } }
12
+ * }], nextPageHttp }
13
+ *
14
+ * All ambientCG content is released under CC0-1.0 (stated on the API's own
15
+ * terms-of-use page: https://docs.ambientcg.com/legal/), so the license is
16
+ * verified + redistributable.
17
+ *
18
+ * Every record is a single-zip direct download; `downloadUrl` is the 2K-JPG
19
+ * zip (the lane's default ingest res) and `downloadFileset` carries the
20
+ * 1K/2K PNG+JPG variants so a puller can pick. Records are `texture-set`
21
+ * format — ambientCG materials are map bundles, not meshes.
22
+ */
23
+ const API_URL = "https://ambientcg.com/api/v2/full_json";
24
+ const PAGE_BASE = "https://ambientcg.com/a";
25
+ /** Pages of 200 catalog rows; the full material catalog is ~2.5k rows. */
26
+ const PAGE_LIMIT = 200;
27
+ const MAX_PAGES = 14;
28
+ const PREFERRED_ZIP = "2K-JPG";
29
+ const FILESET_ZIP_ATTRS = ["1K-JPG", "2K-JPG", "1K-PNG", "2K-PNG"];
30
+ function tokenize(text) {
31
+ return text
32
+ .replace(/[_-]+/g, " ")
33
+ .toLowerCase()
34
+ .split(/[^a-z0-9]+/)
35
+ .filter((t) => t.length > 1);
36
+ }
37
+ function toCanonical(asset) {
38
+ const id = asset.assetId;
39
+ if (!id)
40
+ return undefined;
41
+ const zips = asset.downloadFolders?.default?.downloadFiletypeCategories?.zip?.downloads ?? [];
42
+ const preferred = zips.find((z) => z.attribute === PREFERRED_ZIP && z.fullDownloadPath);
43
+ if (!preferred?.fullDownloadPath)
44
+ return undefined;
45
+ const fileset = FILESET_ZIP_ATTRS.flatMap((attr) => {
46
+ const zip = zips.find((z) => z.attribute === attr && z.fullDownloadPath);
47
+ return zip ? [{ name: zip.fileName ?? `${id}-${attr}.zip`, url: zip.fullDownloadPath, sizeBytes: zip.size }] : [];
48
+ });
49
+ const sourcePage = asset.shortLink ?? `${PAGE_BASE}/${id}`;
50
+ const title = asset.displayName ?? id;
51
+ const sizeCm = asset.dimensionX;
52
+ const tags = Array.from(new Set([
53
+ ...(asset.tags ?? []).map((t) => t.toLowerCase()),
54
+ ...(asset.displayCategory ? [asset.displayCategory.toLowerCase()] : []),
55
+ ...tokenize(title),
56
+ "texture", "pbr", "material",
57
+ ]));
58
+ return {
59
+ id: `ambientcg:${id}`,
60
+ source: "ambientcg",
61
+ title,
62
+ description: asset.description || asset.displayCategory,
63
+ url: preferred.fullDownloadPath,
64
+ downloadUrl: preferred.fullDownloadPath,
65
+ downloadFileset: fileset.length > 0 ? fileset : [{ name: preferred.fileName ?? `${id}-${PREFERRED_ZIP}.zip`, url: preferred.fullDownloadPath, sizeBytes: preferred.size }],
66
+ access: "direct-download",
67
+ format: "texture-set",
68
+ license: normalizeLicense("CC0-1.0", sourcePage),
69
+ licenseName: "CC0-1.0",
70
+ licenseUrl: "https://docs.ambientcg.com/legal/",
71
+ fileSizeBytes: preferred.size,
72
+ bounds: typeof sizeCm === "number" && sizeCm > 0
73
+ ? { size: [sizeCm / 100, (asset.dimensionY ?? sizeCm) / 100, (asset.dimensionZ ?? 0) / 100] }
74
+ : undefined,
75
+ qualityScore: typeof asset.popularityScore === "number" ? asset.popularityScore : undefined,
76
+ tags,
77
+ sourcePage,
78
+ sourceFamily: "ambientcg",
79
+ author: "ambientCG",
80
+ attribution: "ambientCG (CC0)",
81
+ intendedRole: "set-dressing",
82
+ roleSuitability: "Tiling PBR texture set (diffuse/normal/ORM-style maps in one zip) — assemble into a material entry.",
83
+ rawCatalogMetadata: { dataType: asset.dataType, dimensionCm: [asset.dimensionX, asset.dimensionY, asset.dimensionZ] },
84
+ };
85
+ }
86
+ async function loadAll(ctx) {
87
+ const out = [];
88
+ let url = `${API_URL}?type=Material&include=downloadData&limit=${PAGE_LIMIT}&offset=0`;
89
+ for (let page = 0; page < MAX_PAGES && url; page++) {
90
+ const res = (await ctx.fetchJson(url));
91
+ for (const asset of res.foundAssets ?? []) {
92
+ const record = toCanonical(asset);
93
+ if (record)
94
+ out.push(record);
95
+ }
96
+ url = res.nextPageHttp;
97
+ }
98
+ return out;
99
+ }
100
+ export function createAmbientCgAdapter() {
101
+ let cache = null;
102
+ return {
103
+ id: "ambientcg",
104
+ label: "ambientCG (CC0)",
105
+ async search(_query, ctx) {
106
+ if (!cache)
107
+ cache = await loadAll(ctx);
108
+ return cache;
109
+ },
110
+ };
111
+ }
112
+ //# sourceMappingURL=ambientcg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambientcg.js","sourceRoot":"","sources":["../../../../../packages/asset-index/src/adapters/ambientcg.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import type { SourceAdapter } from "../SourceAdapter.js";
2
+ /**
3
+ * §6.6 curated-library adapter (PRD-05 Phase 5).
4
+ *
5
+ * The library is the project's own `aura.library.json`: every kit/entry in it
6
+ * was admitted through §6.4 G1–G11 with an approved §6.7 look-dev record, so
7
+ * its records are always verified-licensed, direct-"download" (local copy),
8
+ * and carry the §6.6 ranking signals (`library`, `lookDevApproved`,
9
+ * `artDirection`) that make them resolve first per the §6.6 rule "catalog
10
+ * search/resolve ranks library entries first".
11
+ *
12
+ * The adapter is pure: callers inject the parsed manifest so the index layer
13
+ * stays free of filesystem assumptions (the CLI reads the file; browser-side
14
+ * consumers can pass a bundled manifest).
15
+ */
16
+ /** Minimal entry shape the adapter needs — a superset-free view of the CLI's library entry. */
17
+ export interface AuraLibraryEntryShape {
18
+ readonly id: string;
19
+ readonly kit?: string;
20
+ readonly type: string;
21
+ readonly format: string;
22
+ /** Repo-relative path of the admitted bytes under assets/library/. */
23
+ readonly libraryPath: string;
24
+ readonly title?: string;
25
+ readonly sizeBytes?: number;
26
+ readonly bounds?: readonly [number, number, number];
27
+ readonly triangleCount?: number;
28
+ readonly meshCount?: number;
29
+ readonly materialCount?: number;
30
+ readonly textureCount?: number;
31
+ readonly animationClips?: readonly {
32
+ readonly name: string;
33
+ }[];
34
+ readonly animations?: readonly string[];
35
+ readonly skinned?: boolean;
36
+ readonly role?: string;
37
+ readonly artDirection?: string;
38
+ readonly lookDevApproved?: boolean;
39
+ readonly sourcePage?: string;
40
+ readonly source?: string;
41
+ readonly license?: string;
42
+ readonly author?: string;
43
+ readonly attribution?: string;
44
+ readonly retrievedAt?: string;
45
+ readonly tags?: readonly string[];
46
+ /** §6.7 HDRI environment fields, carried through to canonical. */
47
+ readonly sunDirection?: readonly [number, number, number];
48
+ readonly luminanceP99?: number;
49
+ readonly whiteBalanceK?: number;
50
+ readonly downloadFileset?: readonly {
51
+ readonly name: string;
52
+ readonly url: string;
53
+ readonly sizeBytes?: number;
54
+ readonly md5?: string;
55
+ }[];
56
+ }
57
+ export interface AuraLibraryManifestShape {
58
+ readonly schema: string;
59
+ readonly kits?: readonly {
60
+ readonly id: string;
61
+ readonly artDirection?: string;
62
+ }[];
63
+ readonly entries: readonly AuraLibraryEntryShape[];
64
+ }
65
+ export interface AuraLibraryAdapterOptions {
66
+ readonly manifest: AuraLibraryManifestShape;
67
+ }
68
+ export declare function createAuraLibraryAdapter(options: AuraLibraryAdapterOptions): SourceAdapter;
69
+ //# sourceMappingURL=aura-library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aura-library.d.ts","sourceRoot":"","sources":["../../../../../packages/asset-index/src/adapters/aura-library.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;GAaG;AAEH,+FAA+F;AAC/F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,kEAAkE;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3I;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnF,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;CAC7C;AAmED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,aAAa,CAW1F"}
@@ -0,0 +1,75 @@
1
+ import { normalizeLicense } from "../CanonicalAsset.js";
2
+ const ROLE_MAP = {
3
+ character: "character",
4
+ enemy: "character",
5
+ hero: "character",
6
+ vehicle: "vehicle",
7
+ world: "world",
8
+ environment: "environment",
9
+ track: "track",
10
+ product: "product",
11
+ weapon: "weapon",
12
+ prop: "prop",
13
+ "set-dressing": "set-dressing",
14
+ backdrop: "set-dressing",
15
+ debug: "debug",
16
+ abstract: "abstract",
17
+ hdri: "environment",
18
+ texture: "set-dressing",
19
+ };
20
+ function toCanonical(entry, kitArtDirection) {
21
+ const sourcePage = entry.sourcePage ?? entry.source ?? `library:${entry.kit ?? "misc"}/${entry.id}`;
22
+ const license = normalizeLicense(entry.license ?? "UNVERIFIED", sourcePage);
23
+ const role = entry.role ? ROLE_MAP[entry.role] : undefined;
24
+ const clips = entry.animationClips?.map((c) => c.name) ?? entry.animations;
25
+ return {
26
+ id: `library:${entry.id}`,
27
+ source: "aura-library",
28
+ title: entry.title ?? entry.id,
29
+ url: entry.libraryPath,
30
+ downloadUrl: entry.libraryPath,
31
+ access: "direct-download",
32
+ format: (entry.format === "gltf" || entry.format === "glb" ? entry.format : entry.format),
33
+ license,
34
+ licenseName: entry.license,
35
+ licenseUrl: sourcePage,
36
+ fileSizeBytes: entry.sizeBytes,
37
+ bounds: entry.bounds ? { size: entry.bounds } : undefined,
38
+ dimensions: entry.bounds,
39
+ triangleCount: entry.triangleCount,
40
+ triangles: entry.triangleCount,
41
+ meshCount: entry.meshCount,
42
+ materialCount: entry.materialCount,
43
+ textureCount: entry.textureCount,
44
+ animationClips: clips,
45
+ animationClipCount: clips?.length,
46
+ skinCount: entry.skinned ? 1 : undefined,
47
+ hasAnimations: clips !== undefined && clips.length > 0,
48
+ tags: (entry.tags ?? []).map((t) => t.toLowerCase()),
49
+ sourcePage,
50
+ sourceFamily: entry.kit ? `library/${entry.kit}` : "aura-library",
51
+ retrievedAt: entry.retrievedAt,
52
+ author: entry.author,
53
+ attribution: entry.attribution ?? entry.author,
54
+ intendedRole: role,
55
+ library: { kitId: entry.kit ?? "misc", entryId: entry.id, path: entry.libraryPath },
56
+ lookDevApproved: entry.lookDevApproved === true,
57
+ artDirection: entry.artDirection ?? kitArtDirection,
58
+ ...(entry.sunDirection ? { sunDirection: entry.sunDirection } : {}),
59
+ ...(entry.luminanceP99 !== undefined ? { luminanceP99: entry.luminanceP99 } : {}),
60
+ ...(entry.whiteBalanceK !== undefined ? { whiteBalanceK: entry.whiteBalanceK } : {}),
61
+ ...(entry.downloadFileset ? { downloadFileset: entry.downloadFileset } : {}),
62
+ rawCatalogMetadata: { kit: entry.kit },
63
+ };
64
+ }
65
+ export function createAuraLibraryAdapter(options) {
66
+ const kitArtDirection = new Map((options.manifest.kits ?? []).map((kit) => [kit.id, kit.artDirection]));
67
+ return {
68
+ id: "aura-library",
69
+ label: "Aura3D §6.6 curated library",
70
+ async search(_query, _ctx) {
71
+ return options.manifest.entries.map((entry) => toCanonical(entry, kitArtDirection.get(entry.kit ?? "")));
72
+ },
73
+ };
74
+ }
75
+ //# sourceMappingURL=aura-library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aura-library.js","sourceRoot":"","sources":["../../../../../packages/asset-index/src/adapters/aura-library.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"poly-haven.d.ts","sourceRoot":"","sources":["../../../../../packages/asset-index/src/adapters/poly-haven.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,qBAAqB,CAAC;AAqI7B,wBAAgB,sBAAsB,IAAI,aAAa,CAWtD"}
1
+ {"version":3,"file":"poly-haven.d.ts","sourceRoot":"","sources":["../../../../../packages/asset-index/src/adapters/poly-haven.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,qBAAqB,CAAC;AA4R7B,wBAAgB,sBAAsB,IAAI,aAAa,CAWtD"}
@@ -2,19 +2,31 @@ import { normalizeLicense } from "../CanonicalAsset.js";
2
2
  /**
3
3
  * Poly Haven adapter — https://polyhaven.com (free public API, NO key).
4
4
  *
5
- * Verified live (June 2026):
6
- * GET https://api.polyhaven.com/assets?t=models
5
+ * Verified live (June 2026; HDRI/texture files verified Oct 2026):
6
+ * GET https://api.polyhaven.com/assets?t=models|hdris|textures
7
7
  * -> Record<assetId, {
8
8
  * name, type, categories: string[], tags: string[],
9
9
  * authors: Record<author, role>, dimensions?: [x,y,z] (millimetres),
10
10
  * polycount?: number, thumbnail_url?, date_published, description?
11
11
  * }>
12
12
  * GET https://api.polyhaven.com/files/{id}
13
- * -> { gltf: { "1k"|"2k"|"4k": { gltf: { url, size, include: {...} } } }, blend, fbx, usd }
13
+ * -> models: { gltf: { "1k"|"2k"|"4k": { gltf: { url, size, include: {...} } } }, blend, fbx, usd }
14
+ * hdris: { hdri: { "1k"|"2k"|"4k"|"8k"|"16k": { hdr: {url,size,md5}, exr: {...} } }, tonemapped, colorchart }
15
+ * textures: { Diffuse|nor_gl|arm|AO|Displacement|Rough|...: { "1k"|...: { jpg|png|exr: {url,size,md5} } } }
14
16
  *
15
17
  * Every Poly Haven asset is CC0 (the entire library is CC0-1.0), so the license
16
18
  * is genuinely verified + redistributable.
17
19
  *
20
+ * PRD-05 §6.6: HDRIs and textures are DIRECT downloads —
21
+ * .hdr files are single-file (`dl.polyhaven.org/file/ph-assets/HDRIs/...`),
22
+ * texture records carry `downloadFileset` with the per-map JPG/PNG URLs the
23
+ * puller assembles into a material entry.
24
+ * The file endpoints are fetched lazily for the best query matches only
25
+ * (bounded at FILE_ENRICH_LIMIT) — the catalog listing does not carry URLs,
26
+ * and constructing them from a guessed pattern without verification would be
27
+ * a provenance lie. Unmatched records stay `deep-link-only` on the source
28
+ * page, honestly.
29
+ *
18
30
  * IMPORTANT honesty note on `access`: Poly Haven models are multi-file glTF —
19
31
  * the `.gltf` references an external `.bin` plus texture files (see the `include`
20
32
  * map on the /files endpoint). Fetching only the `.gltf` URL therefore does NOT
@@ -24,8 +36,17 @@ import { normalizeLicense } from "../CanonicalAsset.js";
24
36
  * resolve a packaged single-file pull), but they are not auto-pullable as-is.
25
37
  */
26
38
  const API_BASE = "https://api.polyhaven.com";
27
- const ASSETS_URL = `${API_BASE}/assets?t=models`;
39
+ const ASSETS_URL = `${API_BASE}/assets`;
40
+ const FILES_URL = `${API_BASE}/files`;
28
41
  const PAGE_BASE = "https://polyhaven.com/a";
42
+ /** Max per-asset /files/<id> lookups per search call, spread over matches. */
43
+ const FILE_ENRICH_LIMIT = 16;
44
+ /** Preferred resolution picked for `downloadUrl`/first fileset entry. */
45
+ const PREFERRED_HDRI_RES = "2k";
46
+ const PREFERRED_TEXTURE_RES = "2k";
47
+ const PREFERRED_TEXTURE_FORMAT = "jpg";
48
+ /** Canonical PBR slots pulled into a texture-set fileset when present. */
49
+ const TEXTURE_MAP_KEYS = ["Diffuse", "nor_gl", "arm", "AO", "Rough", "Displacement", "rough_ao"];
29
50
  /** Millimetres -> metres for the canonical bounds size. */
30
51
  const MM_TO_M = 0.001;
31
52
  function tokenize(text) {
@@ -55,7 +76,7 @@ function authorsToAttribution(authors) {
55
76
  const names = Object.keys(authors).filter((n) => n.length > 0);
56
77
  return names.length > 0 ? names.join(", ") : undefined;
57
78
  }
58
- function toCanonical(id, asset) {
79
+ function toCanonical(id, asset, kind) {
59
80
  const sourcePage = `${PAGE_BASE}/${id}`;
60
81
  const title = asset.name ?? id;
61
82
  const author = authorsToAttribution(asset.authors);
@@ -64,56 +85,174 @@ function toCanonical(id, asset) {
64
85
  ...(asset.tags ?? []).map((t) => t.toLowerCase()),
65
86
  ...(asset.categories ?? []).map((c) => c.toLowerCase()),
66
87
  ...tokenize(title),
88
+ ...(kind !== "models" ? [kind === "hdris" ? "hdri" : "texture", kind.slice(0, -1)] : []),
67
89
  ]));
68
- return {
90
+ const base = {
69
91
  id: `poly-haven:${id}`,
70
92
  source: "poly-haven",
71
93
  title,
72
94
  description: asset.description,
73
- // Multi-file glTF: the canonical page is the honest deep-link target.
74
95
  url: sourcePage,
75
- access: "deep-link-only",
76
- format: "gltf",
77
- // Entire Poly Haven library is CC0 — a verified, redistributable license.
96
+ sourcePage,
97
+ thumbnailUrl: asset.thumbnail_url,
78
98
  license: normalizeLicense("CC0", sourcePage),
79
99
  licenseName: "CC0",
80
100
  licenseUrl: sourcePage,
81
- thumbnailUrl: asset.thumbnail_url,
82
- triangles: typeof asset.polycount === "number" ? asset.polycount : undefined,
83
- triangleCount: typeof asset.polycount === "number" ? asset.polycount : undefined,
84
101
  bounds,
85
102
  dimensions: bounds?.size,
103
+ triangles: typeof asset.polycount === "number" ? asset.polycount : undefined,
104
+ triangleCount: typeof asset.polycount === "number" ? asset.polycount : undefined,
86
105
  tags,
87
- sourcePage,
88
106
  sourceFamily: "poly-haven",
89
107
  retrievedAt: typeof asset.date_published === "number" ? new Date(asset.date_published * 1000).toISOString() : undefined,
90
108
  author,
91
109
  attribution: author,
92
- rawCatalogMetadata: { ...asset },
110
+ };
111
+ if (kind === "models") {
112
+ return {
113
+ ...base,
114
+ // Multi-file glTF: the canonical page is the honest deep-link target.
115
+ access: "deep-link-only",
116
+ format: "gltf",
117
+ rawCatalogMetadata: { ...asset },
118
+ };
119
+ }
120
+ return {
121
+ ...base,
122
+ // HDRI/texture records start deep-link-only; query-matched records get a
123
+ // verified direct-download upgrade from /files/<id> in `enrichMatches`.
124
+ access: "deep-link-only",
125
+ format: kind === "hdris" ? "hdr" : "texture-set",
126
+ intendedRole: kind === "hdris" ? "environment" : undefined,
127
+ rawCatalogMetadata: { ...asset, polyhavenType: kind, filesEndpoint: `${FILES_URL}/${id}` },
93
128
  };
94
129
  }
95
- async function loadAll(ctx) {
96
- const raw = await ctx.fetchJson(ASSETS_URL);
97
- if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
98
- throw new Error("poly-haven /assets did not return an object map");
130
+ /** Cheap local relevance so /files lookups go to plausible matches only. */
131
+ function queryRelevance(query, asset) {
132
+ const terms = tokenize(query);
133
+ if (terms.length === 0)
134
+ return 0;
135
+ const hay = `${asset.title} ${asset.description ?? ""} ${asset.tags.join(" ")}`.toLowerCase();
136
+ let score = 0;
137
+ for (const t of terms)
138
+ if (hay.includes(t))
139
+ score += 1;
140
+ return score;
141
+ }
142
+ function fileEntry(name, variant) {
143
+ if (!variant?.url)
144
+ return undefined;
145
+ return { name, url: variant.url, sizeBytes: variant.size, md5: variant.md5 };
146
+ }
147
+ /** /files/<id> → canonical upgrade for an HDRI record. */
148
+ function enrichHdri(asset, files) {
149
+ const hdri = files["hdri"];
150
+ if (!hdri)
151
+ return asset;
152
+ const fileset = [];
153
+ for (const res of ["1k", "2k", "4k", "8k"]) {
154
+ const entry = fileEntry(`${res}.hdr`, hdri[res]?.["hdr"]);
155
+ if (entry)
156
+ fileset.push(entry);
157
+ }
158
+ if (fileset.length === 0)
159
+ return asset;
160
+ const preferred = fileset.find((f) => f.name === `${PREFERRED_HDRI_RES}.hdr`) ?? fileset[0];
161
+ return {
162
+ ...asset,
163
+ url: preferred.url,
164
+ downloadUrl: preferred.url,
165
+ access: "direct-download",
166
+ downloadFileset: fileset,
167
+ fileSizeBytes: preferred.sizeBytes,
168
+ rawCatalogMetadata: { ...(asset.rawCatalogMetadata ?? {}), filesVerified: true },
169
+ };
170
+ }
171
+ /** /files/<id> → canonical upgrade for a texture-set record (per-map pulls). */
172
+ function enrichTexture(asset, files) {
173
+ const fileset = [];
174
+ for (const mapKey of TEXTURE_MAP_KEYS) {
175
+ const map = files[mapKey];
176
+ if (!map)
177
+ continue;
178
+ const res = map[PREFERRED_TEXTURE_RES] ?? map["1k"];
179
+ const variant = res?.[PREFERRED_TEXTURE_FORMAT] ?? res?.["png"];
180
+ const entry = fileEntry(`${mapKey}.${PREFERRED_TEXTURE_FORMAT}`, variant);
181
+ if (entry)
182
+ fileset.push(entry);
99
183
  }
184
+ if (fileset.length === 0)
185
+ return asset;
186
+ return {
187
+ ...asset,
188
+ // No single-file URL exists; url stays the source page and the puller
189
+ // consumes downloadFileset (assembled locally into a material entry).
190
+ access: "direct-download",
191
+ downloadFileset: fileset,
192
+ textureCount: fileset.length,
193
+ rawCatalogMetadata: { ...(asset.rawCatalogMetadata ?? {}), filesVerified: true },
194
+ };
195
+ }
196
+ async function loadAll(ctx) {
197
+ const [models, hdris, textures] = await Promise.all([
198
+ ctx.fetchJson(`${ASSETS_URL}?t=models`),
199
+ ctx.fetchJson(`${ASSETS_URL}?t=hdris`),
200
+ ctx.fetchJson(`${ASSETS_URL}?t=textures`),
201
+ ]);
100
202
  const out = [];
101
- for (const [id, value] of Object.entries(raw)) {
102
- if (id && value && typeof value === "object") {
103
- out.push(toCanonical(id, value));
203
+ const push = (raw, kind) => {
204
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
205
+ throw new Error(`poly-haven /assets?t=${kind} did not return an object map`);
104
206
  }
105
- }
207
+ for (const [id, value] of Object.entries(raw)) {
208
+ if (id && value && typeof value === "object") {
209
+ out.push(toCanonical(id, value, kind));
210
+ }
211
+ }
212
+ };
213
+ push(models, "models");
214
+ push(hdris, "hdris");
215
+ push(textures, "textures");
106
216
  return out;
107
217
  }
218
+ /**
219
+ * Fetch /files/<id> for the best query matches among HDRI/texture records and
220
+ * upgrade them to verified direct-downloads. Bounded + parallel; failures leave
221
+ * the record deep-link-only (still CC0-correct, just not pullable).
222
+ */
223
+ async function enrichMatches(query, assets, ctx) {
224
+ const enrichable = assets
225
+ .filter((a) => a.rawCatalogMetadata?.polyhavenType !== undefined)
226
+ .map((asset) => ({ asset, relevance: queryRelevance(query.text, asset) }))
227
+ .filter((m) => m.relevance > 0)
228
+ .sort((a, b) => b.relevance - a.relevance)
229
+ .slice(0, FILE_ENRICH_LIMIT);
230
+ if (enrichable.length === 0)
231
+ return assets;
232
+ const byId = new Map(enrichable.map(({ asset }) => [asset.id, asset]));
233
+ await Promise.all(enrichable.map(async ({ asset }) => {
234
+ const localId = asset.id.slice("poly-haven:".length);
235
+ try {
236
+ const files = (await ctx.fetchJson(`${FILES_URL}/${localId}`));
237
+ const kind = asset.rawCatalogMetadata.polyhavenType;
238
+ const upgraded = kind === "hdris" ? enrichHdri(asset, files) : enrichTexture(asset, files);
239
+ byId.set(asset.id, upgraded);
240
+ }
241
+ catch {
242
+ // leave the deep-link-only record as-is
243
+ }
244
+ }));
245
+ return assets.map((asset) => byId.get(asset.id) ?? asset);
246
+ }
108
247
  export function createPolyHavenAdapter() {
109
248
  let cache = null;
110
249
  return {
111
250
  id: "poly-haven",
112
251
  label: "Poly Haven (CC0)",
113
- async search(_query, ctx) {
252
+ async search(query, ctx) {
114
253
  if (!cache)
115
254
  cache = await loadAll(ctx);
116
- return cache;
255
+ return enrichMatches(query, cache, ctx);
117
256
  },
118
257
  };
119
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"poly-haven.js","sourceRoot":"","sources":["../../../../../packages/asset-index/src/adapters/poly-haven.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAOxD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,QAAQ,GAAG,2BAA2B,CAAC;AAC7C,MAAM,UAAU,GAAG,GAAG,QAAQ,kBAAkB,CAAC;AACjD,MAAM,SAAS,GAAG,yBAAyB,CAAC;AAE5C,2DAA2D;AAC3D,MAAM,OAAO,GAAG,KAAK,CAAC;AAetB,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI;SACR,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,WAAW,EAAE;SACb,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,QAAQ,CAAC,UAAyC;IACzD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3D,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC;IAC7B,IACE,OAAO,CAAC,KAAK,QAAQ;QACrB,OAAO,CAAC,KAAK,QAAQ;QACrB,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EACnB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA2C;IAE3C,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,SAAS,WAAW,CAAC,EAAU,EAAE,KAAqB;IACpD,MAAM,UAAU,GAAG,GAAG,SAAS,IAAI,EAAE,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CACrB,IAAI,GAAG,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,GAAG,QAAQ,CAAC,KAAK,CAAC;KACnB,CAAC,CACH,CAAC;IACF,OAAO;QACL,EAAE,EAAE,cAAc,EAAE,EAAE;QACtB,MAAM,EAAE,YAAY;QACpB,KAAK;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,sEAAsE;QACtE,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,MAAM;QACd,0EAA0E;QAC1E,OAAO,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC;QAC5C,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC5E,aAAa,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChF,MAAM;QACN,UAAU,EAAE,MAAM,EAAE,IAAI;QACxB,IAAI;QACJ,UAAU;QACV,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;QACvH,MAAM;QACN,WAAW,EAAE,MAAM;QACnB,kBAAkB,EAAE,EAAE,GAAG,KAAK,EAAE;KACjC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAmB;IACxC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;QACzE,IAAI,EAAE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAuB,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,IAAI,KAAK,GAAgC,IAAI,CAAC;IAE9C,OAAO;QACL,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,kBAAkB;QACzB,KAAK,CAAC,MAAM,CAAC,MAAoB,EAAE,GAAmB;YACpD,IAAI,CAAC,KAAK;gBAAE,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"poly-haven.js","sourceRoot":"","sources":["../../../../../packages/asset-index/src/adapters/poly-haven.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -27,6 +27,9 @@ export { FederatedResolver } from "./federate.js";
27
27
  export { createKhronosAdapter } from "./adapters/khronos.js";
28
28
  export { createOS3AAdapter } from "./adapters/os3a.js";
29
29
  export { createPolyHavenAdapter } from "./adapters/poly-haven.js";
30
+ export { createAmbientCgAdapter } from "./adapters/ambientcg.js";
31
+ export { createAuraLibraryAdapter } from "./adapters/aura-library.js";
32
+ export type { AuraLibraryAdapterOptions, AuraLibraryEntryShape, AuraLibraryManifestShape } from "./adapters/aura-library.js";
30
33
  export { createPolyPizzaAdapter } from "./adapters/poly-pizza.js";
31
34
  export type { PolyPizzaAdapterOptions } from "./adapters/poly-pizza.js";
32
35
  export { createSketchfabAdapter } from "./adapters/sketchfab.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,EACf,qBAAqB,GACtB,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,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxF,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"}
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,EACf,qBAAqB,GACtB,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,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxF,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,yBAAyB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC7H,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;AAQxD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,IAAI,aAAa,EAAE,CASjD"}
package/dist/index.js CHANGED
@@ -21,6 +21,8 @@ export { FederatedResolver } from "./federate.js";
21
21
  export { createKhronosAdapter } from "./adapters/khronos.js";
22
22
  export { createOS3AAdapter } from "./adapters/os3a.js";
23
23
  export { createPolyHavenAdapter } from "./adapters/poly-haven.js";
24
+ export { createAmbientCgAdapter } from "./adapters/ambientcg.js";
25
+ export { createAuraLibraryAdapter } from "./adapters/aura-library.js";
24
26
  export { createPolyPizzaAdapter } from "./adapters/poly-pizza.js";
25
27
  export { createSketchfabAdapter } from "./adapters/sketchfab.js";
26
28
  export { createMarketplaceDeepLinkAdapter } from "./adapters/marketplace.js";
@@ -32,6 +34,7 @@ export { LocalHashEmbedding, cosineSimilarity, assetEmbeddingText, embeddingRank
32
34
  import { createKhronosAdapter } from "./adapters/khronos.js";
33
35
  import { createOS3AAdapter } from "./adapters/os3a.js";
34
36
  import { createPolyHavenAdapter } from "./adapters/poly-haven.js";
37
+ import { createAmbientCgAdapter } from "./adapters/ambientcg.js";
35
38
  import { createJsDelivrMirrorAdapter } from "./adapters/jsdelivr-mirror.js";
36
39
  import { createAnimationStarterPackAdapter } from "./animation-starter-pack.js";
37
40
  /**
@@ -52,6 +55,7 @@ export function defaultAdapters() {
52
55
  createKhronosAdapter(),
53
56
  createOS3AAdapter(),
54
57
  createPolyHavenAdapter(),
58
+ createAmbientCgAdapter(),
55
59
  createJsDelivrMirrorAdapter(),
56
60
  ];
57
61
  }
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;AAWH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxF,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/asset-index/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxF,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,yBAAyB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,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,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,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,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": "3.0.1",
3
+ "version": "4.0.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",