@adobe/ecs 0.2.0 → 0.2.3

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 (262) hide show
  1. package/README.md +2 -2
  2. package/dist/implementation/compiler/describe.d.ts +1 -1
  3. package/dist/implementation/compiler/describe.js +3 -3
  4. package/dist/implementation/compiler/describe.js.map +1 -1
  5. package/dist/implementation/compiler/signature.js +1 -1
  6. package/dist/implementation/compiler/transform.js +3 -3
  7. package/dist/implementation/compiler/transform.js.map +1 -1
  8. package/dist/implementation/world/commands.js +50 -1
  9. package/dist/implementation/world/commands.js.map +1 -1
  10. package/dist/implementation/world/create.js.map +1 -1
  11. package/dist/implementation/world/entities.d.ts +2 -0
  12. package/dist/implementation/world/entities.js +6 -0
  13. package/dist/implementation/world/entities.js.map +1 -1
  14. package/dist/implementation/world/finalizers.js.map +1 -1
  15. package/dist/implementation/world/join.js +10 -2
  16. package/dist/implementation/world/join.js.map +1 -1
  17. package/dist/implementation/world/register.js +2 -2
  18. package/dist/implementation/world/rows.d.ts +1 -1
  19. package/dist/implementation/world/rows.js +5 -0
  20. package/dist/implementation/world/rows.js.map +1 -1
  21. package/dist/implementation/world/runner.js +3 -3
  22. package/dist/implementation/world/runner.js.map +1 -1
  23. package/dist/implementation/world/sharing.js +1 -1
  24. package/dist/implementation/world/staging.d.ts +4 -0
  25. package/dist/implementation/world/staging.js +15 -3
  26. package/dist/implementation/world/staging.js.map +1 -1
  27. package/dist/implementation/world/tables-read.d.ts +7 -0
  28. package/dist/implementation/world/tables-read.js +60 -0
  29. package/dist/implementation/world/tables-read.js.map +1 -0
  30. package/dist/implementation/world/tables.d.ts +9 -0
  31. package/dist/implementation/world/tables.js +355 -0
  32. package/dist/implementation/world/tables.js.map +1 -0
  33. package/dist/implementation/world/thread-observer.js +1 -1
  34. package/dist/implementation/world/thread-observer.js.map +1 -1
  35. package/dist/implementation/world/thread-systems.js +1 -0
  36. package/dist/implementation/world/thread-systems.js.map +1 -1
  37. package/dist/index.d.ts +8 -8
  38. package/dist/index.js +4 -9
  39. package/dist/index.js.map +1 -1
  40. package/dist/interface/component/component.d.ts +7 -1
  41. package/dist/interface/component/component.js +0 -1
  42. package/dist/interface/component/component.js.map +1 -1
  43. package/dist/interface/component/declarations.d.ts +4 -0
  44. package/dist/interface/component/declarations.js +8 -0
  45. package/dist/interface/component/declarations.js.map +1 -0
  46. package/dist/interface/component/declared.d.ts +12 -0
  47. package/dist/interface/component/declared.js +2 -0
  48. package/dist/interface/component/declared.js.map +1 -0
  49. package/dist/interface/component/index.d.ts +3 -1
  50. package/dist/interface/component/index.js +1 -1
  51. package/dist/interface/component/index.js.map +1 -1
  52. package/dist/interface/component/value.d.ts +5 -5
  53. package/dist/interface/component/values.d.ts +2 -2
  54. package/dist/interface/finalizer/body.d.ts +5 -5
  55. package/dist/interface/registry/names.d.ts +2 -0
  56. package/dist/interface/registry/names.js +9 -0
  57. package/dist/interface/registry/names.js.map +1 -1
  58. package/dist/interface/registry/schedule.d.ts +3 -3
  59. package/dist/interface/registry/schedule.js +3 -3
  60. package/dist/interface/registry/schedule.js.map +1 -1
  61. package/dist/interface/resource/condition.d.ts +3 -3
  62. package/dist/interface/resource/declarations.d.ts +4 -0
  63. package/dist/interface/resource/declarations.js +8 -0
  64. package/dist/interface/resource/declarations.js.map +1 -0
  65. package/dist/interface/resource/index.d.ts +2 -1
  66. package/dist/interface/resource/index.js +1 -1
  67. package/dist/interface/resource/index.js.map +1 -1
  68. package/dist/interface/resource/resource.d.ts +4 -1
  69. package/dist/interface/resource/resource.js +0 -1
  70. package/dist/interface/resource/resource.js.map +1 -1
  71. package/dist/interface/resource/value.d.ts +5 -5
  72. package/dist/interface/resources/cadence.d.ts +1 -1
  73. package/dist/interface/system/access.d.ts +1 -1
  74. package/dist/interface/system/body.d.ts +13 -8
  75. package/dist/interface/system/check.d.ts +1 -1
  76. package/dist/interface/system/check.js +25 -9
  77. package/dist/interface/system/check.js.map +1 -1
  78. package/dist/interface/system/commands.d.ts +20 -4
  79. package/dist/interface/system/create.d.ts +21 -9
  80. package/dist/interface/system/create.js +3 -3
  81. package/dist/interface/system/create.js.map +1 -1
  82. package/dist/interface/system/declaration.d.ts +9 -2
  83. package/dist/interface/system/struct.d.ts +2 -2
  84. package/dist/interface/system/tables.d.ts +20 -0
  85. package/dist/interface/system/tables.js +2 -0
  86. package/dist/interface/system/tables.js.map +1 -0
  87. package/dist/interface/system/values-of.d.ts +4 -4
  88. package/dist/interface/system/values.d.ts +5 -5
  89. package/dist/interface/trait/types.d.ts +4 -4
  90. package/dist/interface/world/create.d.ts +3 -7
  91. package/dist/interface/world/declarations.d.ts +2 -2
  92. package/dist/interface/world/index.d.ts +1 -1
  93. package/dist/interface/world/join.d.ts +2 -10
  94. package/dist/interface/world/table/index.d.ts +26 -0
  95. package/dist/interface/world/table/index.js +3 -0
  96. package/dist/interface/world/table/index.js.map +1 -0
  97. package/dist/interface/world/table/table.d.ts +11 -0
  98. package/dist/interface/world/table/table.js +2 -0
  99. package/dist/interface/world/table/table.js.map +1 -0
  100. package/dist/interface/world/world.d.ts +10 -10
  101. package/dist/world.d.ts +27 -0
  102. package/dist/world.js +27 -0
  103. package/dist/world.js.map +1 -0
  104. package/package.json +1 -1
  105. package/src/exports.test.ts +3 -3
  106. package/src/guide/00-keys.ts +1 -1
  107. package/src/guide/01-resources.md +1 -1
  108. package/src/guide/01-resources.ts +1 -1
  109. package/src/guide/02-entities.ts +2 -2
  110. package/src/guide/03-systems.md +2 -2
  111. package/src/guide/03-systems.out +1 -1
  112. package/src/guide/03-systems.ts +3 -3
  113. package/src/guide/04-ticks.md +1 -1
  114. package/src/guide/04-ticks.ts +3 -3
  115. package/src/guide/05-scheduling.ts +1 -1
  116. package/src/guide/06-sync-points.md +9 -2
  117. package/src/guide/06-sync-points.ts +2 -2
  118. package/src/guide/07-change-filters.ts +2 -2
  119. package/src/guide/08-input.ts +1 -1
  120. package/src/guide/09-rules.ts +1 -1
  121. package/src/guide/11-traits.ts +3 -3
  122. package/src/guide/11-traits.type-test.ts +1 -1
  123. package/src/guide/12-lookups.ts +2 -2
  124. package/src/guide/13-indexes.ts +4 -4
  125. package/src/guide/14-kernels.ts +1 -1
  126. package/src/guide/15-reductions.ts +1 -1
  127. package/src/guide/16-gpu.ts +1 -1
  128. package/src/guide/17-hierarchies.ts +1 -1
  129. package/src/guide/18-identity.out +1 -1
  130. package/src/guide/19-threads.md +4 -2
  131. package/src/guide/19-threads.ts +2 -2
  132. package/src/guide/20-shared.ts +3 -3
  133. package/src/guide/21-dom.md +2 -2
  134. package/src/guide/21-dom.ts +1 -1
  135. package/src/guide/22-canvas.md +1 -1
  136. package/src/guide/22-canvas.ts +1 -1
  137. package/src/guide/CLAUDE.md +1 -1
  138. package/src/guide/guide.test.ts +7 -5
  139. package/src/implementation/compiler/describe.test-helper.ts +1 -1
  140. package/src/implementation/compiler/describe.test.ts +1 -1
  141. package/src/implementation/compiler/describe.ts +3 -3
  142. package/src/implementation/compiler/hygiene.test.ts +1 -1
  143. package/src/implementation/compiler/plugin.test.ts +2 -2
  144. package/src/implementation/compiler/signature.ts +1 -1
  145. package/src/implementation/compiler/transform.test.ts +3 -3
  146. package/src/implementation/compiler/transform.ts +3 -3
  147. package/src/implementation/world/change-blocks.test.ts +1 -1
  148. package/src/implementation/world/commands.ts +44 -1
  149. package/src/implementation/world/create.ts +3 -3
  150. package/src/implementation/world/defaults.test.ts +1 -1
  151. package/src/implementation/world/entities.ts +6 -0
  152. package/src/implementation/world/finalizers.test.ts +1 -1
  153. package/src/implementation/world/finalizers.ts +3 -3
  154. package/src/implementation/world/index-changed.test.ts +2 -2
  155. package/src/implementation/world/index-joined.test.ts +5 -5
  156. package/src/implementation/world/index-order.test.ts +1 -1
  157. package/src/implementation/world/join.test.ts +4 -4
  158. package/src/implementation/world/join.ts +10 -2
  159. package/src/implementation/world/joined-observer.test.ts +1 -1
  160. package/src/implementation/world/joining-worker.fixture.ts +1 -1
  161. package/src/implementation/world/joining.fixture.ts +1 -1
  162. package/src/implementation/world/joining.test-helper.ts +1 -1
  163. package/src/implementation/world/kernel-spawns.test.ts +1 -1
  164. package/src/implementation/world/observe-factories.test.ts +2 -2
  165. package/src/implementation/world/observe-ticks-cases.test.ts +1 -1
  166. package/src/implementation/world/observe.test-helper.ts +1 -1
  167. package/src/implementation/world/observer-contained-worker.fixture.ts +1 -1
  168. package/src/implementation/world/observer-contained.test-helper.ts +1 -1
  169. package/src/implementation/world/observer-contained.test.ts +2 -2
  170. package/src/implementation/world/observer-joined.test-helper.ts +4 -4
  171. package/src/implementation/world/observer-joined.test.ts +23 -15
  172. package/src/implementation/world/observer.browser.test.ts +2 -2
  173. package/src/implementation/world/observer.test.ts +8 -8
  174. package/src/implementation/world/optional-workers.fixture.ts +1 -1
  175. package/src/implementation/world/optional.test.ts +7 -7
  176. package/src/implementation/world/pool-size.cases.ts +3 -1
  177. package/src/implementation/world/reads.test-helper.ts +6 -6
  178. package/src/implementation/world/reclaim.test.ts +3 -3
  179. package/src/implementation/world/register.ts +2 -2
  180. package/src/implementation/world/remote-objects.test-helper.ts +1 -1
  181. package/src/implementation/world/rows.ts +5 -1
  182. package/src/implementation/world/run-results.test.ts +10 -10
  183. package/src/implementation/world/runner.ts +3 -3
  184. package/src/implementation/world/shared-gpu.browser.test.ts +2 -2
  185. package/src/implementation/world/shared-kernels.test.ts +2 -2
  186. package/src/implementation/world/shared-workers.fixture.ts +2 -2
  187. package/src/implementation/world/shared.test.ts +8 -8
  188. package/src/implementation/world/sharing.ts +1 -1
  189. package/src/implementation/world/staging.ts +16 -3
  190. package/src/implementation/world/tables-read.ts +59 -0
  191. package/src/implementation/world/tables.test.ts +267 -0
  192. package/src/implementation/world/tables.ts +330 -0
  193. package/src/implementation/world/tails.test.ts +1 -1
  194. package/src/implementation/world/target.test.ts +2 -2
  195. package/src/implementation/world/thread-observer.ts +1 -1
  196. package/src/implementation/world/thread-systems.test-helper.ts +3 -3
  197. package/src/implementation/world/thread-systems.ts +1 -0
  198. package/src/implementation/world/where.test.ts +4 -4
  199. package/src/implementation/world/workers.fixture.ts +2 -2
  200. package/src/index.ts +4 -6
  201. package/src/interface/component/component.ts +7 -1
  202. package/src/interface/component/declarations.ts +11 -0
  203. package/src/interface/component/declared.ts +9 -0
  204. package/src/interface/component/index.ts +3 -1
  205. package/src/interface/component/value.ts +5 -5
  206. package/src/interface/component/values.ts +2 -2
  207. package/src/interface/finalizer/body.ts +5 -5
  208. package/src/interface/index.type-test.ts +3 -3
  209. package/src/interface/indexes/index.type-test.ts +1 -1
  210. package/src/interface/registry/names.ts +8 -0
  211. package/src/interface/registry/schedule.ts +4 -4
  212. package/src/interface/resource/condition.ts +3 -3
  213. package/src/interface/resource/declarations.ts +11 -0
  214. package/src/interface/resource/index.ts +2 -1
  215. package/src/interface/resource/resource.ts +4 -1
  216. package/src/interface/resource/value.ts +5 -5
  217. package/src/interface/resources/cadence.ts +1 -1
  218. package/src/interface/system/access.ts +1 -1
  219. package/src/interface/system/body.ts +9 -7
  220. package/src/interface/system/check.ts +22 -8
  221. package/src/interface/system/commands.ts +18 -4
  222. package/src/interface/system/create.test.ts +13 -13
  223. package/src/interface/system/create.ts +15 -10
  224. package/src/interface/system/declaration.ts +9 -2
  225. package/src/interface/system/lists.type-test.ts +1 -1
  226. package/src/interface/system/optional.type-test.ts +1 -1
  227. package/src/interface/system/shared.type-test.ts +1 -1
  228. package/src/interface/system/struct.ts +2 -2
  229. package/src/interface/system/system.type-test.ts +26 -20
  230. package/src/interface/system/tables.ts +21 -0
  231. package/src/interface/system/up.type-test.ts +3 -3
  232. package/src/interface/system/values-of.ts +4 -4
  233. package/src/interface/system/values.ts +5 -5
  234. package/src/interface/thread/thread.type-test.ts +1 -1
  235. package/src/interface/trait/trait.type-test.ts +4 -4
  236. package/src/interface/trait/types.ts +4 -4
  237. package/src/interface/world/create.ts +3 -7
  238. package/src/interface/world/declarations.ts +2 -2
  239. package/src/interface/world/index.ts +2 -2
  240. package/src/interface/world/join.ts +2 -10
  241. package/src/interface/world/loop.type-test.ts +6 -6
  242. package/src/interface/world/run.type-test.ts +3 -3
  243. package/src/interface/world/table/index.ts +19 -0
  244. package/src/interface/world/table/table.ts +12 -0
  245. package/src/interface/world/world.ts +10 -10
  246. package/src/observe/entity.ts +2 -2
  247. package/src/observe/members.ts +3 -3
  248. package/src/observe/query.ts +1 -1
  249. package/src/observe/resource.ts +2 -2
  250. package/src/observe/select.ts +5 -5
  251. package/src/observe/values.ts +2 -2
  252. package/src/observe/world-state.ts +3 -3
  253. package/src/perftest/benchmarks.ts +1 -1
  254. package/src/perftest/indexes.ts +3 -3
  255. package/src/perftest/loop.ts +1 -1
  256. package/src/perftest/observer.ts +4 -4
  257. package/src/perftest/reads.ts +2 -2
  258. package/src/perftest/remote.ts +5 -5
  259. package/src/perftest/strings.ts +1 -1
  260. package/src/perftest/suite.ts +1 -1
  261. package/src/world.test.ts +2 -2
  262. package/src/world.ts +32 -0
