@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.
Files changed (125) 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 +157 -33
  11. package/dist/Command.d.ts.map +1 -1
  12. package/dist/Command.js +49 -15
  13. package/dist/Command.js.map +1 -1
  14. package/dist/Debug.d.ts +104 -12
  15. package/dist/Debug.d.ts.map +1 -1
  16. package/dist/Debug.js.map +1 -1
  17. package/dist/Decode.d.ts +1 -1
  18. package/dist/Decode.js +1 -1
  19. package/dist/Descriptor.d.ts +31 -21
  20. package/dist/Descriptor.d.ts.map +1 -1
  21. package/dist/Descriptor.js +21 -12
  22. package/dist/Descriptor.js.map +1 -1
  23. package/dist/Entity.d.ts +14 -5
  24. package/dist/Entity.d.ts.map +1 -1
  25. package/dist/Entity.js +2 -2
  26. package/dist/Entity.js.map +1 -1
  27. package/dist/EntityScope.d.ts +6 -0
  28. package/dist/EntityScope.d.ts.map +1 -1
  29. package/dist/EntityScope.js +6 -0
  30. package/dist/EntityScope.js.map +1 -1
  31. package/dist/HostClock.d.ts +49 -0
  32. package/dist/HostClock.d.ts.map +1 -0
  33. package/dist/HostClock.js +46 -0
  34. package/dist/HostClock.js.map +1 -0
  35. package/dist/Inspector.d.ts +7 -1
  36. package/dist/Inspector.d.ts.map +1 -1
  37. package/dist/Inspector.js.map +1 -1
  38. package/dist/Machine.d.ts +12 -3
  39. package/dist/Machine.d.ts.map +1 -1
  40. package/dist/Machine.js +4 -1
  41. package/dist/Machine.js.map +1 -1
  42. package/dist/Query.d.ts +28 -24
  43. package/dist/Query.d.ts.map +1 -1
  44. package/dist/Query.js +0 -24
  45. package/dist/Query.js.map +1 -1
  46. package/dist/Runtime.d.ts +36 -16
  47. package/dist/Runtime.d.ts.map +1 -1
  48. package/dist/Runtime.js +230 -67
  49. package/dist/Runtime.js.map +1 -1
  50. package/dist/Schedule.d.ts +217 -10
  51. package/dist/Schedule.d.ts.map +1 -1
  52. package/dist/Schedule.js +5 -0
  53. package/dist/Schedule.js.map +1 -1
  54. package/dist/Schema.d.ts +61 -25
  55. package/dist/Schema.d.ts.map +1 -1
  56. package/dist/Schema.js +0 -8
  57. package/dist/Schema.js.map +1 -1
  58. package/dist/System.d.ts +149 -52
  59. package/dist/System.d.ts.map +1 -1
  60. package/dist/System.js +52 -6
  61. package/dist/System.js.map +1 -1
  62. package/dist/index.d.ts +8 -7
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +8 -7
  65. package/dist/index.js.map +1 -1
  66. package/dist/internal/cells.d.ts +3 -3
  67. package/dist/internal/cells.d.ts.map +1 -1
  68. package/dist/internal/cells.js +9 -11
  69. package/dist/internal/cells.js.map +1 -1
  70. package/dist/internal/debug.d.ts +6 -0
  71. package/dist/internal/debug.d.ts.map +1 -1
  72. package/dist/internal/debug.js +95 -1
  73. package/dist/internal/debug.js.map +1 -1
  74. package/dist/internal/game.d.ts.map +1 -1
  75. package/dist/internal/game.js +9 -2
  76. package/dist/internal/game.js.map +1 -1
  77. package/dist/internal/order.d.ts +10 -0
  78. package/dist/internal/order.d.ts.map +1 -0
  79. package/dist/internal/order.js +120 -0
  80. package/dist/internal/order.js.map +1 -0
  81. package/dist/internal/queries.js +2 -2
  82. package/dist/internal/queries.js.map +1 -1
  83. package/package.json +1 -1
  84. package/src/Brand.ts +9 -4
  85. package/src/Clock.ts +311 -0
  86. package/src/Command.ts +271 -73
  87. package/src/Debug.ts +111 -10
  88. package/src/Decode.ts +1 -1
  89. package/src/Descriptor.ts +37 -27
  90. package/src/Entity.ts +15 -5
  91. package/src/EntityScope.ts +6 -0
  92. package/src/HostClock.ts +64 -0
  93. package/src/Inspector.ts +7 -2
  94. package/src/Machine.ts +13 -3
  95. package/src/Query.ts +41 -33
  96. package/src/Runtime.ts +273 -91
  97. package/src/Schedule.ts +380 -13
  98. package/src/Schema.ts +70 -41
  99. package/src/System.ts +174 -88
  100. package/src/index.ts +8 -7
  101. package/src/internal/cells.ts +10 -12
  102. package/src/internal/debug.ts +104 -4
  103. package/src/internal/game.ts +11 -3
  104. package/src/internal/order.ts +140 -0
  105. package/src/internal/queries.ts +3 -3
  106. package/dist/Definition.d.ts +0 -99
  107. package/dist/Definition.d.ts.map +0 -1
  108. package/dist/Definition.js +0 -68
  109. package/dist/Definition.js.map +0 -1
  110. package/dist/Feature.d.ts +0 -106
  111. package/dist/Feature.d.ts.map +0 -1
  112. package/dist/Feature.js +0 -87
  113. package/dist/Feature.js.map +0 -1
  114. package/dist/Fx.d.ts +0 -128
  115. package/dist/Fx.d.ts.map +0 -1
  116. package/dist/Fx.js +0 -112
  117. package/dist/Fx.js.map +0 -1
  118. package/dist/internal/definition.d.ts +0 -17
  119. package/dist/internal/definition.d.ts.map +0 -1
  120. package/dist/internal/definition.js +0 -25
  121. package/dist/internal/definition.js.map +0 -1
  122. package/src/Definition.ts +0 -106
  123. package/src/Feature.ts +0 -241
  124. package/src/Fx.ts +0 -176
  125. package/src/internal/definition.ts +0 -56
