@adobe/data 0.9.56 → 0.9.57

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 (180) hide show
  1. package/dist/cache/blob-store.js +12 -7
  2. package/dist/cache/blob-store.js.map +1 -1
  3. package/dist/ecs/database/database.d.ts +50 -1
  4. package/dist/ecs/database/database.js.map +1 -1
  5. package/dist/ecs/database/database.reset.test.js +200 -0
  6. package/dist/ecs/database/database.reset.test.js.map +1 -0
  7. package/dist/ecs/database/deep-extends-chain.type-test.d.ts +208 -208
  8. package/dist/ecs/database/observed/create-observed-database.js +4 -0
  9. package/dist/ecs/database/observed/create-observed-database.js.map +1 -1
  10. package/dist/ecs/database/observed/observed-database.d.ts +5 -3
  11. package/dist/ecs/database/public/create-database.d.ts +32 -3
  12. package/dist/ecs/database/public/create-database.js +12 -69
  13. package/dist/ecs/database/public/create-database.js.map +1 -1
  14. package/dist/ecs/database/public/create-database.test.js +86 -4
  15. package/dist/ecs/database/public/create-database.test.js.map +1 -1
  16. package/dist/ecs/database/public/create-transaction-dispatcher.d.ts +60 -0
  17. package/dist/ecs/database/public/create-transaction-dispatcher.js +119 -0
  18. package/dist/ecs/database/public/create-transaction-dispatcher.js.map +1 -0
  19. package/dist/ecs/database/reconciling/create-reconciling-database.js +52 -18
  20. package/dist/ecs/database/reconciling/create-reconciling-database.js.map +1 -1
  21. package/dist/ecs/database/reconciling/create-reconciling-database.test.js +144 -0
  22. package/dist/ecs/database/reconciling/create-reconciling-database.test.js.map +1 -1
  23. package/dist/ecs/database/reconciling/reconciling-database.d.ts +8 -1
  24. package/dist/ecs/database/reconciling/reconciling-entry.d.ts +9 -3
  25. package/dist/ecs/database/reconciling/reconciling-entry.js.map +1 -1
  26. package/dist/ecs/database/transactional-store/create-transactional-store.js +3 -1
  27. package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
  28. package/dist/ecs/database/transactional-store/transactional-store.d.ts +14 -1
  29. package/dist/ecs/entity-location-table/create-entity-location-table.js +6 -1
  30. package/dist/ecs/entity-location-table/create-entity-location-table.js.map +1 -1
  31. package/dist/ecs/entity-location-table/entity-location-table.d.ts +2 -0
  32. package/dist/ecs/store/core/core.d.ts +2 -0
  33. package/dist/ecs/store/core/create-core.js +8 -0
  34. package/dist/ecs/store/core/create-core.js.map +1 -1
  35. package/dist/ecs/store/public/create-store.js +6 -0
  36. package/dist/ecs/store/public/create-store.js.map +1 -1
  37. package/dist/ecs/store/store.d.ts +2 -0
  38. package/dist/ecs/store/store.js.map +1 -1
  39. package/dist/ecs/store/transaction-functions.d.ts +15 -4
  40. package/dist/ecs/store/transaction-functions.type-test.js +50 -0
  41. package/dist/ecs/store/transaction-functions.type-test.js.map +1 -0
  42. package/dist/observe/to-async-generator.js +18 -8
  43. package/dist/observe/to-async-generator.js.map +1 -1
  44. package/dist/observe/to-async-generator.test.js +24 -0
  45. package/dist/observe/to-async-generator.test.js.map +1 -1
  46. package/dist/service/async-data-service/async-data-service.d.ts +1 -0
  47. package/dist/service/async-data-service/async-data-service.js +3 -0
  48. package/dist/service/async-data-service/async-data-service.js.map +1 -0
  49. package/dist/service/async-data-service/example.js +1 -1
  50. package/dist/service/async-data-service/example.js.map +1 -1
  51. package/dist/service/index.d.ts +2 -1
  52. package/dist/service/index.js +2 -1
  53. package/dist/service/index.js.map +1 -1
  54. package/dist/service/{agentic-service/link.js → ui-service/example.js} +1 -1
  55. package/dist/service/ui-service/example.js.map +1 -0
  56. package/dist/service/ui-service/from-service.d.ts +35 -0
  57. package/dist/service/{async-data-service/is-valid.type-test.js → ui-service/from-service.js} +1 -1
  58. package/dist/service/ui-service/from-service.js.map +1 -0
  59. package/dist/service/ui-service/is-valid.d.ts +11 -0
  60. package/dist/service/ui-service/is-valid.js +3 -0
  61. package/dist/service/ui-service/is-valid.js.map +1 -0
  62. package/dist/service/ui-service/public.d.ts +2 -0
  63. package/dist/service/ui-service/public.js +4 -0
  64. package/dist/service/ui-service/public.js.map +1 -0
  65. package/dist/service/ui-service/ui-service.d.ts +1 -0
  66. package/dist/service/ui-service/ui-service.js +3 -0
  67. package/dist/service/ui-service/ui-service.js.map +1 -0
  68. package/dist/tsconfig.tsbuildinfo +1 -1
  69. package/package.json +1 -1
  70. package/references/data-lit/package.json +1 -1
  71. package/references/data-lit/src/elements/application-element.ts +11 -1
  72. package/references/data-lit/src/elements/database-element.ts +3 -2
  73. package/references/data-lit/src/elements/database-element.type-test.ts +85 -0
  74. package/references/data-lit/src/hooks/index.ts +2 -0
  75. package/references/data-lit/src/hooks/use-drag-generator.ts +43 -0
  76. package/references/data-lit/src/hooks/use-drag-observe.ts +8 -2
  77. package/references/data-lit/src/hooks/use-pointer-observe.ts +79 -0
  78. package/references/data-lit-tictactoe/package.json +4 -1
  79. package/references/data-lit-tictactoe/src/elements/tictactoe-app/tictactoe-app-element.ts +23 -0
  80. package/references/data-lit-tictactoe/src/elements/tictactoe-app/tictactoe-app-presentation.ts +12 -0
  81. package/references/data-lit-tictactoe/src/elements/tictactoe-app/tictactoe-app.ts +14 -18
  82. package/references/data-lit-tictactoe/src/elements/tictactoe-board/tictactoe-board-element.ts +23 -0
  83. package/references/data-lit-tictactoe/src/elements/tictactoe-board/tictactoe-board-presentation.ts +6 -7
  84. package/references/data-lit-tictactoe/src/elements/tictactoe-board/tictactoe-board.ts +5 -15
  85. package/references/data-lit-tictactoe/src/elements/tictactoe-cell/tictactoe-cell-element.ts +45 -0
  86. package/references/data-lit-tictactoe/src/elements/tictactoe-cell/tictactoe-cell-presentation.ts +2 -1
  87. package/references/data-lit-tictactoe/src/elements/tictactoe-cell/tictactoe-cell.ts +5 -38
  88. package/references/data-lit-tictactoe/src/elements/tictactoe-hud/tictactoe-hud-element.ts +57 -0
  89. package/references/data-lit-tictactoe/src/elements/tictactoe-hud/tictactoe-hud-presentation.ts +10 -2
  90. package/references/data-lit-tictactoe/src/elements/tictactoe-hud/tictactoe-hud.css.ts +36 -1
  91. package/references/data-lit-tictactoe/src/elements/tictactoe-hud/tictactoe-hud.ts +5 -41
  92. package/references/data-lit-tictactoe/src/index.ts +16 -0
  93. package/references/data-lit-tictactoe/src/main.ts +9 -3
  94. package/references/data-lit-tictactoe/src/state/tictactoe-plugin.ts +18 -10
  95. package/references/data-lit-tictactoe/src/tictactoe-element.ts +8 -3
  96. package/references/data-lit-tictactoe/src/types/board-state/current-player.ts +2 -2
  97. package/references/data-lit-tictactoe/src/types/player-mark/is.ts +8 -0
  98. package/references/data-lit-tictactoe/src/types/player-mark/mark-color.ts +12 -0
  99. package/references/data-lit-tictactoe/src/types/player-mark/opponent.ts +12 -0
  100. package/references/data-lit-tictactoe/src/types/player-mark/public.ts +4 -0
  101. package/references/data-lit-tictactoe/src/types/player-mark/values.ts +6 -0
  102. package/references/data-react/package.json +1 -1
  103. package/references/data-react-hello/package.json +1 -1
  104. package/references/data-react-pixie/package.json +1 -1
  105. package/dist/cache/blob-store.test.js +0 -122
  106. package/dist/cache/blob-store.test.js.map +0 -1
  107. package/dist/cache/data-cache.test.js +0 -41
  108. package/dist/cache/data-cache.test.js.map +0 -1
  109. package/dist/cache/expiring-data-cache.test.js +0 -42
  110. package/dist/cache/expiring-data-cache.test.js.map +0 -1
  111. package/dist/cache/functions/functions.test.d.ts +0 -1
  112. package/dist/cache/functions/functions.test.js +0 -72
  113. package/dist/cache/functions/functions.test.js.map +0 -1
  114. package/dist/ecs/database/observe-select-deep.d.ts +0 -23
  115. package/dist/ecs/database/observe-select-deep.js +0 -15
  116. package/dist/ecs/database/observe-select-deep.js.map +0 -1
  117. package/dist/ecs/database/observe-select-deep.type-test.d.ts +0 -1
  118. package/dist/ecs/database/observe-select-deep.type-test.js +0 -111
  119. package/dist/ecs/database/observe-select-deep.type-test.js.map +0 -1
  120. package/dist/ecs/database/public/create-database-scheduler.test.d.ts +0 -1
  121. package/dist/ecs/database/public/create-database-scheduler.test.js +0 -67
  122. package/dist/ecs/database/public/create-database-scheduler.test.js.map +0 -1
  123. package/dist/ecs/database/public/create-database.type-test.d.ts +0 -1
  124. package/dist/ecs/database/public/create-database.type-test.js +0 -52
  125. package/dist/ecs/database/public/create-database.type-test.js.map +0 -1
  126. package/dist/ecs/entity.d.ts +0 -11
  127. package/dist/ecs/entity.js +0 -7
  128. package/dist/ecs/entity.js.map +0 -1
  129. package/dist/ecs/persistence-service/create-storage-persistence-service.test.d.ts +0 -1
  130. package/dist/ecs/persistence-service/create-storage-persistence-service.test.js +0 -52
  131. package/dist/ecs/persistence-service/create-storage-persistence-service.test.js.map +0 -1
  132. package/dist/functions/serialization/serialize-to-storage.test.d.ts +0 -1
  133. package/dist/functions/serialization/serialize-to-storage.test.js +0 -161
  134. package/dist/functions/serialization/serialize-to-storage.test.js.map +0 -1
  135. package/dist/math/aabb/face/aabb-face.test.d.ts +0 -1
  136. package/dist/math/aabb/face/aabb-face.test.js +0 -35
  137. package/dist/math/aabb/face/aabb-face.test.js.map +0 -1
  138. package/dist/math/aabb/face/functions.d.ts +0 -47
  139. package/dist/math/aabb/face/functions.js +0 -142
  140. package/dist/math/aabb/face/functions.js.map +0 -1
  141. package/dist/math/aabb/face/index.d.ts +0 -4
  142. package/dist/math/aabb/face/index.js +0 -3
  143. package/dist/math/aabb/face/index.js.map +0 -1
  144. package/dist/perftest/ecs-perf.d.ts +0 -49
  145. package/dist/perftest/ecs-perf.js +0 -210
  146. package/dist/perftest/ecs-perf.js.map +0 -1
  147. package/dist/service/agentic-service/link.d.ts +0 -15
  148. package/dist/service/agentic-service/link.js.map +0 -1
  149. package/dist/service/async-data-service/is-valid.type-test.d.ts +0 -1
  150. package/dist/service/async-data-service/is-valid.type-test.js.map +0 -1
  151. package/dist/service/dynamic-service/create-from-ecs.d.ts +0 -17
  152. package/dist/service/dynamic-service/create-from-ecs.js +0 -56
  153. package/dist/service/dynamic-service/create-from-ecs.js.map +0 -1
  154. package/dist/service/dynamic-service/create-from-ecs.test.d.ts +0 -1
  155. package/dist/service/dynamic-service/create-from-ecs.test.js +0 -636
  156. package/dist/service/dynamic-service/create-from-ecs.test.js.map +0 -1
  157. package/dist/service/dynamic-service/create.d.ts +0 -84
  158. package/dist/service/dynamic-service/create.js +0 -97
  159. package/dist/service/dynamic-service/create.js.map +0 -1
  160. package/dist/service/dynamic-service/create.test.d.ts +0 -1
  161. package/dist/service/dynamic-service/create.test.js +0 -688
  162. package/dist/service/dynamic-service/create.test.js.map +0 -1
  163. package/dist/service/dynamic-service/dynamic-service.d.ts +0 -29
  164. package/dist/service/dynamic-service/dynamic-service.js +0 -2
  165. package/dist/service/dynamic-service/dynamic-service.js.map +0 -1
  166. package/dist/service/dynamic-service/index.d.ts +0 -1
  167. package/dist/service/dynamic-service/index.js +0 -3
  168. package/dist/service/dynamic-service/index.js.map +0 -1
  169. package/dist/service/dynamic-service/public.d.ts +0 -2
  170. package/dist/service/dynamic-service/public.js +0 -3
  171. package/dist/service/dynamic-service/public.js.map +0 -1
  172. package/dist/service/dynamic-service/semantic-service.d.ts +0 -19
  173. package/dist/service/dynamic-service/semantic-service.js +0 -2
  174. package/dist/service/dynamic-service/semantic-service.js.map +0 -1
  175. package/dist/service/semantic-service/semantic-service.d.ts +0 -19
  176. package/dist/service/semantic-service/semantic-service.js +0 -2
  177. package/dist/service/semantic-service/semantic-service.js.map +0 -1
  178. /package/dist/{cache/blob-store.test.d.ts → ecs/database/database.reset.test.d.ts} +0 -0
  179. /package/dist/{cache/data-cache.test.d.ts → ecs/store/transaction-functions.type-test.d.ts} +0 -0
  180. /package/dist/{cache/expiring-data-cache.test.d.ts → service/ui-service/example.d.ts} +0 -0
