@typeonce/ritmo 0.6.0 → 0.7.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/README.md +2 -0
- package/dist/Brand.d.ts +9 -4
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +9 -4
- package/dist/Brand.js.map +1 -1
- package/dist/Clock.d.ts +186 -0
- package/dist/Clock.d.ts.map +1 -0
- package/dist/Clock.js +111 -0
- package/dist/Clock.js.map +1 -0
- package/dist/Command.d.ts +157 -33
- package/dist/Command.d.ts.map +1 -1
- package/dist/Command.js +49 -15
- package/dist/Command.js.map +1 -1
- package/dist/Debug.d.ts +104 -12
- package/dist/Debug.d.ts.map +1 -1
- package/dist/Debug.js.map +1 -1
- package/dist/Decode.d.ts +1 -1
- package/dist/Decode.js +1 -1
- package/dist/Descriptor.d.ts +31 -21
- package/dist/Descriptor.d.ts.map +1 -1
- package/dist/Descriptor.js +21 -12
- package/dist/Descriptor.js.map +1 -1
- package/dist/Entity.d.ts +14 -5
- package/dist/Entity.d.ts.map +1 -1
- package/dist/Entity.js +2 -2
- package/dist/Entity.js.map +1 -1
- package/dist/EntityScope.d.ts +6 -0
- package/dist/EntityScope.d.ts.map +1 -1
- package/dist/EntityScope.js +6 -0
- package/dist/EntityScope.js.map +1 -1
- package/dist/HostClock.d.ts +49 -0
- package/dist/HostClock.d.ts.map +1 -0
- package/dist/HostClock.js +46 -0
- package/dist/HostClock.js.map +1 -0
- package/dist/Inspector.d.ts +7 -1
- package/dist/Inspector.d.ts.map +1 -1
- package/dist/Inspector.js.map +1 -1
- package/dist/Machine.d.ts +12 -3
- package/dist/Machine.d.ts.map +1 -1
- package/dist/Machine.js +4 -1
- package/dist/Machine.js.map +1 -1
- package/dist/Query.d.ts +28 -24
- package/dist/Query.d.ts.map +1 -1
- package/dist/Query.js +0 -24
- package/dist/Query.js.map +1 -1
- package/dist/Runtime.d.ts +36 -16
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +230 -67
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +217 -10
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +5 -0
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +61 -25
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +0 -8
- package/dist/Schema.js.map +1 -1
- package/dist/System.d.ts +149 -52
- package/dist/System.d.ts.map +1 -1
- package/dist/System.js +52 -6
- package/dist/System.js.map +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/internal/cells.d.ts +3 -3
- package/dist/internal/cells.d.ts.map +1 -1
- package/dist/internal/cells.js +9 -11
- package/dist/internal/cells.js.map +1 -1
- package/dist/internal/debug.d.ts +6 -0
- package/dist/internal/debug.d.ts.map +1 -1
- package/dist/internal/debug.js +95 -1
- package/dist/internal/debug.js.map +1 -1
- package/dist/internal/game.d.ts.map +1 -1
- package/dist/internal/game.js +9 -2
- package/dist/internal/game.js.map +1 -1
- package/dist/internal/order.d.ts +10 -0
- package/dist/internal/order.d.ts.map +1 -0
- package/dist/internal/order.js +120 -0
- package/dist/internal/order.js.map +1 -0
- package/dist/internal/queries.js +2 -2
- package/dist/internal/queries.js.map +1 -1
- package/package.json +1 -1
- package/src/Brand.ts +9 -4
- package/src/Clock.ts +311 -0
- package/src/Command.ts +271 -73
- package/src/Debug.ts +111 -10
- package/src/Decode.ts +1 -1
- package/src/Descriptor.ts +37 -27
- package/src/Entity.ts +15 -5
- package/src/EntityScope.ts +6 -0
- package/src/HostClock.ts +64 -0
- package/src/Inspector.ts +7 -2
- package/src/Machine.ts +13 -3
- package/src/Query.ts +41 -33
- package/src/Runtime.ts +273 -91
- package/src/Schedule.ts +380 -13
- package/src/Schema.ts +70 -41
- package/src/System.ts +174 -88
- package/src/index.ts +8 -7
- package/src/internal/cells.ts +10 -12
- package/src/internal/debug.ts +104 -4
- package/src/internal/game.ts +11 -3
- package/src/internal/order.ts +140 -0
- package/src/internal/queries.ts +3 -3
- package/dist/Definition.d.ts +0 -99
- package/dist/Definition.d.ts.map +0 -1
- package/dist/Definition.js +0 -68
- package/dist/Definition.js.map +0 -1
- package/dist/Feature.d.ts +0 -106
- package/dist/Feature.d.ts.map +0 -1
- package/dist/Feature.js +0 -87
- package/dist/Feature.js.map +0 -1
- package/dist/Fx.d.ts +0 -128
- package/dist/Fx.d.ts.map +0 -1
- package/dist/Fx.js +0 -112
- package/dist/Fx.js.map +0 -1
- package/dist/internal/definition.d.ts +0 -17
- package/dist/internal/definition.d.ts.map +0 -1
- package/dist/internal/definition.js +0 -25
- package/dist/internal/definition.js.map +0 -1
- package/src/Definition.ts +0 -106
- package/src/Feature.ts +0 -241
- package/src/Fx.ts +0 -176
- package/src/internal/definition.ts +0 -56
package/dist/Runtime.js.map
CHANGED
|
@@ -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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"}
|
package/dist/Schedule.d.ts
CHANGED
|
@@ -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
|
|
40
|
+
type AnySystem = SystemDefinition<any, any, any, any, any>;
|
|
41
41
|
export type ScheduleStep = AnySystem | ScheduleMarkerStep;
|
|
42
|
-
|
|
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
|
|
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:
|