@dcl/sdk 7.1.2-4419392799.commit-7961b54 → 7.1.2-4426178080.commit-9504360

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import { CompositeProvider } from '@dcl/ecs';
2
+ export declare function createContentFetchCompositeProvider(): Promise<CompositeProvider>;
@@ -0,0 +1,34 @@
1
+ import { compositeFromJson } from '@dcl/ecs';
2
+ import { getSceneInfo } from '~system/Scene';
3
+ export async function createContentFetchCompositeProvider() {
4
+ const scene = await getSceneInfo({});
5
+ const compositesContent = scene.contents.filter((item) => {
6
+ const path = item.file.toLowerCase();
7
+ return path.endsWith('.composite') || path.endsWith('.composite.json');
8
+ });
9
+ const compositePromises = compositesContent.map(async (item) => {
10
+ const compositeUrl = `${scene.baseUrl}${item.hash}`;
11
+ try {
12
+ const response = await fetch(compositeUrl);
13
+ if (item.file.endsWith('.json')) {
14
+ const compositeJson = await response.json();
15
+ const composite = compositeFromJson(compositeJson);
16
+ return composite;
17
+ }
18
+ else {
19
+ return null;
20
+ }
21
+ }
22
+ catch (err) {
23
+ console.error(`Error loading composite ${compositeUrl}: ${err.toString()}`);
24
+ return null;
25
+ }
26
+ });
27
+ const composites = (await Promise.all(compositePromises)).filter((item) => !!item);
28
+ return {
29
+ getCompositeOrNull(id) {
30
+ return composites.find((item) => item.id === id) || null;
31
+ }
32
+ };
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbXBvc2l0ZS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsaUJBQWlCLEVBQXFCLE1BQU0sVUFBVSxDQUFBO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFPNUMsTUFBTSxDQUFDLEtBQUssVUFBVSxtQ0FBbUM7SUFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDcEMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3ZELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDcEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN4RSxDQUFDLENBQUMsQ0FBQTtJQUVGLE1BQU0saUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUM3RCxNQUFNLFlBQVksR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ25ELElBQUk7WUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUMxQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMvQixNQUFNLGFBQWEsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFDM0MsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUE7Z0JBQ2xELE9BQU8sU0FBUyxDQUFBO2FBQ2pCO2lCQUFNO2dCQU9MLE9BQU8sSUFBSSxDQUFBO2FBQ1o7U0FDRjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsWUFBWSxLQUFNLEdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDcEYsT0FBTyxJQUFJLENBQUE7U0FDWjtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBZ0IsQ0FBQTtJQUVqRyxPQUFPO1FBQ0wsa0JBQWtCLENBQUMsRUFBVTtZQUMzQixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksSUFBSSxDQUFBO1FBQzFELENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvc2l0ZSwgY29tcG9zaXRlRnJvbUpzb24sIENvbXBvc2l0ZVByb3ZpZGVyIH0gZnJvbSAnQGRjbC9lY3MnXG5pbXBvcnQgeyBnZXRTY2VuZUluZm8gfSBmcm9tICd+c3lzdGVtL1NjZW5lJ1xuXG4vLyBmdW5jdGlvbiBjb21wb3NpdGVGcm9tQmluYXJ5KGJpbmFyeUNvbXBvc2l0ZTogVWludDhBcnJheSk6IENvbXBvc2l0ZSB7XG4vLyAgIHRocm93IG5ldyBFcnJvcignVG8gaW1wbGVtZW50Jylcbi8vIH1cblxuLy8gQHB1YmxpY1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUNvbnRlbnRGZXRjaENvbXBvc2l0ZVByb3ZpZGVyKCk6IFByb21pc2U8Q29tcG9zaXRlUHJvdmlkZXI+IHtcbiAgY29uc3Qgc2NlbmUgPSBhd2FpdCBnZXRTY2VuZUluZm8oe30pXG4gIGNvbnN0IGNvbXBvc2l0ZXNDb250ZW50ID0gc2NlbmUuY29udGVudHMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IGl0ZW0uZmlsZS50b0xvd2VyQ2FzZSgpXG4gICAgcmV0dXJuIHBhdGguZW5kc1dpdGgoJy5jb21wb3NpdGUnKSB8fCBwYXRoLmVuZHNXaXRoKCcuY29tcG9zaXRlLmpzb24nKVxuICB9KVxuXG4gIGNvbnN0IGNvbXBvc2l0ZVByb21pc2VzID0gY29tcG9zaXRlc0NvbnRlbnQubWFwKGFzeW5jIChpdGVtKSA9PiB7XG4gICAgY29uc3QgY29tcG9zaXRlVXJsID0gYCR7c2NlbmUuYmFzZVVybH0ke2l0ZW0uaGFzaH1gXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goY29tcG9zaXRlVXJsKVxuICAgICAgaWYgKGl0ZW0uZmlsZS5lbmRzV2l0aCgnLmpzb24nKSkge1xuICAgICAgICBjb25zdCBjb21wb3NpdGVKc29uID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICAgIGNvbnN0IGNvbXBvc2l0ZSA9IGNvbXBvc2l0ZUZyb21Kc29uKGNvbXBvc2l0ZUpzb24pXG4gICAgICAgIHJldHVybiBjb21wb3NpdGVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRPRE86IGZldGNoIGRvZXNuJ3QgaGF2ZSBhcnJheUJ1ZmZlcigpXG4gICAgICAgIC8vIGNvbnN0IGNvbXBvc2l0ZUJpbmFyeURhdGEgPSBhd2FpdCByZXNwb25zZS50ZXh0KClcblxuICAgICAgICAvLyBUT0RPOiBpbXBsZW1lbnQgY29tcG9zaXRlRnJvbUJpbmFyeVxuICAgICAgICAvLyBjb25zdCBjb21wb3NpdGUgPSBjb21wb3NpdGVGcm9tQmluYXJ5KGNvbXBvc2l0ZUJpbmFyeURhdGEpXG5cbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIGxvYWRpbmcgY29tcG9zaXRlICR7Y29tcG9zaXRlVXJsfTogJHsoZXJyIGFzIGFueSkudG9TdHJpbmcoKX1gKVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gIH0pXG5cbiAgY29uc3QgY29tcG9zaXRlcyA9IChhd2FpdCBQcm9taXNlLmFsbChjb21wb3NpdGVQcm9taXNlcykpLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKSBhcyBDb21wb3NpdGVbXVxuXG4gIHJldHVybiB7XG4gICAgZ2V0Q29tcG9zaXRlT3JOdWxsKGlkOiBzdHJpbmcpIHtcbiAgICAgIHJldHVybiBjb21wb3NpdGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKSB8fCBudWxsXG4gICAgfVxuICB9XG59XG4iXX0=
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { engine } from '@dcl/ecs';
2
- import { pollEvents } from './observables';
3
- import { sendBatch, crdtSendToRenderer, crdtGetState } from '~system/EngineApi';
2
+ import { crdtGetState, crdtSendToRenderer, sendBatch } from '~system/EngineApi';
4
3
  import { createRendererTransport } from './internal/transports/rendererTransport';
4
+ import { pollEvents } from './observables';
5
5
  const rendererTransport = createRendererTransport({ crdtSendToRenderer });
6
6
  engine.addTransport(rendererTransport);
7
7
  export async function onUpdate(deltaTime) {
@@ -19,4 +19,4 @@ export async function onStart() {
19
19
  }
20
20
  }
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFHakYsTUFBTSxpQkFBaUIsR0FBRyx1QkFBdUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQTtBQUN6RSxNQUFNLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUE7QUFFdEMsTUFBTSxDQUFDLEtBQUssVUFBVSxRQUFRLENBQUMsU0FBaUI7SUFDOUMsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzlCLE1BQU0sVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQzdCLENBQUM7QUFNRCxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU87SUFDM0IsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFFbkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDL0QsSUFBSSxDQUFDLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFO1FBQ2pDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDckQsS0FBSyxNQUFNLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUNyQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7YUFDdkM7U0FDRjtLQUNGO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAYWxwaGEgVEhJUyBGSUxFIElOSVRJQUxJWkVTIFRIRSBERUNFTlRSQUxBTkQgUlVOVElNRS4gV0lMTCBDSEFOR0UgU09PTiAqL1xuaW1wb3J0IHsgZW5naW5lIH0gZnJvbSAnQGRjbC9lY3MnXG5pbXBvcnQgeyBwb2xsRXZlbnRzIH0gZnJvbSAnLi9vYnNlcnZhYmxlcydcbmltcG9ydCB7IHNlbmRCYXRjaCwgY3JkdFNlbmRUb1JlbmRlcmVyLCBjcmR0R2V0U3RhdGUgfSBmcm9tICd+c3lzdGVtL0VuZ2luZUFwaSdcbmltcG9ydCB7IGNyZWF0ZVJlbmRlcmVyVHJhbnNwb3J0IH0gZnJvbSAnLi9pbnRlcm5hbC90cmFuc3BvcnRzL3JlbmRlcmVyVHJhbnNwb3J0J1xuXG4vLyBBdHRhY2ggQ1JEVCB0cmFuc3BvcnRcbmNvbnN0IHJlbmRlcmVyVHJhbnNwb3J0ID0gY3JlYXRlUmVuZGVyZXJUcmFuc3BvcnQoeyBjcmR0U2VuZFRvUmVuZGVyZXIgfSlcbmVuZ2luZS5hZGRUcmFuc3BvcnQocmVuZGVyZXJUcmFuc3BvcnQpXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvblVwZGF0ZShkZWx0YVRpbWU6IG51bWJlcikge1xuICBhd2FpdCBlbmdpbmUudXBkYXRlKGRlbHRhVGltZSlcbiAgYXdhaXQgcG9sbEV2ZW50cyhzZW5kQmF0Y2gpXG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBiZWZvcmUgdGhlIGZpcnN0IHVwZGF0ZSBhbmQgYWZ0ZXIgdGhlIGV2YWx1YXRpb24gb2YgdGhlIGNvZGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvblN0YXJ0KCkge1xuICBhd2FpdCBlbmdpbmUuc2VhbCgpXG5cbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjcmR0R2V0U3RhdGUoeyBkYXRhOiBuZXcgVWludDhBcnJheSgpIH0pXG4gIGlmICghIXJlbmRlcmVyVHJhbnNwb3J0Lm9ubWVzc2FnZSkge1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5kYXRhICYmIHJlc3BvbnNlLmRhdGEubGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IGJ5dGVBcnJheSBvZiByZXNwb25zZS5kYXRhKSB7XG4gICAgICAgIHJlbmRlcmVyVHJhbnNwb3J0Lm9ubWVzc2FnZShieXRlQXJyYXkpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHMUMsTUFBTSxpQkFBaUIsR0FBRyx1QkFBdUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQTtBQUN6RSxNQUFNLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUE7QUFFdEMsTUFBTSxDQUFDLEtBQUssVUFBVSxRQUFRLENBQUMsU0FBaUI7SUFDOUMsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzlCLE1BQU0sVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQzdCLENBQUM7QUFNRCxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU87SUFDM0IsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFFbkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDL0QsSUFBSSxDQUFDLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFO1FBQ2pDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDckQsS0FBSyxNQUFNLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUNyQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7YUFDdkM7U0FDRjtLQUNGO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAYWxwaGEgVEhJUyBGSUxFIElOSVRJQUxJWkVTIFRIRSBERUNFTlRSQUxBTkQgUlVOVElNRS4gV0lMTCBDSEFOR0UgU09PTiAqL1xuaW1wb3J0IHsgZW5naW5lIH0gZnJvbSAnQGRjbC9lY3MnXG5pbXBvcnQgeyBjcmR0R2V0U3RhdGUsIGNyZHRTZW5kVG9SZW5kZXJlciwgc2VuZEJhdGNoIH0gZnJvbSAnfnN5c3RlbS9FbmdpbmVBcGknXG5pbXBvcnQgeyBjcmVhdGVSZW5kZXJlclRyYW5zcG9ydCB9IGZyb20gJy4vaW50ZXJuYWwvdHJhbnNwb3J0cy9yZW5kZXJlclRyYW5zcG9ydCdcbmltcG9ydCB7IHBvbGxFdmVudHMgfSBmcm9tICcuL29ic2VydmFibGVzJ1xuXG4vLyBBdHRhY2ggQ1JEVCB0cmFuc3BvcnRcbmNvbnN0IHJlbmRlcmVyVHJhbnNwb3J0ID0gY3JlYXRlUmVuZGVyZXJUcmFuc3BvcnQoeyBjcmR0U2VuZFRvUmVuZGVyZXIgfSlcbmVuZ2luZS5hZGRUcmFuc3BvcnQocmVuZGVyZXJUcmFuc3BvcnQpXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvblVwZGF0ZShkZWx0YVRpbWU6IG51bWJlcikge1xuICBhd2FpdCBlbmdpbmUudXBkYXRlKGRlbHRhVGltZSlcbiAgYXdhaXQgcG9sbEV2ZW50cyhzZW5kQmF0Y2gpXG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBiZWZvcmUgdGhlIGZpcnN0IHVwZGF0ZSBhbmQgYWZ0ZXIgdGhlIGV2YWx1YXRpb24gb2YgdGhlIGNvZGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvblN0YXJ0KCkge1xuICBhd2FpdCBlbmdpbmUuc2VhbCgpXG5cbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjcmR0R2V0U3RhdGUoeyBkYXRhOiBuZXcgVWludDhBcnJheSgpIH0pXG4gIGlmICghIXJlbmRlcmVyVHJhbnNwb3J0Lm9ubWVzc2FnZSkge1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5kYXRhICYmIHJlc3BvbnNlLmRhdGEubGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IGJ5dGVBcnJheSBvZiByZXNwb25zZS5kYXRhKSB7XG4gICAgICAgIHJlbmRlcmVyVHJhbnNwb3J0Lm9ubWVzc2FnZShieXRlQXJyYXkpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcl/sdk",
3
- "version": "7.1.2-4419392799.commit-7961b54",
3
+ "version": "7.1.2-4426178080.commit-9504360",
4
4
  "description": "",
5
5
  "main": "./index.js",
6
6
  "typings": "./index.d.ts",
@@ -16,12 +16,12 @@
16
16
  "author": "Decentraland",
17
17
  "license": "Apache-2.0",
18
18
  "dependencies": {
19
- "@dcl/ecs": "7.1.2-4419392799.commit-7961b54",
19
+ "@dcl/ecs": "7.1.2-4426178080.commit-9504360",
20
20
  "@dcl/ecs-math": "2.0.1-20221129185242.commit-40495c1",
21
21
  "@dcl/explorer": "1.0.90114-20230313164447.commit-7c028ca",
22
- "@dcl/js-runtime": "7.1.2-4419392799.commit-7961b54",
23
- "@dcl/react-ecs": "7.1.2-4419392799.commit-7961b54",
24
- "@dcl/sdk-commands": "7.1.2-4419392799.commit-7961b54"
22
+ "@dcl/js-runtime": "7.1.2-4426178080.commit-9504360",
23
+ "@dcl/react-ecs": "7.1.2-4426178080.commit-9504360",
24
+ "@dcl/sdk-commands": "7.1.2-4426178080.commit-9504360"
25
25
  },
26
26
  "minCliVersion": "3.14.1",
27
27
  "typedoc": {
@@ -30,5 +30,5 @@
30
30
  "displayName": "SDK",
31
31
  "tsconfig": "./tsconfig.json"
32
32
  },
33
- "commit": "7961b54813d767254a533472157b7c07665aeb13"
33
+ "commit": "950436017ab8c641b3200d13e39e696f901efe26"
34
34
  }
