@adobe/data 0.7.2 → 0.7.4

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 (190) 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/create-database.test.js +130 -0
  12. package/dist/ecs/database/create-database.test.js.map +1 -1
  13. package/dist/ecs/database/database.d.ts +6 -5
  14. package/dist/ecs/database/index.d.ts +0 -1
  15. package/dist/ecs/database/index.js +0 -1
  16. package/dist/ecs/database/index.js.map +1 -1
  17. package/dist/ecs/database/observe-select-entities.d.ts +3 -3
  18. package/dist/ecs/database/observe-select-entities.js.map +1 -1
  19. package/dist/ecs/database/observed/create-observed-database.js +8 -0
  20. package/dist/ecs/database/observed/create-observed-database.js.map +1 -1
  21. package/dist/ecs/database/observed/observed-database.d.ts +3 -3
  22. package/dist/ecs/database/reconciling/create-reconciling-database.d.ts +8 -1
  23. package/dist/ecs/database/reconciling/create-reconciling-database.js +50 -19
  24. package/dist/ecs/database/reconciling/create-reconciling-database.js.map +1 -1
  25. package/dist/ecs/database/reconciling/create-reconciling-database.test.js +297 -0
  26. package/dist/ecs/database/reconciling/create-reconciling-database.test.js.map +1 -1
  27. package/dist/ecs/database/replicate.js.map +1 -1
  28. package/dist/ecs/database/transactional-store/coalesce-transactions.d.ts +5 -1
  29. package/dist/ecs/database/transactional-store/coalesce-transactions.js +17 -28
  30. package/dist/ecs/database/transactional-store/coalesce-transactions.js.map +1 -1
  31. package/dist/ecs/database/transactional-store/coalesce-transactions.test.js +84 -7
  32. package/dist/ecs/database/transactional-store/coalesce-transactions.test.js.map +1 -1
  33. package/dist/ecs/database/transactional-store/create-transactional-store.js +7 -2
  34. package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
  35. package/dist/ecs/database/transactional-store/create-transactional-store.test.js +5 -3
  36. package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
  37. package/dist/ecs/database/transactional-store/entity-id-preservation.test.js +106 -0
  38. package/dist/ecs/database/transactional-store/entity-id-preservation.test.js.map +1 -0
  39. package/dist/ecs/entity/entity.d.ts +8 -0
  40. package/dist/ecs/entity/entity.js +3 -0
  41. package/dist/ecs/entity/entity.js.map +1 -0
  42. package/dist/ecs/entity/u32.d.ts +8 -0
  43. package/dist/{lit/elements/service-context.js → ecs/entity/u32.js} +3 -3
  44. package/dist/ecs/entity/u32.js.map +1 -0
  45. package/dist/ecs/entity-location-table/create-entity-location-table.d.ts +1 -1
  46. package/dist/ecs/entity-location-table/create-entity-location-table.js +27 -2
  47. package/dist/ecs/entity-location-table/create-entity-location-table.js.map +1 -1
  48. package/dist/ecs/entity-location-table/create-entity-location-table.test.js +15 -2
  49. package/dist/ecs/entity-location-table/create-entity-location-table.test.js.map +1 -1
  50. package/dist/ecs/entity.d.ts +9 -7
  51. package/dist/ecs/entity.js +5 -2
  52. package/dist/ecs/entity.js.map +1 -1
  53. package/dist/ecs/index.d.ts +3 -3
  54. package/dist/ecs/index.js +4 -3
  55. package/dist/ecs/index.js.map +1 -1
  56. package/dist/ecs/optional-components.d.ts +3 -0
  57. package/dist/ecs/optional-components.js +2 -0
  58. package/dist/ecs/optional-components.js.map +1 -0
  59. package/dist/ecs/required-components.d.ts +4 -0
  60. package/dist/ecs/required-components.js +2 -0
  61. package/dist/ecs/required-components.js.map +1 -0
  62. package/dist/ecs/store/core/core.d.ts +19 -18
  63. package/dist/ecs/store/core/create-core.d.ts +2 -1
  64. package/dist/ecs/store/core/create-core.js +40 -17
  65. package/dist/ecs/store/core/create-core.js.map +1 -1
  66. package/dist/ecs/store/core/create-core.test.d.ts +1 -1
  67. package/dist/ecs/store/core/create-core.test.js +78 -2
  68. package/dist/ecs/store/core/create-core.test.js.map +1 -1
  69. package/dist/ecs/store/core/select-entities.d.ts +3 -2
  70. package/dist/ecs/store/core/select-entities.js.map +1 -1
  71. package/dist/ecs/store/create-store.d.ts +2 -1
  72. package/dist/ecs/store/create-store.js +3 -1
  73. package/dist/ecs/store/create-store.js.map +1 -1
  74. package/dist/ecs/store/create-store.test.js.map +1 -1
  75. package/dist/ecs/store/store-schema/create-store-schema-test.js +2 -2
  76. package/dist/ecs/store/store-schema/create-store-schema-test.js.map +1 -1
  77. package/dist/ecs/store/store-schema/create-store-schema.d.ts +1 -11
  78. package/dist/ecs/store/store-schema/create-store-schema.js +44 -30
  79. package/dist/ecs/store/store-schema/create-store-schema.js.map +1 -1
  80. package/dist/ecs/store/store-schema/index.d.ts +1 -2
  81. package/dist/ecs/store/store-schema/index.js +20 -23
  82. package/dist/ecs/store/store-schema/index.js.map +1 -1
  83. package/dist/ecs/store/store-schema/store-schema.d.ts +1 -12
  84. package/dist/ecs/store/store-schema/store-schema.js +55 -21
  85. package/dist/ecs/store/store-schema/store-schema.js.map +1 -1
  86. package/dist/ecs/store/store.d.ts +12 -11
  87. package/dist/ecs/store/store.js.map +1 -1
  88. package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js +23 -23
  89. package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js.map +1 -1
  90. package/dist/graphics/frame.d.ts +1 -22
  91. package/dist/graphics/frame.js +14 -11
  92. package/dist/graphics/frame.js.map +1 -1
  93. package/dist/graphics/get-web-gpu-device-and-context.d.ts +1 -2
  94. package/dist/graphics/get-web-gpu-device-and-context.js +23 -20
  95. package/dist/graphics/get-web-gpu-device-and-context.js.map +1 -1
  96. package/dist/graphics/graphics-context.d.ts +1 -5
  97. package/dist/graphics/graphics-context.js +5 -0
  98. package/dist/graphics/graphics-context.js.map +1 -1
  99. package/dist/lit/hooks/use-observable-values.d.ts +1 -2
  100. package/dist/lit/hooks/use-observable-values.js.map +1 -1
  101. package/dist/math/aabb-face/face.d.ts +51 -0
  102. package/dist/math/aabb-face/face.js +110 -0
  103. package/dist/math/aabb-face/face.js.map +1 -0
  104. package/dist/math/aabb-face/face.test.js +94 -0
  105. package/dist/math/aabb-face/face.test.js.map +1 -0
  106. package/dist/math/box/box.d.ts +50 -0
  107. package/dist/math/box/box.js +23 -0
  108. package/dist/math/box/box.js.map +1 -0
  109. package/dist/math/face/face.d.ts +51 -0
  110. package/dist/math/face/face.js +110 -0
  111. package/dist/math/face/face.js.map +1 -0
  112. package/dist/math/face/face.test.js +94 -0
  113. package/dist/math/face/face.test.js.map +1 -0
  114. package/dist/math/picking/face.d.ts +1 -0
  115. package/dist/math/picking/face.js +2 -0
  116. package/dist/math/picking/face.js.map +1 -0
  117. package/dist/math/picking/get-closest-entity-to-line.js +1 -1
  118. package/dist/math/picking/get-closest-entity-to-line.js.map +1 -1
  119. package/dist/math/picking/get-closest-entity-to-point.js +1 -1
  120. package/dist/math/picking/get-closest-entity-to-point.js.map +1 -1
  121. package/dist/math/picking/getClosestEntityToLine.d.ts +4 -0
  122. package/dist/math/picking/getClosestEntityToLine.js +29 -0
  123. package/dist/math/picking/getClosestEntityToLine.js.map +1 -0
  124. package/dist/math/picking/getClosestEntityToPoint.d.ts +4 -0
  125. package/dist/math/picking/getClosestEntityToPoint.js +27 -0
  126. package/dist/math/picking/getClosestEntityToPoint.js.map +1 -0
  127. package/dist/math/picking/getIntersectingEntities.d.ts +12 -0
  128. package/dist/math/picking/getIntersectingEntities.js +15 -0
  129. package/dist/math/picking/getIntersectingEntities.js.map +1 -0
  130. package/dist/math/picking/pick-from-tables.js +1 -1
  131. package/dist/math/picking/pick-from-tables.js.map +1 -1
  132. package/dist/math/picking/pick-result.d.ts +4 -2
  133. package/dist/math/transform/debug-inverse.d.ts +1 -0
  134. package/dist/math/transform/debug-inverse.js +28 -0
  135. package/dist/math/transform/debug-inverse.js.map +1 -0
  136. package/dist/math/transform/debug-quat.d.ts +1 -0
  137. package/dist/math/transform/debug-quat.js +23 -0
  138. package/dist/math/transform/debug-quat.js.map +1 -0
  139. package/dist/math/transform/debug-test.d.ts +1 -0
  140. package/dist/math/transform/debug-test.js +34 -0
  141. package/dist/math/transform/debug-test.js.map +1 -0
  142. package/dist/math/transform/transform.d.ts +58 -0
  143. package/dist/math/transform/transform.js +101 -0
  144. package/dist/math/transform/transform.js.map +1 -0
  145. package/dist/math/transform/transform.test.d.ts +1 -0
  146. package/dist/math/transform/transform.test.js +309 -0
  147. package/dist/math/transform/transform.test.js.map +1 -0
  148. package/dist/tsconfig.tsbuildinfo +1 -1
  149. package/package.json +4 -3
  150. package/dist/ecs/database/applied/applied-database.d.ts +0 -47
  151. package/dist/ecs/database/applied/applied-database.js +0 -22
  152. package/dist/ecs/database/applied/applied-database.js.map +0 -1
  153. package/dist/ecs/database/applied/applied-entry.d.ts +0 -30
  154. package/dist/ecs/database/applied/applied-entry.js +0 -84
  155. package/dist/ecs/database/applied/applied-entry.js.map +0 -1
  156. package/dist/ecs/database/applied/create-applied-database.d.ts +0 -8
  157. package/dist/ecs/database/applied/create-applied-database.js +0 -266
  158. package/dist/ecs/database/applied/create-applied-database.js.map +0 -1
  159. package/dist/ecs/database/applied/create-applied-database.test.js +0 -94
  160. package/dist/ecs/database/applied/create-applied-database.test.js.map +0 -1
  161. package/dist/ecs/database/create-applied-database.d.ts +0 -49
  162. package/dist/ecs/database/create-applied-database.js +0 -275
  163. package/dist/ecs/database/create-applied-database.js.map +0 -1
  164. package/dist/ecs/database/reconciling/applied-database.d.ts +0 -47
  165. package/dist/ecs/database/reconciling/applied-database.js +0 -22
  166. package/dist/ecs/database/reconciling/applied-database.js.map +0 -1
  167. package/dist/ecs/database/reconciling/applied-entry.d.ts +0 -30
  168. package/dist/ecs/database/reconciling/applied-entry.js +0 -84
  169. package/dist/ecs/database/reconciling/applied-entry.js.map +0 -1
  170. package/dist/ecs/database/reconciling/create-applied-database.d.ts +0 -8
  171. package/dist/ecs/database/reconciling/create-applied-database.js +0 -266
  172. package/dist/ecs/database/reconciling/create-applied-database.js.map +0 -1
  173. package/dist/ecs/database/reconciling/create-applied-database.test.js +0 -94
  174. package/dist/ecs/database/reconciling/create-applied-database.test.js.map +0 -1
  175. package/dist/lit/elements/service-application.d.ts +0 -9
  176. package/dist/lit/elements/service-application.js +0 -55
  177. package/dist/lit/elements/service-application.js.map +0 -1
  178. package/dist/lit/elements/service-context.d.ts +0 -1
  179. package/dist/lit/elements/service-context.js.map +0 -1
  180. package/dist/lit/elements/service-element.d.ts +0 -6
  181. package/dist/lit/elements/service-element.js +0 -43
  182. package/dist/lit/elements/service-element.js.map +0 -1
  183. package/dist/table/compact-table.d.ts +0 -7
  184. package/dist/table/compact-table.js +0 -15
  185. package/dist/table/compact-table.js.map +0 -1
  186. package/dist/table/compact-table.test.js +0 -121
  187. package/dist/table/compact-table.test.js.map +0 -1
  188. /package/dist/ecs/database/{applied/create-applied-database.test.d.ts → transactional-store/entity-id-preservation.test.d.ts} +0 -0
  189. /package/dist/{ecs/database/reconciling/create-applied-database.test.d.ts → math/aabb-face/face.test.d.ts} +0 -0
  190. /package/dist/{table/compact-table.test.d.ts → math/face/face.test.d.ts} +0 -0
@@ -1,121 +0,0 @@
1
- /*MIT License
2
-
3
- © Copyright 2025 Adobe. All rights reserved.
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.*/
22
- import { describe, it, expect } from "vitest";
23
- import { compactTable } from "./compact-table.js";
24
- import { createTable } from "./create-table.js";
25
- import { addRow } from "./add-row.js";
26
- import { deleteRow } from "./delete-row.js";
27
- import { U32Schema } from "../schema/u32.js";
28
- import { F32Schema } from "../schema/f32.js";
29
- describe("compactTable", () => {
30
- it("should reduce rowCapacity to match rowCount after deletions", () => {
31
- const table = createTable({
32
- value: U32Schema,
33
- });
34
- // Add some rows
35
- addRow(table, { value: 1 });
36
- addRow(table, { value: 2 });
37
- addRow(table, { value: 3 });
38
- addRow(table, { value: 4 });
39
- expect(table.rowCount).toBe(4);
40
- const initialCapacity = table.rowCapacity;
41
- expect(initialCapacity).toBeGreaterThanOrEqual(4);
42
- // Delete some rows
43
- deleteRow(table, 3);
44
- deleteRow(table, 2);
45
- expect(table.rowCount).toBe(2);
46
- expect(table.rowCapacity).toBe(initialCapacity); // Capacity unchanged
47
- // Compact the table
48
- compactTable(table);
49
- expect(table.rowCount).toBe(2);
50
- expect(table.rowCapacity).toBe(2); // Capacity now matches rowCount
51
- });
52
- it("should compact all columns to the same capacity", () => {
53
- const table = createTable({
54
- value: U32Schema,
55
- score: F32Schema,
56
- });
57
- addRow(table, { value: 1, score: 1.5 });
58
- addRow(table, { value: 2, score: 2.5 });
59
- addRow(table, { value: 3, score: 3.5 });
60
- deleteRow(table, 2);
61
- compactTable(table);
62
- expect(table.columns.value.capacity).toBe(2);
63
- expect(table.columns.score.capacity).toBe(2);
64
- expect(table.rowCapacity).toBe(2);
65
- });
66
- it("should preserve data after compaction", () => {
67
- const table = createTable({
68
- value: U32Schema,
69
- });
70
- addRow(table, { value: 10 });
71
- addRow(table, { value: 20 });
72
- addRow(table, { value: 30 });
73
- deleteRow(table, 2);
74
- compactTable(table);
75
- expect(table.columns.value.get(0)).toBe(10);
76
- expect(table.columns.value.get(1)).toBe(20);
77
- });
78
- it("should do nothing if rowCapacity already equals rowCount", () => {
79
- const table = createTable({
80
- value: U32Schema,
81
- });
82
- addRow(table, { value: 1 });
83
- addRow(table, { value: 2 });
84
- // Compact once
85
- compactTable(table);
86
- const capacity = table.rowCapacity;
87
- // Compact again
88
- compactTable(table);
89
- expect(table.rowCapacity).toBe(capacity);
90
- });
91
- it("should handle empty tables", () => {
92
- const table = createTable({
93
- value: U32Schema,
94
- });
95
- compactTable(table);
96
- expect(table.rowCount).toBe(0);
97
- expect(table.rowCapacity).toBe(0);
98
- });
99
- it("should handle tables that have grown and then had all rows deleted", () => {
100
- const table = createTable({
101
- value: U32Schema,
102
- });
103
- // Add many rows to trigger capacity growth
104
- for (let i = 0; i < 20; i++) {
105
- addRow(table, { value: i });
106
- }
107
- expect(table.rowCount).toBe(20);
108
- const largeCapacity = table.rowCapacity;
109
- expect(largeCapacity).toBeGreaterThanOrEqual(20);
110
- // Delete all rows
111
- for (let i = 19; i >= 0; i--) {
112
- deleteRow(table, i);
113
- }
114
- expect(table.rowCount).toBe(0);
115
- expect(table.rowCapacity).toBe(largeCapacity); // Still has large capacity
116
- compactTable(table);
117
- expect(table.rowCount).toBe(0);
118
- expect(table.rowCapacity).toBe(0); // Capacity compacted to 0
119
- });
120
- });
121
- //# sourceMappingURL=compact-table.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compact-table.test.js","sourceRoot":"","sources":["../../src/table/compact-table.test.ts"],"names":[],"mappings":"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"}