@adobe/data 0.9.53 → 0.9.55

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 (147) hide show
  1. package/README.md +1 -1
  2. package/dist/cache/blob-store.browser.test.d.ts +1 -0
  3. package/dist/cache/blob-store.browser.test.js +122 -0
  4. package/dist/cache/blob-store.browser.test.js.map +1 -0
  5. package/dist/cache/data-cache.browser.test.d.ts +1 -0
  6. package/dist/cache/data-cache.browser.test.js +41 -0
  7. package/dist/cache/data-cache.browser.test.js.map +1 -0
  8. package/dist/cache/data-cache.js +26 -6
  9. package/dist/cache/data-cache.js.map +1 -1
  10. package/dist/cache/data-cache.test.js +12 -1
  11. package/dist/cache/data-cache.test.js.map +1 -1
  12. package/dist/cache/expiring-data-cache.browser.test.d.ts +1 -0
  13. package/dist/cache/expiring-data-cache.browser.test.js +42 -0
  14. package/dist/cache/expiring-data-cache.browser.test.js.map +1 -0
  15. package/dist/cache/functions/functions.browser.test.d.ts +1 -0
  16. package/dist/cache/functions/functions.browser.test.js +72 -0
  17. package/dist/cache/functions/functions.browser.test.js.map +1 -0
  18. package/dist/cache/managed-array.js +72 -68
  19. package/dist/cache/managed-array.js.map +1 -1
  20. package/dist/ecs/archetype/create-archetype.js +131 -7
  21. package/dist/ecs/archetype/create-archetype.js.map +1 -1
  22. package/dist/ecs/database/public/create-database-scheduler.browser.test.d.ts +1 -0
  23. package/dist/ecs/database/public/create-database-scheduler.browser.test.js +67 -0
  24. package/dist/ecs/database/public/create-database-scheduler.browser.test.js.map +1 -0
  25. package/dist/ecs/database/transactional-store/coalesce-actions.js +15 -41
  26. package/dist/ecs/database/transactional-store/coalesce-actions.js.map +1 -1
  27. package/dist/ecs/database/transactional-store/coalesce-actions.test.js +30 -1
  28. package/dist/ecs/database/transactional-store/coalesce-actions.test.js.map +1 -1
  29. package/dist/ecs/persistence-service/create-storage-persistence-service.browser.test.d.ts +1 -0
  30. package/dist/ecs/persistence-service/create-storage-persistence-service.browser.test.js +52 -0
  31. package/dist/ecs/persistence-service/create-storage-persistence-service.browser.test.js.map +1 -0
  32. package/dist/functions/serialization/serialize-to-storage.browser.test.d.ts +1 -0
  33. package/dist/functions/serialization/serialize-to-storage.browser.test.js +161 -0
  34. package/dist/functions/serialization/serialize-to-storage.browser.test.js.map +1 -0
  35. package/dist/math/aabb/face/all.d.ts +2 -0
  36. package/dist/math/aabb/face/all.js +10 -0
  37. package/dist/math/aabb/face/all.js.map +1 -0
  38. package/dist/math/aabb/face/face.d.ts +4 -0
  39. package/dist/math/aabb/face/face.js +3 -0
  40. package/dist/math/aabb/face/face.js.map +1 -0
  41. package/dist/math/aabb/face/from-position.d.ts +9 -0
  42. package/dist/math/aabb/face/from-position.js +32 -0
  43. package/dist/math/aabb/face/from-position.js.map +1 -0
  44. package/dist/math/aabb/face/from-position.test.d.ts +1 -0
  45. package/dist/math/aabb/face/from-position.test.js +21 -0
  46. package/dist/math/aabb/face/from-position.test.js.map +1 -0
  47. package/dist/math/aabb/face/get-adjacent.d.ts +3 -0
  48. package/dist/math/aabb/face/get-adjacent.js +24 -0
  49. package/dist/math/aabb/face/get-adjacent.js.map +1 -0
  50. package/dist/math/aabb/face/get-adjacent.test.d.ts +1 -0
  51. package/dist/math/aabb/face/get-adjacent.test.js +27 -0
  52. package/dist/math/aabb/face/get-adjacent.test.js.map +1 -0
  53. package/dist/math/aabb/face/get-faces.d.ts +3 -0
  54. package/dist/math/aabb/face/get-faces.js +11 -0
  55. package/dist/math/aabb/face/get-faces.js.map +1 -0
  56. package/dist/math/aabb/face/get-faces.test.d.ts +1 -0
  57. package/dist/math/aabb/face/get-faces.test.js +16 -0
  58. package/dist/math/aabb/face/get-faces.test.js.map +1 -0
  59. package/dist/math/aabb/face/get-name.d.ts +3 -0
  60. package/dist/math/aabb/face/get-name.js +7 -0
  61. package/dist/math/aabb/face/get-name.js.map +1 -0
  62. package/dist/math/aabb/face/get-name.test.d.ts +1 -0
  63. package/dist/math/aabb/face/get-name.test.js +13 -0
  64. package/dist/math/aabb/face/get-name.test.js.map +1 -0
  65. package/dist/math/aabb/face/get-normal.d.ts +4 -0
  66. package/dist/math/aabb/face/get-normal.js +11 -0
  67. package/dist/math/aabb/face/get-normal.js.map +1 -0
  68. package/dist/math/aabb/face/get-normal.test.d.ts +1 -0
  69. package/dist/math/aabb/face/get-normal.test.js +13 -0
  70. package/dist/math/aabb/face/get-normal.test.js.map +1 -0
  71. package/dist/math/aabb/face/get-opposite.d.ts +3 -0
  72. package/dist/math/aabb/face/get-opposite.js +27 -0
  73. package/dist/math/aabb/face/get-opposite.js.map +1 -0
  74. package/dist/math/aabb/face/get-opposite.test.d.ts +1 -0
  75. package/dist/math/aabb/face/get-opposite.test.js +20 -0
  76. package/dist/math/aabb/face/get-opposite.test.js.map +1 -0
  77. package/dist/math/aabb/face/internals.d.ts +6 -0
  78. package/dist/math/aabb/face/internals.js +34 -0
  79. package/dist/math/aabb/face/internals.js.map +1 -0
  80. package/dist/math/aabb/face/is-adjacent.d.ts +3 -0
  81. package/dist/math/aabb/face/is-adjacent.js +7 -0
  82. package/dist/math/aabb/face/is-adjacent.js.map +1 -0
  83. package/dist/math/aabb/face/is-adjacent.test.d.ts +1 -0
  84. package/dist/math/aabb/face/is-adjacent.test.js +15 -0
  85. package/dist/math/aabb/face/is-adjacent.test.js.map +1 -0
  86. package/dist/math/aabb/face/is-opposite.d.ts +3 -0
  87. package/dist/math/aabb/face/is-opposite.js +7 -0
  88. package/dist/math/aabb/face/is-opposite.js.map +1 -0
  89. package/dist/math/aabb/face/is-opposite.test.d.ts +1 -0
  90. package/dist/math/aabb/face/is-opposite.test.js +15 -0
  91. package/dist/math/aabb/face/is-opposite.test.js.map +1 -0
  92. package/dist/math/aabb/face/neg-x.d.ts +2 -0
  93. package/dist/math/aabb/face/neg-x.js +4 -0
  94. package/dist/math/aabb/face/neg-x.js.map +1 -0
  95. package/dist/math/aabb/face/neg-y.d.ts +2 -0
  96. package/dist/math/aabb/face/neg-y.js +4 -0
  97. package/dist/math/aabb/face/neg-y.js.map +1 -0
  98. package/dist/math/aabb/face/neg-z.d.ts +2 -0
  99. package/dist/math/aabb/face/neg-z.js +4 -0
  100. package/dist/math/aabb/face/neg-z.js.map +1 -0
  101. package/dist/math/aabb/face/none.d.ts +2 -0
  102. package/dist/math/aabb/face/none.js +4 -0
  103. package/dist/math/aabb/face/none.js.map +1 -0
  104. package/dist/math/aabb/face/pos-x.d.ts +2 -0
  105. package/dist/math/aabb/face/pos-x.js +4 -0
  106. package/dist/math/aabb/face/pos-x.js.map +1 -0
  107. package/dist/math/aabb/face/pos-y.d.ts +2 -0
  108. package/dist/math/aabb/face/pos-y.js +4 -0
  109. package/dist/math/aabb/face/pos-y.js.map +1 -0
  110. package/dist/math/aabb/face/pos-z.d.ts +2 -0
  111. package/dist/math/aabb/face/pos-z.js +4 -0
  112. package/dist/math/aabb/face/pos-z.js.map +1 -0
  113. package/dist/math/aabb/face/public.d.ts +16 -1
  114. package/dist/math/aabb/face/public.js +16 -1
  115. package/dist/math/aabb/face/public.js.map +1 -1
  116. package/dist/math/aabb/public.d.ts +1 -1
  117. package/dist/math/aabb/public.js +1 -1
  118. package/dist/math/aabb/public.js.map +1 -1
  119. package/dist/perftest/ecs1-perf.d.ts +54 -0
  120. package/dist/perftest/ecs1-perf.js +214 -0
  121. package/dist/perftest/ecs1-perf.js.map +1 -0
  122. package/dist/perftest/ecs2-perf.d.ts +5 -0
  123. package/dist/perftest/ecs2-perf.js +162 -0
  124. package/dist/perftest/ecs2-perf.js.map +1 -0
  125. package/dist/perftest/index.js +8 -3
  126. package/dist/perftest/index.js.map +1 -1
  127. package/dist/perftest/perf-test.d.ts +7 -0
  128. package/dist/perftest/perf-test.js +69 -7
  129. package/dist/perftest/perf-test.js.map +1 -1
  130. package/dist/perftest/typed-buffer-perf.d.ts +8 -0
  131. package/dist/perftest/typed-buffer-perf.js +133 -0
  132. package/dist/perftest/typed-buffer-perf.js.map +1 -0
  133. package/dist/service/agentic-service/action.d.ts +8 -4
  134. package/dist/service/agentic-service/create.d.ts +5 -1
  135. package/dist/service/agentic-service/create.js +1 -1
  136. package/dist/service/agentic-service/create.js.map +1 -1
  137. package/dist/service/agentic-service/create.test.js +1 -1
  138. package/dist/service/agentic-service/create.test.js.map +1 -1
  139. package/dist/service/agentic-service/create.type-test.js +23 -0
  140. package/dist/service/agentic-service/create.type-test.js.map +1 -1
  141. package/dist/tsconfig.tsbuildinfo +1 -1
  142. package/package.json +2 -2
  143. package/references/data-lit/package.json +1 -1
  144. package/references/data-lit-tictactoe/package.json +1 -1
  145. package/references/data-react/package.json +1 -1
  146. package/references/data-react-hello/package.json +1 -1
  147. package/references/data-react-pixie/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ import { getAdjacent } from "./get-adjacent.js";