package/dist/Debug.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Opt-in runtime introspection for tools, tests, and coding agents.
3
3
  *
4
- * A runtime made with `debug: true` carries a `debug` handle. Runtimes made
4
+ * A runtime made with `debug: { hostClock }` carries a `debug` handle. Runtimes made
5
5
  * without it have no handle at all, so production code cannot reach into
6
6
  * internals by accident and pays nothing for them.
7
7
  *
@@ -35,7 +35,7 @@
35
35
  *
36
36
  * @example
37
37
  * ```ts
38
- * const runtime = Game.Runtime.make({ services, resources, debug: true })
38
+ * const runtime = Game.Runtime.make({ services, resources, debug: { hostClock: HostClock.standard } })
39
39
  * runtime.debug.nameSchedules({ setup: setupSchedule, update: updateSchedule })
40
40
  *
41
41
  * const stop = runtime.debug.observe((event) => {
@@ -46,13 +46,14 @@
46
46
  * stop()
47
47
  * ```
48
48
  */
49
+ import type { HostClock } from "./HostClock.ts";
49
50
  import type * as Machine from "./Machine.ts";
50
- import type { ExecutableScheduleDefinition } from "./Schedule.ts";
51
+ import type { AnyScheduleOrder, ExecutableScheduleDefinition } from "./Schedule.ts";
51
52
  import type { Schema } from "./Schema.ts";
52
53
  /** Version of the description, dump, and trace formats. */
53
54
  export declare const formatVersion: 1;
54
55
  /**
55
- * The debug handle of a runtime made with `debug: true`.
56
+ * The debug handle of a runtime made with `debug: { hostClock }`.
56
57
  */
