@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/System.d.ts
CHANGED
|
@@ -57,7 +57,6 @@
|
|
|
57
57
|
*/
|
|
58
58
|
import type { Descriptor } from "./Descriptor.ts";
|
|
59
59
|
import type * as Entity from "./Entity.ts";
|
|
60
|
-
import type { Fx } from "./Fx.ts";
|
|
61
60
|
import * as Machine from "./Machine.ts";
|
|
62
61
|
import type * as Relation from "./Relation.ts";
|
|
63
62
|
import type { Query, QueryMatch } from "./Query.ts";
|
|
@@ -65,7 +64,7 @@ import type { ConstructedWriteCell, ReadCell, ReadonlyValue, WriteCell } from ".
|
|
|
65
64
|
import * as Requirement from "./Requirement.ts";
|
|
66
65
|
import type * as Result from "./Result.ts";
|
|
67
66
|
import type { Schema } from "./Schema.ts";
|
|
68
|
-
import type { CommandsApi } from "./Command.ts";
|
|
67
|
+
import type { CommandAccess, CommandsApi, NotDeclared } from "./Command.ts";
|
|
69
68
|
/**
|
|
70
69
|
* System declarations, typed execution context, and runtime requirements.
|
|
71
70
|
*
|
|
@@ -216,7 +215,7 @@ export declare const readEvent: <D extends Descriptor<"event", string, any>>(des
|
|
|
216
215
|
*
|
|
217
216
|
* If the payload needs to name an entity for later work, emit a durable
|
|
218
217
|
* `Game.Entity.handle(...)` (optionally with an intent component) and let the later
|
|
219
|
-
* reader re-resolve it through `
|
|
218
|
+
* reader re-resolve it through `queries.x.getHandle(...)` (through a declared query).
|
|
220
219
|
*
|
|
221
220
|
* @example
|
|
222
221
|
* ```ts
|
|
@@ -230,6 +229,54 @@ export declare const readEvent: <D extends Descriptor<"event", string, any>>(des
|
|
|
230
229
|
* ```
|
|
231
230
|
*/
|
|
232
231
|
export declare const writeEvent: <D extends Descriptor<"event", string, any>>(descriptor: D) => EventWrite<D>;
|
|
232
|
+
/** The marker `thisTick(...)` adds to a read. */
|
|
233
|
+
export interface ThisTick {
|
|
234
|
+
readonly thisTick: true;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Requires that every system writing this event or resource runs earlier in
|
|
238
|
+
* the same `runtime.tick(...)` call than the reading system: the reader then
|
|
239
|
+
* sees this tick's data, never last tick's. The library never reorders
|
|
240
|
+
* anything; it only checks.
|
|
241
|
+
*
|
|
242
|
+
* `runtime.tick(...)` checks it at compile time over everything passed to that
|
|
243
|
+
* call, in order (gated groups count by position), and rejects a writer that
|
|
244
|
+
* runs after the reader and a call whose order is not statically known. A
|
|
245
|
+
* read with no writer in the call compiles (a reader reused in several
|
|
246
|
+
* ticks); the `event-never-written` lint reports data nobody writes.
|
|
247
|
+
* `tryTick` checks the same at runtime.
|
|
248
|
+
*
|
|
249
|
+
* Use it on reads whose correctness depends on running after their writers
|
|
250
|
+
* (damage applied the tick it is dealt). A plain read is right when last
|
|
251
|
+
* tick's data is acceptable.
|
|
252
|
+
*
|
|
253
|
+
* On a query (`queries: { enemies: Game.System.thisTick(Enemies) }`), the
|
|
254
|
+
* writers are systems whose declared commands can change what it matches:
|
|
255
|
+
* `spawns` covering every component it requires, or `inserts` / `removes` of
|
|
256
|
+
* any component it names (selection slots, optional ones included, `with`,
|
|
257
|
+
* `without`, filters). Each must run earlier with an `applyDeferred()` (or
|
|
258
|
+
* `applyStateTransitions(...)`) between it and the reader, since commands
|
|
259
|
+
* apply only there. `despawns` never count: a despawned entity stays visible
|
|
260
|
+
* to queries until the next `applyDeferred()`. Nested schedules are
|
|
261
|
+
* flattened, gated groups count by position, and a transition bundle counts
|
|
262
|
+
* at its `applyStateTransitions(...)` step (which applies queued commands
|
|
263
|
+
* first), as if every schedule in it runs, markers inside included.
|
|
264
|
+
*
|
|
265
|
+
* @example
|
|
266
|
+
* ```ts
|
|
267
|
+
* const ApplyDamage = Game.System("ApplyDamage", {
|
|
268
|
+
* events: { damage: Game.System.thisTick(Game.System.readEvent(Damage)) }
|
|
269
|
+
* }, ({ events }) => { ... })
|
|
270
|
+
*
|
|
271
|
+
* runtime.tick(Game.Schedule(DealDamage, ApplyDamage)) // compiles
|
|
272
|
+
* runtime.tick(Game.Schedule(ApplyDamage, DealDamage)) // "ApplyDamage needs Damage from this tick, but its writer DealDamage runs after it"
|
|
273
|
+
*
|
|
274
|
+
* const AimAtNewest = Game.System("AimAtNewest", { queries: { enemies: Game.System.thisTick(Enemies) } }, ...)
|
|
275
|
+
* runtime.tick(Game.Schedule(SpawnWave, Game.Schedule.applyDeferred(), AimAtNewest)) // compiles
|
|
276
|
+
* runtime.tick(Game.Schedule(SpawnWave, AimAtNewest)) // "AimAtNewest needs this tick's commands for queries.enemies, but SpawnWave queues them with no applyDeferred() in between"
|
|
277
|
+
* ```
|
|
278
|
+
*/
|
|
279
|
+
export declare const thisTick: <Read extends EventRead<Descriptor<"event", string, any>> | ResourceRead<Descriptor<"resource", string, any>> | Query.Any<any>>(read: Read) => Read & ThisTick;
|
|
233
280
|
/**
|
|
234
281
|
* Declares read access to the current committed value of a finite-state machine.
|
|
235
282
|
*
|
|
@@ -262,7 +309,7 @@ export declare const transition: <M extends Machine.StateMachine.Any>(stateMachi
|
|
|
262
309
|
* normal events: each run sees those published since its previous run.
|
|
263
310
|
*
|
|
264
311
|
* This is one of the clearest signs that the modeled value should be a machine
|
|
265
|
-
* rather than a
|
|
312
|
+
* rather than a resource or a `Descriptor.EntityState` component.
|
|
266
313
|
*/
|
|
267
314
|
export declare const readTransitionEvent: <M extends Machine.StateMachine.Any>(stateMachine: M) => Machine.TransitionEventRead<M>;
|
|
268
315
|
/**
|
|
@@ -368,8 +415,9 @@ export interface RelationFailureRead<R extends Relation.Relation.Any> {
|
|
|
368
415
|
* ticked less often than the one that removes (rendering after several fixed
|
|
369
416
|
* updates) still sees every removal. A system skipped by its run conditions
|
|
370
417
|
* keeps its position, like `added`/`changed`, and sees the removals when it
|
|
371
|
-
* runs again. Each log is capped at `Runtime.streamCapacity` entries;
|
|
372
|
-
*
|
|
418
|
+
* runs again. Each log is capped at `Runtime.streamCapacity` entries; a
|
|
419
|
+
* reader that missed dropped ones sees `lagged() === true` (and a `missed`
|
|
420
|
+
* read in the debug trace). Systems usually pair this
|
|
373
421
|
* with host cleanup such as removing renderer-owned nodes. {@link readDespawned}
|
|
374
422
|
* complements this for whole-entity teardown.
|
|
375
423
|
*
|
|
@@ -418,12 +466,28 @@ export declare const readDespawned: () => DespawnedRead;
|
|
|
418
466
|
*/
|
|
419
467
|
export interface RemovedReadView<S extends Schema.Any, Root = unknown> {
|
|
420
468
|
all(): ReadonlyArray<import("./Entity.ts").EntityId<S, Root>>;
|
|
469
|
+
/**
|
|
470
|
+
* Whether records published since this system's previous run were dropped
|
|
471
|
+
* before it read them. Records wait for every reading system, so this only
|
|
472
|
+
* happens when a reader has not run for so long that the log exceeded its
|
|
473
|
+
* capacity (see `Runtime.streamCapacity`). Check it where a missed record
|
|
474
|
+
* would leak host state (a renderer node never destroyed).
|
|
475
|
+
*/
|
|
476
|
+
lagged(): boolean;
|
|
421
477
|
}
|
|
422
478
|
/**
|
|
423
479
|
* A read-only lifecycle stream of despawned entity ids.
|
|
424
480
|
*/
|
|
425
481
|
export interface DespawnedReadView<S extends Schema.Any, Root = unknown> {
|
|
426
482
|
all(): ReadonlyArray<import("./Entity.ts").EntityId<S, Root>>;
|
|
483
|
+
/**
|
|
484
|
+
* Whether records published since this system's previous run were dropped
|
|
485
|
+
* before it read them. Records wait for every reading system, so this only
|
|
486
|
+
* happens when a reader has not run for so long that the log exceeded its
|
|
487
|
+
* capacity (see `Runtime.streamCapacity`). Check it where a missed record
|
|
488
|
+
* would leak host state (a renderer node never destroyed).
|
|
489
|
+
*/
|
|
490
|
+
lagged(): boolean;
|
|
427
491
|
}
|
|
428
492
|
/**
|
|
429
493
|
* A read-only stream of deferred relation-mutation failures.
|
|
@@ -449,8 +513,35 @@ export interface QueryHandle<S extends Schema.Any, Q extends Query.Any> {
|
|
|
449
513
|
each(): ReadonlyArray<QueryMatch<S, Q>>;
|
|
450
514
|
/**
|
|
451
515
|
* Retrieves the match for one specific entity id when it satisfies the query.
|
|
516
|
+
*
|
|
517
|
+
* Every read and write of an entity goes through a query the system
|
|
518
|
+
* declares, so its access is visible in the spec: there is no lookup that
|
|
519
|
+
* takes a query at call time.
|
|
452
520
|
*/
|
|
453
521
|
get(entityId: import("./Entity.ts").EntityId<S, Query.Root<Q>>): Result.Result<QueryMatch<S, Q>, Query.LookupError>;
|
|
522
|
+
/**
|
|
523
|
+
* Resolves a stored durable handle back into this query's access.
|
|
524
|
+
*
|
|
525
|
+
* Use this for handles carried in events, resources, or components. A handle
|
|
526
|
+
* is storage-safe, not proof of liveness, so stale or mismatched handles stay
|
|
527
|
+
* explicit typed failures. A handle with an intent component needs a query
|
|
528
|
+
* that proves it (selects or requires it).
|
|
529
|
+
*/
|
|
530
|
+
getHandle<H extends Entity.Handle<Query.Root<Q>, any>>(handle: [Entity.Handle.Intent<H>] extends [undefined] ? H : Query.ProvesComponent<Q, Entity.Handle.Intent<H> & Descriptor<"component", string, any>> extends true ? H : "this query does not prove the handle's intent component: select it, or add it to with"): Result.Result<QueryMatch<S, Q>, Query.LookupError>;
|
|
531
|
+
/**
|
|
532
|
+
* The direct children of one hierarchy parent that match this query, in the
|
|
533
|
+
* stored child order. Children that do not match are skipped; a missing
|
|
534
|
+
* parent is a `MissingEntity` failure.
|
|
535
|
+
*/
|
|
536
|
+
children<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Hierarchy>>(entityId: Entity.EntityId<S, Query.Root<Q>>, relation: R): Result.Result<ReadonlyArray<QueryMatch<S, Q>>, Relation.Relation.MissingEntityError>;
|
|
537
|
+
/**
|
|
538
|
+
* The hierarchy descendants of one entity that match this query, in
|
|
539
|
+
* `options.order` (depth-first by default). Descendants that do not match
|
|
540
|
+
* are skipped. `lookup.descendants` returns every descendant's id instead.
|
|
541
|
+
*/
|
|
542
|
+
descendants<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Hierarchy>>(entityId: Entity.EntityId<S, Query.Root<Q>>, relation: R, options?: {
|
|
543
|
+
readonly order?: "breadth" | "depth";
|
|
544
|
+
}): Result.Result<ReadonlyArray<QueryMatch<S, Q>>, Relation.Relation.MissingEntityError>;
|
|
454
545
|
/**
|
|
455
546
|
* Returns a single match when exactly one entity satisfies the query.
|
|
456
547
|
*/
|
|
@@ -475,52 +566,26 @@ export interface QueryHandle<S extends Schema.Any, Q extends Query.Any> {
|
|
|
475
566
|
singleOptional(): Result.Result<QueryMatch<S, Q> | undefined, Query.MultipleEntitiesError>;
|
|
476
567
|
}
|
|
477
568
|
/**
|
|
478
|
-
*
|
|
569
|
+
* Relation lookups exposed to systems: entity ids along relation edges.
|
|
479
570
|
*
|
|
480
|
-
*
|
|
481
|
-
*
|
|
571
|
+
* Lookups return ids only. To read or write the entities they lead to, pass
|
|
572
|
+
* the ids to a declared query (`queries.x.get(id)`), or use the query
|
|
573
|
+
* handle's `children` / `descendants`, so every access stays in the spec.
|
|
482
574
|
*
|
|
483
575
|
* All lookup methods are total and explicit:
|
|
484
576
|
*
|
|
485
577
|
* - no hidden exceptions
|
|
486
|
-
* -
|
|
578
|
+
* - missing entities are normal typed failures
|
|
487
579
|
* - hierarchy traversal is available only for hierarchy relations
|
|
488
580
|
*/
|
|
489
581
|
export interface LookupApi<S extends Schema.Any, Root = unknown> {
|
|
490
|
-
get<Q extends Query.Any<Root>>(entityId: Entity.EntityId<S, Root>, query: Q): Result.Result<QueryMatch<S, Q>, Query.LookupError>;
|
|
491
|
-
/**
|
|
492
|
-
* Resolves a stored durable handle back into current-world query access.
|
|
493
|
-
*
|
|
494
|
-
* Use this for handles carried in events, resources, or components. A handle is
|
|
495
|
-
* storage-safe, not proof of liveness, so stale or mismatched handles remain
|
|
496
|
-
* explicit typed failures.
|
|
497
|
-
*/
|
|
498
|
-
getHandle<H extends Entity.Handle<Root, any>, Q extends Query.Any<Root>>(handle: [Entity.Handle.Intent<H>] extends [undefined] ? H : Query.ProvesComponent<Q, Entity.Handle.Intent<H> & Descriptor<"component", string, any>> extends true ? H : never, query: Q): Result.Result<QueryMatch<S, Q>, Query.LookupError>;
|
|
499
582
|
related<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Any>>(entityId: Entity.EntityId<S, Root>, relation: R): Result.Result<Entity.EntityId<S, Root>, Relation.Relation.LookupError>;
|
|
500
583
|
relatedSources<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Any>>(entityId: Entity.EntityId<S, Root>, relation: R): Result.Result<ReadonlyArray<Entity.EntityId<S, Root>>, Relation.Relation.MissingEntityError>;
|
|
501
|
-
/**
|
|
502
|
-
* Reads the direct children of one hierarchy parent as typed query matches.
|
|
503
|
-
*
|
|
504
|
-
* This preserves the stored child order for that hierarchy relation and skips
|
|
505
|
-
* entities that do not satisfy the query. Missing parents remain explicit
|
|
506
|
-
* `MissingEntity` failures.
|
|
507
|
-
*/
|
|
508
|
-
childMatches<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Hierarchy>, Q extends Query.Any<Root>>(entityId: Entity.EntityId<S, Root>, relation: R, query: Q): Result.Result<ReadonlyArray<QueryMatch<S, Q>>, Relation.Relation.MissingEntityError>;
|
|
509
584
|
parent<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Hierarchy>>(entityId: Entity.EntityId<S, Root>, relation: R): Result.Result<Entity.EntityId<S, Root>, Relation.Relation.LookupError>;
|
|
510
585
|
ancestors<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Hierarchy>>(entityId: Entity.EntityId<S, Root>, relation: R): Result.Result<ReadonlyArray<Entity.EntityId<S, Root>>, Relation.Relation.MissingEntityError>;
|
|
511
586
|
descendants<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Hierarchy>>(entityId: Entity.EntityId<S, Root>, relation: R, options?: {
|
|
512
587
|
readonly order?: "breadth" | "depth";
|
|
513
588
|
}): Result.Result<ReadonlyArray<Entity.EntityId<S, Root>>, Relation.Relation.MissingEntityError>;
|
|
514
|
-
/**
|
|
515
|
-
* Traverses hierarchy descendants and resolves only the entities that match
|
|
516
|
-
* the given query.
|
|
517
|
-
*
|
|
518
|
-
* Traversal order stays explicit through `options.order`, and non-matching
|
|
519
|
-
* descendants are skipped without turning traversal into a failure.
|
|
520
|
-
*/
|
|
521
|
-
descendantMatches<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Hierarchy>, Q extends Query.Any<Root>>(entityId: Entity.EntityId<S, Root>, relation: R, query: Q, options?: {
|
|
522
|
-
readonly order?: "breadth" | "depth";
|
|
523
|
-
}): Result.Result<ReadonlyArray<QueryMatch<S, Q>>, Relation.Relation.MissingEntityError>;
|
|
524
589
|
root<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Hierarchy>>(entityId: Entity.EntityId<S, Root>, relation: R): Result.Result<Entity.EntityId<S, Root>, Relation.Relation.MissingEntityError>;
|
|
525
590
|
}
|
|
526
591
|
/**
|
|
@@ -554,6 +619,25 @@ export interface SystemAccessInput {
|
|
|
554
619
|
readonly removed?: Record<string, RemovedRead<Descriptor<"component", string, any>>>;
|
|
555
620
|
readonly despawned?: Record<string, DespawnedRead>;
|
|
556
621
|
readonly relationFailures?: Record<string, RelationFailureRead<Relation.Relation.Any>>;
|
|
622
|
+
/**
|
|
623
|
+
* The commands the system may queue: `Game.System.commands(...)` with
|
|
624
|
+
* `spawns`, `inserts`, `removes`, `despawns`, `despawnsScope`, and
|
|
625
|
+
* `relates` permissions. Without it the system has no `commands`.
|
|
626
|
+
*/
|
|
627
|
+
readonly commands?: CommandAccess.Any;
|
|
628
|
+
/**
|
|
629
|
+
* Run conditions that skip the system: while one fails, the system does not
|
|
630
|
+
* run and the events, transition events, and relation failures published
|
|
631
|
+
* meanwhile are dropped for it. Use it for a mode change after which those
|
|
632
|
+
* messages are stale (menu, game over); use `pauseWhen` instead for a freeze
|
|
633
|
+
* whose messages stay valid. `Schedule.when(...)` adds conditions to a whole
|
|
634
|
+
* group.
|
|
635
|
+
*
|
|
636
|
+
* Four gating forms, one rule: `when` drops the events published while
|
|
637
|
+
* gated (the system resumes on fresh messages), `pauseWhen` keeps them (the
|
|
638
|
+
* system resumes and reads the backlog). Put them on one system's spec, or
|
|
639
|
+
* on a group with `Schedule.when(...)` / `Schedule.pauseWhen(...)`.
|
|
640
|
+
*/
|
|
557
641
|
readonly when?: ReadonlyArray<Machine.Condition>;
|
|
558
642
|
/**
|
|
559
643
|
* Run conditions that pause the system instead of skipping it: while one
|
|
@@ -614,6 +698,7 @@ export type SystemSpec<S extends Schema.Any, Access extends SystemAccessInput =
|
|
|
614
698
|
readonly pauseWhen: AccessField<Access, "pauseWhen", readonly []>;
|
|
615
699
|
readonly transitions: AccessField<Access, "transitions", {}>;
|
|
616
700
|
readonly local: LocalFactory<Access>;
|
|
701
|
+
readonly commands: "commands" extends keyof Access ? NonNullable<Access["commands"]> : undefined;
|
|
617
702
|
readonly schema: S;
|
|
618
703
|
readonly __schemaRoot: Root;
|
|
619
704
|
};
|
|
@@ -678,6 +763,7 @@ type QueryContext<Spec extends AnySystemSpec> = {
|
|
|
678
763
|
/** The value of the system's `local` factory, or `undefined` when it declares none. */
|
|
679
764
|
type LocalValue<Factory> = Factory extends () => infer Local ? Local : undefined;
|
|
680
765
|
type LocalContext<Spec extends AnySystemSpec> = LocalValue<Spec["local"]>;
|
|
766
|
+
type CommandsContext<Spec extends AnySystemSpec> = Spec["commands"] extends CommandAccess<infer Spawns, infer Inserts, infer Removes, infer Despawns, infer Scopes, infer Relates> ? CommandsApi<Spec["schema"], Spec["__schemaRoot"], Spawns, Inserts, Removes, Despawns, Scopes, Relates> : NotDeclared;
|
|
681
767
|
/**
|
|
682
768
|
* The implementation context derived from a system spec.
|
|
683
769
|
*
|
|
@@ -697,14 +783,11 @@ export interface SystemContext<Spec extends AnySystemSpec> {
|
|
|
697
783
|
readonly relationFailures: RelationFailureContext<Spec>;
|
|
698
784
|
readonly transitions: TransitionContext<Spec>;
|
|
699
785
|
readonly services: ServiceContext<Spec>;
|
|
700
|
-
|
|
786
|
+
/** The commands the spec declares (`commands: Game.System.commands(...)`). */
|
|
787
|
+
readonly commands: CommandsContext<Spec>;
|
|
701
788
|
/** The system's own scratch state (see `local` in the spec); `undefined` when it declares none. */
|
|
702
789
|
readonly local: LocalContext<Spec>;
|
|
703
790
|
}
|
|
704
|
-
/**
|
|
705
|
-
* The service environment required by a system.
|
|
706
|
-
*/
|
|
707
|
-
export type SystemDependencies<Spec extends AnySystemSpec> = ServiceContext<Spec>;
|
|
708
791
|
type DescriptorFromAccess<Access> = Access extends {
|
|
709
792
|
readonly descriptor: infer D extends Requirement.Requirement;
|
|
710
793
|
} ? D : never;
|
|
@@ -726,11 +809,11 @@ export interface SystemFailure<out Name extends string = string, out Error = unk
|
|
|
726
809
|
readonly error: Error;
|
|
727
810
|
}
|
|
728
811
|
/** Extracts the normalized failure carried by one system definition. */
|
|
729
|
-
export type FailureOf<Value> = Value extends SystemDefinition<any,
|
|
812
|
+
export type FailureOf<Value> = Value extends SystemDefinition<any, infer Error, any, infer Name, any> ? [Error] extends [never] ? never : SystemFailure<Name, Error> : never;
|
|
730
813
|
/**
|
|
731
814
|
* A fully defined system value ready to be placed into a schedule.
|
|
732
815
|
*/
|
|
733
|
-
export interface SystemDefinition<Spec extends AnySystemSpec, out
|
|
816
|
+
export interface SystemDefinition<Spec extends AnySystemSpec, out E = never, out Root = unknown, out Name extends string = string, out Needs extends Requirement.Requirement = Requirement.Requirement> {
|
|
734
817
|
/**
|
|
735
818
|
* Human-readable declaration name used to derive the internal typed label.
|
|
736
819
|
*/
|
|
@@ -758,27 +841,41 @@ export interface SystemDefinition<Spec extends AnySystemSpec, out A = void, out
|
|
|
758
841
|
/**
|
|
759
842
|
* The executable implementation of the system.
|
|
760
843
|
*/
|
|
761
|
-
readonly run: SystemRun<Spec,
|
|
844
|
+
readonly run: SystemRun<Spec, E>;
|
|
762
845
|
/**
|
|
763
846
|
* The system this one is a gated copy of, made by `Schedule.when(...)`:
|
|
764
847
|
* the same system with extra run conditions. The runtime keys per-system
|
|
765
848
|
* state (change detection, event cursors) by the original, so a system and
|
|
766
849
|
* its gated copies are one reader.
|
|
767
850
|
*/
|
|
768
|
-
readonly base?: SystemDefinition<any, any, any, any, any
|
|
851
|
+
readonly base?: SystemDefinition<any, any, any, any, any> | undefined;
|
|
769
852
|
}
|
|
770
853
|
/**
|
|
771
854
|
* A system implementation.
|
|
772
855
|
*
|
|
773
|
-
* Return nothing for a system that cannot fail. Return
|
|
774
|
-
*
|
|
775
|
-
*
|
|
856
|
+
* Return nothing for a system that cannot fail. Return
|
|
857
|
+
* `Result.failure(error)` for an expected failure: the system's ECS writes
|
|
858
|
+
* are rolled back, its commands and events are dropped, and the tick stops
|
|
859
|
+
* with a typed `SystemFailure` whose `error` is inferred from every
|
|
860
|
+
* `Result.failure(...)` the body returns. A returned success
|
|
861
|
+
* (`Result.success(...)`) behaves like returning nothing. Exceptions are
|
|
862
|
+
* defects, not failures: they roll back the same way and are rethrown.
|
|
863
|
+
*
|
|
864
|
+
* @example
|
|
865
|
+
* ```ts
|
|
866
|
+
* const Spend = Game.System("Spend", {
|
|
867
|
+
* resources: { gold: Game.System.writeResource(Gold) }
|
|
868
|
+
* }, ({ resources }) => {
|
|
869
|
+
* if (resources.gold.get() < 10) return Result.failure("NotEnoughGold" as const)
|
|
870
|
+
* resources.gold.update((gold) => gold - 10)
|
|
871
|
+
* })
|
|
872
|
+
* ```
|
|
776
873
|
*/
|
|
777
|
-
export type SystemRun<Spec extends AnySystemSpec,
|
|
874
|
+
export type SystemRun<Spec extends AnySystemSpec, E = never> = (context: SystemContext<Spec>) => Result.Result<unknown, E> | void;
|
|
778
875
|
export declare function System<const Access extends SystemAccessInput & {
|
|
779
876
|
readonly schema: Schema.Any;
|
|
780
|
-
},
|
|
877
|
+
}, E = never, Root = unknown, const Name extends string = string>(name: Name, spec: Access & {
|
|
781
878
|
readonly [Key in Exclude<keyof Access, keyof SystemAccessInput | "schema">]: never;
|
|
782
|
-
}, run: SystemRun<SystemSpec<Access["schema"], Access, Root>,
|
|
879
|
+
}, run: SystemRun<SystemSpec<Access["schema"], Access, Root>, E>): SystemDefinition<SystemSpec<Access["schema"], Access, Root>, E, Root, Name, SystemAccessNeeds<Access>>;
|
|
783
880
|
export {};
|
|
784
881
|
//# sourceMappingURL=System.d.ts.map
|
package/dist/System.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"System.d.ts","sourceRoot":"","sources":["../src/System.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"System.d.ts","sourceRoot":"","sources":["../src/System.ts"],"names":[],"mappings":"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"}
|
package/dist/System.js
CHANGED
|
@@ -80,7 +80,7 @@ export const readEvent = (descriptor) => ({
|
|
|
80
80
|
*
|
|
81
81
|
* If the payload needs to name an entity for later work, emit a durable
|
|
82
82
|
* `Game.Entity.handle(...)` (optionally with an intent component) and let the later
|
|
83
|
-
* reader re-resolve it through `
|
|
83
|
+
* reader re-resolve it through `queries.x.getHandle(...)` (through a declared query).
|
|
84
84
|
*
|
|
85
85
|
* @example
|
|
86
86
|
* ```ts
|
|
@@ -97,6 +97,50 @@ export const writeEvent = (descriptor) => ({
|
|
|
97
97
|
mode: "write",
|
|
98
98
|
descriptor
|
|
99
99
|
});
|
|
100
|
+
/**
|
|
101
|
+
* Requires that every system writing this event or resource runs earlier in
|
|
102
|
+
* the same `runtime.tick(...)` call than the reading system: the reader then
|
|
103
|
+
* sees this tick's data, never last tick's. The library never reorders
|
|
104
|
+
* anything; it only checks.
|
|
105
|
+
*
|
|
106
|
+
* `runtime.tick(...)` checks it at compile time over everything passed to that
|
|
107
|
+
* call, in order (gated groups count by position), and rejects a writer that
|
|
108
|
+
* runs after the reader and a call whose order is not statically known. A
|
|
109
|
+
* read with no writer in the call compiles (a reader reused in several
|
|
110
|
+
* ticks); the `event-never-written` lint reports data nobody writes.
|
|
111
|
+
* `tryTick` checks the same at runtime.
|
|
112
|
+
*
|
|
113
|
+
* Use it on reads whose correctness depends on running after their writers
|
|
114
|
+
* (damage applied the tick it is dealt). A plain read is right when last
|
|
115
|
+
* tick's data is acceptable.
|
|
116
|
+
*
|
|
117
|
+
* On a query (`queries: { enemies: Game.System.thisTick(Enemies) }`), the
|
|
118
|
+
* writers are systems whose declared commands can change what it matches:
|
|
119
|
+
* `spawns` covering every component it requires, or `inserts` / `removes` of
|
|
120
|
+
* any component it names (selection slots, optional ones included, `with`,
|
|
121
|
+
* `without`, filters). Each must run earlier with an `applyDeferred()` (or
|
|
122
|
+
* `applyStateTransitions(...)`) between it and the reader, since commands
|
|
123
|
+
* apply only there. `despawns` never count: a despawned entity stays visible
|
|
124
|
+
* to queries until the next `applyDeferred()`. Nested schedules are
|
|
125
|
+
* flattened, gated groups count by position, and a transition bundle counts
|
|
126
|
+
* at its `applyStateTransitions(...)` step (which applies queued commands
|
|
127
|
+
* first), as if every schedule in it runs, markers inside included.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```ts
|
|
131
|
+
* const ApplyDamage = Game.System("ApplyDamage", {
|
|
132
|
+
* events: { damage: Game.System.thisTick(Game.System.readEvent(Damage)) }
|
|
133
|
+
* }, ({ events }) => { ... })
|
|
134
|
+
*
|
|
135
|
+
* runtime.tick(Game.Schedule(DealDamage, ApplyDamage)) // compiles
|
|
136
|
+
* runtime.tick(Game.Schedule(ApplyDamage, DealDamage)) // "ApplyDamage needs Damage from this tick, but its writer DealDamage runs after it"
|
|
137
|
+
*
|
|
138
|
+
* const AimAtNewest = Game.System("AimAtNewest", { queries: { enemies: Game.System.thisTick(Enemies) } }, ...)
|
|
139
|
+
* runtime.tick(Game.Schedule(SpawnWave, Game.Schedule.applyDeferred(), AimAtNewest)) // compiles
|
|
140
|
+
* runtime.tick(Game.Schedule(SpawnWave, AimAtNewest)) // "AimAtNewest needs this tick's commands for queries.enemies, but SpawnWave queues them with no applyDeferred() in between"
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
export const thisTick = (read) => ({ ...read, thisTick: true });
|
|
100
144
|
/**
|
|
101
145
|
* Declares read access to the current committed value of a finite-state machine.
|
|
102
146
|
*
|
|
@@ -129,7 +173,7 @@ export const transition = (stateMachine) => Machine.transition(stateMachine);
|
|
|
129
173
|
* normal events: each run sees those published since its previous run.
|
|
130
174
|
*
|
|
131
175
|
* This is one of the clearest signs that the modeled value should be a machine
|
|
132
|
-
* rather than a
|
|
176
|
+
* rather than a resource or a `Descriptor.EntityState` component.
|
|
133
177
|
*/
|
|
134
178
|
export const readTransitionEvent = (stateMachine) => Machine.readTransitionEvent(stateMachine);
|
|
135
179
|
/**
|
|
@@ -141,8 +185,9 @@ export const readTransitionEvent = (stateMachine) => Machine.readTransitionEvent
|
|
|
141
185
|
* ticked less often than the one that removes (rendering after several fixed
|
|
142
186
|
* updates) still sees every removal. A system skipped by its run conditions
|
|
143
187
|
* keeps its position, like `added`/`changed`, and sees the removals when it
|
|
144
|
-
* runs again. Each log is capped at `Runtime.streamCapacity` entries;
|
|
145
|
-
*
|
|
188
|
+
* runs again. Each log is capped at `Runtime.streamCapacity` entries; a
|
|
189
|
+
* reader that missed dropped ones sees `lagged() === true` (and a `missed`
|
|
190
|
+
* read in the debug trace). Systems usually pair this
|
|
146
191
|
* with host cleanup such as removing renderer-owned nodes. {@link readDespawned}
|
|
147
192
|
* complements this for whole-entity teardown.
|
|
148
193
|
*
|
|
@@ -196,8 +241,8 @@ export const readDespawned = () => ({
|
|
|
196
241
|
* Defines a system from an explicit spec and a typed implementation.
|
|
197
242
|
*
|
|
198
243
|
* This is the public entrypoint for authoring systems. The implementation only
|
|
199
|
-
* receives the capabilities declared in the spec
|
|
200
|
-
*
|
|
244
|
+
* receives the capabilities declared in the spec; return
|
|
245
|
+
* `Result.failure(error)` for an expected failure (see {@link SystemRun}).
|
|
201
246
|
*
|
|
202
247
|
* Use the string-name overload in normal code. The name is turned into an
|
|
203
248
|
* internal ordering token automatically, so the system can participate in
|
|
@@ -265,6 +310,7 @@ export function System(name, spec, run) {
|
|
|
265
310
|
pauseWhen: spec.pauseWhen ?? [],
|
|
266
311
|
transitions: spec.transitions ?? {},
|
|
267
312
|
local: spec.local,
|
|
313
|
+
commands: spec.commands,
|
|
268
314
|
__schemaRoot: undefined
|
|
269
315
|
};
|
|
270
316
|
return {
|
package/dist/System.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"System.js","sourceRoot":"","sources":["../src/System.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"System.js","sourceRoot":"","sources":["../src/System.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* small number of stable namespaces instead of many deep internal paths.
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
|
-
* Branding helpers for validated
|
|
8
|
+
* Branding helpers for packages that author validated value types (like
|
|
9
|
+
* `@typeonce/ritmo-math`). Game code validates through descriptors instead.
|
|
9
10
|
*/
|
|
10
11
|
export * as Brand from "./Brand.ts";
|
|
11
12
|
/**
|
|
@@ -17,13 +18,13 @@ export * as Decode from "./Decode.ts";
|
|
|
17
18
|
*/
|
|
18
19
|
export * as Debug from "./Debug.ts";
|
|
19
20
|
/**
|
|
20
|
-
*
|
|
21
|
+
* Simulation time: the fixed step, the clock resource, durations in whole steps.
|
|
21
22
|
*/
|
|
22
|
-
export * as
|
|
23
|
+
export * as Clock from "./Clock.ts";
|
|
23
24
|
/**
|
|
24
|
-
*
|
|
25
|
+
* Descriptor authoring helpers.
|
|
25
26
|
*/
|
|
26
|
-
export * as
|
|
27
|
+
export * as Descriptor from "./Descriptor.ts";
|
|
27
28
|
/**
|
|
28
29
|
* Entity identity and proof helpers.
|
|
29
30
|
*/
|
|
@@ -33,9 +34,9 @@ export * as Entity from "./Entity.ts";
|
|
|
33
34
|
*/
|
|
34
35
|
export * as EntityScope from "./EntityScope.ts";
|
|
35
36
|
/**
|
|
36
|
-
*
|
|
37
|
+
* The host's wall clock as an injected contract (`standard`, `test()`).
|
|
37
38
|
*/
|
|
38
|
-
export * as
|
|
39
|
+
export * as HostClock from "./HostClock.ts";
|
|
39
40
|
/**
|
|
40
41
|
* Read-only typed world projections.
|
|
41
42
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
|