@ecsia/core 0.4.0 → 0.5.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.
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -2
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/query/compile.d.ts +7 -0
- package/dist/query/compile.d.ts.map +1 -1
- package/dist/query/compile.js +41 -2
- package/dist/query/compile.js.map +1 -1
- package/dist/reactivity/observer-commands.d.ts +1 -0
- package/dist/reactivity/observer-commands.d.ts.map +1 -1
- package/dist/reactivity/observer-commands.js +12 -0
- package/dist/reactivity/observer-commands.js.map +1 -1
- package/dist/world.d.ts +39 -0
- package/dist/world.d.ts.map +1 -1
- package/dist/world.js +96 -8
- package/dist/world.js.map +1 -1
- package/package.json +2 -2
package/dist/config.d.ts
CHANGED
|
@@ -19,6 +19,13 @@ export interface WorldOptions {
|
|
|
19
19
|
maxEntities?: number;
|
|
20
20
|
generationBits?: number;
|
|
21
21
|
threaded?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Register the prefab built-ins: the `Prefab` tag component (auto-appended after user
|
|
24
|
+
* components, stable name "ecsia:Prefab") and — once `createRelations(world)` attaches — the
|
|
25
|
+
* `IsA` tag relation ("ecsia:IsA"). Opt-in because the IsA relation flips the world to
|
|
26
|
+
* two-word reactivity log entries, which a prefab-free, relation-free world should not pay.
|
|
27
|
+
*/
|
|
28
|
+
prefabs?: boolean;
|
|
22
29
|
maxHotArchetypes?: number;
|
|
23
30
|
reactivity?: ReactivityOptions;
|
|
24
31
|
scheduler?: SchedulerOptions;
|
|
@@ -40,6 +47,7 @@ export interface ResolvedWorldOptions {
|
|
|
40
47
|
/** Derived: 32 - generationBits. */
|
|
41
48
|
readonly indexBits: number;
|
|
42
49
|
readonly threaded: boolean;
|
|
50
|
+
readonly prefabs: boolean;
|
|
43
51
|
readonly maxHotArchetypes: number;
|
|
44
52
|
readonly reactivity: ResolvedReactivityOptions;
|
|
45
53
|
readonly scheduler: {
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,CAAA;AACxD,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,OAAO,CAAA;AAClD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAA;AAE5C,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,qBAAqB,CAAC,EAAE,cAAc,CAAA;IACtC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED,MAAM,WAAW,YAAY;IAE3B,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC9B,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAG5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,QAAQ,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,CAAA;AACxD,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,OAAO,CAAA;AAClD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAA;AAE5C,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,qBAAqB,CAAC,EAAE,cAAc,CAAA;IACtC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED,MAAM,WAAW,YAAY;IAE3B,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC9B,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAG5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAGjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAGzB,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,SAAS,CAAC,EAAE,gBAAgB,CAAA;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,qBAAqB,EAAE,cAAc,CAAA;IAC9C,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,OAAO,EAAE,CAAA;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAA;IAC9C,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;KAAE,CAAA;CACvD;AAED,0EAA0E;AAC1E,qBAAa,WAAY,SAAQ,KAAK;IACpC,SAAkB,IAAI,iBAAgB;gBAC1B,OAAO,EAAE,MAAM;CAG5B;AAID,wBAAgB,cAAc,CAAC,OAAO,GAAE,YAAiB,GAAG,oBAAoB,CA6E/E"}
|
package/dist/config.js
CHANGED
|
@@ -32,6 +32,7 @@ export function resolveOptions(options = {}) {
|
|
|
32
32
|
throw new ConfigError(`maxHotArchetypes must be a positive integer; got ${maxHotArchetypes}`);
|
|
33
33
|
}
|
|
34
34
|
const relations = options.relations ?? [];
|
|
35
|
+
const prefabs = options.prefabs ?? false;
|
|
35
36
|
const r = options.reactivity ?? {};
|
|
36
37
|
const maxWritesPerFrame = r.maxWritesPerFrame ?? maxEntities * 4;
|
|
37
38
|
const maxShapeChangesPerFrame = r.maxShapeChangesPerFrame ?? maxEntities * 2;
|
|
@@ -41,8 +42,13 @@ export function resolveOptions(options = {}) {
|
|
|
41
42
|
if (!isPositiveInt(maxShapeChangesPerFrame)) {
|
|
42
43
|
throw new ConfigError(`reactivity.maxShapeChangesPerFrame must be a positive integer; got ${maxShapeChangesPerFrame}`);
|
|
43
44
|
}
|
|
44
|
-
// Two-word log entries when any relation is registered ( C2).
|
|
45
|
-
|
|
45
|
+
// Two-word log entries when any relation is registered ( C2). prefabs: true registers the
|
|
46
|
+
// built-in IsA relation, so it flips the width the same way a declared relation does. An
|
|
47
|
+
// explicit one-word override is contradictory there — pair shape entries need the second word.
|
|
48
|
+
if (r.logEntryWords === 1 && (relations.length > 0 || prefabs)) {
|
|
49
|
+
throw new ConfigError('reactivity.logEntryWords: 1 is incompatible with relations/prefabs — pair shape-log entries need two words; drop the override or use logEntryWords: 2');
|
|
50
|
+
}
|
|
51
|
+
const logEntryWords = r.logEntryWords ?? (relations.length > 0 || prefabs ? 2 : 1);
|
|
46
52
|
const workers = options.scheduler?.workers ?? 0;
|
|
47
53
|
if (typeof workers === 'number' && (!Number.isInteger(workers) || workers < 0)) {
|
|
48
54
|
throw new ConfigError(`scheduler.workers must be a non-negative integer or 'no-sab'; got ${workers}`);
|
|
@@ -55,6 +61,7 @@ export function resolveOptions(options = {}) {
|
|
|
55
61
|
generationBits,
|
|
56
62
|
indexBits,
|
|
57
63
|
threaded,
|
|
64
|
+
prefabs,
|
|
58
65
|
maxHotArchetypes,
|
|
59
66
|
reactivity: {
|
|
60
67
|
maxWritesPerFrame,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,wEAAwE;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export { ShapeKind, onAdd, onRemove, onChange, } from './reactivity/index.js';
|
|
|
14
14
|
export type { ObserverHandle, ObserverTerm, ObserverContext, } from './reactivity/index.js';
|
|
15
15
|
export type { SharedHandleManifest, ColumnGrowthNotice, ColumnGrowthLog } from './memory/index.js';
|
|
16
16
|
export { vec, vec2, vec3, vec4, staticString, object, field, MAX_QUERY_ARITY, read, write, has, without, optional, } from '@ecsia/schema';
|
|
17
|
-
export type { ScalarToken, VecToken, StaticStringToken, ObjectToken, RichToken, FieldToken, FieldSpec, FieldValue, Schema, ComponentDef, ComponentOptions, ReadView, WriteView, ReadOf, WriteOf, SchemaOf, QueryTerm, QueryElement, Query, QueryChunk, LooseQuery, ColumnSpec, ColumnSpecFor, ColumnFieldName, ColumnViewOf, ColumnViews, BoundColumnsMeta, DerivedQuery, Has, HasWrite, RelationDef, RelationOptions, PairDef, WildcardToken, Tick, } from '@ecsia/schema';
|
|
17
|
+
export type { ScalarToken, VecToken, StaticStringToken, ObjectToken, RichToken, FieldToken, FieldSpec, FieldValue, Schema, ComponentDef, ComponentOptions, ReadView, WriteView, ReadOf, WriteOf, SchemaOf, QueryTerm, QueryOptionsTerm, QueryElement, Query, QueryChunk, LooseQuery, ColumnSpec, ColumnSpecFor, ColumnFieldName, ColumnViewOf, ColumnViews, BoundColumnsMeta, DerivedQuery, Has, HasWrite, RelationDef, RelationOptions, PairDef, WildcardToken, Tick, } from '@ecsia/schema';
|
|
18
18
|
export { NO_COMPONENT, FIRST_USER_COMPONENT_ID } from './ids.js';
|
|
19
19
|
export type { WorldApplySurface, RelationsHost } from './world.js';
|
|
20
20
|
export { Topics, buildTopicCodec, TOPIC_HEADER_WORDS } from './topics/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,0CAA0C;AAC1C,mGAAmG;AACnG,gGAAgG;AAChG,4BAA4B;AAC5B,qGAAqG;AACrG,iGAAiG;AACjG,2FAA2F;AAC3F,wCAAwC;AACxC,EAAE;AACF,iGAAiG;AACjG,mGAAmG;AACnG,kFAAkF;AAOlF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAWzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG9F,OAAO,EACL,eAAe,EACf,SAAS,GACV,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,OAAO,EACL,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,MAAM,uBAAuB,CAAA;AAS9B,+FAA+F;AAC/F,OAAO,EACL,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,KAAK,EACL,eAAe,EACf,IAAI,EACJ,KAAK,EACL,GAAG,EACH,OAAO,EACP,QAAQ,GACT,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,0CAA0C;AAC1C,mGAAmG;AACnG,gGAAgG;AAChG,4BAA4B;AAC5B,qGAAqG;AACrG,iGAAiG;AACjG,2FAA2F;AAC3F,wCAAwC;AACxC,EAAE;AACF,iGAAiG;AACjG,mGAAmG;AACnG,kFAAkF;AAOlF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAWzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG9F,OAAO,EACL,eAAe,EACf,SAAS,GACV,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,OAAO,EACL,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,MAAM,uBAAuB,CAAA;AAS9B,+FAA+F;AAC/F,OAAO,EACL,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,KAAK,EACL,eAAe,EACf,IAAI,EACJ,KAAK,EACL,GAAG,EACH,OAAO,EACP,QAAQ,GACT,MAAM,eAAe,CAAA;AAyCtB,8EAA8E;AAC9E,6FAA6F;AAC7F,0FAA0F;AAC1F,8EAA8E;AAE9E,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEhE,kGAAkG;AAClG,wFAAwF;AACxF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAgB/E,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG3G,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAW1B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAMtE,mDAAmD;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
|
package/dist/query/compile.d.ts
CHANGED
|
@@ -66,6 +66,13 @@ export interface CompileContext {
|
|
|
66
66
|
* unsatisfiable, the behavior).: this NEVER mints — it only looks up already-minted ids.
|
|
67
67
|
*/
|
|
68
68
|
resolvePair?(relationId: number, target: number | symbol): ResolvedPair;
|
|
69
|
+
/**
|
|
70
|
+
* The `Prefab` tag's id when the world was created with `prefabs: true`; undefined otherwise.
|
|
71
|
+
* When set, compilation injects this bit into `notWords` (default prefab exclusion) unless the
|
|
72
|
+
* query mentions Prefab in any term or passes `{ matchPrefabs: true }`. Zero per-row cost — one
|
|
73
|
+
* more bit in a mask that is already ANDed.
|
|
74
|
+
*/
|
|
75
|
+
readonly prefabId?: ComponentId;
|
|
69
76
|
}
|
|
70
77
|
declare const WILDCARD_TAG: unique symbol;
|
|
71
78
|
export declare function compileQuery(terms: readonly QueryTerm[], ctx: CompileContext): CompiledQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/query/compile.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEjF,mFAAmF;AACnF,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,0FAA0F;AAC1F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAA;AAEhF;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAA;IAChC,yGAAyG;IACzG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,kGAAkG;IAClG,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,qGAAqG;IACrG,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,uGAAuG;IACvG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAA;CACnC;AAED,qFAAqF;AACrF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,SAAS,WAAW,EAAE,CAAA;IAC5C,QAAQ,CAAC,YAAY,EAAE,SAAS,YAAY,EAAE,CAAA;IAC9C,QAAQ,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACjD,QAAQ,CAAC,aAAa,EAAE,SAAS,WAAW,EAAE,CAAA;IAC9C,iGAAiG;IACjG,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAA;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAChC;AAED,mGAAmG;AACnG,MAAM,WAAW,cAAc;IAC7B,4FAA4F;IAC5F,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,WAAW,CAAA;IAC5C,oGAAoG;IACpG,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B;;;;OAIG;IACH,WAAW,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/query/compile.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEjF,mFAAmF;AACnF,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,0FAA0F;AAC1F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAA;AAEhF;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAA;IAChC,yGAAyG;IACzG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,kGAAkG;IAClG,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,qGAAqG;IACrG,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,uGAAuG;IACvG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAA;CACnC;AAED,qFAAqF;AACrF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,SAAS,WAAW,EAAE,CAAA;IAC5C,QAAQ,CAAC,YAAY,EAAE,SAAS,YAAY,EAAE,CAAA;IAC9C,QAAQ,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACjD,QAAQ,CAAC,aAAa,EAAE,SAAS,WAAW,EAAE,CAAA;IAC9C,iGAAiG;IACjG,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAA;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAChC;AAED,mGAAmG;AACnG,MAAM,WAAW,cAAc;IAC7B,4FAA4F;IAC5F,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,WAAW,CAAA;IAC5C,oGAAoG;IACpG,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B;;;;OAIG;IACH,WAAW,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,CAAA;IACvE;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAA;CAChC;AAiBD,QAAA,MAAM,YAAY,eAAqC,CAAA;AA0GvD,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,GAAG,EAAE,cAAc,GAAG,aAAa,CA0F5F;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
package/dist/query/compile.js
CHANGED
|
@@ -10,7 +10,17 @@ const WILDCARD_TAG = Symbol.for('ecsia.query.wildcard');
|
|
|
10
10
|
function isPairDef(t) {
|
|
11
11
|
return typeof t === 'object' && t !== null && 'relation' in t && 'target' in t;
|
|
12
12
|
}
|
|
13
|
+
function isQueryOptions(t) {
|
|
14
|
+
return (typeof t === 'object' &&
|
|
15
|
+
t !== null &&
|
|
16
|
+
'matchPrefabs' in t &&
|
|
17
|
+
!('relation' in t) &&
|
|
18
|
+
!('__term' in t) &&
|
|
19
|
+
!('fields' in t));
|
|
20
|
+
}
|
|
13
21
|
function classifyTerm(t) {
|
|
22
|
+
if (isQueryOptions(t))
|
|
23
|
+
return { kind: 'options', def: null, pair: null, role: 'none' };
|
|
14
24
|
if (isPairDef(t)) {
|
|
15
25
|
const pair = t;
|
|
16
26
|
const isWildcard = typeof pair.target === 'symbol';
|
|
@@ -60,10 +70,17 @@ function pairHashId(pair) {
|
|
|
60
70
|
// exclusivity (the X-tag) is the relations module's contract; uses the tag/overflow form.
|
|
61
71
|
return 'p' + pair.relation.id + '.' + pair.target;
|
|
62
72
|
}
|
|
63
|
-
function canonicalHash(terms, ctx) {
|
|
73
|
+
function canonicalHash(terms, ctx, excludePrefabs) {
|
|
64
74
|
const parts = [];
|
|
75
|
+
// The injected Prefab exclusion is part of the matching constraint, so it must be part of the
|
|
76
|
+
// hash: query(A) and query(A, { matchPrefabs: true }) are distinct cache entries. An explicit
|
|
77
|
+
// without(Prefab) hashes to the same part — same constraint, same LiveQuery.
|
|
78
|
+
if (excludePrefabs)
|
|
79
|
+
parts.push('N:' + ctx.prefabId);
|
|
65
80
|
for (const t of terms) {
|
|
66
81
|
const cl = classifyTerm(t);
|
|
82
|
+
if (cl.kind === 'options')
|
|
83
|
+
continue;
|
|
67
84
|
let cid;
|
|
68
85
|
if (cl.pair !== null)
|
|
69
86
|
cid = pairHashId(cl.pair);
|
|
@@ -103,12 +120,22 @@ export function compileQuery(terms, ctx) {
|
|
|
103
120
|
const rowFilters = [];
|
|
104
121
|
const referenced = new Set();
|
|
105
122
|
let unsatisfiable = false;
|
|
123
|
+
const prefabId = ctx.prefabId;
|
|
124
|
+
let matchPrefabs = false;
|
|
125
|
+
let mentionsPrefab = false;
|
|
106
126
|
for (const t of terms) {
|
|
107
127
|
const cl = classifyTerm(t);
|
|
108
128
|
switch (cl.kind) {
|
|
129
|
+
case 'options': {
|
|
130
|
+
if (t.matchPrefabs)
|
|
131
|
+
matchPrefabs = true;
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
109
134
|
case 'component': {
|
|
110
135
|
const def = cl.def;
|
|
111
136
|
const cid = ctx.idOf(def);
|
|
137
|
+
if (cid === prefabId)
|
|
138
|
+
mentionsPrefab = true;
|
|
112
139
|
referenced.add(cid);
|
|
113
140
|
addWithBit(withWords, residualWith, cid, ctx.fixedBitCount);
|
|
114
141
|
if (cl.role === 'read' || cl.role === 'write' || cl.role === 'bare') {
|
|
@@ -122,6 +149,8 @@ export function compileQuery(terms, ctx) {
|
|
|
122
149
|
}
|
|
123
150
|
case 'without': {
|
|
124
151
|
const cid = ctx.idOf(cl.def);
|
|
152
|
+
if (cid === prefabId)
|
|
153
|
+
mentionsPrefab = true;
|
|
125
154
|
referenced.add(cid);
|
|
126
155
|
addNotBit(notWords, residualWith, cid, ctx.fixedBitCount);
|
|
127
156
|
break;
|
|
@@ -129,6 +158,8 @@ export function compileQuery(terms, ctx) {
|
|
|
129
158
|
case 'optional': {
|
|
130
159
|
const def = cl.def;
|
|
131
160
|
const cid = ctx.idOf(def);
|
|
161
|
+
if (cid === prefabId)
|
|
162
|
+
mentionsPrefab = true;
|
|
132
163
|
referenced.add(cid);
|
|
133
164
|
optionalIds.push(cid);
|
|
134
165
|
valueTerms.push({ componentId: cid, role: 'optional', key: keyOf(def) });
|
|
@@ -153,6 +184,14 @@ export function compileQuery(terms, ctx) {
|
|
|
153
184
|
}
|
|
154
185
|
}
|
|
155
186
|
}
|
|
187
|
+
// Default prefab exclusion: a gameplay query must never iterate a prefab TEMPLATE. Skipped when
|
|
188
|
+
// the query names Prefab itself (With/Without/optional/read) or opts in via matchPrefabs. The bit
|
|
189
|
+
// joins referencedIds so adding/removing the Prefab tag re-tests the entity incrementally.
|
|
190
|
+
const excludePrefabs = prefabId !== undefined && !matchPrefabs && !mentionsPrefab;
|
|
191
|
+
if (excludePrefabs) {
|
|
192
|
+
referenced.add(prefabId);
|
|
193
|
+
addNotBit(notWords, residualWith, prefabId, ctx.fixedBitCount);
|
|
194
|
+
}
|
|
156
195
|
return Object.freeze({
|
|
157
196
|
withWords,
|
|
158
197
|
notWords,
|
|
@@ -161,7 +200,7 @@ export function compileQuery(terms, ctx) {
|
|
|
161
200
|
valueTerms,
|
|
162
201
|
referencedIds: [...referenced],
|
|
163
202
|
rowFilters,
|
|
164
|
-
hash: canonicalHash(terms, ctx),
|
|
203
|
+
hash: canonicalHash(terms, ctx, excludePrefabs),
|
|
165
204
|
unsatisfiable,
|
|
166
205
|
});
|
|
167
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/query/compile.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,oGAAoG;AACpG,4FAA4F;AAC5F,EAAE;AACF,6EAA6E;AAC7E,6FAA6F;AAC7F,0FAA0F;AAC1F,8FAA8F;
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/query/compile.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ export declare class ObserverCommandBuffer {
|
|
|
24
24
|
enterDrain(): boolean;
|
|
25
25
|
exitDrain(): void;
|
|
26
26
|
stageSpawnWith(handle: EntityHandle, defs: readonly ComponentDef<Schema>[], values?: readonly (readonly [ComponentDef<Schema>, Record<string, unknown>])[]): void;
|
|
27
|
+
stageBuildReserved(handle: EntityHandle, build: (handle: EntityHandle) => void): void;
|
|
27
28
|
stageAdd(handle: EntityHandle, def: ComponentDef<Schema>): void;
|
|
28
29
|
stageRemove(handle: EntityHandle, def: ComponentDef<Schema>): void;
|
|
29
30
|
stageDespawn(handle: EntityHandle): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observer-commands.d.ts","sourceRoot":"","sources":["../../src/reactivity/observer-commands.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"observer-commands.d.ts","sourceRoot":"","sources":["../../src/reactivity/observer-commands.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAqChG,4FAA4F;AAC5F,MAAM,WAAW,oBAAoB;IACnC;yGACqG;IACrG,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAA;IAChF,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAC1D,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAC7D,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IACnC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAA;IACtC,qGAAqG;IACrG,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACpG,iEAAiE;IACjE,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAAA;IACjI,UAAU,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;CACvF;AAED,qBAAa,qBAAqB;;IAOhC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,cAAc,IAAI,IAAI;IAItB,YAAY,IAAI,IAAI;IAIpB,UAAU,IAAI,OAAO;IAMrB,SAAS,IAAI,IAAI;IAIjB,cAAc,CACZ,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,EACrC,MAAM,GAAE,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAO,GACjF,IAAI;IAGP,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAGrF,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI;IAG/D,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI;IAGlE,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAGxC,YAAY,CACV,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,EACpC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC3C,IAAI;IAGP,eAAe,CACb,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,EACpC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,YAAY,GACnB,IAAI;IAIP;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;CAgDzC"}
|
|
@@ -42,6 +42,9 @@ export class ObserverCommandBuffer {
|
|
|
42
42
|
stageSpawnWith(handle, defs, values = []) {
|
|
43
43
|
this.#pending.push({ kind: 'spawnWith', handle, defs: defs.slice(), values: values.slice() });
|
|
44
44
|
}
|
|
45
|
+
stageBuildReserved(handle, build) {
|
|
46
|
+
this.#pending.push({ kind: 'buildReserved', handle, build });
|
|
47
|
+
}
|
|
45
48
|
stageAdd(handle, def) {
|
|
46
49
|
this.#pending.push({ kind: 'add', handle, def });
|
|
47
50
|
}
|
|
@@ -82,6 +85,15 @@ export class ObserverCommandBuffer {
|
|
|
82
85
|
}
|
|
83
86
|
break;
|
|
84
87
|
}
|
|
88
|
+
case 'buildReserved': {
|
|
89
|
+
// Place the reserved handle into the EMPTY archetype, then hand it to the staged build
|
|
90
|
+
// (which performs its own single migration + value writes — the spawnFrom flush leg).
|
|
91
|
+
if (apply.isAlive(op.handle)) {
|
|
92
|
+
apply.placeReserved(op.handle, []);
|
|
93
|
+
op.build(op.handle);
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
85
97
|
case 'add':
|
|
86
98
|
if (apply.isAlive(op.handle))
|
|
87
99
|
apply.add(op.handle, op.def);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observer-commands.js","sourceRoot":"","sources":["../../src/reactivity/observer-commands.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,kGAAkG;AAClG,mGAAmG;AACnG,kGAAkG;AAClG,oGAAoG;AACpG,EAAE;AACF,mGAAmG;AACnG,sGAAsG;AACtG,yFAAyF;AACzF,6FAA6F;AAC7F,2BAA2B;
|
|
1
|
+
{"version":3,"file":"observer-commands.js","sourceRoot":"","sources":["../../src/reactivity/observer-commands.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,kGAAkG;AAClG,mGAAmG;AACnG,kGAAkG;AAClG,oGAAoG;AACpG,EAAE;AACF,mGAAmG;AACnG,sGAAsG;AACtG,yFAAyF;AACzF,6FAA6F;AAC7F,2BAA2B;AAuD3B,MAAM,OAAO,qBAAqB;IAChC,QAAQ,GAAiB,EAAE,CAAA;IAC3B,qGAAqG;IACrG,UAAU,GAAG,KAAK,CAAA;IAClB,mGAAmG;IACnG,SAAS,GAAG,KAAK,CAAA;IAEjB,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC7B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;IACzB,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS;QACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,cAAc,CACZ,MAAoB,EACpB,IAAqC,EACrC,SAAgF,EAAE;QAElF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC/F,CAAC;IACD,kBAAkB,CAAC,MAAoB,EAAE,KAAqC;QAC5E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9D,CAAC;IACD,QAAQ,CAAC,MAAoB,EAAE,GAAyB;QACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAClD,CAAC;IACD,WAAW,CAAC,MAAoB,EAAE,GAAyB;QACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,YAAY,CAAC,MAAoB;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;IACjD,CAAC;IACD,YAAY,CACV,OAAqB,EACrB,QAAoC,EACpC,UAAsB,EACtB,MAAoB,EACpB,OAA4C;QAE5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;IACzF,CAAC;IACD,eAAe,CACb,OAAqB,EACrB,QAAoC,EACpC,UAAsB,EACtB,MAAoB;QAEpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;IACnF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAA2B;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACtC,iGAAiG;QACjG,2BAA2B;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBAChB,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,6FAA6F;oBAC7F,iEAAiE;oBACjE,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7B,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;wBACvC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM;4BAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;oBACnF,CAAC;oBACD,MAAK;gBACP,CAAC;gBACD,KAAK,eAAe,CAAC,CAAC,CAAC;oBACrB,uFAAuF;oBACvF,sFAAsF;oBACtF,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7B,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;wBAClC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;oBACrB,CAAC;oBACD,MAAK;gBACP,CAAC;gBACD,KAAK,KAAK;oBACR,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC;wBAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;oBAC1D,MAAK;gBACP,KAAK,QAAQ;oBACX,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC;wBAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;oBAC7D,MAAK;gBACP,KAAK,SAAS;oBACZ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC;wBAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;oBACtD,MAAK;gBACP,KAAK,SAAS;oBACZ,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;wBACzF,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;oBACjE,CAAC;oBACD,MAAK;gBACP,KAAK,YAAY;oBACf,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;oBACxD,CAAC;oBACD,MAAK;YACT,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
package/dist/world.d.ts
CHANGED
|
@@ -54,12 +54,51 @@ export interface RelationsHost {
|
|
|
54
54
|
set: ColumnSet;
|
|
55
55
|
row: number;
|
|
56
56
|
} | null;
|
|
57
|
+
/**
|
|
58
|
+
* Like columnSetFor, but COLD-capable: a cold resident resolves to its per-type overflow block +
|
|
59
|
+
* cold row (the same resolution storage's migrate path uses). Null only for dead handles, tags,
|
|
60
|
+
* or components the entity does not hold. The prefab copy path reads/writes through this so
|
|
61
|
+
* templates and instances parked in cold archetypes copy correctly.
|
|
62
|
+
*/
|
|
63
|
+
fieldLocationFor(handle: EntityHandle, def: ComponentDef<Schema>): {
|
|
64
|
+
set: ColumnSet;
|
|
65
|
+
row: number;
|
|
66
|
+
} | null;
|
|
57
67
|
/** Entity-layer helpers. */
|
|
58
68
|
isAlive(handle: EntityHandle): boolean;
|
|
59
69
|
handleIndex(handle: EntityHandle): number;
|
|
60
70
|
handleOfIndex(index: number): EntityHandle;
|
|
61
71
|
/** Re-enter the despawn protocol for a cascaded victim. */
|
|
62
72
|
despawn(handle: EntityHandle): void;
|
|
73
|
+
/**
|
|
74
|
+
* The auto-registered `Prefab` tag def when the world was created with `prefabs: true`; null
|
|
75
|
+
* otherwise. The relations runtime keys the prefab API (definePrefab / spawnFrom / IsA) off it.
|
|
76
|
+
*/
|
|
77
|
+
readonly prefabDef: ComponentDef<Schema> | null;
|
|
78
|
+
/** The component ids in `handle`'s current archetype signature (a copy); [] for a dead handle. */
|
|
79
|
+
componentIdsOf(handle: EntityHandle): readonly number[];
|
|
80
|
+
/** Mint a live handle in the EMPTY archetype — the spawn step of definePrefab / spawnFrom. */
|
|
81
|
+
spawnEmpty(): EntityHandle;
|
|
82
|
+
/**
|
|
83
|
+
* Copy `componentId`'s rich (sidecar) fields from src's slot to dst's. Only PRESENT (written)
|
|
84
|
+
* slots copy, so a never-touched field stays defaulted on dst. object<T> fields copy the
|
|
85
|
+
* REFERENCE — sidecar assignment semantics, same as a plain write.
|
|
86
|
+
*/
|
|
87
|
+
copyRichFields(src: EntityHandle, dst: EntityHandle, componentId: ComponentId): void;
|
|
88
|
+
/**
|
|
89
|
+
* Template-spawn deferral seam (definePrefab / spawnFrom): while an observer drain is running,
|
|
90
|
+
* reserve a live handle NOW (so the handler gets a usable handle back — the spawnWith staging
|
|
91
|
+
* model) and stage `build` to run against it at the next serial flush, after placement into the
|
|
92
|
+
* EMPTY archetype. Returns null when no drain is in flight — the caller spawns and builds
|
|
93
|
+
* directly.
|
|
94
|
+
*/
|
|
95
|
+
deferTemplateSpawn(build: (handle: EntityHandle) => void): EntityHandle | null;
|
|
96
|
+
/**
|
|
97
|
+
* True while an observer drain is deferring OR staged ops await the next serial flush. Lets the
|
|
98
|
+
* relations dev errors distinguish a reserved (staged, not-yet-materialized) template handle —
|
|
99
|
+
* alive but with an empty signature — from a genuinely untagged entity.
|
|
100
|
+
*/
|
|
101
|
+
hasPendingDeferred(): boolean;
|
|
63
102
|
/**
|
|
64
103
|
* deferral seam: while an observer drain is running, structural relation
|
|
65
104
|
* ops issued by a handler must STAGE to the world's deferred command buffer rather than mutate the
|
package/dist/world.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQrE,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEtH,OAAO,KAAK,EAAc,oBAAoB,EAAa,MAAM,mBAAmB,CAAA;AAEpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAOzD,OAAO,KAAK,EAAa,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEhF,OAAO,KAAK,EAAwB,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAChH,OAAO,KAAK,EAAkE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/G,OAAO,KAAK,EACV,oBAAoB,EAKpB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAkC,MAAM,sBAAsB,CAAA;AAE1F,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIjE,+HAA+H;AAC/H,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE1C;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,EAAE,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACxD,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAA;IAC1E,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAA;IAC7E,gGAAgG;IAChG,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACpG;;;;OAIG;IACH,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAAA;IACjI,UAAU,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;CACvF;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,gBAAgB,IAAI,WAAW,CAAA;IAC/B,2GAA2G;IAC3G,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI,CAAA;IACnE,+CAA+C;IAC/C,KAAK,CAAC,EAAE,EAAE,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACxD,kFAAkF;IAClF,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAA;IACpF,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAA;IACtF,yFAAyF;IACzF,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,OAAO,CAAA;IACnD,mGAAmG;IACnG,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG;QAAE,GAAG,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACrG;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG;QAAE,GAAG,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACzG,4BAA4B;IAC5B,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAA;IACtC,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAA;IACzC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAA;IAC1C,2DAA2D;IAC3D,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IACnC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAC/C,kGAAkG;IAClG,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAAA;IACvD,8FAA8F;IAC9F,UAAU,IAAI,YAAY,CAAA;IAC1B;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;IACpF;;;;;;OAMG;IACH,kBAAkB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,YAAY,GAAG,IAAI,CAAA;IAC9E;;;;OAIG;IACH,kBAAkB,IAAI,OAAO,CAAA;IAC7B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,EAAE,KAAK,GAAG,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;IACpK,0EAA0E;IAC1E,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;IACzD,sDAAsD;IACtD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAAA;IAC3F;;;;OAIG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnF,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,oEAAoE;IACpE,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI,CAAA;IACxD,kEAAkE;IAClE,eAAe,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,KAAK,YAAY,GAAG,IAAI,CAAA;IAC7F,6FAA6F;IAC7F,YAAY,CACV,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAAK,IAAI,EACpI,UAAU,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,GACxF,IAAI,CAAA;IACP;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAAA;IACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,KAAK;IACpB,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;IACtC,gHAAgH;IAChH,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACnC;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC;;;;;OAKG;IACH,kBAAkB,IAAI,aAAa,CAAA;IACnC,uEAAuE;IACvE,cAAc,IAAI,oBAAoB,CAAA;IACtC;;;;;;OAMG;IACH,cAAc,IAAI,eAAe,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAA;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAA;IAClC;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACzE;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wBAAwB;IACxB,WAAW,IAAI,MAAM,CAAA;IAErB,8EAA8E;IAC9E,KAAK,IAAI,YAAY,CAAA;IACrB;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,YAAY,CAAA;IAC7G,mGAAmG;IACnG,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAC1D,wGAAwG;IACxG,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAC7D,qEAAqE;IACrE,IAAI,CAAC,GAAG,IAAI,EAAE,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAA;IACpD,yEAAyE;IACzE,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IACnC,iEAAiE;IACjE,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAA;IACtC;;;;OAIG;IACH,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAA;IAC7D;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAA;IAErE,+FAA+F;IAC/F,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAA;IACzE,gFAAgF;IAChF,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9E,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAAA;IAC7D,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,gBAAgB,CAAA;KAAE,CAAA;IACxF,WAAW,IAAI,WAAW,CAAA;IAE1B;;;;OAIG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9E;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,GAAG,cAAc,CAAA;IAErE;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAE7E;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1D,kGAAkG;IAClG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAEjE,yFAAyF;IACzF,WAAW,IAAI,IAAI,CAAA;IACnB,+BAA+B;IAC/B,YAAY,IAAI,IAAI,CAAA;IACpB,iEAAiE;IACjE,kBAAkB,IAAI,IAAI,CAAA;IAC1B,MAAM;IACN,aAAa,IAAI,IAAI,CAAA;IACrB,qDAAqD;IACrD,SAAS,IAAI,IAAI,CAAA;IAEjB;;;;OAIG;IACH,KAAK,EAAE,UAAU,CAAA;IAEjB;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAA;CACnB;AAOD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,YAAiB,GAAG,KAAK,CAm2B7D"}
|
package/dist/world.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// The World keystone: option resolution, the phase/tick contracts, and the module-wiring seam.
|
|
2
2
|
// The seven owning modules attach in the fixed order
|
|
3
3
|
// registry → buffers → storage → reactivity → queries → scheduler → serialization.
|
|
4
|
-
import { resolveOptions } from './config.js';
|
|
4
|
+
import { ConfigError, resolveOptions } from './config.js';
|
|
5
5
|
import { EntityStore, handleIndex, makeHandleLayout, reserveEntityBlock, returnReservedIds, } from './entity/index.js';
|
|
6
6
|
import { Buffers, probeCapabilities } from './memory/index.js';
|
|
7
7
|
import { ComponentRegistry } from './registry.js';
|
|
8
|
-
import { SidecarStore, sidecarKey } from './component/index.js';
|
|
8
|
+
import { SidecarStore, defineTag, sidecarKey } from './component/index.js';
|
|
9
9
|
import { Bitmask } from './bitmask/index.js';
|
|
10
10
|
import { Storage } from './storage/index.js';
|
|
11
11
|
import { QueryEngine } from './query/index.js';
|
|
@@ -68,11 +68,28 @@ export function createWorld(options = {}) {
|
|
|
68
68
|
generationOf: (index) => entities.decodeHandle(entities.handleOfIndex(index)).generation,
|
|
69
69
|
};
|
|
70
70
|
// --- registry: mint dense user ids, wire accessor factories ---
|
|
71
|
+
// prefabs: true auto-appends the per-world `Prefab` tag AFTER user components (an ordinary
|
|
72
|
+
// registered tag, no reserved-id churn). Its stable name "ecsia:Prefab" rides the serialization
|
|
73
|
+
// registry + schemaHash like any user component, so both sides of a snapshot must agree on the
|
|
74
|
+
// flag. Per-world because registerComponentId binds a def to one world.
|
|
75
|
+
const prefabDef = resolved.prefabs ? defineTag('ecsia:Prefab') : null;
|
|
76
|
+
if (IS_DEV) {
|
|
77
|
+
// "ecsia:" is the built-ins' stable serialization namespace ("ecsia:Prefab", "ecsia:IsA");
|
|
78
|
+
// a user component squatting on it would collide in the name-keyed snapshot registry.
|
|
79
|
+
for (const def of resolved.components) {
|
|
80
|
+
if (def.name.startsWith('ecsia:')) {
|
|
81
|
+
throw new ConfigError(`component name '${def.name}' uses the reserved "ecsia:" prefix (ecsia built-in serialization names)`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const userComponents = prefabDef !== null
|
|
86
|
+
? [...resolved.components, prefabDef]
|
|
87
|
+
: resolved.components;
|
|
71
88
|
const registry = new ComponentRegistry();
|
|
72
|
-
registry.register(
|
|
89
|
+
registry.register(userComponents);
|
|
73
90
|
// Declare a sidecar column per rich field of every registered component. This
|
|
74
91
|
// is the single place the sidecar learns about a rich column; ensureColumn is idempotent.
|
|
75
|
-
for (const def of
|
|
92
|
+
for (const def of userComponents) {
|
|
76
93
|
const id = registry.idOf(def);
|
|
77
94
|
if (id === undefined)
|
|
78
95
|
continue;
|
|
@@ -155,6 +172,7 @@ export function createWorld(options = {}) {
|
|
|
155
172
|
return { componentId: 0, unsatisfiable: true };
|
|
156
173
|
return pairResolver(relationId, target);
|
|
157
174
|
},
|
|
175
|
+
...(prefabDef !== null ? { prefabId: registry.idOf(prefabDef) } : {}),
|
|
158
176
|
},
|
|
159
177
|
resolveLocation: (index) => entities.locationOfIndex(index),
|
|
160
178
|
handleOf: (index) => entities.handleOfIndex(index),
|
|
@@ -281,10 +299,10 @@ export function createWorld(options = {}) {
|
|
|
281
299
|
};
|
|
282
300
|
// --- serialization surface -------------------------
|
|
283
301
|
// Reads archetype columns/signatures + the registry + the relation provider; drives deserialize-side
|
|
284
|
-
// spawn/migrate. The user-component metadata is the registered defs in dense-id order
|
|
285
|
-
// (pair/presence/overflow) are intentionally
|
|
286
|
-
// re-minting on the receiver, never
|
|
287
|
-
|
|
302
|
+
// spawn/migrate. The user-component metadata is the registered defs in dense-id order (the
|
|
303
|
+
// auto-registered Prefab tag included). Synthetic ids (pair/presence/overflow) are intentionally
|
|
304
|
+
// excluded from `components()` — they are reconstructed by re-minting on the receiver, never
|
|
305
|
+
// shipped as schema.
|
|
288
306
|
const componentIdByName = new Map();
|
|
289
307
|
for (const def of userComponents) {
|
|
290
308
|
const id = registry.idOf(def);
|
|
@@ -330,6 +348,10 @@ export function createWorld(options = {}) {
|
|
|
330
348
|
fnv('!persist');
|
|
331
349
|
}
|
|
332
350
|
}
|
|
351
|
+
// The prefabs flag is part of the wire contract (built-ins + default query exclusion must
|
|
352
|
+
// agree on both sides), beyond the "ecsia:Prefab" name the component loop already folds.
|
|
353
|
+
if (resolved.prefabs)
|
|
354
|
+
fnv('!prefabs');
|
|
333
355
|
const prov = serializationProvider;
|
|
334
356
|
if (prov !== null)
|
|
335
357
|
for (const r of prov.relations())
|
|
@@ -597,10 +619,76 @@ export function createWorld(options = {}) {
|
|
|
597
619
|
return null;
|
|
598
620
|
return { set, row: records.rowOf(index) };
|
|
599
621
|
},
|
|
622
|
+
fieldLocationFor: (handle, def) => {
|
|
623
|
+
if (!entities.isAlive(handle))
|
|
624
|
+
return null;
|
|
625
|
+
const index = handleIndexOf(handle);
|
|
626
|
+
const archId = records.archetypeIdOf(index);
|
|
627
|
+
const arch = storage.archetypes.byId[archId];
|
|
628
|
+
if (arch === undefined)
|
|
629
|
+
return null;
|
|
630
|
+
const id = registry.idOf(def);
|
|
631
|
+
if (id === undefined)
|
|
632
|
+
return null;
|
|
633
|
+
if (arch.cold) {
|
|
634
|
+
const set = storage.coldColumnSet(id);
|
|
635
|
+
if (set === undefined)
|
|
636
|
+
return null;
|
|
637
|
+
const row = storage.coldRowOf(index, id);
|
|
638
|
+
if (row < 0)
|
|
639
|
+
return null;
|
|
640
|
+
return { set, row };
|
|
641
|
+
}
|
|
642
|
+
const set = arch.columnSets.get(id);
|
|
643
|
+
if (set === undefined)
|
|
644
|
+
return null;
|
|
645
|
+
return { set, row: records.rowOf(index) };
|
|
646
|
+
},
|
|
600
647
|
isAlive: (handle) => entities.isAlive(handle),
|
|
601
648
|
handleIndex: (handle) => handleIndexOf(handle),
|
|
602
649
|
handleOfIndex: (index) => entities.handleOfIndex(index),
|
|
603
650
|
despawn: (handle) => entities.despawn(handle),
|
|
651
|
+
prefabDef,
|
|
652
|
+
componentIdsOf: (handle) => {
|
|
653
|
+
if (!entities.isAlive(handle))
|
|
654
|
+
return [];
|
|
655
|
+
const index = handleIndexOf(handle);
|
|
656
|
+
const archId = records.archetypeIdOf(index);
|
|
657
|
+
const arch = storage.archetypes.byId[archId];
|
|
658
|
+
if (arch === undefined)
|
|
659
|
+
return [];
|
|
660
|
+
return Array.from(arch.signature);
|
|
661
|
+
},
|
|
662
|
+
spawnEmpty: () => entities.spawn(),
|
|
663
|
+
copyRichFields: (src, dst, componentId) => {
|
|
664
|
+
const def = registry.defOf(componentId);
|
|
665
|
+
if (def === undefined || !def.hasRichFields)
|
|
666
|
+
return;
|
|
667
|
+
const srcIndex = handleIndexOf(src);
|
|
668
|
+
const dstIndex = handleIndexOf(dst);
|
|
669
|
+
const srcGen = entities.decodeHandle(entities.handleOfIndex(srcIndex)).generation;
|
|
670
|
+
const dstGen = entities.decodeHandle(entities.handleOfIndex(dstIndex)).generation;
|
|
671
|
+
let fieldIndex = 0;
|
|
672
|
+
for (const f of def.fields) {
|
|
673
|
+
if (f.rich !== undefined) {
|
|
674
|
+
const key = sidecarKey(componentId, fieldIndex);
|
|
675
|
+
// Only PRESENT (written) slots copy, so a never-touched field stays absent on dst —
|
|
676
|
+
// snapshot presence semantics survive the copy.
|
|
677
|
+
if (sidecar.hasColumn(key) && sidecar.isPresent(key, srcIndex, srcGen)) {
|
|
678
|
+
sidecar.write(key, dstIndex, dstGen, sidecar.read(key, srcIndex, srcGen));
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
fieldIndex += 1;
|
|
682
|
+
}
|
|
683
|
+
},
|
|
684
|
+
deferTemplateSpawn: (build) => {
|
|
685
|
+
if (!observerCommands.deferring)
|
|
686
|
+
return null;
|
|
687
|
+
const handle = reserveEntityBlock(entities.index, -1, 1).handles[0];
|
|
688
|
+
observerCommands.stageBuildReserved(handle, build);
|
|
689
|
+
return handle;
|
|
690
|
+
},
|
|
691
|
+
hasPendingDeferred: () => observerCommands.deferring || observerCommands.pendingCount > 0,
|
|
604
692
|
deferRelationOp: (op, subject, relation, target, payload) => {
|
|
605
693
|
if (!observerCommands.deferring)
|
|
606
694
|
return false;
|
package/dist/world.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.js","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"world.js","sourceRoot":"","sources":["../src/world.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ecsia/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "The ecsia core: archetype storage, typed component accessors, queries, and change tracking. Works standalone on a single thread.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ecs",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"access": "public"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@ecsia/schema": "0.
|
|
47
|
+
"@ecsia/schema": "0.5.0"
|
|
48
48
|
},
|
|
49
49
|
"scripts": {
|
|
50
50
|
"build": "tsc -b"
|