@typeonce/ritmo 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +2 -0
  2. package/dist/Brand.d.ts +9 -4
  3. package/dist/Brand.d.ts.map +1 -1
  4. package/dist/Brand.js +9 -4
  5. package/dist/Brand.js.map +1 -1
  6. package/dist/Clock.d.ts +186 -0
  7. package/dist/Clock.d.ts.map +1 -0
  8. package/dist/Clock.js +111 -0
  9. package/dist/Clock.js.map +1 -0
  10. package/dist/Command.d.ts +250 -41
  11. package/dist/Command.d.ts.map +1 -1
  12. package/dist/Command.js +59 -23
  13. package/dist/Command.js.map +1 -1
  14. package/dist/Condition.d.ts +12 -1
  15. package/dist/Condition.d.ts.map +1 -1
  16. package/dist/Condition.js.map +1 -1
  17. package/dist/Debug.d.ts +163 -15
  18. package/dist/Debug.d.ts.map +1 -1
  19. package/dist/Debug.js.map +1 -1
  20. package/dist/Decode.d.ts +1 -1
  21. package/dist/Decode.js +1 -1
  22. package/dist/Descriptor.d.ts +67 -24
  23. package/dist/Descriptor.d.ts.map +1 -1
  24. package/dist/Descriptor.js +32 -15
  25. package/dist/Descriptor.js.map +1 -1
  26. package/dist/Entity.d.ts +22 -5
  27. package/dist/Entity.d.ts.map +1 -1
  28. package/dist/Entity.js +2 -2
  29. package/dist/Entity.js.map +1 -1
  30. package/dist/EntityScope.d.ts +26 -1
  31. package/dist/EntityScope.d.ts.map +1 -1
  32. package/dist/EntityScope.js +14 -2
  33. package/dist/EntityScope.js.map +1 -1
  34. package/dist/HostClock.d.ts +49 -0
  35. package/dist/HostClock.d.ts.map +1 -0
  36. package/dist/HostClock.js +46 -0
  37. package/dist/HostClock.js.map +1 -0
  38. package/dist/Inspector.d.ts +7 -1
  39. package/dist/Inspector.d.ts.map +1 -1
  40. package/dist/Inspector.js.map +1 -1
  41. package/dist/Machine.d.ts +67 -36
  42. package/dist/Machine.d.ts.map +1 -1
  43. package/dist/Machine.js +10 -3
  44. package/dist/Machine.js.map +1 -1
  45. package/dist/Query.d.ts +74 -26
  46. package/dist/Query.d.ts.map +1 -1
  47. package/dist/Query.js +32 -28
  48. package/dist/Query.js.map +1 -1
  49. package/dist/Runtime.d.ts +39 -16
  50. package/dist/Runtime.d.ts.map +1 -1
  51. package/dist/Runtime.js +556 -87
  52. package/dist/Runtime.js.map +1 -1
  53. package/dist/Schedule.d.ts +217 -10
  54. package/dist/Schedule.d.ts.map +1 -1
  55. package/dist/Schedule.js +5 -0
  56. package/dist/Schedule.js.map +1 -1
  57. package/dist/Schema.d.ts +196 -44
  58. package/dist/Schema.d.ts.map +1 -1
  59. package/dist/Schema.js +29 -11
  60. package/dist/Schema.js.map +1 -1
  61. package/dist/Snapshot.d.ts +14 -0
  62. package/dist/Snapshot.d.ts.map +1 -1
  63. package/dist/Snapshot.js.map +1 -1
  64. package/dist/System.d.ts +212 -58
  65. package/dist/System.d.ts.map +1 -1
  66. package/dist/System.js +84 -6
  67. package/dist/System.js.map +1 -1
  68. package/dist/index.d.ts +8 -7
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +8 -7
  71. package/dist/index.js.map +1 -1
  72. package/dist/internal/cells.d.ts +3 -3
  73. package/dist/internal/cells.d.ts.map +1 -1
  74. package/dist/internal/cells.js +9 -11
  75. package/dist/internal/cells.js.map +1 -1
  76. package/dist/internal/debug.d.ts +13 -0
  77. package/dist/internal/debug.d.ts.map +1 -1
  78. package/dist/internal/debug.js +192 -7
  79. package/dist/internal/debug.js.map +1 -1
  80. package/dist/internal/equal.d.ts +8 -0
  81. package/dist/internal/equal.d.ts.map +1 -0
  82. package/dist/internal/equal.js +38 -0
  83. package/dist/internal/equal.js.map +1 -0
  84. package/dist/internal/fragments.d.ts.map +1 -1
  85. package/dist/internal/fragments.js +11 -1
  86. package/dist/internal/fragments.js.map +1 -1
  87. package/dist/internal/game.d.ts.map +1 -1
  88. package/dist/internal/game.js +41 -6
  89. package/dist/internal/game.js.map +1 -1
  90. package/dist/internal/order.d.ts +10 -0
  91. package/dist/internal/order.d.ts.map +1 -0
  92. package/dist/internal/order.js +122 -0
  93. package/dist/internal/order.js.map +1 -0
  94. package/dist/internal/queries.d.ts.map +1 -1
  95. package/dist/internal/queries.js +32 -10
  96. package/dist/internal/queries.js.map +1 -1
  97. package/dist/internal/requirements.d.ts +26 -0
  98. package/dist/internal/requirements.d.ts.map +1 -0
  99. package/dist/internal/requirements.js +46 -0
  100. package/dist/internal/requirements.js.map +1 -0
  101. package/package.json +1 -1
  102. package/src/Brand.ts +9 -4
  103. package/src/Clock.ts +311 -0
  104. package/src/Command.ts +407 -89
  105. package/src/Condition.ts +17 -1
  106. package/src/Debug.ts +172 -14
  107. package/src/Decode.ts +1 -1
  108. package/src/Descriptor.ts +92 -37
  109. package/src/Entity.ts +24 -5
  110. package/src/EntityScope.ts +27 -2
  111. package/src/HostClock.ts +64 -0
  112. package/src/Inspector.ts +7 -2
  113. package/src/Machine.ts +81 -37
  114. package/src/Query.ts +110 -38
  115. package/src/Runtime.ts +607 -111
  116. package/src/Schedule.ts +380 -13
  117. package/src/Schema.ts +249 -63
  118. package/src/Snapshot.ts +4 -0
  119. package/src/System.ts +248 -93
  120. package/src/index.ts +8 -7
  121. package/src/internal/cells.ts +10 -12
  122. package/src/internal/debug.ts +208 -12
  123. package/src/internal/equal.ts +31 -0
  124. package/src/internal/fragments.ts +12 -2
  125. package/src/internal/game.ts +61 -7
  126. package/src/internal/order.ts +144 -0
  127. package/src/internal/queries.ts +37 -13
  128. package/src/internal/requirements.ts +71 -0
  129. package/dist/Definition.d.ts +0 -99
  130. package/dist/Definition.d.ts.map +0 -1
  131. package/dist/Definition.js +0 -68
  132. package/dist/Definition.js.map +0 -1
  133. package/dist/Feature.d.ts +0 -106
  134. package/dist/Feature.d.ts.map +0 -1
  135. package/dist/Feature.js +0 -87
  136. package/dist/Feature.js.map +0 -1
  137. package/dist/Fx.d.ts +0 -128
  138. package/dist/Fx.d.ts.map +0 -1
  139. package/dist/Fx.js +0 -112
  140. package/dist/Fx.js.map +0 -1
  141. package/dist/internal/definition.d.ts +0 -17
  142. package/dist/internal/definition.d.ts.map +0 -1
  143. package/dist/internal/definition.js +0 -25
  144. package/dist/internal/definition.js.map +0 -1
  145. package/src/Definition.ts +0 -106
  146. package/src/Feature.ts +0 -241
  147. package/src/Fx.ts +0 -176
  148. package/src/internal/definition.ts +0 -56
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
  *
