@aura3d/assets 4.0.3 → 4.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/DataTextureLoader.d.ts +16 -0
  2. package/dist/DataTextureLoader.d.ts.map +1 -0
  3. package/dist/DataTextureLoader.js +29 -0
  4. package/dist/DataTextureLoader.js.map +1 -0
  5. package/dist/EXRLoader.d.ts +78 -0
  6. package/dist/EXRLoader.d.ts.map +1 -0
  7. package/dist/EXRLoader.js +1398 -0
  8. package/dist/EXRLoader.js.map +1 -0
  9. package/dist/FileLoader.d.ts +32 -0
  10. package/dist/FileLoader.d.ts.map +1 -0
  11. package/dist/FileLoader.js +79 -0
  12. package/dist/FileLoader.js.map +1 -0
  13. package/dist/GLTFRenderResources.d.ts +9 -0
  14. package/dist/GLTFRenderResources.d.ts.map +1 -1
  15. package/dist/GLTFRenderResources.js +47 -4
  16. package/dist/GLTFRenderResources.js.map +1 -1
  17. package/dist/GLTFSharedTextureCache.d.ts +40 -0
  18. package/dist/GLTFSharedTextureCache.d.ts.map +1 -0
  19. package/dist/GLTFSharedTextureCache.js +68 -0
  20. package/dist/GLTFSharedTextureCache.js.map +1 -0
  21. package/dist/ImageBitmapLoader.d.ts +27 -0
  22. package/dist/ImageBitmapLoader.d.ts.map +1 -0
  23. package/dist/ImageBitmapLoader.js +51 -0
  24. package/dist/ImageBitmapLoader.js.map +1 -0
  25. package/dist/ImageLoader.d.ts.map +1 -1
  26. package/dist/ImageLoader.js +12 -5
  27. package/dist/ImageLoader.js.map +1 -1
  28. package/dist/LoadContext.d.ts +4 -1
  29. package/dist/LoadContext.d.ts.map +1 -1
  30. package/dist/LoadContext.js +7 -2
  31. package/dist/LoadContext.js.map +1 -1
  32. package/dist/LoaderFetch.d.ts +12 -0
  33. package/dist/LoaderFetch.d.ts.map +1 -0
  34. package/dist/LoaderFetch.js +54 -0
  35. package/dist/LoaderFetch.js.map +1 -0
  36. package/dist/TextureLoader.d.ts.map +1 -1
  37. package/dist/TextureLoader.js +3 -1
  38. package/dist/TextureLoader.js.map +1 -1
  39. package/dist/asset-corpus/ProductionGLTFRenderPipeline.d.ts +6 -0
  40. package/dist/asset-corpus/ProductionGLTFRenderPipeline.d.ts.map +1 -1
  41. package/dist/asset-corpus/ProductionGLTFRenderPipeline.js +2 -1
  42. package/dist/asset-corpus/ProductionGLTFRenderPipeline.js.map +1 -1
  43. package/dist/browser-index.d.ts +9 -0
  44. package/dist/browser-index.d.ts.map +1 -1
  45. package/dist/browser-index.js +5 -0
  46. package/dist/browser-index.js.map +1 -1
  47. package/dist/gltf-runtime.d.ts +2 -0
  48. package/dist/gltf-runtime.d.ts.map +1 -1
  49. package/dist/gltf-runtime.js +1 -0
  50. package/dist/gltf-runtime.js.map +1 -1
  51. package/dist/index.d.ts +11 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +7 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/loaders/TextureLoader.d.ts +27 -1
  56. package/dist/loaders/TextureLoader.d.ts.map +1 -1
  57. package/dist/loaders/TextureLoader.js +62 -4
  58. package/dist/loaders/TextureLoader.js.map +1 -1
  59. package/package.json +4 -4