3
+ /** True if the two faces share an edge */
4
+ export const isAdjacent = (face1, face2) => {
5
+ return getAdjacent(face1).includes(face2);
6
+ };
7
+ //# sourceMappingURL=is-adjacent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-adjacent.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/is-adjacent.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAW,EAAE,KAAW,EAAW,EAAE;IAC5D,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ import { describe, it, expect } from "vitest";
3
+ import { isAdjacent } from "./is-adjacent.js";
4
+ import { NEG_Z } from "./neg-z.js";
5
+ import { POS_X } from "./pos-x.js";
6
+ import { POS_Z } from "./pos-z.js";
7
+ describe("isAdjacent", () => {
8
+ it("is true when faces share an edge", () => {
9
+ expect(isAdjacent(POS_Z, POS_X)).toBe(true);
10
+ });
11
+ it("is false for opposite faces", () => {
12
+ expect(isAdjacent(POS_Z, NEG_Z)).toBe(false);
13
+ });
14
+ });
15
+ //# sourceMappingURL=is-adjacent.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-adjacent.test.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/is-adjacent.test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Face } from "./face.js";
2
+ /** True if the two faces are opposite single-face bits */
3
+ export declare const isOpposite: (face1: Face, face2: Face) => boolean;
@@ -0,0 +1,7 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ import { getOpposite } from "./get-opposite.js";
3
+ /** True if the two faces are opposite single-face bits */
4
+ export const isOpposite = (face1, face2) => {
5
+ return getOpposite(face1) === face2;
6
+ };
7
+ //# sourceMappingURL=is-opposite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-opposite.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/is-opposite.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAW,EAAE,KAAW,EAAW,EAAE;IAC5D,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACxC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ import { describe, it, expect } from "vitest";
3
+ import { isOpposite } from "./is-opposite.js";
4
+ import { NEG_Z } from "./neg-z.js";
5
+ import { POS_X } from "./pos-x.js";
6
+ import { POS_Z } from "./pos-z.js";
7
+ describe("isOpposite", () => {
8
+ it("is true for opposite pair", () => {
9
+ expect(isOpposite(POS_Z, NEG_Z)).toBe(true);
10
+ });
11
+ it("is false for adjacent faces", () => {
12
+ expect(isOpposite(POS_Z, POS_X)).toBe(false);
13
+ });
14
+ });
15
+ //# sourceMappingURL=is-opposite.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-opposite.test.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/is-opposite.test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** AABB face bit: −X */
2
+ export declare const NEG_X: number;
@@ -0,0 +1,4 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ /** AABB face bit: −X */
3
+ export const NEG_X = 1 << 3;
4
+ //# sourceMappingURL=neg-x.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neg-x.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/neg-x.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,wBAAwB;AACxB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** AABB face bit: −Y */
2
+ export declare const NEG_Y: number;
@@ -0,0 +1,4 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ /** AABB face bit: −Y */
3
+ export const NEG_Y = 1 << 5;
4
+ //# sourceMappingURL=neg-y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neg-y.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/neg-y.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,wBAAwB;AACxB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** AABB face bit: −Z */
2
+ export declare const NEG_Z: number;
@@ -0,0 +1,4 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ /** AABB face bit: −Z */
3
+ export const NEG_Z = 1 << 2;
4
+ //# sourceMappingURL=neg-z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neg-z.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/neg-z.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,wBAAwB;AACxB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** No AABB faces selected */
2
+ export declare const NONE = 0;
@@ -0,0 +1,4 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ /** No AABB faces selected */
3
+ export const NONE = 0;
4
+ //# sourceMappingURL=none.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"none.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/none.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** AABB face bit: +X */
2
+ export declare const POS_X: number;
@@ -0,0 +1,4 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ /** AABB face bit: +X */
3
+ export const POS_X = 1 << 1;
4
+ //# sourceMappingURL=pos-x.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pos-x.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/pos-x.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,wBAAwB;AACxB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** AABB face bit: +Y */
2
+ export declare const POS_Y: number;
@@ -0,0 +1,4 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ /** AABB face bit: +Y */
3
+ export const POS_Y = 1 << 4;
4
+ //# sourceMappingURL=pos-y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pos-y.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/pos-y.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,wBAAwB;AACxB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** AABB face bit: +Z */
2
+ export declare const POS_Z: number;
@@ -0,0 +1,4 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ /** AABB face bit: +Z */
3
+ export const POS_Z = 1 << 0;
4
+ //# sourceMappingURL=pos-z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pos-z.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/pos-z.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,wBAAwB;AACxB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC"}
@@ -1,2 +1,17 @@
1
- export * from "./functions.js";
1
+ export { ALL } from "./all.js";
2
+ export { fromPosition } from "./from-position.js";
3
+ export { getAdjacent } from "./get-adjacent.js";
4
+ export { getFaces } from "./get-faces.js";
5
+ export { getName } from "./get-name.js";
6
+ export { getNormal } from "./get-normal.js";
7
+ export { getOpposite } from "./get-opposite.js";
8
+ export { isAdjacent } from "./is-adjacent.js";
9
+ export { isOpposite } from "./is-opposite.js";
10
+ export { NEG_X } from "./neg-x.js";
11
+ export { NEG_Y } from "./neg-y.js";
12
+ export { NEG_Z } from "./neg-z.js";
13
+ export { NONE } from "./none.js";
14
+ export { POS_X } from "./pos-x.js";
15
+ export { POS_Y } from "./pos-y.js";
16
+ export { POS_Z } from "./pos-z.js";
2
17
  export * from "./schema.js";