@@ -172,6 +171,43 @@ export declare const readResource: <D extends Descriptor<"resource", string, any
172
171
  * ```
173
172
  */
174
173
  export declare const writeResource: <D extends Descriptor<"resource", string, any>>(descriptor: D) => ResourceWrite<D>;
174
+ /**
175
+ * Declares read access to a resource plus whether it changed since this
176
+ * system's previous completed run.
177
+ */
178
+ export type ResourceChanged<D extends Descriptor<"resource", string, any>> = {
179
+ readonly mode: "changed";
180
+ readonly descriptor: D;
181
+ };
182
+ /**
183
+ * Creates a resource read that also reports `changed()`: whether a committed
184
+ * write left a different value since this system's previous completed run.
185
+ *
186
+ * Use it for work worth doing only when a value moved: rewriting a HUD label,
187
+ * rebuilding a cache from settings. Use `readResource` when the system needs
188
+ * the value every run anyway.
189
+ *
190
+ * A write that leaves an equal value is not a change: primitives compare
191
+ * with `Object.is`, plain objects and arrays by their entries, other objects
192
+ * by reference. This differs from `Game.Query.changed`, where every write
193
+ * through a component write cell counts. The first run reports `true`; a
194
+ * failed run (rolled back) is not a change, and a failed reader sees the same
195
+ * change again next run. Its own writes are not reported to the writer.
196
+ *
197
+ * Conditions (`Game.Condition.check`) cannot declare it: they own no cursor.
198
+ *
199
+ * @example
200
+ * ```ts
201
+ * const SyncHud = Game.System("SyncHud", {
202
+ * resources: { score: Game.System.changedResource(Score) },
203
+ * services: { hud: Game.System.service(Hud) }
204
+ * }, ({ resources, services }) => {
205
+ * if (!resources.score.changed()) return
206
+ * services.hud.score.textContent = `${resources.score.get()}`
207
+ * })
208
+ * ```
209
+ */
210
+ export declare const changedResource: <D extends Descriptor<"resource", string, any>>(descriptor: D) => ResourceChanged<D>;
175
211
  /**
176
212
  * Declares read-only access to an event stream.
177
213
  */
@@ -216,7 +252,7 @@ export declare const readEvent: <D extends Descriptor<"event", string, any>>(des
216
252
  *
217
253
  * If the payload needs to name an entity for later work, emit a durable
218
254
  * `Game.Entity.handle(...)` (optionally with an intent component) and let the later
219
- * reader re-resolve it through `lookup.getHandle(...)`.
255
+ * reader re-resolve it through `queries.x.getHandle(...)` (through a declared query).
220
256
  *
221
257
  * @example
222
258
  * ```ts