@@ -0,0 +1,16 @@
1
+ /**
2
+ * threejs-parity ST-04 (§6 lane L4): `THREE.DataTextureLoader` — the abstract
3
+ * binary-format loader base. `EXRLoader`/`HDRLoader`-family subclasses decode
4
+ * fetched bytes via `parse`; the public surface mirrors three:
5
+ * `load(url, onLoad?, onProgress?, onError?)` + `loadAsync`.
6
+ */
7
+ import { type AuraLoaderProgress } from "./LoaderFetch.js";
8
+ export declare abstract class DataTextureLoader<TData = unknown> {
9
+ path: string;
10
+ setPath(value: string): this;
11
+ /** Subclasses decode the fetched bytes (async allowed — EXR ZIP/PIZ inflate). */
12
+ abstract parse(buffer: ArrayBuffer): Promise<TData> | TData;
13
+ load(url: string, onLoad?: (data: TData) => void, onProgress?: (progress: AuraLoaderProgress) => void, onError?: (error: unknown) => void): Promise<TData>;
14
+ loadAsync(url: string, onProgress?: (progress: AuraLoaderProgress) => void): Promise<TData>;
15
+ }
16
+ //# sourceMappingURL=DataTextureLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTextureLoader.d.ts","sourceRoot":"","sources":["../../../../packages/assets/src/DataTextureLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,8BAAsB,iBAAiB,CAAC,KAAK,GAAG,OAAO;IACrD,IAAI,SAAM;IAEV,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK;IAE3D,IAAI,CACF,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,EAC9B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,EACnD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,OAAO,CAAC,KAAK,CAAC;IASX,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;CAKlG"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * threejs-parity ST-04 (§6 lane L4): `THREE.DataTextureLoader` — the abstract
3
+ * binary-format loader base. `EXRLoader`/`HDRLoader`-family subclasses decode
4
+ * fetched bytes via `parse`; the public surface mirrors three:
5
+ * `load(url, onLoad?, onProgress?, onError?)` + `loadAsync`.
6
+ */
7
+ import { fetchBytes } from "./LoaderFetch.js";
8
+ export class DataTextureLoader {
9
+ path = "";
10
+ setPath(value) {
11
+ this.path = value;
12
+ return this;
13
+ }
14
+ load(url, onLoad, onProgress, onError) {
15
+ const pending = this.loadAsync(url, onProgress).then((data) => {
16
+ onLoad?.(data);
17
+ return data;
18
+ });
19
+ if (onError)
20
+ pending.catch(onError);
21
+ return pending;
22
+ }
23
+ async loadAsync(url, onProgress) {
24
+ const resolved = this.path ? `${this.path}${url}` : url;
25
+ const buffer = await fetchBytes(resolved, undefined, onProgress);
26
+ return this.parse(buffer);
27
+ }
28
+ }
29
+ //# sourceMappingURL=DataTextureLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTextureLoader.js","sourceRoot":"","sources":["../../../../packages/assets/src/DataTextureLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAA2B,MAAM,kBAAkB,CAAC;AAEvE,MAAM,OAAgB,iBAAiB;IACrC,IAAI,GAAG,EAAE,CAAC;IAEV,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,IAAI,CACF,GAAW,EACX,MAA8B,EAC9B,UAAmD,EACnD,OAAkC;QAElC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5D,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,UAAmD;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * threejs-parity AD-03 (docs/workflows/threejs-parity-gaps.md §6 lane L4):
3
+ * real OpenEXR decode — the scanline/tile pipeline is a faithful port of
4
+ * three.js r185 `examples/jsm/loaders/EXRLoader.js` (itself a port of the
5
+ * TinyEXR/OpenEXR reference implementation), trimmed to the compression
6
+ * family this lane requires: NO_COMPRESSION, RLE, ZIPS, ZIP and PIZ, with
7
+ * HALF and FLOAT channel pixel types. PXR24, B44/A, DWA/B and deep data
8
+ * throw `unsupported-format` rather than silently mis-decoding.
9
+ *
10
+ * Output mirrors three's `EXRLoader` result shape: `RGBAFormat` RGBA pixels
11
+ * as `Uint16Array` half floats (default) or `Float32Array`, `flipY: false`,
12
+ * `generateMipmaps: false` — feedable straight into `texture.data`.
13
+ */
14
+ import { type AssetLoader, type AssetLoadRequest } from "./AssetLoader.js";
15
+ import type { LoadContext } from "./LoadContext.js";
16
+ export type AuraEXRDataType = "half" | "float";
17
+ export type AuraEXROutputFormat = "rgba" | "rg" | "r";
18
+ export interface AuraEXRParseOptions {
19
+ /** Output pixel type — three's `HalfFloatType` (default) vs `FloatType`. */
20
+ readonly type?: AuraEXRDataType;
21
+ /** Channel layout — three's `RGBAFormat` (default), `RGFormat`, `RedFormat`. */
22
+ readonly outputFormat?: AuraEXROutputFormat;
23
+ /** Part index for multi-part files (three's `setPart`). */
24
+ readonly part?: number;
25
+ }
26
+ export interface AuraEXRTextureData {
27
+ readonly width: number;
28
+ readonly height: number;
29
+ /** RGBA/RG/R interleaved pixels — `Uint16Array` half bits or `Float32Array`. */
30
+ readonly data: Uint16Array | Float32Array;
31
+ /** Pixel channel count — 4 (rgba), 2 (rg) or 1 (r). */
32
+ readonly channels: 4 | 2 | 1;
33
+ readonly type: AuraEXRDataType;
34
+ readonly format: AuraEXROutputFormat;
35
+ readonly colorSpace: "linear";
36
+ /** three parity: decoded EXR data is already device-row ordered. */
37
+ readonly flipY: false;
38
+ readonly generateMipmaps: false;
39
+ /** The parsed EXR header attributes (channels, dataWindow, ...). */
40
+ readonly header: Record<string, unknown>;
41
+ }
42
+ /**
43
+ * Parse an EXR `ArrayBuffer` into interleaved pixel data — the async sibling
44
+ * of three's `EXRLoader.parse` (async only because ZIP/ZIPS inflate via
45
+ * `DecompressionStream` is async).
46
+ */
47
+ export declare function parseEXR(buffer: ArrayBuffer, options?: AuraEXRParseOptions): Promise<AuraEXRTextureData>;
48
+ /**
49
+ * `new THREE.EXRLoader()` — real async decode. Works standalone
50
+ * (`load(url, onLoad?, onProgress?, onError?)` → `Promise<AuraEXRTextureData>`)
51
+ * and as an `AssetManager` loader (`type: "exr"`).
52
+ *
53
+ * `type`/`outputFormat`/`part` mirror three's `setDataType`/`setOutputFormat`/
54
+ * `setPart` builder methods.
55
+ */
56
+ export declare class EXRLoader implements AssetLoader<AuraEXRTextureData> {
57
+ readonly type = "exr";
58
+ outputType: AuraEXRDataType;
59
+ outputFormat: AuraEXROutputFormat;
60
+ part: number;
61
+ setDataType(value: AuraEXRDataType): this;
62
+ setOutputFormat(value: AuraEXROutputFormat): this;
63
+ setPart(value: number): this;
64
+ canLoad(request: AssetLoadRequest): boolean;
65
+ /** AssetManager entry — fetches bytes, then `parseEXR`. */
66
+ load(request: AssetLoadRequest, context: LoadContext): Promise<AuraEXRTextureData>;
67
+ /** three signature — `load(url, onLoad?, onProgress?, onError?)`. */
68
+ load(url: string, onLoad?: (data: AuraEXRTextureData) => void, onProgress?: (event: {
69
+ readonly loaded?: number;
70
+ readonly total?: number;
71
+ }) => void, onError?: (error: unknown) => void): Promise<AuraEXRTextureData>;
72
+ /** `parse(buffer)` — three's synchronous-looking parse; async here for zlib. */
73
+ parse(buffer: ArrayBuffer): Promise<AuraEXRTextureData>;
74
+ private loadBytes;
75
+ }
76
+ /** Alias matching three's export name where an explicit class is wanted. */
77
+ export { EXRLoader as EXRLoaderThreeCompat };
78
+ //# sourceMappingURL=EXRLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EXRLoader.d.ts","sourceRoot":"","sources":["../../../../packages/assets/src/EXRLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAkB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC;AAC/C,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;IAChC,gFAAgF;IAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;IAC1C,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC;IAChC,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AA0CD;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0zDlH;AAED;;;;;;;GAOG;AACH,qBAAa,SAAU,YAAW,WAAW,CAAC,kBAAkB,CAAC;IAC/D,QAAQ,CAAC,IAAI,SAAS;IACtB,UAAU,EAAE,eAAe,CAAU;IACrC,YAAY,EAAE,mBAAmB,CAAU;IAC3C,IAAI,SAAK;IAET,WAAW,CAAE,KAAK,EAAE,eAAe,GAAI,IAAI;IAK3C,eAAe,CAAE,KAAK,EAAE,mBAAmB,GAAI,IAAI;IAKnD,OAAO,CAAE,KAAK,EAAE,MAAM,GAAI,IAAI;IAK9B,OAAO,CAAE,OAAO,EAAE,gBAAgB,GAAI,OAAO;IAI7C,2DAA2D;IACrD,IAAI,CAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,GAAI,OAAO,CAAC,kBAAkB,CAAC;IAC1F,qEAAqE;IACrE,IAAI,CAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAE,IAAI,EAAE,kBAAkB,KAAM,IAAI,EAAE,UAAU,CAAC,EAAE,CAAE,KAAK,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAM,IAAI,EAAE,OAAO,CAAC,EAAE,CAAE,KAAK,EAAE,OAAO,KAAM,IAAI,GAAI,OAAO,CAAC,kBAAkB,CAAC;IAsB5N,gFAAgF;IAChF,KAAK,CAAE,MAAM,EAAE,WAAW,GAAI,OAAO,CAAC,kBAAkB,CAAC;YAI3C,SAAS;CAoBxB;AAED,4EAA4E;AAC5E,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,CAAC"}