@ecsia/core 0.4.0 → 0.6.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 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: {
@@ -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;IAGlB,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,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,CAoE/E"}
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
- const logEntryWords = r.logEntryWords ?? (relations.length > 0 ? 2 : 1);
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,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,wEAAwE;AAwExE,0EAA0E;AAC1E,MAAM,OAAO,WAAY,SAAQ,KAAK;IAClB,IAAI,GAAG,aAAa,CAAA;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;CACF;AAED,MAAM,aAAa,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE1E,MAAM,UAAU,cAAc,CAAC,UAAwB,EAAE;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAA;IACnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,EAAE,EAAE,CAAC;QACnF,MAAM,IAAI,WAAW,CACnB,mGAAmG,cAAc,EAAE,CACpH,CAAA;IACH,CAAC;IACD,MAAM,SAAS,GAAG,EAAE,GAAG,cAAc,CAAA;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAA;IAE1C,4FAA4F;IAC5F,IAAI,cAAc,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,WAAW,CAAC,mFAAmF,CAAC,CAAA;IAC5G,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAA;IAClD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,WAAW,CAAC,+CAA+C,WAAW,EAAE,CAAC,CAAA;IACrF,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,IAAI,SAAS,CAAA;IAC/B,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,WAAW,CACnB,gBAAgB,WAAW,+BAA+B,SAAS,MAAM,QAAQ,uBAAuB,cAAc,EAAE,CACzH,CAAA;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,CAAC,CAAC,CAAA;IACrF,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,WAAW,CAAC,oDAAoD,gBAAgB,EAAE,CAAC,CAAA;IAC/F,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAA;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAA;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAA;IAClC,MAAM,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,IAAI,WAAW,GAAG,CAAC,CAAA;IAChE,MAAM,uBAAuB,GAAG,CAAC,CAAC,uBAAuB,IAAI,WAAW,GAAG,CAAC,CAAA;IAC5E,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,WAAW,CAAC,gEAAgE,iBAAiB,EAAE,CAAC,CAAA;IAC5G,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,WAAW,CAAC,sEAAsE,uBAAuB,EAAE,CAAC,CAAA;IACxH,CAAC;IACD,0FAA0F;IAC1F,yFAAyF;IACzF,+FAA+F;IAC/F,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,WAAW,CACnB,uJAAuJ,CACxJ,CAAA;IACH,CAAC;IACD,MAAM,aAAa,GAAU,CAAC,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzF,MAAM,OAAO,GAAiB,OAAO,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,CAAA;IAC7D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,WAAW,CAAC,qEAAqE,OAAO,EAAE,CAAC,CAAA;IACvG,CAAC;IAED,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QACpC,SAAS;QACT,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;QAC9B,WAAW;QACX,cAAc;QACd,SAAS;QACT,QAAQ;QACR,OAAO;QACP,gBAAgB;QAChB,UAAU,EAAE;YACV,iBAAiB;YACjB,uBAAuB;YACvB,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,WAAW;YACjD,qBAAqB,EAAE,CAAC,CAAC,qBAAqB,IAAI,WAAW;YAC7D,aAAa;YACb,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,KAAK;SACpC;QACD,SAAS,EAAE,EAAE,OAAO,EAAE;KACvB,CAAA;AACH,CAAC"}
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';
@@ -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;AAwCtB,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"}
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"}
@@ -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;CACxE;AAiBD,QAAA,MAAM,YAAY,eAAqC,CAAA;AAyFvD,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,GAAG,EAAE,cAAc,GAAG,aAAa,CAuE5F;AAED,OAAO,EAAE,YAAY,EAAE,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"}
@@ -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":"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"}
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;AAsG9F,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;AAEvD,SAAS,SAAS,CAAC,CAAY;IAC7B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,UAAU,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,cAAc,CAAC,CAAY;IAClC,OAAO,CACL,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,cAAc,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CACjB,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,CAAY;IAChC,IAAI,cAAc,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACtF,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,CAAwB,CAAA;QACrC,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAA;QAClD,OAAO;YACL,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc;YAClD,GAAG,EAAE,IAAI;YACT,IAAI;YACJ,IAAI,EAAE,MAAM;SACb,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,CAAkD,CAAA;IAC/D,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QAC7E,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QAC9E,KAAK,KAAK;YACR,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QAC7E,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QAC3E,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QAC5E;YACE,6BAA6B;YAC7B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IAC1F,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB,EAAE,QAAwB,EAAE,CAAS,EAAE,aAAqB;IAC/F,IAAI,CAAC,GAAG,aAAa;QAAE,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;;QACrF,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AACtE,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB,EAAE,QAAwB,EAAE,CAAS,EAAE,aAAqB;IAC7F,IAAI,CAAC,GAAG,aAAa;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;;QACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,KAAK,CAAC,GAAyB;IACtC,OAAO,GAAG,CAAC,IAAI,CAAA;AACjB,CAAC;AAED,+CAA+C;AAC/C,SAAS,UAAU,CAAC,IAAc;IAChC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;IAClE,0FAA0F;IAC1F,OAAO,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAI,IAAI,CAAC,MAAiB,CAAA;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,KAA2B,EAAE,GAAmB,EAAE,cAAuB;IAC9F,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,8FAA8F;IAC9F,8FAA8F;IAC9F,6EAA6E;IAC7E,IAAI,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAI,GAAG,CAAC,QAAmB,CAAC,CAAA;IAC/D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS;YAAE,SAAQ;QACnC,IAAI,GAAoB,CAAA;QACxB,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI;YAAE,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;;YAC1C,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAA2B,CAAW,CAAA;QAC7D,4FAA4F;QAC5F,yEAAyE;QACzE,MAAM,OAAO,GACX,EAAE,CAAC,IAAI,KAAK,SAAS;YACnB,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU;gBACtB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,WAAW,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM;oBAC7C,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG,CAAA;QACb,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;IACjC,CAAC;IACD,KAAK,CAAC,IAAI,EAAE,CAAA;IACZ,iGAAiG;IACjG,2FAA2F;IAC3F,oEAAoE;IACpE,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,IAAI;YAAE,SAAQ;QACxB,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAA;QACvC,IAAI,GAAG,CAAC,CAAA;IACV,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAA2B,EAAE,GAAmB;IAC3E,MAAM,SAAS,GAAW,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAW,EAAE,CAAA;IAC3B,MAAM,WAAW,GAAkB,EAAE,CAAA;IACrC,MAAM,YAAY,GAAmB,EAAE,CAAA;IACvC,MAAM,UAAU,GAAwB,EAAE,CAAA;IAC1C,MAAM,UAAU,GAAoB,EAAE,CAAA;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;IACpC,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAA8B,CAAA;IACnD,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,cAAc,GAAG,KAAK,CAAA;IAE1B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAK,CAA+B,CAAC,YAAY;oBAAE,YAAY,GAAG,IAAI,CAAA;gBACtE,MAAK;YACP,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,GAAG,GAAG,EAAE,CAAC,GAA2B,CAAA;gBAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAW,CAAA;gBACnC,IAAI,GAAG,KAAK,QAAQ;oBAAE,cAAc,GAAG,IAAI,CAAA;gBAC3C,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACnB,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;gBAC3D,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpE,UAAU,CAAC,IAAI,CAAC;wBACd,WAAW,EAAE,GAAkB;wBAC/B,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI;wBAC3C,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;qBAChB,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAK;YACP,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAA2B,CAAW,CAAA;gBAC9D,IAAI,GAAG,KAAK,QAAQ;oBAAE,cAAc,GAAG,IAAI,CAAA;gBAC3C,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACnB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;gBACzD,MAAK;YACP,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,EAAE,CAAC,GAA2B,CAAA;gBAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAW,CAAA;gBACnC,IAAI,GAAG,KAAK,QAAQ;oBAAE,cAAc,GAAG,IAAI,CAAA;gBAC3C,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACnB,WAAW,CAAC,IAAI,CAAC,GAAkB,CAAC,CAAA;gBACpC,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,GAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACvF,MAAK;YACP,CAAC;YACD,KAAK,cAAc,CAAC;YACpB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,0EAA0E;gBAC1E,8EAA8E;gBAC9E,MAAM,IAAI,GAAG,EAAE,CAAC,IAAgB,CAAA;gBAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;gBACjE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;oBACrD,aAAa,GAAG,IAAI,CAAA;oBACpB,MAAK;gBACP,CAAC;gBACD,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAqB,CAAA;gBAC1C,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACnB,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;gBAC3D,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;oBAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;gBACzE,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED,gGAAgG;IAChG,kGAAkG;IAClG,2FAA2F;IAC3F,MAAM,cAAc,GAAG,QAAQ,KAAK,SAAS,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,CAAA;IACjF,IAAI,cAAc,EAAE,CAAC;QACnB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACxB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS;QACT,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,UAAU;QACV,aAAa,EAAE,CAAC,GAAG,UAAU,CAAkB;QAC/C,UAAU;QACV,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC;QAC/C,aAAa;KACd,CAAC,CAAA;AACJ,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -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;AA6BhG,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,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;CAuCzC"}
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":"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"}
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
@@ -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":"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"}
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(resolved.components);
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 resolved.components) {
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. Synthetic ids
285
- // (pair/presence/overflow) are intentionally excluded from `components()` — they are reconstructed by
286
- // re-minting on the receiver, never shipped as schema.
287
- const userComponents = resolved.components;
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.4.0",
3
+ "version": "0.6.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.4.0"
47
+ "@ecsia/schema": "0.6.0"
48
48
  },
49
49
  "scripts": {
50
50
  "build": "tsc -b"