@typeonce/ritmo-render 0.7.0 → 0.8.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.
@@ -1 +1 @@
1
- {"version":3,"file":"RenderSync.d.ts","sourceRoot":"","sources":["../src/RenderSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderSync.d.ts","sourceRoot":"","sources":["../src/RenderSync.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export const system = (Game, options) => {
6
6
  // above carries the exact requirements (the registry and extra services).
7
7
  const System = Game.System;
8
8
  const Query = Game.Query;
9
+ const anyOf = Game.Query.anyOf;
9
10
  const transform = options.transform;
10
11
  const selection = {
11
12
  ...options.select,
@@ -44,12 +45,14 @@ export const system = (Game, options) => {
44
45
  // Despawns are recorded as removals of every component, so these cover them too.
45
46
  removedReads[`removed${index}`] = Game.System.readRemoved(descriptor);
46
47
  });
47
- additions.forEach((descriptor, index) => {
48
- queries[`added${index}`] = Query({ selection, filters: [Game.Query.added(descriptor)] });
49
- });
50
- triggers.forEach((trigger, index) => {
51
- queries[`changed${index}`] = Query({ selection, filters: [Game.Query.changed(trigger)] });
52
- });
48
+ // One query: an entity whose required component was added, or whose
49
+ // trigger changed, is synced once.
50
+ const filters = [
51
+ ...additions.map((descriptor) => Game.Query.added(descriptor)),
52
+ ...triggers.map((trigger) => Game.Query.changed(trigger))
53
+ ];
54
+ // Never empty: `required` always holds the renderable.
55
+ queries["sync"] = Query({ selection, filters: [filters.length === 1 ? filters[0] : anyOf(...filters)] });
53
56
  return System(options.name, {
54
57
  queries,
55
58
  removed: removedReads,
@@ -64,25 +67,9 @@ export const system = (Game, options) => {
64
67
  for (const entity of removed[`removed${index}`].all())
65
68
  registry.remove(entity);
66
69
  }
67
- const applied = new Set();
68
- for (let index = 0; index < additions.length; index++) {
69
- for (const { entity, data } of queries[`added${index}`].each()) {
70
- if (applied.has(entity.id))
71
- continue;
72
- const context = contextOf(entity, data, services, resources);
73
- options.apply(registry.ensure(entity.id, () => options.create(context)), context);
74
- applied.add(entity.id);
75
- }
76
- }
77
- for (let index = 0; index < triggers.length; index++) {
78
- for (const { entity, data } of queries[`changed${index}`].each()) {
79
- if (applied.has(entity.id))
80
- continue;
81
- applied.add(entity.id);
82
- const context = contextOf(entity, data, services, resources);
83
- const node = registry.get(entity.id) ?? registry.ensure(entity.id, () => options.create(context));
84
- options.apply(node, context);
85
- }
70
+ for (const { entity, data } of queries["sync"].each()) {
71
+ const context = contextOf(entity, data, services, resources);
72
+ options.apply(registry.ensure(entity.id, () => options.create(context)), context);
86
73
  }
87
74
  });
88
75
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RenderSync.js","sourceRoot":"","sources":["../src/RenderSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderSync.js","sourceRoot":"","sources":["../src/RenderSync.ts"],"names":[],"mappings":"AAwKA;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAWpB,IAA0B,EAC1B,OAA6F,EACiC,EAAE;IAGhI,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAyF,CAAA;IAC7G,MAAM,KAAK,GAAG,IAAI,CAAC,KAA4C,CAAA;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAiE,CAAA;IAC1F,MAAM,SAAS,GAAG,OAAO,CAAC,SAAsD,CAAA;IAChF,MAAM,SAAS,GAAG;QAChB,GAAG,OAAO,CAAC,MAAM;QACjB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACjD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;KAChF,CAAA;IACD,MAAM,QAAQ,GAA4B,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC/F,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,SAAS,GAA4B,EAAE,CAAA;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;QACxE,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAA0C,CAAC,CAAA;IACvF,CAAC;IAED,MAAM,SAAS,GAAG,CAChB,MAAgC,EAChC,IAAyB,EACzB,QAAiC,EACjC,KAA8B,EACrB,EAAE,CAAC,CAAC;QACb,MAAM,EAAE,MAAM,CAAC,EAAE;QACjB,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE;QACtC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE;QACrC,IAAI;QACJ,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,QAAQ;KACnB,CAAuB,CAAA;IAExB,6EAA6E;IAC7E,MAAM,QAAQ,GAAG;QACf,OAAO,CAAC,UAAU;QAClB,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/C,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9G,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,CAAA;IAEvE,sEAAsE;IACtE,yDAAyD;IACzD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7G,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IACjF,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,MAAM,YAAY,GAA4B,EAAE,CAAA;IAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QACrC,iFAAiF;QACjF,YAAY,CAAC,UAAU,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IACF,oEAAoE;IACpE,mCAAmC;IACnC,MAAM,OAAO,GAAG;QACd,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9D,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC1D,CAAA;IACD,uDAAuD;IACvD,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAExG,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;QAC1B,OAAO;QACP,OAAO,EAAE,YAAY;QACrB,SAAS;QACT,QAAQ;QACR,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;KACzB,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAgC,CAAA;QAC1D,uEAAuE;QACvE,4EAA4E;QAC5E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE;gBAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChF,CAAC;QAED,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACtD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;YAC5D,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QACnF,CAAC;IACH,CAAC,CAAiI,CAAA;AACpI,CAAC,CAAA;AAuFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAUzB,IAA0B,EAC1B,OAAsF,EACR,EAAE;IAEhF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAyF,CAAA;IAC7G,MAAM,KAAK,GAAG,IAAI,CAAC,KAA4C,CAAA;IAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC;QACrB,SAAS,EAAE;YACT,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAoB,CAAC;YACvD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAkB,CAAC;SACrD;KACF,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;QAC1B,OAAO,EAAE,EAAE,QAAQ,EAAE;QACrB,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAqB,CAAC;SAC1D;QACD,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;KACzB,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAA8B,CAAA;QACxD,MAAM,KAAK,GAAI,QAAQ,CAAC,KAAoC,CAAC,KAAK,CAAA;QAClE,MAAM,KAAK,GAAG,OAAO,CAAC,KAA4D,CAAA;QAClF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3B,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACpC,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAQ;YAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC7E,SAAQ;YACV,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAY,CAAA;YAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAY,CAAA;YACvC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,EAAoB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACxH,CAAC;IACH,CAAC,CAAiF,CAAA;AACpF,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typeonce/ritmo-render",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Renderer-agnostic entity-to-node mirroring for Ritmo",
5
5
  "author": "Sandro Maglione",
6
6
  "license": "MIT",
@@ -45,7 +45,7 @@
45
45
  "provenance": true
46
46
  },
47
47
  "dependencies": {
48
- "@typeonce/ritmo": "^0.7.0"
48
+ "@typeonce/ritmo": "^0.8.0"
49
49
  },
50
50
  "engines": {
51
51
  "node": ">=20"
package/src/RenderSync.ts CHANGED
@@ -189,6 +189,7 @@ export const system = <
189
189
  // above carries the exact requirements (the registry and extra services).
190
190
  const System = Game.System as unknown as (name: string, spec: object, run: (context: any) => void) => unknown
191
191
  const Query = Game.Query as unknown as (spec: object) => object
192
+ const anyOf = Game.Query.anyOf as unknown as (...filters: ReadonlyArray<object>) => object
192
193
  const transform = options.transform as Schema.ComponentDescriptor<S> | undefined
193
194
  const selection = {
194
195
  ...options.select,
@@ -235,12 +236,14 @@ export const system = <
235
236
  // Despawns are recorded as removals of every component, so these cover them too.
236
237
  removedReads[`removed${index}`] = Game.System.readRemoved(descriptor)
237
238
  })
238
- additions.forEach((descriptor, index) => {
239
- queries[`added${index}`] = Query({ selection, filters: [Game.Query.added(descriptor)] })
240
- })
241
- triggers.forEach((trigger, index) => {
242
- queries[`changed${index}`] = Query({ selection, filters: [Game.Query.changed(trigger)] })
243
- })
239
+ // One query: an entity whose required component was added, or whose
240
+ // trigger changed, is synced once.
241
+ const filters = [
242
+ ...additions.map((descriptor) => Game.Query.added(descriptor)),
243
+ ...triggers.map((trigger) => Game.Query.changed(trigger))
244
+ ]
245
+ // Never empty: `required` always holds the renderable.
246
+ queries["sync"] = Query({ selection, filters: [filters.length === 1 ? filters[0] : anyOf(...filters)] })
244
247
 
245
248
  return System(options.name, {
246
249
  queries,
@@ -256,23 +259,9 @@ export const system = <
256
259
  for (const entity of removed[`removed${index}`].all()) registry.remove(entity)
257
260
  }
258
261
 
259
- const applied = new Set<number>()
260
- for (let index = 0; index < additions.length; index++) {
261
- for (const { entity, data } of queries[`added${index}`].each()) {
262
- if (applied.has(entity.id)) continue
263
- const context = contextOf(entity, data, services, resources)
264
- options.apply(registry.ensure(entity.id, () => options.create(context)), context)
265
- applied.add(entity.id)
266
- }
267
- }
268
- for (let index = 0; index < triggers.length; index++) {
269
- for (const { entity, data } of queries[`changed${index}`].each()) {
270
- if (applied.has(entity.id)) continue
271
- applied.add(entity.id)
272
- const context = contextOf(entity, data, services, resources)
273
- const node = registry.get(entity.id) ?? registry.ensure(entity.id, () => options.create(context))
274
- options.apply(node, context)
275
- }
262
+ for (const { entity, data } of queries["sync"].each()) {
263
+ const context = contextOf(entity, data, services, resources)
264
+ options.apply(registry.ensure(entity.id, () => options.create(context)), context)
276
265
  }
277
266
  }) as RenderSystem<S, Root, Registry | Services[keyof Services] | Resources[keyof Resources] | ConditionNeedsFromConditions<When>>
278
267
  }