@@ -0,0 +1,46 @@
1
+ import { Composite, compositeFromJson, CompositeProvider } from '@dcl/ecs'
2
+ import { getSceneInfo } from '~system/Scene'
3
+
4
+ // function compositeFromBinary(binaryComposite: Uint8Array): Composite {
5
+ // throw new Error('To implement')
6
+ // }
7
+
8
+ // @public
9
+ export async function createContentFetchCompositeProvider(): Promise<CompositeProvider> {
10
+ const scene = await getSceneInfo({})
11
+ const compositesContent = scene.contents.filter((item) => {
12
+ const path = item.file.toLowerCase()
13
+ return path.endsWith('.composite') || path.endsWith('.composite.json')
14
+ })
15
+
16
+ const compositePromises = compositesContent.map(async (item) => {
17
+ const compositeUrl = `${scene.baseUrl}${item.hash}`
18
+ try {
19
+ const response = await fetch(compositeUrl)
20
+ if (item.file.endsWith('.json')) {
21
+ const compositeJson = await response.json()
22
+ const composite = compositeFromJson(compositeJson)
23
+ return composite
24
+ } else {
25
+ // TODO: fetch doesn't have arrayBuffer()
26
+ // const compositeBinaryData = await response.text()
27
+
28
+ // TODO: implement compositeFromBinary
29
+ // const composite = compositeFromBinary(compositeBinaryData)
30
+
31
+ return null
32
+ }
33
+ } catch (err) {
34
+ console.error(`Error loading composite ${compositeUrl}: ${(err as any).toString()}`)
35
+ return null
36
+ }
37
+ })
38
+
39
+ const composites = (await Promise.all(compositePromises)).filter((item) => !!item) as Composite[]
40
+
41
+ return {
42
+ getCompositeOrNull(id: string) {
43
+ return composites.find((item) => item.id === id) || null
44
+ }
45
+ }
46
+ }
package/src/index.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  /** @alpha THIS FILE INITIALIZES THE DECENTRALAND RUNTIME. WILL CHANGE SOON */
2
2
  import { engine } from '@dcl/ecs'
