iris-ecs 0.0.6 → 0.0.7
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/README.md +13 -13
- package/dist/component.d.ts +6 -6
- package/dist/component.d.ts.map +1 -1
- package/dist/component.js +2 -2
- package/dist/encoding.d.ts +16 -4
- package/dist/encoding.d.ts.map +1 -1
- package/dist/encoding.js.map +1 -1
- package/dist/event.d.ts +11 -5
- package/dist/event.d.ts.map +1 -1
- package/dist/event.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/name.d.ts +1 -1
- package/dist/name.d.ts.map +1 -1
- package/dist/query.d.ts +3 -3
- package/dist/query.js +2 -2
- package/dist/registry.d.ts +6 -6
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js.map +1 -1
- package/dist/resource.d.ts +2 -2
- package/dist/resource.d.ts.map +1 -1
- package/dist/scheduler.d.ts +1 -1
- package/dist/scheduler.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
defineComponent,
|
|
40
40
|
defineSystem,
|
|
41
41
|
defineTag,
|
|
42
|
-
|
|
42
|
+
cacheQuery,
|
|
43
43
|
addComponent,
|
|
44
44
|
getComponentValue,
|
|
45
45
|
setComponentValue,
|
|
@@ -65,7 +65,7 @@ addComponent(world, player, Player);
|
|
|
65
65
|
// Define a system -- init runs once, tick runs every frame
|
|
66
66
|
const movementSystem = defineSystem("movementSystem", (world) => {
|
|
67
67
|
// Init: cache queries once
|
|
68
|
-
const movers =
|
|
68
|
+
const movers = cacheQuery(world, Position, Velocity);
|
|
69
69
|
|
|
70
70
|
return () => {
|
|
71
71
|
// Tick: runs every frame
|
|
@@ -385,7 +385,7 @@ Adding or removing a component moves an entity to a different archetype. This is
|
|
|
385
385
|
A **Query** fetches entities that match a set of component constraints. Use `queryEntities()` to iterate matches, `queryFirstEntity()` for singletons, or `collectEntities()` for array results.
|
|
386
386
|
|
|
387
387
|
```typescript
|
|
388
|
-
import { queryEntities, queryFirstEntity,
|
|
388
|
+
import { queryEntities, queryFirstEntity, cacheQuery, not } from "iris-ecs";
|
|
389
389
|
|
|
390
390
|
// Iterate all entities with Position and Velocity
|
|
391
391
|
queryEntities(world, [Position, Velocity], (entity) => {
|
|
@@ -397,11 +397,11 @@ queryEntities(world, [Position, Velocity], (entity) => {
|
|
|
397
397
|
const player = queryFirstEntity(world, [Player, not(Dead)]);
|
|
398
398
|
```
|
|
399
399
|
|
|
400
|
-
Inline terms (arrays) work anywhere, but in systems it's advised to pre-build queries with `
|
|
400
|
+
Inline terms (arrays) work anywhere, but in systems it's advised to pre-build queries with `cacheQuery()` during init:
|
|
401
401
|
|
|
402
402
|
```typescript
|
|
403
403
|
const mySystem = defineSystem("mySystem", (world) => {
|
|
404
|
-
const movers =
|
|
404
|
+
const movers = cacheQuery(world, Position, Velocity);
|
|
405
405
|
|
|
406
406
|
return () => {
|
|
407
407
|
queryEntities(world, movers, (entity) => {
|
|
@@ -411,7 +411,7 @@ const mySystem = defineSystem("mySystem", (world) => {
|
|
|
411
411
|
});
|
|
412
412
|
```
|
|
413
413
|
|
|
414
|
-
💡 **Tip:** Queries are cached internally -- the same component set returns the same cached query. `
|
|
414
|
+
💡 **Tip:** Queries are cached internally -- the same component set returns the same cached query. `cacheQuery()` in init makes the caching explicit and avoids array allocation on every frame.
|
|
415
415
|
|
|
416
416
|
#### Exclusion Filters
|
|
417
417
|
|
|
@@ -437,14 +437,14 @@ Queries match archetypes where all required components are present and no exclud
|
|
|
437
437
|
|
|
438
438
|
A **System** is a function that operates on the world. Systems query entities, read and write components, emit events, and implement game logic.
|
|
439
439
|
|
|
440
|
-
Use `defineSystem()` to create systems with init / tick separation. The init function runs once at registration time -- use it to cache queries with `
|
|
440
|
+
Use `defineSystem()` to create systems with init / tick separation. The init function runs once at registration time -- use it to cache queries with `cacheQuery()`, cache action getters, and perform one-time setup. The returned tick function runs every frame.
|
|
441
441
|
|
|
442
442
|
Systems are registered with `addSystem()` and executed automatically when the world runs.
|
|
443
443
|
|
|
444
444
|
```typescript
|
|
445
445
|
import {
|
|
446
446
|
defineSystem,
|
|
447
|
-
|
|
447
|
+
cacheQuery,
|
|
448
448
|
addSystem,
|
|
449
449
|
run,
|
|
450
450
|
stop,
|
|
@@ -456,7 +456,7 @@ import {
|
|
|
456
456
|
|
|
457
457
|
const movementSystem = defineSystem("movementSystem", (world) => {
|
|
458
458
|
// Init: cache queries and action getters once
|
|
459
|
-
const movers =
|
|
459
|
+
const movers = cacheQuery(world, Position, Velocity);
|
|
460
460
|
|
|
461
461
|
return () => {
|
|
462
462
|
// Tick: runs every frame
|
|
@@ -719,7 +719,7 @@ Events use double-buffered storage. Buffers rotate automatically at the end of e
|
|
|
719
719
|
```typescript
|
|
720
720
|
import {
|
|
721
721
|
defineSystem,
|
|
722
|
-
|
|
722
|
+
cacheQuery,
|
|
723
723
|
queryEntities,
|
|
724
724
|
readEvents,
|
|
725
725
|
added,
|
|
@@ -729,7 +729,7 @@ import {
|
|
|
729
729
|
} from "iris-ecs";
|
|
730
730
|
|
|
731
731
|
const physicsSetupSystem = defineSystem("physicsSetupSystem", (world) => {
|
|
732
|
-
const newBodies =
|
|
732
|
+
const newBodies = cacheQuery(world, added(Position));
|
|
733
733
|
|
|
734
734
|
return () => {
|
|
735
735
|
// Entities where Position was added since this system's last run
|
|
@@ -740,7 +740,7 @@ const physicsSetupSystem = defineSystem("physicsSetupSystem", (world) => {
|
|
|
740
740
|
});
|
|
741
741
|
|
|
742
742
|
const healthBarSystem = defineSystem("healthBarSystem", (world) => {
|
|
743
|
-
const damaged =
|
|
743
|
+
const damaged = cacheQuery(world, changed(Health));
|
|
744
744
|
|
|
745
745
|
return () => {
|
|
746
746
|
// Entities where Health was modified (added OR value changed)
|
|
@@ -752,7 +752,7 @@ const healthBarSystem = defineSystem("healthBarSystem", (world) => {
|
|
|
752
752
|
|
|
753
753
|
const minimapSystem = defineSystem("minimapSystem", (world) => {
|
|
754
754
|
// Combine change detection with regular filters
|
|
755
|
-
const movedPlayers =
|
|
755
|
+
const movedPlayers = cacheQuery(world, Player, changed(Position), not(Dead));
|
|
756
756
|
|
|
757
757
|
return () => {
|
|
758
758
|
queryEntities(world, movedPlayers, (e) => {
|
package/dist/component.d.ts
CHANGED
|
@@ -51,8 +51,8 @@ export declare function hasComponent<C extends EntityId>(world: World, entityId:
|
|
|
51
51
|
* const x = getComponentValue(world, entity, Position, 'x');
|
|
52
52
|
* ```
|
|
53
53
|
*/
|
|
54
|
-
export declare function getComponentValue<S extends SchemaRecord, K extends keyof S>(world: World, entityId: EntityWith<Component<S>>, componentId: Component<S>, fieldName: K): InferSchema<S[K]>;
|
|
55
|
-
export declare function getComponentValue<S extends SchemaRecord, K extends keyof S>(world: World, entityId: EntityWith<Pair<Relation<S>>>, componentId: Pair<Relation<S>>, fieldName: K): InferSchema<S[K]>;
|
|
54
|
+
export declare function getComponentValue<S extends SchemaRecord, N extends string, K extends keyof S>(world: World, entityId: EntityWith<Component<S, N>>, componentId: Component<S, N>, fieldName: K): InferSchema<S[K]>;
|
|
55
|
+
export declare function getComponentValue<S extends SchemaRecord, N extends string, K extends keyof S>(world: World, entityId: EntityWith<Pair<Relation<S, N>>>, componentId: Pair<Relation<S, N>>, fieldName: K): InferSchema<S[K]>;
|
|
56
56
|
export declare function getComponentValue<S extends SchemaRecord, K extends keyof S>(world: World, entityId: EntityId, componentId: Component<S> | Pair<Relation<S>>, fieldName: K): InferSchema<S[K]> | undefined;
|
|
57
57
|
/**
|
|
58
58
|
* Set component field value.
|
|
@@ -69,18 +69,18 @@ export declare function getComponentValue<S extends SchemaRecord, K extends keyo
|
|
|
69
69
|
* setComponentValue(world, entity, Position, 'x', 10.0);
|
|
70
70
|
* ```
|
|
71
71
|
*/
|
|
72
|
-
export declare function setComponentValue<S extends SchemaRecord, K extends keyof S>(world: World, entityId: EntityWith<Component<S>>, componentId: Component<S>, fieldName: K, value: InferSchema<S[K]>): void;
|
|
73
|
-
export declare function setComponentValue<S extends SchemaRecord, K extends keyof S>(world: World, entityId: EntityWith<Pair<Relation<S>>>, componentId: Pair<Relation<S>>, fieldName: K, value: InferSchema<S[K]>): void;
|
|
72
|
+
export declare function setComponentValue<S extends SchemaRecord, N extends string, K extends keyof S>(world: World, entityId: EntityWith<Component<S, N>>, componentId: Component<S, N>, fieldName: K, value: InferSchema<S[K]>): void;
|
|
73
|
+
export declare function setComponentValue<S extends SchemaRecord, N extends string, K extends keyof S>(world: World, entityId: EntityWith<Pair<Relation<S, N>>>, componentId: Pair<Relation<S, N>>, fieldName: K, value: InferSchema<S[K]>): void;
|
|
74
74
|
export declare function setComponentValue<S extends SchemaRecord, K extends keyof S>(world: World, entityId: EntityId, componentId: Component<S> | Pair<Relation<S>>, fieldName: K, value: InferSchema<S[K]>): void;
|
|
75
75
|
/**
|
|
76
|
-
*
|
|
76
|
+
* Mark a component as changed without setting a value.
|
|
77
77
|
*
|
|
78
78
|
* @param world - World instance
|
|
79
79
|
* @param entityId - Entity with the component
|
|
80
80
|
* @param componentId - Component that was changed
|
|
81
81
|
*
|
|
82
82
|
* @example
|
|
83
|
-
*
|
|
83
|
+
* markComponentChanged(world, entity, Position); // Notify change tracking
|
|
84
84
|
*/
|
|
85
85
|
export declare function emitComponentChanged(world: World, entityId: EntityId, componentId: EntityId): void;
|
|
86
86
|
/**
|
package/dist/component.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAMlG,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAMxC,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GAChE,IAAI,CAAC;AAER,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,EACjD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC7C,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,GACzB,IAAI,CAAC;AAyER;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,GAAG,IAAI,CAsD7F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,CAAC,GACb,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,CAI3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"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"}
|
package/dist/component.js
CHANGED
|
@@ -164,14 +164,14 @@ export function setComponentValue(world, entityId, componentId, fieldName, value
|
|
|
164
164
|
fireObserverEvent(world, "componentChanged", componentId, entityId);
|
|
165
165
|
}
|
|
166
166
|
/**
|
|
167
|
-
*
|
|
167
|
+
* Mark a component as changed without setting a value.
|
|
168
168
|
*
|
|
169
169
|
* @param world - World instance
|
|
170
170
|
* @param entityId - Entity with the component
|
|
171
171
|
* @param componentId - Component that was changed
|
|
172
172
|
*
|
|
173
173
|
* @example
|
|
174
|
-
*
|
|
174
|
+
* markComponentChanged(world, entity, Position); // Notify change tracking
|
|
175
175
|
*/
|
|
176
176
|
export function emitComponentChanged(world, entityId, componentId) {
|
|
177
177
|
const { archetype, row } = ensureEntity(world, entityId);
|
package/dist/encoding.d.ts
CHANGED
|
@@ -47,6 +47,14 @@ declare const PAIR_BRAND: unique symbol;
|
|
|
47
47
|
* Schema brand for carrying schema type in Component.
|
|
48
48
|
*/
|
|
49
49
|
declare const SCHEMA_BRAND: unique symbol;
|
|
50
|
+
/**
|
|
51
|
+
* Name brand for nominal uniqueness across same-shaped definitions.
|
|
52
|
+
*/
|
|
53
|
+
declare const NAME_BRAND: unique symbol;
|
|
54
|
+
/**
|
|
55
|
+
* Pair relation brand for preserving relation identity in pairs.
|
|
56
|
+
*/
|
|
57
|
+
declare const PAIR_RELATION_BRAND: unique symbol;
|
|
50
58
|
/**
|
|
51
59
|
* Component presence brand for type-safe narrowing.
|
|
52
60
|
*/
|
|
@@ -64,35 +72,39 @@ export type Entity = number & {
|
|
|
64
72
|
*
|
|
65
73
|
* Nominal type for component tags defined via defineTag().
|
|
66
74
|
*/
|
|
67
|
-
export type Tag = number & {
|
|
75
|
+
export type Tag<N extends string = string> = number & {
|
|
68
76
|
[TAG_BRAND]: true;
|
|
77
|
+
[NAME_BRAND]: N;
|
|
69
78
|
};
|
|
70
79
|
/**
|
|
71
80
|
* Component ID (branded type).
|
|
72
81
|
*
|
|
73
82
|
* Nominal type for data components with field schemas.
|
|
74
83
|
*/
|
|
75
|
-
export type Component<S extends SchemaRecord = SchemaRecord> = number & {
|
|
84
|
+
export type Component<S extends SchemaRecord = SchemaRecord, N extends string = string> = number & {
|
|
76
85
|
[COMPONENT_BRAND]: true;
|
|
77
86
|
[SCHEMA_BRAND]: S;
|
|
87
|
+
[NAME_BRAND]: N;
|
|
78
88
|
};
|
|
79
89
|
/**
|
|
80
90
|
* Relation ID (branded type).
|
|
81
91
|
*
|
|
82
92
|
* Nominal type for relations with optional schema for pair data.
|
|
83
93
|
*/
|
|
84
|
-
export type Relation<S extends SchemaRecord = SchemaRecord> = number & {
|
|
94
|
+
export type Relation<S extends SchemaRecord = SchemaRecord, N extends string = string> = number & {
|
|
85
95
|
[RELATION_BRAND]: true;
|
|
86
96
|
[SCHEMA_BRAND]: S;
|
|
97
|
+
[NAME_BRAND]: N;
|
|
87
98
|
};
|
|
88
99
|
/**
|
|
89
100
|
* Pair ID (branded type).
|
|
90
101
|
*
|
|
91
|
-
* Nominal type for relation-target pairs. Inherits schema from relation.
|
|
102
|
+
* Nominal type for relation-target pairs. Inherits schema and identity from relation.
|
|
92
103
|
*/
|
|
93
104
|
export type Pair<R extends Relation = Relation> = number & {
|
|
94
105
|
[PAIR_BRAND]: true;
|
|
95
106
|
[SCHEMA_BRAND]: R extends Relation<infer S> ? S : never;
|
|
107
|
+
[PAIR_RELATION_BRAND]: R;
|
|
96
108
|
};
|
|
97
109
|
/**
|
|
98
110
|
* Valid targets for relations.
|
package/dist/encoding.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMxD;;GAEG;AACH,eAAO,MAAM,WAAW,IAAM,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,QAAQ,IAAM,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,cAAc,IAAM,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,iBAAiB,IAAM,CAAC;AAMrC;;GAEG;AACH,eAAO,MAAM,UAAU,UAAU,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,SAAS,MAAO,CAAC;AAM9B;;GAEG;AACH,OAAO,CAAC,MAAM,YAAY,EAAE,OAAO,MAAM,CAAC;AAE1C;;GAEG;AACH,OAAO,CAAC,MAAM,SAAS,EAAE,OAAO,MAAM,CAAC;AAEvC;;GAEG;AACH,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAE7C;;GAEG;AACH,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,MAAM,CAAC;AAE5C;;GAEG;AACH,OAAO,CAAC,MAAM,UAAU,EAAE,OAAO,MAAM,CAAC;AAExC;;GAEG;AACH,OAAO,CAAC,MAAM,YAAY,EAAE,OAAO,MAAM,CAAC;AAE1C;;GAEG;AACH,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,CAAC,YAAY,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG;IAAE,CAAC,SAAS,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMxD;;GAEG;AACH,eAAO,MAAM,WAAW,IAAM,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,QAAQ,IAAM,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,cAAc,IAAM,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,iBAAiB,IAAM,CAAC;AAMrC;;GAEG;AACH,eAAO,MAAM,UAAU,UAAU,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,SAAS,MAAO,CAAC;AAM9B;;GAEG;AACH,OAAO,CAAC,MAAM,YAAY,EAAE,OAAO,MAAM,CAAC;AAE1C;;GAEG;AACH,OAAO,CAAC,MAAM,SAAS,EAAE,OAAO,MAAM,CAAC;AAEvC;;GAEG;AACH,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAE7C;;GAEG;AACH,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,MAAM,CAAC;AAE5C;;GAEG;AACH,OAAO,CAAC,MAAM,UAAU,EAAE,OAAO,MAAM,CAAC;AAExC;;GAEG;AACH,OAAO,CAAC,MAAM,YAAY,EAAE,OAAO,MAAM,CAAC;AAE1C;;GAEG;AACH,OAAO,CAAC,MAAM,UAAU,EAAE,OAAO,MAAM,CAAC;AAExC;;GAEG;AACH,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAC;AAEjD;;GAEG;AACH,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,CAAC,YAAY,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,GAAG;IAAE,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAE7F;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,GAAG;IACjG,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;IACxB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,GAAG;IAChG,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IACvB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI,MAAM,GAAG;IACzD,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IACnB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACxD,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEnE;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,QAAQ,IAAI,QAAQ,GAAG;IACtD,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;CAChD,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,SAAS,IAAM,CAAC;AAmC7B;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvF,KAAK,EAAE,MAAM,GACZ,SAAS,CAAC,CAAC,CAAC,CAEd;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAEpH;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,CAS7F;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAe5C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAe9C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,CAE7C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D"}
|
package/dist/encoding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC;AAE/B;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":"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"}
|
package/dist/event.d.ts
CHANGED
|
@@ -8,6 +8,10 @@ declare const EVENT_BRAND: unique symbol;
|
|
|
8
8
|
* Event schema brand for carrying schema type in Event.
|
|
9
9
|
*/
|
|
10
10
|
declare const EVENT_SCHEMA_BRAND: unique symbol;
|
|
11
|
+
/**
|
|
12
|
+
* Event name brand for nominal uniqueness across same-shaped events.
|
|
13
|
+
*/
|
|
14
|
+
declare const EVENT_NAME_BRAND: unique symbol;
|
|
11
15
|
/**
|
|
12
16
|
* Event presence brand for type-safe event narrowing.
|
|
13
17
|
*/
|
|
@@ -32,24 +36,26 @@ export type EventData<T extends EventSchema> = keyof T extends never ? undefined
|
|
|
32
36
|
*
|
|
33
37
|
* Nominal type for events defined via defineEvent().
|
|
34
38
|
*/
|
|
35
|
-
export type EventId<S extends EventSchema = EventSchema> = number & {
|
|
39
|
+
export type EventId<S extends EventSchema = EventSchema, N extends string = string> = number & {
|
|
36
40
|
[EVENT_BRAND]: true;
|
|
37
41
|
[EVENT_SCHEMA_BRAND]: S;
|
|
42
|
+
[EVENT_NAME_BRAND]: N;
|
|
38
43
|
};
|
|
39
44
|
/**
|
|
40
45
|
* Event definition.
|
|
41
46
|
*
|
|
42
47
|
* Global event definition with schema for type-safe event data.
|
|
48
|
+
* The name literal `N` ensures events with identical schemas are distinct types.
|
|
43
49
|
*/
|
|
44
|
-
export type Event<S extends EventSchema = EventSchema> = {
|
|
50
|
+
export type Event<S extends EventSchema = EventSchema, N extends string = string> = {
|
|
45
51
|
/**
|
|
46
52
|
* Unique event ID.
|
|
47
53
|
*/
|
|
48
|
-
readonly id: EventId<S>;
|
|
54
|
+
readonly id: EventId<S, N>;
|
|
49
55
|
/**
|
|
50
56
|
* Event name (user-defined).
|
|
51
57
|
*/
|
|
52
|
-
readonly name:
|
|
58
|
+
readonly name: N;
|
|
53
59
|
/**
|
|
54
60
|
* Field schemas for event data (empty for tag events).
|
|
55
61
|
*/
|
|
@@ -122,7 +128,7 @@ export type EventQueueMeta<T extends EventSchema = EventSchema> = {
|
|
|
122
128
|
* emit(world, DamageDealt, { target: enemy, amount: 25 });
|
|
123
129
|
* ```
|
|
124
130
|
*/
|
|
125
|
-
export declare function defineEvent<S extends EventSchema = Record<never, never>>(name:
|
|
131
|
+
export declare function defineEvent<N extends string, S extends EventSchema = Record<never, never>>(name: N, schema?: S): Event<S, N>;
|
|
126
132
|
/**
|
|
127
133
|
* Ensure event queue exists for given event in world.
|
|
128
134
|
*
|
package/dist/event.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAMxC;;GAEG;AACH,OAAO,CAAC,MAAM,WAAW,EAAE,OAAO,MAAM,CAAC;AAEzC;;GAEG;AACH,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,MAAM,CAAC;AAEhD;;GAEG;AACH,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAC;AAM9C;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,WAAW,IAAI,MAAM,CAAC,SAAS,KAAK,GAChE,SAAS,GACT;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAAE,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,MAAM,GAAG;
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"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"}
|
package/dist/event.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { assert, Duplicate, InvalidArgument, InvalidState, IrisError, LimitExceeded, NotFound } from "./error.js";
|
|
2
2
|
export { createWorld, resetWorld } from "./world.js";
|
|
3
3
|
export { createEntity, destroyEntity, isEntityAlive } from "./entity.js";
|
|
4
|
-
export { addComponent, emitComponentChanged, getComponentValue, hasComponent, removeComponent, setComponentValue, } from "./component.js";
|
|
4
|
+
export { addComponent, emitComponentChanged as markComponentChanged, getComponentValue, hasComponent, removeComponent, setComponentValue, } from "./component.js";
|
|
5
5
|
export { defineComponent, defineRelation, defineTag, Wildcard } from "./registry.js";
|
|
6
6
|
export { getPairRelation, getPairTarget, getRelationTargets, pair } from "./relation.js";
|
|
7
7
|
export { addResource, getResourceValue, hasResource, removeResource, setResourceValue, } from "./resource.js";
|
|
8
8
|
export { getName, lookupByName, Name, removeName, setName } from "./name.js";
|
|
9
|
-
export { added, changed, collectEntities, ensureQuery, not, queryEntities, queryFirstEntity, } from "./query.js";
|
|
9
|
+
export { added, changed, collectEntities, ensureQuery as cacheQuery, not, queryEntities, queryFirstEntity, } from "./query.js";
|
|
10
10
|
export { addSystem, defineSchedule, defineSystem, First, insertScheduleAfter, insertScheduleBefore, Last, PostUpdate, PreUpdate, run, runOnce, Shutdown, Startup, stop, Update, } from "./scheduler.js";
|
|
11
11
|
export type { ActionGetter, ActionInitializer, Actions } from "./actions.js";
|
|
12
12
|
export type { Component, Entity, EntityId, EntityWith, Pair, Relation, RelationTargetId, Tag, } from "./encoding.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMlH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMzE,OAAO,EACL,YAAY,EACZ,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMlH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMzE,OAAO,EACL,YAAY,EACZ,oBAAoB,IAAI,oBAAoB,EAC5C,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMrF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAMzF,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAM7E,OAAO,EACL,KAAK,EACL,OAAO,EACP,eAAe,EACf,WAAW,IAAI,UAAU,EACzB,GAAG,EACH,aAAa,EACb,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,SAAS,EACT,cAAc,EACd,YAAY,EACZ,KAAK,EACL,mBAAmB,EACnB,oBAAoB,EACpB,IAAI,EACJ,UAAU,EACV,SAAS,EACT,GAAG,EACH,OAAO,EACP,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,MAAM,GACP,MAAM,gBAAgB,CAAC;AAMxB,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC7E,YAAY,EACV,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,GAAG,GACJ,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACtF,YAAY,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxH,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAMxC,OAAO,EACL,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,GACd,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAMvC,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAMrF,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAMnC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ export { createEntity, destroyEntity, isEntityAlive } from "./entity.js";
|
|
|
13
13
|
// ============================================================================
|
|
14
14
|
// Component Operations
|
|
15
15
|
// ============================================================================
|
|
16
|
-
export { addComponent, emitComponentChanged, getComponentValue, hasComponent, removeComponent, setComponentValue, } from "./component.js";
|
|
16
|
+
export { addComponent, emitComponentChanged as markComponentChanged, getComponentValue, hasComponent, removeComponent, setComponentValue, } from "./component.js";
|
|
17
17
|
// ============================================================================
|
|
18
18
|
// Registry Operations
|
|
19
19
|
// ============================================================================
|
|
@@ -33,7 +33,7 @@ export { getName, lookupByName, Name, removeName, setName } from "./name.js";
|
|
|
33
33
|
// ============================================================================
|
|
34
34
|
// Query Operations
|
|
35
35
|
// ============================================================================
|
|
36
|
-
export { added, changed, collectEntities, ensureQuery, not, queryEntities, queryFirstEntity, } from "./query.js";
|
|
36
|
+
export { added, changed, collectEntities, ensureQuery as cacheQuery, not, queryEntities, queryFirstEntity, } from "./query.js";
|
|
37
37
|
// ============================================================================
|
|
38
38
|
// System Operations
|
|
39
39
|
// ============================================================================
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAElH,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzE,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,OAAO,EACL,YAAY,EACZ,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAElH,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzE,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,OAAO,EACL,YAAY,EACZ,oBAAoB,IAAI,oBAAoB,EAC5C,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAErF,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzF,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7E,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,OAAO,EACL,KAAK,EACL,OAAO,EACP,eAAe,EACf,WAAW,IAAI,UAAU,EACzB,GAAG,EACH,aAAa,EACb,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,OAAO,EACL,SAAS,EACT,cAAc,EACd,YAAY,EACZ,KAAK,EACL,mBAAmB,EACnB,oBAAoB,EACpB,IAAI,EACJ,UAAU,EACV,SAAS,EACT,GAAG,EACH,OAAO,EACP,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,MAAM,GACP,MAAM,gBAAgB,CAAC;AAiCxB,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,OAAO,EACL,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAErF,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/name.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ import type { World } from "./world.js";
|
|
|
13
13
|
*/
|
|
14
14
|
export declare const Name: import("./encoding.js").Component<{
|
|
15
15
|
value: import("./schema.js").Schema<string>;
|
|
16
|
-
}>;
|
|
16
|
+
}, "Name">;
|
|
17
17
|
/**
|
|
18
18
|
* Initializes the name system for a world by setting up the dual-index registry
|
|
19
19
|
* and observer callbacks that keep name mappings synchronized with entity lifecycle.
|
package/dist/name.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../src/name.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAMxC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI;;
|
|
1
|
+
{"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../src/name.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAMxC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI;;UAAoD,CAAC;AActE;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAqEjD;AAMD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAO5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAMjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,EAC/C,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,UAAU,EAAE,CAAC,GACf,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAenC"}
|
package/dist/query.d.ts
CHANGED
|
@@ -110,7 +110,7 @@ export type ExtractIncluded<T extends unknown[]> = T extends [infer Head, ...inf
|
|
|
110
110
|
*/
|
|
111
111
|
export declare function hashQuery(include: EntityId[], exclude: EntityId[], added: EntityId[], changed: EntityId[]): string;
|
|
112
112
|
/**
|
|
113
|
-
*
|
|
113
|
+
* Cache a query in the registry, creating if necessary.
|
|
114
114
|
*
|
|
115
115
|
* @param world - World instance
|
|
116
116
|
* @param terms - Components and modifiers
|
|
@@ -118,7 +118,7 @@ export declare function hashQuery(include: EntityId[], exclude: EntityId[], adde
|
|
|
118
118
|
* @throws {InvalidArgument} If no included components (query must match something)
|
|
119
119
|
*
|
|
120
120
|
* @example
|
|
121
|
-
* const query =
|
|
121
|
+
* const query = cacheQuery(world, Position, Velocity, not(Dead));
|
|
122
122
|
*/
|
|
123
123
|
export declare function ensureQuery<T extends (EntityId | QueryModifier)[]>(world: World, ...terms: [...T]): QueryMeta<ExtractIncluded<T>>;
|
|
124
124
|
/**
|
|
@@ -139,7 +139,7 @@ export declare function ensureQuery<T extends (EntityId | QueryModifier)[]>(worl
|
|
|
139
139
|
* });
|
|
140
140
|
*
|
|
141
141
|
* // With pre-built query
|
|
142
|
-
* const q =
|
|
142
|
+
* const q = cacheQuery(world, Position, Velocity);
|
|
143
143
|
* queryEntities(world, q, (entity) => { ... });
|
|
144
144
|
*
|
|
145
145
|
* // Early exit
|
package/dist/query.js
CHANGED
|
@@ -74,7 +74,7 @@ export function hashQuery(include, exclude, added, changed) {
|
|
|
74
74
|
// Query Registry Operations
|
|
75
75
|
// ============================================================================
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
77
|
+
* Cache a query in the registry, creating if necessary.
|
|
78
78
|
*
|
|
79
79
|
* @param world - World instance
|
|
80
80
|
* @param terms - Components and modifiers
|
|
@@ -82,7 +82,7 @@ export function hashQuery(include, exclude, added, changed) {
|
|
|
82
82
|
* @throws {InvalidArgument} If no included components (query must match something)
|
|
83
83
|
*
|
|
84
84
|
* @example
|
|
85
|
-
* const query =
|
|
85
|
+
* const query = cacheQuery(world, Position, Velocity, not(Dead));
|
|
86
86
|
*/
|
|
87
87
|
export function ensureQuery(world, ...terms) {
|
|
88
88
|
const include = [];
|
package/dist/registry.d.ts
CHANGED
|
@@ -76,7 +76,7 @@ export declare const COMPONENT_REGISTRY: ComponentRegistry;
|
|
|
76
76
|
* const Player = defineTag("Player");
|
|
77
77
|
* addTag(world, entity, Player);
|
|
78
78
|
*/
|
|
79
|
-
export declare function defineTag(name:
|
|
79
|
+
export declare function defineTag<N extends string>(name: N): Tag<N>;
|
|
80
80
|
/**
|
|
81
81
|
* Defines a data component with a typed schema for storage.
|
|
82
82
|
* @param name - Human-readable component name for debugging
|
|
@@ -87,7 +87,7 @@ export declare function defineTag(name: string): Tag;
|
|
|
87
87
|
* const Position = defineComponent("Position", { x: Type.f32, y: Type.f32 });
|
|
88
88
|
* set(world, entity, Position, { x: 10, y: 20 });
|
|
89
89
|
*/
|
|
90
|
-
export declare function defineComponent<S extends SchemaRecord>(name:
|
|
90
|
+
export declare function defineComponent<N extends string, S extends SchemaRecord>(name: N, schema: S): Component<S, N>;
|
|
91
91
|
/**
|
|
92
92
|
* Defines a relation for entity-to-entity relationships.
|
|
93
93
|
* @param name - Human-readable relation name for debugging
|
|
@@ -98,21 +98,21 @@ export declare function defineComponent<S extends SchemaRecord>(name: string, sc
|
|
|
98
98
|
* const ChildOf = defineRelation("ChildOf", { exclusive: true, onDeleteTarget: "delete" });
|
|
99
99
|
* addPair(world, child, ChildOf, parent);
|
|
100
100
|
*/
|
|
101
|
-
export declare function defineRelation<S extends SchemaRecord = Record<string, never>>(name:
|
|
101
|
+
export declare function defineRelation<N extends string, S extends SchemaRecord = Record<string, never>>(name: N, options?: RelationOptions<S>): Relation<S, N>;
|
|
102
102
|
/**
|
|
103
103
|
* Wildcard relation for query patterns. Reserved as relation ID 0.
|
|
104
104
|
* - `pair(Wildcard, target)` matches all entities targeting target
|
|
105
105
|
* - `pair(relation, Wildcard)` matches entities with any target for relation
|
|
106
106
|
*/
|
|
107
|
-
export declare const Wildcard: Relation<Record<string, never
|
|
107
|
+
export declare const Wildcard: Relation<Record<string, never>, "Wildcard">;
|
|
108
108
|
/**
|
|
109
109
|
* Marks a relation as exclusive (one target per subject).
|
|
110
110
|
* Adding a pair with an exclusive relation auto-removes any existing pair with that relation.
|
|
111
111
|
*/
|
|
112
|
-
export declare const Exclusive: Tag
|
|
112
|
+
export declare const Exclusive: Tag<"Exclusive">;
|
|
113
113
|
/**
|
|
114
114
|
* Cascade delete subjects when target is destroyed.
|
|
115
115
|
* When an entity is destroyed, all entities with a pair targeting it are also destroyed.
|
|
116
116
|
*/
|
|
117
|
-
export declare const OnDeleteTarget: Tag
|
|
117
|
+
export declare const OnDeleteTarget: Tag<"OnDeleteTarget">;
|
|
118
118
|
//# sourceMappingURL=registry.d.ts.map
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMhD;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACtC,CAAC;AAMF;;;;GAIG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI;IAC5E;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC;IAEX;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACtC,CAAC;AAMF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,QAAQ,EAAE,aAAa,CAAC,CAAC;IACrD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAKhC,CAAC;AAMF;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMhD;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACtC,CAAC;AAMF;;;;GAIG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI;IAC5E;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC;IAEX;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACtC,CAAC;AAMF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,QAAQ,EAAE,aAAa,CAAC,CAAC;IACrD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAKhC,CAAC;AAMF;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAe3D;AAMD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAe7G;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7F,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAC3B,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAiBhB;AAMD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,6CAA6B,CAAC;AAMnD;;;GAGG;AACH,eAAO,MAAM,SAAS,kBAAyB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,cAAc,uBAA8B,CAAC"}
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAsFnD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,IAAI,EAAE,IAAI,GAAG,EAAE;IACf,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE,CAAC;CAClB,CAAC;AAEF,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAsFnD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,IAAI,EAAE,IAAI,GAAG,EAAE;IACf,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE,CAAC;CAClB,CAAC;AAEF,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAmB,IAAO;IACjD,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC;IAE3C,MAAM,CAAC,KAAK,IAAI,UAAU,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IAEjF,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAE/B,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;QACjC,IAAI;QACJ,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IAEH,kBAAkB,CAAC,SAAS,EAAE,CAAC;IAE/B,OAAO,KAAe,CAAC;AACzB,CAAC;AAED,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAA2C,IAAO,EAAE,MAAS;IAC1F,MAAM,KAAK,GAAG,kBAAkB,CAAC,eAAe,CAAC;IAEjD,MAAM,CAAC,KAAK,IAAI,UAAU,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IAEvF,MAAM,WAAW,GAAG,eAAe,CAAI,KAAK,CAAC,CAAC;IAE9C,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;QACvC,IAAI;QACJ,MAAM;KACP,CAAC,CAAC;IAEH,kBAAkB,CAAC,eAAe,EAAE,CAAC;IAErC,OAAO,WAA8B,CAAC;AACxC,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAO,EACP,OAA4B;IAE5B,MAAM,KAAK,GAAG,kBAAkB,CAAC,cAAc,CAAC;IAEhD,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAEpF,MAAM,UAAU,GAAG,cAAc,CAAI,KAAK,CAAC,CAAC;IAE5C,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;QACtC,IAAI;QACJ,MAAM,EAAE,OAAO,EAAE,MAAM;QACvB,SAAS,EAAE,OAAO,EAAE,SAAS;QAC7B,cAAc,EAAE,OAAO,EAAE,cAAc;KACxC,CAAC,CAAC;IAEH,kBAAkB,CAAC,cAAc,EAAE,CAAC;IAEpC,OAAO,UAA4B,CAAC;AACtC,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AAEnD,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC"}
|
package/dist/resource.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export declare function removeResource(world: World, component: EntityId): void;
|
|
|
46
46
|
* }
|
|
47
47
|
* ```
|
|
48
48
|
*/
|
|
49
|
-
export declare function hasResource<S extends SchemaRecord>(world: World, component: Component<S>): component is Component<S> & EntityWith<Component<S>>;
|
|
49
|
+
export declare function hasResource<S extends SchemaRecord, N extends string>(world: World, component: Component<S, N>): component is Component<S, N> & EntityWith<Component<S, N>>;
|
|
50
50
|
export declare function hasResource(world: World, component: EntityId): boolean;
|
|
51
51
|
/**
|
|
52
52
|
* Gets the value of a specific field on a global resource.
|
|
@@ -64,7 +64,7 @@ export declare function hasResource(world: World, component: EntityId): boolean;
|
|
|
64
64
|
* const current = getResourceValue(world, Time, "current"); // number | undefined
|
|
65
65
|
* ```
|
|
66
66
|
*/
|
|
67
|
-
export declare function getResourceValue<S extends SchemaRecord, K extends keyof S>(world: World, component: Component<S> & EntityWith<Component<S>>, key: K): InferSchema<S[K]>;
|
|
67
|
+
export declare function getResourceValue<S extends SchemaRecord, N extends string, K extends keyof S>(world: World, component: Component<S, N> & EntityWith<Component<S, N>>, key: K): InferSchema<S[K]>;
|
|
68
68
|
export declare function getResourceValue<S extends SchemaRecord, K extends keyof S>(world: World, component: Component<S>, key: K): InferSchema<S[K]> | undefined;
|
|
69
69
|
/**
|
|
70
70
|
* Sets the value of a specific field on a global resource.
|
package/dist/resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAMxC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,YAAY,EAChD,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EACvB,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,GACzB,IAAI,CAEN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI,CAEtE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,YAAY,
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAMxC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,YAAY,EAChD,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EACvB,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,GACzB,IAAI,CAEN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI,CAEtE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,MAAM,EAClE,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GACzB,SAAS,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE9D,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC;AAMxE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAC1F,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACxD,GAAG,EAAE,CAAC,GACL,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAErB,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,MAAM,CAAC,EACxE,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EACvB,GAAG,EAAE,CAAC,GACL,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAUjC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,MAAM,CAAC,EACxE,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EACvB,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvB,IAAI,CAEN"}
|
package/dist/scheduler.d.ts
CHANGED
|
@@ -175,7 +175,7 @@ export declare function addSystem(world: World, system: SystemRunner | SystemFac
|
|
|
175
175
|
* ```typescript
|
|
176
176
|
* const movementSystem = defineSystem("movementSystem", (world) => {
|
|
177
177
|
* // Init: runs once at addSystem() time
|
|
178
|
-
* const movers =
|
|
178
|
+
* const movers = cacheQuery(world, Position, Velocity);
|
|
179
179
|
*
|
|
180
180
|
* // Tick: runs every frame
|
|
181
181
|
* return () => {
|
package/dist/scheduler.js
CHANGED
|
@@ -129,7 +129,7 @@ export function addSystem(world, system, options) {
|
|
|
129
129
|
* ```typescript
|
|
130
130
|
* const movementSystem = defineSystem("movementSystem", (world) => {
|
|
131
131
|
* // Init: runs once at addSystem() time
|
|
132
|
-
* const movers =
|
|
132
|
+
* const movers = cacheQuery(world, Position, Velocity);
|
|
133
133
|
*
|
|
134
134
|
* // Tick: runs every frame
|
|
135
135
|
* return () => {
|