@typeonce/ritmo 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dist/Command.d.ts +102 -17
  2. package/dist/Command.d.ts.map +1 -1
  3. package/dist/Command.js +10 -8
  4. package/dist/Command.js.map +1 -1
  5. package/dist/Condition.d.ts +12 -1
  6. package/dist/Condition.d.ts.map +1 -1
  7. package/dist/Condition.js.map +1 -1
  8. package/dist/Debug.d.ts +63 -7
  9. package/dist/Debug.d.ts.map +1 -1
  10. package/dist/Descriptor.d.ts +36 -3
  11. package/dist/Descriptor.d.ts.map +1 -1
  12. package/dist/Descriptor.js +11 -3
  13. package/dist/Descriptor.js.map +1 -1
  14. package/dist/Entity.d.ts +12 -4
  15. package/dist/Entity.d.ts.map +1 -1
  16. package/dist/Entity.js.map +1 -1
  17. package/dist/EntityScope.d.ts +20 -1
  18. package/dist/EntityScope.d.ts.map +1 -1
  19. package/dist/EntityScope.js +8 -2
  20. package/dist/EntityScope.js.map +1 -1
  21. package/dist/Machine.d.ts +55 -33
  22. package/dist/Machine.d.ts.map +1 -1
  23. package/dist/Machine.js +6 -2
  24. package/dist/Machine.js.map +1 -1
  25. package/dist/Query.d.ts +48 -4
  26. package/dist/Query.d.ts.map +1 -1
  27. package/dist/Query.js +32 -4
  28. package/dist/Query.js.map +1 -1
  29. package/dist/Runtime.d.ts +3 -0
  30. package/dist/Runtime.d.ts.map +1 -1
  31. package/dist/Runtime.js +330 -24
  32. package/dist/Runtime.js.map +1 -1
  33. package/dist/Schema.d.ts +141 -25
  34. package/dist/Schema.d.ts.map +1 -1
  35. package/dist/Schema.js +29 -3
  36. package/dist/Schema.js.map +1 -1
  37. package/dist/Snapshot.d.ts +14 -0
  38. package/dist/Snapshot.d.ts.map +1 -1
  39. package/dist/Snapshot.js.map +1 -1
  40. package/dist/System.d.ts +64 -7
  41. package/dist/System.d.ts.map +1 -1
  42. package/dist/System.js +32 -0
  43. package/dist/System.js.map +1 -1
  44. package/dist/internal/debug.d.ts +7 -0
  45. package/dist/internal/debug.d.ts.map +1 -1
  46. package/dist/internal/debug.js +97 -6
  47. package/dist/internal/debug.js.map +1 -1
  48. package/dist/internal/equal.d.ts +8 -0
  49. package/dist/internal/equal.d.ts.map +1 -0
  50. package/dist/internal/equal.js +38 -0
  51. package/dist/internal/equal.js.map +1 -0
  52. package/dist/internal/fragments.d.ts.map +1 -1
  53. package/dist/internal/fragments.js +11 -1
  54. package/dist/internal/fragments.js.map +1 -1
  55. package/dist/internal/game.d.ts.map +1 -1
  56. package/dist/internal/game.js +33 -5
  57. package/dist/internal/game.js.map +1 -1
  58. package/dist/internal/order.d.ts.map +1 -1
  59. package/dist/internal/order.js +4 -2
  60. package/dist/internal/order.js.map +1 -1
  61. package/dist/internal/queries.d.ts.map +1 -1
  62. package/dist/internal/queries.js +30 -8
  63. package/dist/internal/queries.js.map +1 -1
  64. package/dist/internal/requirements.d.ts +26 -0
  65. package/dist/internal/requirements.d.ts.map +1 -0
  66. package/dist/internal/requirements.js +46 -0
  67. package/dist/internal/requirements.js.map +1 -0
  68. package/package.json +1 -1
  69. package/src/Command.ts +149 -29
  70. package/src/Condition.ts +17 -1
  71. package/src/Debug.ts +64 -7
  72. package/src/Descriptor.ts +55 -10
  73. package/src/Entity.ts +13 -4
  74. package/src/EntityScope.ts +21 -2
  75. package/src/Machine.ts +68 -34
  76. package/src/Query.ts +71 -7
  77. package/src/Runtime.ts +336 -22
  78. package/src/Schema.ts +185 -28
  79. package/src/Snapshot.ts +4 -0
  80. package/src/System.ts +75 -6
  81. package/src/internal/debug.ts +104 -8
  82. package/src/internal/equal.ts +31 -0
  83. package/src/internal/fragments.ts +12 -2
  84. package/src/internal/game.ts +51 -5
  85. package/src/internal/order.ts +8 -4
  86. package/src/internal/queries.ts +34 -10
  87. package/src/internal/requirements.ts +71 -0
package/dist/Command.d.ts CHANGED
@@ -65,7 +65,7 @@ import * as Entity from "./Entity.ts";
65
65
  import type * as EntityScope from "./EntityScope.ts";
66
66
  import type * as Relation from "./Relation.ts";
67
67
  import * as Result from "./Result.ts";
68
- import type { Schema } from "./Schema.ts";
68
+ import type { RequirementPair, Schema } from "./Schema.ts";
69
69
  /**
70
70
  * Type-level helpers for staged entity construction.
71
71
  *
@@ -164,9 +164,10 @@ export type DeferredCommand<S extends Schema.Any> = {
164
164
  export interface InternalWorld<S extends Schema.Any> {
165
165
  /**
166
166
  * Creates the entity for an id reserved by `commands.spawn(...)` with its
167
- * staged components.
167
+ * staged components. Returns `false`, creating nothing, when the
168
+ * components break a `Schema.requires` requirement.
168
169
  */
169
- readonly spawnEntity: (id: Entity.EntityId<S, any>, components: ReadonlyArray<Entity.StagedComponent>) => void;
170
+ readonly spawnEntity: (id: Entity.EntityId<S, any>, components: ReadonlyArray<Entity.StagedComponent>) => boolean;
170
171
  /**
171
172
  * Removes an entity and its outgoing and incoming relations.
172
173
  */