@@ -1,47 +0,0 @@
1
- import type { AabbFace } from "./index.js";
2
- import type { Vec3 } from "../../vec3/index.js";
3
- import type { Aabb } from "../index.js";
4
- /**
5
- * AABB face direction constants for cube faces (as bit flags)
6
- */
7
- export declare const POS_Z: number;
8
- export declare const POS_X: number;
9
- export declare const NEG_Z: number;
10
- export declare const NEG_X: number;
11
- export declare const POS_Y: number;
12
- export declare const NEG_Y: number;
13
- export declare const ALL: number;
14
- export declare const NONE = 0;
15
- /**
16
- * Get the AABB face name for debugging/logging
17
- */
18
- export declare const getName: (face: AabbFace) => string;
19
- /**
20
- * Get the normal vector for a given AABB face (outward from surface).
21
- */
22
- export declare const getNormal: (face: AabbFace) => Vec3;
23
- export declare function getFaces(face: AabbFace): IterableIterator<AabbFace>;
24
- /**
25
- * Get the opposite AABB face
26
- */
27
- export declare const getOpposite: (face: AabbFace) => AabbFace;
28
- /**
29
- * Check if two AABB faces are opposite
30
- */
31
- export declare const isOpposite: (face1: AabbFace, face2: AabbFace) => boolean;
32
- /**
33
- * Get all AABB faces adjacent to the given face (faces that share an edge)
34
- */
35
- export declare const getAdjacent: (face: AabbFace) => readonly AabbFace[];
36
- /**
37
- * Check if two AABB faces are adjacent (share an edge)
38
- */
39
- export declare const isAdjacent: (face1: AabbFace, face2: AabbFace) => boolean;
40
- /**
41
- * Determines which AABB face a position is closest to.
42
- * Assumes the position is in normalized coordinate space - a cube with size 1 centered on the origin.
43
- * @param position World position of the intersection point
44
- * @param aabb Bounding box of the cube
45
- * @returns AabbFace flag: 1=POS_Z, 2=POS_X, 4=NEG_Z, 8=NEG_X, 16=POS_Y, 32=NEG_Y
46
- */
47
- export declare const fromPosition: (position: Vec3, aabb?: Aabb) => AabbFace;
@@ -1,142 +0,0 @@
1
- // © 2026 Adobe. MIT License. See /LICENSE for details.
2
- import { Aabb as AabbNamespace } from "../index.js";
3
- /**
4
- * AABB face direction constants for cube faces (as bit flags)
5
- */
6
- export const POS_Z = 1 << 0; // 1
7
- export const POS_X = 1 << 1; // 2
8
- export const NEG_Z = 1 << 2; // 4
9
- export const NEG_X = 1 << 3; // 8
10
- export const POS_Y = 1 << 4; // 16
11
- export const NEG_Y = 1 << 5; // 32
12
- export const ALL = POS_Z | POS_X | NEG_Z | NEG_X | POS_Y | NEG_Y;
13
- export const NONE = 0;
14
- const FACES = [POS_Z, POS_X, NEG_Z, NEG_X, POS_Y, NEG_Y];
15
- /**
16
- * Face normal vectors (outward from surface) for each AABB face.
17
- * Use with getNormal(face) or directly when face is known.
18
- */
19
- const NORMAL_POS_Z = [0, 0, 1];
20
- const NORMAL_NEG_Z = [0, 0, -1];
21
- const NORMAL_POS_X = [1, 0, 0];
22
- const NORMAL_NEG_X = [-1, 0, 0];
23
- const NORMAL_POS_Y = [0, 1, 0];
24
- const NORMAL_NEG_Y = [0, -1, 0];
25
- const FACE_NORMALS = new Map([
26
- [POS_Z, NORMAL_POS_Z],
27
- [NEG_Z, NORMAL_NEG_Z],
28
- [POS_X, NORMAL_POS_X],
29
- [NEG_X, NORMAL_NEG_X],
30
- [POS_Y, NORMAL_POS_Y],
31
- [NEG_Y, NORMAL_NEG_Y],
32
- ]);
33
- /**
34
- * AABB face direction names for debugging/logging
35
- */
36
- const FACE_NAMES = new Map([
37
- [POS_Z, 'POS_Z'],
38
- [POS_X, 'POS_X'],
39
- [NEG_Z, 'NEG_Z'],
40
- [NEG_X, 'NEG_X'],
41
- [POS_Y, 'POS_Y'],
42
- [NEG_Y, 'NEG_Y'],
43
- ]);
44
- /**
45
- * Get the AABB face name for debugging/logging
46
- */
47
- export const getName = (face) => {
48
- return FACE_NAMES.get(face) ?? `Unknown(${face})`;
49
- };
50
- /**
51
- * Get the normal vector for a given AABB face (outward from surface).
52
- */
53
- export const getNormal = (face) => {
54
- const normal = FACE_NORMALS.get(face);
55
- if (normal === undefined) {
56
- throw new Error(`Invalid face index: ${face}`);
57
- }
58
- return normal;
59
- };
60
- export function* getFaces(face) {
61
- for (const f of FACES) {
62
- if (face & f) {
63
- yield f;
64
- }
65
- }
66
- }
67
- /**
68
- * Get the opposite AABB face
69
- */
70
- export const getOpposite = (face) => {
71
- switch (face) {
72
- case POS_Z: return NEG_Z;
73
- case NEG_Z: return POS_Z;
74
- case POS_X: return NEG_X;
75
- case NEG_X: return POS_X;
76
- case POS_Y: return NEG_Y;
77
- case NEG_Y: return POS_Y;
78
- default: throw new Error(`Invalid face index: ${face}`);
79
- }
80
- };
81
- /**
82
- * Check if two AABB faces are opposite
83
- */
84
- export const isOpposite = (face1, face2) => {
85
- return getOpposite(face1) === face2;
86
- };
87
- /**
88
- * Get all AABB faces adjacent to the given face (faces that share an edge)
89
- */
90
- export const getAdjacent = (face) => {
91
- switch (face) {
92
- case POS_Z:
93
- case NEG_Z:
94
- return [POS_X, NEG_X, POS_Y, NEG_Y];
95
- case POS_X:
96
- case NEG_X:
97
- return [POS_Z, NEG_Z, POS_Y, NEG_Y];
98
- case POS_Y:
99
- case NEG_Y:
100
- return [POS_Z, NEG_Z, POS_X, NEG_X];
101
- default:
102
- throw new Error(`Invalid face index: ${face}`);
103
- }
104
- };
105
- /**
106
- * Check if two AABB faces are adjacent (share an edge)
107
- */
108
- export const isAdjacent = (face1, face2) => {
109
- return getAdjacent(face1).includes(face2);
110
- };
111
- /**
112
- * Determines which AABB face a position is closest to.
113
- * Assumes the position is in normalized coordinate space - a cube with size 1 centered on the origin.
114
- * @param position World position of the intersection point
115
- * @param aabb Bounding box of the cube
116
- * @returns AabbFace flag: 1=POS_Z, 2=POS_X, 4=NEG_Z, 8=NEG_X, 16=POS_Y, 32=NEG_Y
117
- */
118
- export const fromPosition = (position, aabb = AabbNamespace.unit) => {
119
- const aabbCenter = AabbNamespace.center(aabb);
120
- const localPos = [
121
- position[0] - aabbCenter[0],
122
- position[1] - aabbCenter[1],
123
- position[2] - aabbCenter[2]
124
- ];
125
- // Find the face with the largest absolute coordinate (closest to cube surface)
126
- const absX = Math.abs(localPos[0]);
127
- const absY = Math.abs(localPos[1]);
128
- const absZ = Math.abs(localPos[2]);
129
- if (absX >= absY && absX >= absZ) {
130
- // X-axis face (NEG_X or POS_X)
131
- return localPos[0] > 0 ? POS_X : NEG_X;
132
- }
133
- else if (absY >= absZ) {
134
- // Y-axis face (NEG_Y or POS_Y)
135
- return localPos[1] > 0 ? POS_Y : NEG_Y;
136
- }
137
- else {
138
- // Z-axis face (NEG_Z or POS_Z)
139
- return localPos[2] > 0 ? POS_Z : NEG_Z;
140
- }
141
- };
142
- //# sourceMappingURL=functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/functions.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { Schema } from "../../../schema/index.js";
2
- import { schema } from "./schema.js";
3
- export type AabbFace = Schema.ToType<typeof schema>;
4
- export * from "./public.js";
@@ -1,3 +0,0 @@
1
- // © 2026 Adobe. MIT License. See /LICENSE for details.
2
- export * from "./public.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAOvD,cAAc,aAAa,CAAC"}
@@ -1,49 +0,0 @@
1
- export declare const ec2s: {
2
- create: {
3
- setup: (n: number) => Promise<void>;
4
- run: () => void;
5
- cleanup: () => Promise<void>;
6
- type: "create";
7
- };
8
- create_batch: {
9
- setup: (n: number) => Promise<void>;
10
- run: () => void;
11
- cleanup: () => Promise<void>;
12
- type: "create";
13
- };
14
- move_column: {
15
- setup: (n: number) => Promise<void>;
16
- run: () => void;
17
- cleanup: () => Promise<void>;
18
- getVisibleEnabledPositions: () => number[];
19
- type: "move";
20
- };
21
- move_native: {
22
- setup: (n: number) => Promise<void>;
23
- run: () => void;
24
- cleanup: () => Promise<void>;
25
- getVisibleEnabledPositions: () => number[];
26
- type: "move";
27
- };
28
- move_wasm: {
29
- setup: (n: number) => Promise<void>;
30
- run: () => void;
31
- cleanup: () => Promise<void>;
32
- getVisibleEnabledPositions: () => number[];
33
- type: "move";
34
- };
35
- move_wasm_simd4: {
36
- setup: (n: number) => Promise<void>;
37
- run: () => void;
38
- cleanup: () => Promise<void>;
39
- getVisibleEnabledPositions: () => number[];
40
- type: "move";
41
- };
42
- move_wasm_simd4_unrolled: {
43
- setup: (n: number) => Promise<void>;
44
- run: () => void;
45
- cleanup: () => Promise<void>;
46
- getVisibleEnabledPositions: () => number[];
47
- type: "move";
48
- };
49
- };
@@ -1,210 +0,0 @@
1
- // © 2026 Adobe. MIT License. See /LICENSE for details.
2
- import { createECS } from "../old-ecs/index.js";
3
- import { F32, True, U32 } from "../schema/index.js";
4
- import * as assembly from "../../dist/assembly/index.js";
5
- import { createWasmMemoryAllocator } from "../cache/memory-allocator.js";
6
- // const COUNT = 1_000_000;
7
- // const SIZEOF_F32 = 4;
8
- // const SIZEOF_BOOLEAN = 1;
9
- // const OBJECT_OVERHEAD = 16;
10
- // // Expected 50 Mb
11
- // const EXPECTED_MEMORY = (8 * SIZEOF_F32 + 2 * SIZEOF_BOOLEAN + OBJECT_OVERHEAD) * COUNT;
12
- function createECSWithParticles(count, batch = true) {
13
- const ecs = createECS({
14
- allocator: createWasmMemoryAllocator(assembly.memory),
15
- })
16
- .withComponents({
17
- color: U32.schema,
18
- enabled: True.schema,
19
- mass: F32.schema,
20
- positionX: F32.schema,
21
- positionY: F32.schema,
22
- positionZ: F32.schema,
23
- velocityX: F32.schema,
24
- velocityY: F32.schema,
25
- velocityZ: F32.schema,
26
- visible: True.schema,
27
- })
28
- .withArchetypes({
29
- VisibleEnabled: [
30
- "id",
31
- "color",
32
- "enabled",
33
- "mass",
34
- "positionX",
35
- "positionY",
36
- "positionZ",
37
- "velocityX",
38
- "velocityY",
39
- "velocityZ",
40
- "visible",
41
- ],
42
- InvisibleEnabled: [
43
- "id",
44
- "color",
45
- "enabled",
46
- "mass",
47
- "positionX",
48
- "positionY",
49
- "positionZ",
50
- "velocityX",
51
- "velocityY",
52
- "velocityZ",
53
- ],
54
- VisibleDisabled: [
55
- "id",
56
- "color",
57
- "mass",
58
- "positionX",
59
- "positionY",
60
- "positionZ",
61
- "velocityX",
62
- "velocityY",
63
- "velocityZ",
64
- "visible",
65
- ],
66
- InvisibleDisabled: [
67
- "id",
68
- "color",
69
- "mass",
70
- "positionX",
71
- "positionY",
72
- "positionZ",
73
- "velocityX",
74
- "velocityY",
75
- "velocityZ",
76
- ]
77
- });
78
- const particle_archetypes = [
79
- ecs.archetypes.VisibleEnabled,
80
- ecs.archetypes.VisibleDisabled,
81
- ecs.archetypes.InvisibleEnabled,
82
- ecs.archetypes.InvisibleDisabled,
83
- ];
84
- if (batch) {
85
- const particle_count_per_table = Math.ceil(count / 4);
86
- const particle_tables = particle_archetypes.map(archetype => ecs.createBatch(archetype, particle_count_per_table));
87
- for (let tableIndex = 0; tableIndex < particle_tables.length; tableIndex++) {
88
- const table = particle_tables[tableIndex];
89
- const positionX = table.columns.positionX.native;
90
- const positionY = table.columns.positionY.native;
91
- const positionZ = table.columns.positionZ.native;
92
- const velocityX = table.columns.velocityX.native;
93
- const velocityY = table.columns.velocityY.native;
94
- const velocityZ = table.columns.velocityZ.native;
95
- const color = table.columns.color.native;
96
- const mass = table.columns.mass.native;
97
- for (let k = 0; k < particle_count_per_table; k++) {
98
- const i = tableIndex + k * 4;
99
- color[k] = 0xff00ff;
100
- mass[k] = 10;
101
- positionX[k] = i + 1;
102
- positionY[k] = i + 1;
103
- positionZ[k] = i + 1;
104
- velocityX[k] = -i;
105
- velocityY[k] = -i;
106
- velocityZ[k] = -i;
107
- }
108
- }
109
- }
110
- else {
111
- for (let i = 0; i < count; i++) {
112
- ecs.createEntity(particle_archetypes[i % 4], {
113
- color: 0xff00ff,
114
- mass: 10,
115
- positionX: i + 1,
116
- positionY: i + 1,
117
- positionZ: i + 1,
118
- velocityX: -i,
119
- velocityY: -i,
120
- velocityZ: -i,
121
- visible: (i >> 0) % 2 === 0 ? true : false,
122
- enabled: (i >> 1) % 2 === 0 ? true : false,
123
- });
124
- }
125
- }
126
- return ecs;
127
- }
128
- const create = (batch) => {
129
- let count = 0;
130
- const setup = async (n) => {
131
- count = n;
132
- };
133
- const run = () => {
134
- createECSWithParticles(count, batch);
135
- };
136
- const cleanup = async () => { };
137
- return { setup, run: run, cleanup, type: "create" };
138
- };
139
- function addManagedArrays(a, b, rows, addWasm) {
140
- const aptr = a.native.byteOffset.valueOf();
141
- const bptr = b.native.byteOffset.valueOf();
142
- addWasm(aptr, bptr, rows);
143
- }
144
- function createMoveParticlesPerformanceTest(options) {
145
- let ecs;
146
- const setup = async (n) => {
147
- ecs = createECSWithParticles(n);
148
- };
149
- const run = () => {
150
- let total = 0;
151
- const addWasm = typeof options.mode === "function" ? options.mode : null;
152
- for (const table of ecs.getTables(ecs.archetypes.VisibleEnabled, {
153
- mode: "write",
154
- })) {
155
- const { rows, columns } = table;
156
- total += rows;
157
- if (addWasm) {
158
- addManagedArrays(columns.positionX, columns.velocityX, rows, addWasm);
159
- addManagedArrays(columns.positionY, columns.velocityY, rows, addWasm);
160
- addManagedArrays(columns.positionZ, columns.velocityZ, rows, addWasm);
161
- }
162
- else if (options.mode === "column") {
163
- const { positionX, positionY, positionZ, velocityX, velocityY, velocityZ, } = columns;
164
- for (let i = 0; i < rows; i++) {
165
- positionX.set(i, positionX.get(i) + velocityX.get(i));
166
- positionY.set(i, positionY.get(i) + velocityY.get(i));
167
- positionZ.set(i, positionZ.get(i) + velocityZ.get(i));
168
- }
169
- }
170
- else if (options.mode === "native") {
171
- const positionX = columns.positionX.native;
172
- const positionY = columns.positionY.native;
173
- const positionZ = columns.positionZ.native;
174
- const velocityX = columns.velocityX.native;
175
- const velocityY = columns.velocityY.native;
176
- const velocityZ = columns.velocityZ.native;
177
- for (let i = 0; i < rows; i++) {
178
- positionX[i] += velocityX[i];
179
- positionY[i] += velocityY[i];
180
- positionZ[i] += velocityZ[i];
181
- }
182
- }
183
- }
184
- };
185
- const getVisibleEnabledPositions = () => {
186
- const values = [];
187
- for (const table of ecs.getTables(ecs.archetypes.VisibleEnabled, {
188
- mode: "read",
189
- })) {
190
- const { rows, columns } = table;
191
- const { positionX, positionY, positionZ } = columns;
192
- for (let i = 0; i < rows; i++) {
193
- values.push(positionX.get(i), positionY.get(i), positionZ.get(i));
194
- }
195
- }
196
- return values;
197
- };
198
- const cleanup = async () => { };
199
- return { setup, run: run, cleanup, getVisibleEnabledPositions, type: "move" };
200
- }
201
- export const ec2s = {
202
- create: create(false),
203
- create_batch: create(true),
204
- move_column: createMoveParticlesPerformanceTest({ mode: "column" }),
205
- move_native: createMoveParticlesPerformanceTest({ mode: "native" }),
206
- move_wasm: createMoveParticlesPerformanceTest({ mode: assembly.addF32Arrays }),
207
- move_wasm_simd4: createMoveParticlesPerformanceTest({ mode: assembly.addF32ArraysSimd4 }),
208
- move_wasm_simd4_unrolled: createMoveParticlesPerformanceTest({ mode: assembly.addF32ArraysSimd4Unrolled }),
209
- };
210
- //# sourceMappingURL=ecs-perf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ecs-perf.js","sourceRoot":"","sources":["../../src/perftest/ecs-perf.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { AgenticService } from "./agentic-service.js";
2
- /**
3
- * A link to another agentic service. Used to expose related services (e.g. parent,
4
- * children, sibling workflows) so the UI can navigate or delegate to them.
5
- * Either `service` (in-process) or `serviceId` (resolved by host) must be set.
6
- */
7
- export type Link = {
8
- service: AgenticService;
9
- label?: string;
10
- description?: string;
11
- } | {
12
- serviceId: string;
13
- label?: string;
14
- description?: string;
15
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/service/agentic-service/link.ts"],"names":[],"mappings":"AAAA,uDAAuD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-valid.type-test.js","sourceRoot":"","sources":["../../../src/service/async-data-service/is-valid.type-test.ts"],"names":[],"mappings":"AAAA,uDAAuD"}
@@ -1,17 +0,0 @@
1
- import { Database } from "../../ecs/index.js";
2
- import { Observe } from "../../observe/index.js";
3
- import { Schema } from "../../schema/index.js";
4
- import type { ActionError } from "./dynamic-service.js";
5
- import type { DynamicService } from "./dynamic-service.js";
6
- export declare const createFromEcs: <D extends Database, const SS extends Record<string, Schema>, const AS extends Record<string, Schema | false>>(database: D, props: {
7
- states: { [K in keyof SS]: {
8
- schema: SS[K];
9
- enabled: (db: D) => Observe<boolean>;
10
- value: (db: D) => Observe<Schema.ToType<SS[K]>>;
11
- }; };
12
- actions: { [K in keyof AS]: {
13
- schema: AS[K];
14
- enabled: (db: D) => Observe<boolean>;
15
- execute: Schema.ToType<AS[K]> extends void ? (db: D) => Promise<void | ActionError> : (db: D, input: Schema.ToType<AS[K]>) => Promise<void | ActionError>;
16
- }; };
17
- }) => DynamicService;
@@ -1,56 +0,0 @@
1
- import { Observe } from "../../observe/index.js";
2
- export const createFromEcs = (database, props) => {
3
- // Build per-state observables combining enabled + value
4
- const stateEntries = Object.entries(props.states);
5
- const perStateObservables = {};
6
- const stateSchemas = {};
7
- for (const [key, entry] of stateEntries) {
8
- stateSchemas[key] = entry.schema;
9
- perStateObservables[key] = Observe.fromProperties({
10
- enabled: entry.enabled(database),
11
- value: entry.value(database),
12
- });
13
- }
14
- const states = Observe.withMap(Observe.fromProperties(perStateObservables), (raw) => {
15
- const result = {};
16
- for (const [key, entry] of Object.entries(raw)) {
17
- const { enabled, value } = entry;
18
- if (enabled) {
19
- result[key] = { schema: stateSchemas[key], value };
20
- }
21
- }
22
- return result;
23
- });
24
- // Build per-action enabled observables, capture execute functions
25
- const actionEntries = Object.entries(props.actions);
26
- const actionMeta = {};
27
- const enabledObservables = {};
28
- for (const [key, entry] of actionEntries) {
29
- actionMeta[key] = { schema: entry.schema, execute: entry.execute };
30
- enabledObservables[key] = entry.enabled(database);
31
- }
32
- const actions = Observe.withMap(Observe.fromProperties(enabledObservables), (enabledMap) => {
33
- const result = {};
34
- for (const [key, enabled] of Object.entries(enabledMap)) {
35
- if (!enabled)
36
- continue;
37
- const { schema, execute: rawExecute } = actionMeta[key];
38
- const execute = schema === false
39
- ? () => rawExecute(database)
40
- : (input) => rawExecute(database, input);
41
- result[key] = { schema, execute };
42
- }
43
- return result;
44
- });
45
- // Track current actions for execute dispatch
46
- let currentActions = {};
47
- actions((a) => { currentActions = a; });
48
- const execute = async (action, input) => {
49
- const entry = currentActions[action];
50
- if (!entry)
51
- return `Action "${action}" is not available`;
52
- return entry.execute(input);
53
- };
54
- return { serviceName: "dynamic-service", states, actions, execute };
55
- };
56
- //# sourceMappingURL=create-from-ecs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-from-ecs.js","sourceRoot":"","sources":["../../../src/service/dynamic-service/create-from-ecs.ts"],"names":[],"mappings":"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"}