3
- import { pollEvents } from './observables'
4
- import { sendBatch, crdtSendToRenderer, crdtGetState } from '~system/EngineApi'
3
+ import { crdtGetState, crdtSendToRenderer, sendBatch } from '~system/EngineApi'
5
4
  import { createRendererTransport } from './internal/transports/rendererTransport'
5
+ import { pollEvents } from './observables'
6
6
 
7
7
  // Attach CRDT transport
8
8
  const rendererTransport = createRendererTransport({ crdtSendToRenderer })
@@ -0,0 +1,19 @@
1
+ import { engine, instanceComposite } from '@dcl/ecs'
2
+ import { createContentFetchCompositeProvider } from './composite-provider'
3
+ import { onStart as basicOnStart, onUpdate as basicOnUpdate } from './index'
4
+
5
+ export const onUpdate = basicOnUpdate
6
+
7
+ /**
8
+ * @internal
9
+ * Function that is called before the first update and after the evaluation of the code.
10
+ */
11
+ /*#__PURE__*/ export async function onStart() {
12
+ const compositeProvider = await createContentFetchCompositeProvider()
13
+ const mainComposite = compositeProvider.getCompositeOrNull('main')
14
+ if (mainComposite) {
15
+ instanceComposite(engine, mainComposite, () => engine.addEntity(), compositeProvider)
16
+ }
17
+
18
+ await basicOnStart()
19
+ }
@@ -0,0 +1,2 @@
1
+ import { onUpdate as basicOnUpdate } from './index';
2
+ export declare const onUpdate: typeof basicOnUpdate;
@@ -0,0 +1,13 @@
1
+ import { engine, instanceComposite } from '@dcl/ecs';
2
+ import { createContentFetchCompositeProvider } from './composite-provider';
3
+ import { onStart as basicOnStart, onUpdate as basicOnUpdate } from './index';
4
+ export const onUpdate = basicOnUpdate;
5
+ export async function onStart() {
6
+ const compositeProvider = await createContentFetchCompositeProvider();
7
+ const mainComposite = compositeProvider.getCompositeOrNull('main');
8
+ if (mainComposite) {
9
+ instanceComposite(engine, mainComposite, () => engine.addEntity(), compositeProvider);
10
+ }
11
+ await basicOnStart();
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jb21wb3NpdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvd2l0aC1jb21wb3NpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxRQUFRLElBQUksYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRTVFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUE7QUFNdkIsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPO0lBQ3pDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxtQ0FBbUMsRUFBRSxDQUFBO0lBQ3JFLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2xFLElBQUksYUFBYSxFQUFFO1FBQ2pCLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUE7S0FDdEY7SUFFRCxNQUFNLFlBQVksRUFBRSxDQUFBO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmdpbmUsIGluc3RhbmNlQ29tcG9zaXRlIH0gZnJvbSAnQGRjbC9lY3MnXG5pbXBvcnQgeyBjcmVhdGVDb250ZW50RmV0Y2hDb21wb3NpdGVQcm92aWRlciB9IGZyb20gJy4vY29tcG9zaXRlLXByb3ZpZGVyJ1xuaW1wb3J0IHsgb25TdGFydCBhcyBiYXNpY09uU3RhcnQsIG9uVXBkYXRlIGFzIGJhc2ljT25VcGRhdGUgfSBmcm9tICcuL2luZGV4J1xuXG5leHBvcnQgY29uc3Qgb25VcGRhdGUgPSBiYXNpY09uVXBkYXRlXG5cbi8qKlxuICogQGludGVybmFsXG4gKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBiZWZvcmUgdGhlIGZpcnN0IHVwZGF0ZSBhbmQgYWZ0ZXIgdGhlIGV2YWx1YXRpb24gb2YgdGhlIGNvZGUuXG4gKi9cbi8qI19fUFVSRV9fKi8gZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9uU3RhcnQoKSB7XG4gIGNvbnN0IGNvbXBvc2l0ZVByb3ZpZGVyID0gYXdhaXQgY3JlYXRlQ29udGVudEZldGNoQ29tcG9zaXRlUHJvdmlkZXIoKVxuICBjb25zdCBtYWluQ29tcG9zaXRlID0gY29tcG9zaXRlUHJvdmlkZXIuZ2V0Q29tcG9zaXRlT3JOdWxsKCdtYWluJylcbiAgaWYgKG1haW5Db21wb3NpdGUpIHtcbiAgICBpbnN0YW5jZUNvbXBvc2l0ZShlbmdpbmUsIG1haW5Db21wb3NpdGUsICgpID0+IGVuZ2luZS5hZGRFbnRpdHkoKSwgY29tcG9zaXRlUHJvdmlkZXIpXG4gIH1cblxuICBhd2FpdCBiYXNpY09uU3RhcnQoKVxufVxuIl19