@adobe/data 0.7.0 → 0.7.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 (229) hide show
  1. package/dist/ecs/archetype/archetype.d.ts +3 -3
  2. package/dist/ecs/archetype/create-archetype.d.ts +4 -4
  3. package/dist/ecs/archetype/create-archetype.js.map +1 -1
  4. package/dist/ecs/archetype/create-archetype.test.js +6 -6
  5. package/dist/ecs/archetype/create-archetype.test.js.map +1 -1
  6. package/dist/ecs/archetype/delete-row.d.ts +2 -2
  7. package/dist/ecs/archetype/delete-row.js.map +1 -1
  8. package/dist/ecs/archetype/delete-row.test.js +4 -4
  9. package/dist/ecs/archetype/delete-row.test.js.map +1 -1
  10. package/dist/ecs/core-components.d.ts +3 -3
  11. package/dist/ecs/database/database.d.ts +4 -4
  12. package/dist/ecs/database/index.d.ts +1 -0
  13. package/dist/ecs/database/index.js +1 -0
  14. package/dist/ecs/database/index.js.map +1 -1
  15. package/dist/ecs/database/observe-select-entities.d.ts +2 -2
  16. package/dist/ecs/database/observe-select-entities.js.map +1 -1
  17. package/dist/ecs/database/observed/create-observed-database.js.map +1 -1
  18. package/dist/ecs/database/observed/observed-database.d.ts +3 -3
  19. package/dist/ecs/database/replicate.d.ts +9 -0
  20. package/dist/ecs/database/replicate.js +66 -0
  21. package/dist/ecs/database/replicate.js.map +1 -0
  22. package/dist/ecs/database/replicate.test.js +235 -0
  23. package/dist/ecs/database/replicate.test.js.map +1 -0
  24. package/dist/ecs/database/transactional-store/create-transactional-store.test.js +20 -0
  25. package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
  26. package/dist/ecs/database/transactional-store/patch-entity-values.js +4 -1
  27. package/dist/ecs/database/transactional-store/patch-entity-values.js.map +1 -1
  28. package/dist/ecs/entity-location-table/create-entity-location-table.d.ts +1 -1
  29. package/dist/ecs/entity-location-table/create-entity-location-table.js +14 -1
  30. package/dist/ecs/entity-location-table/create-entity-location-table.js.map +1 -1
  31. package/dist/ecs/entity-location-table/create-entity-location-table.test.js +14 -0
  32. package/dist/ecs/entity-location-table/create-entity-location-table.test.js.map +1 -1
  33. package/dist/ecs/entity.d.ts +9 -7
  34. package/dist/ecs/entity.js +5 -2
  35. package/dist/ecs/entity.js.map +1 -1
  36. package/dist/ecs/index.d.ts +1 -1
  37. package/dist/ecs/index.js +1 -1
  38. package/dist/ecs/index.js.map +1 -1
  39. package/dist/ecs/optional-components.d.ts +3 -0
  40. package/dist/ecs/optional-components.js +2 -0
  41. package/dist/ecs/optional-components.js.map +1 -0
  42. package/dist/ecs/required-components.d.ts +4 -0
  43. package/dist/ecs/required-components.js +2 -0
  44. package/dist/ecs/required-components.js.map +1 -0
  45. package/dist/ecs/store/core/core.d.ts +15 -15
  46. package/dist/ecs/store/core/create-core.d.ts +2 -1
  47. package/dist/ecs/store/core/create-core.js +34 -14
  48. package/dist/ecs/store/core/create-core.js.map +1 -1
  49. package/dist/ecs/store/core/create-core.test.d.ts +1 -1
  50. package/dist/ecs/store/core/create-core.test.js +30 -2
  51. package/dist/ecs/store/core/create-core.test.js.map +1 -1
  52. package/dist/ecs/store/core/select-entities.d.ts +2 -2
  53. package/dist/ecs/store/core/select-entities.js.map +1 -1
  54. package/dist/ecs/store/create-store.d.ts +2 -1
  55. package/dist/ecs/store/create-store.js +3 -1
  56. package/dist/ecs/store/create-store.js.map +1 -1
  57. package/dist/ecs/store/store.d.ts +6 -6
  58. package/dist/samples/todo/services/state-service/create-todo-database.d.ts +2 -2
  59. package/dist/samples/todo/services/state-service/create-todo-store.d.ts +2 -2
  60. package/dist/tsconfig.tsbuildinfo +1 -1
  61. package/package.json +4 -3
  62. package/dist/blob/download-handle.d.ts +0 -4
  63. package/dist/blob/download-handle.js +0 -2
  64. package/dist/blob/download-handle.js.map +0 -1
  65. package/dist/blob/upload-handle.d.ts +0 -4
  66. package/dist/blob/upload-handle.js +0 -2
  67. package/dist/blob/upload-handle.js.map +0 -1
  68. package/dist/ecs/database/transactional-store/entity-id-preservation.test.js +0 -106
  69. package/dist/ecs/database/transactional-store/entity-id-preservation.test.js.map +0 -1
  70. package/dist/ecs/entity/entity.d.ts +0 -8
  71. package/dist/ecs/entity/entity.js +0 -3
  72. package/dist/ecs/entity/entity.js.map +0 -1
  73. package/dist/ecs/entity/u32.d.ts +0 -8
  74. package/dist/ecs/entity/u32.js +0 -24
  75. package/dist/ecs/entity/u32.js.map +0 -1
  76. package/dist/ecs/store/store-schema/create-store-schema-test.d.ts +0 -1
  77. package/dist/ecs/store/store-schema/create-store-schema-test.js +0 -33
  78. package/dist/ecs/store/store-schema/create-store-schema-test.js.map +0 -1
  79. package/dist/ecs/store/store-schema/create-store-schema.d.ts +0 -1
  80. package/dist/ecs/store/store-schema/create-store-schema.js +0 -45
  81. package/dist/ecs/store/store-schema/create-store-schema.js.map +0 -1
  82. package/dist/ecs/store/store-schema/index.d.ts +0 -1
  83. package/dist/ecs/store/store-schema/index.js +0 -21
  84. package/dist/ecs/store/store-schema/index.js.map +0 -1
  85. package/dist/ecs/store/store-schema/store-schema.d.ts +0 -1
  86. package/dist/ecs/store/store-schema/store-schema.js +0 -57
  87. package/dist/ecs/store/store-schema/store-schema.js.map +0 -1
  88. package/dist/ecs/world/create-world.d.ts +0 -7
  89. package/dist/ecs/world/create-world.js +0 -113
  90. package/dist/ecs/world/create-world.js.map +0 -1
  91. package/dist/ecs/world/create-world.test.d.ts +0 -1
  92. package/dist/ecs/world/create-world.test.js +0 -499
  93. package/dist/ecs/world/create-world.test.js.map +0 -1
  94. package/dist/ecs/world/index.d.ts +0 -5
  95. package/dist/ecs/world/index.js +0 -27
  96. package/dist/ecs/world/index.js.map +0 -1
  97. package/dist/ecs/world/system-phase.d.ts +0 -5
  98. package/dist/ecs/world/system-phase.js +0 -14
  99. package/dist/ecs/world/system-phase.js.map +0 -1
  100. package/dist/ecs/world/system.d.ts +0 -25
  101. package/dist/ecs/world/system.js +0 -2
  102. package/dist/ecs/world/system.js.map +0 -1
  103. package/dist/ecs/world/world-schema/create-world-schema-test.d.ts +0 -1
  104. package/dist/ecs/world/world-schema/create-world-schema-test.js +0 -55
  105. package/dist/ecs/world/world-schema/create-world-schema-test.js.map +0 -1
  106. package/dist/ecs/world/world-schema/create-world-schema.d.ts +0 -19
  107. package/dist/ecs/world/world-schema/create-world-schema.js +0 -33
  108. package/dist/ecs/world/world-schema/create-world-schema.js.map +0 -1
  109. package/dist/ecs/world/world-schema/index.d.ts +0 -2
  110. package/dist/ecs/world/world-schema/index.js +0 -24
  111. package/dist/ecs/world/world-schema/index.js.map +0 -1
  112. package/dist/ecs/world/world-schema/world-schema.d.ts +0 -18
  113. package/dist/ecs/world/world-schema/world-schema.js +0 -23
  114. package/dist/ecs/world/world-schema/world-schema.js.map +0 -1
  115. package/dist/ecs/world/world.d.ts +0 -11
  116. package/dist/ecs/world/world.js +0 -2
  117. package/dist/ecs/world/world.js.map +0 -1
  118. package/dist/graphics/camera/camera.d.ts +0 -62
  119. package/dist/graphics/camera/camera.js +0 -17
  120. package/dist/graphics/camera/camera.js.map +0 -1
  121. package/dist/graphics/camera/index.d.ts +0 -4
  122. package/dist/graphics/camera/index.js +0 -5
  123. package/dist/graphics/camera/index.js.map +0 -1
  124. package/dist/graphics/camera/screen-to-world-ray.d.ts +0 -12
  125. package/dist/graphics/camera/screen-to-world-ray.js +0 -49
  126. package/dist/graphics/camera/screen-to-world-ray.js.map +0 -1
  127. package/dist/graphics/camera/screen-to-world-ray.test.d.ts +0 -1
  128. package/dist/graphics/camera/screen-to-world-ray.test.js +0 -171
  129. package/dist/graphics/camera/screen-to-world-ray.test.js.map +0 -1
  130. package/dist/graphics/camera/to-view-projection.d.ts +0 -3
  131. package/dist/graphics/camera/to-view-projection.js +0 -8
  132. package/dist/graphics/camera/to-view-projection.js.map +0 -1
  133. package/dist/graphics/camera/world-to-screen.d.ts +0 -12
  134. package/dist/graphics/camera/world-to-screen.js +0 -38
  135. package/dist/graphics/camera/world-to-screen.js.map +0 -1
  136. package/dist/graphics/camera/world-to-screen.test.d.ts +0 -1
  137. package/dist/graphics/camera/world-to-screen.test.js +0 -124
  138. package/dist/graphics/camera/world-to-screen.test.js.map +0 -1
  139. package/dist/graphics/create-struct-gpu-buffer.d.ts +0 -7
  140. package/dist/graphics/create-struct-gpu-buffer.js +0 -17
  141. package/dist/graphics/create-struct-gpu-buffer.js.map +0 -1
  142. package/dist/graphics/extract-wgsl-bindings.d.ts +0 -5
  143. package/dist/graphics/extract-wgsl-bindings.js +0 -10
  144. package/dist/graphics/extract-wgsl-bindings.js.map +0 -1
  145. package/dist/graphics/frame.d.ts +0 -1
  146. package/dist/graphics/frame.js +0 -15
  147. package/dist/graphics/frame.js.map +0 -1
  148. package/dist/graphics/get-web-gpu-device-and-context.d.ts +0 -1
  149. package/dist/graphics/get-web-gpu-device-and-context.js +0 -24
  150. package/dist/graphics/get-web-gpu-device-and-context.js.map +0 -1
  151. package/dist/graphics/graphics-context.d.ts +0 -1
  152. package/dist/graphics/graphics-context.js +0 -7
  153. package/dist/graphics/graphics-context.js.map +0 -1
  154. package/dist/graphics/index.d.ts +0 -5
  155. package/dist/graphics/index.js +0 -5
  156. package/dist/graphics/index.js.map +0 -1
  157. package/dist/graphics/to-gpu-buffer.d.ts +0 -2
  158. package/dist/graphics/to-gpu-buffer.js +0 -14
  159. package/dist/graphics/to-gpu-buffer.js.map +0 -1
  160. package/dist/internal/array-buffer-like/grow.d.ts +0 -1
  161. package/dist/internal/array-buffer-like/grow.js +0 -9
  162. package/dist/internal/array-buffer-like/grow.js.map +0 -1
  163. package/dist/math/aabb-face/face.d.ts +0 -51
  164. package/dist/math/aabb-face/face.js +0 -110
  165. package/dist/math/aabb-face/face.js.map +0 -1
  166. package/dist/math/aabb-face/face.test.d.ts +0 -1
  167. package/dist/math/aabb-face/face.test.js +0 -94
  168. package/dist/math/aabb-face/face.test.js.map +0 -1
  169. package/dist/math/box/box.d.ts +0 -50
  170. package/dist/math/box/box.js +0 -23
  171. package/dist/math/box/box.js.map +0 -1
  172. package/dist/math/face/face.d.ts +0 -51
  173. package/dist/math/face/face.js +0 -110
  174. package/dist/math/face/face.js.map +0 -1
  175. package/dist/math/face/face.test.d.ts +0 -1
  176. package/dist/math/face/face.test.js +0 -94
  177. package/dist/math/face/face.test.js.map +0 -1
  178. package/dist/math/picking/face.d.ts +0 -1
  179. package/dist/math/picking/face.js +0 -2
  180. package/dist/math/picking/face.js.map +0 -1
  181. package/dist/math/picking/get-closest-entity-to-line.d.ts +0 -4
  182. package/dist/math/picking/get-closest-entity-to-line.js +0 -30
  183. package/dist/math/picking/get-closest-entity-to-line.js.map +0 -1
  184. package/dist/math/picking/get-closest-entity-to-point.d.ts +0 -4
  185. package/dist/math/picking/get-closest-entity-to-point.js +0 -27
  186. package/dist/math/picking/get-closest-entity-to-point.js.map +0 -1
  187. package/dist/math/picking/get-intersecting-entities.d.ts +0 -12
  188. package/dist/math/picking/get-intersecting-entities.js +0 -15
  189. package/dist/math/picking/get-intersecting-entities.js.map +0 -1
  190. package/dist/math/picking/getClosestEntityToLine.d.ts +0 -4
  191. package/dist/math/picking/getClosestEntityToLine.js +0 -29
  192. package/dist/math/picking/getClosestEntityToLine.js.map +0 -1
  193. package/dist/math/picking/getClosestEntityToPoint.d.ts +0 -4
  194. package/dist/math/picking/getClosestEntityToPoint.js +0 -27
  195. package/dist/math/picking/getClosestEntityToPoint.js.map +0 -1
  196. package/dist/math/picking/getIntersectingEntities.d.ts +0 -12
  197. package/dist/math/picking/getIntersectingEntities.js +0 -15
  198. package/dist/math/picking/getIntersectingEntities.js.map +0 -1
  199. package/dist/math/picking/index.d.ts +0 -5
  200. package/dist/math/picking/index.js +0 -27
  201. package/dist/math/picking/index.js.map +0 -1
  202. package/dist/math/picking/pick-from-tables.d.ts +0 -19
  203. package/dist/math/picking/pick-from-tables.js +0 -63
  204. package/dist/math/picking/pick-from-tables.js.map +0 -1
  205. package/dist/math/picking/pick-result.d.ts +0 -12
  206. package/dist/math/picking/pick-result.js +0 -23
  207. package/dist/math/picking/pick-result.js.map +0 -1
  208. package/dist/math/transform/debug-inverse.d.ts +0 -1
  209. package/dist/math/transform/debug-inverse.js +0 -28
  210. package/dist/math/transform/debug-inverse.js.map +0 -1
  211. package/dist/math/transform/debug-quat.d.ts +0 -1
  212. package/dist/math/transform/debug-quat.js +0 -23
  213. package/dist/math/transform/debug-quat.js.map +0 -1
  214. package/dist/math/transform/debug-test.d.ts +0 -1
  215. package/dist/math/transform/debug-test.js +0 -34
  216. package/dist/math/transform/debug-test.js.map +0 -1
  217. package/dist/math/transform/transform.d.ts +0 -58
  218. package/dist/math/transform/transform.js +0 -101
  219. package/dist/math/transform/transform.js.map +0 -1
  220. package/dist/math/transform/transform.test.d.ts +0 -1
  221. package/dist/math/transform/transform.test.js +0 -309
  222. package/dist/math/transform/transform.test.js.map +0 -1
  223. package/dist/old-ecs/privacy/helper-functions.d.ts +0 -43
  224. package/dist/old-ecs/privacy/helper-functions.js +0 -76
  225. package/dist/old-ecs/privacy/helper-functions.js.map +0 -1
  226. package/dist/old-ecs/privacy/helper-functions.test.d.ts +0 -1
  227. package/dist/old-ecs/privacy/helper-functions.test.js +0 -173
  228. package/dist/old-ecs/privacy/helper-functions.test.js.map +0 -1
  229. /package/dist/ecs/database/{transactional-store/entity-id-preservation.test.d.ts → replicate.test.d.ts} +0 -0