@@ -3,7 +3,7 @@ import type { Leaf } from '../system/leaf.js';
3
3
  type Key = symbol;
4
4
  /**
5
5
  * Leaves in run order, grouped into tiers. Leaves in one tier have no ordering path between them. `reductions` are the
6
- * resources its leaves reduce into, each with how many of them contribute. `observer` are its observer leaves, in no
6
+ * resources its leaves reduce into, each with how many of them contribute. `observer` are its readonly leaves, in no
7
7
  * tier: they run after its sync point, ordered with nothing.
8
8
  */
9
9
  export type Schedule = {
@@ -12,10 +12,10 @@ export type Schedule = {
12
12
  readonly observer: readonly Leaf[];
13
13
  };
14
14
  export declare const isLeaf: (system: Definition) => system is Leaf;
15
- /** Whether a system is an observer leaf, which runs after a sync point rather than in a tier. */
15
+ /** Whether a system is a readonly system leaf, which runs after a sync point rather than in a tier. */
16
16
  export declare const isObserver: (system: Definition) => system is Leaf & {
17
17
  readonly declaration: {
18
- readonly observer: true;
18
+ readonly readonly: true;
19
19
  };
20
20
  };
21
21
  type Access = {
@@ -21,8 +21,8 @@ const checkInputs = (leaves) => {
21
21
  }
22
22
  };
23
23
  export const isLeaf = (system) => system.kind !== "composite";
24
- /** Whether a system is an observer leaf, which runs after a sync point rather than in a tier. */
25
- export const isObserver = (system) => system.kind !== "composite" && system.declaration.observer === true;
24
+ /** Whether a system is a readonly system leaf, which runs after a sync point rather than in a tier. */
25
+ export const isObserver = (system) => system.kind !== "composite" && system.declaration.readonly === true;
26
26
  /** Each system is an interval, from its start node to its end node. */
27
27
  const start = (unit) => 2 * unit;
28
28
  const end = (unit) => 2 * unit + 1;
@@ -48,7 +48,7 @@ const graphOf = (root) => {
48
48
  };
49
49
  visit(root);
50
50
  const successors = units.flatMap(() => [new Set(), new Set()]);
51
- // An observer system is ordered with nothing, so constraints naming one are ignored.
51
+ // A readonly system is ordered with nothing, so constraints naming one are ignored.
52
52
  const resolve = (systems) => (systems ?? []).flatMap(system => {
53
53
  const unit = indexOf.get(firstItemOf(system));
54
54
  return unit === undefined || isObserver(units[unit]) ? [] : [unit];
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../../src/interface/registry/schedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../../src/interface/registry/schedule.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { Key } from "./key.js";
2
- import type { Value } from './value.js';
2
+ import type { Type } from './value.js';
3
3
  /** The resources a system can run on the condition of: their type allows `null` or `false`. */
4
4
  export type Condition = {
5
- [K in Key]: null extends Value<K> ? K : false extends Value<K> ? K : never;
5
+ [K in Key]: null extends Type<K> ? K : false extends Type<K> ? K : never;
6
6
  }[Key];
7
7
  /** A condition's value while `is` holds: neither `null` nor `false`. */
8
- export type Holding<K extends Key> = Exclude<Value<K>, null | false>;
8
+ export type Holding<K extends Key> = Exclude<Type<K>, null | false>;
@@ -0,0 +1,4 @@
1
+ import type { Declared } from '../component/declared.js';
2
+ import type { Key } from './key.js';
3
+ /** Every resource its modules registered so far, with its declaration. */
4
+ export declare const declarations: () => ReadonlyMap<Key, Declared>;
@@ -0,0 +1,8 @@
1
+ import { declaredOf } from '../registry/names.js';
2
+ /** Every resource its modules registered so far, with its declaration. */
3
+ export const declarations = () => {
4
+ // Registration takes only keys declared in `Resources`, so each symbol registered as a resource is one of its keys.
5
+ const found = declaredOf("resource");
6
+ return found;
7
+ };
8
+ //# sourceMappingURL=declarations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../src/interface/resource/declarations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,GAA+B,EAAE;IACzD,oHAAoH;IACpH,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAA+B,CAAC;IACnE,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export type { Key } from './key.js';
2
- export type { Value } from './value.js';
2
+ export { declarations } from './declarations.js';
3
+ export type { Declared } from '../component/declared.js';
@@ -1,2 +1,2 @@
1
- export {};
1
+ export { declarations } from './declarations.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interface/resource/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interface/resource/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,2 +1,5 @@
1
- export type Resource = never;
1
+ import type { Key } from './key.js';
2
+ import type { Type } from './value.js';
3
+ /** The type of resource `K`'s value, as its record in `Resources` declares it: `Resource<typeof clock>`. */
4
+ export type Resource<K extends Key> = Type<K>;
2
5
  export * as Resource from './index.js';
@@ -1,3 +1,2 @@
1
- // © 2026 Adobe. MIT License. See /LICENSE for details.
2
1
  export * as Resource from './index.js';
3
2
  //# sourceMappingURL=resource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/interface/resource/resource.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAIvD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/interface/resource/resource.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC"}
@@ -1,20 +1,20 @@
1
1
  import type { ThreadOf } from '../thread/of.js';
2
2
  import type { Key } from "./key.js";
3
3
  import type { Resources } from "./types.js";
4
- /** Every resource's value type, computed once so `Value` is a lookup. */
5
- type ValueTypes = {
4
+ /** Every resource's value type, computed once so `Type` is a lookup. */
5
+ type Types = {
6
6
  readonly [K in Key]: Resources[K] extends {
7
7
  readonly type: infer T;
8
8
  } ? T : never;
9
9
  };
10
10
  /** The value type of resource `K`. */
11
- export type Value<K extends Key> = ValueTypes[K];
11
+ export type Type<K extends Key> = Types[K];
12
12
  type Primitive = string | number | boolean | bigint | symbol | null | undefined;
13
13
  /** Resource `K`'s value as reads return it: read-only, with branded primitives such as `Entity` as they are. */
14
- export type ReadonlyValue<K extends Key> = Value<K> extends Primitive ? Value<K> : Readonly<Value<K>>;
14
+ export type ReadonlyType<K extends Key> = Type<K> extends Primitive ? Type<K> : Readonly<Type<K>>;
15
15
  /** Every resource's thread, computed once so `ThreadOf` is a lookup. */
16
16
  type Threads = {
17
- readonly [K in Key]: ThreadOf<Resources[K], Value<K>>;
17
+ readonly [K in Key]: ThreadOf<Resources[K], Type<K>>;
18
18
  };
19
19
  /** The thread resource `K` lives on, or `never` for a struct, which lives in shared memory. */
20
20
  export type ThreadOfResource<K extends Key> = Threads[K];
@@ -1,4 +1,4 @@
1
- /** The cadence's value, for the implementation: `Resource.Value<typeof cadence>`. */
1
+ /** The cadence's value, for the implementation: `Resource<typeof cadence>`. */
2
2
  export type Cadence = {
3
3
  readonly kind: "frame";
4
4
  } | {
@@ -25,7 +25,7 @@ export type ComponentAccess = {
25
25
  * change filters, an archetype it skipped keeps its rows unseen until it passes again.
26
26
  */
27
27
  readonly where?: {
28
- readonly [K in Shared]?: Component.Value<K> | ((value: Component.Value<K>, context: {
28
+ readonly [K in Shared]?: Component<K> | ((value: Component<K>, context: {
29
29
  readonly resources: ReadResources;
30
30
  }) => boolean);
31
31
  };
@@ -9,12 +9,13 @@ import type { Commands } from './commands.js';
9
9
  import type { Declaration } from './declaration.js';
10
10
  import type { Listed, Property } from './property.js';
11
11
  import type { RenderContext } from './render.js';
12
+ import type { Tables } from './tables.js';
12
13
  import type { ComponentValues, LookupFunction, ResourceValues, Values } from './values.js';
13
14
  /** The components every entity a declaration matches has: those in `with`, `added` and `changed`. */
14
15
  export type Members<D> = Listed<Property<D, "components">, "with"> | Listed<Property<D, "components">, "added"> | Listed<Property<D, "components">, "changed">;
15
- /** Whether a declaration only reads: an observer or a render system. */
16
+ /** Whether a declaration only reads: one declared `readonly`, or a render system. */
16
17
  type Reading<D> = D extends {
17
- readonly observer: true;
18
+ readonly readonly: true;
18
19
  } | {
19
20
  readonly shader: object;
20
21
  } ? true : false;
@@ -22,7 +23,7 @@ type Reading<D> = D extends {
22
23
  export type Optional<D> = Exclude<Listed<Property<D, "components">, "optional">, Members<D>>;
23
24
  /** Each optional component's value or `undefined`, as `ComponentValues` gives members'. */
24
25
  type OptionalValues = {
25
- readonly [K in Component.Key]: Component.Value<K> | undefined;
26
+ readonly [K in Component.Key]: Component<K> | undefined;
26
27
  };
27
28
  /**
28
29
  * Its members' values, writable but for references and shared components, and in a system that only reads; its
@@ -40,13 +41,13 @@ export type ReadResources = Values<Resource.Key, never, Resource.Key, ResourceVa
40
41
  export type WriteResources = Values<Resource.Key, Writes, Resource.Key, ResourceValues>;
41
42
  /** Each reduced resource, as a function contributing a value to the run's fold. */
42
43
  type Reductions = {
43
- readonly [K in Reduced]: (value: Resource.Value<K>) => void;
44
+ readonly [K in Reduced]: (value: Resource<K>) => void;
44
45
  };
45
46
  type Is<D> = Listed<Property<D, "resources">, "is">;
46
47
  /**
47
48
  * What a body uses besides its row: every resource, its lookups by name, the resources it may reduce into, its
48
- * parent's values with `up`, and its commands, there for every system but a GPU kernel, a render system and an
49
- * observer system. The build infers which of them the body reads and writes.
49
+ * parent's values with `up`, and its commands, there for every system but a GPU kernel, a render system and one
50
+ * declared `readonly`. The build infers which of them the body reads and writes.
50
51
  */
51
52
  export type Context<D extends Declaration> = {
52
53
  readonly resources: (Reading<D> extends true ? ReadResources : WriteResources) & {
@@ -66,10 +67,14 @@ export type Context<D extends Declaration> = {
66
67
  } | {
67
68
  readonly shader: object;
68
69
  } | {
69
- readonly observer: true;
70
+ readonly readonly: true;
70
71
  } ? {} : {
71
72
  readonly commands: Commands;
72
- });
73
+ }) & (D extends {
74
+ readonly tables: object;
75
+ } ? {
76
+ readonly tables: Tables;
77
+ } : {});
73
78
  /**
74
79
  * `(row, context, input)` for a system with `components`, `(context, input)` for one without, and `(gpu, context)` for
75
80
  * a render system. `input` is the value each run passes, of the type the body gives its parameter; a body without one
@@ -7,7 +7,7 @@ import type { InputSchema, Leaf } from './leaf.js';
7
7
  export declare const unreadByKernel: (leaf: Leaf) => string | null;
8
8
  /**
9
9
  * Throws for a leaf that names a component or resource that isn't registered as one, lists a key in both `read` and
10
- * `write`, writes a reference, has a lookup reading a component it writes, uses object components and resources of different threads, declares what an observer system can't, or whose
10
+ * `write`, writes a reference, has a lookup reading a component it writes, uses object components and resources of different threads, declares what a readonly system can't, or whose
11
11
  * reductions, conditions, `up` or placement can't hold.
12
12
  */
13
13
  export declare const checkLeaf: (leaf: Leaf) => void;
@@ -160,17 +160,17 @@ const checkWhere = (leaf) => {
160
160
  }
161
161
  };
162
162
  /**
163
- * Throws for what an observer system can't declare: it only reads, after a sync point, so it writes and reduces into
163
+ * Throws for what a readonly system can't declare: it only reads, after a sync point, so it writes and reduces into
164
164
  * nothing, takes no input, isn't a kernel or a render system, has no `up`, and is ordered with nothing.
165
165
  */
166
- const checkObserver = (leaf) => {
166
+ const checkReadonly = (leaf) => {
167
167
  const { name, declaration } = leaf;
168
- const { observer } = declaration;
169
- if (observer === undefined)
168
+ const { readonly } = declaration;
169
+ if (readonly === undefined)
170
170
  return;
171
- const fail = (message) => { throw new Error(`System "${name}" is an observer, so it ${message}.`); };
172
- if (observer !== true)
173
- throw new Error(`System "${name}": observer is true or left out.`);
171
+ const fail = (message) => { throw new Error(`System "${name}" is readonly, so it ${message}.`); };
172
+ if (readonly !== true)
173
+ throw new Error(`System "${name}": readonly is true or left out.`);
174
174
  if (leaf.kind === "render")
175
175
  fail("records no GPU work");
176
176
  if (declaration.kernel === true || declaration.kernel === "gpu")
@@ -186,9 +186,24 @@ const checkObserver = (leaf) => {
186
186
  if ((declaration.before?.length ?? 0) + (declaration.after?.length ?? 0) + (declaration.during?.length ?? 0) > 0)
187
187
  fail("is ordered with nothing");
188
188
  };
189
+ /** Throws for `tables` on a system that isn't readonly or has components, or naming keys that aren't registered as their kind. */
190
+ const checkTables = (leaf) => {
191
+ const { name, declaration } = leaf;
192
+ const { tables } = declaration;
193
+ if (tables === undefined)
194
+ return;
195
+ if (declaration.readonly !== true)
196
+ throw new Error(`System "${name}" reads tables, which only a readonly system reads.`);
197
+ if (declaration.components !== undefined)
198
+ throw new Error(`System "${name}" reads tables, so it has no components.`);
199
+ requireRegistered("System", name, "component", tables.components);
200
+ requireRegistered("System", name, "component", tables.with);
201
+ requireRegistered("System", name, "component", tables.not);
202
+ requireRegistered("System", name, "resource", tables.resources);
203
+ };
189
204
  /**
190
205
  * Throws for a leaf that names a component or resource that isn't registered as one, lists a key in both `read` and
191
- * `write`, writes a reference, has a lookup reading a component it writes, uses object components and resources of different threads, declares what an observer system can't, or whose
206
+ * `write`, writes a reference, has a lookup reading a component it writes, uses object components and resources of different threads, declares what a readonly system can't, or whose
192
207
  * reductions, conditions, `up` or placement can't hold.
193
208
  */
194
209
  export const checkLeaf = (leaf) => {
@@ -214,6 +229,7 @@ export const checkLeaf = (leaf) => {
214
229
  throw new Error(`System "${name}": its rows are ordered by an index keyed by "${labelOf(key)}", which the system writes.`);
215
230
  }
216
231
  checkTarget(leaf);
232
+ checkTables(leaf);
217
233
  threadOf(declaration, "System", name);
218
234
  requireRegistered("System", name, "component", components?.has);
219
235
  requireRegistered("System", name, "component", components?.not);
@@ -228,7 +244,7 @@ export const checkLeaf = (leaf) => {
228
244
  if (declarationOf(key)?.shared === true)
229
245
  throw new Error(`System "${name}" writes "${labelOf(key)}", a shared component, whose value is its archetype's: give it another with commands.add.`);
230
246
  }
231
- checkObserver(leaf);
247
+ checkReadonly(leaf);
232
248
  checkWhere(leaf);
233
249
  checkReductions(leaf);
234
250
  checkConditions(leaf);
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/interface/system/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/interface/system/check.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,17 @@
1
1
  import type { Component } from '../component/component.js';
2
2
  import type { Entity } from '../entity/entity.js';
3
3
  import type { Essential, Shared } from '../component/value.js';
4
+ import type { Table } from '../world/table/table.js';
4
5
  import type { ValuesOf } from './values-of.js';
5
6
  /** The value an `add` of one component takes: none for a tag. */
6
- type ValueArgument<K extends Essential> = Component.Value<K> extends true ? [value?: true] : [value: Component.Value<K>];
7
+ type ValueArgument<K extends Essential> = Component<K> extends true ? [value?: true] : [value: Component<K>];
7
8
  /** Values of components of `C` a spawner's first call may give, constant for every entity it spawns. */
8
9
  type Preset<C extends readonly Essential[]> = {
9
- readonly [K in C[number]]?: Component.Value<K>;
10
+ readonly [K in C[number]]?: Component<K>;
10
11
  };
11
12
  /** The value of each shared component of `C`, which a spawner's first call must give, since they choose the archetype. */
12
13
  type SharedPreset<C extends readonly Essential[]> = {
13
- readonly [K in C[number] & Shared]: Component.Value<K>;
14
+ readonly [K in C[number] & Shared]: Component<K>;
14
15
  };
15
16
  /**
16
17
  * Whether `C` names a shared component, so a spawner of it takes its constants: a list that isn't a tuple, whose
@@ -31,7 +32,7 @@ type Named<C extends readonly Essential[], P> = {
31
32
  */
32
33
  type Spawned<C extends readonly Essential[], P> = RequiresPreset<C> extends true ? [keyof P] extends [never] ? C & {
33
34
  readonly "error: a spawn of a shared component takes its value first, in its constants": {
34
- readonly [K in C[number] & Shared]: Component.Value<K>;
35
+ readonly [K in C[number] & Shared]: Component<K>;
35
36
  };
36
37
  } : C : C;
37
38
  /** Each component of `C` the constants `P` gave, whose value a spawn's values give again as a message naming it. */
@@ -70,5 +71,20 @@ export type Commands = {
70
71
  add<const C extends readonly Essential[]>(entity: Entity, components: C, values: ValuesOf<C>): void;
71
72
  remove(entity: Entity, component: Essential): void;
72
73
  remove(entity: Entity, components: readonly Essential[]): void;
74
+ /**
75
+ * Spawns an entity for each row of `tables`, as a readonly system's `tables` gives them, of each table's components
76
+ * with its columns' values: a block copy per column. Entity values are rewritten as the world's references would
77
+ * leave them had the entities outside the tables despawned: each naming an entity of the tables, a reference, a
78
+ * struct's field or an array's item, names the one spawned for it; a row whose owner reference names an entity
79
+ * outside them isn't spawned, nor anything it owns, through owner references, as despawning its owner would; a
80
+ * weak reference to one is left out of its row, which is spawned without it; any other value naming one is
81
+ * `Entity.none`. Returns, at once, each table's new entities, alive at the sync point. A column's stride must be its
82
+ * component's in this world, and its length its table's count. `resources` sets each resource it names, by key, at
83
+ * the sync point, as commands apply, each value checked against its resource's schema; not one only the world
84
+ * writes, nor one living on another thread. On the world's thread only.
85
+ */
86
+ spawnTables(tables: readonly Table[], resources?: {
87
+ readonly [key: symbol]: unknown;
88
+ }): Table.Spawned;
73
89
  };
74
90
  export {};
@@ -63,10 +63,10 @@ type GpuKernel = {
63
63
  };
64
64
  };
65
65
  /**
66
- * An observer system only reads, after a sync point: its row and resources are read-only, and it never compiles to a
66
+ * A readonly system only reads, after a sync point: its row and resources are read-only, and it never compiles to a
67
67
  * kernel, has no `up`, and is ordered with nothing. That it takes no input is checked at its body.
68
68
  */
69
- type Observer = {
69
+ type Readonly = {
70
70
  readonly kernel?: false;
71
71
  readonly up?: never;
72
72
  readonly before?: never;
@@ -137,8 +137,20 @@ type Validate<D extends Declaration> = LookupChanges<D> & Where<D> & Conditions<
137
137
  readonly "error: a GPU kernel can't have optional components yet": true;
138
138
  };
139
139
  } : {}) & (D extends {
140
- readonly observer: true;
141
- } ? Observer : {}) & (D extends {
140
+ readonly readonly: true;
141
+ } ? Readonly : {}) & (D extends {
142
+ readonly tables: object;
143
+ } ? (D extends {
144
+ readonly readonly: true;
145
+ } ? {} : {
146
+ readonly tables?: {
147
+ readonly "error: tables are read by a readonly system": true;
148
+ };
149
+ }) & (Property<D, "components"> extends undefined ? {} : {
150
+ readonly tables?: {
151
+ readonly "error: a system reading tables has no components": true;
152
+ };
153
+ }) : {}) & (D extends {
142
154
  readonly target: string;
143
155
  } ? Targeted : {}) & (D extends {
144
156
  readonly target: string;
@@ -157,7 +169,7 @@ type EntityFields<I> = {
157
169
  /**
158
170
  * What a declaration requires of the input its body takes, checked at the body, since the input is known only once the
159
171
  * body is: a target names an entity field of it, and a system with input doesn't filter on added or changed, as its
160
- * runs pass different input, nor is it an observer. Every check passes for `never`, the input before the body is
172
+ * runs pass different input, nor is it a readonly system. Every check passes for `never`, the input before the body is
161
173
  * inferred.
162
174
  */
163
175
  type Checks<D, I> = [I] extends [never] ? unknown : (D extends {
@@ -175,9 +187,9 @@ type Checks<D, I> = [I] extends [never] ? unknown : (D extends {
175
187
  } ? {
176
188
  readonly "error: a system with input can't filter on added or changed, as its runs pass different input; pass it through a resource": true;
177
189
  } : unknown) & (D extends {
178
- readonly observer: true;
190
+ readonly readonly: true;
179
191
  } ? {
180
- readonly "error: an observer system takes no input": true;
192
+ readonly "error: a readonly system takes no input": true;
181
193
  } : unknown));
182
194
  /** The body of a system that declares nothing, which runs once per run with its resources and commands. */
183
195
  type Alone = (context: Context<{}>) => void;
@@ -200,10 +212,10 @@ type Checked<C> = C extends Alone ? ReturnsNoPromise<C> : C extends CompositeDec
200
212
  * input, with every field of theirs. Throws if a system names a key that isn't registered as its kind, its body writes
201
213
  * a reference, a lookup's rows are read where it writes them or it goes through an index keyed by what it writes, its
202
214
  * rows are ordered by an index it isn't sorted or keyed by what it writes, its object components and resources live on
203
- * different threads, or its reductions, conditions, `up`, `order` or placement can't hold, or it's an observer and
215
+ * different threads, or its reductions, conditions, `up`, `order` or placement can't hold, or it's a readonly system and
204
216
  * writes, reduces, takes input, is a kernel, has `up` or is ordered; if the build couldn't follow how its body uses its
205
217
  * resources, lookups or parent; or if a composite's member isn't a system a constructor returned, or two members
206
- * declare an input field with different schemas. A composite's observer members run after its sync point, ordered
218
+ * declare an input field with different schemas. A composite's readonly members run after its sync point, ordered
207
219
  * with nothing.
208
220
  *
209
221
  * A run of a system without components resolves to what its body returns, or `undefined` when its conditions, resource
@@ -26,13 +26,13 @@ export function create(first, second, input) {
26
26
  }
27
27
  /** A declaration as the world takes it, with what the build inferred its body uses. */
28
28
  const resolve = (what, declared, access) => {
29
- const reading = declared.observer === true;
29
+ const reading = declared.readonly === true;
30
30
  const { components, lookup, up, resources, ...rest } = declared;
31
31
  const uses = resourceUses(what, access, resources?.is);
32
- // What `where`'s predicates read counts as the system's reads, for its order, conflicts and placement.
33
32
  const whereReads = whereReadsOf(what, components, access);
34
33
  const conditions = resources?.is ?? [];
35
- for (const key of whereReads)
34
+ // What `where`'s predicates and `tables` read counts as the system's reads, for its order, conflicts and placement.
35
+ for (const key of [...whereReads, ...declared.tables?.resources ?? []])
36
36
  if (!uses.read.includes(key) && !uses.write.includes(key) && !conditions.includes(key))
37
37
  uses.read.push(key);
38
38
  const resolved = {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/interface/system/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/interface/system/create.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { Index } from '../indexes/index-type.js';
2
2
  import type { ComponentAccess, ComponentLists, ResourceAccess, ResourceLists, SystemLookup, SystemLookupLists, Up, UpLists } from './access.js';
3
3
  import type { Shader } from './render.js';
4
4
  import type { System } from './system.js';
5
+ import type { TablesDeclaration } from './tables.js';
5
6
  /**
6
7
  * A system never declares its thread: it runs on the one its object components and resources live on, those it
7
8
  * reads, writes or filters on by change, through its row, lookups, `up` and resources. Without them, a kernel runs on
@@ -60,9 +61,15 @@ export type Declaration = {
60
61
  readonly during?: readonly System<unknown>[];
61
62
  /**
62
63
  * Runs after the last sync point of each run and tick (a tick is a run of the added composite), reading the settled
63
- * state; changes nothing; never ordered; doesn't keep the loop ticking.
64
+ * state, on the thread that added or ran it; changes nothing, its row and resources typed read-only and its context
65
+ * without `commands`; takes no input; never ordered; doesn't keep the loop ticking. A joined thread adds only these.
64
66
  */
65
- readonly observer?: true;
67
+ readonly readonly?: true;
68
+ /**
69
+ * For a readonly system without components: gives its context `tables`, copies of whole archetypes' columns, as
70
+ * `TablesDeclaration` says, read on the world's thread. Its components and resources count as what it reads.
71
+ */
72
+ readonly tables?: TablesDeclaration;
66
73
  };
67
74
  /** A declaration as the world takes it: the build's inferred reads, writes and reductions joined with what it declares. */
68
75
  export type Resolved = Omit<Declaration, "components" | "lookup" | "up" | "resources"> & {
@@ -3,9 +3,9 @@ import type { Resource } from '../resource/resource.js';
3
3
  import type { IsStruct } from '../schema/is-struct.js';
4
4
  /** Components whose values are structs, which kernels read and write. */
5
5
  export type StructComponent = {
6
- [K in Component.Key]: IsStruct<Component.Value<K>> extends true ? K : never;
6
+ [K in Component.Key]: IsStruct<Component<K>> extends true ? K : never;
7
7
  }[Component.Key];
8
8
  /** Resources whose values are structs, which kernels read. */
9
9
  export type StructResource = {
10
- [K in Resource.Key]: IsStruct<Resource.Value<K>> extends true ? K : never;
10
+ [K in Resource.Key]: IsStruct<Resource<K>> extends true ? K : never;
11
11
  }[Resource.Key];