57
58
  export interface Handle<S extends Schema.Any = Schema.Any, Root = unknown> {
58
59
  /**
@@ -61,7 +62,14 @@ export interface Handle<S extends Schema.Any = Schema.Any, Root = unknown> {
61
62
  * schedules are named after their transition, for example
62
63
  * `onEnter(Game/Flow=Playing)`. Naming again replaces earlier names.
63
64
  */
64
- readonly nameSchedules: (schedules: Readonly<Record<string, ExecutableScheduleDefinition<S, any, Root, any, any>>>) => void;
65
+ readonly nameSchedules: (schedules: Readonly<Record<string, ExecutableScheduleDefinition<S, any, Root, any, any, AnyScheduleOrder>>>) => void;
66
+ /**
67
+ * Declares the events the host publishes with `runtime.send`, so
68
+ * `describe()` counts them as written (`event-never-written`) before the
69
+ * first send happens. Events actually sent count as well. Declaring again
70
+ * replaces the list.
71
+ */
72
+ readonly declareHostEvents: (events: ReadonlyArray<Schema.EventDescriptor<S>>) => void;
65
73
  /** The static description of the schema and the named schedules. */
66
74
  readonly describe: () => Description;
67
75
  /** The current world as plain data. */
@@ -71,6 +79,21 @@ export interface Handle<S extends Schema.Any = Schema.Any, Root = unknown> {
71
79
  * active only while at least one listener is registered.
72
80
  */
73
81
  readonly observe: (listener: (event: TraceEvent) => void) => () => void;
82
+ /**
83
+ * Delivers what the host does to the runtime, until the returned function
84
+ * is called: each tick's start and end (with the schedule values it runs)
85
+ * and each `runtime.send`. Unlike `observe`, it turns no tracing on, so a
86
+ * tool can listen for a whole play session (replay recorders do).
87
+ */
88
+ readonly observeHost: (listener: (event: HostEvent<S, Root>) => void) => () => void;
89
+ /**
90
+ * Reports the last failed tick result if nobody read its `ok`, as a
91
+ * `failure.ignored` event (to `observe` and `observeHost` listeners), with
92
+ * `when: "session-end"`. Call it when a session ends; the start of the
93
+ * next tick checks the same with `when: "next-tick"`. Emits nothing to a
94
+ * console.
95
+ */
96
+ readonly checkIgnoredFailures: () => void;
74
97
  /** Retention and reader state of every stream that has readers or entries. */
75
98
  readonly streams: () => ReadonlyArray<StreamStatus>;
76
99
  /** Live entity count and, per component, how many entities have it. Cheap enough to sample every frame. */
@@ -147,7 +170,15 @@ export interface SystemDescription {
147
170
  readonly removed: ReadonlyArray<string>;
148
171
  readonly despawned: boolean;
149
172
  readonly relationFailures: ReadonlyArray<string>;
173
+ /** Events and resources read with `Game.System.thisTick`, and query slots as `queries.<slot>`. */
174
+ readonly thisTick: ReadonlyArray<string>;
150
175
  readonly services: ReadonlyArray<string>;
176
+ /**
177
+ * The declared command permissions (`Game.System.commands(...)`), by
178
+ * kind: component names for spawns, inserts, removes and despawns, scope
179
+ * names for despawnsScope, relation names for relates.
180
+ */
181
+ readonly commands: CommandPermissions;
151
182
  /** Run conditions, rendered, for example `stateChanged(Game/Flow)`. */
152
183
  readonly when: ReadonlyArray<string>;
153
184
  /** Pause conditions, rendered: while one fails the system waits and holds its stream entries. */
@@ -155,6 +186,15 @@ export interface SystemDescription {
155
186
  /** Whether the system declares `local` scratch state. */
156
187
  readonly local: boolean;
157
188
  }
189
+ /** Declared command permissions of one system, by kind. Empty lists when it declares none. */
190
+ export interface CommandPermissions {
191
+ readonly spawns: ReadonlyArray<string>;
192
+ readonly inserts: ReadonlyArray<string>;
193
+ readonly removes: ReadonlyArray<string>;
194
+ readonly despawns: ReadonlyArray<string>;
195
+ readonly despawnsScope: ReadonlyArray<string>;
196
+ readonly relates: ReadonlyArray<string>;
197
+ }
158
198
  export type StepDescription = {
159
199
  readonly kind: "system";
160
200
  readonly system: string;
@@ -171,12 +211,20 @@ export interface ScheduleDescription {
171
211
  /**
172
212
  * A finding about the described schedules. `warning` is almost certainly a
173
213
  * bug; `info` is worth a look but can be intentional.
214
+ *
215
+ * Most lints read declarations only. Two also use what the runtime has seen
216
+ * so far: events sent with `runtime.send(...)` count as written, and
217
+ * `relation-failure-never-read` fires for a relation that applied commands
218
+ * have tried to relate or reorder (which can fail) while no described system
219
+ * reads its failures, so describe after the game has run for a while.
174
220
  */
175
221
  export interface Lint {
176
222
  readonly severity: "warning" | "info";
177
- readonly code: "event-never-read" | "event-never-written" | "next-state-never-applied" | "component-never-read" | "read-before-write";
223
+ readonly code: "event-never-read" | "relation-failure-never-read" | "event-never-written" | "next-state-never-applied" | "component-never-read" | "read-before-write" | "this-tick-order" | "command-permission-unused";
178
224
  readonly message: string;
179
225
  readonly subject: string;
226
+ /** What to change to resolve it (or, for `info`, when it is fine as it is). */
227
+ readonly fix: string;
180
228
  }
181
229
  /** Readers and writers of one component, resource, or event. */
182
230
  export interface AccessIndexEntry {
@@ -198,7 +246,8 @@ export interface Description {
198
246
  readonly systems: ReadonlyArray<SystemDescription>;
199
247
  /**
200
248
  * Readers and writers across the named schedules. Component writers are
201
- * systems with a write query slot; command inserts are not static.
249
+ * systems with a write query slot or a declared `spawns`, `inserts`, or
250
+ * `removes` permission for it.
202
251
  */
203
252
  readonly access: {
204
253
  readonly components: ReadonlyArray<AccessIndexEntry>;
@@ -447,14 +496,57 @@ export interface RestoreEvent {
447
496
  readonly tick: number;
448
497
  readonly ok: boolean;
449
498
  }
499
+ /** What `observeHost` delivers. */
500
+ export type HostEvent<S extends Schema.Any = Schema.Any, Root = unknown> = {
501
+ readonly type: "tick.start";
502
+ /** The schedule values passed to this `tick(...)` (or `tryTick`) call, in order. */
503
+ readonly schedules: ReadonlyArray<ExecutableScheduleDefinition<S, any, Root, any, any, AnyScheduleOrder>>;
504
+ readonly frame: number;
505
+ } | {
506
+ readonly type: "tick.end";
507
+ readonly schedules: ReadonlyArray<ExecutableScheduleDefinition<S, any, Root, any, any, AnyScheduleOrder>>;
508
+ readonly frame: number;
509
+ /** `failed`: a system returned `Result.failure`; `defect`: one threw (rethrown after this event). */
510
+ readonly outcome: "ok" | "failed" | "defect";
511
+ readonly error?: unknown;
512
+ } | {
513
+ readonly type: "send";
514
+ readonly event: string;
515
+ readonly value: unknown;
516
+ } | FailureIgnoredEvent;
517
+ /**
518
+ * A failed `tick` / `tryTick` result whose `ok` nobody read: the failure
519
+ * went unnoticed, and the systems after the failing one did not run that
520
+ * tick. Found at the start of the next tick (`when: "next-tick"`) or by
521
+ * `checkIgnoredFailures()` (`when: "session-end"`). Debug runtimes only.
522
+ */
523
+ export interface FailureIgnoredEvent {
524
+ readonly type: "failure.ignored";
525
+ /** The frame of the failed tick. */
526
+ readonly frame: number;
527
+ /** The schedule holding the failing system (the first one for a tick that ran nothing). */
528
+ readonly schedule: string;
529
+ /** The failing system; `undefined` when `tryTick` ran nothing (missing requirements, order). */
530
+ readonly system: string | undefined;
531
+ readonly error: unknown;
532
+ /** The systems of the tick that did not run because of the failure, in order. */
533
+ readonly skipped: ReadonlyArray<string>;
534
+ readonly when: "next-tick" | "session-end";
535
+ }
450
536
  /** Everything `observe` delivers. */
451
- export type TraceEvent = FrameEvent | ScheduleStartEvent | ScheduleEndEvent | SystemEvent | SystemSkippedEvent | SentEvent | DeferredEvent | TransitionEvent | RestoreEvent;
537
+ export type TraceEvent = FrameEvent | ScheduleStartEvent | ScheduleEndEvent | SystemEvent | SystemSkippedEvent | SentEvent | DeferredEvent | TransitionEvent | RestoreEvent | FailureIgnoredEvent;
452
538
  /**
453
- * The `debug` runtime option: `true` attaches a handle.
539
+ * The `debug` runtime option: `{ hostClock }` attaches a handle, timing
540
+ * traces with that clock. A value that may be `undefined`
541
+ * (`import.meta.env.DEV ? { hostClock } : undefined`) attaches it when
542
+ * present and types `debug` as optional, so code checks it before use.
454
543
  */
455
- export type Option = true;
544
+ export interface Option {
545
+ /** Times trace events (`ms`); see `HostClock`. */
546
+ readonly hostClock: HostClock;
547
+ }
456
548
  /**
457
- * The member a runtime made with `debug: true` carries.
549
+ * The member a runtime made with `debug: { hostClock }` carries.
458
550
  */
459
551
  export interface Member<S extends Schema.Any, Root> {
460
552
  readonly debug: Handle<S, Root>;
@@ -462,5 +554,5 @@ export interface Member<S extends Schema.Any, Root> {
462
554
  /** Resolves the extra runtime member for a `debug` option type. */
463
555
  export type MemberFor<Enabled, S extends Schema.Any, Root> = [
464
556
  Enabled
465
- ] extends [Option] ? Member<S, Root> : {};
557
+ ] extends [true] ? Member<S, Root> : [Enabled] extends [false | undefined] ? {} : Partial<Member<S, Root>>;
466
558
  //# sourceMappingURL=Debug.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Debug.d.ts","sourceRoot":"","sources":["../src/Debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Debug.d.ts","sourceRoot":"","sources":["../src/Debug.ts"],"names":[],"mappings":"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"}
package/dist/Debug.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Debug.js","sourceRoot":"","sources":["../src/Debug.ts"],"names":[],"mappings":"AAoDA,2DAA2D;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAU,CAAA"}
1
+ {"version":3,"file":"Debug.js","sourceRoot":"","sources":["../src/Debug.ts"],"names":[],"mappings":"AAqDA,2DAA2D;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAU,CAAA"}
package/dist/Decode.d.ts CHANGED
@@ -81,7 +81,7 @@ export declare const struct: <const Fields extends Readonly<Record<string, Codec
81
81
  /**
82
82
  * A stored entity handle for schema root `Root`, optionally with an intent
83
83
  * component. Decoding never proves the entity exists; resolve it with
84
- * `lookup.getHandle(...)` as usual.
84
+ * `queries.x.getHandle(...)` (through a declared query) as usual.
85
85
  */
86
86
  export declare const handle: <Root, const Intent extends Descriptor<"component", string, any> | undefined = undefined>(root: Root, intent?: Intent) => Codec<Entity.Handle<Root, Intent>>;
87
87
  //# sourceMappingURL=Decode.d.ts.map
package/dist/Decode.js CHANGED
@@ -103,7 +103,7 @@ export const struct = (fields) => {
103
103
  /**
104
104
  * A stored entity handle for schema root `Root`, optionally with an intent
105
105
  * component. Decoding never proves the entity exists; resolve it with
106
- * `lookup.getHandle(...)` as usual.
106
+ * `queries.x.getHandle(...)` (through a declared query) as usual.
107
107
  */
108
108
  export const handle = (root, intent) => make((raw) => {
109
109
  const decoded = Entity.decodeHandle(root, raw, intent);
@@ -16,8 +16,9 @@
16
16
  * 3. bind one `Game` with `Schema.bind(...)`
17
17
  *
18
18
  * Reach for this module first whenever you introduce a new component,
19
- * resource, event, or service to the game. Discrete modes whose transitions
20
- * matter are state machines (`Game.StateMachine(...)`), not descriptors.
19
+ * resource, event, or service to the game. A game-wide mode whose transitions
20
+ * matter is a state machine (`Game.StateMachine(...)`); a state each entity
21
+ * has on its own is a component (`Descriptor.EntityState(...)`).
21
22
  *
22
23
  * @module Descriptor
23
24
  * @docGroup core
@@ -208,48 +209,55 @@ export declare const TransientComponent: <Value>() => <const Name extends string
208
209
  * ```
209
210
  */
210
211
  export declare const Tag: <const Name extends string>(name: Name) => DecodableDescriptor<"component", Name, {}, {}, DecodeModule.DecodeError>;
211
- /** One state of a {@link State} component: a string or number literal. */
212
- export type StateValue = string | number;
212
+ /** One state of a {@link EntityState} component: a string or number literal. */
213
+ export type EntityStateValue = string | number;
213
214
  /**
214
- * The allowed moves of a {@link State} component: for every state, the
215
+ * The allowed moves of a {@link EntityState} component: for every state, the
215
216
  * states it may move to (`[]` for a state with no way out).
216
217
  */
217
- export type StateTransitions<States extends readonly [StateValue, ...Array<StateValue>]> = {
218
+ export type EntityStateTransitions<States extends readonly [EntityStateValue, ...Array<EntityStateValue>]> = {
218
219
  readonly [From in States[number]]: ReadonlyArray<States[number]>;
219
220
  };
220
221
  /**
221
222
  * A component whose value is one of a closed set of states, with an optional
222
- * graph of allowed moves. Built with {@link State}.
223
+ * graph of allowed moves. Built with {@link EntityState}.
223
224
  */
224
- export interface StateDescriptor<out Name extends string, in out States extends readonly [StateValue, ...Array<StateValue>], in out Transitions extends StateTransitions<States> | undefined> extends DecodableDescriptor<"component", Name, States[number], States[number], DecodeModule.DecodeError> {
225
+ export interface EntityStateDescriptor<out Name extends string, in out States extends readonly [EntityStateValue, ...Array<EntityStateValue>], in out Transitions extends EntityStateTransitions<States> | undefined> extends DecodableDescriptor<"component", Name, States[number], States[number], DecodeModule.DecodeError> {
225
226
  readonly states: States;
226
227
  readonly transitions: Transitions;
227
228
  }
228
229
  /**
229
- * Defines a state component: its value is one of `states`, validated (so
230
- * snapshots reject unknown states), and it behaves like any other component
231
- * (storage, change detection, rollback, traces).
230
+ * Defines a per-entity state: a component whose value is one of `states`,
231
+ * validated (so snapshots reject unknown states), that behaves like any other
232
+ * component (storage, change detection, rollback, traces).
233
+ *
234
+ * Use this when each entity has its own state: an enemy's attack windup, a
235
+ * door's open/closed, a unit's AI mode. Use `Game.StateMachine(...)` instead
236
+ * for one game-wide mode (menu, playing, paused, game over): machines change
237
+ * only at `applyStateTransitions(...)`, run `onEnter`/`onExit` schedules, and
238
+ * gate systems with `Game.Condition.inState(...)`. An entity state does none
239
+ * of that; it is data on an entity.
232
240
  *
233
241
  * With `transitions`, its write cell gains `transition(from, to)`: the pair
234
242
  * is checked against the graph at compile time, and at runtime the move
235
- * happens only if the current state is still `from`, otherwise it returns a
236
- * `StateMismatch` failure. Transitions are ordinary component writes:
243
+ * happens only if the current state is still `from`, otherwise it returns an
244
+ * `EntityStateMismatch` failure. Transitions are ordinary component writes:
237
245
  * immediate, visible to later systems, rolled back with a failed system.
238
246
  *
239
247
  * @example
240
248
  * ```ts
241
- * const Phase = Descriptor.State("Phase", ["ready", "windup", "active"] as const, {
249
+ * const Attack = Descriptor.EntityState("Attack", ["ready", "windup", "active"] as const, {
242
250
  * transitions: { ready: ["windup"], windup: ["active", "ready"], active: ["ready"] }
243
251
  * })
244
- * // in a system with a write slot `phase`:
245
- * const moved = data.phase.transition("windup", "active") // "ready" -> "active" does not compile
252
+ * // in a system with a write slot `attack`:
253
+ * const moved = data.attack.transition("windup", "active") // "ready" -> "active" does not compile
246
254
  * ```
247
255
  */
248
- export declare const State: <const Name extends string, const States extends readonly [StateValue, ...Array<StateValue>], const Transitions extends StateTransitions<States> | undefined = undefined>(name: Name, states: States, options?: {
256
+ export declare const EntityState: <const Name extends string, const States extends readonly [EntityStateValue, ...Array<EntityStateValue>], const Transitions extends EntityStateTransitions<States> | undefined = undefined>(name: Name, states: States, options?: {
249
257
  readonly transitions: Transitions & { readonly [Key in Exclude<keyof Transitions, States[number]>]: never; };
250
- }) => StateDescriptor<Name, States, Transitions>;
251
- /** Whether a descriptor was built with {@link State}. */
252
- export declare const isState: (descriptor: Descriptor.Any) => descriptor is StateDescriptor<string, readonly [StateValue, ...Array<StateValue>], StateTransitions<readonly [StateValue, ...Array<StateValue>]> | undefined>;
258
+ }) => EntityStateDescriptor<Name, States, Transitions>;
259
+ /** Whether a descriptor was built with {@link EntityState}. */
260
+ export declare const isEntityState: (descriptor: Descriptor.Any) => descriptor is EntityStateDescriptor<string, readonly [EntityStateValue, ...Array<EntityStateValue>], EntityStateTransitions<readonly [EntityStateValue, ...Array<EntityStateValue>]> | undefined>;
253
261
  /**
254
262
  * Defines a resource descriptor.
255
263
  *
@@ -391,7 +399,9 @@ export declare function constructorOf<D extends Descriptor.Any>(descriptor: D):
391
399
  * `related` is the reverse collection maintained by the runtime.
392
400
  *
393
401
  * Use hierarchy when the relationship must support ordered children,
394
- * ancestor/descendant traversal, and linked recursive despawn.
402
+ * ancestor/descendant traversal, and linked recursive despawn. Use
403
+ * `Game.EntityScope(...)` instead when entities only share a lifetime (a
404
+ * level, a menu) and need no tree, order, or traversal.
395
405
  */
396
406
  export declare const Hierarchy: typeof RelationModule.Hierarchy;
397
407
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Descriptor.d.ts","sourceRoot":"","sources":["../src/Descriptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Descriptor.d.ts","sourceRoot":"","sources":["../src/Descriptor.ts"],"names":[],"mappings":"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"}
@@ -83,32 +83,39 @@ export const TransientComponent = () => (name) => makeTransientDescriptor("compo
83
83
  */
84
84
  export const Tag = (name) => ConstructedComponent(DecodeModule.struct({}))(name);
85
85
  /**
86
- * Defines a state component: its value is one of `states`, validated (so
87
- * snapshots reject unknown states), and it behaves like any other component
88
- * (storage, change detection, rollback, traces).
86
+ * Defines a per-entity state: a component whose value is one of `states`,
87
+ * validated (so snapshots reject unknown states), that behaves like any other
88
+ * component (storage, change detection, rollback, traces).
89
+ *
90
+ * Use this when each entity has its own state: an enemy's attack windup, a
91
+ * door's open/closed, a unit's AI mode. Use `Game.StateMachine(...)` instead
92
+ * for one game-wide mode (menu, playing, paused, game over): machines change
93
+ * only at `applyStateTransitions(...)`, run `onEnter`/`onExit` schedules, and
94
+ * gate systems with `Game.Condition.inState(...)`. An entity state does none
95
+ * of that; it is data on an entity.
89
96
  *
90
97
  * With `transitions`, its write cell gains `transition(from, to)`: the pair
91
98
  * is checked against the graph at compile time, and at runtime the move
92
- * happens only if the current state is still `from`, otherwise it returns a
93
- * `StateMismatch` failure. Transitions are ordinary component writes:
99
+ * happens only if the current state is still `from`, otherwise it returns an
100
+ * `EntityStateMismatch` failure. Transitions are ordinary component writes:
94
101
  * immediate, visible to later systems, rolled back with a failed system.
95
102
  *
96
103
  * @example
97
104
  * ```ts
98
- * const Phase = Descriptor.State("Phase", ["ready", "windup", "active"] as const, {
105
+ * const Attack = Descriptor.EntityState("Attack", ["ready", "windup", "active"] as const, {
99
106
  * transitions: { ready: ["windup"], windup: ["active", "ready"], active: ["ready"] }
100
107
  * })
101
- * // in a system with a write slot `phase`:
102
- * const moved = data.phase.transition("windup", "active") // "ready" -> "active" does not compile
108
+ * // in a system with a write slot `attack`:
109
+ * const moved = data.attack.transition("windup", "active") // "ready" -> "active" does not compile
103
110
  * ```
104
111
  */
105
- export const State = (name, states, options) => ({
112
+ export const EntityState = (name, states, options) => ({
106
113
  ...makeConstructedDescriptor("component", name, DecodeModule.literal(...states)),
107
114
  states,
108
115
  transitions: options?.transitions
109
116
  });
110
- /** Whether a descriptor was built with {@link State}. */
111
- export const isState = (descriptor) => "states" in descriptor;
117
+ /** Whether a descriptor was built with {@link EntityState}. */
118
+ export const isEntityState = (descriptor) => "states" in descriptor;
112
119
  /**
113
120
  * Defines a resource descriptor.
114
121
  *
@@ -235,7 +242,9 @@ export function constructorOf(descriptor) {
235
242
  * `related` is the reverse collection maintained by the runtime.
236
243
  *
237
244
  * Use hierarchy when the relationship must support ordered children,
238
- * ancestor/descendant traversal, and linked recursive despawn.
245
+ * ancestor/descendant traversal, and linked recursive despawn. Use
246
+ * `Game.EntityScope(...)` instead when entities only share a lifetime (a
247
+ * level, a menu) and need no tree, order, or traversal.
239
248
  */
240
249
  export const Hierarchy = RelationModule.Hierarchy;
241
250
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Descriptor.js","sourceRoot":"","sources":["../src/Descriptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Descriptor.js","sourceRoot":"","sources":["../src/Descriptor.ts"],"names":[],"mappings":"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"}
package/dist/Entity.d.ts CHANGED
@@ -55,7 +55,8 @@ import * as Result from "./Result.ts";
55
55
  * @example
56
56
  * ```ts
57
57
  * const handle = Game.Entity.handle(playerId, Player)
58
- * const resolved = lookup.getHandle(handle, PlayerQuery)
58
+ * // `players` is a query the system declares: queries: { players: PlayerQuery }
59
+ * const resolved = queries.players.getHandle(handle)
59
60
  * if (!resolved.ok) return
60
61
  * ```
61
62
  */
@@ -148,11 +149,17 @@ export type StagedComponent = readonly [Descriptor<"component", string, any>, un
148
149
  *
149
150
  * Query execution is the main source of `EntityRef` values.
150
151
  */
151
- export interface EntityRef<S extends Schema.Any, out P extends ComponentProof, Root = unknown> {
152
+ export interface EntityRef<S extends Schema.Any, out P extends ComponentProof, Root = unknown, out Proves = unknown> {
152
153
  /**
153
154
  * Runtime tag for debugging and pattern matching.
154
155
  */
155
156
  readonly kind: "EntityRef";
157
+ /**
158
+ * The component descriptors the query that produced this ref proves (its
159
+ * required slots and `with`): what `commands.despawn` checks against the
160
+ * system's `despawns` permission. Type-level only.
161
+ */
162
+ readonly __proves?: (_: never) => Proves;
156
163
  /**
157
164
  * The schema-bound entity identity.
158
165
  */
@@ -169,11 +176,13 @@ export interface EntityRef<S extends Schema.Any, out P extends ComponentProof, R
169
176
  * `P` tracks readable components and `W` tracks the writable subset. This keeps
170
177
  * mutation capabilities explicit in query results.
171
178
  */
172
- export interface EntityMut<S extends Schema.Any, out P extends ComponentProof, out W extends ComponentProof, Root = unknown> {
179
+ export interface EntityMut<S extends Schema.Any, out P extends ComponentProof, out W extends ComponentProof, Root = unknown, out Proves = unknown> {
173
180
  /**
174
181
  * Runtime tag for debugging and pattern matching.
175
182
  */
176
183
  readonly kind: "EntityMut";
184
+ /** The component descriptors the producing query proves; see `EntityRef`. */
185
+ readonly __proves?: (_: never) => Proves;
177
186
  /**
178
187
  * The schema-bound entity identity.
179
188
  */
@@ -213,7 +222,7 @@ export type HandleTarget<S extends Schema.Any, Root = unknown> = EntityId<S, Roo
213
222
  * Converts a current entity into a durable handle for storage.
214
223
  *
215
224
  * The handle is storage-safe, not a proof of liveness: resolve it later with
216
- * `lookup.getHandle(...)`, which fails explicitly when the entity is gone.
225
+ * `queries.x.getHandle(...)` (through a declared query), which fails explicitly when the entity is gone.
217
226
  *
218
227
  * Pass an `intent` component when later code assumes a role such as "player"
219
228
  * or "damage source". An intent does not prove the component is still present;
@@ -239,7 +248,7 @@ export interface InvalidHandle {
239
248
  * handles, so restoring validates them like any other value.
240
249
  *
241
250
  * A handle only names an entity; it never proves the entity exists. Resolving
242
- * it with `lookup.getHandle(...)` stays the checked step, so any positive
251
+ * it with `queries.x.getHandle(...)` (through a declared query) stays the checked step, so any positive
243
252
  * integer id decodes. Object-shaped handles and other non-numeric values
244
253
  * are rejected.
245
254
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../src/Entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../src/Entity.ts"],"names":[],"mappings":"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"}
package/dist/Entity.js CHANGED
@@ -22,7 +22,7 @@ export const makeHandle = (value) => value;
22
22
  * Converts a current entity into a durable handle for storage.
23
23
  *
24
24
  * The handle is storage-safe, not a proof of liveness: resolve it later with
25
- * `lookup.getHandle(...)`, which fails explicitly when the entity is gone.
25
+ * `queries.x.getHandle(...)` (through a declared query), which fails explicitly when the entity is gone.
26
26
  *
27
27
  * Pass an `intent` component when later code assumes a role such as "player"
28
28
  * or "damage source". An intent does not prove the component is still present;
@@ -41,7 +41,7 @@ export const handle = (target, _intent) => makeHandle(typeof target === "number"
41
41
  * handles, so restoring validates them like any other value.
42
42
  *
43
43
  * A handle only names an entity; it never proves the entity exists. Resolving
44
- * it with `lookup.getHandle(...)` stays the checked step, so any positive
44
+ * it with `queries.x.getHandle(...)` (through a declared query) stays the checked step, so any positive
45
45
  * integer id decodes. Object-shaped handles and other non-numeric values
46
46
  * are rejected.
47
47
  *