@@ -1,13 +1,13 @@
1
1
  import { Entity } from "../../entity.js";
2
2
  import { Archetype, ReadonlyArchetype } from "../../archetype/archetype.js";
3
3
  import { Schema } from "../../../schema/schema.js";
4
- import { CoreComponents } from "../../core-components.js";
4
+ import { RequiredComponents } from "../../required-components.js";
5
5
  import { StringKeyof } from "../../../types/index.js";
6
6
  import { Components } from "../components.js";
7
7
  export type EntityValues<C> = {
8
- readonly [K in (CoreComponents & StringKeyof<C>)]: C[K];
8
+ readonly [K in (RequiredComponents & StringKeyof<C>)]: C[K];
9
9
  };
10
- export type EntityReadValues<C> = CoreComponents & {
10
+ export type EntityReadValues<C> = RequiredComponents & {
11
11
  readonly [K in StringKeyof<C>]?: C[K];
12
12
  };
13
13
  export type EntityUpdateValues<C> = Partial<Omit<C, "id">>;
@@ -16,21 +16,21 @@ export type ArchetypeQueryOptions<C extends object> = {
16
16
  };
17
17
  export interface ReadonlyCore<C extends Components = never> {
18
18
  readonly componentSchemas: {
19
- readonly [K in StringKeyof<C & CoreComponents>]: Schema;
19
+ readonly [K in StringKeyof<C & RequiredComponents>]: Schema;
20
20
  };
21
- queryArchetypes<Include extends StringKeyof<C & CoreComponents>>(include: readonly Include[] | ReadonlySet<string>, options?: ArchetypeQueryOptions<C>): readonly ReadonlyArchetype<CoreComponents & Pick<C & CoreComponents, Include>>[];
22
- ensureArchetype: <const CC extends StringKeyof<C & CoreComponents>>(components: readonly CC[]) => ReadonlyArchetype<CoreComponents & {
23
- [K in CC]: (C & CoreComponents)[K];
21
+ queryArchetypes<Include extends StringKeyof<C & RequiredComponents>>(include: readonly Include[] | ReadonlySet<string>, options?: ArchetypeQueryOptions<C>): readonly ReadonlyArchetype<RequiredComponents & Pick<C & RequiredComponents, Include>>[];
22
+ ensureArchetype: <const CC extends StringKeyof<C & RequiredComponents>>(components: readonly CC[] | ReadonlySet<CC>) => ReadonlyArchetype<RequiredComponents & {
23
+ [K in CC]: (C & RequiredComponents)[K];
24
24
  }>;
25
25
  locate: (entity: Entity) => {
26
- archetype: ReadonlyArchetype<CoreComponents>;
26
+ archetype: ReadonlyArchetype<RequiredComponents>;
27
27
  row: number;
28
28
  } | null;
29
- read<T extends CoreComponents>(entity: Entity, minArchetype: ReadonlyArchetype<T> | Archetype<T>): {
30
- readonly [K in (StringKeyof<CoreComponents & T>)]: (CoreComponents & T)[K];
29
+ read<T extends RequiredComponents>(entity: Entity, minArchetype: ReadonlyArchetype<T> | Archetype<T>): {
30
+ readonly [K in (StringKeyof<RequiredComponents & T>)]: (RequiredComponents & T)[K];
31
31
  } & EntityReadValues<C> | null;
32
32
  read(entity: Entity): {
33
- readonly [K in (StringKeyof<CoreComponents & C>)]: (CoreComponents & C)[K];
33
+ readonly [K in (StringKeyof<RequiredComponents & C>)]: (RequiredComponents & C)[K];
34
34
  } | null;
35
35
  get<K extends StringKeyof<C>>(entity: Entity, component: K): C[K] | undefined;
36
36
  toData(): unknown;
@@ -39,12 +39,12 @@ export interface ReadonlyCore<C extends Components = never> {
39
39
  * This is the main interface for the low level ECS Core.
40
40
  */
41
41
  export interface Core<C extends Components = never> extends ReadonlyCore<C> {
42
- queryArchetypes<Include extends StringKeyof<C & CoreComponents>>(include: readonly Include[] | ReadonlySet<string>, options?: ArchetypeQueryOptions<C>): readonly Archetype<CoreComponents & Pick<C & CoreComponents, Include>>[];
43
- ensureArchetype: <const CC extends StringKeyof<C & CoreComponents>>(components: readonly CC[]) => Archetype<CoreComponents & {
44
- [K in CC]: (C & CoreComponents)[K];
42
+ queryArchetypes<Include extends StringKeyof<C & RequiredComponents>>(include: readonly Include[] | ReadonlySet<string>, options?: ArchetypeQueryOptions<C>): readonly Archetype<RequiredComponents & Pick<C & RequiredComponents, Include>>[];
43
+ ensureArchetype: <const CC extends StringKeyof<C & RequiredComponents>>(components: readonly CC[] | ReadonlySet<CC>) => Archetype<RequiredComponents & {
44
+ [K in CC]: (C & RequiredComponents)[K];
45
45
  }>;
46
46
  locate: (entity: Entity) => {
47
- archetype: Archetype<CoreComponents>;
47
+ archetype: Archetype<RequiredComponents>;
48
48
  row: number;
49
49
  } | null;
50
50
  delete: (entity: Entity) => void;
@@ -2,6 +2,7 @@ import { FromSchema } from "../../../schema/schema.js";
2
2
  import { Core } from "./core.js";
3
3
  import { Simplify, StringKeyof } from "../../../types/index.js";
4
4
  import { ComponentSchemas } from "../../component-schemas.js";
5
- export declare function createCore<NC extends ComponentSchemas>(newComponentSchemas: NC): Core<Simplify<{
5
+ import { OptionalComponents } from "../../optional-components.js";
6
+ export declare function createCore<NC extends ComponentSchemas>(newComponentSchemas: NC): Core<Simplify<OptionalComponents & {
6
7
  [K in StringKeyof<NC>]: FromSchema<NC[K]>;
7
8
  }>>;
@@ -22,10 +22,20 @@ SOFTWARE.*/
22
22
  import { createEntityLocationTable } from "../../entity-location-table/index.js";
23
23
  import * as ARCHETYPE from "../../archetype/index.js";
24
24
  import { Table, getRowData, addRow, updateRow } from "../../../table/index.js";
25
- import { schema } from "../../entity.js";
25
+ import { Entity } from "../../entity.js";
26
+ import { TrueSchema } from "../../../schema/true.js";
26
27
  export function createCore(newComponentSchemas) {
27
- const componentSchemas = { id: schema, ...newComponentSchemas };
28
- const entityLocationTable = createEntityLocationTable();
28
+ const componentSchemas = {
29
+ id: Entity.schema,
30
+ transient: TrueSchema,
31
+ ...newComponentSchemas
32
+ };
33
+ // entity location table for entities that are not transient
34
+ // values >= 0
35
+ const persistentLocationTable = createEntityLocationTable(16, false);
36
+ // entity location table for entities that are transient
37
+ // values < 0
38
+ const transientLocationTable = createEntityLocationTable(16, true);
29
39
  const archetypes = [];
30
40
  const queryArchetypes = (include, options) => {
31
41
  const includeArray = Array.from(include);
@@ -40,28 +50,35 @@ export function createCore(newComponentSchemas) {
40
50
  return results;
41
51
  };
42
52
  const ensureArchetype = (componentNames) => {
53
+ const componentCount = Array.isArray(componentNames)
54
+ ? componentNames.length
55
+ : componentNames.size;
43
56
  for (const archetype of queryArchetypes(componentNames)) {
44
- if (archetype.components.size === componentNames.length) {
57
+ if (archetype.components.size === componentCount) {
45
58
  return archetype;
46
59
  }
47
60
  }
48
61
  const id = archetypes.length;
49
62
  const archetypeComponentSchemas = {};
50
63
  let hasId = false;
64
+ let transient = false;
51
65
  for (const comp of componentNames) {
52
66
  if (comp === "id") {
53
67
  hasId = true;
54
68
  }
69
+ if (comp === "transient") {
70
+ transient = true;
71
+ }
55
72
  archetypeComponentSchemas[comp] = componentSchemas[comp];
56
73
  }
57
74
  if (!hasId) {
58
75
  throw new Error("id is required");
59
76
  }
60
- const archetype = ARCHETYPE.createArchetype(archetypeComponentSchemas, id, entityLocationTable);
77
+ const archetype = ARCHETYPE.createArchetype(archetypeComponentSchemas, id, transient ? transientLocationTable : persistentLocationTable);
61
78
  archetypes.push(archetype);
62
79
  return archetype;
63
80
  };
64
- const { locate } = entityLocationTable;
81
+ const { locate } = persistentLocationTable;
65
82
  const readEntity = (entity, minArchetype) => {
66
83
  const location = locate(entity);
67
84
  if (location === null) {
@@ -80,8 +97,8 @@ export function createCore(newComponentSchemas) {
80
97
  if (!archetype) {
81
98
  throw new Error("Archetype not found: " + JSON.stringify(location));
82
99
  }
83
- ARCHETYPE.deleteRow(archetype, location.row, entityLocationTable);
84
- entityLocationTable.delete(entity);
100
+ ARCHETYPE.deleteRow(archetype, location.row, persistentLocationTable);
101
+ persistentLocationTable.delete(entity);
85
102
  }
86
103
  };
87
104
  const updateEntity = (entity, components) => {
@@ -89,6 +106,9 @@ export function createCore(newComponentSchemas) {
89
106
  if (currentLocation === null) {
90
107
  throw "Entity not found";
91
108
  }
109
+ if ("transient" in components) {
110
+ throw new Error("Cannot update transient component");
111
+ }
92
112
  const currentArchetype = archetypes[currentLocation.archetype];
93
113
  let newArchetype = currentArchetype;
94
114
  let addComponents = null;
@@ -117,16 +137,16 @@ export function createCore(newComponentSchemas) {
117
137
  newComponents.delete(comp);
118
138
  }
119
139
  }
120
- newArchetype = ensureArchetype(Array.from(newComponents));
140
+ newArchetype = ensureArchetype(newComponents);
121
141
  }
122
142
  if (newArchetype !== currentArchetype) {
123
143
  // create a new row in the new archetype
124
144
  const currentData = getRowData(currentArchetype, currentLocation.row);
125
145
  // deletes the row from the current archetype (this will update the entity location table for any row which may have been moved into it's position)
126
- ARCHETYPE.deleteRow(currentArchetype, currentLocation.row, entityLocationTable);
146
+ ARCHETYPE.deleteRow(currentArchetype, currentLocation.row, persistentLocationTable);
127
147
  const newRow = addRow(newArchetype, { ...currentData, ...components });
128
148
  // update the entity location table for the entity so it points to the new archetype and row
129
- entityLocationTable.update(entity, { archetype: newArchetype.id, row: newRow });
149
+ persistentLocationTable.update(entity, { archetype: newArchetype.id, row: newRow });
130
150
  }
131
151
  else {
132
152
  updateRow(newArchetype, currentLocation.row, components);
@@ -151,7 +171,7 @@ export function createCore(newComponentSchemas) {
151
171
  queryArchetypes,
152
172
  ensureArchetype,
153
173
  locate: (entity) => {
154
- const location = locate(entity);
174
+ const location = (entity < 0 ? transientLocationTable : persistentLocationTable).locate(entity);
155
175
  if (location === null) {
156
176
  return null;
157
177
  }
@@ -164,12 +184,12 @@ export function createCore(newComponentSchemas) {
164
184
  compact,
165
185
  toData: () => ({
166
186
  componentSchemas,
167
- entityLocationTableData: entityLocationTable.toData(),
187
+ entityLocationTableData: persistentLocationTable.toData(),
168
188
  archetypesData: archetypes.map(archetype => archetype.toData())
169
189
  }),
170
190
  fromData: (data) => {
171
191
  Object.assign(componentSchemas, data.componentSchemas);
172
- entityLocationTable.fromData(data.entityLocationTableData);
192
+ persistentLocationTable.fromData(data.entityLocationTableData);
173
193
  for (let i = 0; i < data.archetypesData.length; i++) {
174
194
  const componentNames = Object.keys(data.archetypesData[i].columns);
175
195
  const archetype = ensureArchetype(componentNames);
@@ -1 +1 @@
1
- {"version":3,"file":"create-core.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/create-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-core.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/create-core.ts"],"names":[],"mappings":"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"}
@@ -38,4 +38,4 @@ export declare const nameSchema: {
38
38
  readonly type: "string";
39
39
  readonly maxLength: 50;
40
40
  };
41
- export declare function createCoreTestSuite(name: string, factory?: typeof createCore): void;
41
+ export declare function createCoreTestSuite(name: string, factory: typeof createCore): void;
@@ -43,7 +43,7 @@ export const nameSchema = {
43
43
  maxLength: 50,
44
44
  };
45
45
  // Reusable test suite for any core-like interface
46
- export function createCoreTestSuite(name, factory = createCore) {
46
+ export function createCoreTestSuite(name, factory) {
47
47
  describe(name, () => {
48
48
  it("should create with basic components", () => {
49
49
  const core = factory({
@@ -353,6 +353,34 @@ export function createCoreTestSuite(name, factory = createCore) {
353
353
  expect(core.locate(entities[i])).toBeNull();
354
354
  }
355
355
  });
356
+ it("should create transient entities with negative ids", () => {
357
+ const core = factory({
358
+ position: positionSchema,
359
+ health: healthSchema,
360
+ });
361
+ const transientPositionTable = core.ensureArchetype(["id", "position", "transient"]);
362
+ const writeId = transientPositionTable.insert({ position: { x: 1, y: 2, z: 3 }, transient: true });
363
+ expect(writeId).toBe(-1);
364
+ const readId = transientPositionTable.columns.id.get(0);
365
+ expect(readId).toBe(writeId);
366
+ });
367
+ it("should throw when trying to update transient component", () => {
368
+ const core = factory({
369
+ position: positionSchema,
370
+ health: healthSchema,
371
+ });
372
+ const transientPositionTable = core.ensureArchetype(["id", "position", "transient"]);
373
+ const writeId = transientPositionTable.insert({ position: { x: 1, y: 2, z: 3 }, transient: true });
374
+ expect(() => {
375
+ core.update(writeId, { transient: false });
376
+ }).toThrow();
377
+ expect(() => {
378
+ core.update(writeId, { transient: true });
379
+ }).toThrow();
380
+ expect(() => {
381
+ core.update(writeId, { transient: undefined });
382
+ }).toThrow();
383
+ });
356
384
  describe("core read with minArchetype", () => {
357
385
  it("should read entity data when entity has matching components", () => {
358
386
  const core = factory({
@@ -569,6 +597,6 @@ export function createCoreTestSuite(name, factory = createCore) {
569
597
  }
570
598
  // Original core-specific tests
571
599
  describe("createCore", () => {
572
- createCoreTestSuite("Core functionality");
600
+ createCoreTestSuite("Core functionality", createCore);
573
601
  });
574
602
  //# sourceMappingURL=create-core.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-core.test.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/create-core.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-core.test.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/create-core.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { StringKeyof } from "../../../types/types.js";
2
- import { CoreComponents } from "../../core-components.js";
2
+ import { RequiredComponents } from "../../required-components.js";
3
3
  import { Entity } from "../../entity.js";
4
4
  import { EntitySelectOptions } from "../entity-select-options.js";
5
5
  import { Core } from "./core.js";
6
- export declare const selectEntities: <C extends object, Include extends StringKeyof<C>>(core: Core<C>, include: readonly Include[] | ReadonlySet<string>, options?: EntitySelectOptions<C & CoreComponents, Pick<C & CoreComponents, Include>>) => readonly Entity[];
6
+ export declare const selectEntities: <C extends object, Include extends StringKeyof<C>>(core: Core<C>, include: readonly Include[] | ReadonlySet<string>, options?: EntitySelectOptions<C & RequiredComponents, Pick<C & RequiredComponents, Include>>) => readonly Entity[];
@@ -1 +1 @@
1
- {"version":3,"file":"select-entities.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/select-entities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-entities.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/select-entities.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,5 @@ import { Store } from "./store.js";
4
4
  import { FromSchemas } from "../../schema/schema.js";
5
5
  import { ResourceSchemas } from "../resource-schemas.js";
6
6
  import { ArchetypeComponents } from "./archetype-components.js";
7
- export declare function createStore<NC extends ComponentSchemas, NR extends ResourceSchemas, A extends ArchetypeComponents<StringKeyof<NC>> = {}>(newComponentSchemas: NC, resourceSchemas?: NR, archetypeComponentNames?: A): Store<FromSchemas<NC>, FromSchemas<NR>, A>;
7
+ import { OptionalComponents } from "../optional-components.js";
8
+ export declare function createStore<NC extends ComponentSchemas, NR extends ResourceSchemas, A extends ArchetypeComponents<StringKeyof<NC & OptionalComponents>> = {}>(newComponentSchemas: NC, resourceSchemas?: NR, archetypeComponentNames?: A): Store<FromSchemas<NC> & OptionalComponents, FromSchemas<NR>, A>;
@@ -23,7 +23,9 @@ import { createCore } from "./core/create-core.js";
23
23
  import { selectEntities } from "./core/select-entities.js";
24
24
  export function createStore(newComponentSchemas, resourceSchemas = {}, archetypeComponentNames = {}) {
25
25
  const resources = {};
26
- const componentAndResourceSchemas = { ...newComponentSchemas };
26
+ const componentAndResourceSchemas = {
27
+ ...newComponentSchemas,
28
+ };
27
29
  // Resources are stored in the core as components, so we need to add them to the componentSchemas
28
30
  for (const name of Object.keys(resourceSchemas)) {
29
31
  const resourceId = name;
@@ -1 +1 @@
1
- {"version":3,"file":"create-store.js","sourceRoot":"","sources":["../../../src/ecs/store/create-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAOX,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,UAAU,WAAW,CAKvB,mBAAuB,EACvB,kBAAsB,EAAQ,EAC9B,0BAA6B,EAAO;IAKpC,MAAM,SAAS,GAAG,EAAO,CAAC;IAE1B,MAAM,2BAA2B,GAA0C,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACtG,iGAAiG;IACjG,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,IAA0B,CAAC;QAC9C,2BAA2B,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,2BAA2B,CAAuB,CAAC;IAE3E,0FAA0F;IAC1F,wEAAwE;IACxE,MAAM,wCAAwC,GAAG,GAAG,EAAE;QAClD,KAAK,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,IAAsB,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YAC3D,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,OAAO,EAAS,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE;gBACnC,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC;gBAClD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;oBACX,SAAS,CAAC,OAAO,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACnD,CAAC;gBACD,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,IAAI;aACrB,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAA;IACD,wCAAwC,EAAE,CAAC;IAE3C,MAAM,MAAM,GAAG,CAGX,OAAiD,EACjD,OAAoF,EACnE,EAAE;QACnB,OAAO,cAAc,CAAa,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,GAAG,cAAqB,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAU,CAAC;IACtC,CAAC,CAAC,CACE,CAAC;IAET,MAAM,KAAK,GAAgB;QACvB,GAAG,IAAI;QACP,SAAS;QACT,MAAM;QACN,UAAU;QACV,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;QAC3B,QAAQ,EAAE,CAAC,IAAa,EAAE,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpB,wCAAwC,EAAE,CAAC;QAC/C,CAAC;KACJ,CAAC;IAEF,OAAO,KAAY,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"create-store.js","sourceRoot":"","sources":["../../../src/ecs/store/create-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAOX,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,UAAU,WAAW,CAKvB,mBAAuB,EACvB,kBAAsB,EAAQ,EAC9B,0BAA6B,EAAO;IAKpC,MAAM,SAAS,GAAG,EAAO,CAAC;IAE1B,MAAM,2BAA2B,GAA0C;QACvE,GAAG,mBAAmB;KACzB,CAAC;IACF,iGAAiG;IACjG,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,IAA0B,CAAC;QAC9C,2BAA2B,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,2BAA2B,CAAuB,CAAC;IAE3E,0FAA0F;IAC1F,wEAAwE;IACxE,MAAM,wCAAwC,GAAG,GAAG,EAAE;QAClD,KAAK,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,IAAsB,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YAC3D,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,OAAO,EAAS,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE;gBACnC,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC;gBAClD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;oBACX,SAAS,CAAC,OAAO,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACnD,CAAC;gBACD,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,IAAI;aACrB,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAA;IACD,wCAAwC,EAAE,CAAC;IAE3C,MAAM,MAAM,GAAG,CAGX,OAAiD,EACjD,OAA4F,EAC3E,EAAE;QACnB,OAAO,cAAc,CAAa,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,GAAG,cAAqB,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAU,CAAC;IACtC,CAAC,CAAC,CACE,CAAC;IAET,MAAM,KAAK,GAAgB;QACvB,GAAG,IAAI;QACP,SAAS;QACT,MAAM;QACN,UAAU;QACV,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;QAC3B,QAAQ,EAAE,CAAC,IAAa,EAAE,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpB,wCAAwC,EAAE,CAAC;QAC/C,CAAC;KACJ,CAAC;IAEF,OAAO,KAAY,CAAC;AACxB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CoreComponents } from "../core-components.js";
1
+ import { RequiredComponents } from "../required-components.js";
2
2
  import { ResourceComponents } from "./resource-components.js";
3
3
  import { Core, ReadonlyCore } from "./core/core.js";
4
4
  import { Entity } from "../entity.js";
@@ -12,7 +12,7 @@ import { FromSchemas } from "../../schema/schema.js";
12
12
  import { ComponentSchemas } from "../component-schemas.js";
13
13
  import { ResourceSchemas } from "../resource-schemas.js";
14
14
  interface BaseStore<C extends object = never> {
15
- select<Include extends StringKeyof<C>>(include: readonly Include[] | ReadonlySet<string>, options?: EntitySelectOptions<C, Pick<C & CoreComponents, Include>>): readonly Entity[];
15
+ select<Include extends StringKeyof<C>>(include: readonly Include[] | ReadonlySet<string>, options?: EntitySelectOptions<C, Pick<C & RequiredComponents, Include>>): readonly Entity[];
16
16
  toData(): unknown;
17
17
  }
18
18
  export interface ReadonlyStore<C extends Components = never, R extends ResourceComponents = never, A extends ArchetypeComponents<StringKeyof<C>> = never> extends BaseStore<C>, ReadonlyCore<C> {
@@ -20,7 +20,7 @@ export interface ReadonlyStore<C extends Components = never, R extends ResourceC
20
20
  readonly [K in StringKeyof<R>]: R[K];
21
21
  };
22
22
  readonly archetypes: {
23
- -readonly [K in StringKeyof<A>]: ReadonlyArchetype<CoreComponents & {
23
+ -readonly [K in StringKeyof<A>]: ReadonlyArchetype<RequiredComponents & {
24
24
  [P in A[K][number]]: C[P];
25
25
  }>;
26
26
  };
@@ -39,7 +39,7 @@ export interface Store<C extends Components = never, R extends ResourceComponent
39
39
  -readonly [K in StringKeyof<R>]: R[K];
40
40
  };
41
41
  readonly archetypes: {
42
- -readonly [K in StringKeyof<A>]: Archetype<CoreComponents & {
42
+ -readonly [K in StringKeyof<A>]: Archetype<RequiredComponents & {
43
43
  [P in A[K][number]]: C[P];
44
44
  }>;
45
45
  };
@@ -49,7 +49,7 @@ export declare namespace Store {
49
49
  type Components<S extends Store<any, any, any>> = S extends Store<infer C, infer R, infer A> ? C & R & A : never;
50
50
  type Resources<S extends Store<any, any, any>> = S extends Store<any, infer R, any> ? R : never;
51
51
  type Archetypes<S extends Store<any, any, any>> = S extends Store<any, any, infer A> ? A : never;
52
- type EntityValues<S extends Store<any, any, any>, K extends S extends Store<any, any, infer A> ? StringKeyof<A> : never> = Simplify<Parameters<S["archetypes"][K]["insert"]>[0] & CoreComponents>;
52
+ type EntityValues<S extends Store<any, any, any>, K extends S extends Store<any, any, infer A> ? StringKeyof<A> : never> = Simplify<Parameters<S["archetypes"][K]["insert"]>[0] & RequiredComponents>;
53
53
  type InsertValues<S extends Store<any, any, any>, K extends S extends Store<any, any, infer A> ? StringKeyof<A> : never> = Parameters<S["archetypes"][K]["insert"]>[0];
54
54
  type Schema<CS extends ComponentSchemas, RS extends ResourceSchemas, A extends ArchetypeComponents<StringKeyof<CS>>> = {
55
55
  readonly components: CS;
@@ -64,6 +64,6 @@ export declare namespace Store {
64
64
  readonly archetypes: A;
65
65
  };
66
66
  }
67
- function createFromSchema<const CS extends ComponentSchemas, const RS extends ResourceSchemas, const A extends ArchetypeComponents<StringKeyof<CS>>>(schema: Store.Schema<CS, RS, A>): Store<FromSchemas<CS>, FromSchemas<RS>, A>;
67
+ function createFromSchema<const CS extends ComponentSchemas, const RS extends ResourceSchemas, const A extends ArchetypeComponents<StringKeyof<CS>>>(schema: Store.Schema<CS, RS, A>): Store<FromSchemas<CS> & import("../optional-components.js").OptionalComponents, FromSchemas<RS>, A>;
68
68
  }
69
69
  export {};
@@ -25,12 +25,12 @@ export declare const createTodoDatabase: () => import("../../../../ecs/index.js"
25
25
  type: "null";
26
26
  }];
27
27
  };
28
- }>, import("../../../../schema/schema.js").FromSchemas<{
28
+ }> & import("../../../../ecs/optional-components.js").OptionalComponents, import("../../../../schema/schema.js").FromSchemas<{
29
29
  displayCompleted: {
30
30
  type: "boolean";
31
31
  default: boolean;
32
32
  };
33
33
  }>, {
34
- Todo: ("name" | "order" | "todo" | "complete" | "dragPosition")[];
34
+ Todo: ("todo" | "name" | "order" | "complete" | "dragPosition")[];
35
35
  }, import("../../../../ecs/index.js").ToTransactionFunctions<typeof transactions>>;
36
36
  export type TodoDatabase = ReturnType<typeof createTodoDatabase>;
@@ -25,12 +25,12 @@ export declare const createTodoStore: () => import("../../../../ecs/index.js").S
25
25
  type: "null";
26
26
  }];
27
27
  };
28
- }>, import("../../../../schema/schema.js").FromSchemas<{
28
+ }> & import("../../../../ecs/optional-components.js").OptionalComponents, import("../../../../schema/schema.js").FromSchemas<{
29
29
  displayCompleted: {
30
30
  type: "boolean";
31
31
  default: boolean;
32
32
  };
33
33
  }>, {
34
- Todo: ("name" | "order" | "todo" | "complete" | "dragPosition")[];
34
+ Todo: ("todo" | "name" | "order" | "complete" | "dragPosition")[];
35
35
  }>;
36
36
  export type TodoStore = ReturnType<typeof createTodoStore>;