@flighthq/scene3d-resources 0.5.1-next.1069.554a2ac → 0.5.1-next.1201.9b49dee

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 (54) hide show
  1. package/README.md +2 -2
  2. package/dist/awd2Load.d.ts +2 -2
  3. package/dist/awd2Load.d.ts.map +1 -1
  4. package/dist/awd2Load.js +2 -2
  5. package/dist/awd2Load.js.map +1 -1
  6. package/dist/gltfLoad.d.ts +3 -3
  7. package/dist/gltfLoad.d.ts.map +1 -1
  8. package/dist/gltfLoad.js +7 -7
  9. package/dist/gltfLoad.js.map +1 -1
  10. package/dist/imageResourceFetch.d.ts +2 -2
  11. package/dist/imageResourceFetch.d.ts.map +1 -1
  12. package/dist/imageResourceFetch.js +2 -2
  13. package/dist/imageResourceFetch.js.map +1 -1
  14. package/dist/md2Load.d.ts +2 -2
  15. package/dist/md2Load.d.ts.map +1 -1
  16. package/dist/md2Load.js +2 -2
  17. package/dist/md2Load.js.map +1 -1
  18. package/dist/md5Load.d.ts +2 -2
  19. package/dist/md5Load.d.ts.map +1 -1
  20. package/dist/md5Load.js +2 -2
  21. package/dist/md5Load.js.map +1 -1
  22. package/dist/objLoad.d.ts +2 -2
  23. package/dist/objLoad.d.ts.map +1 -1
  24. package/dist/objLoad.js +2 -2
  25. package/dist/objLoad.js.map +1 -1
  26. package/dist/sceneDocumentSource.d.ts +3 -3
  27. package/dist/sceneDocumentSource.d.ts.map +1 -1
  28. package/dist/sceneDocumentSource.js +4 -4
  29. package/dist/sceneDocumentSource.js.map +1 -1
  30. package/dist/sceneResourceResolver.d.ts +4 -4
  31. package/dist/sceneResourceResolver.d.ts.map +1 -1
  32. package/dist/sceneResourceResolver.js +6 -6
  33. package/dist/sceneResourceResolver.js.map +1 -1
  34. package/dist/threeDsLoad.d.ts +2 -2
  35. package/dist/threeDsLoad.d.ts.map +1 -1
  36. package/dist/threeDsLoad.js +2 -2
  37. package/dist/threeDsLoad.js.map +1 -1
  38. package/package.json +13 -13
  39. package/src/awd2Load.test.ts +5 -5
  40. package/src/enableScene3DResourceFailureGuards.test.ts +7 -7
  41. package/src/explainScene3DResourceCoverage.test.ts +19 -13
  42. package/src/gltfLoad.test.ts +9 -9
  43. package/src/imageResourceFetch.test.ts +4 -6
  44. package/src/loadScene3DResources.test.ts +9 -9
  45. package/src/md2Load.test.ts +5 -5
  46. package/src/md5Load.test.ts +5 -5
  47. package/src/objLoad.test.ts +5 -5
  48. package/src/resolveScene3DResources.test.ts +20 -20
  49. package/src/revealScene3DResourcesOnResolve.test.ts +18 -14
  50. package/src/sceneDocumentSource.test.ts +11 -7
  51. package/src/sceneResourceRecovery.test.ts +5 -5
  52. package/src/sceneResourceResolver.test.ts +7 -7
  53. package/src/sceneResourceSignals.test.ts +5 -5
  54. package/src/threeDsLoad.test.ts +5 -5
