@typeonce/ritmo 0.6.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 (148) hide show
  1. package/README.md +2 -0
  2. package/dist/Brand.d.ts +9 -4
  3. package/dist/Brand.d.ts.map +1 -1
  4. package/dist/Brand.js +9 -4
  5. package/dist/Brand.js.map +1 -1
  6. package/dist/Clock.d.ts +186 -0
  7. package/dist/Clock.d.ts.map +1 -0
  8. package/dist/Clock.js +111 -0
  9. package/dist/Clock.js.map +1 -0
  10. package/dist/Command.d.ts +250 -41
  11. package/dist/Command.d.ts.map +1 -1
  12. package/dist/Command.js +59 -23
  13. package/dist/Command.js.map +1 -1
  14. package/dist/Condition.d.ts +12 -1
  15. package/dist/Condition.d.ts.map +1 -1
  16. package/dist/Condition.js.map +1 -1
  17. package/dist/Debug.d.ts +163 -15
  18. package/dist/Debug.d.ts.map +1 -1
  19. package/dist/Debug.js.map +1 -1
  20. package/dist/Decode.d.ts +1 -1
  21. package/dist/Decode.js +1 -1
  22. package/dist/Descriptor.d.ts +67 -24
  23. package/dist/Descriptor.d.ts.map +1 -1
  24. package/dist/Descriptor.js +32 -15
  25. package/dist/Descriptor.js.map +1 -1
  26. package/dist/Entity.d.ts +22 -5
  27. package/dist/Entity.d.ts.map +1 -1
  28. package/dist/Entity.js +2 -2
  29. package/dist/Entity.js.map +1 -1
  30. package/dist/EntityScope.d.ts +26 -1
  31. package/dist/EntityScope.d.ts.map +1 -1
  32. package/dist/EntityScope.js +14 -2
  33. package/dist/EntityScope.js.map +1 -1
  34. package/dist/HostClock.d.ts +49 -0
  35. package/dist/HostClock.d.ts.map +1 -0
  36. package/dist/HostClock.js +46 -0
  37. package/dist/HostClock.js.map +1 -0
  38. package/dist/Inspector.d.ts +7 -1
  39. package/dist/Inspector.d.ts.map +1 -1
  40. package/dist/Inspector.js.map +1 -1
  41. package/dist/Machine.d.ts +67 -36
  42. package/dist/Machine.d.ts.map +1 -1
  43. package/dist/Machine.js +10 -3
  44. package/dist/Machine.js.map +1 -1
  45. package/dist/Query.d.ts +74 -26
  46. package/dist/Query.d.ts.map +1 -1
  47. package/dist/Query.js +32 -28
  48. package/dist/Query.js.map +1 -1
  49. package/dist/Runtime.d.ts +39 -16
  50. package/dist/Runtime.d.ts.map +1 -1
  51. package/dist/Runtime.js +556 -87
  52. package/dist/Runtime.js.map +1 -1
  53. package/dist/Schedule.d.ts +217 -10
  54. package/dist/Schedule.d.ts.map +1 -1
  55. package/dist/Schedule.js +5 -0
  56. package/dist/Schedule.js.map +1 -1
  57. package/dist/Schema.d.ts +196 -44
  58. package/dist/Schema.d.ts.map +1 -1
  59. package/dist/Schema.js +29 -11
  60. package/dist/Schema.js.map +1 -1
  61. package/dist/Snapshot.d.ts +14 -0
  62. package/dist/Snapshot.d.ts.map +1 -1
  63. package/dist/Snapshot.js.map +1 -1
  64. package/dist/System.d.ts +212 -58
  65. package/dist/System.d.ts.map +1 -1
  66. package/dist/System.js +84 -6
  67. package/dist/System.js.map +1 -1
  68. package/dist/index.d.ts +8 -7
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +8 -7
  71. package/dist/index.js.map +1 -1
  72. package/dist/internal/cells.d.ts +3 -3
  73. package/dist/internal/cells.d.ts.map +1 -1
  74. package/dist/internal/cells.js +9 -11
  75. package/dist/internal/cells.js.map +1 -1
  76. package/dist/internal/debug.d.ts +13 -0
  77. package/dist/internal/debug.d.ts.map +1 -1
  78. package/dist/internal/debug.js +192 -7
  79. package/dist/internal/debug.js.map +1 -1
  80. package/dist/internal/equal.d.ts +8 -0
  81. package/dist/internal/equal.d.ts.map +1 -0
  82. package/dist/internal/equal.js +38 -0
  83. package/dist/internal/equal.js.map +1 -0
  84. package/dist/internal/fragments.d.ts.map +1 -1
  85. package/dist/internal/fragments.js +11 -1
  86. package/dist/internal/fragments.js.map +1 -1
  87. package/dist/internal/game.d.ts.map +1 -1
  88. package/dist/internal/game.js +41 -6
  89. package/dist/internal/game.js.map +1 -1
  90. package/dist/internal/order.d.ts +10 -0
  91. package/dist/internal/order.d.ts.map +1 -0
  92. package/dist/internal/order.js +122 -0
  93. package/dist/internal/order.js.map +1 -0
  94. package/dist/internal/queries.d.ts.map +1 -1
  95. package/dist/internal/queries.js +32 -10
  96. package/dist/internal/queries.js.map +1 -1
  97. package/dist/internal/requirements.d.ts +26 -0
  98. package/dist/internal/requirements.d.ts.map +1 -0
  99. package/dist/internal/requirements.js +46 -0
  100. package/dist/internal/requirements.js.map +1 -0
  101. package/package.json +1 -1
  102. package/src/Brand.ts +9 -4
  103. package/src/Clock.ts +311 -0
  104. package/src/Command.ts +407 -89
  105. package/src/Condition.ts +17 -1
  106. package/src/Debug.ts +172 -14
  107. package/src/Decode.ts +1 -1
  108. package/src/Descriptor.ts +92 -37
  109. package/src/Entity.ts +24 -5
  110. package/src/EntityScope.ts +27 -2
  111. package/src/HostClock.ts +64 -0
  112. package/src/Inspector.ts +7 -2
  113. package/src/Machine.ts +81 -37
  114. package/src/Query.ts +110 -38
  115. package/src/Runtime.ts +607 -111
  116. package/src/Schedule.ts +380 -13
  117. package/src/Schema.ts +249 -63
  118. package/src/Snapshot.ts +4 -0
  119. package/src/System.ts +248 -93
  120. package/src/index.ts +8 -7
  121. package/src/internal/cells.ts +10 -12
  122. package/src/internal/debug.ts +208 -12
  123. package/src/internal/equal.ts +31 -0
  124. package/src/internal/fragments.ts +12 -2
  125. package/src/internal/game.ts +61 -7
  126. package/src/internal/order.ts +144 -0
  127. package/src/internal/queries.ts +37 -13
  128. package/src/internal/requirements.ts +71 -0
  129. package/dist/Definition.d.ts +0 -99
  130. package/dist/Definition.d.ts.map +0 -1
  131. package/dist/Definition.js +0 -68
  132. package/dist/Definition.js.map +0 -1
  133. package/dist/Feature.d.ts +0 -106
  134. package/dist/Feature.d.ts.map +0 -1
  135. package/dist/Feature.js +0 -87
  136. package/dist/Feature.js.map +0 -1
  137. package/dist/Fx.d.ts +0 -128
  138. package/dist/Fx.d.ts.map +0 -1
  139. package/dist/Fx.js +0 -112
  140. package/dist/Fx.js.map +0 -1
  141. package/dist/internal/definition.d.ts +0 -17
  142. package/dist/internal/definition.d.ts.map +0 -1
  143. package/dist/internal/definition.js +0 -25
  144. package/dist/internal/definition.js.map +0 -1
  145. package/src/Definition.ts +0 -106
  146. package/src/Feature.ts +0 -241
  147. package/src/Fx.ts +0 -176
  148. package/src/internal/definition.ts +0 -56
