@adobe/data 0.9.68 → 0.9.70

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 (107) hide show
  1. package/dist/cache/functions/hashing/blob-to-hash.js +59 -11
  2. package/dist/cache/functions/hashing/blob-to-hash.js.map +1 -1
  3. package/dist/cache/functions/hashing/hashing.test.js +59 -0
  4. package/dist/cache/functions/hashing/hashing.test.js.map +1 -1
  5. package/dist/ecs/database/concurrency/concurrency-strategy.d.ts +10 -10
  6. package/dist/ecs/database/concurrency/immediate-concurrency.d.ts +3 -3
  7. package/dist/ecs/database/concurrency/immediate-concurrency.js +9 -9
  8. package/dist/ecs/database/concurrency/immediate-concurrency.js.map +1 -1
  9. package/dist/ecs/database/concurrency/roll-forward-concurrency.js +4 -4
  10. package/dist/ecs/database/concurrency/roll-forward-concurrency.js.map +1 -1
  11. package/dist/ecs/database/database.d.ts +5 -5
  12. package/dist/ecs/database/observed/create-observed-database.js +5 -5
  13. package/dist/ecs/database/observed/create-observed-database.js.map +1 -1
  14. package/dist/ecs/database/public/create-transaction-dispatcher.d.ts +4 -4
  15. package/dist/ecs/database/public/create-transaction-dispatcher.js +15 -15
  16. package/dist/ecs/database/public/create-transaction-dispatcher.js.map +1 -1
  17. package/dist/ecs/database/reconciling/create-rebase-replay-applier.js +3 -3
  18. package/dist/ecs/database/reconciling/create-rebase-replay-applier.js.map +1 -1
  19. package/dist/ecs/database/transactional-store/coalesce-actions.js +2 -2
  20. package/dist/ecs/database/transactional-store/coalesce-actions.js.map +1 -1
  21. package/dist/ecs/database/transactional-store/coalesce-actions.test.js +57 -57
  22. package/dist/ecs/database/transactional-store/coalesce-actions.test.js.map +1 -1
  23. package/dist/ecs/database/transactional-store/create-transactional-store.js +13 -13
  24. package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
  25. package/dist/ecs/database/transactional-store/create-transactional-store.test.js +51 -51
  26. package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
  27. package/dist/ecs/database/transactional-store/transaction-options.d.ts +3 -3
  28. package/dist/ecs/database/transactional-store/transactional-store.d.ts +4 -4
  29. package/dist/ecs/entity/is-ephemeral.d.ts +3 -0
  30. package/dist/ecs/entity/is-ephemeral.js +4 -1
  31. package/dist/ecs/entity/is-ephemeral.js.map +1 -1
  32. package/dist/ecs/entity/is-ephemeral.test.js +22 -5
  33. package/dist/ecs/entity/is-ephemeral.test.js.map +1 -1
  34. package/dist/ecs/entity/public.d.ts +1 -1
  35. package/dist/ecs/entity/public.js +1 -1
  36. package/dist/ecs/entity/public.js.map +1 -1
  37. package/dist/ecs/optional-components.d.ts +3 -1
  38. package/dist/ecs/persistence-service/create-storage-persistence-service.js +1 -1
  39. package/dist/ecs/persistence-service/create-storage-persistence-service.js.map +1 -1
  40. package/dist/ecs/plugins/scheduler/scheduler.js +9 -2
  41. package/dist/ecs/plugins/scheduler/scheduler.js.map +1 -1
  42. package/dist/ecs/store/archetype-row.d.ts +16 -0
  43. package/dist/ecs/store/archetype-row.js +2 -0
  44. package/dist/ecs/store/archetype-row.js.map +1 -0
  45. package/dist/ecs/store/core/create-core.js +15 -10
  46. package/dist/ecs/store/core/create-core.js.map +1 -1
  47. package/dist/ecs/store/index.d.ts +1 -0
  48. package/dist/ecs/store/index.js.map +1 -1
  49. package/dist/ecs/store/public/create-store.js +5 -5
  50. package/dist/ecs/store/public/create-store.js.map +1 -1
  51. package/dist/ecs/store/store.js +6 -0
  52. package/dist/ecs/store/store.js.map +1 -1
  53. package/dist/ecs/undo-redo-service/create-undo-redo-service.js +1 -1
  54. package/dist/ecs/undo-redo-service/create-undo-redo-service.js.map +1 -1
  55. package/dist/math/mat4x4/functions.js +6 -3
  56. package/dist/math/mat4x4/functions.js.map +1 -1
  57. package/dist/math/quat/index.d.ts +1 -3
  58. package/dist/math/quat/schema.d.ts +3 -0
  59. package/dist/math/quat/schema.js +4 -0
  60. package/dist/math/quat/schema.js.map +1 -1
  61. package/dist/observe/with-batch.js +7 -6
  62. package/dist/observe/with-batch.js.map +1 -1
  63. package/dist/observe/with-batch.test.js +11 -0
  64. package/dist/observe/with-batch.test.js.map +1 -1
  65. package/dist/observe/with-deduplicate-data.js +4 -2
  66. package/dist/observe/with-deduplicate-data.js.map +1 -1
  67. package/dist/observe/with-deduplicate-data.test.d.ts +1 -0
  68. package/dist/observe/with-deduplicate-data.test.js +39 -0
  69. package/dist/observe/with-deduplicate-data.test.js.map +1 -0
  70. package/dist/observe/with-filter.d.ts +4 -3
  71. package/dist/observe/with-filter.js +3 -2
  72. package/dist/observe/with-filter.js.map +1 -1
  73. package/dist/observe/with-filter.type-test.d.ts +1 -0
  74. package/dist/observe/with-filter.type-test.js +14 -0
  75. package/dist/observe/with-filter.type-test.js.map +1 -0
  76. package/dist/schema/index.d.ts +2 -0
  77. package/dist/schema/index.js +1 -0
  78. package/dist/schema/index.js.map +1 -1
  79. package/dist/schema/schema.d.ts +7 -0
  80. package/dist/service/ui-service/public.d.ts +1 -0
  81. package/dist/service/ui-service/public.js +1 -0
  82. package/dist/service/ui-service/public.js.map +1 -1
  83. package/dist/service/ui-service/restrict.d.ts +17 -0
  84. package/dist/service/ui-service/restrict.js +5 -0
  85. package/dist/service/ui-service/restrict.js.map +1 -0
  86. package/dist/tsconfig.tsbuildinfo +1 -1
  87. package/dist/typed-buffer/register-typed-buffer-codecs.js +4 -4
  88. package/dist/typed-buffer/register-typed-buffer-codecs.js.map +1 -1
  89. package/dist/typed-buffer/structs/index.d.ts +2 -0
  90. package/dist/typed-buffer/structs/index.js +2 -0
  91. package/dist/typed-buffer/structs/index.js.map +1 -1
  92. package/dist/typed-buffer/structs/wgsl-struct-fields.d.ts +17 -0
  93. package/dist/typed-buffer/structs/wgsl-struct-fields.js +58 -0
  94. package/dist/typed-buffer/structs/wgsl-struct-fields.js.map +1 -0
  95. package/package.json +2 -1
  96. package/references/data-lit/package.json +1 -1
  97. package/references/data-lit/src/elements/database-element.ts +22 -7
  98. package/references/data-lit/src/hooks/use-drag-transaction.ts +2 -2
  99. package/references/data-lit/src/hooks/use-pointer-observe.ts +2 -2
  100. package/references/data-lit-tictactoe/package.json +1 -1
  101. package/references/data-lit-tictactoe/src/elements/tictactoe-app/tictactoe-app.ts +1 -1
  102. package/references/data-react/package.json +1 -1
  103. package/references/data-react-hello/package.json +3 -2
  104. package/references/data-react-pixie/package.json +1 -1
  105. package/dist/service/async-data-service/index.d.ts +0 -1
  106. package/dist/service/async-data-service/index.js +0 -3
  107. package/dist/service/async-data-service/index.js.map +0 -1