@@ -1,4 +1,19 @@
1
1
  // © 2026 Adobe. MIT License. See /LICENSE for details.
2
- export * from "./functions.js";
2
+ export { ALL } from "./all.js";
3
+ export { fromPosition } from "./from-position.js";
4
+ export { getAdjacent } from "./get-adjacent.js";
5
+ export { getFaces } from "./get-faces.js";
6
+ export { getName } from "./get-name.js";
7
+ export { getNormal } from "./get-normal.js";
8
+ export { getOpposite } from "./get-opposite.js";
9
+ export { isAdjacent } from "./is-adjacent.js";
10
+ export { isOpposite } from "./is-opposite.js";
11
+ export { NEG_X } from "./neg-x.js";
12
+ export { NEG_Y } from "./neg-y.js";
13
+ export { NEG_Z } from "./neg-z.js";
14
+ export { NONE } from "./none.js";
15
+ export { POS_X } from "./pos-x.js";
16
+ export { POS_Y } from "./pos-y.js";
17
+ export { POS_Z } from "./pos-z.js";
3
18
  export * from "./schema.js";
4
19
  //# sourceMappingURL=public.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/public.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../src/math/aabb/face/public.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,cAAc,aAAa,CAAC"}
@@ -3,4 +3,4 @@ export * from "./layout.js";
3
3
  export * from "./schema.js";