@@ -1 +1 @@
1
- {"version":3,"file":"Runtime.js","sourceRoot":"","sources":["../src/Runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Runtime.js","sourceRoot":"","sources":["../src/Runtime.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@
27
27
  import type { Condition, ConditionNeedsFromConditions, StateMachine } from "./Machine.ts";
28
28
  import * as Requirement from "./Requirement.ts";
29
29
  import type { Schema } from "./Schema.ts";
30
- import type { FailureOf as SystemFailureOf, SystemDefinition, SystemFailure } from "./System.ts";
30
+ import type { FailureOf as SystemFailureOf, SystemDefinition, SystemFailure, ThisTick } from "./System.ts";
31
31
  export interface ApplyDeferredStep {
32
32
  readonly kind: "applyDeferred";
33
33
  }
@@ -37,25 +37,227 @@ export interface ApplyStateTransitionsStep<out Bundle extends TransitionBundleDe
37
37
  readonly __schemaRoot?: Root | undefined;
38
38
  }
39
39
  export type ScheduleMarkerStep = ApplyDeferredStep | ApplyStateTransitionsStep<any, any>;
40
- type AnySystem = SystemDefinition<any, any, any, any, any, any>;
40
+ type AnySystem = SystemDefinition<any, any, any, any, any>;
41
41
  export type ScheduleStep = AnySystem | ScheduleMarkerStep;
42
- export interface TransitionBundleDefinition<S extends Schema.Any = Schema.Any, out Entries extends ReadonlyArray<StateMachine.AnyTransitionSchedule<S, any>> = ReadonlyArray<StateMachine.AnyTransitionSchedule<S, any>>, out Needs extends Requirement.Requirement = Requirement.Requirement, out Root = unknown, out CarriedNeeds extends Requirement.Requirement = Needs, out Failure extends SystemFailure = never> {
42
+ /**
43
+ * What a schedule carries for `thisTick` checks: its entries in order, and
44
+ * whether any of them has a `Game.System.thisTick` read. Building a schedule
45
+ * computes only the flag; `runtime.tick(...)` walks the entries, and only
46
+ * when some read exists. Schedules never report order errors themselves.
47
+ *
48
+ * `ScheduleOrder`'s defaults claim no `thisTick` reads: `Schema.BoundSchedule`
49
+ * (an annotation) uses it, so a schedule with a read cannot be widened into
50
+ * one and lose its check. Schedule types default to `AnyScheduleOrder`, and a
51
+ * schedule whose order was erased that way fails at `tick` as "not
52
+ * statically known", never silently.
53
+ */
54
+ export interface ScheduleOrder<out Entries extends ReadonlyArray<unknown> = ReadonlyArray<unknown>, out Reads extends boolean = false> {
55
+ readonly entries: Entries;
56
+ readonly reads: Reads;
57
+ }
58
+ /** Accepts a schedule with any order summary (constraint positions only). */
59
+ export type AnyScheduleOrder = ScheduleOrder<ReadonlyArray<unknown>, boolean>;
60
+ /**
61
+ * One `thisTick` read whose writers do not all run earlier in the tick, as
62
+ * found at runtime by `tryTick` and the `this-tick-order` lint. `message` is
63
+ * the same text `runtime.tick(...)` reports at compile time.
64
+ */
65
+ export interface OrderIssue {
66
+ /**
67
+ * `lateWriter`: the writer runs after the reader. `unflushedWriter`: a
68
+ * command writer runs before a query reader with no `applyDeferred()` in
69
+ * between.
70
+ */
71
+ readonly kind: "lateWriter" | "unflushedWriter";
72
+ readonly reader: string;
73
+ /** The event or resource name, or `queries.<slot>` for a query read. */
74
+ readonly data: string;
75
+ /** The writer at fault. */
76
+ readonly writer: string;
77
+ readonly message: string;
78
+ }
79
+ /** The message reported when the order of a tick cannot be known statically. */
80
+ export type UnknownOrderError = "the order of this tick is not statically known (a schedule or tick argument spread from a widened array) and it contains Game.System.thisTick reads: list the systems and schedules as literal arguments or an `as const` tuple";
81
+ /** Plugin systems with an erased spec (`any`) take part in no order check. */
82
+ type IsErased<T> = 0 extends 1 & T ? true : false;
83
+ type SpecAccessValues<Spec> = Spec extends {
84
+ readonly events: infer Events;
85
+ readonly resources: infer Resources;
86
+ } ? Events[keyof Events] | Resources[keyof Resources] : never;
87
+ type SpecQueryValues<Spec> = Spec extends {
88
+ readonly queries: infer Queries;
89
+ } ? Queries[keyof Queries] : never;
90
+ type CarriedOrder<Entry> = "__order" extends keyof Entry ? Entry extends {
91
+ readonly __order?: (_: never) => infer Order extends AnyScheduleOrder;
92
+ } ? Order : never : never;
93
+ /** The order an entry carries: a schedule's, or the bundle of an `applyStateTransitions(...)` step. */
94
+ type OrderOf<Entry> = Entry extends {
95
+ readonly kind: "applyStateTransitions";
96
+ readonly bundle?: infer Bundle;
97
+ } ? CarriedOrder<NonNullable<Bundle>> : CarriedOrder<Entry>;
98
+ /**
99
+ * Whether one entry has a `thisTick` read: a cheap flag, computed once per
100
+ * schedule. `"unknown"` is a nested schedule whose type was widened.
101
+ */
102
+ type EntryHasReads<Entry> = Entry extends AnySystem ? IsErased<Entry["spec"]> extends true ? "no" : [Extract<SpecAccessValues<Entry["spec"]> | SpecQueryValues<Entry["spec"]>, ThisTick>] extends [never] ? "no" : "yes" : OrderOf<Entry>["reads"] extends infer Reads ? boolean extends Reads ? "unknown" : Reads extends true ? "yes" : "no" : "no";
103
+ /** `true` when some entry reads `thisTick`, `boolean` when that cannot be known. */
104
+ type HasReads<Entries extends ReadonlyArray<unknown>> = EntryHasReads<Entries[number]> extends infer Flags ? "unknown" extends Flags ? boolean : "yes" extends Flags ? true : false : false;
105
+ /** The order summary of entries run in this order. */
106
+ export type CompositionOrder<Entries extends ReadonlyArray<unknown>> = ScheduleOrder<Entries, HasReads<Entries>>;
107
+ /** An event or resource read. */
108
+ interface DataRead<Kind, Key, Reader> {
109
+ readonly kind: Kind;
110
+ readonly key: Key;
111
+ readonly reader: Reader;
112
+ }
113
+ /**
114
+ * A query read: the components its matches must have (`Required`), and every
115
+ * component it names (`Named`: selection slots, optional ones included,
116
+ * `with`, `without`, and filters).
117
+ */
118
+ interface QueryRead<Slot, Required, Named, Reader> {
119
+ readonly kind: "query";
120
+ readonly slot: Slot;
121
+ readonly required: Required;
122
+ readonly named: Named;
123
+ readonly reader: Reader;
124
+ }
125
+ type DescriptorKind<D> = D extends {
126
+ readonly kind: infer Kind;
127
+ } ? Kind : never;
128
+ type Names<D> = D extends {
129
+ readonly name: infer Name extends string;
130
+ } ? Name : never;
131
+ type DescriptorsOf<Access> = Access extends {
132
+ readonly descriptor: infer D;
133
+ } ? D : never;
134
+ /** Every system an entry runs, nested schedules and transition bundles included, as a union. */
135
+ type SystemsIn<Entry> = Entry extends AnySystem ? Entry : OrderOf<Entry> extends infer Order extends AnyScheduleOrder ? [Order] extends [never] ? never : SystemsIn<Order["entries"][number]> : never;
136
+ type QueryReadOf<Slot, Q, Reader> = Q extends {
137
+ readonly selection: infer Selection;
138
+ readonly with: infer With extends ReadonlyArray<unknown>;
139
+ readonly without: infer Without extends ReadonlyArray<unknown>;
140
+ readonly filters: infer Filters extends ReadonlyArray<unknown>;
141
+ } ? QueryRead<Slot, Names<{
142
+ readonly [K in keyof Selection]: Selection[K] extends {
143
+ readonly mode: "read" | "write";
144
+ readonly descriptor: infer D;
145
+ } ? D : never;
146
+ }[keyof Selection] | With[number]>, Names<DescriptorsOf<Selection[keyof Selection]> | With[number] | Without[number] | DescriptorsOf<Filters[number]>>, Reader> : never;
147
+ type SystemReads<Sys> = Sys extends AnySystem ? IsErased<Sys["spec"]> extends true ? never : (Extract<SpecAccessValues<Sys["spec"]>, ThisTick> extends infer Access ? Access extends {
148
+ readonly descriptor: infer D extends {
149
+ readonly name: string;
150
+ };
151
+ } ? DataRead<DescriptorKind<D>, D["name"], Sys["name"]> : never : never) | (Sys["spec"] extends {
152
+ readonly queries: infer Queries;
153
+ } ? {
154
+ readonly [K in keyof Queries]: Queries[K] extends ThisTick ? QueryReadOf<K, Queries[K], Sys["name"]> : never;
155
+ }[keyof Queries] : never) : never;
156
+ /** Names of the systems among `Systems` that write `Key` (other than `Reader`). */
157
+ type WritersOf<Systems, Kind, Key, Reader> = Systems extends AnySystem ? IsErased<Systems["spec"]> extends true ? never : Systems["name"] extends Reader ? never : [Extract<SpecAccessValues<Systems["spec"]>, {
158
+ readonly mode: "write";
159
+ readonly descriptor: {
160
+ readonly kind: Kind;
161
+ readonly name: Key;
162
+ };
163
+ }>] extends [never] ? never : Systems["name"] : never;
164
+ /**
165
+ * Whether declared command permissions can change what a query read sees:
166
+ * `spawns` covering every component it requires, or `inserts` / `removes` of
167
+ * any component it names. `despawns` never count.
168
+ */
169
+ type CommandsCount<Commands, Required, Named> = CommandNames<Commands> extends readonly [infer Spawns, infer Changes] ? [Extract<Changes, Named>] extends [never] ? [Spawns] extends [never] ? false : [Exclude<Required, Spawns>] extends [never] ? true : false : true : false;
170
+ /** The component names a system may spawn, and may insert or remove: computed once per system, shared by every read. */
171
+ type CommandNames<Commands> = Commands extends {
172
+ readonly __permissions?: (_: never) => readonly [infer Spawns, infer Inserts, infer Removes, ...Array<unknown>];
173
+ } ? readonly [Names<Spawns>, Names<Inserts | Removes>] : readonly [never, never];
174
+ /** Names of the systems among `Systems` whose commands count for a query read (other than its reader). */
175
+ type CommandWritersOf<Systems, Required, Named, Reader> = Systems extends AnySystem ? IsErased<Systems["spec"]> extends true ? never : Systems["name"] extends Reader ? never : Systems["spec"] extends {
176
+ readonly commands: infer Commands;
177
+ } ? CommandsCount<Commands, Required, Named> extends true ? Systems["name"] : never : never : never;
178
+ type WritersFor<Systems, R> = R extends QueryRead<any, infer Required, infer Named, infer Reader> ? CommandWritersOf<Systems, Required, Named, Reader> : R extends DataRead<infer Kind, infer Key, infer Reader> ? WritersOf<Systems, Kind, Key, Reader> : never;
179
+ /**
180
+ * Some level of the entries is a widened array that may contain a read.
181
+ * `MayRead` is the flag carried by the schedule holding them: a widened array
182
+ * no longer shows its elements, so the flag decides (`boolean`: unknown).
183
+ */
184
+ type UnknownIn<Entries extends ReadonlyArray<unknown>, MayRead extends boolean> = Entries extends unknown ? UnknownInOne<Entries, MayRead> : never;
185
+ type UnknownInOne<Entries extends ReadonlyArray<unknown>, MayRead extends boolean> = number extends Entries["length"] ? [MayRead] extends [false] ? never : UnknownOrderError : NestedOrders<Entries[number]> extends infer Order ? Order extends AnyScheduleOrder ? UnknownIn<Order["entries"], Order["reads"]> : never : never;
186
+ type NestedOrders<Entry> = Entry extends AnySystem ? never : OrderOf<Entry>;
187
+ type NestedEntries<Entry> = Entry extends AnySystem ? never : OrderOf<Entry> extends infer Order extends AnyScheduleOrder ? [Order] extends [never] ? never : Order["entries"] : never;
188
+ type TupleOf<Length extends number, Out extends Array<unknown> = []> = Out["length"] extends Length ? Out : TupleOf<Length, [...Out, unknown]>;
189
+ /** Literal names of the systems an entry runs; erased (`string`) names identify no one. */
190
+ type NamesIn<Entry> = SystemsIn<Entry> extends infer Sys ? Sys extends AnySystem ? (string extends Sys["name"] ? never : Sys["name"]) : never : never;
191
+ /** Indices (as numbers) of the entries that run the reader. */
192
+ type ReaderIndices<Entries extends ReadonlyArray<unknown>, Reader> = {
193
+ readonly [I in keyof Entries]: Reader extends NamesIn<Entries[I]> ? I : never;
194
+ }[number] extends infer Index ? Index extends `${infer N extends number}` ? N : never : never;
195
+ type LateWriterError<R, Writer> = Writer extends string ? R extends QueryRead<infer Slot extends string, any, any, infer Reader extends string> ? `${Writer} queues commands that ${Reader} needs this tick (queries.${Slot}), but it runs after ${Reader}: move ${Writer} before the applyDeferred() that precedes ${Reader}, or read queries.${Slot} without thisTick` : R extends DataRead<any, infer Key extends string, infer Reader extends string> ? `${Reader} needs ${Key} from this tick, but its writer ${Writer} runs after it: move ${Writer} before ${Reader}, or read ${Key} without thisTick` : never : never;
196
+ type UnflushedWriterError<R, Writer> = Writer extends string ? R extends QueryRead<infer Slot extends string, any, any, infer Reader extends string> ? `${Reader} needs this tick's commands for queries.${Slot}, but ${Writer} queues them with no applyDeferred() in between: add Game.Schedule.applyDeferred() after ${Writer}` : never : never;
197
+ /** Writers of the read's data that run after its reader, at this level and inside the reader's own entry. */
198
+ type LateWriters<Entries, R, Reader extends string> = Entries extends ReadonlyArray<unknown> ? LateWritersAt<Entries, ReaderIndices<Entries, Reader>, R, Reader> : never;
199
+ type LateWritersAt<Entries extends ReadonlyArray<unknown>, Index, R, Reader extends string> = Index extends number ? Entries extends readonly [...TupleOf<Index>, infer At, ...infer Rest] ? LateWriterError<R, WritersFor<SystemsIn<Rest[number]>, R>> | LateWriters<NestedEntries<At>, R, Reader> : never : never;
200
+ /**
201
+ * The systems that run between the last marker and the reader (their commands
202
+ * are still queued when it runs), and whether a marker was found:
203
+ * `[Systems, Flushed]`, one per place the reader runs.
204
+ */
205
+ type Segment<Entries, Reader> = Entries extends ReadonlyArray<unknown> ? SegmentAt<Entries, ReaderIndices<Entries, Reader>, Reader> : never;
206
+ type SegmentAt<Entries extends ReadonlyArray<unknown>, Index, Reader> = Index extends number ? InnerSegment<Entries[Index], Reader> extends readonly [infer Inner, infer Flushed] ? Flushed extends true ? readonly [Inner, true] : TailBefore<Entries, TupleOf<Index>> extends readonly [infer Outer, infer OuterFlushed] ? readonly [Inner | Outer, OuterFlushed] : never : never : never;
207
+ /**
208
+ * `TailSegment` of the entries before a position, walking back by index
209
+ * (`Count` holds one element per entry still to visit).
210
+ */
211
+ type TailBefore<Entries extends ReadonlyArray<unknown>, Count extends ReadonlyArray<unknown>, Acc = never> = Count extends readonly [unknown, ...infer Rest] ? Entries[Rest["length"]] extends infer Last ? Last extends ApplyDeferredStep ? readonly [Acc, true] : Last extends AnySystem ? TailBefore<Entries, Rest, Acc | Last> : Last extends {
212
+ readonly kind: "applyStateTransitions";
213
+ } ? TailSegment<NestedEntries<Last>> extends readonly [infer Inner, any] ? readonly [Acc | Inner, true] : readonly [Acc, true] : TailSegment<NestedEntries<Last>> extends readonly [infer Inner, infer Flushed] ? Flushed extends true ? readonly [Acc | Inner, true] : TailBefore<Entries, Rest, Acc | Inner> : TailBefore<Entries, Rest, Acc> : never : readonly [Acc, false];
214
+ /** The segment inside the entry that runs the reader: none for the reader itself; a transition step flushes first. */
215
+ type InnerSegment<At, Reader> = At extends AnySystem ? readonly [never, false] : At extends {
216
+ readonly kind: "applyStateTransitions";
217
+ } ? Segment<NestedEntries<At>, Reader> extends readonly [infer Inner, any] ? readonly [Inner, true] : readonly [never, true] : Segment<NestedEntries<At>, Reader>;
218
+ /** The systems after the last marker of `Entries` (walking back from the end), and whether a marker was found. */
219
+ type TailSegment<Entries, Acc = never> = Entries extends readonly [...infer Init, infer Last] ? Last extends ApplyDeferredStep ? readonly [Acc, true] : Last extends AnySystem ? TailSegment<Init, Acc | Last> : Last extends {
220
+ readonly kind: "applyStateTransitions";
221
+ } ? TailSegment<NestedEntries<Last>> extends readonly [infer Inner, any] ? readonly [Acc | Inner, true] : readonly [Acc, true] : TailSegment<NestedEntries<Last>> extends readonly [infer Inner, infer Flushed] ? Flushed extends true ? readonly [Acc | Inner, true] : TailSegment<Init, Acc | Inner> : TailSegment<Init, Acc> : readonly [Acc, false];
222
+ type UnflushedWriters<Entries, R, Reader extends string> = R extends QueryRead<any, any, any, any> ? Segment<Entries, Reader> extends infer Found ? Found extends readonly [infer Systems, any] ? UnflushedWriterError<R, WritersFor<Systems, R>> : never : never : never;
223
+ type ReadErrors<Entries extends ReadonlyArray<unknown>, Reads> = Reads extends {
224
+ readonly reader: infer Reader extends string;
225
+ } ? LateWriters<Entries, Reads, Reader> | UnflushedWriters<Entries, Reads, Reader> : never;
226
+ type CheckTick<Schedules extends ReadonlyArray<unknown>> = [
227
+ UnknownIn<Schedules, HasReads<Schedules>>
228
+ ] extends [never] ? ReadErrors<Schedules, SystemReads<SystemsIn<Schedules[number]>>> : UnknownOrderError;
229
+ /**
230
+ * Every `thisTick` error of one `runtime.tick(...)` call over its arguments
231
+ * in order: writers that run after their reader, command writers with no
232
+ * `applyDeferred()` before a query reader, and a call whose order is not
233
+ * statically known. Free when nothing has a read.
234
+ */
235
+ export type TickOrderErrors<Schedules extends ReadonlyArray<unknown>> = HasReads<Schedules> extends false ? never : CheckTick<Schedules>;
236
+ export interface TransitionBundleDefinition<S extends Schema.Any = Schema.Any, out Entries extends ReadonlyArray<StateMachine.AnyTransitionSchedule<S, any>> = ReadonlyArray<StateMachine.AnyTransitionSchedule<S, any>>, out Needs extends Requirement.Requirement = Requirement.Requirement, out Root = unknown, out CarriedNeeds extends Requirement.Requirement = Needs, out Failure extends SystemFailure = never, out Order extends AnyScheduleOrder = AnyScheduleOrder> {
43
237
  readonly kind: "transitionBundle";
44
238
  readonly entries: Entries;
45
239
  readonly requirements: ReadonlyArray<CarriedNeeds>;
46
240
  readonly __failure?: (_: never) => Failure;
241
+ /**
242
+ * The bundle's schedules in order, for `Game.System.thisTick` checks: they
243
+ * count at the position of the `applyStateTransitions(...)` step that
244
+ * applies the bundle, as if every one of them runs.
245
+ */
246
+ readonly __order?: (_: never) => Order;
47
247
  readonly __schemaRoot?: Root | undefined;
48
248
  }
49
- export interface ExecutableScheduleDefinition<S extends Schema.Any, out Needs extends Requirement.Requirement = Requirement.Requirement, out Root = unknown, out CarriedNeeds extends Requirement.Requirement = Needs, out Failure extends SystemFailure = never> {
249
+ export interface ExecutableScheduleDefinition<S extends Schema.Any, out Needs extends Requirement.Requirement = Requirement.Requirement, out Root = unknown, out CarriedNeeds extends Requirement.Requirement = Needs, out Failure extends SystemFailure = never, out Order extends AnyScheduleOrder = AnyScheduleOrder> {
50
250
  readonly kind: "schedule";
51
251
  readonly steps: ReadonlyArray<ScheduleStep>;
52
252
  readonly systems: ReadonlyArray<AnySystem>;
53
253
  readonly schema: S;
54
254
  readonly requirements: ReadonlyArray<CarriedNeeds>;
55
255
  readonly __failure?: (_: never) => Failure;
256
+ /** Writes, `thisTick` reads, and order errors, checked by `runtime.tick(...)`. */
257
+ readonly __order?: (_: never) => Order;
56
258
  readonly __schemaRoot?: Root | undefined;
57
259
  }
58
- export type ScheduleDefinition<S extends Schema.Any, Needs extends Requirement.Requirement = Requirement.Requirement, Root = unknown, CarriedNeeds extends Requirement.Requirement = Needs, Failure extends SystemFailure = never> = ExecutableScheduleDefinition<S, Needs, Root, CarriedNeeds, Failure>;
260
+ export type ScheduleDefinition<S extends Schema.Any, Needs extends Requirement.Requirement = Requirement.Requirement, Root = unknown, CarriedNeeds extends Requirement.Requirement = Needs, Failure extends SystemFailure = never, Order extends AnyScheduleOrder = AnyScheduleOrder> = ExecutableScheduleDefinition<S, Needs, Root, CarriedNeeds, Failure, Order>;
59
261
  export declare namespace Schedule {
60
262
  type Definition<S extends Schema.Any, Needs extends Requirement.Requirement = Requirement.Requirement, Root = unknown, CarriedNeeds extends Requirement.Requirement = Needs, Failure extends SystemFailure = never> = ScheduleDefinition<S, Needs, Root, CarriedNeeds, Failure>;
61
263
  type Step = ScheduleStep;
@@ -65,10 +267,10 @@ export declare namespace Schedule {
65
267
  * Anything a schedule can contain: systems, marker steps, and other schedules
66
268
  * (which are flattened in place).
67
269
  */
68
- export type ScheduleEntry = ScheduleStep | ScheduleDefinition<any, any, any, any, any>;
270
+ export type ScheduleEntry = ScheduleStep | ScheduleDefinition<any, any, any, any, any, AnyScheduleOrder>;
69
271
  type EntrySchema<Entry> = Entry extends {
70
272
  readonly schema: infer S extends Schema.Any;
71
- } ? S : Entry extends SystemDefinition<infer Spec, any, any, any, any, any> ? Spec["schema"] : never;
273
+ } ? S : Entry extends SystemDefinition<infer Spec, any, any, any, any> ? Spec["schema"] : never;
72
274
  type MarkerNeeds<Step> = Step extends ApplyStateTransitionsStep<infer Bundle, any> ? Requirement.Of<NonNullable<Bundle>> : never;
73
275
  type EntryNeeds<Entry> = Requirement.Of<Entry> | MarkerNeeds<Entry>;
74
276
  type CarriedFailure<Entry> = "__failure" extends keyof Entry ? Entry extends {
@@ -82,12 +284,12 @@ export type EntryFailure<Entry> = Entry extends AnySystem ? SystemFailureOf<Entr
82
284
  /** Failure union for one authored schedule plan. */
83
285
  export type CompositionFailure<Entries extends ReadonlyArray<ScheduleEntry>> = EntryFailure<Entries[number]>;
84
286
  export type CompositionExactRequirements<Entries extends ReadonlyArray<ScheduleEntry>> = EntryNeeds<Entries[number]>;
85
- export type AnonymousScheduleBuildFor<S extends Schema.Any, Entries extends ReadonlyArray<ScheduleEntry>, Root = unknown> = ScheduleDefinition<S, CompositionExactRequirements<Entries>, Root, CompositionExactRequirements<Entries>, CompositionFailure<Entries>>;
287
+ export type AnonymousScheduleBuildFor<S extends Schema.Any, Entries extends ReadonlyArray<ScheduleEntry>, Root = unknown> = ScheduleDefinition<S, CompositionExactRequirements<Entries>, Root, CompositionExactRequirements<Entries>, CompositionFailure<Entries>, CompositionOrder<Entries>>;
86
288
  /**
87
289
  * The schedule built by `when(conditions, ...entries)`: the entries' needs
88
290
  * plus the machines the conditions read.
89
291
  */
90
- export type ConditionalScheduleBuildFor<S extends Schema.Any, Conditions extends ReadonlyArray<Condition>, Entries extends ReadonlyArray<ScheduleEntry>, Root = unknown> = ScheduleDefinition<S, CompositionExactRequirements<Entries> | ConditionNeedsFromConditions<Conditions>, Root, CompositionExactRequirements<Entries> | ConditionNeedsFromConditions<Conditions>, CompositionFailure<Entries>>;
292
+ export type ConditionalScheduleBuildFor<S extends Schema.Any, Conditions extends ReadonlyArray<Condition>, Entries extends ReadonlyArray<ScheduleEntry>, Root = unknown> = ScheduleDefinition<S, CompositionExactRequirements<Entries> | ConditionNeedsFromConditions<Conditions>, Root, CompositionExactRequirements<Entries> | ConditionNeedsFromConditions<Conditions>, CompositionFailure<Entries>, CompositionOrder<Entries>>;
91
293
  export type TransitionBundleInput<S extends Schema.Any = Schema.Any, Root = unknown> = StateMachine.AnyTransitionSchedule<S, Root> | TransitionBundleDefinition<S, ReadonlyArray<StateMachine.AnyTransitionSchedule<S, Root>>, any, Root, any, any>;
92
294
  type FlattenTransitionEntry<Entry> = Entry extends TransitionBundleDefinition<any, infer InnerEntries, any, any, any, any> ? InnerEntries[number] : Extract<Entry, StateMachine.AnyTransitionSchedule<any, any>>;
93
295
  export type FlattenTransitionEntries<Entries extends ReadonlyArray<TransitionBundleInput<any, any>>> = ReadonlyArray<FlattenTransitionEntry<Entries[number]>>;
@@ -98,7 +300,7 @@ export type TransitionBundleFailure<Entries extends ReadonlyArray<StateMachine.A
98
300
  * schedule runs.
99
301
  */
100
302
  export declare const applyDeferred: () => ApplyDeferredStep;
101
- export declare const transitions: <S extends Schema.Any, const Entries extends ReadonlyArray<TransitionBundleInput<S, any>>>(...entries: Entries) => TransitionBundleDefinition<S, FlattenTransitionEntries<Entries>, TransitionBundleRequirements<FlattenTransitionEntries<Entries>>, unknown, TransitionBundleRequirements<FlattenTransitionEntries<Entries>>, TransitionBundleFailure<FlattenTransitionEntries<Entries>>>;
303
+ export declare const transitions: <S extends Schema.Any, const Entries extends ReadonlyArray<TransitionBundleInput<S, any>>>(...entries: Entries) => TransitionBundleDefinition<S, FlattenTransitionEntries<Entries>, TransitionBundleRequirements<FlattenTransitionEntries<Entries>>, unknown, TransitionBundleRequirements<FlattenTransitionEntries<Entries>>, TransitionBundleFailure<FlattenTransitionEntries<Entries>>, CompositionOrder<Entries>>;
102
304
  export declare const applyStateTransitions: <const Bundle extends TransitionBundleDefinition<any, any, any, any, any, any> | undefined = undefined>(bundle?: Bundle) => ApplyStateTransitionsStep<Bundle>;
103
305
  /**
104
306
  * Builds one schedule from systems, marker steps, and nested schedules.
@@ -119,6 +321,11 @@ export declare const make: <S extends Schema.Any, const Entries extends Readonly
119
321
  * system's `when`, for gating many systems on one mode (playing, paused,
120
322
  * a hit-stop) without repeating it on each.
121
323
  *
324
+ * Use this when the gated systems should drop the events published while
325
+ * they were gated (a mode change makes them stale). Use `pauseWhen` instead
326
+ * when they must read that backlog on resume (hit-stop, pause menu). For one
327
+ * system, put the same conditions in its spec's `when` / `pauseWhen`.
328
+ *
122
329
  * Conditions gate every system in `entries`, nested schedules included.
123
330
  * Marker steps (`applyDeferred`, `applyStateTransitions`) in the group still
124
331
  * run. A gated system is the same system as far as the runtime is concerned: