@drawcall/glts 0.3.1 → 0.4.0

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 (44) hide show
  1. package/README.md +92 -4
  2. package/dist/GLTSLoader.d.ts +2 -1
  3. package/dist/GLTSLoader.d.ts.map +1 -1
  4. package/dist/GLTSLoader.js +114 -36
  5. package/dist/GLTSLoader.js.map +1 -1
  6. package/dist/asset-exports.d.ts +12 -0
  7. package/dist/asset-exports.d.ts.map +1 -0
  8. package/dist/asset-exports.js +82 -0
  9. package/dist/asset-exports.js.map +1 -0
  10. package/dist/asset.d.ts +3 -0
  11. package/dist/asset.d.ts.map +1 -0
  12. package/dist/asset.js +5 -0
  13. package/dist/asset.js.map +1 -0
  14. package/dist/errors.d.ts +1 -1
  15. package/dist/errors.d.ts.map +1 -1
  16. package/dist/errors.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/inline-analysis.d.ts +63 -0
  20. package/dist/inline-analysis.d.ts.map +1 -0
  21. package/dist/inline-analysis.js +288 -0
  22. package/dist/inline-analysis.js.map +1 -0
  23. package/dist/inline.d.ts.map +1 -1
  24. package/dist/inline.js +16 -225
  25. package/dist/inline.js.map +1 -1
  26. package/dist/loading.d.ts +12 -0
  27. package/dist/loading.d.ts.map +1 -0
  28. package/dist/loading.js +111 -0
  29. package/dist/loading.js.map +1 -0
  30. package/dist/module-graph.d.ts +4 -7
  31. package/dist/module-graph.d.ts.map +1 -1
  32. package/dist/module-graph.js +7 -23
  33. package/dist/module-graph.js.map +1 -1
  34. package/dist/root.d.ts +20 -0
  35. package/dist/root.d.ts.map +1 -0
  36. package/dist/root.js +111 -0
  37. package/dist/root.js.map +1 -0
  38. package/dist/runtime.d.ts +7 -5
  39. package/dist/runtime.d.ts.map +1 -1
  40. package/dist/runtime.js +49 -9
  41. package/dist/runtime.js.map +1 -1
  42. package/dist/types.d.ts +11 -2
  43. package/dist/types.d.ts.map +1 -1
  44. package/package.json +5 -1
package/dist/runtime.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import * as THREE from "three";
2
2
  import { GLTSError } from "./errors.js";
3
+ import { RuntimeLoading } from "./loading.js";
3
4
  import { ModuleURLStore } from "./module-url-store.js";
5
+ import { trackRoot } from "./root.js";
4
6
  let runtimeSequence = 0;