4
4
  export * from "./unit.js";
5
5
  export * from "./line-intersection.js";
6
- export * as Face from "./face/public.js";
6
+ export { Face } from "./face/face.js";
@@ -4,5 +4,5 @@ export * from "./layout.js";
4
4
  export * from "./schema.js";
5
5
  export * from "./unit.js";
6
6
  export * from "./line-intersection.js";
7
- export * as Face from "./face/public.js";
7
+ export { Face } from "./face/face.js";
8
8
  //# sourceMappingURL=public.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/math/aabb/public.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/math/aabb/public.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,54 @@
1
+ export declare const ecs1: {
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
+ startN: number;
21
+ };
22
+ move_native: {
23
+ setup: (n: number) => Promise<void>;
24
+ run: () => void;
25
+ cleanup: () => Promise<void>;
26
+ getVisibleEnabledPositions: () => number[];
27
+ type: "move";
28
+ startN: number;
29
+ };
30
+ move_wasm: {
31
+ setup: (n: number) => Promise<void>;
32
+ run: () => void;
33
+ cleanup: () => Promise<void>;
34
+ getVisibleEnabledPositions: () => number[];
35
+ type: "move";
36
+ startN: number;
37
+ };
38
+ move_wasm_simd4: {
39
+ setup: (n: number) => Promise<void>;
40
+ run: () => void;
41
+ cleanup: () => Promise<void>;
42
+ getVisibleEnabledPositions: () => number[];
43
+ type: "move";
44
+ startN: number;
45
+ };
46
+ move_wasm_simd4_unrolled: {
47
+ setup: (n: number) => Promise<void>;
48
+ run: () => void;
49
+ cleanup: () => Promise<void>;
50
+ getVisibleEnabledPositions: () => number[];
51
+ type: "move";
52
+ startN: number;
53
+ };
54
+ };
@@ -0,0 +1,214 @@
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
+ // Lock N to 1M so every ecs*:move_* row exercises the same memory-hierarchy
200
+ // pressure (~24 MB working set, well past L2). Otherwise the auto-tuner
201
+ // picks different N per test based on cold-probe time, and "ecs2:move_column
202
+ // is faster than ecs1:move_native" turns out to be cache-locality, not code.
203
+ return { setup, run: run, cleanup, getVisibleEnabledPositions, type: "move", startN: 1_000_000 };
204
+ }
205
+ export const ecs1 = {
206
+ create: create(false),
207
+ create_batch: create(true),
208
+ move_column: createMoveParticlesPerformanceTest({ mode: "column" }),
209
+ move_native: createMoveParticlesPerformanceTest({ mode: "native" }),
210
+ move_wasm: createMoveParticlesPerformanceTest({ mode: assembly.addF32Arrays }),
211
+ move_wasm_simd4: createMoveParticlesPerformanceTest({ mode: assembly.addF32ArraysSimd4 }),
212
+ move_wasm_simd4_unrolled: createMoveParticlesPerformanceTest({ mode: assembly.addF32ArraysSimd4Unrolled }),
213
+ };
214
+ //# sourceMappingURL=ecs1-perf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecs1-perf.js","sourceRoot":"","sources":["../../src/perftest/ecs1-perf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { PerformanceTest } from "./perf-test.js";
2
+ export declare const ecs2: {
3
+ create: PerformanceTest;
4
+ move_column: PerformanceTest;
5
+ };