@@ -230,6 +266,54 @@ export declare const readEvent: <D extends Descriptor<"event", string, any>>(des
230
266
  * ```
231
267
  */
232
268
  export declare const writeEvent: <D extends Descriptor<"event", string, any>>(descriptor: D) => EventWrite<D>;
269
+ /** The marker `thisTick(...)` adds to a read. */
270
+ export interface ThisTick {
271
+ readonly thisTick: true;
272
+ }
273
+ /**
274
+ * Requires that every system writing this event or resource runs earlier in
275
+ * the same `runtime.tick(...)` call than the reading system: the reader then
276
+ * sees this tick's data, never last tick's. The library never reorders
277
+ * anything; it only checks.
278
+ *
279
+ * `runtime.tick(...)` checks it at compile time over everything passed to that
280
+ * call, in order (gated groups count by position), and rejects a writer that
281
+ * runs after the reader and a call whose order is not statically known. A
282
+ * read with no writer in the call compiles (a reader reused in several
283
+ * ticks); the `event-never-written` lint reports data nobody writes.
284
+ * `tryTick` checks the same at runtime.
285
+ *
286
+ * Use it on reads whose correctness depends on running after their writers
287
+ * (damage applied the tick it is dealt). A plain read is right when last
288
+ * tick's data is acceptable.
289
+ *
290
+ * On a query (`queries: { enemies: Game.System.thisTick(Enemies) }`), the
291
+ * writers are systems whose declared commands can change what it matches:
292
+ * `spawns` covering every component it requires, or `inserts` / `removes` of
293
+ * any component it names (selection slots, optional ones included, `with`,
294
+ * `without`, filters). Each must run earlier with an `applyDeferred()` (or
295
+ * `applyStateTransitions(...)`) between it and the reader, since commands
296
+ * apply only there. `despawns` never count: a despawned entity stays visible
297
+ * to queries until the next `applyDeferred()`. Nested schedules are
298
+ * flattened, gated groups count by position, and a transition bundle counts
299
+ * at its `applyStateTransitions(...)` step (which applies queued commands
300
+ * first), as if every schedule in it runs, markers inside included.
301
+ *
302
+ * @example
303
+ * ```ts
304
+ * const ApplyDamage = Game.System("ApplyDamage", {
305
+ * events: { damage: Game.System.thisTick(Game.System.readEvent(Damage)) }
306
+ * }, ({ events }) => { ... })
307
+ *
308
+ * runtime.tick(Game.Schedule(DealDamage, ApplyDamage)) // compiles
309
+ * runtime.tick(Game.Schedule(ApplyDamage, DealDamage)) // "ApplyDamage needs Damage from this tick, but its writer DealDamage runs after it"
310
+ *
311
+ * const AimAtNewest = Game.System("AimAtNewest", { queries: { enemies: Game.System.thisTick(Enemies) } }, ...)
312
+ * runtime.tick(Game.Schedule(SpawnWave, Game.Schedule.applyDeferred(), AimAtNewest)) // compiles
313
+ * runtime.tick(Game.Schedule(SpawnWave, AimAtNewest)) // "AimAtNewest needs this tick's commands for queries.enemies, but SpawnWave queues them with no applyDeferred() in between"
314
+ * ```
315
+ */
316
+ export declare const thisTick: <Read extends EventRead<Descriptor<"event", string, any>> | ResourceRead<Descriptor<"resource", string, any>> | ResourceChanged<Descriptor<"resource", string, any>> | Query.Any<any>>(read: Read) => Read & ThisTick;
233
317
  /**
234
318
  * Declares read access to the current committed value of a finite-state machine.
235
319
  *
@@ -262,13 +346,13 @@ export declare const transition: <M extends Machine.StateMachine.Any>(stateMachi
262
346
  * normal events: each run sees those published since its previous run.
263
347
  *
264
348
  * This is one of the clearest signs that the modeled value should be a machine
265
- * rather than a plain state descriptor.
349
+ * rather than a resource or a `Descriptor.EntityState` component.
266
350
  */
267
351
  export declare const readTransitionEvent: <M extends Machine.StateMachine.Any>(stateMachine: M) => Machine.TransitionEventRead<M>;
268
352
  /**
269
353
  * Internal union for all supported resource access declarations.
270
354
  */
271
- type ResourceAccess = ResourceRead<Descriptor<"resource", string, any>> | ResourceWrite<Descriptor<"resource", string, any>>;
355
+ type ResourceAccess = ResourceRead<Descriptor<"resource", string, any>> | ResourceChanged<Descriptor<"resource", string, any>> | ResourceWrite<Descriptor<"resource", string, any>>;
272
356
  /**
273
357
  * Internal union for all supported event access declarations.
274
358
  */
@@ -278,6 +362,14 @@ type EventAccess = EventRead<Descriptor<"event", string, any>> | EventWrite<Desc
278
362
  */
279
363
  export interface ResourceReadView<T> extends ReadCell<T> {
280
364
  }
365
+ /**
366
+ * A read-only view over a resource value that also reports whether it
367
+ * changed since this system's previous completed run (`changedResource`).
368
+ */
369
+ export interface ResourceChangedView<T> extends ReadCell<T> {
370
+ /** Whether a committed write left a different value since this system's previous completed run. `true` on the first run. */
371
+ changed(): boolean;
372
+ }
281
373
  /**
282
374
  * A mutable view over a resource value.
283
375
  */
@@ -306,7 +398,8 @@ export interface EventWriteView<T> {
306
398
  * A read-only view over one committed finite-state-machine value.
307
399
  */
308
400
  export interface MachineReadView<M extends Machine.StateMachine.Any = Machine.StateMachine.Any> {
309
- get(): Machine.StateMachine.Value<M>;
401
+ /** The committed value; `undefined` only for a sub-state whose parent is in another state. */
402
+ get(): Machine.CurrentValue<M>;
310
403
  is(value: Machine.StateMachine.Value<M>): boolean;
311
404
  }
312
405
  /**
@@ -314,18 +407,29 @@ export interface MachineReadView<M extends Machine.StateMachine.Any = Machine.St
314
407
  */
315
408
  export interface NextMachineWriteView<M extends Machine.StateMachine.Any = Machine.StateMachine.Any> {
316
409
  getPending(): Machine.StateMachine.Value<M> | undefined;
317
- set(value: Machine.StateMachine.Value<M>): void;
318
- setIfChanged(value: Machine.StateMachine.Value<M>): void;
410
+ /**
411
+ * Queues `value`, committed at the next `applyStateTransitions(...)`. For a
412
+ * sub-state it returns a `Result` that fails with `SubStateInactive` (and
413
+ * queues nothing) while the parent is in another state.
414
+ */
415
+ set(value: Machine.StateMachine.Value<M>): Machine.SetResult<M>;
416
+ /** Like `set`, but committing the current value again is skipped (no exit or enter schedules). */
417
+ setIfChanged(value: Machine.StateMachine.Value<M>): Machine.SetResult<M>;
319
418
  reset(): void;
320
419
  }
321
420
  /**
322
421
  * A read-only view over the last applied transition payload for one machine.
422
+ *
423
+ * Only meaningful inside transition schedules, so it is only given to
424
+ * systems that declare `transitions: { x: Game.System.transition(M) }`.
323
425
  */
324
426
  export interface TransitionReadView<M extends Machine.StateMachine.Any = Machine.StateMachine.Any> {
325
427
  get(): Machine.TransitionSnapshot<M>;
326
428
  }
327
429
  /**
328
- * A read-only event stream of committed machine transitions.
430
+ * A read-only event stream of committed machine transitions, published by
431
+ * `applyStateTransitions(...)`. Like events, each reader sees the
432
+ * transitions published since its own previous run.
329
433
  */
330
434
  export interface TransitionEventReadView<M extends Machine.StateMachine.Any = Machine.StateMachine.Any> {
331
435
  all(): ReadonlyArray<Machine.TransitionSnapshot<M>>;
@@ -368,8 +472,9 @@ export interface RelationFailureRead<R extends Relation.Relation.Any> {
368
472
  * ticked less often than the one that removes (rendering after several fixed
369
473
  * updates) still sees every removal. A system skipped by its run conditions
370
474
  * keeps its position, like `added`/`changed`, and sees the removals when it
371
- * runs again. Each log is capped at `Runtime.streamCapacity` entries; drops
372
- * show up as `missed` reads in the debug trace. Systems usually pair this
475
+ * runs again. Each log is capped at `Runtime.streamCapacity` entries; a
476
+ * reader that missed dropped ones sees `lagged() === true` (and a `missed`
477
+ * read in the debug trace). Systems usually pair this
373
478
  * with host cleanup such as removing renderer-owned nodes. {@link readDespawned}
374
479
  * complements this for whole-entity teardown.
375
480
  *
@@ -418,12 +523,28 @@ export declare const readDespawned: () => DespawnedRead;
418
523
  */
419
524
  export interface RemovedReadView<S extends Schema.Any, Root = unknown> {
420
525
  all(): ReadonlyArray<import("./Entity.ts").EntityId<S, Root>>;
526
+ /**
527
+ * Whether records published since this system's previous run were dropped
528
+ * before it read them. Records wait for every reading system, so this only
529
+ * happens when a reader has not run for so long that the log exceeded its
530
+ * capacity (see `Runtime.streamCapacity`). Check it where a missed record
531
+ * would leak host state (a renderer node never destroyed).
532
+ */
533
+ lagged(): boolean;
421
534
  }
422
535
  /**
423
536
  * A read-only lifecycle stream of despawned entity ids.
424
537
  */
425
538
  export interface DespawnedReadView<S extends Schema.Any, Root = unknown> {
426
539
  all(): ReadonlyArray<import("./Entity.ts").EntityId<S, Root>>;
540
+ /**
541
+ * Whether records published since this system's previous run were dropped
542
+ * before it read them. Records wait for every reading system, so this only
543
+ * happens when a reader has not run for so long that the log exceeded its
544
+ * capacity (see `Runtime.streamCapacity`). Check it where a missed record
545
+ * would leak host state (a renderer node never destroyed).
546
+ */
547
+ lagged(): boolean;
427
548
  }
428
549
  /**
429
550
  * A read-only stream of deferred relation-mutation failures.
@@ -449,8 +570,35 @@ export interface QueryHandle<S extends Schema.Any, Q extends Query.Any> {
449
570
  each(): ReadonlyArray<QueryMatch<S, Q>>;
450
571
  /**
451
572
  * Retrieves the match for one specific entity id when it satisfies the query.
573
+ *
574
+ * Every read and write of an entity goes through a query the system
575
+ * declares, so its access is visible in the spec: there is no lookup that
576
+ * takes a query at call time.
452
577
  */
453
578
  get(entityId: import("./Entity.ts").EntityId<S, Query.Root<Q>>): Result.Result<QueryMatch<S, Q>, Query.LookupError>;
579
+ /**
580
+ * Resolves a stored durable handle back into this query's access.
581
+ *
582
+ * Use this for handles carried in events, resources, or components. A handle
583
+ * is storage-safe, not proof of liveness, so stale or mismatched handles stay
584
+ * explicit typed failures. A handle with an intent component needs a query
585
+ * that proves it (selects or requires it).
586
+ */
587
+ 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>;
588
+ /**
589
+ * The direct children of one hierarchy parent that match this query, in the
590
+ * stored child order. Children that do not match are skipped; a missing
591
+ * parent is a `MissingEntity` failure.
592
+ */
593
+ 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>;
594
+ /**
595
+ * The hierarchy descendants of one entity that match this query, in
596
+ * `options.order` (depth-first by default). Descendants that do not match
597
+ * are skipped. `lookup.descendants` returns every descendant's id instead.
598
+ */
599
+ descendants<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Hierarchy>>(entityId: Entity.EntityId<S, Query.Root<Q>>, relation: R, options?: {
600
+ readonly order?: "breadth" | "depth";
601
+ }): Result.Result<ReadonlyArray<QueryMatch<S, Q>>, Relation.Relation.MissingEntityError>;
454
602
  /**
455
603
  * Returns a single match when exactly one entity satisfies the query.
456
604
  */
@@ -475,52 +623,26 @@ export interface QueryHandle<S extends Schema.Any, Q extends Query.Any> {
475
623
  singleOptional(): Result.Result<QueryMatch<S, Q> | undefined, Query.MultipleEntitiesError>;
476
624
  }
477
625
  /**
478
- * Typed entity lookup API exposed to systems.
626
+ * Relation lookups exposed to systems: entity ids along relation edges.
479
627
  *
480
- * Use this when you already have an entity id and want a validated, typed view
481
- * over a specific component access specification.
628
+ * Lookups return ids only. To read or write the entities they lead to, pass
629
+ * the ids to a declared query (`queries.x.get(id)`), or use the query
630
+ * handle's `children` / `descendants`, so every access stays in the spec.
482
631
  *
483
632
  * All lookup methods are total and explicit:
484
633
  *
485
634
  * - no hidden exceptions
486
- * - stale handles are treated as normal typed failures
635
+ * - missing entities are normal typed failures
487
636
  * - hierarchy traversal is available only for hierarchy relations
488
637
  */
489
638
  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
639
  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
640
  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
641
  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
642
  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
643
  descendants<R extends Extract<Schema.Relations<S>[keyof Schema.Relations<S>], Relation.Relation.Hierarchy>>(entityId: Entity.EntityId<S, Root>, relation: R, options?: {
512
644
  readonly order?: "breadth" | "depth";
513
645
  }): 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
646
  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
647
  }
526
648
  /**
@@ -554,6 +676,25 @@ export interface SystemAccessInput {
554
676
  readonly removed?: Record<string, RemovedRead<Descriptor<"component", string, any>>>;
555
677
  readonly despawned?: Record<string, DespawnedRead>;
556
678
  readonly relationFailures?: Record<string, RelationFailureRead<Relation.Relation.Any>>;
679
+ /**
680
+ * The commands the system may queue: `Game.System.commands(...)` with
681
+ * `spawns`, `inserts`, `removes`, `despawns`, `despawnsScope`, and
682
+ * `relates` permissions. Without it the system has no `commands`.
683
+ */
684
+ readonly commands?: CommandAccess.Any;
685
+ /**
686
+ * Run conditions that skip the system: while one fails, the system does not
687
+ * run and the events, transition events, and relation failures published
688
+ * meanwhile are dropped for it. Use it for a mode change after which those
689
+ * messages are stale (menu, game over); use `pauseWhen` instead for a freeze
690
+ * whose messages stay valid. `Schedule.when(...)` adds conditions to a whole
691
+ * group.
692
+ *
693
+ * Four gating forms, one rule: `when` drops the events published while
694
+ * gated (the system resumes on fresh messages), `pauseWhen` keeps them (the
695
+ * system resumes and reads the backlog). Put them on one system's spec, or
696
+ * on a group with `Schedule.when(...)` / `Schedule.pauseWhen(...)`.
697
+ */
557
698
  readonly when?: ReadonlyArray<Machine.Condition>;
558
699
  /**
559
700
  * Run conditions that pause the system instead of skipping it: while one
@@ -614,6 +755,7 @@ export type SystemSpec<S extends Schema.Any, Access extends SystemAccessInput =
614
755
  readonly pauseWhen: AccessField<Access, "pauseWhen", readonly []>;
615
756
  readonly transitions: AccessField<Access, "transitions", {}>;
616
757
  readonly local: LocalFactory<Access>;
758
+ readonly commands: "commands" extends keyof Access ? NonNullable<Access["commands"]> : undefined;
617
759
  readonly schema: S;
618
760
  readonly __schemaRoot: Root;
619
761
  };
@@ -622,7 +764,7 @@ export type SystemSpec<S extends Schema.Any, Access extends SystemAccessInput =
622
764
  */
623
765
  export type AnySystemSpec = SystemSpec<any, any, any>;
624
766
  type ResourceContext<Spec extends AnySystemSpec> = {
625
- readonly [K in keyof Spec["resources"]]: Spec["resources"][K] extends ResourceRead<infer D> ? ResourceReadView<Descriptor.Value<D>> : Spec["resources"][K] extends ResourceWrite<infer D> ? ResourceWriteView<D> : never;
767
+ readonly [K in keyof Spec["resources"]]: Spec["resources"][K] extends ResourceRead<infer D> ? ResourceReadView<Descriptor.Value<D>> : Spec["resources"][K] extends ResourceChanged<infer D> ? ResourceChangedView<Descriptor.Value<D>> : Spec["resources"][K] extends ResourceWrite<infer D> ? ResourceWriteView<D> : never;
626
768
  };
627
769
  /**
628
770
  * Derives the event view context from a system spec.
@@ -678,6 +820,7 @@ type QueryContext<Spec extends AnySystemSpec> = {
678
820
  /** The value of the system's `local` factory, or `undefined` when it declares none. */
679
821
  type LocalValue<Factory> = Factory extends () => infer Local ? Local : undefined;
680
822
  type LocalContext<Spec extends AnySystemSpec> = LocalValue<Spec["local"]>;
823
+ 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
824
  /**
682
825
  * The implementation context derived from a system spec.
683
826
  *
@@ -697,14 +840,11 @@ export interface SystemContext<Spec extends AnySystemSpec> {
697
840
  readonly relationFailures: RelationFailureContext<Spec>;
698
841
  readonly transitions: TransitionContext<Spec>;
699
842
  readonly services: ServiceContext<Spec>;
700
- readonly commands: CommandsApi<Spec["schema"], Spec["__schemaRoot"]>;
843
+ /** The commands the spec declares (`commands: Game.System.commands(...)`). */
844
+ readonly commands: CommandsContext<Spec>;
701
845
  /** The system's own scratch state (see `local` in the spec); `undefined` when it declares none. */
702
846
  readonly local: LocalContext<Spec>;
703
847
  }
704
- /**
705
- * The service environment required by a system.
706
- */
707
- export type SystemDependencies<Spec extends AnySystemSpec> = ServiceContext<Spec>;
708
848
  type DescriptorFromAccess<Access> = Access extends {
709
849
  readonly descriptor: infer D extends Requirement.Requirement;
710
850
  } ? D : never;
@@ -726,11 +866,11 @@ export interface SystemFailure<out Name extends string = string, out Error = unk
726
866
  readonly error: Error;
727
867
  }
728
868
  /** Extracts the normalized failure carried by one system definition. */
729
- export type FailureOf<Value> = Value extends SystemDefinition<any, any, infer Error, any, infer Name, any> ? [Error] extends [never] ? never : SystemFailure<Name, Error> : never;
869
+ export type FailureOf<Value> = Value extends SystemDefinition<any, infer Error, any, infer Name, any> ? [Error] extends [never] ? never : SystemFailure<Name, Error> : never;
730
870
  /**
731
871
  * A fully defined system value ready to be placed into a schedule.
732
872
  */
733
- export interface SystemDefinition<Spec extends AnySystemSpec, out A = void, out E = never, out Root = unknown, out Name extends string = string, out Needs extends Requirement.Requirement = Requirement.Requirement> {
873
+ 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
874
  /**
735
875
  * Human-readable declaration name used to derive the internal typed label.
736
876
  */
@@ -758,27 +898,41 @@ export interface SystemDefinition<Spec extends AnySystemSpec, out A = void, out
758
898
  /**
759
899
  * The executable implementation of the system.
760
900
  */
761
- readonly run: SystemRun<Spec, A, E>;
901
+ readonly run: SystemRun<Spec, E>;
762
902
  /**
763
903
  * The system this one is a gated copy of, made by `Schedule.when(...)`:
764
904
  * the same system with extra run conditions. The runtime keys per-system
765
905
  * state (change detection, event cursors) by the original, so a system and
766
906
  * its gated copies are one reader.
767
907
  */
768
- readonly base?: SystemDefinition<any, any, any, any, any, any> | undefined;
908
+ readonly base?: SystemDefinition<any, any, any, any, any> | undefined;
769
909
  }
770
910
  /**
771
911
  * A system implementation.
772
912
  *
773
- * Return nothing for a system that cannot fail. Return an `Fx` when the system
774
- * has an expected failure (`Fx.fail(...)`) or wants to compose effects; the
775
- * failure type becomes part of every schedule that contains the system.
913
+ * Return nothing for a system that cannot fail. Return
914
+ * `Result.failure(error)` for an expected failure: the system's ECS writes
915
+ * are rolled back, its commands and events are dropped, and the tick stops
916
+ * with a typed `SystemFailure` whose `error` is inferred from every
917
+ * `Result.failure(...)` the body returns. A returned success
918
+ * (`Result.success(...)`) behaves like returning nothing. Exceptions are
919
+ * defects, not failures: they roll back the same way and are rethrown.
920
+ *
921
+ * @example
922
+ * ```ts
923
+ * const Spend = Game.System("Spend", {
924
+ * resources: { gold: Game.System.writeResource(Gold) }
925
+ * }, ({ resources }) => {
926
+ * if (resources.gold.get() < 10) return Result.failure("NotEnoughGold" as const)
927
+ * resources.gold.update((gold) => gold - 10)
928
+ * })
929
+ * ```
776
930
  */
777
- export type SystemRun<Spec extends AnySystemSpec, A = void, E = never> = (context: SystemContext<Spec>) => Fx<A, E, SystemDependencies<Spec>> | void;
931
+ export type SystemRun<Spec extends AnySystemSpec, E = never> = (context: SystemContext<Spec>) => Result.Result<unknown, E> | void;
778
932
  export declare function System<const Access extends SystemAccessInput & {
779
933
  readonly schema: Schema.Any;
780
- }, A = void, E = never, Root = unknown, const Name extends string = string>(name: Name, spec: Access & {
934
+ }, E = never, Root = unknown, const Name extends string = string>(name: Name, spec: Access & {
781
935
  readonly [Key in Exclude<keyof Access, keyof SystemAccessInput | "schema">]: never;
782
- }, run: SystemRun<SystemSpec<Access["schema"], Access, Root>, A, E>): SystemDefinition<SystemSpec<Access["schema"], Access, Root>, A, E, Root, Name, SystemAccessNeeds<Access>>;
936
+ }, run: SystemRun<SystemSpec<Access["schema"], Access, Root>, E>): SystemDefinition<SystemSpec<Access["schema"], Access, Root>, E, Root, Name, SystemAccessNeeds<Access>>;
783
937
  export {};
784
938
  //# sourceMappingURL=System.d.ts.map
@@ -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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"}