5
7
  function nextRuntimeKey() {
6
8
  runtimeSequence += 1;
@@ -19,6 +21,7 @@ function callDispose(value) {
19
21
  export class WrapperRuntime {
20
22
  #runtimeKey = nextRuntimeKey();
21
23
  #moduleURLs;
24
+ #loading = new RuntimeLoading();
22
25
  #assetClasses = new Map();
23
26
  #wrapperClasses = new Map();
24
27
  #wrapperModuleURLs = new Map();
@@ -27,10 +30,15 @@ export class WrapperRuntime {
27
30
  #constructionScope;
28
31
  #disposed = false;
29
32
  threeModuleURL;
33
+ assetModuleURL;
34
+ get loadingManager() {
35
+ return this.#loading.manager;
36
+ }
30
37
  constructor(moduleURLs) {
31
38
  this.#moduleURLs = moduleURLs;
32
39
  Reflect.set(globalThis, this.#runtimeKey, this);
33
40
  this.threeModuleURL = moduleURLs.create(this.#createThreeBridgeSource());
41
+ this.assetModuleURL = moduleURLs.create(this.#createAssetBridgeSource());
34
42
  }
35
43
  getThreeExport(name) {
36
44
  return Reflect.get(THREE, name);
@@ -70,11 +78,22 @@ export class WrapperRuntime {
70
78
  this.#assertActive();
71
79
  this.#assetClasses.set(url, assetClass);
72
80
  }
73
- createRoot(url) {
81
+ mountRoot(wrapper, url) {
74
82
  this.#assertActive();
75
- return this.#withConstructionTransaction(() => {
76
- const Wrapper = this.getWrapperConstructor(url);
77
- return new Wrapper();
83
+ const boundary = this.#loading.begin(url);
84
+ try {
85
+ wrapper.name = url;
86
+ this.#mountWrapper(wrapper, url);
87
+ }
88
+ catch (error) {
89
+ boundary.cancel();
90
+ throw error;
91
+ }
92
+ return trackRoot({
93
+ assertActive: () => this.#assertActive(),
94
+ boundary,
95
+ dispose: () => this.#disposeWrapper(wrapper),
96
+ url
78
97
  });
79
98
  }
80
99
  replace(url, nextClass) {
@@ -123,7 +142,7 @@ export class WrapperRuntime {
123
142
  throw new GLTSError("Replacement committed, but one or more old instances failed to dispose", { url, phase: "dispose" }, new AggregateError(disposalErrors));
124
143
  }
125
144
  }
126
- disposeWrapper(wrapper) {
145
+ #disposeWrapper(wrapper) {
127
146
  const record = this.#records.get(wrapper);
128
147
  if (!record || record.disposed) {
129
148
  return;
@@ -138,17 +157,17 @@ export class WrapperRuntime {
138
157
  if (this.#disposed) {
139
158
  return;
140
159
  }
160
+ this.#disposed = true;
141
161
  const wrappers = [...this.#liveWrappers.values()].flatMap((group) => [...group]);
142
162
  const errors = [];
143
163
  for (const wrapper of wrappers) {
144
164
  try {
145
- this.disposeWrapper(wrapper);
165
+ this.#disposeWrapper(wrapper);
146
166
  }
147
167
  catch (error) {
148
168
  errors.push(error);
149
169
  }
150
170
  }
151
- this.#disposed = true;
152
171
  Reflect.deleteProperty(globalThis, this.#runtimeKey);
153
172
  this.#moduleURLs.dispose();
154
173
  if (errors.length > 0) {
@@ -156,6 +175,7 @@ export class WrapperRuntime {
156
175
  }
157
176
  }
158
177
  #mountWrapper(wrapper, url) {
178
+ this.#assertActive();
159
179
  const mount = () => {
160
180
  const assetClass = this.#assetClasses.get(url);
161
181
  if (!assetClass) {
@@ -189,6 +209,18 @@ export class WrapperRuntime {
189
209
  }, error);
190
210
  }
191
211
  if (value instanceof THREE.Object3D) {
212
+ try {
213
+ this.#assertActive();
214
+ }
215
+ catch (error) {
216
+ try {
217
+ this.#disposeRaw(value);
218
+ }
219
+ catch (cleanupError) {
220
+ throw new GLTSError("Construction was invalidated and cleanup failed", { url, phase: "dispose" }, new AggregateError([error, cleanupError]));
221
+ }
222
+ throw error;
223
+ }
192
224
  return value;
193
225
  }
194
226
  if (typeof value === "object" && value !== null) {
@@ -224,7 +256,7 @@ export class WrapperRuntime {
224
256
  const wrappers = [...scope].reverse();
225
257
  for (const wrapper of wrappers) {
226
258
  try {
227
- this.disposeWrapper(wrapper);
259
+ this.#disposeWrapper(wrapper);
228
260
  }
229
261
  catch (error) {
230
262
  errors.push(error);
@@ -252,7 +284,7 @@ export class WrapperRuntime {
252
284
  }
253
285
  });
254
286
  for (const wrapper of nestedWrappers) {
255
- this.disposeWrapper(wrapper);
287
+ this.#disposeWrapper(wrapper);
256
288
  }
257
289
  callDispose(raw);
258
290
  }
@@ -290,6 +322,14 @@ export class WrapperRuntime {
290
322
  lines.push(`export { ${exports.join(", ")} };`);
291
323
  return lines.join("\n");
292
324
  }
325
+ #createAssetBridgeSource() {
326
+ return [
327
+ `const runtime = globalThis[${JSON.stringify(this.#runtimeKey)}];`,
328
+ "if (!runtime) throw new Error('GLTS runtime is unavailable');",
329
+ "const loadingManager = runtime.loadingManager;",
330
+ "export { loadingManager };"
331
+ ].join("\n");
332
+ }
293
333
  #assertActive() {
294
334
  if (!this.#disposed) {
295
335
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAkBvD,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB,SAAS,cAAc;IACrB,eAAe,IAAI,CAAC,CAAC;IACrB,OAAO,kBAAkB,IAAI,CAAC,GAAG,EAAE,IAAI,eAAe,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,OAAO,cAAc;IAChB,WAAW,GAAG,cAAc,EAAE,CAAC;IAC/B,WAAW,CAAiB;IAC5B,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,eAAe,GAAG,IAAI,GAAG,EAAwB,CAAC;IAClD,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,QAAQ,GAAG,IAAI,OAAO,EAA8B,CAAC;IACrD,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC7D,kBAAkB,CAA+B;IACjD,SAAS,GAAG,KAAK,CAAC;IAET,cAAc,CAAS;IAEhC,YAAY,UAA0B;QACpC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,qBAAqB,CAAC,GAAW;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,MAAM,WAAY,SAAQ,KAAK,CAAC,KAAK;YACnC;gBACE,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;gBAChB,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC;SACF;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC3C,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG;YACb,8BAA8B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;YAClE,iCAAiC,IAAI,CAAC,SAAS,CAAC,mCAAmC,GAAG,EAAE,CAAC,IAAI;YAC7F,iDAAiD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI;YACxE,yBAAyB;SAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,aAAa,CAAC,GAAW,EAAE,UAA0B;QACnD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAChD,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,SAAyB;QAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,IAAI,CAAC;YACH,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE;gBACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAC/B,SAAS;oBACX,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC;wBACV,OAAO;wBACP,MAAM;wBACN,QAAQ,EAAE,MAAM,CAAC,GAAG;wBACpB,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;qBACzC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,SAAS,CACjB,kDAAkD,EAClD,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EACxB,IAAI,cAAc,CAAC,CAAC,KAAK,EAAE,GAAG,aAAa,CAAC,CAAC,CAC9C,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEvC,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,CAAC;YACjC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACjD,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1C,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC;QAC5C,CAAC;QAED,MAAM,cAAc,GAAc,EAAE,CAAC;QACrC,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CACjB,wEAAwE,EACxE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,EACzB,IAAI,cAAc,CAAC,cAAc,CAAC,CACnC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,cAAc,CAAC,OAAoB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACjF,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAE3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CACjB,sCAAsC,EACtC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAC3C,IAAI,cAAc,CAAC,MAAM,CAAC,CAC3B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,aAAa,CAAC,OAAoB,EAAE,GAAW;QAC7C,MAAM,KAAK,GAAG,GAAS,EAAE;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,SAAS,CAAC,8BAA8B,EAAE;oBAClD,GAAG;oBACH,KAAK,EAAE,WAAW;iBACnB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAChD,MAAM,MAAM,GAAkB,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,KAAK,EAAE,CAAC;YACR,OAAO;QACT,CAAC;QAED,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,GAAW,EAAE,UAA0B;QACnD,IAAI,KAAc,CAAC;QAEnB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,SAAS,CAAC,2CAA2C,EAAE;gBAC/D,GAAG;gBACH,KAAK,EAAE,WAAW;aACnB,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC;QAED,IAAI,KAAK,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,SAAS,CAAC,mDAAmD,EAAE;YACvE,GAAG;YACH,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B,CAAI,SAAkB;QAChD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,OAAO,SAAS,EAAE,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAe,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAEhC,IAAI,CAAC;YACH,OAAO,SAAS,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,cAAc,CAAC,CAAC,KAAK,EAAE,GAAG,aAAa,CAAC,EAAE,mCAAmC,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACtC,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,KAAuB;QAC3C,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAEtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,MAAoC;QACjD,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,GAAmB;QAC7B,MAAM,cAAc,GAAkB,EAAE,CAAC;QAEzC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,IAAI,MAAM,YAAY,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/D,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,eAAe,CAAC,OAAoB,EAAE,GAAW;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAe,CAAC;QACvE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB,CAAC,OAAoB,EAAE,GAAW;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,wBAAwB;QACtB,MAAM,KAAK,GAAG;YACZ,8BAA8B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;YAClE,+DAA+D;SAChE,CAAC;QACF,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,cAAc,KAAK,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,6BAA6B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,OAAO,IAAI,EAAE,CAAC,CAAC;YACxC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,SAAS,CAAC,0BAA0B,EAAE;YAC9C,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,17 +1,26 @@
1
1
  import type * as THREE from "three";
2
- export type GLTSAssetClass = new () => THREE.Object3D;
2
+ export type RawAssetConstructor = new () => unknown;
3
3
  export type GLTSFetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
4
4
  export interface GLTSLoaderOptions {
5
5
  baseURL?: string | URL;
6
6
  cdnURL?: string | URL;
7
7
  fetch?: GLTSFetch;
8
8
  }
9
- export interface GLTSAsset {
9
+ export interface GLTSPreviewExports {
10
+ readonly previewCamera?: THREE.Camera | undefined;
11
+ readonly previewLighting?: THREE.Object3D | undefined;
12
+ }
13
+ export interface GLTSAsset extends GLTSPreviewExports {
10
14
  readonly scene: THREE.Group;
11
15
  readonly url: string;
12
16
  reload(): Promise<void>;
13
17
  dispose(): void;
14
18
  }
19
+ export interface GLTSInstance extends THREE.Group {
20
+ readonly ready: Promise<void>;
21
+ dispose(): void;
22
+ }
23
+ export type GLTSConstructor = new () => GLTSInstance;
15
24
  export type GLTSLoadCallback = (asset: GLTSAsset) => void;
16
25
  export type GLTSProgressCallback = (event: ProgressEvent<EventTarget>) => void;
17
26
  export type GLTSErrorCallback = (error: unknown) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,MAAM,MAAM,cAAc,GAAG,UAAU,KAAK,CAAC,QAAQ,CAAC;AAEtD,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAC1D,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AAC/E,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,MAAM,MAAM,mBAAmB,GAAG,UAAU,OAAO,CAAC;AAEpD,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;CACvD;AAED,MAAM,WAAW,SAAU,SAAQ,kBAAkB;IACnD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,KAAK;IAC/C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,YAAY,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAC1D,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AAC/E,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drawcall/glts",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "description": "Like glTF, but for procedural Three.js assets.",
6
6
  "license": "MIT",
@@ -27,6 +27,10 @@
27
27
  ".": {
28
28
  "types": "./dist/index.d.ts",
29
29
  "import": "./dist/index.js"
30
+ },
31
+ "./asset": {
32
+ "types": "./dist/asset.d.ts",
33
+ "import": "./dist/asset.js"
30
34
  }
31
35
  },
32
36
  "files": [