@@ -7,12 +7,13 @@ import { True } from "../../../schema/true/index.js";
7
7
  export function createCore(newComponentSchemas) {
8
8
  const componentSchemas = {
9
9
  id: Entity.schema,
10
+ nonPersistent: True.schema,
10
11
  ephemeral: True.schema,
11
12
  ...newComponentSchemas
12
13
  };
13
14
  const persistentLocationTable = createEntityLocationTable(16, false);
14
- const ephemeralLocationTable = createEntityLocationTable(16, true);
15
- const getLocationTable = (entity) => entity < 0 ? ephemeralLocationTable : persistentLocationTable;
15
+ const nonPersistentLocationTable = createEntityLocationTable(16, true);
16
+ const getLocationTable = (entity) => entity < 0 ? nonPersistentLocationTable : persistentLocationTable;
16
17
  const archetypes = [];
17
18
  const queryArchetypes = (include, options) => {
18
19
  const includeArray = Array.from(include);
@@ -38,25 +39,29 @@ export function createCore(newComponentSchemas) {
38
39
  const id = archetypes.length;
39
40
  const archetypeComponentSchemas = {};
40
41
  let hasId = false;
41
- let ephemeral = false;
42
+ let isNonPersistent = false;
42
43
  for (const comp of componentNames) {
43
44
  if (comp === "id") {
44
45
  hasId = true;
45
46
  }
46
- if (comp === "ephemeral") {
47
- ephemeral = true;
47
+ if (comp === "nonPersistent") {
48
+ isNonPersistent = true;
49
+ }
50
+ else if (comp === "ephemeral") {
51
+ console.warn('"ephemeral" component is deprecated, use "nonPersistent"');
52
+ isNonPersistent = true;
48
53
  }
49
54
  archetypeComponentSchemas[comp] = componentSchemas[comp];
50
55
  }
51
56
  if (!hasId) {
52
57
  throw new Error("id is required");
53
58
  }
54
- const archetype = ARCHETYPE.createArchetype(archetypeComponentSchemas, id, ephemeral ? ephemeralLocationTable : persistentLocationTable);
59
+ const archetype = ARCHETYPE.createArchetype(archetypeComponentSchemas, id, isNonPersistent ? nonPersistentLocationTable : persistentLocationTable);
55
60
  archetypes.push(archetype);
56
61
  return archetype;
57
62
  };
58
63
  const locateInternal = (entity) => {
59
- return (entity < 0 ? ephemeralLocationTable : persistentLocationTable).locate(entity);
64
+ return (entity < 0 ? nonPersistentLocationTable : persistentLocationTable).locate(entity);
60
65
  };
61
66
  const readEntity = (entity, minArchetype) => {
62
67
  const location = locateInternal(entity);
@@ -86,8 +91,8 @@ export function createCore(newComponentSchemas) {
86
91
  if (currentLocation === null) {
87
92
  throw new Error(`Entity not found ${entity}`);
88
93
  }
89
- if ("ephemeral" in components) {
90
- throw new Error("Cannot update ephemeral component");
94
+ if ("nonPersistent" in components || "ephemeral" in components) {
95
+ throw new Error("Cannot update nonPersistent component");
91
96
  }
92
97
  const currentArchetype = archetypes[currentLocation.archetype];
93
98
  let newArchetype = currentArchetype;
@@ -149,7 +154,7 @@ export function createCore(newComponentSchemas) {
149
154
  };
150
155
  const resetCore = () => {
151
156
  persistentLocationTable.reset();
152
- ephemeralLocationTable.reset();
157
+ nonPersistentLocationTable.reset();
153
158
  for (const archetype of archetypes) {
154
159
  archetype.rowCount = 0;
155
160
  }
@@ -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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"}
@@ -1,5 +1,6 @@
1
1
  export * from "./store.js";
2
2
  export * from "./archetype-components.js";
3
+ export type { ArchetypeSchema, ArchetypeRowOf, ArchetypeHandleOf } from "./archetype-row.js";
3
4
  export type { EntityReadValues, EntityUpdateValues, ArchetypeQueryOptions } from "./core/core.js";
4
5
  export type { EntitySelectOptions } from "./entity-select-options.js";
5
6
  export * from "./action-functions.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ecs/store/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAG1C,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ecs/store/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAI1C,cAAc,uBAAuB,CAAC"}
@@ -135,14 +135,14 @@ export function createStore(schema) {
135
135
  // The resource component we added above will contain the resource value
136
136
  const ensureResourceInitialized = (name, resourceSchema) => {
137
137
  const resourceId = name;
138
- const isEphemeral = resourceSchema.ephemeral;
139
- const componentNames = isEphemeral
140
- ? ["id", resourceId, "ephemeral"]
138
+ const isNonPersistent = resourceSchema.nonPersistent ?? resourceSchema.ephemeral;
139
+ const componentNames = isNonPersistent
140
+ ? ["id", resourceId, "nonPersistent"]
141
141
  : ["id", resourceId];
142
142
  const archetype = core.ensureArchetype(componentNames);
143
143
  if (archetype.rowCount === 0) {
144
- const insertValues = isEphemeral
145
- ? { [resourceId]: resourceSchema.default, ephemeral: true }
144
+ const insertValues = isNonPersistent
145
+ ? { [resourceId]: resourceSchema.default, nonPersistent: true }
146
146
  : { [resourceId]: resourceSchema.default };
147
147
  // Resource singleton inserts bypass index pre-check because
148
148
  // resources are not typically indexed by their schema name and
@@ -1 +1 @@
1
- {"version":3,"file":"create-store.js","sourceRoot":"","sources":["../../../../src/ecs/store/public/create-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-store.js","sourceRoot":"","sources":["../../../../src/ecs/store/public/create-store.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAQvD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EACH,mBAAmB,GAGtB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,UAAU,WAAW,CAKvB,MAAgC;IAEhC,MAAM,SAAS,GAAG,MAAa,CAAC;IAChC,MAAM,cAAc,GAChB,SAAS;QACT,OAAO,SAAS,KAAK,QAAQ;QAC7B,YAAY,IAAI,SAAS;QACzB,WAAW,IAAI,SAAS;QACxB,YAAY,IAAI,SAAS,CAAC;IAE9B,MAAM,gBAAgB,GAA4B,cAAc;QAC5D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC;YACE,UAAU,EAAE,EAAQ;YACpB,SAAS,EAAE,EAAQ;YACnB,UAAU,EAAE,EAAO;SACtB,CAAC;IAKN,MAAM,SAAS,GAAG,EAAO,CAAC;IAC1B,MAAM,gBAAgB,GAAG,EAAQ,CAAC;IAClC,MAAM,eAAe,GAAG,EAAQ,CAAC;IACjC,MAAM,uBAAuB,GAAG,EAAO,CAAC;IACxC,MAAM,2BAA2B,GAA0C,EAAS,CAAC;IAErF,MAAM,IAAI,GAAG,UAAU,CAAC,2BAA2B,CAAuB,CAAC;IAE3E,kEAAkE;IAClE,mEAAmE;IACnE,iEAAiE;IACjE,sEAAsE;IACtE,oBAAoB;IACpB,EAAE;IACF,kEAAkE;IAClE,sEAAsE;IACtE,sEAAsE;IACtE,iDAAiD;IACjD,MAAM,aAAa,GAAG,mBAAmB,CACrC,CAAC,MAAM,EAAE,EAAE;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,+CAA+C;QAC/C,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAkD,CAAC;QAChF,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,mEAAmE;IACnE,wEAAwE;IACxE,CAAC,aAAa,EAAE,EAAE,CAAE,uBAA6D,CAAC,aAAa,CAAC,CACnG,CAAC;IAEF;;;;;;;;;;OAUG;IACH,MAAM,uBAAuB,GAAG,CAAC,GAAiB,EAAQ,EAAE;QACxD,iEAAiE;QACjE,iEAAiE;QACjE,kEAAkE;QAClE,+DAA+D;QAC/D,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC;QACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,QAAqC,CAAC,CAAC;QAC/E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC;gBAChD,MAAM,MAAM,GAA4B,EAAE,CAAC;gBAC3C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACvB,MAAM,CAAC,CAAC,CAAC,GAAI,SAAS,CAAC,OAAuD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/F,CAAC;gBACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,kEAAkE;IAClE,mEAAmE;IACnE,8DAA8D;IAC9D,MAAM,YAAY,GAA4B,EAAE,CAAC;IAEjD,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,GAAiB,EAAQ,EAAE;QAChE,IAAI,IAAI,IAAI,YAAY;YAAE,OAAO;QACjC,qEAAqE;QACrE,mEAAmE;QACnE,kEAAkE;QAClE,sEAAsE;QACtE,sEAAsE;QACtE,mEAAmE;QACnE,mDAAmD;QACnD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,IAAI,eAAyC,CAAC;QAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,eAAe,GAAG,GAAwB,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,uEAAuE;QACvE,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,aAAa,GACf,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,MAAM,MAAM,GAA4B;YACpC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,sDAAsD;YACtD,iEAAiE;YACjE,gEAAgE;YAChE,2DAA2D;YAC3D,6DAA6D;YAC7D,8BAA8B;YAC9B,eAAe;YACf,+DAA+D;YAC/D,8DAA8D;YAC9D,8DAA8D;YAC9D,kEAAkE;YAClE,aAAa;YACb,6DAA6D;YAC7D,mEAAmE;YACnE,iEAAiE;YACjE,mEAAmE;YACnE,+DAA+D;YAC/D,WAAW,EAAE,GAAG,CAAC,WAAW;SAC/B,CAAC;QACF,IAAI,GAAG,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACrC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAChC,CAAC,CAAC;IAEF,0FAA0F;IAC1F,wEAAwE;IACxE,MAAM,yBAAyB,GAAG,CAAC,IAAY,EAAE,cAA6C,EAAE,EAAE;QAC9F,MAAM,UAAU,GAAG,IAAsB,CAAC;QAC1C,MAAM,eAAe,GAAG,cAAc,CAAC,aAAa,IAAI,cAAc,CAAC,SAAS,CAAC;QACjF,MAAM,cAAc,GAAqB,eAAe;YACpD,CAAC,CAAC,CAAC,IAAsB,EAAE,UAAU,EAAE,eAAiC,CAAC;YACzE,CAAC,CAAC,CAAC,IAAsB,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,eAAe;gBAChC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE;gBAC/D,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC;YAC/C,4DAA4D;YAC5D,+DAA+D;YAC/D,6CAA6C;YAC7C,SAAS,CAAC,MAAM,CAAC,YAAmB,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;YACzD,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,CAAC;IAEF,MAAM,MAAM,GAAG,CAGX,OAAiD,EACjD,OAAiH,EAChG,EAAE;QACnB,OAAO,cAAc,CAAa,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,EAAS,CAAC;IAE7B;;;;;;;;;;OAUG;IACH,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAe,CAAC;IACtD,MAAM,uBAAuB,GAAG,CAAC,SAAc,EAAO,EAAE;QACpD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,CAAC,MAAW,EAAE,EAAE;YAClC,iEAAiE;YACjE,4DAA4D;YAC5D,aAAa,CAAC,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACjC,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACrD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE;YACjC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACtB,IAAI,IAAI,KAAK,QAAQ;oBAAE,OAAO,aAAa,CAAC;gBAC5C,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC;SACJ,CAAC,CAAC;QACH,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,CAAC,cAAmB,EAAE,EAAE;QAC7C,OAAO,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC;IACzE,CAAC,CAA+B,CAAC;IAEjC,qEAAqE;IACrE,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,eAAe,GAAG,CAAC,CAAC,OAAY,EAAE,OAAa,EAAE,EAAE;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAA+B,CAAC;IAEjC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO,EAAE,SAAS,EAAE,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAC/E,CAAC,CAAsB,CAAC;IAExB,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,MAAW,EAAE,EAAE;QACjD,aAAa,CAAC,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5D,iEAAiE;QACjE,+DAA+D;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC;QAClD,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,EAAE;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,MAAmC,EAAE,EAAE;QACnD,MAAM,EACF,UAAU,EAAE,gBAAgB,GAAG,EAAE,EACjC,SAAS,EAAE,eAAe,GAAG,EAAE,EAC/B,UAAU,EAAE,gBAAgB,GAAG,EAAE,EACjC,OAAO,EAAE,aAAa,GAAG,EAAE,GAC9B,GAAG,MAAM,CAAC;QACX,oDAAoD;QACpD,KAAK,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACxE,IAAI,IAAI,IAAI,2BAA2B,EAAE,CAAC;gBACtC,IAAI,2BAA2B,CAAC,IAAgD,CAAC,KAAK,kBAAkB,EAAE,CAAC;oBACvG,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,qCAAqC,CAAC,CAAC;gBACxF,CAAC;gBACD,SAAS;YACb,CAAC;YACD,2BAA2B,CAAC,IAAgD,CAAC,GAAG,kBAA4B,CAAC;YAC5G,IAAI,CAAC,gBAAwB,CAAC,IAAI,CAAC,GAAG,kBAA4B,CAAC;YACnE,gBAAwB,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC;QACzD,CAAC;QAED,mDAAmD;QACnD,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACtE,IAAI,IAAI,IAAI,eAAe,EAAE,CAAC;gBAC1B,IAAI,eAAe,CAAC,IAAoC,CAAC,KAAK,iBAAiB,EAAE,CAAC;oBAC9E,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,qCAAqC,CAAC,CAAC;gBACvF,CAAC;gBACD,SAAS;YACb,CAAC;YACD,eAAe,CAAC,IAAoC,CAAC,GAAG,iBAAwB,CAAC;YACjF,2BAA2B,CAAC,IAAgD,CAAC,GAAG,iBAA2B,CAAC;YAC3G,IAAI,CAAC,gBAAwB,CAAC,IAAI,CAAC,GAAG,iBAA2B,CAAC;YACnE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,yBAAyB,CAAC,IAAI,EAAE,iBAAwB,CAAC,CAAC;QAC9D,CAAC;QAED,qDAAqD;QACrD,qEAAqE;QACrE,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnE,IAAI,IAAI,IAAI,uBAAuB,EAAE,CAAC;gBAClC,IAAI,uBAAuB,CAAC,IAA4C,CAAC,KAAK,aAAa,EAAE,CAAC;oBAC1F,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,qCAAqC,CAAC,CAAC;gBAC5F,CAAC;gBACD,SAAS;YACb,CAAC;YACD,uBAAuB,CAAC,IAA4C,CAAC,GAAG,aAAoB,CAAC;YAC7F,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,GAAI,aAAqB,CAAC,CAAC,CAAC;YACzE,UAAkB,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnE,CAAC;QAED,6DAA6D;QAC7D,kEAAkE;QAClE,gEAAgE;QAChE,iEAAiE;QACjE,8DAA8D;QAC9D,MAAM,eAAe,GAAG,aAAuD,CAAC;QAChF,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,IAAI,MAAM,EAAE,CAAC;gBACT,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAChC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;QAED,OAAO,KAAY,CAAC;IACxB,CAAC,CAAA;IAED,MAAM,KAAK,GAAgB;QACvB,GAAG,IAAI;QACP,eAAe;QACf,eAAe;QACf,MAAM;QACN,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,YAAY;QACpB,SAAS;QACT,MAAM;QACN,UAAU;QACV,OAAO,EAAE,YAAmB;QAC5B,MAAM;QACN,KAAK,EAAE,GAAG,EAAE;YACR,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnE,yBAAyB,CAAC,IAAI,EAAE,cAAqB,CAAC,CAAC;YAC3D,CAAC;YACD,8DAA8D;YAC9D,4DAA4D;YAC5D,8DAA8D;YAC9D,iCAAiC;YACjC,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,uBAAuB,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3C,QAAQ,EAAE,CAAC,IAAa,EAAE,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnE,yBAAyB,CAAC,IAAI,EAAE,cAAqB,CAAC,CAAC;YAC3D,CAAC;YACD,4DAA4D;YAC5D,2DAA2D;YAC3D,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,uBAAuB,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;KACJ,CAAC;IAEF,OAAO,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAQ,CAAC;AACjD,CAAC"}
@@ -45,4 +45,10 @@ export var Store;
45
45
  })(Schema = Store.Schema || (Store.Schema = {}));
46
46
  Store.create = createStore;
47
47
  })(Store || (Store = {}));
48
+ // ArchetypeRowOf resolves an archetype's row from a plain public schema
49
+ // (components + archetype name-lists), matching the store's archetype row.
50
+ const checkRowSchema = {
51
+ components: { particle: { type: "boolean" }, velocity: { type: "number" } },
52
+ archetypes: { Particle: ["particle"], DynamicParticle: ["particle", "velocity"] },
53
+ };
48
54
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ecs/store/store.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA+DvD,2DAA2D;AAC3D,MAAM,KAAW,KAAK,CAsHrB;AAtHD,WAAiB,KAAK;IAuBlB,IAAiB,MAAM,CA4FtB;IA5FD,WAAiB,MAAM;QAsCnB;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,SAAgB,MAAM,CAOlB,MAKE,EACF,YAAgB;YAEhB,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;YAClF,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBAC7C,OAAO;oBACH,UAAU,EAAE,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;oBACrD,SAAS,EAAE,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;oBAClD,UAAU,EAAE,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;oBACrD,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;iBAC/C,CAAA;YACL,CAAC,EACG,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAS,CACxD,CAAC;QACN,CAAC;QA1Be,aAAM,SA0BrB,CAAA;IAEL,CAAC,EA5FgB,MAAM,GAAN,YAAM,KAAN,YAAM,QA4FtB;IAEY,YAAM,GAAG,WAAW,CAAC;AACtC,CAAC,EAtHgB,KAAK,KAAL,KAAK,QAsHrB"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ecs/store/store.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAgEvD,2DAA2D;AAC3D,MAAM,KAAW,KAAK,CAsHrB;AAtHD,WAAiB,KAAK;IAuBlB,IAAiB,MAAM,CA4FtB;IA5FD,WAAiB,MAAM;QAsCnB;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,SAAgB,MAAM,CAOlB,MAKE,EACF,YAAgB;YAEhB,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;YAClF,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBAC7C,OAAO;oBACH,UAAU,EAAE,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;oBACrD,SAAS,EAAE,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;oBAClD,UAAU,EAAE,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;oBACrD,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;iBAC/C,CAAA;YACL,CAAC,EACG,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAS,CACxD,CAAC;QACN,CAAC;QA1Be,aAAM,SA0BrB,CAAA;IAEL,CAAC,EA5FgB,MAAM,GAAN,YAAM,KAAN,YAAM,QA4FtB;IAEY,YAAM,GAAG,WAAW,CAAC;AACtC,CAAC,EAtHgB,KAAK,KAAL,KAAK,QAsHrB;AAiCD,wEAAwE;AACxE,2EAA2E;AAC3E,MAAM,cAAc,GAAG;IACnB,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAC3E,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;CAC3E,CAAC"}
@@ -7,7 +7,7 @@ export const createUndoRedoService = (database) => {
7
7
  const [observeUndoStack, setObserveUndoStack] = Observe.createState([]);
8
8
  const [observeStackIndex, setObserveStackIndex] = Observe.createState(0);
9
9
  database.observe.transactions(t => {
10
- if (t.undoable && !t.transient) {
10
+ if (t.undoable && !t.intermediate) {
11
11
  // Check if we should coalesce with the previous transaction
12
12
  const shouldCoalesce = stackIndex > 0 && shouldCoalesceTransactions(undoStack[stackIndex - 1], t);
13
13
  if (shouldCoalesce) {
@@ -1 +1 @@
1
- {"version":3,"file":"create-undo-redo-service.js","sourceRoot":"","sources":["../../../src/ecs/undo-redo-service/create-undo-redo-service.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAGvH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAA8G,EAAmB,EAAE;IACrK,MAAM,SAAS,GAA6B,EAAE,CAAC;IAC/C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAAC,WAAW,CAA+B,EAAE,CAAC,CAAC;IACtG,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAS,CAAC,CAAC,CAAC;IACjF,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;QAC9B,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YAC7B,4DAA4D;YAC5D,MAAM,cAAc,GAAG,UAAU,GAAG,CAAC,IAAI,0BAA0B,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAElG,IAAI,cAAc,EAAE,CAAC;gBACjB,iEAAiE;gBACjE,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBACtD,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAEzE,gEAAgE;gBAChE,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACJ,wCAAwC;gBACxC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC;gBAC9B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,UAAU,EAAE,CAAC;YACjB,CAAC;YAED,mBAAmB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YACpC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;QACvD,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,iBAAiB;KAC3B,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEhD,OAAO;QACH,WAAW,EAAE,iBAAiB;QAC9B,SAAS,EAAE,gBAAgB;QAC3B,cAAc,EAAE,iBAAiB;QACjC,WAAW;QACX,WAAW;QACX,IAAI,EAAE,GAAG,EAAE;YACP,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACjB,UAAU,EAAE,CAAC;gBACb,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClE,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACP,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBAChC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClE,UAAU,EAAE,CAAC;gBACb,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"create-undo-redo-service.js","sourceRoot":"","sources":["../../../src/ecs/undo-redo-service/create-undo-redo-service.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAGvH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAA8G,EAAmB,EAAE;IACrK,MAAM,SAAS,GAA6B,EAAE,CAAC;IAC/C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAAC,WAAW,CAA+B,EAAE,CAAC,CAAC;IACtG,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAS,CAAC,CAAC,CAAC;IACjF,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;QAC9B,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAChC,4DAA4D;YAC5D,MAAM,cAAc,GAAG,UAAU,GAAG,CAAC,IAAI,0BAA0B,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAElG,IAAI,cAAc,EAAE,CAAC;gBACjB,iEAAiE;gBACjE,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBACtD,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAEzE,gEAAgE;gBAChE,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACJ,wCAAwC;gBACxC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC;gBAC9B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,UAAU,EAAE,CAAC;YACjB,CAAC;YAED,mBAAmB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YACpC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;QACvD,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,iBAAiB;KAC3B,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEhD,OAAO;QACH,WAAW,EAAE,iBAAiB;QAC9B,SAAS,EAAE,gBAAgB;QAC3B,cAAc,EAAE,iBAAiB;QACjC,WAAW;QACX,WAAW;QACX,IAAI,EAAE,GAAG,EAAE;YACP,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACjB,UAAU,EAAE,CAAC;gBACb,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClE,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACP,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBAChC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClE,UAAU,EAAE,CAAC;gBACb,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
@@ -173,12 +173,15 @@ export const perspective = (fovy, aspect, near, far) => {
173
173
  if (far <= near)
174
174
  throw new Error('Far plane must be greater than near plane');
175
175
  const f = 1.0 / Math.tan(fovy / 2);
176
- const nf = near / (near - far);
176
+ // WebGPU clip-space convention: z_ndc [0, 1].
177
+ // m[2][2] = far / (near - far) maps z_view = -far → z_ndc = 1
178
+ // m[2][3] = (near*far) / (near-far) and m[3][2] = -1 maps z_view = -near → z_ndc = 0
179
+ const fn = far / (near - far);
177
180
  return [
178
181
  f / aspect, 0, 0, 0,
179
182
  0, f, 0, 0,
180
- 0, 0, nf, -1,
181
- 0, 0, near * nf, 0
183
+ 0, 0, fn, -1,
184
+ 0, 0, near * fn, 0
182
185
  ];
183
186
  };
184
187
  export const orthographic = (left, right, bottom, top, near, far) => {
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/math/mat4x4/functions.ts"],"names":[],"mappings":"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MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAElC,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;IACzB,OAAO;QACH,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/math/mat4x4/functions.ts"],"names":[],"mappings":"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MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAElC,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;IACzB,OAAO;QACH,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM;QAC5C,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,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"}
@@ -1,4 +1,2 @@
1
- import { Schema } from "../../schema/index.js";
2
- import { schema } from "./schema.js";
3
- export type Quat = Schema.ToType<typeof schema>;
1
+ export type Quat = readonly [number, number, number, number];
4
2
  export * as Quat from "./public.js";
@@ -8,4 +8,7 @@ export declare const schema: {
8
8
  readonly minItems: 4;
9
9
  readonly maxItems: 4;
10
10
  readonly default: readonly [0, 0, 0, 1];
11
+ readonly interpolators: {
12
+ readonly linear: (q1: import("./public.js"), q2: import("./public.js"), t: number) => import("./public.js");
13
+ };
11
14
  };
@@ -1,10 +1,14 @@
1
1
  // © 2026 Adobe. MIT License. See /LICENSE for details.
2
2
  import { F32 } from "../f32/index.js";
3
+ import { slerp } from "./functions.js";
3
4
  export const schema = {
4
5
  type: 'array',
5
6
  items: F32.schema,
6
7
  minItems: 4,
7
8
  maxItems: 4,
8
9
  default: [0, 0, 0, 1], // identity quaternion
10
+ interpolators: {
11
+ linear: slerp,
12
+ },
9
13
  };
10
14
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/math/quat/schema.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAGtC,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,GAAG,CAAC,MAAM;IACjB,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB;CACtB,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/math/quat/schema.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,GAAG,CAAC,MAAM;IACjB,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB;IAC7C,aAAa,EAAE;QACX,MAAM,EAAE,KAAK;KAChB;CACsB,CAAC"}
@@ -6,15 +6,17 @@
6
6
  export function withBatch(observable) {
7
7
  return (observer) => {
8
8
  let pendingValue;
9
+ let hasPendingValue = false;
9
10
  let isScheduled = false;
10
11
  let hasInitialValue = false;
11
12
  const scheduleNotification = () => {
12
13
  if (!isScheduled) {
13
14
  isScheduled = true;
14
15
  queueMicrotask(() => {
15
- if (pendingValue !== undefined) {
16
- observer(pendingValue);
17
- pendingValue = undefined;
16
+ if (hasPendingValue) {
17
+ const value = pendingValue;
18
+ hasPendingValue = false;
19
+ observer(value);
18
20
  }
19
21
  isScheduled = false;
20
22
  });
@@ -22,19 +24,18 @@ export function withBatch(observable) {
22
24
  };
23
25
  const unobserve = observable((value) => {
24
26
  if (!hasInitialValue) {
25
- // Emit initial value immediately
26
27
  observer(value);
27
28
  hasInitialValue = true;
28
29
  }
29
30
  else {
30
- // Batch subsequent values
31
31
  pendingValue = value;
32
+ hasPendingValue = true;
32
33
  scheduleNotification();
33
34
  }
34
35
  });
35
36
  return () => {
36
37
  unobserve();
37
- pendingValue = undefined;
38
+ hasPendingValue = false;
38
39
  isScheduled = false;
39
40
  hasInitialValue = false;
40
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"with-batch.js","sourceRoot":"","sources":["../../src/observe/with-batch.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAI,UAAsB;IAC/C,OAAO,CAAC,QAAQ,EAAE,EAAE;QAChB,IAAI,YAA2B,CAAC;QAChC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,MAAM,oBAAoB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,WAAW,GAAG,IAAI,CAAC;gBACnB,cAAc,CAAC,GAAG,EAAE;oBAChB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC7B,QAAQ,CAAC,YAAY,CAAC,CAAC;wBACvB,YAAY,GAAG,SAAS,CAAC;oBAC7B,CAAC;oBACD,WAAW,GAAG,KAAK,CAAC;gBACxB,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,iCAAiC;gBACjC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChB,eAAe,GAAG,IAAI,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,0BAA0B;gBAC1B,YAAY,GAAG,KAAK,CAAC;gBACrB,oBAAoB,EAAE,CAAC;YAC3B,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACR,SAAS,EAAE,CAAC;YACZ,YAAY,GAAG,SAAS,CAAC;YACzB,WAAW,GAAG,KAAK,CAAC;YACpB,eAAe,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"with-batch.js","sourceRoot":"","sources":["../../src/observe/with-batch.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAI,UAAsB;IAC/C,OAAO,CAAC,QAAQ,EAAE,EAAE;QAChB,IAAI,YAAe,CAAC;QACpB,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,MAAM,oBAAoB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,WAAW,GAAG,IAAI,CAAC;gBACnB,cAAc,CAAC,GAAG,EAAE;oBAChB,IAAI,eAAe,EAAE,CAAC;wBAClB,MAAM,KAAK,GAAG,YAAY,CAAC;wBAC3B,eAAe,GAAG,KAAK,CAAC;wBACxB,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACpB,CAAC;oBACD,WAAW,GAAG,KAAK,CAAC;gBACxB,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChB,eAAe,GAAG,IAAI,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,YAAY,GAAG,KAAK,CAAC;gBACrB,eAAe,GAAG,IAAI,CAAC;gBACvB,oBAAoB,EAAE,CAAC;YAC3B,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACR,SAAS,EAAE,CAAC;YACZ,eAAe,GAAG,KAAK,CAAC;YACxB,WAAW,GAAG,KAAK,CAAC;YACpB,eAAe,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
@@ -87,5 +87,16 @@ describe('withBatch', () => {
87
87
  unsubscribe1();
88
88
  unsubscribe2();
89
89
  });
90
+ it('should not drop a batched undefined value', async () => {
91
+ const [source, setSource] = createState(1);
92
+ const batched = withBatch(source);
93
+ const values = [];
94
+ const unsubscribe = batched((value) => values.push(value));
95
+ expect(values).toEqual([1]);
96
+ setSource(undefined);
97
+ await new Promise(resolve => setTimeout(resolve, 0));
98
+ expect(values).toEqual([1, undefined]);
99
+ unsubscribe();
100
+ });
90
101
  });
91
102
  //# sourceMappingURL=with-batch.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"with-batch.test.js","sourceRoot":"","sources":["../../src/observe/with-batch.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"with-batch.test.js","sourceRoot":"","sources":["../../src/observe/with-batch.test.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,12 @@ import { equals } from "../equals.js";
5
5
  */
6
6
  export function withDeduplicateData(observable) {
7
7
  return (observer) => {
8
- let lastValue = undefined;
8
+ let notified = false;
9
+ let lastValue;
9
10
  return observable((value) => {
10
- const notify = lastValue === undefined || !equals(lastValue, value);
11
+ const notify = !notified || !equals(lastValue, value);
11
12
  if (notify) {
13
+ notified = true;
12
14
  lastValue = value;
13
15
  observer(value);
14
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"with-deduplicate-data.js","sourceRoot":"","sources":["../../src/observe/with-deduplicate-data.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAsB;IAEtB,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,IAAI,SAAS,GAAkB,SAAS,CAAC;QACzC,OAAO,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,SAAS,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACpE,IAAI,MAAM,EAAE,CAAC;gBACX,SAAS,GAAG,KAAK,CAAC;gBAClB,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"with-deduplicate-data.js","sourceRoot":"","sources":["../../src/observe/with-deduplicate-data.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAsB;IAEtB,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,SAAY,CAAC;QACjB,OAAO,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,GAAG,IAAI,CAAC;gBAChB,SAAS,GAAG,KAAK,CAAC;gBAClB,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,39 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ import { describe, it, expect } from 'vitest';
3
+ import { withDeduplicateData } from './with-deduplicate-data.js';
4
+ describe('withDeduplicateData', () => {
5
+ it('should emit first value', () => {
6
+ const source = (observer) => {
7
+ observer(1);
8
+ return () => { };
9
+ };
10
+ const values = [];
11
+ withDeduplicateData(source)((v) => values.push(v));
12
+ expect(values).toEqual([1]);
13
+ });
14
+ it('should deduplicate consecutive equal values', () => {
15
+ const source = (observer) => {
16
+ observer(1);
17
+ observer(1);
18
+ observer(2);
19
+ observer(2);
20
+ return () => { };
21
+ };
22
+ const values = [];
23
+ withDeduplicateData(source)((v) => values.push(v));
24
+ expect(values).toEqual([1, 2]);
25
+ });
26
+ // Defensive: T extends Data excludes undefined at compile time, but runtime
27
+ // guards should hold even if undefined arrives via any/generics.
28
+ it('should deduplicate consecutive undefined values (defensive)', () => {
29
+ const source = ((observer) => {
30
+ observer(undefined);
31
+ observer(undefined);
32
+ return () => { };
33
+ });
34
+ const values = [];
35
+ withDeduplicateData(source)((v) => values.push(v));
36
+ expect(values).toEqual([undefined]);
37
+ });
38
+ });
39
+ //# sourceMappingURL=with-deduplicate-data.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-deduplicate-data.test.js","sourceRoot":"","sources":["../../src/observe/with-deduplicate-data.test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAoB,CAAC,QAAQ,EAAE,EAAE;YACzC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QACpB,CAAC,CAAC;QACF,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAoB,CAAC,QAAQ,EAAE,EAAE;YACzC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QACpB,CAAC,CAAC;QACF,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,iEAAiE;IACjE,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACnE,MAAM,MAAM,GAAG,CAAC,CAAC,QAA2B,EAAE,EAAE;YAC3C,QAAiC,CAAC,SAAS,CAAC,CAAC;YAC7C,QAAiC,CAAC,SAAS,CAAC,CAAC;YAC9C,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QACpB,CAAC,CAAyB,CAAC;QAE3B,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Observe } from "./index.js";
2
2
  /**
3
- * Creates a new Observe function that converts the original observe functions notify values into a new value at each notification,
4
- * optionally returning undefined to filter out the value.
3
+ * Creates a new Observe function that converts values, using `undefined` (or `void`) as the skip signal.
4
+ * U must not include `undefined` if the filter can legitimately produce `undefined` as a value,
5
+ * use `withMap` instead and handle absent values downstream.
5
6
  */
6
- export declare function withFilter<T, U>(observable: Observe<T>, filter: (value: T) => U | undefined | void): Observe<U>;
7
+ export declare function withFilter<T, U extends {} | null>(observable: Observe<T>, filter: (value: T) => U | undefined | void): Observe<U>;
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Creates a new Observe function that converts the original observe functions notify values into a new value at each notification,
3
- * optionally returning undefined to filter out the value.
2
+ * Creates a new Observe function that converts values, using `undefined` (or `void`) as the skip signal.
3
+ * U must not include `undefined` if the filter can legitimately produce `undefined` as a value,
4
+ * use `withMap` instead and handle absent values downstream.
4
5
  */
5
6
  export function withFilter(observable, filter) {
6
7
  return (observer) => {
@@ -1 +1 @@
1
- {"version":3,"file":"with-filter.js","sourceRoot":"","sources":["../../src/observe/with-filter.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,UAAsB,EACtB,MAA0C;IAE1C,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,OAAO,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"with-filter.js","sourceRoot":"","sources":["../../src/observe/with-filter.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,UAAsB,EACtB,MAA0C;IAE1C,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,OAAO,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ // © 2026 Adobe. MIT License. See /LICENSE for details.
2
+ import { fromConstant } from "./from-constant.js";
3
+ import { withFilter } from "./with-filter.js";
4
+ // Valid uses: U is non-undefined
5
+ function _testValidUses() {
6
+ withFilter(fromConstant(1), (v) => v > 0 ? v : null);
7
+ withFilter(fromConstant("a"), (v) => v.length > 0 ? v : undefined);
8
+ withFilter(fromConstant(1), (v) => v > 0 ? v : undefined);
9
+ }
10
+ // Invalid: undefined is the skip sentinel; U must not include undefined.
11
+ // Explicit annotation with U = number | undefined must be rejected.
12
+ // @ts-expect-error — U explicitly includes undefined, which is disallowed
13
+ withFilter(fromConstant(1), (v) => v > 0 ? v : undefined);
14
+ //# sourceMappingURL=with-filter.type-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-filter.type-test.js","sourceRoot":"","sources":["../../src/observe/with-filter.type-test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,iCAAiC;AACjC,SAAS,cAAc;IACnB,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrD,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,yEAAyE;AACzE,oEAAoE;AACpE,0EAA0E;AAC1E,UAAU,CAA6B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC"}
@@ -9,5 +9,7 @@ export * from "./true/index.js";
9
9
  export * from "./boolean/index.js";
10
10
  export { F32, I32, U32, F64 } from "../math/index.js";
11
11
  export * from "./time/index.js";
12
+ export { toVertexBufferLayout, toVertexBufferLayoutForType } from "./to-vertex-buffer-layout.js";
13
+ export type { GPUVertexBufferLayout, GPUVertexAttributeDescriptor, GPUVertexFormat } from "./to-vertex-buffer-layout.js";
12
14
  export * from "./fractional-index/fractional-index.js";
13
15
  export * from "./guid/index.js";
@@ -6,6 +6,7 @@ export * from "./boolean/index.js";
6
6
  // these are both math types and basic schema types.
7
7
  export { F32, I32, U32, F64 } from "../math/index.js";
8
8
  export * from "./time/index.js";
9
+ export { toVertexBufferLayout, toVertexBufferLayoutForType } from "./to-vertex-buffer-layout.js";
9
10
  export * from "./fractional-index/fractional-index.js";
10
11
  export * from "./guid/index.js";
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAKvD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAOtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,oDAAoD;AACpD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,wCAAwC,CAAC;AACvD,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAKvD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAOtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,oDAAoD;AACpD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEjG,cAAc,wCAAwC,CAAC;AACvD,cAAc,iBAAiB,CAAC"}