@vworlds/vecs 1.0.26 → 1.0.27
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.
- package/dist/dsl.d.ts +21 -0
- package/dist/dsl.js +21 -18
- package/dist/dsl.js.map +1 -1
- package/dist/entity/entity.d.ts +8 -0
- package/dist/entity/entity.js +21 -0
- package/dist/entity/entity.js.map +1 -1
- package/dist/entity/entity.relationships.d.ts +1 -1
- package/dist/entity/entity.relationships.js +1 -1
- package/dist/modules/relationships.d.ts +1 -1
- package/dist/modules/relationships.js +2 -2
- package/dist/package.json +1 -1
- package/dist/query/grouped_query.js +1 -1
- package/dist/terms/build.js +7 -5
- package/dist/terms/build.js.map +1 -1
- package/docs/design-guide.md +1 -1
- package/docs/entities.md +4 -2
- package/docs/relationships.md +14 -13
- package/docs/systems.md +1 -1
- package/package.json +1 -1
package/dist/dsl.d.ts
CHANGED
|
@@ -49,6 +49,27 @@ export type QueryDSL = true | false | readonly ComponentRef[] | ComponentRef | {
|
|
|
49
49
|
} | {
|
|
50
50
|
test: EntityTestFunc;
|
|
51
51
|
watch?: readonly ComponentRef[] | ComponentRef;
|
|
52
|
+
} | SimplifiedQueryDSL;
|
|
53
|
+
/**
|
|
54
|
+
* QueryDSL after simplification: bare classes and Entity instances resolved to
|
|
55
|
+
* numeric type ids, `parent`/`children` rewritten to `target`/`source`, all
|
|
56
|
+
* Component Refs resolved to EIDs.
|
|
57
|
+
*/
|
|
58
|
+
type SimplifiedQueryDSL = true | false | readonly EID[] | EID | {
|
|
59
|
+
all: readonly SimplifiedQueryDSL[];
|
|
60
|
+
} | {
|
|
61
|
+
any: readonly SimplifiedQueryDSL[];
|
|
62
|
+
} | {
|
|
63
|
+
not: SimplifiedQueryDSL;
|
|
64
|
+
} | {
|
|
65
|
+
only: readonly EID[] | EID;
|
|
66
|
+
} | {
|
|
67
|
+
target: readonly [EID, SimplifiedQueryDSL];
|
|
68
|
+
} | {
|
|
69
|
+
source: readonly [EID, SimplifiedQueryDSL];
|
|
70
|
+
} | {
|
|
71
|
+
test: EntityTestFunc;
|
|
72
|
+
watch?: readonly EID[] | EID;
|
|
52
73
|
};
|
|
53
74
|
/**
|
|
54
75
|
* A complete query specification combining a membership predicate with optional
|
package/dist/dsl.js
CHANGED
|
@@ -20,12 +20,6 @@ function _componentRequirements(q) {
|
|
|
20
20
|
}
|
|
21
21
|
return undefined;
|
|
22
22
|
}
|
|
23
|
-
function _asShortestComponentRequirement(components) {
|
|
24
|
-
if (components.length === 0) {
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
return components.length === 1 ? components[0] : components;
|
|
28
|
-
}
|
|
29
23
|
function _calculateComponentBitmask(types) {
|
|
30
24
|
const bitmask = new Bitset();
|
|
31
25
|
types.forEach((type) => {
|
|
@@ -89,11 +83,16 @@ function _sortComponentRequirements(components) {
|
|
|
89
83
|
}
|
|
90
84
|
return deduped;
|
|
91
85
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
86
|
+
// _canonicalizeComponents: resolve components → sort → pick shortest form
|
|
87
|
+
// Called only from simplifyQueryDSL with ComponentRef[], returns SimplifiedQueryDSL
|
|
88
|
+
function _canonicalizeComponents(components, world) {
|
|
89
|
+
const resolved = components.map((component) => _resolveComponentRequirement(component, world));
|
|
90
|
+
const sorted = _sortComponentRequirements(resolved);
|
|
91
|
+
// Shortest form: empty → true, single → that component, multiple → array
|
|
92
|
+
if (sorted.length === 0) {
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
return sorted.length === 1 ? sorted[0] : sorted;
|
|
97
96
|
}
|
|
98
97
|
function _componentSortKey(q) {
|
|
99
98
|
if (typeof q === "number") {
|
|
@@ -244,7 +243,7 @@ export function simplifyQueryDSL(q, world) {
|
|
|
244
243
|
return q;
|
|
245
244
|
}
|
|
246
245
|
if (q instanceof Array) {
|
|
247
|
-
return
|
|
246
|
+
return _canonicalizeComponents(q, world);
|
|
248
247
|
}
|
|
249
248
|
if (typeof q === "number") {
|
|
250
249
|
return q;
|
|
@@ -259,7 +258,10 @@ export function simplifyQueryDSL(q, world) {
|
|
|
259
258
|
const components = q.only;
|
|
260
259
|
return {
|
|
261
260
|
only: components instanceof Array
|
|
262
|
-
?
|
|
261
|
+
? (() => {
|
|
262
|
+
const sorted = _sortComponentRequirements(components.map((component) => _resolveComponentRequirement(component, world)));
|
|
263
|
+
return sorted.length === 1 ? sorted[0] : sorted;
|
|
264
|
+
})()
|
|
263
265
|
: _resolveComponentRequirement(components, world),
|
|
264
266
|
};
|
|
265
267
|
}
|
|
@@ -291,7 +293,7 @@ export function simplifyQueryDSL(q, world) {
|
|
|
291
293
|
}
|
|
292
294
|
}
|
|
293
295
|
const terms = componentRequirements.length > 0
|
|
294
|
-
? [
|
|
296
|
+
? [_canonicalizeComponents(componentRequirements, world), ...otherTerms]
|
|
295
297
|
: otherTerms;
|
|
296
298
|
if (terms.length === 0) {
|
|
297
299
|
return true;
|
|
@@ -365,7 +367,7 @@ export function simplifyQueryDSL(q, world) {
|
|
|
365
367
|
}
|
|
366
368
|
if ("test" in q) {
|
|
367
369
|
if (q.watch === undefined) {
|
|
368
|
-
return q;
|
|
370
|
+
return { test: q.test };
|
|
369
371
|
}
|
|
370
372
|
const watch = q.watch instanceof Array ? q.watch : [q.watch];
|
|
371
373
|
const resolvedWatch = [
|
|
@@ -464,10 +466,11 @@ function _compileQueryExpression(world, q, context, entityRef) {
|
|
|
464
466
|
if ("not" in q) {
|
|
465
467
|
return `!(${_compileQueryExpression(world, q.not, context, entityRef)})`;
|
|
466
468
|
}
|
|
467
|
-
if ("target" in q) {
|
|
468
|
-
const
|
|
469
|
+
if ("target" in q && Array.isArray(q.target)) {
|
|
470
|
+
const t = q;
|
|
471
|
+
const relEid = _resolveRelationship(t.target[0], world);
|
|
469
472
|
const relMask = _compileMask(context, [relEid], entityRef, "hasBitset");
|
|
470
|
-
const inner = _compileQueryExpression(world,
|
|
473
|
+
const inner = _compileQueryExpression(world, t.target[1], context, "p");
|
|
471
474
|
return `(${relMask})&&((p)=>p!==undefined&&(${inner}))(${entityRef}._get(${relEid})?.target)`;
|
|
472
475
|
}
|
|
473
476
|
if ("source" in q) {
|
package/dist/dsl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dsl.js","sourceRoot":"","sources":["../src/dsl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dsl.js","sourceRoot":"","sources":["../src/dsl.ts"],"names":[],"mappings":"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"}
|
package/dist/entity/entity.d.ts
CHANGED
|
@@ -36,4 +36,12 @@ export type EntityClass<T extends Entity = Entity> = new (world: World, eid: EID
|
|
|
36
36
|
export declare class Entity extends IdentityEntity {
|
|
37
37
|
/** Attach this entity to `parent` through the built-in `ChildOf` relationship. */
|
|
38
38
|
childOf(parent: Entity): this;
|
|
39
|
+
/** Get this entity's parent through the built-in `ChildOf` relationship, if present. */
|
|
40
|
+
get parent(): Entity | undefined;
|
|
41
|
+
/** Set this entity's parent through the built-in `ChildOf` relationship. */
|
|
42
|
+
set parent(parent: Entity | undefined);
|
|
43
|
+
/** True if this entity has been destroyed (marked for deletion). */
|
|
44
|
+
get destroyed(): boolean;
|
|
45
|
+
/** True if this entity is alive (not destroyed). */
|
|
46
|
+
get alive(): boolean;
|
|
39
47
|
}
|
package/dist/entity/entity.js
CHANGED
|
@@ -34,5 +34,26 @@ export class Entity extends IdentityEntity {
|
|
|
34
34
|
childOf(parent) {
|
|
35
35
|
return this.set(ChildOf, { target: parent });
|
|
36
36
|
}
|
|
37
|
+
/** Get this entity's parent through the built-in `ChildOf` relationship, if present. */
|
|
38
|
+
get parent() {
|
|
39
|
+
return this.target(ChildOf);
|
|
40
|
+
}
|
|
41
|
+
/** Set this entity's parent through the built-in `ChildOf` relationship. */
|
|
42
|
+
set parent(parent) {
|
|
43
|
+
if (parent === undefined) {
|
|
44
|
+
this.remove(ChildOf);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.childOf(parent);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** True if this entity has been destroyed (marked for deletion). */
|
|
51
|
+
get destroyed() {
|
|
52
|
+
return this._destroyed;
|
|
53
|
+
}
|
|
54
|
+
/** True if this entity is alive (not destroyed). */
|
|
55
|
+
get alive() {
|
|
56
|
+
return !this._destroyed;
|
|
57
|
+
}
|
|
37
58
|
}
|
|
38
59
|
//# sourceMappingURL=entity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/entity/entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAWtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,MAAO,SAAQ,cAAc;IACxC,kFAAkF;IAC3E,OAAO,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/entity/entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAWtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,MAAO,SAAQ,cAAc;IACxC,kFAAkF;IAC3E,OAAO,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,wFAAwF;IACxF,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,4EAA4E;IAC5E,IAAW,MAAM,CAAC,MAA0B;QAC1C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,oDAAoD;IACpD,IAAW,KAAK;QACd,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -3,7 +3,7 @@ import type { Entity } from "./entity.js";
|
|
|
3
3
|
import { Queries } from "./entity.queries.js";
|
|
4
4
|
export declare class Relationships extends Queries {
|
|
5
5
|
/** Return this entity's target through relationship `ref`, if present. */
|
|
6
|
-
|
|
6
|
+
target(rel: ComponentRef): Entity | undefined;
|
|
7
7
|
/** Return entities targeting this one through relationship `ref`. */
|
|
8
8
|
children(ref: ComponentRef): ReadonlySet<Entity>;
|
|
9
9
|
}
|
|
@@ -4,7 +4,7 @@ import { DenseSet } from "../util/dense_set.js";
|
|
|
4
4
|
import { Queries } from "./entity.queries.js";
|
|
5
5
|
export class Relationships extends Queries {
|
|
6
6
|
/** Return this entity's target through relationship `ref`, if present. */
|
|
7
|
-
|
|
7
|
+
target(rel) {
|
|
8
8
|
const relEid = typeof rel === "number" ? rel : this.world.entity(rel).eid;
|
|
9
9
|
return this._components.get(relEid)?.target;
|
|
10
10
|
}
|
|
@@ -14,7 +14,7 @@ export { ChildOf, DependsOn, SilenceSource, Traversable } from "./relationship_t
|
|
|
14
14
|
* every entity's depth is updated when the relationship is added, retargeted,
|
|
15
15
|
* or removed.
|
|
16
16
|
*
|
|
17
|
-
* Depth is computed by walking `entity.
|
|
17
|
+
* Depth is computed by walking `entity.target(relEid)` to the root. When an
|
|
18
18
|
* entity's depth changes, every descendant is recursively recomputed.
|
|
19
19
|
*/
|
|
20
20
|
export declare class RelationshipsModule extends Module {
|
|
@@ -16,7 +16,7 @@ export { ChildOf, DependsOn, SilenceSource, Traversable } from "./relationship_t
|
|
|
16
16
|
* every entity's depth is updated when the relationship is added, retargeted,
|
|
17
17
|
* or removed.
|
|
18
18
|
*
|
|
19
|
-
* Depth is computed by walking `entity.
|
|
19
|
+
* Depth is computed by walking `entity.target(relEid)` to the root. When an
|
|
20
20
|
* entity's depth changes, every descendant is recursively recomputed.
|
|
21
21
|
*/
|
|
22
22
|
export class RelationshipsModule extends Module {
|
|
@@ -68,7 +68,7 @@ export class RelationshipsModule extends Module {
|
|
|
68
68
|
return 0;
|
|
69
69
|
}
|
|
70
70
|
visited.add(entity);
|
|
71
|
-
const parent = entity.
|
|
71
|
+
const parent = entity.target(relEid);
|
|
72
72
|
if (!parent) {
|
|
73
73
|
return 0;
|
|
74
74
|
}
|
package/dist/package.json
CHANGED
package/dist/terms/build.js
CHANGED
|
@@ -142,8 +142,9 @@ function _dispatch(world, dsl, key) {
|
|
|
142
142
|
if ("test" in dsl) {
|
|
143
143
|
return PredicateTerm.buildPredicate(world, dsl, key, getTerm, onDestroy);
|
|
144
144
|
}
|
|
145
|
-
if ("target" in dsl) {
|
|
146
|
-
|
|
145
|
+
if ("target" in dsl && Array.isArray(dsl.target)) {
|
|
146
|
+
const d = dsl;
|
|
147
|
+
return TargetTerm.build(world, d.target[0], d.target[1], key, getTerm, onDestroy);
|
|
147
148
|
}
|
|
148
149
|
throw new Error("Unrecognized query term");
|
|
149
150
|
}
|
|
@@ -286,8 +287,9 @@ function _analyzeDSL(dsl) {
|
|
|
286
287
|
})),
|
|
287
288
|
]);
|
|
288
289
|
}
|
|
289
|
-
if ("target" in dsl) {
|
|
290
|
-
const
|
|
290
|
+
if ("target" in dsl && Array.isArray(dsl.target)) {
|
|
291
|
+
const d = dsl;
|
|
292
|
+
const relEid = d.target[0];
|
|
291
293
|
return _mergeAnalyses([
|
|
292
294
|
{
|
|
293
295
|
leafKeys: new Set([`C:${relEid}`]),
|
|
@@ -296,7 +298,7 @@ function _analyzeDSL(dsl) {
|
|
|
296
298
|
containsOnly: false,
|
|
297
299
|
containsTarget: true,
|
|
298
300
|
},
|
|
299
|
-
{ ..._analyzeDSL(
|
|
301
|
+
{ ..._analyzeDSL(d.target[1]), containsTarget: true },
|
|
300
302
|
]);
|
|
301
303
|
}
|
|
302
304
|
return {
|
package/dist/terms/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/terms/build.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/terms/build.ts"],"names":[],"mappings":"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"}
|
package/docs/design-guide.md
CHANGED
|
@@ -166,7 +166,7 @@ A relationship is a component whose value points at another entity:
|
|
|
166
166
|
```ts
|
|
167
167
|
class InCell extends Relationship {}
|
|
168
168
|
entity.set(InCell, { target: cell }); // retarget freely
|
|
169
|
-
entity.
|
|
169
|
+
entity.target(InCell); // the target entity
|
|
170
170
|
world.query("ByCell").with(Networked, Position).groupBy(InCell); // index by target
|
|
171
171
|
```
|
|
172
172
|
|
package/docs/entities.md
CHANGED
|
@@ -138,7 +138,7 @@ directly. This is how tag-like, runtime-created component types work without dec
|
|
|
138
138
|
|
|
139
139
|
## Relationships, in brief
|
|
140
140
|
|
|
141
|
-
`e.
|
|
141
|
+
`e.target(Rel)` returns the target of a relationship component, `e.children(Rel)` the set of
|
|
142
142
|
entities targeting `e` through it, and `e.childOf(parent)` is shorthand for
|
|
143
143
|
`e.set(ChildOf, { target: parent })`. The full model — retargeting, cleanup cascades, traversal —
|
|
144
144
|
is in [Relationships](./relationships.md).
|
|
@@ -168,8 +168,10 @@ is in [Relationships](./relationships.md).
|
|
|
168
168
|
| `modified(ref)` | Queue an `onSet`/`update` notification; coalesced while pending. Returns `this`. |
|
|
169
169
|
| `remove(ref)` | Detach a component; routes `exit`, then fires `onRemove`. |
|
|
170
170
|
| `destroy()` | Remove all components, unregister, and apply incoming relationship cleanup. |
|
|
171
|
-
| `
|
|
171
|
+
| `target(rel)` | Target entity of relationship `rel`, or `undefined`. |
|
|
172
172
|
| `children(rel)` | `ReadonlySet<Entity>` of entities targeting this one through `rel`. |
|
|
173
173
|
| `childOf(parent)` | Shorthand for `set(ChildOf, { target: parent })`. Returns `this`. |
|
|
174
|
+
| `parent` / `parent = p` | Getter/setter for the built-in `ChildOf` target; assigning `undefined` removes `ChildOf`. |
|
|
175
|
+
| `destroyed` / `alive` | `true` when the entity has been / has not been destroyed (marked for deletion). |
|
|
174
176
|
| `onAdd/onSet/onRemove(handler)` | Register hooks for this entity used as a component key. Return `this`. |
|
|
175
177
|
| `toString()` | Returns `"EntityN"`. |
|
package/docs/relationships.md
CHANGED
|
@@ -17,7 +17,7 @@ class EquippedBy extends Relationship {}
|
|
|
17
17
|
world.component(EquippedBy);
|
|
18
18
|
|
|
19
19
|
item.set(EquippedBy, { target: player });
|
|
20
|
-
item.
|
|
20
|
+
item.target(EquippedBy); // player
|
|
21
21
|
player.children(EquippedBy).has(item); // true
|
|
22
22
|
```
|
|
23
23
|
|
|
@@ -134,15 +134,16 @@ the box — the world's default pipeline is itself a `cascade: DependsOn` query
|
|
|
134
134
|
|
|
135
135
|
## Reference
|
|
136
136
|
|
|
137
|
-
| API | Description
|
|
138
|
-
| --------------------------------------------------- |
|
|
139
|
-
| `class R extends Relationship {}` | Declare a relationship component with a `target: Entity` field.
|
|
140
|
-
| `e.set(R, { target })` | Create or retarget the relationship.
|
|
141
|
-
| `e.
|
|
142
|
-
| `e.children(R)` | `ReadonlySet<Entity>` of sources targeting `e` through `R`.
|
|
143
|
-
| `e.childOf(parent)` | Shorthand for `e.set(ChildOf, { target: parent })`.
|
|
144
|
-
| `
|
|
145
|
-
| `
|
|
146
|
-
| `
|
|
147
|
-
| `{
|
|
148
|
-
| `{
|
|
137
|
+
| API | Description |
|
|
138
|
+
| --------------------------------------------------- | --------------------------------------------------------------------------------------- |
|
|
139
|
+
| `class R extends Relationship {}` | Declare a relationship component with a `target: Entity` field. |
|
|
140
|
+
| `e.set(R, { target })` | Create or retarget the relationship. |
|
|
141
|
+
| `e.target(R)` | The target entity through relationship `R`, or `undefined`. |
|
|
142
|
+
| `e.children(R)` | `ReadonlySet<Entity>` of sources targeting `e` through `R`. |
|
|
143
|
+
| `e.childOf(parent)` | Shorthand for `e.set(ChildOf, { target: parent })`. |
|
|
144
|
+
| `e.parent` / `e.parent = p` | Getter/setter for the built-in `ChildOf` target; setting `undefined` removes `ChildOf`. |
|
|
145
|
+
| `meta.onDeleteTarget` | `Remove` (default) or `Delete` cascade when a target is destroyed. |
|
|
146
|
+
| `world.component(R).add(Traversable)` | Enable depth tracking for `cascade` ordering. |
|
|
147
|
+
| `{ target: [R, q] }` / `{ parent: q }` | Reactive DSL operators through the relationship. |
|
|
148
|
+
| `{ source: [R, q] }` / `{ children: q }` | Filter-only DSL operators down the reverse index. |
|
|
149
|
+
| `{ target: [R, [C...]] }` / `{ down: [R, [C...]] }` | Injection markers; see [Systems](./systems.md#relationship-injection-target-and-down). |
|
package/docs/systems.md
CHANGED
|
@@ -177,7 +177,7 @@ component is absent:
|
|
|
177
177
|
|
|
178
178
|
```ts
|
|
179
179
|
.forEach([Body, { target: [FriendOf, [Position, Velocity]] }], (e, [body, pos, vel]) => {
|
|
180
|
-
// body is from e; pos and vel are from e.
|
|
180
|
+
// body is from e; pos and vel are from e.target(FriendOf).
|
|
181
181
|
});
|
|
182
182
|
```
|
|
183
183
|
|