@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.
- 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 +250 -41
- package/dist/Command.d.ts.map +1 -1
- package/dist/Command.js +59 -23
- package/dist/Command.js.map +1 -1
- package/dist/Condition.d.ts +12 -1
- package/dist/Condition.d.ts.map +1 -1
- package/dist/Condition.js.map +1 -1
- package/dist/Debug.d.ts +163 -15
- 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 +67 -24
- package/dist/Descriptor.d.ts.map +1 -1
- package/dist/Descriptor.js +32 -15
- package/dist/Descriptor.js.map +1 -1
- package/dist/Entity.d.ts +22 -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 +26 -1
- package/dist/EntityScope.d.ts.map +1 -1
- package/dist/EntityScope.js +14 -2
- 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 +67 -36
- package/dist/Machine.d.ts.map +1 -1
- package/dist/Machine.js +10 -3
- package/dist/Machine.js.map +1 -1
- package/dist/Query.d.ts +74 -26
- package/dist/Query.d.ts.map +1 -1
- package/dist/Query.js +32 -28
- package/dist/Query.js.map +1 -1
- package/dist/Runtime.d.ts +39 -16
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +556 -87
- 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 +196 -44
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +29 -11
- package/dist/Schema.js.map +1 -1
- package/dist/Snapshot.d.ts +14 -0
- package/dist/Snapshot.d.ts.map +1 -1
- package/dist/Snapshot.js.map +1 -1
- package/dist/System.d.ts +212 -58
- package/dist/System.d.ts.map +1 -1
- package/dist/System.js +84 -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 +13 -0
- package/dist/internal/debug.d.ts.map +1 -1
- package/dist/internal/debug.js +192 -7
- package/dist/internal/debug.js.map +1 -1
- package/dist/internal/equal.d.ts +8 -0
- package/dist/internal/equal.d.ts.map +1 -0
- package/dist/internal/equal.js +38 -0
- package/dist/internal/equal.js.map +1 -0
- package/dist/internal/fragments.d.ts.map +1 -1
- package/dist/internal/fragments.js +11 -1
- package/dist/internal/fragments.js.map +1 -1
- package/dist/internal/game.d.ts.map +1 -1
- package/dist/internal/game.js +41 -6
- 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 +122 -0
- package/dist/internal/order.js.map +1 -0
- package/dist/internal/queries.d.ts.map +1 -1
- package/dist/internal/queries.js +32 -10
- package/dist/internal/queries.js.map +1 -1
- package/dist/internal/requirements.d.ts +26 -0
- package/dist/internal/requirements.d.ts.map +1 -0
- package/dist/internal/requirements.js +46 -0
- package/dist/internal/requirements.js.map +1 -0
- package/package.json +1 -1
- package/src/Brand.ts +9 -4
- package/src/Clock.ts +311 -0
- package/src/Command.ts +407 -89
- package/src/Condition.ts +17 -1
- package/src/Debug.ts +172 -14
- package/src/Decode.ts +1 -1
- package/src/Descriptor.ts +92 -37
- package/src/Entity.ts +24 -5
- package/src/EntityScope.ts +27 -2
- package/src/HostClock.ts +64 -0
- package/src/Inspector.ts +7 -2
- package/src/Machine.ts +81 -37
- package/src/Query.ts +110 -38
- package/src/Runtime.ts +607 -111
- package/src/Schedule.ts +380 -13
- package/src/Schema.ts +249 -63
- package/src/Snapshot.ts +4 -0
- package/src/System.ts +248 -93
- package/src/index.ts +8 -7
- package/src/internal/cells.ts +10 -12
- package/src/internal/debug.ts +208 -12
- package/src/internal/equal.ts +31 -0
- package/src/internal/fragments.ts +12 -2
- package/src/internal/game.ts +61 -7
- package/src/internal/order.ts +144 -0
- package/src/internal/queries.ts +37 -13
- package/src/internal/requirements.ts +71 -0
- 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/Schedule.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schedule.d.ts","sourceRoot":"","sources":["../src/Schedule.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Schedule.d.ts","sourceRoot":"","sources":["../src/Schedule.ts"],"names":[],"mappings":"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"}
|
package/dist/Schedule.js
CHANGED
|
@@ -48,6 +48,11 @@ export const make = (schema, entries) => {
|
|
|
48
48
|
* system's `when`, for gating many systems on one mode (playing, paused,
|
|
49
49
|
* a hit-stop) without repeating it on each.
|
|
50
50
|
*
|
|
51
|
+
* Use this when the gated systems should drop the events published while
|
|
52
|
+
* they were gated (a mode change makes them stale). Use `pauseWhen` instead
|
|
53
|
+
* when they must read that backlog on resume (hit-stop, pause menu). For one
|
|
54
|
+
* system, put the same conditions in its spec's `when` / `pauseWhen`.
|
|
55
|
+
*
|
|
51
56
|
* Conditions gate every system in `entries`, nested schedules included.
|
|
52
57
|
* Marker steps (`applyDeferred`, `applyStateTransitions`) in the group still
|
|
53
58
|
* run. A gated system is the same system as far as the runtime is concerned:
|
package/dist/Schedule.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schedule.js","sourceRoot":"","sources":["../src/Schedule.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"Schedule.js","sourceRoot":"","sources":["../src/Schedule.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema.d.ts
CHANGED
|
@@ -13,8 +13,11 @@
|
|
|
13
13
|
* 3. bind one `Game` with `Schema.bind(...)`
|
|
14
14
|
* 4. build a runtime from that bound `Game`
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* There is no plugin or feature object. A reusable slice of a game is a
|
|
17
|
+
* fragment (its descriptors) plus plain functions `(Game, options) => System |
|
|
18
|
+
* Schedule` that build its systems from the bound `Game`, like
|
|
19
|
+
* `RenderSync.system(Game, ...)` and `InputCapture.system(Game, ...)`. List
|
|
20
|
+
* every fragment in one `Schema.bind(...)` call.
|
|
18
21
|
*
|
|
19
22
|
* @module Schema
|
|
20
23
|
* @docGroup core
|
|
@@ -62,21 +65,67 @@ import type * as Debug from "./Debug.ts";
|
|
|
62
65
|
import type * as Runtime from "./Runtime.ts";
|
|
63
66
|
import type * as Schedule from "./Schedule.ts";
|
|
64
67
|
import type * as System from "./System.ts";
|
|
65
|
-
export { Feature } from "./Feature.ts";
|
|
66
68
|
/**
|
|
67
69
|
* A mapping from schema keys to nominal descriptors.
|
|
68
70
|
*/
|
|
69
71
|
export type Registry = Record<string, Descriptor.Any>;
|
|
70
72
|
/**
|
|
71
73
|
* A closed schema: the components, resources, events, and relations a world
|
|
72
|
-
* may contain.
|
|
74
|
+
* may contain, and the component requirements (`Schema.requires`) every
|
|
75
|
+
* entity of it keeps.
|
|
73
76
|
*/
|
|
74
|
-
export interface SchemaDefinition<out Components extends Registry = {}, out Resources extends Registry = {}, out Events extends Registry = {}, out Relations extends Record<string, Relation.Relation.Any> = {}> {
|
|
77
|
+
export interface SchemaDefinition<out Components extends Registry = {}, out Resources extends Registry = {}, out Events extends Registry = {}, out Relations extends Record<string, Relation.Relation.Any> = {}, out Requires extends RequirementPair = never> {
|
|
75
78
|
readonly components: Components;
|
|
76
79
|
readonly resources: Resources;
|
|
77
80
|
readonly events: Events;
|
|
78
81
|
readonly relations: Relations;
|
|
82
|
+
/** Component requirements declared with `Schema.requires(...)`. */
|
|
83
|
+
readonly requires: ReadonlyArray<ComponentRequirement<Requires>>;
|
|
79
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* One requirement carried in a schema type, by component name:
|
|
87
|
+
* `[requirer, required]`. One pair per required component, so lookups by
|
|
88
|
+
* either end stay exact.
|
|
89
|
+
*/
|
|
90
|
+
export type RequirementPair = readonly [string, string];
|
|
91
|
+
/**
|
|
92
|
+
* One `Schema.requires(...)` declaration: every entity holding `component`
|
|
93
|
+
* also holds each of `required`.
|
|
94
|
+
*/
|
|
95
|
+
export interface ComponentRequirement<out Pairs extends RequirementPair = RequirementPair> {
|
|
96
|
+
readonly kind: "requires";
|
|
97
|
+
readonly component: Descriptor<"component", string, any>;
|
|
98
|
+
readonly required: ReadonlyArray<Descriptor<"component", string, any>>;
|
|
99
|
+
readonly __pairs?: (_: never) => Pairs;
|
|
100
|
+
}
|
|
101
|
+
type AnyComponentDescriptor = Descriptor<"component", string, any>;
|
|
102
|
+
/** One `[from, to]` pair per required name. */
|
|
103
|
+
type RequirementPairs<From extends string, To extends string> = To extends string ? readonly [From, To] : never;
|
|
104
|
+
type PairsOf<R> = R extends ComponentRequirement<infer Pairs> ? Pairs : never;
|
|
105
|
+
/**
|
|
106
|
+
* Declares that every entity holding `component` also holds each of
|
|
107
|
+
* `required`. List it in a fragment's `requires`.
|
|
108
|
+
*
|
|
109
|
+
* The compiler then rejects every command that would break it:
|
|
110
|
+
* `commands.spawn` / `spawnIn` of a draft missing a required entry,
|
|
111
|
+
* `commands.insert` of `component` on an entity not proven to hold the
|
|
112
|
+
* rest, and `commands.remove` of a required component while a requirer may
|
|
113
|
+
* stay. `Game.System.spawns(component)` also allows spawning what it
|
|
114
|
+
* requires. Nothing is ever filled in with a default: the draft must carry
|
|
115
|
+
* every value.
|
|
116
|
+
*
|
|
117
|
+
* Requirements chain (`A` requires `B`, `B` requires `C`) and may name
|
|
118
|
+
* components of other fragments of the same `Schema.bind`.
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```ts
|
|
122
|
+
* const Gameplay = Schema.fragment({
|
|
123
|
+
* components: { Player, Position, Velocity },
|
|
124
|
+
* requires: [Schema.requires(Player, Position, Velocity)]
|
|
125
|
+
* })
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
export declare const requires: <D extends AnyComponentDescriptor, const Required extends readonly [AnyComponentDescriptor, ...Array<AnyComponentDescriptor>]>(component: D, ...required: Required) => ComponentRequirement<RequirementPairs<D["name"], Required[number]["name"]>>;
|
|
80
129
|
declare const schemaRootTypeId: "~ritmo/SchemaRoot";
|
|
81
130
|
export type RootToken<Name extends string = string> = {
|
|
82
131
|
readonly kind: "SchemaRoot";
|
|
@@ -85,7 +134,7 @@ export type RootToken<Name extends string = string> = {
|
|
|
85
134
|
readonly _Name: (_: never) => Name;
|
|
86
135
|
};
|
|
87
136
|
};
|
|
88
|
-
export type MergeSchemaDefinitions<A extends Schema.Any, B extends Schema.Any> = SchemaDefinition<Schema.Components<A> & Schema.Components<B>, Schema.Resources<A> & Schema.Resources<B>, Schema.Events<A> & Schema.Events<B>, Schema.Relations<A> & Schema.Relations<B>>;
|
|
137
|
+
export type MergeSchemaDefinitions<A extends Schema.Any, B extends Schema.Any> = SchemaDefinition<Schema.Components<A> & Schema.Components<B>, Schema.Resources<A> & Schema.Resources<B>, Schema.Events<A> & Schema.Events<B>, Schema.Relations<A> & Schema.Relations<B>, Schema.Requires<A> | Schema.Requires<B>>;
|
|
89
138
|
/**
|
|
90
139
|
* Type-level fold for fragment composition.
|
|
91
140
|
*/
|
|
@@ -133,6 +182,18 @@ export type ValidateFragments<Fragments extends ReadonlyArray<Schema.Any>> = [
|
|
|
133
182
|
] extends [never] ? unknown : {
|
|
134
183
|
readonly __schemaConflicts__: FragmentConflicts<Fragments>;
|
|
135
184
|
};
|
|
185
|
+
type UnregisteredRequirements<S extends Schema.Any> = Exclude<Schema.Requires<S>[0] | Schema.Requires<S>[1], Schema.ComponentDescriptor<S>["name"]>;
|
|
186
|
+
/**
|
|
187
|
+
* Rejects requirements naming a component the bound schema does not
|
|
188
|
+
* register. Checked at `bind`, so a fragment may require a component another
|
|
189
|
+
* fragment registers. Erased schemas (`Schema.Any`) are checked by `bind` at
|
|
190
|
+
* runtime instead.
|
|
191
|
+
*/
|
|
192
|
+
export type ValidateRequires<S extends Schema.Any> = [
|
|
193
|
+
UnregisteredRequirements<S>
|
|
194
|
+
] extends [never] ? unknown : string extends Schema.Requires<S>[1] ? unknown : {
|
|
195
|
+
readonly __schemaRequires__: `${UnregisteredRequirements<S>} is named in Schema.requires(...) but no fragment registers it: add it to a fragment's components`;
|
|
196
|
+
};
|
|
136
197
|
/**
|
|
137
198
|
* Creates one explicit root token for schema-bound long-lived references.
|
|
138
199
|
*
|
|
@@ -163,24 +224,19 @@ export declare const empty: () => SchemaDefinition;
|
|
|
163
224
|
* @example
|
|
164
225
|
* ```ts
|
|
165
226
|
* const Combat = Schema.fragment({
|
|
166
|
-
* components: { Health, Damage },
|
|
167
|
-
* events: { Hit }
|
|
227
|
+
* components: { Health, Damage, Enemy },
|
|
228
|
+
* events: { Hit },
|
|
229
|
+
* requires: [Schema.requires(Enemy, Health)]
|
|
168
230
|
* })
|
|
169
231
|
* ```
|
|
170
232
|
*/
|
|
171
|
-
export declare const fragment: <const Components extends Registry = {}, const Resources extends Registry = {}, const Events extends Registry = {}, const Relations extends Record<string, Relation.Relation.Any> = {}>(definition: {
|
|
233
|
+
export declare const fragment: <const Components extends Registry = {}, const Resources extends Registry = {}, const Events extends Registry = {}, const Relations extends Record<string, Relation.Relation.Any> = {}, const Requires extends ReadonlyArray<ComponentRequirement> = readonly []>(definition: {
|
|
172
234
|
readonly components?: Components;
|
|
173
235
|
readonly resources?: Resources;
|
|
174
236
|
readonly events?: Events;
|
|
175
237
|
readonly relations?: Relations;
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
* Merges two schema fragments into a larger closed schema.
|
|
179
|
-
*
|
|
180
|
-
* Duplicate keys and descriptor names are rejected at the type level and at
|
|
181
|
-
* runtime.
|
|
182
|
-
*/
|
|
183
|
-
export declare const merge: <A extends Schema.Any, B extends Schema.Any>(left: A, right: B & ValidateFragments<[A, B]>) => MergeSchemaDefinitions<A, B>;
|
|
238
|
+
readonly requires?: Requires;
|
|
239
|
+
} & ValidateFragments<[SchemaDefinition<Components, Resources, Events, Relations>]>) => SchemaDefinition<Components, Resources, Events, Relations, PairsOf<Requires[number]>>;
|
|
184
240
|
/**
|
|
185
241
|
* Composes one or more fragments and returns one bound `Game` surface.
|
|
186
242
|
*
|
|
@@ -194,10 +250,10 @@ export declare const merge: <A extends Schema.Any, B extends Schema.Any>(left: A
|
|
|
194
250
|
* const Game = Schema.bind(Core, Combat, Root)
|
|
195
251
|
* ```
|
|
196
252
|
*/
|
|
197
|
-
export declare function bind<S extends Schema.Any>(schema: S & ValidateFragments<[S]>): Schema.Game<S, S>;
|
|
198
|
-
export declare function bind<S extends Schema.Any, const Name extends string>(schema: S & ValidateFragments<[S]>, root: RootToken<Name>): Schema.Game<S, RootToken<Name>>;
|
|
199
|
-
export declare function bind<const Fragments extends readonly [Schema.Any, Schema.Any, ...Array<Schema.Any>]>(...fragments: Fragments & ValidateFragments<Fragments>): Schema.Game<BuildFragments<Fragments>, BuildFragments<Fragments>>;
|
|
200
|
-
export declare function bind<const Fragments extends readonly [Schema.Any, Schema.Any, ...Array<Schema.Any>], const Name extends string>(...args: [...Fragments, RootToken<Name>] & ValidateFragments<Fragments>): Schema.Game<BuildFragments<Fragments>, RootToken<Name>>;
|
|
253
|
+
export declare function bind<S extends Schema.Any>(schema: S & ValidateFragments<[S]> & ValidateRequires<S>): Schema.Game<S, S>;
|
|
254
|
+
export declare function bind<S extends Schema.Any, const Name extends string>(schema: S & ValidateFragments<[S]> & ValidateRequires<S>, root: RootToken<Name>): Schema.Game<S, RootToken<Name>>;
|
|
255
|
+
export declare function bind<const Fragments extends readonly [Schema.Any, Schema.Any, ...Array<Schema.Any>]>(...fragments: Fragments & ValidateFragments<Fragments> & ValidateRequires<BuildFragments<Fragments>>): Schema.Game<BuildFragments<Fragments>, BuildFragments<Fragments>>;
|
|
256
|
+
export declare function bind<const Fragments extends readonly [Schema.Any, Schema.Any, ...Array<Schema.Any>], const Name extends string>(...args: [...Fragments, RootToken<Name>] & ValidateFragments<Fragments> & ValidateRequires<BuildFragments<Fragments>>): Schema.Game<BuildFragments<Fragments>, RootToken<Name>>;
|
|
201
257
|
type RuntimeServicesOf<Provided extends Runtime.RuntimeServices<any>> = [
|
|
202
258
|
Provided
|
|
203
259
|
] extends [Runtime.RuntimeServices<infer Services>] ? Services : never;
|
|
@@ -211,7 +267,7 @@ type RelationDescriptor<S extends Schema.Any> = Schema.RelationDescriptor<S>;
|
|
|
211
267
|
type QuerySelectionAccess<S extends Schema.Any, Root> = QueryModule.Access<ComponentDescriptor<S>> | Relation.SelectionAccess<S, Root>;
|
|
212
268
|
interface BoundSystemAccess<S extends Schema.Any, Root> extends System.SystemAccessInput {
|
|
213
269
|
readonly queries?: Record<string, Query.Any<Root>>;
|
|
214
|
-
readonly resources?: Record<string, System.ResourceRead<ResourceDescriptor<S>> | System.ResourceWrite<ResourceDescriptor<S>>>;
|
|
270
|
+
readonly resources?: Record<string, System.ResourceRead<ResourceDescriptor<S>> | System.ResourceChanged<ResourceDescriptor<S>> | System.ResourceWrite<ResourceDescriptor<S>>>;
|
|
215
271
|
readonly events?: Record<string, System.EventRead<EventDescriptor<S>> | System.EventWrite<EventDescriptor<S>>>;
|
|
216
272
|
readonly machines?: Record<string, Machine.MachineRead<Schema.BoundStateMachine<Root>>>;
|
|
217
273
|
readonly nextMachines?: Record<string, Machine.NextMachineWrite<Schema.BoundStateMachine<Root>>>;
|
|
@@ -222,10 +278,11 @@ interface BoundSystemAccess<S extends Schema.Any, Root> extends System.SystemAcc
|
|
|
222
278
|
readonly pauseWhen?: ReadonlyArray<Machine.Condition<Root>>;
|
|
223
279
|
readonly transitions?: Record<string, Machine.TransitionRead<Schema.BoundStateMachine<Root>>>;
|
|
224
280
|
readonly local?: () => unknown;
|
|
281
|
+
readonly commands?: Command.CommandAccess<ComponentDescriptor<S>, ComponentDescriptor<S>, ComponentDescriptor<S>, ComponentDescriptor<S>, EntityScope.EntityScope<string, Root>, RelationDescriptor<S>>;
|
|
225
282
|
}
|
|
226
283
|
interface BoundCheckAccess<S extends Schema.Any, Root> extends Condition.CheckAccessInput {
|
|
227
284
|
readonly queries?: Record<string, Query.Any<Root>>;
|
|
228
|
-
readonly resources?: Record<string, System.ResourceRead<ResourceDescriptor<S>>>;
|
|
285
|
+
readonly resources?: Record<string, System.ResourceRead<ResourceDescriptor<S>> | System.ResourceChanged<ResourceDescriptor<S>> | System.ResourceWrite<ResourceDescriptor<S>>>;
|
|
229
286
|
readonly machines?: Record<string, Machine.MachineRead<Schema.BoundStateMachine<Root>>>;
|
|
230
287
|
}
|
|
231
288
|
interface BoundInspectorAccess<S extends Schema.Any, Root> extends Inspector.InspectorAccessInput {
|
|
@@ -237,11 +294,11 @@ interface BoundInspectorAccess<S extends Schema.Any, Root> extends Inspector.Ins
|
|
|
237
294
|
readonly removed?: Record<string, System.RemovedRead<ComponentDescriptor<S>>>;
|
|
238
295
|
readonly relationFailures?: Record<string, System.RelationFailureRead<RelationDescriptor<S>>>;
|
|
239
296
|
}
|
|
240
|
-
type BoundScheduleEntry<S extends Schema.Any, Root> = Schema.BoundSystem<S, Root, any, any
|
|
297
|
+
type BoundScheduleEntry<S extends Schema.Any, Root> = Schema.BoundSystem<S, Root, any, any> | Schedule.ApplyDeferredStep | Schedule.ApplyStateTransitionsStep<any, Root> | Schedule.ScheduleDefinition<S, any, Root, any, any, Schedule.AnyScheduleOrder>;
|
|
241
298
|
type BoundTransitionEntry<S extends Schema.Any, Root> = Exclude<BoundScheduleEntry<S, Root>, Schedule.ApplyStateTransitionsStep<any, Root>>;
|
|
242
|
-
type BoundTransitionScheduleResult<S extends Schema.Any, Root, M extends Schema.BoundStateMachine<Root>, Entries extends ReadonlyArray<BoundTransitionEntry<S, Root>>> = Machine.TransitionScheduleDefinition<S, M, Schedule.CompositionExactRequirements<Entries>, Root, Schedule.CompositionFailure<Entries>>;
|
|
299
|
+
type BoundTransitionScheduleResult<S extends Schema.Any, Root, M extends Schema.BoundStateMachine<Root>, Entries extends ReadonlyArray<BoundTransitionEntry<S, Root>>> = Machine.TransitionScheduleDefinition<S, M, Schedule.CompositionExactRequirements<Entries>, Root, Schedule.CompositionFailure<Entries>, Schedule.CompositionOrder<Entries>>;
|
|
243
300
|
type BoundTransitionBundleInput<S extends Schema.Any, Root> = Schema.BoundTransitionSchedule<S, Root, any, any, any> | Schema.BoundTransitionBundle<S, Root, any, any, any>;
|
|
244
|
-
type BoundTransitionBundleResult<S extends Schema.Any, Root, Entries extends ReadonlyArray<BoundTransitionBundleInput<S, Root>>> = Schedule.TransitionBundleDefinition<S, ReadonlyArray<Schedule.FlattenTransitionEntries<Entries>[number]>, Schedule.TransitionBundleRequirements<Schedule.FlattenTransitionEntries<Entries>>, Root, Schedule.TransitionBundleRequirements<Schedule.FlattenTransitionEntries<Entries>>, Schedule.TransitionBundleFailure<Schedule.FlattenTransitionEntries<Entries
|
|
301
|
+
type BoundTransitionBundleResult<S extends Schema.Any, Root, Entries extends ReadonlyArray<BoundTransitionBundleInput<S, Root>>> = Schedule.TransitionBundleDefinition<S, ReadonlyArray<Schedule.FlattenTransitionEntries<Entries>[number]>, Schedule.TransitionBundleRequirements<Schedule.FlattenTransitionEntries<Entries>>, Root, Schedule.TransitionBundleRequirements<Schedule.FlattenTransitionEntries<Entries>>, Schedule.TransitionBundleFailure<Schedule.FlattenTransitionEntries<Entries>>, Schedule.CompositionOrder<Entries>>;
|
|
245
302
|
/**
|
|
246
303
|
* Type-level helpers for schema-driven programming.
|
|
247
304
|
*/
|
|
@@ -249,11 +306,13 @@ export declare namespace Schema {
|
|
|
249
306
|
/**
|
|
250
307
|
* Any complete schema definition.
|
|
251
308
|
*/
|
|
252
|
-
type Any = SchemaDefinition<Registry, Registry, Registry, Record<string, Relation.Relation.Any
|
|
309
|
+
type Any = SchemaDefinition<Registry, Registry, Registry, Record<string, Relation.Relation.Any>, RequirementPair>;
|
|
253
310
|
type Components<T extends Any> = T["components"];
|
|
254
311
|
type Resources<T extends Any> = T["resources"];
|
|
255
312
|
type Events<T extends Any> = T["events"];
|
|
256
313
|
type Relations<T extends Any> = T["relations"];
|
|
314
|
+
/** The component requirements of a schema, as `[requirer, required]` name pairs (`Schema.requires`). */
|
|
315
|
+
type Requires<T extends Any> = T extends SchemaDefinition<any, any, any, any, infer Pairs> ? Pairs : never;
|
|
257
316
|
type ComponentValue<T extends Any, K extends keyof Components<T>> = Descriptor.Value<Components<T>[K]>;
|
|
258
317
|
type ResourceValue<T extends Any, K extends keyof Resources<T>> = Descriptor.Value<Resources<T>[K]>;
|
|
259
318
|
type EventValue<T extends Any, K extends keyof Events<T>> = Descriptor.Value<Events<T>[K]>;
|
|
@@ -268,9 +327,9 @@ export declare namespace Schema {
|
|
|
268
327
|
/**
|
|
269
328
|
* A schema-bound system definition branded to one bound schema root.
|
|
270
329
|
*/
|
|
271
|
-
type BoundSystem<S extends Any, Root, Spec extends System.AnySystemSpec = System.AnySystemSpec,
|
|
330
|
+
type BoundSystem<S extends Any, Root, Spec extends System.AnySystemSpec = System.AnySystemSpec, E = never, Name extends string = string, Needs extends Requirement.Requirement = Requirement.Requirement> = System.SystemDefinition<Spec & {
|
|
272
331
|
readonly schema: S;
|
|
273
|
-
},
|
|
332
|
+
}, E, Root, Name, Needs>;
|
|
274
333
|
/** A schema-bound read-only world projection. */
|
|
275
334
|
type BoundInspector<S extends Any, Root, Spec extends System.AnySystemSpec = System.AnySystemSpec, Value = unknown, Name extends string = string, Needs extends Requirement.Requirement = Requirement.Requirement> = Inspector.InspectorDefinition<Spec & {
|
|
276
335
|
readonly schema: S;
|
|
@@ -278,13 +337,13 @@ export declare namespace Schema {
|
|
|
278
337
|
/**
|
|
279
338
|
* A schema-bound schedule definition branded to one bound schema root.
|
|
280
339
|
*/
|
|
281
|
-
type BoundSchedule<S extends Any, Root, Needs extends Requirement.Requirement = Requirement.Requirement, Failure extends System.SystemFailure = never> = Schedule.ScheduleDefinition<S, Needs, Root, Needs, Failure>;
|
|
340
|
+
type BoundSchedule<S extends Any, Root, Needs extends Requirement.Requirement = Requirement.Requirement, Failure extends System.SystemFailure = never> = Schedule.ScheduleDefinition<S, Needs, Root, Needs, Failure, Schedule.ScheduleOrder>;
|
|
282
341
|
/**
|
|
283
342
|
* A schema-bound finite-state machine.
|
|
284
343
|
*/
|
|
285
|
-
type BoundStateMachine<Root, Name extends string = string, Values extends readonly [Machine.StateValue, ...Machine.StateValue[]] = readonly [Machine.StateValue, ...Machine.StateValue[]]> = Machine.StateMachineDefinition<Name, Values, Root>;
|
|
286
|
-
type BoundTransitionSchedule<S extends Any, Root, M extends BoundStateMachine<Root> = BoundStateMachine<Root>, Needs extends Requirement.Requirement = Requirement.Requirement, Failure extends System.SystemFailure = never> = Machine.TransitionScheduleDefinition<S, M, Needs, Root, Failure>;
|
|
287
|
-
type BoundTransitionBundle<S extends Any, Root, Entries extends ReadonlyArray<BoundTransitionSchedule<S, Root, any, any, any>> = ReadonlyArray<BoundTransitionSchedule<S, Root, any, any, any>>, Needs extends Requirement.Requirement = Requirement.Requirement, Failure extends System.SystemFailure = never> = Schedule.TransitionBundleDefinition<S, Entries, Needs, Root, Needs, Failure>;
|
|
344
|
+
type BoundStateMachine<Root, Name extends string = string, Values extends readonly [Machine.StateValue, ...Machine.StateValue[]] = readonly [Machine.StateValue, ...Machine.StateValue[]], Parent = unknown> = Machine.StateMachineDefinition<Name, Values, Root, Parent>;
|
|
345
|
+
type BoundTransitionSchedule<S extends Any, Root, M extends BoundStateMachine<Root> = BoundStateMachine<Root>, Needs extends Requirement.Requirement = Requirement.Requirement, Failure extends System.SystemFailure = never, Order extends Schedule.AnyScheduleOrder = Schedule.AnyScheduleOrder> = Machine.TransitionScheduleDefinition<S, M, Needs, Root, Failure, Order>;
|
|
346
|
+
type BoundTransitionBundle<S extends Any, Root, Entries extends ReadonlyArray<BoundTransitionSchedule<S, Root, any, any, any>> = ReadonlyArray<BoundTransitionSchedule<S, Root, any, any, any>>, Needs extends Requirement.Requirement = Requirement.Requirement, Failure extends System.SystemFailure = never, Order extends Schedule.AnyScheduleOrder = Schedule.AnyScheduleOrder> = Schedule.TransitionBundleDefinition<S, Entries, Needs, Root, Needs, Failure, Order>;
|
|
288
347
|
/**
|
|
289
348
|
* A schema-bound runtime branded to one bound schema root.
|
|
290
349
|
*/
|
|
@@ -294,8 +353,33 @@ export declare namespace Schema {
|
|
|
294
353
|
*/
|
|
295
354
|
interface Game<S extends Any, Root = S> {
|
|
296
355
|
readonly schema: S;
|
|
297
|
-
/**
|
|
298
|
-
|
|
356
|
+
/**
|
|
357
|
+
* Creates a typed ownership scope for scene or level entities: a flat
|
|
358
|
+
* group whose members are spawned with `commands.spawnIn(...)` and
|
|
359
|
+
* despawned together. Use `Descriptor.Hierarchy` instead for a
|
|
360
|
+
* parent-child tree with ordered children, traversal, and recursive
|
|
361
|
+
* despawn.
|
|
362
|
+
*
|
|
363
|
+
* When the group lives exactly as long as a state, name the state change
|
|
364
|
+
* that ends it: `despawnOnExit: [Flow, "Playing"]` despawns every member
|
|
365
|
+
* when `applyStateTransitions(...)` commits leaving `Playing` (after its
|
|
366
|
+
* `onExit` schedules, which still see the members), and
|
|
367
|
+
* `despawnOnEnter: [Flow, "Playing"]` when it commits entering it (before
|
|
368
|
+
* its `onEnter` schedules, so what they spawn survives). Use
|
|
369
|
+
* `commands.despawnScope(...)` instead when the wipe is not tied to a
|
|
370
|
+
* state change. Scope names are unique per game.
|
|
371
|
+
*
|
|
372
|
+
* @example
|
|
373
|
+
* ```ts
|
|
374
|
+
* const RunScope = Game.EntityScope("Shooter/Run", { despawnOnExit: [Flow, "Playing"] })
|
|
375
|
+
* ```
|
|
376
|
+
*/
|
|
377
|
+
readonly EntityScope: <const Name extends string, Enter extends Machine.StateMachine.Any = never, Exit extends Machine.StateMachine.Any = never>(name: Name, options?: {
|
|
378
|
+
/** Despawns every member when the machine enters this state, before its `onEnter` schedules run. */
|
|
379
|
+
readonly despawnOnEnter?: readonly [Enter & Machine.SameGame<Enter, Root>, Machine.StateMachine.Value<Enter>];
|
|
380
|
+
/** Despawns every member when the machine leaves this state, after its `onExit` schedules run. */
|
|
381
|
+
readonly despawnOnExit?: readonly [Exit & Machine.SameGame<Exit, Root>, Machine.StateMachine.Value<Exit>];
|
|
382
|
+
}) => EntityScope.EntityScope<Name, Root>;
|
|
299
383
|
/** Declares a reusable, requirement-checked read-only world projection. */
|
|
300
384
|
readonly Inspector: <const Name extends string, const Access extends BoundInspectorAccess<S, Root>, Value>(name: Name, spec: Inspector.ExactInspectorAccess<Access>, read: (context: Inspector.InspectorContext<System.SystemSpec<S, Access, Root>>) => Value) => BoundInspector<S, Root, System.SystemSpec<S, Access, Root>, Value, Name, System.SystemAccessNeeds<Access>>;
|
|
301
385
|
readonly Entity: {
|
|
@@ -315,12 +399,17 @@ export declare namespace Schema {
|
|
|
315
399
|
readonly withoutRelations?: WithoutRelations;
|
|
316
400
|
readonly withRelated?: WithRelated;
|
|
317
401
|
readonly withoutRelated?: WithoutRelated;
|
|
318
|
-
}): QueryModule.QuerySpec<Selection, With, Without, Filters, WithRelations, WithoutRelations, WithRelated, WithoutRelated, Root>;
|
|
402
|
+
}): QueryModule.QuerySpec<Selection, QueryModule.Uninferred<With, ReadonlyArray<ComponentDescriptor<S>>>, QueryModule.Uninferred<Without, ReadonlyArray<ComponentDescriptor<S>>>, QueryModule.Uninferred<Filters, ReadonlyArray<QueryModule.Filter<ComponentDescriptor<S>>>>, QueryModule.Uninferred<WithRelations, ReadonlyArray<Relation.Relation.Any>>, QueryModule.Uninferred<WithoutRelations, ReadonlyArray<Relation.Relation.Any>>, QueryModule.Uninferred<WithRelated, ReadonlyArray<Relation.Relation.Any>>, QueryModule.Uninferred<WithoutRelated, ReadonlyArray<Relation.Relation.Any>>, Root>;
|
|
319
403
|
read: <D extends ComponentDescriptor<S>>(descriptor: D) => QueryModule.ReadAccess<D>;
|
|
320
|
-
write: <D extends ComponentDescriptor<S>>(descriptor: D) => QueryModule.WriteAccess<D>;
|
|
404
|
+
write: <D extends ComponentDescriptor<S>>(descriptor: D & QueryModule.Writable<D>) => QueryModule.WriteAccess<D>;
|
|
321
405
|
optional: <D extends ComponentDescriptor<S>>(descriptor: D) => QueryModule.OptionalReadAccess<D>;
|
|
322
406
|
added: <D extends ComponentDescriptor<S>>(descriptor: D) => QueryModule.AddedFilter<D>;
|
|
323
407
|
changed: <D extends ComponentDescriptor<S>>(descriptor: D) => QueryModule.ChangedFilter<D>;
|
|
408
|
+
anyOf: <const Filters extends readonly [
|
|
409
|
+
QueryModule.LifecycleFilter<ComponentDescriptor<S>>,
|
|
410
|
+
QueryModule.LifecycleFilter<ComponentDescriptor<S>>,
|
|
411
|
+
...ReadonlyArray<QueryModule.LifecycleFilter<ComponentDescriptor<S>>>
|
|
412
|
+
]>(...filters: Filters) => QueryModule.AnyOfFilter<Filters[number]["descriptor"]>;
|
|
324
413
|
readRelation: <R extends RelationDescriptor<S>>(descriptor: R) => Relation.RelationReadAccess<R, S, Root>;
|
|
325
414
|
optionalRelation: <R extends RelationDescriptor<S>>(descriptor: R) => Relation.OptionalRelationReadAccess<R, S, Root>;
|
|
326
415
|
readRelated: <R extends RelationDescriptor<S>>(descriptor: R) => Relation.RelatedReadAccess<R, S, Root>;
|
|
@@ -329,19 +418,54 @@ export declare namespace Schema {
|
|
|
329
418
|
readonly Command: {
|
|
330
419
|
/** Starts an entity draft from `[Descriptor, value]` entries and entry results. */
|
|
331
420
|
spawn: <const Entries extends ReadonlyArray<Command.SpawnEntry<S>> = readonly []>(...entries: Entries) => Command.DraftFor<S, Entries, {}, Root>;
|
|
332
|
-
/**
|
|
333
|
-
|
|
421
|
+
/**
|
|
422
|
+
* Adds entries to a draft (a value not yet spawned). Use
|
|
423
|
+
* `commands.insert` for an entity that already exists.
|
|
424
|
+
*/
|
|
425
|
+
extend: <P extends Entity.ComponentProof, const Entries extends ReadonlyArray<Command.SpawnEntry<S>>>(draft: Entity.EntityDraft<S, P, Root>, ...entries: Entries) => Command.DraftFor<S, Entries, P, Root>;
|
|
334
426
|
entry: <D extends ComponentDescriptor<S>>(descriptor: D, value: Descriptor.Value<D>) => Command.Entry<D>;
|
|
335
|
-
entryResult: <D extends ComponentDescriptor<S>, E>(descriptor: D, result: Result.Result<Descriptor.Value<D>, E>) => Result.Result<Command.Entry<D>, E>;
|
|
336
427
|
entryRaw: <D extends Extract<ComponentDescriptor<S>, ConstructedDescriptor<"component", string, any, any, any>>>(descriptor: D, raw: Descriptor.Raw<D>) => Result.Result<Command.Entry<D>, Descriptor.ConstructionError<D>>;
|
|
337
428
|
relate: <P extends Entity.ComponentProof, R extends RelationDescriptor<S>>(draft: Entity.EntityDraft<S, P, Root>, relation: R, target: Entity.EntityId<S, Root>) => Entity.EntityDraft<S, P, Root>;
|
|
338
429
|
};
|
|
430
|
+
/**
|
|
431
|
+
* Declares one game-wide mode (menu, playing, paused): queued with
|
|
432
|
+
* `nextState`, committed at `applyStateTransitions(...)`, gating systems
|
|
433
|
+
* with `Game.Condition.inState(...)`. Use `Descriptor.EntityState(...)`
|
|
434
|
+
* instead for a state each entity has on its own.
|
|
435
|
+
*/
|
|
339
436
|
readonly StateMachine: {
|
|
340
437
|
<const Name extends string, const Values extends readonly [Machine.StateValue, ...Machine.StateValue[]]>(name: Name, values: Values): Schema.BoundStateMachine<Root, Name, Values>;
|
|
438
|
+
/**
|
|
439
|
+
* Declares a sub-state: a machine that exists only while `within[0]` is
|
|
440
|
+
* in state `within[1]` (a battle phase that only means something while
|
|
441
|
+
* playing). Whenever the parent enters that state, the sub-state enters
|
|
442
|
+
* the value given to `Game.Runtime.machine(...)`; when the parent leaves
|
|
443
|
+
* it, the sub-state exits and has no value: `get()` is `undefined`,
|
|
444
|
+
* `Game.Condition.inState(Sub, x)` is false, and `nextMachines.sub.set(...)`
|
|
445
|
+
* returns a `SubStateInactive` failure. So `inState(Sub, x)` alone
|
|
446
|
+
* implies the parent's state.
|
|
447
|
+
*
|
|
448
|
+
* Use a second top-level machine instead when the two modes are
|
|
449
|
+
* independent (each keeps its value whatever the other does).
|
|
450
|
+
*
|
|
451
|
+
* @example
|
|
452
|
+
* ```ts
|
|
453
|
+
* const Phase = Game.StateMachine("Phase", ["Setup", "Battle"], { within: [Session, "Playing"] })
|
|
454
|
+
* ```
|
|
455
|
+
*/
|
|
456
|
+
<const Name extends string, const Values extends readonly [Machine.StateValue, ...Machine.StateValue[]], Parent extends Machine.StateMachine.Any>(name: Name, values: Values, options: {
|
|
457
|
+
readonly within: readonly [Parent & Machine.SameGame<Parent, Root>, Machine.StateMachine.Value<Parent>];
|
|
458
|
+
}): Schema.BoundStateMachine<Root, Name, Values, Parent>;
|
|
341
459
|
};
|
|
342
460
|
readonly Condition: {
|
|
343
|
-
|
|
344
|
-
|
|
461
|
+
/**
|
|
462
|
+
* Passes while the machine's committed value is `value`. For a
|
|
463
|
+
* sub-state it fails while the parent is in another state. A machine
|
|
464
|
+
* of another game fails to compile with a message naming the fix.
|
|
465
|
+
*/
|
|
466
|
+
inState: <M extends Machine.StateMachine.Any>(machine: M & Machine.SameGame<M, Root>, value: Machine.StateMachine.Value<M>) => Machine.InStateCondition<M>;
|
|
467
|
+
/** Passes in the schedule run where `applyStateTransitions(...)` changed the machine. */
|
|
468
|
+
stateChanged: <M extends Machine.StateMachine.Any>(machine: M & Machine.SameGame<M, Root>) => Machine.StateChangedCondition<M>;
|
|
345
469
|
not: typeof Machine.not;
|
|
346
470
|
and: typeof Machine.and;
|
|
347
471
|
or: typeof Machine.or;
|
|
@@ -353,11 +477,18 @@ export declare namespace Schema {
|
|
|
353
477
|
check: <const Name extends string, const Access extends BoundCheckAccess<S, Root>>(name: Name, spec: Condition.ExactCheckAccess<Access>, predicate: (context: Condition.CheckContext<System.SystemSpec<S, Access, Root>>) => boolean) => Machine.CheckCondition<Root, System.SystemAccessNeeds<Access>>;
|
|
354
478
|
};
|
|
355
479
|
readonly System: {
|
|
356
|
-
<const Name extends string, const Access extends BoundSystemAccess<S, Root>,
|
|
480
|
+
<const Name extends string, const Access extends BoundSystemAccess<S, Root>, E = never>(name: Name, spec: System.ExactAccess<Access>, run: System.SystemRun<System.SystemSpec<S, Access, Root>, E>): BoundSystem<S, Root, System.SystemSpec<S, Access, Root>, E, Name, System.SystemAccessNeeds<Access>>;
|
|
357
481
|
readResource: <D extends ResourceDescriptor<S>>(descriptor: D) => System.ResourceRead<D>;
|
|
358
482
|
writeResource: <D extends ResourceDescriptor<S>>(descriptor: D) => System.ResourceWrite<D>;
|
|
483
|
+
changedResource: <D extends ResourceDescriptor<S>>(descriptor: D) => System.ResourceChanged<D>;
|
|
359
484
|
readEvent: <D extends EventDescriptor<S>>(descriptor: D) => System.EventRead<D>;
|
|
360
485
|
writeEvent: <D extends EventDescriptor<S>>(descriptor: D) => System.EventWrite<D>;
|
|
486
|
+
/**
|
|
487
|
+
* Requires every writer of this event or resource to run earlier in the
|
|
488
|
+
* same `runtime.tick(...)` call; checked at compile time by `tick`.
|
|
489
|
+
* Accepts `readEvent(...)`, `readResource(...)`, or a query.
|
|
490
|
+
*/
|
|
491
|
+
thisTick: <Read extends System.EventRead<EventDescriptor<S>> | System.ResourceRead<ResourceDescriptor<S>> | System.ResourceChanged<ResourceDescriptor<S>> | Query.Any<Root>>(read: Read) => Read & System.ThisTick;
|
|
361
492
|
service: typeof System.service;
|
|
362
493
|
machine: <M extends BoundStateMachine<Root>>(machine: M) => Machine.MachineRead<M>;
|
|
363
494
|
nextState: <M extends BoundStateMachine<Root>>(machine: M) => Machine.NextMachineWrite<M>;
|
|
@@ -366,6 +497,23 @@ export declare namespace Schema {
|
|
|
366
497
|
readRemoved: <D extends ComponentDescriptor<S>>(descriptor: D) => System.RemovedRead<D>;
|
|
367
498
|
readDespawned: () => System.DespawnedRead;
|
|
368
499
|
readRelationFailures: <R extends RelationDescriptor<S>>(relation: R) => System.RelationFailureRead<R>;
|
|
500
|
+
/**
|
|
501
|
+
* Declares the commands a system may queue, for its spec's `commands`:
|
|
502
|
+
* `Game.System.commands(Game.System.spawns(Enemy, Position), Game.System.despawns(Enemy))`.
|
|
503
|
+
*/
|
|
504
|
+
commands: typeof Command.commands;
|
|
505
|
+
/** Allows spawning drafts whose components are all among these and what they require (`Schema.requires`); see `Command.spawns`. */
|
|
506
|
+
spawns: <const Components extends ReadonlyArray<ComponentDescriptor<S>>>(...components: Components) => Command.Permission<"spawns", Components[number] | Command.RequiredDescriptors<S, Components[number]["name"]>>;
|
|
507
|
+
/** Allows `insert` (add or replace at the next `applyDeferred()`) of these; see `Command.inserts`. */
|
|
508
|
+
inserts: <const Components extends ReadonlyArray<ComponentDescriptor<S>>>(...components: Components) => Command.Permission<"inserts", Components[number]>;
|
|
509
|
+
/** Allows `remove` of these. */
|
|
510
|
+
removes: <const Components extends ReadonlyArray<ComponentDescriptor<S>>>(...components: Components) => Command.Permission<"removes", Components[number]>;
|
|
511
|
+
/** Allows `despawn` of entities a query proves have one of these; see `Command.despawns`. */
|
|
512
|
+
despawns: <const Components extends ReadonlyArray<ComponentDescriptor<S>>>(...components: Components) => Command.Permission<"despawns", Components[number]>;
|
|
513
|
+
/** Allows `despawnScope` of this scope. */
|
|
514
|
+
despawnsScope: <const Scope extends EntityScope.EntityScope<string, Root>>(scope: Scope) => Command.Permission<"despawnsScope", Scope>;
|
|
515
|
+
/** Allows `relate`, `unrelate`, and `reorderChildren` of these relations. */
|
|
516
|
+
relates: <const Relations extends ReadonlyArray<RelationDescriptor<S>>>(...relations: Relations) => Command.Permission<"relates", Relations[number]>;
|
|
369
517
|
};
|
|
370
518
|
readonly Schedule: {
|
|
371
519
|
/**
|
|
@@ -380,7 +528,9 @@ export declare namespace Schema {
|
|
|
380
528
|
/**
|
|
381
529
|
* Builds a schedule whose systems run only while every condition
|
|
382
530
|
* passes (in addition to their own `when`). Nested schedules are
|
|
383
|
-
* gated too; marker steps still run.
|
|
531
|
+
* gated too; marker steps still run. Gated systems drop the events
|
|
532
|
+
* published while gated; use `pauseWhen` to keep them. For one system,
|
|
533
|
+
* use `when` in its spec.
|
|
384
534
|
*/
|
|
385
535
|
when: <const Conditions extends readonly [Machine.Condition<Root>, ...Array<Machine.Condition<Root>>], const Entries extends ReadonlyArray<BoundScheduleEntry<S, Root>>>(conditions: Conditions, ...entries: Entries) => Schedule.ConditionalScheduleBuildFor<S, Conditions, Entries, Root>;
|
|
386
536
|
/**
|
|
@@ -388,6 +538,7 @@ export declare namespace Schema {
|
|
|
388
538
|
* fails: unlike `when`, a paused system keeps its place in the event
|
|
389
539
|
* streams it reads and sees everything published meanwhile once it
|
|
390
540
|
* runs again. For freezes whose events stay valid (hit-stop, pause).
|
|
541
|
+
* For one system, use `pauseWhen` in its spec.
|
|
391
542
|
*/
|
|
392
543
|
pauseWhen: <const Conditions extends readonly [Machine.Condition<Root>, ...Array<Machine.Condition<Root>>], const Entries extends ReadonlyArray<BoundScheduleEntry<S, Root>>>(conditions: Conditions, ...entries: Entries) => Schedule.ConditionalScheduleBuildFor<S, Conditions, Entries, Root>;
|
|
393
544
|
applyDeferred: typeof Schedule.applyDeferred;
|
|
@@ -412,4 +563,5 @@ export declare namespace Schema {
|
|
|
412
563
|
};
|
|
413
564
|
}
|
|
414
565
|
}
|
|
566
|
+
export {};
|
|
415
567
|
//# sourceMappingURL=Schema.d.ts.map
|