@@ -180,13 +181,15 @@ export interface InternalWorld<S extends Schema.Any> {
180
181
  */
181
182
  readonly destroyEntityScope: (scope: EntityScope.EntityScope.Any) => void;
182
183
  /**
183
- * Removes a component from a live entity.
184
+ * Removes components from a live entity, all or none: nothing is removed
185
+ * when that would leave a component without one it requires.
184
186
  */
185
- readonly removeComponent: (id: Entity.EntityId<S, any>, descriptor: Descriptor<"component", string, any>) => void;
187
+ readonly removeComponents: (id: Entity.EntityId<S, any>, descriptors: ReadonlyArray<Descriptor<"component", string, any>>) => void;
186
188
  /**
187
- * Inserts or replaces a component on a live entity.
189
+ * Inserts or replaces components on a live entity, all or none: nothing is
190
+ * written when an inserted component would miss one it requires.
188
191
  */
189
- readonly writeComponent: (id: Entity.EntityId<S, any>, descriptor: Descriptor<"component", string, any>, value: unknown) => void;
192
+ readonly insertComponents: (id: Entity.EntityId<S, any>, entries: ReadonlyArray<Entity.StagedComponent>) => void;
190
193
  /**
191
194
  * Attempts to attach one relation edge between two live entities.
192
195
  */
@@ -342,6 +345,67 @@ declare const spawnedTypeId: unique symbol;
342
345
  export type SpawnedId<S extends Schema.Any, Root, Components extends string> = Entity.EntityId<S, Root> & {
343
346
  readonly [spawnedTypeId]: (_: never) => Components;
344
347
  };
348
+ /** The requirements (`[requirer, required]`) of the components in `Held` that `Held` lacks. */
349
+ type MissingPairs<S extends Schema.Any, Held extends string> = Extract<Schema.Requires<S>, readonly [Held, string]> extends infer Pair ? Pair extends readonly [string, infer To extends string] ? To extends Held ? never : Pair : never : never;
350
+ /** One message per missing requirement: `"Player requires Velocity"`. */
351
+ type MissingMessages<Pairs> = Pairs extends readonly [infer From extends string, infer To extends string] ? `${From} requires ${To}` : never;
352
+ /**
353
+ * Accepts a draft holding every requirement of every component it holds.
354
+ * Direct requirements are enough: each required component must be held
355
+ * too, with its own requirements.
356
+ */
357
+ type DraftRequirementsMet<S extends Schema.Any, Held extends string> = [
358
+ MissingPairs<S, Held>
359
+ ] extends [never] ? unknown : Fix<`${MissingMessages<MissingPairs<S, Held>>}: add the missing entries to the draft`>;
360
+ /** What an insert or remove target is known to hold: a query match's proof, or a `SpawnedId`'s draft. A raw id proves nothing. */
361
+ type TargetHolds<E> = E extends {
362
+ readonly kind: "EntityRef" | "EntityMut";
363
+ readonly __proves?: (_: never) => infer Proves;
364
+ } ? Names<Proves> : E extends {
365
+ readonly [spawnedTypeId]: (_: never) => infer Spawned extends string;
366
+ } ? Spawned : never;
367
+ /** What a remove target is known to lack: its query's `without`. */
368
+ type TargetLacks<E> = E extends {
369
+ readonly kind: "EntityRef" | "EntityMut";
370
+ readonly __lacks?: (_: never) => infer Lacks;
371
+ } ? Names<Lacks> : never;
372
+ type EntryNames<Entries extends ReadonlyArray<readonly [ComponentDescriptor, unknown]>> = Names<Entries[number][0]>;
373
+ /** Inserted components with requirements neither inserted alongside nor proven held by the target. */
374
+ type InsertRequirementsMet<S extends Schema.Any, E, Entries extends ReadonlyArray<readonly [ComponentDescriptor, unknown]>> = [
375
+ MissingPairs<S, EntryNames<Entries> | TargetHolds<E>> & readonly [EntryNames<Entries>, string]
376
+ ] extends [never] ? unknown : Fix<`${MissingMessages<MissingPairs<S, EntryNames<Entries> | TargetHolds<E>> & readonly [EntryNames<Entries>, string]>}: insert it in the same call, or pass match.entity from a query that proves it`>;
377
+ /**
378
+ * Removing `Removed` is sound when every component that requires one of
379
+ * them is removed in the same call or proven absent by the target's query
380
+ * (`without`): otherwise the entity may keep a requirer without its
381
+ * requirement.
382
+ */
383
+ type RemoveViolations<S extends Schema.Any, E, Removed extends string> = Extract<Schema.Requires<S>, readonly [string, Removed]> extends infer Pair ? Pair extends readonly [infer From extends string, infer To extends string] ? From extends Removed | TargetLacks<E> ? never : `${To} is required by ${From}: remove ${From} in the same call, or match the entity with a query that has without: [${From}]` : never : never;
384
+ type RemoveRequirementsMet<S extends Schema.Any, E, Removed extends string> = [
385
+ RemoveViolations<S, E, Removed>
386
+ ] extends [never] ? unknown : Fix<RemoveViolations<S, E, Removed>>;
387
+ /** A remove target: `match.entity`, or the id `spawn` returned in this run; never a raw id. */
388
+ type RemoveTargetAllowed<S extends Schema.Any, Root, E> = E extends {
389
+ readonly kind: "EntityRef" | "EntityMut";
390
+ readonly id: Entity.EntityId<S, Root>;
391
+ } ? unknown : E extends SpawnedId<S, Root, string> ? unknown : Fix<"remove needs an entity from a query (pass match.entity) or the id spawn returned in this run, not a raw id">;
392
+ /** The transitive closure of the names `N` require (cycles stop). */
393
+ type RequiredClosure<Pairs extends RequirementPair, N extends string, Seen extends string = never> = [
394
+ Exclude<N, Seen>
395
+ ] extends [never] ? Seen : RequiredClosure<Pairs, Extract<Pairs, readonly [Exclude<N, Seen>, string]>[1], Seen | N>;
396
+ /**
397
+ * The component descriptors that `Names` require, transitively
398
+ * (`Schema.requires`): what `Game.System.spawns(...)` also allows.
399
+ */
400
+ export type RequiredDescriptors<S extends Schema.Any, Names extends string> = 0 extends 1 & Names ? never : string extends Names ? never : [Extract<Schema.Requires<S>, readonly [Names, string]>] extends [never] ? never : Extract<Schema.ComponentDescriptor<S>, {
401
+ readonly name: Exclude<RequiredClosure<Schema.Requires<S>, Names>, Names>;
402
+ }>;
403
+ type SchemaComponent<S extends Schema.Any> = Extract<Schema.Components<S>[keyof Schema.Components<S>], ComponentDescriptor>;
404
+ /** An entity a system has proven something about: `match.entity`, or the id `spawn` returned. */
405
+ type EntityTarget<S extends Schema.Any, Root> = {
406
+ readonly kind: "EntityRef" | "EntityMut";
407
+ readonly id: Entity.EntityId<S, Root>;
408
+ } | SpawnedId<S, Root, string>;
345
409
  /** The keys every member of a union of proofs requires (what a draft holds in every case). */
346
410
  type RequiredKeys<P> = P extends unknown ? {
347
411
  [K in keyof P]-?: {} extends Pick<P, K> ? never : K;
@@ -366,22 +430,33 @@ type HeldNames<P> = Exclude<AllKeys<P>, MissingSomewhere<P, AllKeys<P>>>;
366
430
  export interface CommandsApi<S extends Schema.Any, Root = unknown, Spawns = never, Inserts = never, Removes = never, Despawns = never, Scopes = never, Relates = never> {
367
431
  /**
368
432
  * Queues a staged entity for spawning and returns its stable runtime id.
433
+ *
434
+ * The draft must hold every component its components require
435
+ * (`Schema.requires`); drafts are checked here, so a partial draft built
436
+ * with `Game.Command.spawn(...)` and completed with `extend(...)` is fine.
369
437
  */
370
- readonly spawn: [Spawns] extends [never] ? MethodNotDeclared<"spawn", "spawns"> : <P extends Entity.ComponentProof>(draft: Entity.EntityDraft<S, P, Root> & DraftAllowed<P, Spawns>) => SpawnedId<S, Root, HeldNames<P>>;
438
+ readonly spawn: [Spawns] extends [never] ? MethodNotDeclared<"spawn", "spawns"> : <P extends Entity.ComponentProof>(draft: Entity.EntityDraft<S, P, Root> & DraftAllowed<P, Spawns> & DraftRequirementsMet<S, HeldNames<P>>) => SpawnedId<S, Root, HeldNames<P>>;
371
439
  /**
372
440
  * Queues an entity spawn owned by one lifetime scope (removed together
373
- * with `despawnScope(...)`).
441
+ * with `despawnScope(...)`). The draft is checked like `spawn(...)`.
374
442
  */
375
- readonly spawnIn: [Spawns] extends [never] ? MethodNotDeclared<"spawnIn", "spawns"> : <P extends Entity.ComponentProof>(scope: EntityScope.EntityScope<string, Root>, draft: Entity.EntityDraft<S, P, Root> & DraftAllowed<P, Spawns>) => SpawnedId<S, Root, HeldNames<P>>;
443
+ readonly spawnIn: [Spawns] extends [never] ? MethodNotDeclared<"spawnIn", "spawns"> : <P extends Entity.ComponentProof>(scope: EntityScope.EntityScope<string, Root>, draft: Entity.EntityDraft<S, P, Root> & DraftAllowed<P, Spawns> & DraftRequirementsMet<S, HeldNames<P>>) => SpawnedId<S, Root, HeldNames<P>>;
376
444
  /**
377
445
  * Queues component inserts (or replacements) on an existing entity, applied
378
446
  * at the next `applyDeferred()`. To change a value now, on an entity you
379
- * matched, write through a query (`Game.Query.write`) instead.
447
+ * matched, write through a query (`Game.Query.write`) instead; components
448
+ * declared `immutable: true` change only through `insert`.
449
+ *
450
+ * Pass `match.entity`: its query proves what the entity holds, which must
451
+ * cover what the inserted components require (`Schema.requires`) together
452
+ * with the entries inserted in the same call. The id `spawn` returned in
453
+ * this run proves its draft. A raw `EntityId` proves nothing, so it only
454
+ * inserts components without requirements.
380
455
  *
381
456
  * Entries must already be valid; validate raw input with
382
457
  * `Game.Command.entryRaw(...)` first.
383
458
  */
384
- readonly insert: [Inserts] extends [never] ? MethodNotDeclared<"insert", "inserts"> : <const Entries extends ReadonlyArray<SchemaEntry<S>>>(entity: Entity.EntityId<S, Root>, ...entries: Entries & EntriesAllowed<Entries, Inserts>) => Entity.EntityId<S, Root>;
459
+ readonly insert: [Inserts] extends [never] ? MethodNotDeclared<"insert", "inserts"> : <const E extends Entity.EntityId<S, Root> | EntityTarget<S, Root>, const Entries extends ReadonlyArray<SchemaEntry<S>>>(entity: E, ...entries: Entries & EntriesAllowed<Entries, Inserts> & InsertRequirementsMet<S, E, Entries>) => Entity.EntityId<S, Root>;
385
460
  /**
386
461
  * Queues an entity removal. A despawned entity stays visible to queries
387
462
  * until the next `applyDeferred()`, and despawns never count as writers for
@@ -391,15 +466,21 @@ export interface CommandsApi<S extends Schema.Any, Root = unknown, Spawns = neve
391
466
  * components, or the id `spawn` returned in this run (it holds its draft's
392
467
  * components); never a raw id.
393
468
  */
394
- readonly despawn: [Despawns] extends [never] ? MethodNotDeclared<"despawn", "despawns"> : <const E>(entity: E & DespawnAllowed<E, Despawns>) => void;
469
+ readonly despawn: [Despawns] extends [never] ? MethodNotDeclared<"despawn", "despawns"> : <const E>(entity: unknown extends DespawnAllowed<E, Despawns> ? E : DespawnAllowed<E, Despawns>) => void;
395
470
  /**
396
471
  * Queues removal of every entity owned by one lifetime scope.
397
472
  */
398
473
  readonly despawnScope: [Scopes] extends [never] ? MethodNotDeclared<"despawnScope", "despawnsScope"> : (scope: Scopes) => void;
399
474
  /**
400
- * Queues a component removal on an existing entity.
475
+ * Queues the removal of one or more components from an existing entity,
476
+ * applied together at the next `applyDeferred()`.
477
+ *
478
+ * Pass `match.entity` from a query, or the id `spawn` returned in this run;
479
+ * never a raw id. A component another one requires (`Schema.requires`) can
480
+ * only go together with that requirer, in the same call, or from an
481
+ * entity whose query has `without: [Requirer]`.
401
482
  */
402
- readonly remove: [Removes] extends [never] ? MethodNotDeclared<"remove", "removes"> : <D extends Extract<Schema.Components<S>[keyof Schema.Components<S>], ComponentDescriptor>>(entity: Entity.EntityId<S, Root>, descriptor: D & RemoveAllowed<D, Removes>) => Entity.EntityId<S, Root>;
483
+ readonly remove: [Removes] extends [never] ? MethodNotDeclared<"remove", "removes"> : <const E, const Ds extends readonly [SchemaComponent<S>, ...Array<SchemaComponent<S>>]>(entity: unknown extends RemoveTargetAllowed<S, Root, E> ? E : RemoveTargetAllowed<S, Root, E>, ...descriptors: Ds & RemoveAllowed<Ds[number], Removes> & RemoveRequirementsMet<S, E, Names<Ds[number]>>) => Entity.EntityId<S, Root>;
403
484
  /**
404
485
  * Queues one live relation mutation for deferred application.
405
486
  */
@@ -417,12 +498,16 @@ export interface CommandsApi<S extends Schema.Any, Root = unknown, Spawns = neve
417
498
  export interface CommandQueue<S extends Schema.Any, Root = unknown> {
418
499
  readonly spawn: (draft: Entity.EntityDraft<S, any, Root>) => Entity.EntityId<S, Root>;
419
500
  readonly spawnIn: (scope: EntityScope.EntityScope<string, Root>, draft: Entity.EntityDraft<S, any, Root>) => Entity.EntityId<S, Root>;
420
- readonly insert: (entity: Entity.EntityId<S, Root>, ...entries: ReadonlyArray<SchemaEntry<S>>) => Entity.EntityId<S, Root>;
501
+ readonly insert: (entity: Entity.EntityId<S, Root> | {
502
+ readonly id: Entity.EntityId<S, Root>;
503
+ }, ...entries: ReadonlyArray<SchemaEntry<S>>) => Entity.EntityId<S, Root>;
421
504
  readonly despawn: (entity: Entity.EntityId<S, Root> | {
422
505
  readonly id: Entity.EntityId<S, Root>;
423
506
  }) => void;
424
507
  readonly despawnScope: (scope: EntityScope.EntityScope<string, Root>) => void;
425
- readonly remove: (entity: Entity.EntityId<S, Root>, descriptor: ComponentDescriptor) => Entity.EntityId<S, Root>;
508
+ readonly remove: (entity: Entity.EntityId<S, Root> | {
509
+ readonly id: Entity.EntityId<S, Root>;
510
+ }, ...descriptors: ReadonlyArray<ComponentDescriptor>) => Entity.EntityId<S, Root>;
426
511
  readonly relate: (entity: Entity.EntityId<S, Root>, relation: Relation.Relation.Any, target: Entity.EntityId<S, Root>) => void;
427
512
  readonly unrelate: (entity: Entity.EntityId<S, Root>, relation: Relation.Relation.Any) => void;
428
513
  readonly reorderChildren: (entity: Entity.EntityId<S, Root>, relation: Relation.Relation.Hierarchy, children: ReadonlyArray<Entity.EntityId<S, Root>>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../src/Command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,OAAO,KAAK,gBAAgB,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,WAAW,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;;;;GAKG;AACH,yBAAiB,KAAK,CAAC;IACrB;;;;;OAKG;IACH,KAAY,MAAM,CAChB,CAAC,SAAS,MAAM,CAAC,cAAc,EAC/B,GAAG,SAAS,MAAM,EAClB,KAAK,IACH,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG;QACjB,QAAQ,EAAE,CAAC,IAAI,GAAG,GAAG,KAAK;KAC3B,CAAA;IAED;;OAEG;IACH,KAAY,WAAW,CACrB,CAAC,SAAS,MAAM,CAAC,cAAc,EAC/B,KAAK,SAAS,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,IACpE,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC,GAC3F,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAClD,CAAC,CAAA;CACN;AAED;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAErG;;GAEG;AACH,KAAK,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,IACjD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;AAEjG;;;;GAIG;AACH,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAEnF;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAA;AAErF;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAElG,KAAK,UAAU,CAAC,CAAC,IACf;IAAC,CAAC;CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAC1G,KAAK,GACL,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,GACpE,CAAC,GACD,KAAK,CAAA;AAEb;;GAEG;AACH,MAAM,MAAM,WAAW,CACrB,OAAO,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAC9C,CAAC,SAAS,MAAM,CAAC,cAAc,GAAG,EAAE,IAClC,MAAM,SAAS,OAAO,CAAC,QAAQ,CAAC,GAEhC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAC7C,OAAO,SAAS,SAAS;IACvB,MAAM,IAAI,SAAS,UAAU,CAAC,GAAG,CAAC;IAClC,GAAG,MAAM,IAAI,SAAS,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;CAC7C,GACC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GACzD,CAAC,CAAA;AAEP,8FAA8F;AAC9F,KAAK,YAAY,CAAC,KAAK,IAAI;IACzB,QAAQ,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EACvI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK;CACnH,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,OAAO,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI;IACxE,QAAQ,EAAE,CAAC,IAAI,MAAM,OAAO,GAC1B,OAAO,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI;CAC3E,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,OAAO,SAAS,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAC5C,CAAC,SAAS,MAAM,CAAC,cAAc,EAC/B,IAAI,IACF,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpE,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GACpD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;AAE7F;;;;;GAKG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,IAAI;IAClD;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;CAClD,CAAA;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG;IACjD;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,IAAI,CAAA;IAC9G;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,IAAI,CAAA;IAC7D;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAC3B,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,KAC/B,IAAI,CAAA;IACT;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,KAAK,IAAI,CAAA;IACzE;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAA;IACjH;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAChI;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,CAClB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAC/B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IACzD;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,CACjB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAC5B,IAAI,CAAA;IACT;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,CACxB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,EACrC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;CAC1D;AAOD;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,cACtD,CAAC,SACN,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KACzB,KAAK,CAAC,CAAC,CAAwB,CAAA;AAElC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,gBAAgB,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,cAC/F,CAAC,OACR,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KACrB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAKzD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,GACjB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,MAAM,CAAC,cAAc,EAC/B,IAAI,EACJ,KAAK,CAAC,OAAO,SAAS,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAE3C,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,cACzB,OAAO,KAClB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CACwF,CAAA;AAyCvH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,KAAK,GAChB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,IAAI,GAAG,OAAO,EACd,KAAK,CAAC,OAAO,SAAS,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,cAEpD,OAAO,KAClB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CACoD,CAAA;AAIpF;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GACjB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,CAAC,SAAS,MAAM,CAAC,cAAc,EAC/B,CAAC,SAAS,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAC/B,IAAI,GAAG,OAAO,SAEP,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,YAC3B,CAAC,UACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAC/B,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAO5B,CAAA;AAEJ,+FAA+F;AAC/F,MAAM,WAAW,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,cAAc,EAAE,GAAG,CAAC,KAAK;IACpE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;CACtC;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,eAAe,GAAG,SAAS,CAAA;AAExG,KAAK,mBAAmB,GAAG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;AAE/D;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,CAAC,UAAU,SAAS,aAAa,CAAC,mBAAmB,CAAC,iBAAiB,UAAU,KAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CACvG,CAAA;AAEhD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,CAAC,UAAU,SAAS,aAAa,CAAC,mBAAmB,CAAC,iBAAiB,UAAU,KAAG,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CACxG,CAAA;AAEjD,8DAA8D;AAC9D,eAAO,MAAM,OAAO,GAAI,KAAK,CAAC,UAAU,SAAS,aAAa,CAAC,mBAAmB,CAAC,iBAAiB,UAAU,KAAG,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CACxG,CAAA;AAEjD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,CAAC,UAAU,SAAS,aAAa,CAAC,mBAAmB,CAAC,iBAAiB,UAAU,KAAG,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CACzG,CAAA;AAElD,mDAAmD;AACnD,eAAO,MAAM,aAAa,GAAI,KAAK,CAAC,KAAK,SAAS,WAAW,CAAC,WAAW,CAAC,GAAG,SAAS,KAAK,KAAG,UAAU,CAAC,eAAe,EAAE,KAAK,CAC3E,CAAA;AAEpD,8EAA8E;AAC9E,eAAO,MAAM,OAAO,GAAI,KAAK,CAAC,SAAS,SAAS,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,SAAS,KAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CACvG,CAAA;AAEhD,KAAK,eAAe,CAAC,WAAW,EAAE,IAAI,SAAS,cAAc,IAC3D,WAAW,SAAS,UAAU,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAA;AAEnE;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAC5B,GAAG,CAAC,MAAM,GAAG,KAAK,EAClB,GAAG,CAAC,OAAO,GAAG,KAAK,EACnB,GAAG,CAAC,OAAO,GAAG,KAAK,EACnB,GAAG,CAAC,QAAQ,GAAG,KAAK,EACpB,GAAG,CAAC,MAAM,GAAG,KAAK,EAClB,GAAG,CAAC,OAAO,GAAG,KAAK;IAEnB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;IACxE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;CACtG;AAED,yBAAiB,aAAa,CAAC;IAC7B,KAAY,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAC9D;AAED,6EAA6E;AAC7E,eAAO,MAAM,QAAQ,GAAI,KAAK,CAAC,WAAW,SAAS,aAAa,CAAC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,kBACnF,WAAW,KAC1B,aAAa,CACd,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAC9C,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAC/C,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAC/C,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,EAChD,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,EACrD,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CACT,CAAA;AAExC,qDAAqD;AACrD,MAAM,MAAM,WAAW,GACrB,4LAA4L,CAAA;AAE9L,uGAAuG;AACvG,KAAK,iBAAiB,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,IAClE,CAAC,GAAG,GAAG,EAAE,aAAa,CAAC,GAAG,MAAM,+DAA+D,OAAO,oCAAoC,CAAC,KAAK,KAAK,CAAA;AAEvJ,KAAK,GAAG,CAAC,OAAO,SAAS,MAAM,IAAI;IAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAAA;AAExE,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,SAAS,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,KAAK,CAAA;AAErF,oGAAoG;AACpG,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAA;AAE9D,KAAK,YAAY,CAAC,CAAC,EAAE,MAAM,IACzB;IAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAChD,OAAO,GACP,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,+EAA+E,CAAC,CAAA;AAE/H,KAAK,cAAc,CAAC,OAAO,SAAS,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,IACjG;IAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAClD,OAAO,GACP,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,gFAAgF,CAAC,CAAA;AAEzI,KAAK,aAAa,CAAC,CAAC,EAAE,OAAO,IAC3B;IAAC,CAAC;CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,gFAAgF,CAAC,CAAA;AAEpI,KAAK,cAAc,CAAC,CAAC,EAAE,QAAQ,IAC7B,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,MAAM,MAAM,CAAA;CAAE,GAClG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACzC,GAAG,CAAC,gDAAgD,KAAK,CAAC,QAAQ,CAAC,yBAAyB,CAAC,GAC7F,OAAO,GACT,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,MAAM,OAAO,CAAA;CAAE,GACjE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACjD,GAAG,CAAC,wCAAwC,KAAK,CAAC,QAAQ,CAAC,yBAAyB,CAAC,GACrF,OAAO,GACT,GAAG,CAAC,gDAAgD,KAAK,CAAC,QAAQ,CAAC,0DAA0D,CAAC,CAAA;AAEtI,OAAO,CAAC,MAAM,aAAa,EAAE,OAAO,MAAM,CAAA;AAE1C;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,SAAS,MAAM,IACzE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,UAAU,CAAA;CAAE,CAAA;AAEnF,8FAA8F;AAC9F,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,CAAA;AAC5H,KAAK,gBAAgB,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AACzF,KAAK,SAAS,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAExE;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,IAAI,GAAG,OAAO,EACd,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,KAAK;IAEf;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GACpC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,GACpC,CAAC,CAAC,SAAS,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1I;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GACtC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,GACtC,CAAC,CAAC,SAAS,MAAM,CAAC,cAAc,EAC9B,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAC5C,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,KAC5D,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IACzC;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GACtC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACtC,CAAC,KAAK,CAAC,OAAO,SAAS,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAClD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAChC,GAAG,OAAO,EAAE,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,KACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GACxC,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,GACxC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAA;IAC9D;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAC3C,iBAAiB,CAAC,cAAc,EAAE,eAAe,CAAC,GAClD,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GACtC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACtC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,EACvF,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAChC,UAAU,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,KACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACjC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GACtC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACtC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAChD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAChC,QAAQ,EAAE,CAAC,EACX,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAC7B,IAAI,CAAA;IACb;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GACxC,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,GACxC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAChD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAChC,QAAQ,EAAE,CAAC,KACR,IAAI,CAAA;IACb;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAC/C,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAC/C,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EACtD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAChC,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAC9C,IAAI,CAAA;CACd;AAED,8FAA8F;AAC9F,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO;IAChE,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACrF,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACrI,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC1H,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;KAAE,KAAK,IAAI,CAAA;IACxG,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,CAAA;IAC7E,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,mBAAmB,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAChH,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,CAAA;IAC9H,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAA;IAC9F,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAA;IAC9J;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;CACxD;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,cACnD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,KACzC,YAAY,CAAC,CAAC,EAAE,IAAI,CAsGtB,CAAA"}
1
+ {"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../src/Command.ts"],"names":[],"mappings":"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"}
package/dist/Command.js CHANGED
@@ -215,7 +215,8 @@ export const makeCommands = (allocateId) => {
215
215
  queue.push({
216
216
  tag: "spawn",
217
217
  apply(world) {
218
- world.spawnEntity(id, draft.components);
218
+ if (!world.spawnEntity(id, draft.components))
219
+ return;
219
220
  for (const stagedRelation of draft.relations) {
220
221
  world.tryRelate(id, stagedRelation.relation, stagedRelation.target);
221
222
  }
@@ -228,7 +229,8 @@ export const makeCommands = (allocateId) => {
228
229
  queue.push({
229
230
  tag: "spawnIn",
230
231
  apply(world) {
231
- world.spawnEntity(id, draft.components);
232
+ if (!world.spawnEntity(id, draft.components))
233
+ return;
232
234
  world.assignEntityScope(id, scope);
233
235
  for (const stagedRelation of draft.relations) {
234
236
  world.tryRelate(id, stagedRelation.relation, stagedRelation.target);
@@ -237,13 +239,12 @@ export const makeCommands = (allocateId) => {
237
239
  });
238
240
  return id;
239
241
  },
240
- insert(entity, ...entries) {
242
+ insert(target, ...entries) {
243
+ const entity = typeof target === "object" ? target.id : target;
241
244
  queue.push({
242
245
  tag: "insert",
243
246
  apply(world) {
244
- for (const [descriptor, value] of entries) {
245
- world.writeComponent(entity, descriptor, value);
246
- }
247
+ world.insertComponents(entity, entries);
247
248
  }
248
249
  });
249
250
  return entity;
@@ -265,11 +266,12 @@ export const makeCommands = (allocateId) => {
265
266
  }
266
267
  });
267
268
  },
268
- remove(entity, descriptor) {
269
+ remove(target, ...descriptors) {
270
+ const entity = typeof target === "object" ? target.id : target;
269
271
  queue.push({
270
272
  tag: "remove",
271
273
  apply(world) {
272
- world.removeComponent(entity, descriptor);
274
+ world.removeComponents(entity, descriptors);
273
275
  }
274
276
  });
275
277
  return entity;
@@ -1 +1 @@
1
- {"version":3,"file":"Command.js","sourceRoot":"","sources":["../src/Command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Command.js","sourceRoot":"","sources":["../src/Command.ts"],"names":[],"mappings":"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"}
@@ -42,9 +42,19 @@ type AnyQuery = Query.Query.Any<any>;
42
42
  /** Access categories a check may declare. */
43
43
  export interface CheckAccessInput {
44
44
  readonly queries?: Record<string, AnyQuery>;
45
- readonly resources?: Record<string, System.ResourceRead<Descriptor<"resource", string, any>>>;
45
+ readonly resources?: Record<string, CheckResourceAccess>;
46
46
  readonly machines?: Record<string, Machine.MachineRead<Machine.StateMachine.Any>>;
47
47
  }
48
+ /** Accepted at the constraint so `ExactCheckAccess` can reject the last two with a message naming the fix. */
49
+ type CheckResourceAccess = System.ResourceRead<Descriptor<"resource", string, any>> | System.ResourceChanged<Descriptor<"resource", string, any>> | System.ResourceWrite<Descriptor<"resource", string, any>>;
50
+ /** A check reads committed values and owns no cursor: `changedResource` and `writeResource` slots become a message naming the fix. */
51
+ type CheckResources<Resources> = {
52
+ readonly [K in keyof Resources]: Resources[K] extends {
53
+ readonly mode: "changed";
54
+ } ? "changedResource consumes a per-reader cursor, which a check does not have: use Game.System.readResource here, and changedResource in the gated system" : Resources[K] extends {
55
+ readonly mode: "write";
56
+ } ? "a check cannot write resources: use Game.System.readResource" : Resources[K];
57
+ };
48
58
  type QueryWriteAccess<Q extends AnyQuery> = Extract<Q["selection"][keyof Q["selection"]], {
49
59
  readonly mode: "write";
50
60
  }>;
@@ -63,6 +73,7 @@ export type ExactCheckAccess<Access extends CheckAccessInput> = Access & {
63
73
  readonly [Key in Exclude<keyof Access, keyof CheckAccessInput>]: never;
64
74
  } & {
65
75
  readonly queries?: Access["queries"] extends Record<string, AnyQuery> ? StatelessQueries<Access["queries"]> : never;
76
+ readonly resources?: CheckResources<Access["resources"]>;
66
77
  };
67
78
  /** What a check's predicate sees: its declared resources, machines, and queries, read-only. */
68
79
  export type CheckContext<Spec extends System.AnySystemSpec> = Pick<System.SystemContext<Spec>, "queries" | "resources" | "machines">;
@@ -1 +1 @@
1
- {"version":3,"file":"Condition.d.ts","sourceRoot":"","sources":["../src/Condition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAE1C,KAAK,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEpC,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;CAClF;AAED,KAAK,gBAAgB,CAAC,CAAC,SAAS,QAAQ,IACtC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AAE3E,iFAAiF;AACjF,KAAK,cAAc,CAAC,CAAC,SAAS,QAAQ,IACpC;IAAC,gBAAgB,CAAC,CAAC,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GACjC,CAAC,CAAC,SAAS,CAAC,SAAS,SAAS,EAAE,GAAG,CAAC,GAAG,KAAK,GAC5C,KAAK,CAAA;AAEX,KAAK,gBAAgB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;IAChE,QAAQ,EAAE,CAAC,IAAI,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,gBAAgB,IAAI,MAAM,GAAG;IACvE,QAAQ,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,MAAM,EAAE,MAAM,gBAAgB,CAAC,GAAG,KAAK;CACvE,GAAG;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GACjE,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GACnC,KAAK,CAAA;CACV,CAAA;AAED,+FAA+F;AAC/F,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,CAAC,aAAa,IAAI,IAAI,CAChE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAC1B,SAAS,GAAG,WAAW,GAAG,UAAU,CACrC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,CAAC,SAAS,MAAM,CAAC,GAAG,EACpB,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,KAAK,CAAC,MAAM,SAAS,gBAAgB,EACrC,IAAI,GAAG,OAAO,UAEN,CAAC,QACH,IAAI,QACJ,gBAAgB,CAAC,MAAM,CAAC,aACnB,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,OAAO,KAChF,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAQ/D,CAAA"}
1
+ {"version":3,"file":"Condition.d.ts","sourceRoot":"","sources":["../src/Condition.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Condition.js","sourceRoot":"","sources":["../src/Condition.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AA8C3C;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAMnB,MAAS,EACT,IAAU,EACV,IAA8B,EAC9B,SAAiF,EACjB,EAAE;IAClE,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAW,EAAE,SAAkB,CAAC,CAAA;IACzF,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI;QACJ,UAAU;QACV,YAAY,EAAE,UAAU,CAAC,YAAY;KACtC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Condition.js","sourceRoot":"","sources":["../src/Condition.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AA8D3C;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAMnB,MAAS,EACT,IAAU,EACV,IAA8B,EAC9B,SAAiF,EACjB,EAAE;IAClE,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAW,EAAE,SAAkB,CAAC,CAAA;IACzF,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI;QACJ,UAAU;QACV,YAAY,EAAE,UAAU,CAAC,YAAY;KACtC,CAAA;AACH,CAAC,CAAA"}
package/dist/Debug.d.ts CHANGED
@@ -110,6 +110,10 @@ export type Storage = "constructed" | "transient" | "plain";
110
110
  export interface ComponentDescription {
111
111
  readonly name: string;
112
112
  readonly storage: Storage;
113
+ /** Declared `immutable: true`: queries only read it, `commands.insert` replaces it. */
114
+ readonly immutable: boolean;
115
+ /** The components it directly requires (`Schema.requires`). */
116
+ readonly requires: ReadonlyArray<string>;
113
117
  }
114
118
  export interface ResourceDescription {
115
119
  readonly name: string;
@@ -127,8 +131,21 @@ export interface RelationDescription {
127
131
  export interface MachineDescription {
128
132
  readonly name: string;
129
133
  readonly states: ReadonlyArray<Machine.StateValue>;
130
- /** The committed value, or `undefined` when the runtime does not provide the machine. */
134
+ /**
135
+ * The committed value, or `undefined` when the runtime does not provide the
136
+ * machine, or when it is a sub-state whose parent is in another state.
137
+ */
131
138
  readonly current: Machine.StateValue | undefined;
139
+ /** Whether the runtime was given an initial value for the machine. */
140
+ readonly provided: boolean;
141
+ /** For a sub-state, where it exists, as `Parent=state`. */
142
+ readonly within: string | undefined;
143
+ }
144
+ /** An entity scope and the state changes that despawn it (`Game.EntityScope(name, { despawnOnExit, despawnOnEnter })`). */
145
+ export interface ScopeDescription {
146
+ readonly name: string;
147
+ /** Triggers as `onExit(Flow=Playing)` / `onEnter(Flow=Menu)`; empty when only `commands.despawnScope` ends it. */
148
+ readonly despawnOn: ReadonlyArray<string>;
132
149
  }
133
150
  export interface ServiceDescription {
134
151
  readonly name: string;
@@ -144,6 +161,11 @@ export interface QueryDescription {
144
161
  readonly without: ReadonlyArray<string>;
145
162
  readonly added: ReadonlyArray<string>;
146
163
  readonly changed: ReadonlyArray<string>;
164
+ /** One entry per `anyOf` filter: the components of its `added` and `changed` members. */
165
+ readonly anyOf: ReadonlyArray<{
166
+ readonly added: ReadonlyArray<string>;
167
+ readonly changed: ReadonlyArray<string>;
168
+ }>;
147
169
  /** Relation filters and reads, for example `with ChildOf` or `read Children`. */
148
170
  readonly relations: ReadonlyArray<string>;
149
171
  }
@@ -153,8 +175,10 @@ export interface SystemDescription {
153
175
  /** Where the system runs, as `schedule#step`. */
154
176
  readonly placements: ReadonlyArray<string>;
155
177
  readonly queries: ReadonlyArray<QueryDescription>;
178
+ /** Resource reads and writes. `changed` lists the reads declared with `changedResource` (also in `reads`). */
156
179
  readonly resources: {
157
180
  readonly reads: ReadonlyArray<string>;
181
+ readonly changed: ReadonlyArray<string>;
158
182
  readonly writes: ReadonlyArray<string>;
159
183
  };
160
184
  readonly events: {
@@ -212,15 +236,18 @@ export interface ScheduleDescription {
212
236
  * A finding about the described schedules. `warning` is almost certainly a
213
237
  * bug; `info` is worth a look but can be intentional.
214
238
  *
215
- * Most lints read declarations only. Two also use what the runtime has seen
216
- * so far: events sent with `runtime.send(...)` count as written, and
239
+ * Most lints read declarations only. Some also use what the runtime has seen
240
+ * so far: events sent with `runtime.send(...)` count as written,
217
241
  * `relation-failure-never-read` fires for a relation that applied commands
218
242
  * have tried to relate or reorder (which can fail) while no described system
219
- * reads its failures, so describe after the game has run for a while.
243
+ * reads its failures, and `requirement-violated` lists commands skipped
244
+ * because they would have broken a `Schema.requires` requirement, so
245
+ * describe after the game has run for a while. `scope-trigger-never-applied`
246
+ * also reads which machines the runtime provides.
220
247
  */
221
248
  export interface Lint {
222
249
  readonly severity: "warning" | "info";
223
- readonly code: "event-never-read" | "relation-failure-never-read" | "event-never-written" | "next-state-never-applied" | "component-never-read" | "read-before-write" | "this-tick-order" | "command-permission-unused";
250
+ readonly code: "event-never-read" | "relation-failure-never-read" | "event-never-written" | "next-state-never-applied" | "resource-changed-never-written" | "component-never-read" | "read-before-write" | "this-tick-order" | "command-permission-unused" | "requirement-violated" | "scope-trigger-never-applied";
224
251
  readonly message: string;
225
252
  readonly subject: string;
226
253
  /** What to change to resolve it (or, for `info`, when it is fine as it is). */
@@ -241,6 +268,8 @@ export interface Description {
241
268
  }>;
242
269
  readonly relations: ReadonlyArray<RelationDescription>;
243
270
  readonly machines: ReadonlyArray<MachineDescription>;
271
+ /** Scopes defined through the game, in definition order. */
272
+ readonly scopes: ReadonlyArray<ScopeDescription>;
244
273
  readonly services: ReadonlyArray<ServiceDescription>;
245
274
  readonly schedules: ReadonlyArray<ScheduleDescription>;
246
275
  readonly systems: ReadonlyArray<SystemDescription>;
@@ -393,7 +422,32 @@ export type Effect = {
393
422
  readonly entity: number;
394
423
  readonly relation: string;
395
424
  readonly error: string;
425
+ }
426
+ /** A command skipped because it would leave `component` without `missing` (`Schema.requires`). */
427
+ | {
428
+ readonly kind: "requirementViolated";
429
+ readonly entity: number;
430
+ readonly command: RequirementViolation["command"];
431
+ readonly component: string;
432
+ readonly missing: string;
396
433
  };
434
+ /**
435
+ * Commands of one system skipped because applying them would have left a
436
+ * component without one it requires (`Schema.requires`): the
437
+ * `requirement-violated` lint.
438
+ */
439
+ export interface RequirementViolation {
440
+ readonly system: string;
441
+ readonly command: "spawn" | "insert" | "remove";
442
+ /** The requirer. */
443
+ readonly component: string;
444
+ /** The required component it would have lacked. */
445
+ readonly missing: string;
446
+ /** The last entity it happened to. */
447
+ readonly entity: number;
448
+ /** How many commands were skipped this way. */
449
+ readonly count: number;
450
+ }
397
451
  export interface AppliedCommand {
398
452
  readonly tag: string;
399
453
  readonly system: string;
@@ -481,8 +535,10 @@ export interface TransitionEvent {
481
535
  readonly tick: number;
482
536
  readonly schedule: string;
483
537
  readonly machine: string;
484
- readonly from: Machine.StateValue;
485
- readonly to: Machine.StateValue;
538
+ /** `undefined` when a sub-state starts existing (its parent entered its state). */
539
+ readonly from: Machine.StateValue | undefined;
540
+ /** `undefined` when a sub-state stops existing (its parent left its state). */
541
+ readonly to: Machine.StateValue | undefined;
486
542
  /**
487
543
  * `applied` committed the new value; `unchanged` was a `setIfChanged` to the
488
544
  * current value; `failed` stopped in an exit or transition schedule and was