package/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/scene3d-resources`.
13
13
  This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/scene3d-resources@0.5.1-next.1069.554a2ac](https://github.com/flighthq/flight/tree/554a2acc3fecf189b89b0729308ff890a15c21cc/packages/scene3d-resources)
17
- - [License](https://github.com/flighthq/flight/blob/554a2acc3fecf189b89b0729308ff890a15c21cc/LICENSE.md)
16
+ - [Source for @flighthq/scene3d-resources@0.5.1-next.1201.9b49dee](https://github.com/flighthq/flight/tree/9b49dee3f22f6b2838c3d237edcc77bca65734f2/packages/scene3d-resources)
17
+ - [License](https://github.com/flighthq/flight/blob/9b49dee3f22f6b2838c3d237edcc77bca65734f2/LICENSE.md)
@@ -1,3 +1,3 @@
1
- import type { HasNetHttp, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
2
- export declare function loadScene3DDocumentFromAwd2Url(host: HasNetHttp, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
1
+ import type { HostNetProvider, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
2
+ export declare function loadScene3DDocumentFromAwd2Url(hostNet: Readonly<HostNetProvider>, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
3
3
  //# sourceMappingURL=awd2Load.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"awd2Load.d.ts","sourceRoot":"","sources":["../src/awd2Load.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AASxG,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAMjC"}
1
+ {"version":3,"file":"awd2Load.d.ts","sourceRoot":"","sources":["../src/awd2Load.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAS7G,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAMjC"}
package/dist/awd2Load.js CHANGED
@@ -5,8 +5,8 @@ import { loadScene3DDocumentBytesFromUrl, setScene3DDocumentResourceBasePathFrom
5
5
  // with createScene3DFromDocument and acquire on your own schedule with loadScene3DResources or
6
6
  // updateScene3DResourceStreaming. On a fetch failure returns null; it never creates a renderer or GPU
7
7
  // resource.
8
- export async function loadScene3DDocumentFromAwd2Url(host, url, options) {
9
- const bytes = await loadScene3DDocumentBytesFromUrl(host, url, options);
8
+ export async function loadScene3DDocumentFromAwd2Url(hostNet, url, options) {
9
+ const bytes = await loadScene3DDocumentBytesFromUrl(hostNet, url, options);
10
10
  if (bytes === null)
11
11
  return null;
12
12
  const document = parseAwd2(bytes);
@@ -1 +1 @@
1
- {"version":3,"file":"awd2Load.js","sourceRoot":"","sources":["../src/awd2Load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAG/D,OAAO,EAAE,+BAA+B,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAEnH,8GAA8G;AAC9G,6GAA6G;AAC7G,+FAA+F;AAC/F,sGAAsG;AACtG,YAAY;AACZ,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,IAAgB,EAChB,GAAW,EACX,OAA8C;IAE9C,MAAM,KAAK,GAAG,MAAM,+BAA+B,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,yCAAyC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"awd2Load.js","sourceRoot":"","sources":["../src/awd2Load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAG/D,OAAO,EAAE,+BAA+B,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAEnH,8GAA8G;AAC9G,6GAA6G;AAC7G,+FAA+F;AAC/F,sGAAsG;AACtG,YAAY;AACZ,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAkC,EAClC,GAAW,EACX,OAA8C;IAE9C,MAAM,KAAK,GAAG,MAAM,+BAA+B,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,yCAAyC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { GltfScene3DDocumentLoadOptions, HasNetHttp, Scene3DDocument } from '@flighthq/types/contract';
2
- export declare function loadScene3DDocumentFromGlbUrl(host: HasNetHttp, url: string, options?: Readonly<GltfScene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
3
- export declare function loadScene3DDocumentFromGltfUrl(host: HasNetHttp, url: string, options?: Readonly<GltfScene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
1
+ import type { GltfScene3DDocumentLoadOptions, HostNetProvider, Scene3DDocument } from '@flighthq/types/contract';
2
+ export declare function loadScene3DDocumentFromGlbUrl(hostNet: Readonly<HostNetProvider>, url: string, options?: Readonly<GltfScene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
3
+ export declare function loadScene3DDocumentFromGltfUrl(hostNet: Readonly<HostNetProvider>, url: string, options?: Readonly<GltfScene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
4
4
  //# sourceMappingURL=gltfLoad.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gltfLoad.d.ts","sourceRoot":"","sources":["../src/gltfLoad.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,8BAA8B,EAC9B,UAAU,EACV,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAWlC,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAOjC;AAMD,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAoBjC"}
1
+ {"version":3,"file":"gltfLoad.d.ts","sourceRoot":"","sources":["../src/gltfLoad.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,8BAA8B,EAC9B,eAAe,EACf,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAWlC,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAOjC;AAMD,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAoBjC"}
package/dist/gltfLoad.js CHANGED
@@ -3,8 +3,8 @@ import { getScene3DDocumentBasePathFromUrl, loadScene3DDocumentBytesFromUrl, loa
3
3
  // Fetches a binary glTF (`.glb`) from a URL and parses it into a format-neutral Scene3DDocument. Fetches only
4
4
  // the FILE — the document's texture refs stay unresolved; assemble with createScene3DFromDocument and load
5
5
  // resources on your own schedule. Returns null on transport failure and never touches rendering/GPU state.
6
- export async function loadScene3DDocumentFromGlbUrl(host, url, options) {
7
- const bytes = await loadScene3DDocumentBytesFromUrl(host, url, options);
6
+ export async function loadScene3DDocumentFromGlbUrl(hostNet, url, options) {
7
+ const bytes = await loadScene3DDocumentBytesFromUrl(hostNet, url, options);
8
8
  if (bytes === null)
9
9
  return null;
10
10
  return parseGlb(bytes, options?.diagnostics, {
@@ -16,8 +16,8 @@ export async function loadScene3DDocumentFromGlbUrl(host, url, options) {
16
16
  // fetched as text; every external `.bin` required to build inline geometry is fetched too, while image URIs
17
17
  // remain unresolved resource refs carrying the model's base path. Assemble with createScene3DFromDocument and
18
18
  // load images explicitly. Returns null if the main source or required geometry closure cannot be acquired.
19
- export async function loadScene3DDocumentFromGltfUrl(host, url, options) {
20
- const source = await loadScene3DDocumentTextFromUrl(host, url, options);
19
+ export async function loadScene3DDocumentFromGltfUrl(hostNet, url, options) {
20
+ const source = await loadScene3DDocumentTextFromUrl(hostNet, url, options);
21
21
  if (source === null)
22
22
  return null;
23
23
  let gltf;
@@ -30,7 +30,7 @@ export async function loadScene3DDocumentFromGltfUrl(host, url, options) {
30
30
  if (gltf === null || typeof gltf !== 'object')
31
31
  return null;
32
32
  const basePath = getScene3DDocumentBasePathFromUrl(url);
33
- const externalBuffers = await loadGltfExternalBuffers(host, gltf, basePath, options);
33
+ const externalBuffers = await loadGltfExternalBuffers(hostNet, gltf, basePath, options);
34
34
  if (externalBuffers === null)
35
35
  return null;
36
36
  return parseGltf(gltf, options?.diagnostics, {
@@ -39,7 +39,7 @@ export async function loadScene3DDocumentFromGltfUrl(host, url, options) {
39
39
  externalBuffers,
40
40
  });
41
41
  }
42
- async function loadGltfExternalBuffers(host, gltf, basePath, options) {
42
+ async function loadGltfExternalBuffers(hostNet, gltf, basePath, options) {
43
43
  const uris = new Set();
44
44
  for (const buffer of gltf.buffers ?? []) {
45
45
  const uri = buffer.uri;
@@ -48,7 +48,7 @@ async function loadGltfExternalBuffers(host, gltf, basePath, options) {
48
48
  }
49
49
  const externalBuffers = {};
50
50
  const entries = [...uris];
51
- const bytes = await Promise.all(entries.map((uri) => loadScene3DDocumentBytesFromUrl(host, resolveGltfBufferUrl(uri, basePath), options)));
51
+ const bytes = await Promise.all(entries.map((uri) => loadScene3DDocumentBytesFromUrl(hostNet, resolveGltfBufferUrl(uri, basePath), options)));
52
52
  for (let i = 0; i < entries.length; i++) {
53
53
  const value = bytes[i];
54
54
  if (value === null)
@@ -1 +1 @@
1
- {"version":3,"file":"gltfLoad.js","sourceRoot":"","sources":["../src/gltfLoad.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gltfLoad.js","sourceRoot":"","sources":["../src/gltfLoad.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { HasGraphicsImage, ImageResourceFetch } from '@flighthq/types/contract';
2
- export declare function createWebImageResourceFetch(host: Readonly<HasGraphicsImage>): ImageResourceFetch;
1
+ import type { HostImageProvider, ImageResourceFetch } from '@flighthq/types/contract';
2
+ export declare function createWebImageResourceFetch(hostImage: Readonly<HostImageProvider>): ImageResourceFetch;
3
3
  export declare function resolveImageResourceUri(uri: string, basePath: string | null): string;
4
4
  //# sourceMappingURL=imageResourceFetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"imageResourceFetch.d.ts","sourceRoot":"","sources":["../src/imageResourceFetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAErF,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,kBAAkB,CAUhG;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAIpF"}
1
+ {"version":3,"file":"imageResourceFetch.d.ts","sourceRoot":"","sources":["../src/imageResourceFetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,kBAAkB,CAUtG;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAIpF"}
@@ -1,9 +1,9 @@
1
1
  import { loadImageResourceFromUrl } from '@flighthq/image/contract';
2
- export function createWebImageResourceFetch(host) {
2
+ export function createWebImageResourceFetch(hostImage) {
3
3
  return async (ref, signal) => {
4
4
  const url = resolveImageResourceUri(ref.uri, ref.basePath);
5
5
  try {
6
- return await loadImageResourceFromUrl(host, url, undefined, signal);
6
+ return await loadImageResourceFromUrl(hostImage, url, undefined, signal);
7
7
  }
8
8
  catch (error) {
9
9
  if (signal.aborted)
@@ -1 +1 @@
1
- {"version":3,"file":"imageResourceFetch.js","sourceRoot":"","sources":["../src/imageResourceFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,MAAM,UAAU,2BAA2B,CAAC,IAAgC;IAC1E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,OAAO,MAAM,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,OAAO;gBAAE,MAAM,KAAK,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW,EAAE,QAAuB;IAC1E,IAAI,QAAQ,KAAK,IAAI,IAAI,0BAA0B,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACrE,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC;IAC9E,OAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"imageResourceFetch.js","sourceRoot":"","sources":["../src/imageResourceFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,MAAM,UAAU,2BAA2B,CAAC,SAAsC;IAChF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,OAAO,MAAM,wBAAwB,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,OAAO;gBAAE,MAAM,KAAK,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW,EAAE,QAAuB;IAC1E,IAAI,QAAQ,KAAK,IAAI,IAAI,0BAA0B,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACrE,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC;IAC9E,OAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAW;IAC7C,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC"}
package/dist/md2Load.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import type { HasNetHttp, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
2
- export declare function loadScene3DDocumentFromMd2Url(host: HasNetHttp, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
1
+ import type { HostNetProvider, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
2
+ export declare function loadScene3DDocumentFromMd2Url(hostNet: Readonly<HostNetProvider>, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
3
3
  //# sourceMappingURL=md2Load.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"md2Load.d.ts","sourceRoot":"","sources":["../src/md2Load.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAQxG,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAMjC"}
1
+ {"version":3,"file":"md2Load.d.ts","sourceRoot":"","sources":["../src/md2Load.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAQ7G,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAMjC"}
package/dist/md2Load.js CHANGED
@@ -4,8 +4,8 @@ import { loadScene3DDocumentBytesFromUrl, setScene3DDocumentResourceBasePathFrom
4
4
  // (a morph-animated mesh). Fetches only the FILE — the document's skin texture ref stays unresolved;
5
5
  // assemble with createScene3DFromDocument and resolve on your own schedule. Returns null on transport failure;
6
6
  // it never creates a renderer or GPU resource.
7
- export async function loadScene3DDocumentFromMd2Url(host, url, options) {
8
- const bytes = await loadScene3DDocumentBytesFromUrl(host, url, options);
7
+ export async function loadScene3DDocumentFromMd2Url(hostNet, url, options) {
8
+ const bytes = await loadScene3DDocumentBytesFromUrl(hostNet, url, options);
9
9
  if (bytes === null)
10
10
  return null;
11
11
  const document = parseMd2(bytes);
@@ -1 +1 @@
1
- {"version":3,"file":"md2Load.js","sourceRoot":"","sources":["../src/md2Load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9D,OAAO,EAAE,+BAA+B,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAEnH,4GAA4G;AAC5G,qGAAqG;AACrG,+GAA+G;AAC/G,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAgB,EAChB,GAAW,EACX,OAA8C;IAE9C,MAAM,KAAK,GAAG,MAAM,+BAA+B,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,yCAAyC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"md2Load.js","sourceRoot":"","sources":["../src/md2Load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9D,OAAO,EAAE,+BAA+B,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAEnH,4GAA4G;AAC5G,qGAAqG;AACrG,+GAA+G;AAC/G,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAkC,EAClC,GAAW,EACX,OAA8C;IAE9C,MAAM,KAAK,GAAG,MAAM,+BAA+B,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,yCAAyC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/dist/md5Load.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import type { HasNetHttp, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
2
- export declare function loadScene3DDocumentFromMd5MeshUrl(host: HasNetHttp, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
1
+ import type { HostNetProvider, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
2
+ export declare function loadScene3DDocumentFromMd5MeshUrl(hostNet: Readonly<HostNetProvider>, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
3
3
  //# sourceMappingURL=md5Load.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"md5Load.d.ts","sourceRoot":"","sources":["../src/md5Load.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAQxG,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAMjC"}
1
+ {"version":3,"file":"md5Load.d.ts","sourceRoot":"","sources":["../src/md5Load.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAQ7G,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAMjC"}
package/dist/md5Load.js CHANGED
@@ -4,8 +4,8 @@ import { loadScene3DDocumentTextFromUrl, setScene3DDocumentResourceBasePathFromU
4
4
  // skeleton). Fetches only the mesh FILE — a paired `.md5anim` is a separate file, and the document's shader
5
5
  // texture refs stay unresolved; assemble with createScene3DFromDocument and resolve on your own schedule with
6
6
  // loadScene3DResources. Returns null on transport failure; it never creates a renderer or GPU resource.
7
- export async function loadScene3DDocumentFromMd5MeshUrl(host, url, options) {
8
- const source = await loadScene3DDocumentTextFromUrl(host, url, options);
7
+ export async function loadScene3DDocumentFromMd5MeshUrl(hostNet, url, options) {
8
+ const source = await loadScene3DDocumentTextFromUrl(hostNet, url, options);
9
9
  if (source === null)
10
10
  return null;
11
11
  const document = parseMd5Mesh(source);
@@ -1 +1 @@
1
- {"version":3,"file":"md5Load.js","sourceRoot":"","sources":["../src/md5Load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGlE,OAAO,EAAE,8BAA8B,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAElH,+GAA+G;AAC/G,4GAA4G;AAC5G,8GAA8G;AAC9G,wGAAwG;AACxG,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,IAAgB,EAChB,GAAW,EACX,OAA8C;IAE9C,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,yCAAyC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"md5Load.js","sourceRoot":"","sources":["../src/md5Load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGlE,OAAO,EAAE,8BAA8B,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAElH,+GAA+G;AAC/G,4GAA4G;AAC5G,8GAA8G;AAC9G,wGAAwG;AACxG,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,OAAkC,EAClC,GAAW,EACX,OAA8C;IAE9C,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,yCAAyC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/dist/objLoad.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import type { HasNetHttp, ObjMaterialLibrary, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
2
- export declare function loadScene3DDocumentFromObjUrl(host: HasNetHttp, url: string, materials?: Readonly<ObjMaterialLibrary>, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
1
+ import type { HostNetProvider, ObjMaterialLibrary, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
2
+ export declare function loadScene3DDocumentFromObjUrl(hostNet: Readonly<HostNetProvider>, url: string, materials?: Readonly<ObjMaterialLibrary>, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
3
3
  //# sourceMappingURL=objLoad.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"objLoad.d.ts","sourceRoot":"","sources":["../src/objLoad.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AASlC,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACxC,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAMjC"}
1
+ {"version":3,"file":"objLoad.d.ts","sourceRoot":"","sources":["../src/objLoad.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AASlC,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACxC,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAMjC"}
package/dist/objLoad.js CHANGED
@@ -5,8 +5,8 @@ import { loadScene3DDocumentTextFromUrl, setScene3DDocumentResourceBasePathFromU
5
5
  // its image URIs are the caller's to fetch/parse) — the document's texture refs stay unresolved; assemble
6
6
  // with createScene3DFromDocument and resolve on your own schedule. Returns null on transport failure; it
7
7
  // never creates a renderer or GPU resource.
8
- export async function loadScene3DDocumentFromObjUrl(host, url, materials, options) {
9
- const source = await loadScene3DDocumentTextFromUrl(host, url, options);
8
+ export async function loadScene3DDocumentFromObjUrl(hostNet, url, materials, options) {
9
+ const source = await loadScene3DDocumentTextFromUrl(hostNet, url, options);
10
10
  if (source === null)
11
11
  return null;
12
12
  const document = parseObj(source, materials);
@@ -1 +1 @@
1
- {"version":3,"file":"objLoad.js","sourceRoot":"","sources":["../src/objLoad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAQ9D,OAAO,EAAE,8BAA8B,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAElH,wGAAwG;AACxG,2GAA2G;AAC3G,0GAA0G;AAC1G,yGAAyG;AACzG,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAgB,EAChB,GAAW,EACX,SAAwC,EACxC,OAA8C;IAE9C,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7C,yCAAyC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"objLoad.js","sourceRoot":"","sources":["../src/objLoad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAQ9D,OAAO,EAAE,8BAA8B,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAElH,wGAAwG;AACxG,2GAA2G;AAC3G,0GAA0G;AAC1G,yGAAyG;AACzG,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAkC,EAClC,GAAW,EACX,SAAwC,EACxC,OAA8C;IAE9C,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7C,yCAAyC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,6 +1,6 @@
1
- import type { HasNetHttp, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
1
+ import type { HostNetProvider, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
2
2
  export declare function getScene3DDocumentBasePathFromUrl(url: string): string | null;
3
- export declare function loadScene3DDocumentBytesFromUrl(host: HasNetHttp, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Uint8Array | null>;
4
- export declare function loadScene3DDocumentTextFromUrl(host: HasNetHttp, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<string | null>;
3
+ export declare function loadScene3DDocumentBytesFromUrl(hostNet: Readonly<HostNetProvider>, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Uint8Array | null>;
4
+ export declare function loadScene3DDocumentTextFromUrl(hostNet: Readonly<HostNetProvider>, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<string | null>;
5
5
  export declare function setScene3DDocumentResourceBasePathFromUrl(document: Scene3DDocument, url: string): void;
6
6
  //# sourceMappingURL=sceneDocumentSource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sceneDocumentSource.d.ts","sourceRoot":"","sources":["../src/sceneDocumentSource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAGxG,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5E;AAMD,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAE5B;AAKD,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB;AAID,wBAAgB,yCAAyC,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAQtG"}
1
+ {"version":3,"file":"sceneDocumentSource.d.ts","sourceRoot":"","sources":["../src/sceneDocumentSource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAG7G,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5E;AAMD,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAE5B;AAKD,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB;AAID,wBAAgB,yCAAyC,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAQtG"}
@@ -10,14 +10,14 @@ export function getScene3DDocumentBasePathFromUrl(url) {
10
10
  // 'arraybuffer'), for the binary document loaders (glTF `.glb`, AWD, MD2, 3DS). Returns the bytes on a 2xx
11
11
  // response, or null on any expected transport/HTTP failure. No resource resolution or renderer/GPU work
12
12
  // happens here; callers compose parsing and later resource acquisition explicitly.
13
- export async function loadScene3DDocumentBytesFromUrl(host, url, options) {
14
- return loadBytes(host, url, options ? { signal: options.signal, progress: options.progress } : undefined);
13
+ export async function loadScene3DDocumentBytesFromUrl(hostNet, url, options) {
14
+ return loadBytes(hostNet, url, options ? { signal: options.signal, progress: options.progress } : undefined);
15
15
  }
16
16
  // Fetches a scene file's text from a URL through the active @flighthq/net backend (responseType 'text'),
17
17
  // for the text document loaders (OBJ, MD5). Returns the text on a 2xx response, or null on any expected
18
18
  // transport/HTTP failure. Fetches only source text — no parsing, resource realization, or rendering work.
19
- export async function loadScene3DDocumentTextFromUrl(host, url, options) {
20
- return loadText(host, url, options ? { signal: options.signal, progress: options.progress } : undefined);
19
+ export async function loadScene3DDocumentTextFromUrl(hostNet, url, options) {
20
+ return loadText(hostNet, url, options ? { signal: options.signal, progress: options.progress } : undefined);
21
21
  }
22
22
  // Carries the loaded model's directory onto relative external image references emitted by formats whose
23
23
  // parser consumed only in-hand bytes/text. Existing non-null base paths are authoritative and untouched.
@@ -1 +1 @@
1
- {"version":3,"file":"sceneDocumentSource.js","sourceRoot":"","sources":["../src/sceneDocumentSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,MAAM,UAAU,iCAAiC,CAAC,GAAW;IAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,qGAAqG;AACrG,2GAA2G;AAC3G,wGAAwG;AACxG,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,IAAgB,EAChB,GAAW,EACX,OAA8C;IAE9C,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC5G,CAAC;AAED,yGAAyG;AACzG,wGAAwG;AACxG,0GAA0G;AAC1G,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,IAAgB,EAChB,GAAW,EACX,OAA8C;IAE9C,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3G,CAAC;AAED,wGAAwG;AACxG,yGAAyG;AACzG,MAAM,UAAU,yCAAyC,CAAC,QAAyB,EAAE,GAAW;IAC9F,MAAM,QAAQ,GAAG,iCAAiC,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAC9B,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,0BAA0B,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACxF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"sceneDocumentSource.js","sourceRoot":"","sources":["../src/sceneDocumentSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,MAAM,UAAU,iCAAiC,CAAC,GAAW;IAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,qGAAqG;AACrG,2GAA2G;AAC3G,wGAAwG;AACxG,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,OAAkC,EAClC,GAAW,EACX,OAA8C;IAE9C,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/G,CAAC;AAED,yGAAyG;AACzG,wGAAwG;AACxG,0GAA0G;AAC1G,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAkC,EAClC,GAAW,EACX,OAA8C;IAE9C,OAAO,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9G,CAAC;AAED,wGAAwG;AACxG,yGAAyG;AACzG,MAAM,UAAU,yCAAyC,CAAC,QAAyB,EAAE,GAAW;IAC9F,MAAM,QAAQ,GAAG,iCAAiC,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAC9B,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,0BAA0B,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACxF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { HasGraphicsImage, Scene3DResourceResolverOptions, EntityConstruction } from '@flighthq/types/contract';
1
+ import type { HostImageProvider, Scene3DResourceResolverOptions, EntityConstruction } from '@flighthq/types/contract';
2
2
  import type { Scene3DResourceResolverWithRuntime } from '@flighthq/types/contract';
3
- export declare function createBuiltInScene3DResourceResolver(host: Readonly<HasGraphicsImage>, options?: Readonly<Scene3DResourceResolverOptions>): Scene3DResourceResolverWithRuntime;
4
- export declare function createScene3DResourceResolver(host: Readonly<HasGraphicsImage>, options?: Readonly<Scene3DResourceResolverOptions>): Scene3DResourceResolverWithRuntime;
3
+ export declare function createBuiltInScene3DResourceResolver(hostImage: Readonly<HostImageProvider>, options?: Readonly<Scene3DResourceResolverOptions>): Scene3DResourceResolverWithRuntime;
4
+ export declare function createScene3DResourceResolver(hostImage: Readonly<HostImageProvider>, options?: Readonly<Scene3DResourceResolverOptions>): Scene3DResourceResolverWithRuntime;
5
5
  export declare function disposeScene3DResourceResolver(resolver: Scene3DResourceResolverWithRuntime): void;
6
- export declare function initializeScene3DResourceResolver(out: EntityConstruction<Scene3DResourceResolverWithRuntime>, host: Readonly<HasGraphicsImage>, options?: Readonly<Scene3DResourceResolverOptions>): void;
6
+ export declare function initializeScene3DResourceResolver(out: EntityConstruction<Scene3DResourceResolverWithRuntime>, hostImage: Readonly<HostImageProvider>, options?: Readonly<Scene3DResourceResolverOptions>): void;
7
7
  //# sourceMappingURL=sceneResourceResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sceneResourceResolver.d.ts","sourceRoot":"","sources":["../src/sceneResourceResolver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAErH,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAYnF,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,kCAAkC,CAMpC;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,kCAAkC,CAIpC;AAID,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CASjG;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,kBAAkB,CAAC,kCAAkC,CAAC,EAC3D,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,IAAI,CAWN"}
1
+ {"version":3,"file":"sceneResourceResolver.d.ts","sourceRoot":"","sources":["../src/sceneResourceResolver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEtH,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAYnF,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACtC,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,kCAAkC,CAMpC;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACtC,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,kCAAkC,CAIpC;AAID,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,kCAAkC,GAAG,IAAI,CASjG;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,kBAAkB,CAAC,kCAAkC,CAAC,EAC3D,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACtC,OAAO,CAAC,EAAE,QAAQ,CAAC,8BAA8B,CAAC,GACjD,IAAI,CAWN"}
@@ -5,16 +5,16 @@ import { createWebImageResourceFetch } from './imageResourceFetch';
5
5
  import { createScene3DMaterialTextureRegistry, registerExtendedPbrScene3DMaterialTextures, registerStandardPbrScene3DMaterialTextures, registerUnlitScene3DMaterialTextures, } from './sceneMaterialTextureRegistry';
6
6
  // Explicit preconfigured assembly for the common Standard PBR + Unlit path. The primitive constructor
7
7
  // above stays empty so importing/creating it cannot silently pull material families into a custom lane.
8
- export function createBuiltInScene3DResourceResolver(host, options) {
9
- const resolver = createScene3DResourceResolver(host, options);
8
+ export function createBuiltInScene3DResourceResolver(hostImage, options) {
9
+ const resolver = createScene3DResourceResolver(hostImage, options);
10
10
  registerStandardPbrScene3DMaterialTextures(resolver.registry);
11
11
  registerUnlitScene3DMaterialTextures(resolver.registry);
12
12
  registerExtendedPbrScene3DMaterialTextures(resolver.registry);
13
13
  return resolver;
14
14
  }
15
- export function createScene3DResourceResolver(host, options) {
15
+ export function createScene3DResourceResolver(hostImage, options) {
16
16
  const out = allocateEntity();
17
- initializeScene3DResourceResolver(out, host, options);
17
+ initializeScene3DResourceResolver(out, hostImage, options);
18
18
  return finishEntity(out);
19
19
  }
20
20
  // Releases the resolver: cancels and disposes the loader, aborts every in-flight controller, and
@@ -29,10 +29,10 @@ export function disposeScene3DResourceResolver(resolver) {
29
29
  runtime.inFlight.clear();
30
30
  runtime.resolved.clear();
31
31
  }
32
- export function initializeScene3DResourceResolver(out, host, options) {
32
+ export function initializeScene3DResourceResolver(out, hostImage, options) {
33
33
  const loader = createResourceLoader({ dedupe: false, maxConcurrent: options?.maxConcurrent, streaming: true });
34
34
  startResourceLoad(loader);
35
- out.fetch = options?.fetch ?? createWebImageResourceFetch(host);
35
+ out.fetch = options?.fetch ?? createWebImageResourceFetch(hostImage);
36
36
  out.registry = options?.registry ?? createScene3DMaterialTextureRegistry();
37
37
  out[Scene3DResourceResolverRuntimeKey] = {
38
38
  inFlight: new Map(),
@@ -1 +1 @@
1
- {"version":3,"file":"sceneResourceResolver.js","sourceRoot":"","sources":["../src/sceneResourceResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAG7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,oCAAoC,EACpC,0CAA0C,EAC1C,0CAA0C,EAC1C,oCAAoC,GACrC,MAAM,gCAAgC,CAAC;AAExC,sGAAsG;AACtG,wGAAwG;AACxG,MAAM,UAAU,oCAAoC,CAClD,IAAgC,EAChC,OAAkD;IAElD,MAAM,QAAQ,GAAG,6BAA6B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,0CAA0C,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9D,oCAAoC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxD,0CAA0C,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,IAAgC,EAChC,OAAkD;IAElD,MAAM,GAAG,GAAG,cAAc,EAAsC,CAAC;IACjE,iCAAiC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,iGAAiG;AACjG,mGAAmG;AACnG,MAAM,UAAU,8BAA8B,CAAC,QAA4C;IACzF,MAAM,OAAO,GAAG,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IAC5D,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,GAA2D,EAC3D,IAAgC,EAChC,OAAkD;IAElD,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/G,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAChE,GAAG,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,oCAAoC,EAAE,CAAC;IAC3E,GAAG,CAAC,iCAAiC,CAAC,GAAG;QACvC,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,MAAM;QACN,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sceneResourceResolver.js","sourceRoot":"","sources":["../src/sceneResourceResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAG7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,oCAAoC,EACpC,0CAA0C,EAC1C,0CAA0C,EAC1C,oCAAoC,GACrC,MAAM,gCAAgC,CAAC;AAExC,sGAAsG;AACtG,wGAAwG;AACxG,MAAM,UAAU,oCAAoC,CAClD,SAAsC,EACtC,OAAkD;IAElD,MAAM,QAAQ,GAAG,6BAA6B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnE,0CAA0C,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9D,oCAAoC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxD,0CAA0C,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,SAAsC,EACtC,OAAkD;IAElD,MAAM,GAAG,GAAG,cAAc,EAAsC,CAAC;IACjE,iCAAiC,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,iGAAiG;AACjG,mGAAmG;AACnG,MAAM,UAAU,8BAA8B,CAAC,QAA4C;IACzF,MAAM,OAAO,GAAG,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IAC5D,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,GAA2D,EAC3D,SAAsC,EACtC,OAAkD;IAElD,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/G,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACrE,GAAG,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,oCAAoC,EAAE,CAAC;IAC3E,GAAG,CAAC,iCAAiC,CAAC,GAAG;QACvC,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,MAAM;QACN,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { HasNetHttp, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
2
- export declare function loadScene3DDocumentFrom3dsUrl(host: HasNetHttp, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
1
+ import type { HostNetProvider, Scene3DDocument, Scene3DDocumentLoadOptions } from '@flighthq/types/contract';
2
+ export declare function loadScene3DDocumentFrom3dsUrl(hostNet: Readonly<HostNetProvider>, url: string, options?: Readonly<Scene3DDocumentLoadOptions>): Promise<Scene3DDocument | null>;
3
3
  //# sourceMappingURL=threeDsLoad.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"threeDsLoad.d.ts","sourceRoot":"","sources":["../src/threeDsLoad.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAOxG,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAMjC"}
1
+ {"version":3,"file":"threeDsLoad.d.ts","sourceRoot":"","sources":["../src/threeDsLoad.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAO7G,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAMjC"}
@@ -3,8 +3,8 @@ import { loadScene3DDocumentBytesFromUrl, setScene3DDocumentResourceBasePathFrom
3
3
  // Fetches an Autodesk 3DS binary from a URL and parses it into a format-neutral Scene3DDocument. Fetches only
4
4
  // the FILE — the document's texture refs stay unresolved; assemble with createScene3DFromDocument and resolve
5
5
  // on your own schedule. Returns null on transport failure; it never creates a renderer or GPU resource.
6
- export async function loadScene3DDocumentFrom3dsUrl(host, url, options) {
7
- const bytes = await loadScene3DDocumentBytesFromUrl(host, url, options);
6
+ export async function loadScene3DDocumentFrom3dsUrl(hostNet, url, options) {
7
+ const bytes = await loadScene3DDocumentBytesFromUrl(hostNet, url, options);
8
8
  if (bytes === null)
9
9
  return null;
10
10
  const document = parse3ds(bytes);
@@ -1 +1 @@
1
- {"version":3,"file":"threeDsLoad.js","sourceRoot":"","sources":["../src/threeDsLoad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9D,OAAO,EAAE,+BAA+B,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAEnH,8GAA8G;AAC9G,8GAA8G;AAC9G,wGAAwG;AACxG,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAgB,EAChB,GAAW,EACX,OAA8C;IAE9C,MAAM,KAAK,GAAG,MAAM,+BAA+B,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,yCAAyC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"threeDsLoad.js","sourceRoot":"","sources":["../src/threeDsLoad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9D,OAAO,EAAE,+BAA+B,EAAE,yCAAyC,EAAE,MAAM,uBAAuB,CAAC;AAEnH,8GAA8G;AAC9G,8GAA8G;AAC9G,wGAAwG;AACxG,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAkC,EAClC,GAAW,EACX,OAA8C;IAE9C,MAAM,KAAK,GAAG,MAAM,+BAA+B,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,yCAAyC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/scene3d-resources",
3
- "version": "0.5.1-next.1069.554a2ac",
3
+ "version": "0.5.1-next.1201.9b49dee",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,18 +38,18 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/entity": "0.5.1-next.1069.554a2ac",
42
- "@flighthq/image": "0.5.1-next.1069.554a2ac",
43
- "@flighthq/loader": "0.5.1-next.1069.554a2ac",
44
- "@flighthq/log": "0.5.1-next.1069.554a2ac",
45
- "@flighthq/net": "0.5.1-next.1069.554a2ac",
46
- "@flighthq/node": "0.5.1-next.1069.554a2ac",
47
- "@flighthq/scene3d": "0.5.1-next.1069.554a2ac",
48
- "@flighthq/scene3d-formats": "0.5.1-next.1069.554a2ac",
49
- "@flighthq/signals": "0.5.1-next.1069.554a2ac",
50
- "@flighthq/texture": "0.5.1-next.1069.554a2ac",
51
- "@flighthq/tween": "0.5.1-next.1069.554a2ac",
52
- "@flighthq/types": "0.5.1-next.1069.554a2ac"
41
+ "@flighthq/entity": "0.5.1-next.1201.9b49dee",
42
+ "@flighthq/image": "0.5.1-next.1201.9b49dee",
43
+ "@flighthq/loader": "0.5.1-next.1201.9b49dee",
44
+ "@flighthq/log": "0.5.1-next.1201.9b49dee",
45
+ "@flighthq/net": "0.5.1-next.1201.9b49dee",
46
+ "@flighthq/node": "0.5.1-next.1201.9b49dee",
47
+ "@flighthq/scene3d": "0.5.1-next.1201.9b49dee",
48
+ "@flighthq/scene3d-formats": "0.5.1-next.1201.9b49dee",
49
+ "@flighthq/signals": "0.5.1-next.1201.9b49dee",
50
+ "@flighthq/texture": "0.5.1-next.1201.9b49dee",
51
+ "@flighthq/tween": "0.5.1-next.1201.9b49dee",
52
+ "@flighthq/types": "0.5.1-next.1201.9b49dee"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@flighthq/materials": "*",
@@ -1,6 +1,6 @@
1
1
  import * as netContract from '@flighthq/net/contract';
2
2
  import * as scene3dFormatsContract from '@flighthq/scene3d-formats/contract';
3
- import type { HasNetHttp, NetResponse, Scene3DDocument } from '@flighthq/types/contract';
3
+ import type { HostNetProvider, NetResponse, Scene3DDocument } from '@flighthq/types/contract';
4
4
  import { EntityRuntimeKey } from '@flighthq/types/contract';
5
5
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
6
6
 
@@ -21,12 +21,12 @@ function emptyDocument(): Scene3DDocument {
21
21
  };
22
22
  }
23
23
 
24
- function fakeHost(): HasNetHttp {
25
- const host: HasNetHttp = {
24
+ function fakeHost(): { readonly net: { readonly http: HostNetProvider } } {
25
+ const host: { readonly net: { readonly http: HostNetProvider } } = {
26
26
  net: {
27
27
  http: {
28
28
  [EntityRuntimeKey]: undefined,
29
- sendNetRequest: (request, options) => netContract.sendNetRequest(host, request, options),
29
+ sendNetRequest: (request, options) => netContract.sendNetRequest(host.net.http, request, options),
30
30
  },
31
31
  },
32
32
  };
@@ -52,7 +52,7 @@ describe('loadScene3DDocumentFromAwd2Url', () => {
52
52
  vi.mocked(scene3dFormatsContract.parseAwd2).mockReturnValue(document);
53
53
  vi.mocked(netContract.sendNetRequest).mockResolvedValue(okResponse(new Uint8Array([5, 6]).buffer));
54
54
 
55
- const loaded = await loadScene3DDocumentFromAwd2Url(fakeHost(), 'model.awd');
55
+ const loaded = await loadScene3DDocumentFromAwd2Url(fakeHost().net.http, 'model.awd');
56
56
 
57
57
  expect(Array.from(vi.mocked(scene3dFormatsContract.parseAwd2).mock.calls[0][0])).toEqual([5, 6]);
58
58
  expect(loaded).toBe(document);
@@ -1,7 +1,7 @@
1
1
  import { addLogSink, createMemoryLogSink, getMemoryLogSinkEntries, removeLogSink } from '@flighthq/log/contract';
2
2
  import { emitSignal } from '@flighthq/signals/contract';
3
3
  import { createTexture } from '@flighthq/texture/contract';
4
- import type { HasGraphicsImage, ImageResourceReference } from '@flighthq/types/contract';
4
+ import type { HostImageProvider, ImageResourceReference } from '@flighthq/types/contract';
5
5
  import {
6
6
  EntityRuntimeKey,
7
7
  ImageResourceFailureKind,
@@ -19,9 +19,9 @@ import {
19
19
  import { createScene3DResourceResolver, disposeScene3DResourceResolver } from './sceneResourceResolver';
20
20
  import { enableScene3DResourceSignals } from './sceneResourceSignals';
21
21
 
22
- const host: HasGraphicsImage = {
22
+ const host: { readonly graphics: { readonly image: HostImageProvider } } = {
23
23
  graphics: { image: { [EntityRuntimeKey]: undefined, loadImageFromUrl: vi.fn() } },
24
- } as HasGraphicsImage;
24
+ } as { readonly graphics: { readonly image: HostImageProvider } };
25
25
  const sinks: ReturnType<typeof createMemoryLogSink>[] = [];
26
26
 
27
27
  afterEach(() => {
@@ -48,7 +48,7 @@ function failedRef(): ImageResourceReference {
48
48
 
49
49
  describe('areScene3DResourceFailureGuardsEnabled', () => {
50
50
  it('tracks resolver-scoped enable and disable state', () => {
51
- const resolver = createScene3DResourceResolver(host);
51
+ const resolver = createScene3DResourceResolver(host.graphics.image);
52
52
  expect(areScene3DResourceFailureGuardsEnabled(resolver)).toBe(false);
53
53
  enableScene3DResourceFailureGuards(resolver);
54
54
  expect(areScene3DResourceFailureGuardsEnabled(resolver)).toBe(true);
@@ -60,7 +60,7 @@ describe('areScene3DResourceFailureGuardsEnabled', () => {
60
60
 
61
61
  describe('disableScene3DResourceFailureGuards', () => {
62
62
  it('is harmless when the guard is absent', () => {
63
- const resolver = createScene3DResourceResolver(host);
63
+ const resolver = createScene3DResourceResolver(host.graphics.image);
64
64
  expect(() => disableScene3DResourceFailureGuards(resolver)).not.toThrow();
65
65
  disposeScene3DResourceResolver(resolver);
66
66
  });
@@ -71,7 +71,7 @@ describe('enableScene3DResourceFailureGuards', () => {
71
71
  const sink = createMemoryLogSink(4);
72
72
  sinks.push(sink);
73
73
  addLogSink(sink.sink);
74
- const resolver = createScene3DResourceResolver(host);
74
+ const resolver = createScene3DResourceResolver(host.graphics.image);
75
75
  const signals = enableScene3DResourceSignals(resolver);
76
76
  const ref = failedRef();
77
77
  const texture = createTexture({ resource: ref });
@@ -111,7 +111,7 @@ describe('enableScene3DResourceFailureGuards', () => {
111
111
  const sink = createMemoryLogSink(4);
112
112
  sinks.push(sink);
113
113
  addLogSink(sink.sink);
114
- const resolver = createScene3DResourceResolver(host);
114
+ const resolver = createScene3DResourceResolver(host.graphics.image);
115
115
  const signals = enableScene3DResourceSignals(resolver);
116
116
  const ref = failedRef();
117
117
  const texture = createTexture({ resource: ref });