@adobe/data 0.5.12 → 0.5.14
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.
- package/dist/ecs/archetype/archetype.d.ts +2 -1
- package/dist/ecs/archetype/archetype.js +14 -0
- package/dist/ecs/archetype/archetype.js.map +1 -1
- package/dist/ecs/archetype/create-archetype.d.ts +2 -2
- package/dist/ecs/archetype/create-archetype.test.js +6 -6
- package/dist/ecs/archetype/create-archetype.test.js.map +1 -1
- package/dist/ecs/archetype/delete-row.test.js +4 -4
- package/dist/ecs/archetype/delete-row.test.js.map +1 -1
- package/dist/ecs/database/transactional-store/apply-operations.js.map +1 -1
- package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
- package/dist/ecs/database/transactional-store/transactional-store.d.ts +1 -1
- package/dist/ecs/entity.d.ts +2 -2
- package/dist/ecs/entity.js +1 -1
- package/dist/ecs/entity.js.map +1 -1
- package/dist/ecs/index.d.ts +2 -1
- package/dist/ecs/index.js +2 -1
- package/dist/ecs/index.js.map +1 -1
- package/dist/ecs/store/core/create-core.js +2 -2
- package/dist/ecs/store/core/create-core.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/internal/function/debounce.js +0 -2
- package/dist/internal/function/debounce.js.map +1 -1
- package/dist/lit/hooks/use-element.d.ts +3 -0
- package/dist/lit/hooks/use-element.js +63 -5
- package/dist/lit/hooks/use-element.js.map +1 -1
- package/dist/math/f32/f32.d.ts +2 -3
- package/dist/math/f32/f32.js +2 -2
- package/dist/mutable-clone.d.ts +1 -4
- package/dist/mutable-clone.js +21 -0
- package/dist/mutable-clone.js.map +1 -1
- package/dist/mutable.d.ts +9 -0
- package/dist/mutable.js +26 -0
- package/dist/mutable.js.map +1 -0
- package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js +4 -4
- package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js.map +1 -1
- package/dist/old-ecs/core-ecs/core-ecs-types.d.ts +7 -0
- package/dist/old-ecs/core-ecs/core-ecs.js +5 -2
- package/dist/old-ecs/core-ecs/core-ecs.js.map +1 -1
- package/dist/schema/schema.d.ts +3 -0
- package/dist/schema/schema.js +5 -1
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/to-vertex-buffer-layout.d.ts +56 -0
- package/dist/schema/to-vertex-buffer-layout.js +129 -0
- package/dist/schema/to-vertex-buffer-layout.js.map +1 -0
- package/dist/schema/to-vertex-buffer-layout.test.d.ts +1 -0
- package/dist/schema/to-vertex-buffer-layout.test.js +247 -0
- package/dist/schema/to-vertex-buffer-layout.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/typed-buffer/create-struct-buffer.js +3 -3
- package/dist/typed-buffer/create-struct-buffer.js.map +1 -1
- package/dist/typed-buffer/create-struct-buffer.test.d.ts +1 -0
- package/dist/typed-buffer/create-struct-buffer.test.js +227 -0
- package/dist/typed-buffer/create-struct-buffer.test.js.map +1 -0
- package/dist/typed-buffer/create-typed-buffer.js +3 -1
- package/dist/typed-buffer/create-typed-buffer.js.map +1 -1
- package/dist/typed-buffer/create-typed-buffer.test.d.ts +1 -0
- package/dist/typed-buffer/create-typed-buffer.test.js +148 -0
- package/dist/typed-buffer/create-typed-buffer.test.js.map +1 -0
- package/dist/typed-buffer/structs/get-struct-layout.d.ts +0 -1
- package/dist/typed-buffer/structs/get-struct-layout.js +72 -39
- package/dist/typed-buffer/structs/get-struct-layout.js.map +1 -1
- package/dist/typed-buffer/structs/get-struct-layout.test.js +137 -0
- package/dist/typed-buffer/structs/get-struct-layout.test.js.map +1 -1
- package/dist/typed-buffer/structs/struct-layout.d.ts +4 -0
- package/dist/types/types.d.ts +5 -0
- package/dist/types/types.js +3 -0
- package/dist/types/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CoreComponents } from "../core-components.js";
|
|
2
2
|
import { Entity } from "../entity.js";
|
|
3
3
|
import { Table, ReadonlyTable } from "../../table/index.js";
|
|
4
|
+
import { Exact } from "../../types/types.js";
|
|
4
5
|
export type EntityInsertValues<C> = Omit<C, "id">;
|
|
5
6
|
export type ArchetypeId = number;
|
|
6
7
|
interface BaseArchetype {
|
|
@@ -11,7 +12,7 @@ export interface ReadonlyArchetype<C extends CoreComponents> extends BaseArchety
|
|
|
11
12
|
toData: () => unknown;
|
|
12
13
|
}
|
|
13
14
|
export interface Archetype<C extends CoreComponents = CoreComponents> extends BaseArchetype, Table<C> {
|
|
14
|
-
insert: (rowData: EntityInsertValues<C>) => Entity;
|
|
15
|
+
insert: <T extends EntityInsertValues<C>>(rowData: Exact<EntityInsertValues<C>, T>) => Entity;
|
|
15
16
|
toData: () => unknown;
|
|
16
17
|
fromData: (data: unknown) => void;
|
|
17
18
|
}
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
+
// Compile-time tests for Exact in insert method
|
|
2
|
+
{
|
|
3
|
+
// Valid insert should work
|
|
4
|
+
const testValidInsert = (arch) => {
|
|
5
|
+
const validData = { position: [0, 0, 0], color: [1, 1, 1, 1] };
|
|
6
|
+
arch.insert(validData); // Should compile
|
|
7
|
+
};
|
|
8
|
+
// Insert with extra properties should fail
|
|
9
|
+
const testInvalidInsert = (arch) => {
|
|
10
|
+
const invalidData = { position: [0, 0, 0], color: [1, 1, 1, 1], extra: "bad" };
|
|
11
|
+
// @ts-expect-error - Should reject extra properties
|
|
12
|
+
arch.insert(invalidData);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
1
15
|
export {};
|
|
2
16
|
//# sourceMappingURL=archetype.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archetype.js","sourceRoot":"","sources":["../../../src/ecs/archetype/archetype.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"archetype.js","sourceRoot":"","sources":["../../../src/ecs/archetype/archetype.ts"],"names":[],"mappings":"AAsDA,gDAAgD;AAChD,CAAC;IAKG,2BAA2B;IAC3B,MAAM,eAAe,GAAG,CAAC,IAAmB,EAAE,EAAE;QAC5C,MAAM,SAAS,GAAoB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB;IAC7C,CAAC,CAAC;IAEF,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG,CAAC,IAAmB,EAAE,EAAE;QAC9C,MAAM,WAAW,GAAoB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAChG,oDAAoD;QACpD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { FromSchema } from "../../schema/schema.js";
|
|
|
2
2
|
import { Archetype } from "./archetype.js";
|
|
3
3
|
import { CoreComponents } from "../core-components.js";
|
|
4
4
|
import { EntityLocationTable } from "../entity-location-table/entity-location-table.js";
|
|
5
|
-
import {
|
|
5
|
+
import { schema } from "../entity.js";
|
|
6
6
|
export declare const createArchetype: <C extends {
|
|
7
|
-
id: typeof
|
|
7
|
+
id: typeof schema;
|
|
8
8
|
}>(components: C, id: number, entityLocationTable: EntityLocationTable) => Archetype<CoreComponents & { [K in keyof C]: FromSchema<C[K]>; }>;
|
|
@@ -22,13 +22,13 @@ SOFTWARE.*/
|
|
|
22
22
|
import { describe, it, expect } from 'vitest';
|
|
23
23
|
import { createArchetype } from '../archetype/index.js';
|
|
24
24
|
import { createEntityLocationTable } from '../entity-location-table/index.js';
|
|
25
|
-
import {
|
|
25
|
+
import { schema } from '../entity.js';
|
|
26
26
|
import { U32Schema } from '../../schema/u32.js';
|
|
27
27
|
describe('createArchetype', () => {
|
|
28
28
|
it('should create an archetype with basic components', () => {
|
|
29
29
|
const entityLocationTable = createEntityLocationTable();
|
|
30
30
|
const components = {
|
|
31
|
-
id:
|
|
31
|
+
id: schema,
|
|
32
32
|
value: U32Schema,
|
|
33
33
|
};
|
|
34
34
|
const id = 1;
|
|
@@ -43,7 +43,7 @@ describe('createArchetype', () => {
|
|
|
43
43
|
it('should create entities with correct ids and data', () => {
|
|
44
44
|
const entityLocationTable = createEntityLocationTable();
|
|
45
45
|
const components = {
|
|
46
|
-
id:
|
|
46
|
+
id: schema,
|
|
47
47
|
value: U32Schema,
|
|
48
48
|
};
|
|
49
49
|
const id = 1;
|
|
@@ -69,7 +69,7 @@ describe('createArchetype', () => {
|
|
|
69
69
|
it('should handle multiple component types', () => {
|
|
70
70
|
const entityLocationTable = createEntityLocationTable();
|
|
71
71
|
const components = {
|
|
72
|
-
id:
|
|
72
|
+
id: schema,
|
|
73
73
|
health: U32Schema,
|
|
74
74
|
mana: U32Schema,
|
|
75
75
|
level: U32Schema,
|
|
@@ -100,7 +100,7 @@ describe('createArchetype', () => {
|
|
|
100
100
|
it('should serialize and deserialize archetype data correctly', () => {
|
|
101
101
|
const entityLocationTable = createEntityLocationTable();
|
|
102
102
|
const components = {
|
|
103
|
-
id:
|
|
103
|
+
id: schema,
|
|
104
104
|
health: U32Schema,
|
|
105
105
|
mana: U32Schema,
|
|
106
106
|
};
|
|
@@ -132,7 +132,7 @@ describe('createArchetype', () => {
|
|
|
132
132
|
it('should preserve component set during serialization/deserialization', () => {
|
|
133
133
|
const entityLocationTable = createEntityLocationTable();
|
|
134
134
|
const components = {
|
|
135
|
-
id:
|
|
135
|
+
id: schema,
|
|
136
136
|
value: U32Schema,
|
|
137
137
|
};
|
|
138
138
|
const id = 4;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-archetype.test.js","sourceRoot":"","sources":["../../../src/ecs/archetype/create-archetype.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-archetype.test.js","sourceRoot":"","sources":["../../../src/ecs/archetype/create-archetype.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,13 +22,13 @@ SOFTWARE.*/
|
|
|
22
22
|
import { describe, it, expect } from 'vitest';
|
|
23
23
|
import { createEntityLocationTable } from '../entity-location-table/index.js';
|
|
24
24
|
import { createArchetype, deleteRow } from './index.js';
|
|
25
|
-
import {
|
|
25
|
+
import { schema } from '../entity.js';
|
|
26
26
|
import { U32Schema } from '../../schema/u32.js';
|
|
27
27
|
describe('Archetype_deleteRow', () => {
|
|
28
28
|
it('should delete a row from the middle and update moved entity location', () => {
|
|
29
29
|
const entityLocationTable = createEntityLocationTable();
|
|
30
30
|
const archetype = createArchetype({
|
|
31
|
-
id:
|
|
31
|
+
id: schema,
|
|
32
32
|
value: U32Schema
|
|
33
33
|
}, 1, entityLocationTable);
|
|
34
34
|
// Create three entities
|
|
@@ -52,7 +52,7 @@ describe('Archetype_deleteRow', () => {
|
|
|
52
52
|
it('should handle deleting the last row without moving entities', () => {
|
|
53
53
|
const entityLocationTable = createEntityLocationTable();
|
|
54
54
|
const archetype = createArchetype({
|
|
55
|
-
id:
|
|
55
|
+
id: schema,
|
|
56
56
|
value: U32Schema
|
|
57
57
|
}, 1, entityLocationTable);
|
|
58
58
|
// Create two entities
|
|
@@ -69,7 +69,7 @@ describe('Archetype_deleteRow', () => {
|
|
|
69
69
|
it('should handle deleting the only row', () => {
|
|
70
70
|
const entityLocationTable = createEntityLocationTable();
|
|
71
71
|
const archetype = createArchetype({
|
|
72
|
-
id:
|
|
72
|
+
id: schema,
|
|
73
73
|
value: U32Schema
|
|
74
74
|
}, 1, entityLocationTable);
|
|
75
75
|
// Create one entity
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-row.test.js","sourceRoot":"","sources":["../../../src/ecs/archetype/delete-row.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"delete-row.test.js","sourceRoot":"","sources":["../../../src/ecs/archetype/delete-row.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-operations.js","sourceRoot":"","sources":["../../../../src/ecs/database/transactional-store/apply-operations.ts"],"names":[],"mappings":"AAIA,yDAAyD;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,KAA2B,EAC3B,UAA4C,EAC9C,EAAE;IACA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAuB,CAAC;gBACtF,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;gBACxD,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"apply-operations.js","sourceRoot":"","sources":["../../../../src/ecs/database/transactional-store/apply-operations.ts"],"names":[],"mappings":"AAIA,yDAAyD;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,KAA2B,EAC3B,UAA4C,EAC9C,EAAE;IACA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAuB,CAAC;gBACtF,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;gBACxD,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAe,CAAC,CAAC;gBAC5C,MAAM;YACV,CAAC;YACD,KAAK,QAAQ;gBACT,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM;YACV,KAAK,QAAQ;gBACT,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM;QACd,CAAC;IACL,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-transactional-store.js","sourceRoot":"","sources":["../../../../src/ecs/database/transactional-store/create-transactional-store.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-transactional-store.js","sourceRoot":"","sources":["../../../../src/ecs/database/transactional-store/create-transactional-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,6 @@ export interface TransactionResult<C = unknown> {
|
|
|
44
44
|
readonly redo: TransactionWriteOperation<C>[];
|
|
45
45
|
readonly undo: TransactionWriteOperation<C>[];
|
|
46
46
|
readonly changedEntities: Map<Entity, EntityUpdateValues<C> | null>;
|
|
47
|
-
readonly changedComponents: Set<keyof C>;
|
|
47
|
+
readonly changedComponents: Set<keyof C | string>;
|
|
48
48
|
readonly changedArchetypes: Set<ArchetypeId>;
|
|
49
49
|
}
|
package/dist/ecs/entity.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { FromSchema } from "../schema/schema.js";
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const schema: {
|
|
3
3
|
readonly type: "integer";
|
|
4
4
|
readonly minimum: 0;
|
|
5
5
|
readonly maximum: 4294967295;
|
|
6
6
|
readonly default: number;
|
|
7
7
|
};
|
|
8
|
-
export type Entity = FromSchema<typeof
|
|
8
|
+
export type Entity = FromSchema<typeof schema>;
|
package/dist/ecs/entity.js
CHANGED
package/dist/ecs/entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/ecs/entity.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/ecs/entity.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC"}
|
package/dist/ecs/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export * from "./store/index.js";
|
|
2
2
|
export * from "./database/index.js";
|
|
3
3
|
export * from "./archetype/index.js";
|
|
4
|
-
export * from "./entity.js";
|
|
5
4
|
export * from "./core-components.js";
|
|
6
5
|
export * from "./component-schemas.js";
|
|
7
6
|
export * from "./resource-schemas.js";
|
|
8
7
|
export * from "./undo-redo-service/index.js";
|
|
9
8
|
export * from "./persistence-service/index.js";
|
|
10
9
|
export { applyOperations } from "./database/transactional-store/apply-operations.js";
|
|
10
|
+
export type Entity = import("./entity.js").Entity;
|
|
11
|
+
export * as Entity from "./entity.js";
|
package/dist/ecs/index.js
CHANGED
|
@@ -22,11 +22,12 @@ SOFTWARE.*/
|
|
|
22
22
|
export * from "./store/index.js";
|
|
23
23
|
export * from "./database/index.js";
|
|
24
24
|
export * from "./archetype/index.js";
|
|
25
|
-
export * from "./entity.js";
|
|
26
25
|
export * from "./core-components.js";
|
|
27
26
|
export * from "./component-schemas.js";
|
|
28
27
|
export * from "./resource-schemas.js";
|
|
29
28
|
export * from "./undo-redo-service/index.js";
|
|
30
29
|
export * from "./persistence-service/index.js";
|
|
31
30
|
export { applyOperations } from "./database/transactional-store/apply-operations.js";
|
|
31
|
+
// Export the namespace Entity
|
|
32
|
+
export * as Entity from "./entity.js";
|
|
32
33
|
//# sourceMappingURL=index.js.map
|
package/dist/ecs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ecs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ecs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AAIrF,8BAA8B;AAC9B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC"}
|
|
@@ -22,9 +22,9 @@ SOFTWARE.*/
|
|
|
22
22
|
import { createEntityLocationTable } from "../../entity-location-table/index.js";
|
|
23
23
|
import * as ARCHETYPE from "../../archetype/index.js";
|
|
24
24
|
import * as TABLE from "../../../table/index.js";
|
|
25
|
-
import {
|
|
25
|
+
import { schema } from "../../entity.js";
|
|
26
26
|
export function createCore(newComponentSchemas) {
|
|
27
|
-
const componentSchemas = { id:
|
|
27
|
+
const componentSchemas = { id: schema, ...newComponentSchemas };
|
|
28
28
|
const entityLocationTable = createEntityLocationTable();
|
|
29
29
|
const archetypes = [];
|
|
30
30
|
const queryArchetypes = (include, options) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-core.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/create-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAGX,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAGjD,OAAO,EAAU,
|
|
1
|
+
{"version":3,"file":"create-core.js","sourceRoot":"","sources":["../../../../src/ecs/store/core/create-core.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -57,7 +57,6 @@ export const debounce = (func, wait, options = {}) => {
|
|
|
57
57
|
let result;
|
|
58
58
|
const invokeFunc = (time) => {
|
|
59
59
|
const args = lastArgs;
|
|
60
|
-
console.log('invokeFunc called with lastArgs:', args);
|
|
61
60
|
lastArgs = undefined;
|
|
62
61
|
lastInvokeTime = time;
|
|
63
62
|
result = func(...args);
|
|
@@ -132,7 +131,6 @@ export const debounce = (func, wait, options = {}) => {
|
|
|
132
131
|
// Start maxWait timer if configured
|
|
133
132
|
if (maxWait !== undefined) {
|
|
134
133
|
maxTimeoutId = setTimeout(() => {
|
|
135
|
-
console.log('maxWait timer fired, lastArgs:', lastArgs);
|
|
136
134
|
maxTimeoutId = undefined;
|
|
137
135
|
if (timeoutId !== undefined) {
|
|
138
136
|
trailingEdge(Date.now());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../../src/internal/function/debounce.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAkDX;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACpB,IAAW,EACX,IAAY,EACZ,UAA2B,EAAE,EACL,EAAE;IAC1B,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE9D,IAAI,SAAoD,CAAC;IACzD,IAAI,YAAuD,CAAC;IAC5D,IAAI,YAAgC,CAAC;IACrC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,QAAuC,CAAC;IAC5C,IAAI,MAAqC,CAAC;IAE1C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAqB,EAAE;QACnD,MAAM,IAAI,GAAG,QAAS,CAAC;QACvB,
|
|
1
|
+
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../../src/internal/function/debounce.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Hook that returns the currently active component.
|
|
3
|
+
* If a querySelector is provided, it dynamically observes for child elements
|
|
4
|
+
* matching the selector and triggers rerender when found.
|
|
3
5
|
*/
|
|
6
|
+
export declare function useElement<K extends keyof HTMLElementTagNameMap>(querySelector: K): HTMLElementTagNameMap[K] | null;
|
|
4
7
|
export declare function useElement<T = HTMLElement>(): T;
|
|
@@ -20,10 +20,68 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.*/
|
|
22
22
|
import { Component_stack } from "./component/stack.js";
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return
|
|
23
|
+
import { useEffect } from "./use-effect.js";
|
|
24
|
+
import { useState } from "./use-state.js";
|
|
25
|
+
export function useElement(querySelector) {
|
|
26
|
+
const component = Component_stack.active();
|
|
27
|
+
// If no querySelector provided, return the active component
|
|
28
|
+
if (!querySelector) {
|
|
29
|
+
return component;
|
|
30
|
+
}
|
|
31
|
+
// Use state to track the found element
|
|
32
|
+
const [foundElement, setFoundElement] = useState(null);
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
const element = component;
|
|
35
|
+
// Check if element already exists
|
|
36
|
+
const existingElement = element.querySelector(querySelector);
|
|
37
|
+
if (existingElement) {
|
|
38
|
+
setFoundElement(existingElement);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
// Set up MutationObserver to watch for new child elements
|
|
42
|
+
const observer = new MutationObserver((mutations) => {
|
|
43
|
+
for (const mutation of mutations) {
|
|
44
|
+
if (mutation.type === 'childList') {
|
|
45
|
+
// Check if any added nodes match the selector
|
|
46
|
+
for (const node of mutation.addedNodes) {
|
|
47
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
48
|
+
const element = node;
|
|
49
|
+
// Check if the added node itself matches
|
|
50
|
+
if (element.matches(querySelector)) {
|
|
51
|
+
setFoundElement(element);
|
|
52
|
+
observer.disconnect();
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// Check if any descendant matches
|
|
56
|
+
const descendant = element.querySelector(querySelector);
|
|
57
|
+
if (descendant) {
|
|
58
|
+
setFoundElement(descendant);
|
|
59
|
+
observer.disconnect();
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
// Start observing both element and shadowRoot
|
|
68
|
+
for (const observe of [element.shadowRoot, element]) {
|
|
69
|
+
if (observe) {
|
|
70
|
+
observer.observe(observe, {
|
|
71
|
+
childList: true,
|
|
72
|
+
subtree: true
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
observer.observe(element.shadowRoot ?? element, {
|
|
77
|
+
childList: true,
|
|
78
|
+
subtree: true
|
|
79
|
+
});
|
|
80
|
+
// Cleanup function
|
|
81
|
+
return () => {
|
|
82
|
+
observer.disconnect();
|
|
83
|
+
};
|
|
84
|
+
}, [querySelector]);
|
|
85
|
+
return foundElement;
|
|
28
86
|
}
|
|
29
87
|
//# sourceMappingURL=use-element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-element.js","sourceRoot":"","sources":["../../../src/lit/hooks/use-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-element.js","sourceRoot":"","sources":["../../../src/lit/hooks/use-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAS1C,MAAM,UAAU,UAAU,CAAkB,aAAsB;IAC9D,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;IAE3C,4DAA4D;IAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,OAAO,SAAyB,CAAC;IACrC,CAAC;IAED,uCAAuC;IACvC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAW,IAAI,CAAC,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,OAAO,GAAG,SAAmC,CAAC;QAEpD,kCAAkC;QAClC,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAa,CAAC;QACzE,IAAI,eAAe,EAAE,CAAC;YAClB,eAAe,CAAC,eAAe,CAAC,CAAC;YACjC,OAAO;QACX,CAAC;QAED,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;YAChD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC/B,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAChC,8CAA8C;oBAC9C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;wBACrC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;4BACtC,MAAM,OAAO,GAAG,IAAe,CAAC;4BAChC,yCAAyC;4BACzC,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gCACjC,eAAe,CAAC,OAAY,CAAC,CAAC;gCAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC;gCACtB,OAAO;4BACX,CAAC;4BACD,kCAAkC;4BAClC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAa,CAAC;4BACpE,IAAI,UAAU,EAAE,CAAC;gCACb,eAAe,CAAC,UAAU,CAAC,CAAC;gCAC5B,QAAQ,CAAC,UAAU,EAAE,CAAC;gCACtB,OAAO;4BACX,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,KAAK,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;YAClD,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;oBACtB,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,IAAI;iBAChB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,EAAE;YAC5C,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,mBAAmB;QACnB,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,YAAY,CAAC;AACxB,CAAC"}
|
package/dist/math/f32/f32.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { FromSchema } from "../../schema/index.js";
|
|
2
2
|
export declare const schema: {
|
|
3
|
-
readonly type: "
|
|
4
|
-
readonly
|
|
5
|
-
readonly maximum: 2147483647;
|
|
3
|
+
readonly type: "number";
|
|
4
|
+
readonly precision: 1;
|
|
6
5
|
readonly default: number;
|
|
7
6
|
};
|
|
8
7
|
export type Type = FromSchema<typeof schema>;
|
package/dist/math/f32/f32.js
CHANGED
|
@@ -19,6 +19,6 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.*/
|
|
22
|
-
import {
|
|
23
|
-
export const schema =
|
|
22
|
+
import { F32Schema } from "../../schema/index.js";
|
|
23
|
+
export const schema = F32Schema;
|
|
24
24
|
//# sourceMappingURL=f32.js.map
|
package/dist/mutable-clone.d.ts
CHANGED
package/dist/mutable-clone.js
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
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.*/
|
|
1
22
|
export const mutableClone = (obj) => {
|
|
2
23
|
return structuredClone(obj);
|
|
3
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutable-clone.js","sourceRoot":"","sources":["../src/mutable-clone.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mutable-clone.js","sourceRoot":"","sources":["../src/mutable-clone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAIX,MAAM,CAAC,MAAM,YAAY,GAAG,CAAmB,GAAM,EAAc,EAAE;IACjE,OAAO,eAAe,CAAC,GAAG,CAAe,CAAC;AAC9C,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type Mutable<T> = T extends readonly (infer U)[] ? U[] extends T ? MutableArray<T> : MutableTuple<T> : T extends object ? T extends Function | Date | RegExp | Error | Promise<any> ? T : MutableObject<T> : T;
|
|
2
|
+
type MutableObject<T> = {
|
|
3
|
+
-readonly [P in keyof T]: Mutable<T[P]>;
|
|
4
|
+
};
|
|
5
|
+
type MutableArray<T extends readonly any[]> = T[number][] & MutableObject<T>;
|
|
6
|
+
type MutableTuple<T extends readonly any[]> = {
|
|
7
|
+
-readonly [K in keyof T]: Mutable<T[K]>;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
package/dist/mutable.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
// Compile-time type checks to verify Mutable<T> behavior
|
|
23
|
+
{
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=mutable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutable.js","sourceRoot":"","sources":["../src/mutable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAsBX,yDAAyD;AACzD,CAAC;AAoED,CAAC"}
|
|
@@ -29,7 +29,7 @@ const createEcsWithMassAndSize = (data, precision = 2) => {
|
|
|
29
29
|
size: { enum: ["small", "medium", "large"] },
|
|
30
30
|
})
|
|
31
31
|
.withResources({
|
|
32
|
-
gravity: 9.8,
|
|
32
|
+
gravity: { default: 9.8, privacy: "strictlyNecessary" },
|
|
33
33
|
});
|
|
34
34
|
};
|
|
35
35
|
const createEcsWithMassAndSizeAndShape = (data) => {
|
|
@@ -40,7 +40,7 @@ const createEcsWithMassAndSizeAndShape = (data) => {
|
|
|
40
40
|
size: { enum: ["small", "medium", "large"] },
|
|
41
41
|
})
|
|
42
42
|
.withResources({
|
|
43
|
-
gravity: 9.8,
|
|
43
|
+
gravity: { default: 9.8, privacy: "strictlyNecessary" },
|
|
44
44
|
});
|
|
45
45
|
};
|
|
46
46
|
describe("ecs-functions", () => {
|
|
@@ -61,7 +61,7 @@ describe("ecs-functions", () => {
|
|
|
61
61
|
id: U32Schema,
|
|
62
62
|
mass: { type: "number", minimum: +0, precision: 2 },
|
|
63
63
|
size: { enum: ["small", "medium", "large"] },
|
|
64
|
-
gravity: {},
|
|
64
|
+
gravity: { default: 9.8, privacy: "strictlyNecessary" },
|
|
65
65
|
},
|
|
66
66
|
entities: [1, +0, 2, +0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8],
|
|
67
67
|
tables: [
|
|
@@ -111,7 +111,7 @@ describe("ecs-functions", () => {
|
|
|
111
111
|
id: U32Schema,
|
|
112
112
|
mass: { type: "number", minimum: +0, precision: 1 },
|
|
113
113
|
size: { enum: ["small", "medium", "large"] },
|
|
114
|
-
gravity: {},
|
|
114
|
+
gravity: { default: 9.8, privacy: "strictlyNecessary" },
|
|
115
115
|
},
|
|
116
116
|
entities: [1, +0, 2, +0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8],
|
|
117
117
|
tables: [
|