@adobe/data 0.7.4 → 0.8.1
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/blob/blob-handle.d.ts +2 -2
- package/dist/blob/blob-meta.d.ts +2 -2
- package/dist/cache/blob-store.d.ts +2 -2
- package/dist/cache/data-cache.d.ts +1 -1
- package/dist/cache/functions/memoize.d.ts +1 -3
- package/dist/cache/functions/memoize.js +1 -3
- package/dist/cache/functions/memoize.js.map +1 -1
- package/dist/cache/managed-array.d.ts +2 -2
- package/dist/cache/managed-array.js.map +1 -1
- package/dist/cache/memory-allocator.d.ts +1 -1
- package/dist/cache/memory-allocator.js +2 -2
- package/dist/cache/memory-allocator.js.map +1 -1
- package/dist/ecs/archetype/create-archetype.d.ts +2 -2
- package/dist/ecs/archetype/create-archetype.js.map +1 -1
- package/dist/ecs/archetype/create-archetype.test.js +9 -9
- 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/component-schemas.d.ts +1 -1
- package/dist/ecs/database/create-database.test.js +6 -6
- package/dist/ecs/database/create-database.test.js.map +1 -1
- package/dist/ecs/database/database-schema/create-database-schema.d.ts +1 -1
- package/dist/ecs/database/database-schema/database-schema.d.ts +1 -1
- package/dist/ecs/database/index.d.ts +1 -0
- package/dist/ecs/database/observe-dependent-value.js +3 -3
- package/dist/ecs/database/observe-dependent-value.js.map +1 -1
- package/dist/ecs/database/observe-select-entities.js +2 -2
- package/dist/ecs/database/observe-select-entities.js.map +1 -1
- package/dist/ecs/database/observe-select-entities.performance.test.js +6 -6
- package/dist/ecs/database/observe-select-entities.performance.test.js.map +1 -1
- package/dist/ecs/database/observe-select-entities.test.js +6 -6
- package/dist/ecs/database/observe-select-entities.test.js.map +1 -1
- package/dist/ecs/database/observed/create-observed-database.js +2 -2
- package/dist/ecs/database/observed/create-observed-database.js.map +1 -1
- package/dist/ecs/database/transactional-store/create-transactional-store.test.js +6 -6
- package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
- package/dist/ecs/entity-location-table/entity-location.d.ts +2 -2
- package/dist/ecs/entity-location-table/entity-location.js +3 -3
- package/dist/ecs/entity-location-table/entity-location.js.map +1 -1
- package/dist/ecs/entity.d.ts +2 -2
- package/dist/ecs/entity.js +2 -2
- package/dist/ecs/entity.js.map +1 -1
- package/dist/ecs/index.d.ts +3 -0
- package/dist/ecs/index.js.map +1 -1
- package/dist/ecs/resource-schemas.d.ts +1 -1
- package/dist/ecs/store/core/core.d.ts +1 -1
- package/dist/ecs/store/core/create-core.d.ts +2 -2
- package/dist/ecs/store/core/create-core.js +2 -2
- package/dist/ecs/store/core/create-core.js.map +1 -1
- package/dist/ecs/store/core/create-core.test.js +6 -6
- package/dist/ecs/store/core/create-core.test.js.map +1 -1
- package/dist/ecs/store/core/select-entities.test.js +3 -3
- package/dist/ecs/store/core/select-entities.test.js.map +1 -1
- package/dist/ecs/store/create-store.d.ts +1 -1
- package/dist/ecs/store/create-store.js.map +1 -1
- package/dist/ecs/store/create-store.test.js +8 -8
- package/dist/ecs/store/create-store.test.js.map +1 -1
- package/dist/ecs/store/index.d.ts +2 -0
- package/dist/ecs/store/store.d.ts +1 -1
- package/dist/ecs/undo-redo-service/create-undo-redo-service.js +5 -7
- package/dist/ecs/undo-redo-service/create-undo-redo-service.js.map +1 -1
- package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js +4 -4
- package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js.map +1 -1
- package/dist/ecs/undo-redo-service/undo-redo-service.d.ts +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/is-data.d.ts +3 -4
- package/dist/lit/hooks/use-drag-observe.d.ts +2 -1
- package/dist/lit/hooks/use-drag-observe.js +2 -2
- package/dist/lit/hooks/use-drag-observe.js.map +1 -1
- package/dist/lit/hooks/use-drag-transaction.js +3 -3
- package/dist/lit/hooks/use-drag-transaction.js.map +1 -1
- package/dist/lit/hooks/use-draggable.d.ts +1 -1
- package/dist/lit/hooks/use-draggable.js +1 -1
- package/dist/lit/hooks/use-draggable.js.map +1 -1
- package/dist/lit/hooks/use-observable-values.js +2 -2
- package/dist/lit/hooks/use-observable-values.js.map +1 -1
- package/dist/lit/index.d.ts +1 -0
- package/dist/math/aabb/center.d.ts +3 -0
- package/dist/math/aabb/center.js +6 -0
- package/dist/math/aabb/center.js.map +1 -0
- package/dist/math/aabb/face/aabb-face.test.js +55 -0
- package/dist/math/aabb/face/aabb-face.test.js.map +1 -0
- package/dist/math/aabb/face/functions.d.ts +47 -0
- package/dist/math/{face/face.js → aabb/face/functions.js} +66 -28
- package/dist/math/aabb/face/functions.js.map +1 -0
- package/dist/math/aabb/face/index.d.ts +4 -0
- package/dist/{ecs/world/world-schema/world-schema.js → math/aabb/face/index.js} +2 -2
- package/dist/math/aabb/face/index.js.map +1 -0
- package/dist/math/aabb/face/public.d.ts +2 -0
- package/dist/{ecs/entity/u32.js → math/aabb/face/public.js} +3 -3
- package/dist/math/aabb/face/public.js.map +1 -0
- package/dist/math/aabb/face/schema.d.ts +5 -0
- package/dist/math/aabb/face/schema.js +27 -0
- package/dist/math/aabb/face/schema.js.map +1 -0
- package/dist/math/aabb/index.d.ts +4 -0
- package/dist/{ecs/world/world-schema → math/aabb}/index.js +1 -2
- package/dist/math/aabb/index.js.map +1 -0
- package/dist/math/aabb/layout.d.ts +1 -0
- package/dist/math/aabb/layout.js +25 -0
- package/dist/math/aabb/layout.js.map +1 -0
- package/dist/math/aabb/line-intersection.d.ts +10 -0
- package/dist/math/aabb/line-intersection.js +42 -0
- package/dist/math/aabb/line-intersection.js.map +1 -0
- package/dist/math/aabb/line-intersection.test.js +1 -1
- package/dist/math/aabb/line-intersection.test.js.map +1 -1
- package/dist/math/aabb/public.d.ts +6 -0
- package/dist/math/aabb/public.js +28 -0
- package/dist/math/aabb/public.js.map +1 -0
- package/dist/math/aabb/schema.d.ts +33 -0
- package/dist/math/aabb/schema.js +36 -0
- package/dist/math/aabb/schema.js.map +1 -0
- package/dist/math/aabb/unit.d.ts +5 -0
- package/dist/math/aabb/unit.js +8 -0
- package/dist/math/aabb/unit.js.map +1 -0
- package/dist/math/f32/index.d.ts +4 -0
- package/dist/math/f32/index.js +23 -0
- package/dist/math/f32/index.js.map +1 -0
- package/dist/math/f32/public.d.ts +1 -0
- package/dist/math/{picking/pick-result.js → f32/public.js} +2 -2
- package/dist/math/f32/public.js.map +1 -0
- package/dist/math/f32/schema.d.ts +5 -0
- package/dist/math/f32/schema.js +27 -0
- package/dist/math/f32/schema.js.map +1 -0
- package/dist/math/f64/index.d.ts +4 -0
- package/dist/math/f64/index.js +2 -0
- package/dist/math/f64/index.js.map +1 -0
- package/dist/math/f64/public.d.ts +1 -0
- package/dist/math/f64/public.js +23 -0
- package/dist/math/f64/public.js.map +1 -0
- package/dist/math/f64/schema.d.ts +5 -0
- package/dist/math/f64/schema.js +6 -0
- package/dist/math/f64/schema.js.map +1 -0
- package/dist/math/i32/index.d.ts +4 -0
- package/dist/math/i32/index.js +23 -0
- package/dist/math/i32/index.js.map +1 -0
- package/dist/math/i32/public.d.ts +1 -0
- package/dist/math/i32/public.js +23 -0
- package/dist/math/i32/public.js.map +1 -0
- package/dist/math/i32/schema.d.ts +6 -0
- package/dist/math/i32/schema.js +28 -0
- package/dist/math/i32/schema.js.map +1 -0
- package/dist/math/index.d.ts +14 -13
- package/dist/math/index.js +14 -13
- package/dist/math/index.js.map +1 -1
- package/dist/math/line2/functions.d.ts +5 -0
- package/dist/math/line2/functions.js +61 -0
- package/dist/math/line2/functions.js.map +1 -0
- package/dist/math/line2/index.d.ts +4 -0
- package/dist/math/line2/index.js +23 -0
- package/dist/math/line2/index.js.map +1 -0
- package/dist/math/line2/layout.d.ts +1 -0
- package/dist/math/line2/layout.js +25 -0
- package/dist/math/line2/layout.js.map +1 -0
- package/dist/math/line2/public.d.ts +3 -0
- package/dist/math/line2/public.js +25 -0
- package/dist/math/line2/public.js.map +1 -0
- package/dist/math/line2/schema.d.ts +33 -0
- package/dist/math/line2/schema.js +37 -0
- package/dist/math/line2/schema.js.map +1 -0
- package/dist/math/line3/functions.d.ts +17 -0
- package/dist/math/line3/functions.js +70 -0
- package/dist/math/line3/functions.js.map +1 -0
- package/dist/math/line3/index.d.ts +4 -0
- package/dist/math/line3/index.js +23 -0
- package/dist/math/line3/index.js.map +1 -0
- package/dist/math/line3/layout.d.ts +1 -0
- package/dist/math/line3/layout.js +25 -0
- package/dist/math/line3/layout.js.map +1 -0
- package/dist/math/line3/public.d.ts +3 -0
- package/dist/math/line3/public.js +25 -0
- package/dist/math/line3/public.js.map +1 -0
- package/dist/math/line3/schema.d.ts +33 -0
- package/dist/math/line3/schema.js +37 -0
- package/dist/math/line3/schema.js.map +1 -0
- package/dist/math/mat4x4/functions.d.ts +23 -0
- package/dist/math/mat4x4/functions.js +236 -0
- package/dist/math/mat4x4/functions.js.map +1 -0
- package/dist/math/mat4x4/index.d.ts +26 -0
- package/dist/math/{picking → mat4x4}/index.js +23 -5
- package/dist/math/mat4x4/index.js.map +1 -0
- package/dist/math/mat4x4/layout.d.ts +1 -0
- package/dist/math/mat4x4/layout.js +25 -0
- package/dist/math/mat4x4/layout.js.map +1 -0
- package/dist/math/mat4x4/public.d.ts +3 -0
- package/dist/math/mat4x4/public.js +25 -0
- package/dist/math/mat4x4/public.js.map +1 -0
- package/dist/math/mat4x4/schema.d.ts +11 -0
- package/dist/math/mat4x4/schema.js +30 -0
- package/dist/math/mat4x4/schema.js.map +1 -0
- package/dist/math/plane/functions.d.ts +16 -0
- package/dist/math/plane/functions.js +55 -0
- package/dist/math/plane/functions.js.map +1 -0
- package/dist/math/plane/index.d.ts +4 -0
- package/dist/math/plane/index.js +23 -0
- package/dist/math/plane/index.js.map +1 -0
- package/dist/math/plane/layout.d.ts +1 -0
- package/dist/math/plane/layout.js +25 -0
- package/dist/math/plane/layout.js.map +1 -0
- package/dist/math/plane/public.d.ts +3 -0
- package/dist/math/plane/public.js +25 -0
- package/dist/math/plane/public.js.map +1 -0
- package/dist/math/plane/schema.d.ts +24 -0
- package/dist/math/plane/schema.js +34 -0
- package/dist/math/plane/schema.js.map +1 -0
- package/dist/math/quat/constants/functions.d.ts +43 -0
- package/dist/math/quat/constants/functions.js +258 -0
- package/dist/math/quat/constants/functions.js.map +1 -0
- package/dist/math/quat/functions.d.ts +43 -0
- package/dist/math/quat/functions.js +258 -0
- package/dist/math/quat/functions.js.map +1 -0
- package/dist/math/quat/index.d.ts +4 -0
- package/dist/math/quat/index.js +23 -0
- package/dist/math/quat/index.js.map +1 -0
- package/dist/math/quat/layout.d.ts +1 -0
- package/dist/math/quat/layout.js +25 -0
- package/dist/math/quat/layout.js.map +1 -0
- package/dist/math/quat/public.d.ts +3 -0
- package/dist/math/quat/public.js +25 -0
- package/dist/math/quat/public.js.map +1 -0
- package/dist/math/quat/schema.d.ts +11 -0
- package/dist/math/quat/schema.js +30 -0
- package/dist/math/quat/schema.js.map +1 -0
- package/dist/math/u32/index.d.ts +4 -0
- package/dist/math/u32/index.js +23 -0
- package/dist/math/u32/index.js.map +1 -0
- package/dist/math/u32/public.d.ts +1 -0
- package/dist/math/u32/public.js +23 -0
- package/dist/math/u32/public.js.map +1 -0
- package/dist/{ecs/entity/u32.d.ts → math/u32/schema.d.ts} +0 -2
- package/dist/math/u32/schema.js +28 -0
- package/dist/math/u32/schema.js.map +1 -0
- package/dist/math/vec2/functions.d.ts +48 -0
- package/dist/math/vec2/functions.js +104 -0
- package/dist/math/vec2/functions.js.map +1 -0
- package/dist/math/vec2/index.d.ts +4 -0
- package/dist/math/vec2/index.js +23 -0
- package/dist/math/vec2/index.js.map +1 -0
- package/dist/math/vec2/layout.d.ts +1 -0
- package/dist/math/vec2/layout.js +25 -0
- package/dist/math/vec2/layout.js.map +1 -0
- package/dist/math/vec2/public.d.ts +3 -0
- package/dist/math/vec2/public.js +25 -0
- package/dist/math/vec2/public.js.map +1 -0
- package/dist/math/vec2/schema.d.ts +11 -0
- package/dist/math/vec2/schema.js +30 -0
- package/dist/math/vec2/schema.js.map +1 -0
- package/dist/math/vec3/functions.d.ts +59 -0
- package/dist/math/vec3/functions.js +159 -0
- package/dist/math/vec3/functions.js.map +1 -0
- package/dist/math/vec3/index.d.ts +4 -0
- package/dist/math/vec3/index.js +23 -0
- package/dist/math/vec3/index.js.map +1 -0
- package/dist/math/vec3/layout.d.ts +1 -0
- package/dist/math/vec3/layout.js +25 -0
- package/dist/math/vec3/layout.js.map +1 -0
- package/dist/math/vec3/public.d.ts +3 -0
- package/dist/math/vec3/public.js +25 -0
- package/dist/math/vec3/public.js.map +1 -0
- package/dist/math/vec3/schema.d.ts +11 -0
- package/dist/math/vec3/schema.js +30 -0
- package/dist/math/vec3/schema.js.map +1 -0
- package/dist/math/vec4/functions.d.ts +49 -0
- package/dist/math/vec4/functions.js +150 -0
- package/dist/math/vec4/functions.js.map +1 -0
- package/dist/math/vec4/index.d.ts +4 -0
- package/dist/math/vec4/index.js +23 -0
- package/dist/math/vec4/index.js.map +1 -0
- package/dist/math/vec4/layout.d.ts +1 -0
- package/dist/math/vec4/layout.js +25 -0
- package/dist/math/vec4/layout.js.map +1 -0
- package/dist/math/vec4/public.d.ts +3 -0
- package/dist/math/vec4/public.js +25 -0
- package/dist/math/vec4/public.js.map +1 -0
- package/dist/math/vec4/schema.d.ts +11 -0
- package/dist/{ecs/world/index.js → math/vec4/schema.js} +9 -6
- package/dist/math/vec4/schema.js.map +1 -0
- package/dist/mutable.d.ts +3 -4
- package/dist/observe/create-event.d.ts +10 -0
- package/dist/observe/create-event.js +22 -0
- package/dist/observe/create-event.js.map +1 -0
- package/dist/observe/create-persisted-state.d.ts +1 -1
- package/dist/observe/create-persisted-state.js +2 -2
- package/dist/observe/create-persisted-state.js.map +1 -1
- package/dist/observe/create-query-state.d.ts +2 -3
- package/dist/observe/create-query-state.js +2 -2
- package/dist/observe/create-query-state.js.map +1 -1
- package/dist/observe/create-state.d.ts +7 -0
- package/dist/observe/create-state.js +27 -0
- package/dist/observe/create-state.js.map +1 -0
- package/dist/observe/from-array.d.ts +1 -1
- package/dist/observe/from-constant.d.ts +1 -1
- package/dist/observe/from-element-id.d.ts +1 -1
- package/dist/observe/from-element-properties-and-events.d.ts +1 -1
- package/dist/observe/from-element-property.d.ts +1 -1
- package/dist/observe/from-promise-with-error.d.ts +1 -1
- package/dist/observe/from-promise.d.ts +1 -1
- package/dist/observe/from-properties.d.ts +1 -1
- package/dist/observe/index.d.ts +16 -30
- package/dist/observe/index.js +1 -32
- package/dist/observe/index.js.map +1 -1
- package/dist/observe/observe.test.js +4 -4
- package/dist/observe/observe.test.js.map +1 -1
- package/dist/observe/public.d.ts +28 -0
- package/dist/{ecs/store/store-schema/create-store-schema-test.js → observe/public.js} +29 -12
- package/dist/observe/public.js.map +1 -0
- package/dist/observe/to-async-generator.d.ts +1 -1
- package/dist/observe/to-promise.d.ts +2 -2
- package/dist/observe/to-promise.js +1 -1
- package/dist/observe/to-properties.d.ts +1 -1
- package/dist/observe/with-async-map.d.ts +1 -1
- package/dist/observe/with-batch.d.ts +1 -1
- package/dist/observe/with-batch.test.js +5 -5
- package/dist/observe/with-batch.test.js.map +1 -1
- package/dist/observe/with-cache.d.ts +1 -1
- package/dist/observe/with-copy.d.ts +1 -1
- package/dist/observe/with-deduplicate-data.d.ts +1 -1
- package/dist/observe/with-deduplicate.d.ts +1 -1
- package/dist/observe/with-default.d.ts +1 -1
- package/dist/observe/with-filter.d.ts +1 -1
- package/dist/observe/with-lazy.d.ts +1 -1
- package/dist/observe/with-lazy.test.js +3 -3
- package/dist/observe/with-lazy.test.js.map +1 -1
- package/dist/observe/with-map-data.d.ts +1 -1
- package/dist/observe/with-map.d.ts +1 -1
- package/dist/observe/with-optional.d.ts +1 -1
- package/dist/observe/with-unwrap.d.ts +1 -1
- package/dist/old-ecs/action-ecs/action-ecs.js +2 -2
- package/dist/old-ecs/action-ecs/action-ecs.js.map +1 -1
- package/dist/old-ecs/action-ecs/action-ecs.test.js +3 -3
- package/dist/old-ecs/action-ecs/action-ecs.test.js.map +1 -1
- package/dist/old-ecs/action-ecs/action-types.d.ts +4 -4
- package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js +3 -3
- 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 +3 -3
- package/dist/old-ecs/core-ecs/core-ecs.js +2 -2
- package/dist/old-ecs/core-ecs/core-ecs.js.map +1 -1
- package/dist/old-ecs/core-ecs/core-ecs.test.js +2 -2
- package/dist/old-ecs/core-ecs/core-ecs.test.js.map +1 -1
- package/dist/old-ecs/ecs/ecs-types.d.ts +3 -3
- package/dist/old-ecs/ecs/ecs.test.js +3 -3
- package/dist/old-ecs/ecs/ecs.test.js.map +1 -1
- package/dist/old-ecs/entity.d.ts +2 -2
- package/dist/old-ecs/entity.js +2 -2
- package/dist/old-ecs/entity.js.map +1 -1
- package/dist/old-ecs/transaction-ecs/transaction-types.d.ts +4 -4
- package/dist/perftest/ecs-perf.js +11 -11
- package/dist/perftest/ecs-perf.js.map +1 -1
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js +3 -3
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js.map +1 -1
- package/dist/samples/todo/services/dependent-state-service/create-dependent-state-service.d.ts +3 -3
- package/dist/samples/todo/services/dependent-state-service/dependent-state/all-todos.d.ts +1 -1
- package/dist/samples/todo/services/dependent-state-service/dependent-state/complete-todos.d.ts +1 -1
- package/dist/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.d.ts +1 -1
- package/dist/samples/todo/services/state-service/create-todo-database.d.ts +2 -2
- package/dist/samples/todo/services/state-service/create-todo-store.d.ts +2 -2
- package/dist/samples/todo/services/state-service/create-todo-store.js +5 -4
- package/dist/samples/todo/services/state-service/create-todo-store.js.map +1 -1
- package/dist/schema/FromSchemas.d.ts +4 -0
- package/dist/schema/FromSchemas.js +2 -0
- package/dist/schema/FromSchemas.js.map +1 -0
- package/dist/schema/boolean/index.d.ts +4 -0
- package/dist/schema/boolean/index.js +23 -0
- package/dist/schema/boolean/index.js.map +1 -0
- package/dist/schema/boolean/public.d.ts +1 -0
- package/dist/schema/boolean/public.js +23 -0
- package/dist/schema/boolean/public.js.map +1 -0
- package/dist/schema/boolean/schema.d.ts +3 -0
- package/dist/schema/boolean/schema.js +4 -0
- package/dist/schema/boolean/schema.js.map +1 -0
- package/dist/schema/from-schemas.d.ts +5 -0
- package/dist/schema/from-schemas.js +2 -0
- package/dist/schema/from-schemas.js.map +1 -0
- package/dist/schema/index.d.ts +9 -8
- package/dist/schema/index.js +6 -7
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/public.d.ts +4 -0
- package/dist/schema/public.js +26 -0
- package/dist/schema/public.js.map +1 -0
- package/dist/schema/schema copy.d.ts +147 -0
- package/dist/schema/schema copy.js +34 -0
- package/dist/schema/schema copy.js.map +1 -0
- package/dist/schema/schema.d.ts +2 -80
- package/dist/schema/schema.js +0 -10
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/time/index.d.ts +4 -0
- package/dist/schema/time/index.js +23 -0
- package/dist/schema/time/index.js.map +1 -0
- package/dist/schema/time/public.d.ts +1 -0
- package/dist/schema/time/public.js +23 -0
- package/dist/schema/time/public.js.map +1 -0
- package/dist/schema/time/schema.d.ts +5 -0
- package/dist/schema/time/schema.js +24 -0
- package/dist/schema/time/schema.js.map +1 -0
- package/dist/schema/to-type.d.ts +77 -0
- package/dist/schema/to-type.js +33 -0
- package/dist/schema/to-type.js.map +1 -0
- package/dist/schema/to-vertex-buffer-layout.d.ts +2 -2
- package/dist/schema/to-vertex-buffer-layout.js +28 -14
- package/dist/schema/to-vertex-buffer-layout.js.map +1 -1
- package/dist/schema/to-vertex-buffer-layout.test.js +18 -18
- package/dist/schema/to-vertex-buffer-layout.test.js.map +1 -1
- package/dist/schema/true/index.d.ts +4 -0
- package/dist/schema/true/index.js +23 -0
- package/dist/schema/true/index.js.map +1 -0
- package/dist/schema/true/public.d.ts +1 -0
- package/dist/schema/true/public.js +23 -0
- package/dist/schema/true/public.js.map +1 -0
- package/dist/schema/true/schema.d.ts +5 -0
- package/dist/schema/true/schema.js +2 -0
- package/dist/schema/true/schema.js.map +1 -0
- package/dist/schema/type.d.ts +76 -0
- package/dist/schema/type.js +33 -0
- package/dist/schema/type.js.map +1 -0
- package/dist/schema/validation/with-validation.d.ts +2 -2
- package/dist/schema/validation/with-validation.js.map +1 -1
- package/dist/schema/validation/with-validation.test.js.map +1 -1
- package/dist/service/add-observable-actions.d.ts +5 -5
- package/dist/service/add-observable-actions.js +2 -2
- package/dist/service/add-observable-actions.js.map +1 -1
- package/dist/service/index.d.ts +1 -1
- package/dist/service/index.js.map +1 -1
- package/dist/service/progressive-result.d.ts +2 -3
- package/dist/table/add-row.d.ts +2 -2
- package/dist/table/add-row.js +2 -2
- package/dist/table/create-table.d.ts +2 -2
- package/dist/table/create-table.js.map +1 -1
- package/dist/table/delete-row.d.ts +2 -2
- package/dist/table/delete-row.js +2 -2
- package/dist/table/row-index.d.ts +2 -2
- package/dist/table/row-index.js +2 -2
- package/dist/table/row-index.js.map +1 -1
- package/dist/table/table-compact.test.js +9 -9
- package/dist/table/table-compact.test.js.map +1 -1
- package/dist/table/update-row.d.ts +4 -3
- package/dist/table/update-row.js +4 -3
- package/dist/table/update-row.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/typed-buffer/create-array-buffer.d.ts +2 -2
- package/dist/typed-buffer/create-const-buffer.d.ts +1 -1
- package/dist/typed-buffer/create-number-buffer.d.ts +1 -1
- package/dist/typed-buffer/create-number-buffer.js +4 -4
- package/dist/typed-buffer/create-number-buffer.js.map +1 -1
- package/dist/typed-buffer/create-number-buffer.test.js +2 -2
- package/dist/typed-buffer/create-number-buffer.test.js.map +1 -1
- package/dist/typed-buffer/create-struct-buffer.d.ts +3 -3
- package/dist/typed-buffer/create-struct-buffer.js.map +1 -1
- package/dist/typed-buffer/create-struct-buffer.test.js +10 -10
- package/dist/typed-buffer/create-struct-buffer.test.js.map +1 -1
- package/dist/typed-buffer/create-typed-buffer.d.ts +3 -3
- package/dist/typed-buffer/create-typed-buffer.js.map +1 -1
- package/dist/typed-buffer/index.d.ts +1 -0
- package/dist/typed-buffer/structs/assert-struct.d.ts +1 -1
- package/dist/typed-buffer/structs/get-struct-layout.d.ts +1 -1
- package/dist/typed-buffer/structs/get-struct-layout.js +4 -4
- package/dist/typed-buffer/structs/get-struct-layout.js.map +1 -1
- package/dist/typed-buffer/structs/get-struct-layout.test.js +12 -12
- package/dist/typed-buffer/structs/get-struct-layout.test.js.map +1 -1
- package/dist/typed-buffer/structs/struct-layout.d.ts +1 -1
- package/dist/typed-buffer/typed-buffer.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types.d.ts +1 -2
- package/package.json +2 -3
- package/dist/blob/download-handle.d.ts +0 -4
- package/dist/blob/download-handle.js +0 -2
- package/dist/blob/download-handle.js.map +0 -1
- package/dist/blob/upload-handle.d.ts +0 -4
- package/dist/blob/upload-handle.js +0 -2
- package/dist/blob/upload-handle.js.map +0 -1
- package/dist/ecs/database/transactional-store/entity-id-preservation.test.js +0 -106
- package/dist/ecs/database/transactional-store/entity-id-preservation.test.js.map +0 -1
- package/dist/ecs/entity/entity.d.ts +0 -8
- package/dist/ecs/entity/entity.js +0 -3
- package/dist/ecs/entity/entity.js.map +0 -1
- package/dist/ecs/entity/u32.js.map +0 -1
- package/dist/ecs/store/store-schema/create-store-schema-test.d.ts +0 -1
- package/dist/ecs/store/store-schema/create-store-schema-test.js.map +0 -1
- package/dist/ecs/store/store-schema/create-store-schema.d.ts +0 -1
- package/dist/ecs/store/store-schema/create-store-schema.js +0 -45
- package/dist/ecs/store/store-schema/create-store-schema.js.map +0 -1
- package/dist/ecs/store/store-schema/index.d.ts +0 -1
- package/dist/ecs/store/store-schema/index.js +0 -21
- package/dist/ecs/store/store-schema/index.js.map +0 -1
- package/dist/ecs/store/store-schema/store-schema.d.ts +0 -1
- package/dist/ecs/store/store-schema/store-schema.js +0 -57
- package/dist/ecs/store/store-schema/store-schema.js.map +0 -1
- package/dist/ecs/world/create-world.d.ts +0 -7
- package/dist/ecs/world/create-world.js +0 -113
- package/dist/ecs/world/create-world.js.map +0 -1
- package/dist/ecs/world/create-world.test.d.ts +0 -1
- package/dist/ecs/world/create-world.test.js +0 -499
- package/dist/ecs/world/create-world.test.js.map +0 -1
- package/dist/ecs/world/index.d.ts +0 -5
- package/dist/ecs/world/index.js.map +0 -1
- package/dist/ecs/world/system-phase.d.ts +0 -5
- package/dist/ecs/world/system-phase.js +0 -14
- package/dist/ecs/world/system-phase.js.map +0 -1
- package/dist/ecs/world/system.d.ts +0 -25
- package/dist/ecs/world/system.js +0 -2
- package/dist/ecs/world/system.js.map +0 -1
- package/dist/ecs/world/world-schema/create-world-schema-test.d.ts +0 -1
- package/dist/ecs/world/world-schema/create-world-schema-test.js +0 -55
- package/dist/ecs/world/world-schema/create-world-schema-test.js.map +0 -1
- package/dist/ecs/world/world-schema/create-world-schema.d.ts +0 -19
- package/dist/ecs/world/world-schema/create-world-schema.js +0 -33
- package/dist/ecs/world/world-schema/create-world-schema.js.map +0 -1
- package/dist/ecs/world/world-schema/index.d.ts +0 -2
- package/dist/ecs/world/world-schema/index.js.map +0 -1
- package/dist/ecs/world/world-schema/world-schema.d.ts +0 -18
- package/dist/ecs/world/world-schema/world-schema.js.map +0 -1
- package/dist/ecs/world/world.d.ts +0 -11
- package/dist/ecs/world/world.js +0 -2
- package/dist/ecs/world/world.js.map +0 -1
- package/dist/graphics/camera/camera.d.ts +0 -62
- package/dist/graphics/camera/camera.js +0 -17
- package/dist/graphics/camera/camera.js.map +0 -1
- package/dist/graphics/camera/index.d.ts +0 -4
- package/dist/graphics/camera/index.js +0 -5
- package/dist/graphics/camera/index.js.map +0 -1
- package/dist/graphics/camera/screen-to-world-ray.d.ts +0 -12
- package/dist/graphics/camera/screen-to-world-ray.js +0 -49
- package/dist/graphics/camera/screen-to-world-ray.js.map +0 -1
- package/dist/graphics/camera/screen-to-world-ray.test.d.ts +0 -1
- package/dist/graphics/camera/screen-to-world-ray.test.js +0 -171
- package/dist/graphics/camera/screen-to-world-ray.test.js.map +0 -1
- package/dist/graphics/camera/to-view-projection.d.ts +0 -3
- package/dist/graphics/camera/to-view-projection.js +0 -8
- package/dist/graphics/camera/to-view-projection.js.map +0 -1
- package/dist/graphics/camera/world-to-screen.d.ts +0 -12
- package/dist/graphics/camera/world-to-screen.js +0 -38
- package/dist/graphics/camera/world-to-screen.js.map +0 -1
- package/dist/graphics/camera/world-to-screen.test.d.ts +0 -1
- package/dist/graphics/camera/world-to-screen.test.js +0 -124
- package/dist/graphics/camera/world-to-screen.test.js.map +0 -1
- package/dist/graphics/create-struct-gpu-buffer.d.ts +0 -7
- package/dist/graphics/create-struct-gpu-buffer.js +0 -17
- package/dist/graphics/create-struct-gpu-buffer.js.map +0 -1
- package/dist/graphics/extract-wgsl-bindings.d.ts +0 -5
- package/dist/graphics/extract-wgsl-bindings.js +0 -10
- package/dist/graphics/extract-wgsl-bindings.js.map +0 -1
- package/dist/graphics/frame.d.ts +0 -1
- package/dist/graphics/frame.js +0 -15
- package/dist/graphics/frame.js.map +0 -1
- package/dist/graphics/get-web-gpu-device-and-context.d.ts +0 -1
- package/dist/graphics/get-web-gpu-device-and-context.js +0 -24
- package/dist/graphics/get-web-gpu-device-and-context.js.map +0 -1
- package/dist/graphics/graphics-context.d.ts +0 -1
- package/dist/graphics/graphics-context.js +0 -7
- package/dist/graphics/graphics-context.js.map +0 -1
- package/dist/graphics/index.d.ts +0 -5
- package/dist/graphics/index.js +0 -5
- package/dist/graphics/index.js.map +0 -1
- package/dist/graphics/to-gpu-buffer.d.ts +0 -2
- package/dist/graphics/to-gpu-buffer.js +0 -14
- package/dist/graphics/to-gpu-buffer.js.map +0 -1
- package/dist/internal/array-buffer-like/grow.d.ts +0 -1
- package/dist/internal/array-buffer-like/grow.js +0 -9
- package/dist/internal/array-buffer-like/grow.js.map +0 -1
- package/dist/math/aabb-face/face.d.ts +0 -51
- package/dist/math/aabb-face/face.js +0 -110
- package/dist/math/aabb-face/face.js.map +0 -1
- package/dist/math/aabb-face/face.test.d.ts +0 -1
- package/dist/math/aabb-face/face.test.js +0 -94
- package/dist/math/aabb-face/face.test.js.map +0 -1
- package/dist/math/box/box.d.ts +0 -50
- package/dist/math/box/box.js +0 -23
- package/dist/math/box/box.js.map +0 -1
- package/dist/math/face/face.d.ts +0 -51
- package/dist/math/face/face.js.map +0 -1
- package/dist/math/face/face.test.d.ts +0 -1
- package/dist/math/face/face.test.js +0 -94
- package/dist/math/face/face.test.js.map +0 -1
- package/dist/math/picking/face.d.ts +0 -1
- package/dist/math/picking/face.js +0 -2
- package/dist/math/picking/face.js.map +0 -1
- package/dist/math/picking/get-closest-entity-to-line.d.ts +0 -4
- package/dist/math/picking/get-closest-entity-to-line.js +0 -30
- package/dist/math/picking/get-closest-entity-to-line.js.map +0 -1
- package/dist/math/picking/get-closest-entity-to-point.d.ts +0 -4
- package/dist/math/picking/get-closest-entity-to-point.js +0 -27
- package/dist/math/picking/get-closest-entity-to-point.js.map +0 -1
- package/dist/math/picking/get-intersecting-entities.d.ts +0 -12
- package/dist/math/picking/get-intersecting-entities.js +0 -15
- package/dist/math/picking/get-intersecting-entities.js.map +0 -1
- package/dist/math/picking/getClosestEntityToLine.d.ts +0 -4
- package/dist/math/picking/getClosestEntityToLine.js +0 -29
- package/dist/math/picking/getClosestEntityToLine.js.map +0 -1
- package/dist/math/picking/getClosestEntityToPoint.d.ts +0 -4
- package/dist/math/picking/getClosestEntityToPoint.js +0 -27
- package/dist/math/picking/getClosestEntityToPoint.js.map +0 -1
- package/dist/math/picking/getIntersectingEntities.d.ts +0 -12
- package/dist/math/picking/getIntersectingEntities.js +0 -15
- package/dist/math/picking/getIntersectingEntities.js.map +0 -1
- package/dist/math/picking/index.d.ts +0 -5
- package/dist/math/picking/index.js.map +0 -1
- package/dist/math/picking/pick-from-tables.d.ts +0 -19
- package/dist/math/picking/pick-from-tables.js +0 -63
- package/dist/math/picking/pick-from-tables.js.map +0 -1
- package/dist/math/picking/pick-result.d.ts +0 -12
- package/dist/math/picking/pick-result.js.map +0 -1
- package/dist/math/transform/debug-inverse.d.ts +0 -1
- package/dist/math/transform/debug-inverse.js +0 -28
- package/dist/math/transform/debug-inverse.js.map +0 -1
- package/dist/math/transform/debug-quat.d.ts +0 -1
- package/dist/math/transform/debug-quat.js +0 -23
- package/dist/math/transform/debug-quat.js.map +0 -1
- package/dist/math/transform/debug-test.d.ts +0 -1
- package/dist/math/transform/debug-test.js +0 -34
- package/dist/math/transform/debug-test.js.map +0 -1
- package/dist/math/transform/transform.d.ts +0 -58
- package/dist/math/transform/transform.js +0 -101
- package/dist/math/transform/transform.js.map +0 -1
- package/dist/math/transform/transform.test.d.ts +0 -1
- package/dist/math/transform/transform.test.js +0 -309
- package/dist/math/transform/transform.test.js.map +0 -1
- package/dist/old-ecs/privacy/helper-functions.d.ts +0 -43
- package/dist/old-ecs/privacy/helper-functions.js +0 -76
- package/dist/old-ecs/privacy/helper-functions.js.map +0 -1
- package/dist/old-ecs/privacy/helper-functions.test.d.ts +0 -1
- package/dist/old-ecs/privacy/helper-functions.test.js +0 -173
- package/dist/old-ecs/privacy/helper-functions.test.js.map +0 -1
- /package/dist/{ecs/database/transactional-store/entity-id-preservation.test.d.ts → math/aabb/face/aabb-face.test.d.ts} +0 -0
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { createStore } from "../../store/create-store.js";
|
|
3
|
-
import { createDatabase } from "../create-database.js";
|
|
4
|
-
import { F32Schema } from "../../../schema/f32.js";
|
|
5
|
-
import { createUndoRedoService } from "../../undo-redo-service/create-undo-redo-service.js";
|
|
6
|
-
import { applyOperations } from "./apply-operations.js";
|
|
7
|
-
const positionSchema = {
|
|
8
|
-
type: "object",
|
|
9
|
-
properties: {
|
|
10
|
-
x: F32Schema,
|
|
11
|
-
y: F32Schema,
|
|
12
|
-
},
|
|
13
|
-
required: ["x", "y"],
|
|
14
|
-
additionalProperties: false,
|
|
15
|
-
};
|
|
16
|
-
describe("entity ID preservation in undo/redo", () => {
|
|
17
|
-
it("should restore deleted entities with their original entity ID", () => {
|
|
18
|
-
const store = createStore({ position: positionSchema }, {}, { PositionEntity: ["position"] });
|
|
19
|
-
const database = createDatabase(store, {
|
|
20
|
-
createEntity(t, args) {
|
|
21
|
-
t.undoable = { coalesce: false };
|
|
22
|
-
return t.archetypes.PositionEntity.insert(args);
|
|
23
|
-
},
|
|
24
|
-
deleteEntity(t, args) {
|
|
25
|
-
t.undoable = { coalesce: false };
|
|
26
|
-
t.delete(args.entity);
|
|
27
|
-
},
|
|
28
|
-
applyOperations(t, operations) {
|
|
29
|
-
applyOperations(t, operations);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
const undoRedo = createUndoRedoService(database);
|
|
33
|
-
// Create an entity
|
|
34
|
-
const entityId = database.transactions.createEntity({ position: { x: 1, y: 2 } });
|
|
35
|
-
expect(entityId).toBeDefined();
|
|
36
|
-
// Verify it exists
|
|
37
|
-
let entity = database.read(entityId);
|
|
38
|
-
expect(entity).toBeDefined();
|
|
39
|
-
expect(entity?.position.x).toBe(1);
|
|
40
|
-
// Delete the entity
|
|
41
|
-
database.transactions.deleteEntity({ entity: entityId });
|
|
42
|
-
// Verify it's deleted
|
|
43
|
-
entity = database.read(entityId);
|
|
44
|
-
expect(entity).toBeNull();
|
|
45
|
-
// Undo the delete
|
|
46
|
-
undoRedo.undo();
|
|
47
|
-
// Verify it's restored with the SAME entity ID
|
|
48
|
-
entity = database.read(entityId);
|
|
49
|
-
expect(entity).toBeDefined();
|
|
50
|
-
expect(entity?.id).toBe(entityId);
|
|
51
|
-
expect(entity?.position.x).toBe(1);
|
|
52
|
-
expect(entity?.position.y).toBe(2);
|
|
53
|
-
});
|
|
54
|
-
it("should handle complex undo/redo scenarios with entity ID preservation", () => {
|
|
55
|
-
const store = createStore({ position: positionSchema }, {}, { PositionEntity: ["position"] });
|
|
56
|
-
const database = createDatabase(store, {
|
|
57
|
-
createEntity(t, args) {
|
|
58
|
-
t.undoable = { coalesce: false };
|
|
59
|
-
return t.archetypes.PositionEntity.insert(args);
|
|
60
|
-
},
|
|
61
|
-
deleteEntity(t, args) {
|
|
62
|
-
t.undoable = { coalesce: false };
|
|
63
|
-
t.delete(args.entity);
|
|
64
|
-
},
|
|
65
|
-
replaceEntity(t, args) {
|
|
66
|
-
t.undoable = { coalesce: false };
|
|
67
|
-
t.delete(args.oldEntity);
|
|
68
|
-
return t.archetypes.PositionEntity.insert(args.newPosition);
|
|
69
|
-
},
|
|
70
|
-
applyOperations(t, operations) {
|
|
71
|
-
applyOperations(t, operations);
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
const undoRedo = createUndoRedoService(database);
|
|
75
|
-
// Create entity A
|
|
76
|
-
const entityA = database.transactions.createEntity({ position: { x: 1, y: 1 } });
|
|
77
|
-
// Replace A with B (delete A, create B) - simulates extrude
|
|
78
|
-
const entityB = database.transactions.replaceEntity({
|
|
79
|
-
oldEntity: entityA,
|
|
80
|
-
newPosition: { x: 2, y: 2 }
|
|
81
|
-
});
|
|
82
|
-
// Delete B - simulates clear selection
|
|
83
|
-
database.transactions.deleteEntity({ entity: entityB });
|
|
84
|
-
// Verify both are deleted
|
|
85
|
-
expect(database.read(entityA)).toBeNull();
|
|
86
|
-
expect(database.read(entityB)).toBeNull();
|
|
87
|
-
// Undo the delete of B
|
|
88
|
-
undoRedo.undo();
|
|
89
|
-
console.log('After undoing delete of B:');
|
|
90
|
-
console.log('entityA:', entityA, 'value:', database.read(entityA));
|
|
91
|
-
console.log('entityB:', entityB, 'value:', database.read(entityB));
|
|
92
|
-
expect(database.read(entityB)).toBeDefined();
|
|
93
|
-
expect(database.read(entityB)?.id).toBe(entityB);
|
|
94
|
-
// Note: entityA might be restored if B reused A's ID
|
|
95
|
-
if (entityA !== entityB) {
|
|
96
|
-
expect(database.read(entityA)).toBeNull();
|
|
97
|
-
}
|
|
98
|
-
// Undo the replace (should restore A, remove B)
|
|
99
|
-
undoRedo.undo();
|
|
100
|
-
expect(database.read(entityA)).toBeDefined();
|
|
101
|
-
expect(database.read(entityA)?.id).toBe(entityA);
|
|
102
|
-
expect(database.read(entityA)?.position.x).toBe(1);
|
|
103
|
-
expect(database.read(entityB)).toBeNull();
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
//# sourceMappingURL=entity-id-preservation.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entity-id-preservation.test.js","sourceRoot":"","sources":["../../../../src/ecs/database/transactional-store/entity-id-preservation.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/ecs/entity/entity.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"u32.js","sourceRoot":"","sources":["../../../src/ecs/entity/u32.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAAE,SAAS,EAAc,MAAM,uBAAuB,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-store-schema-test.js","sourceRoot":"","sources":["../../../../src/ecs/store/store-schema/create-store-schema-test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAKX,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CACnC;IACI,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CAChC,EACD;IACI,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;IAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;CAC9C,EACD;IACI,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,eAAe,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;CAC5C,CACJ,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
// /*MIT License
|
|
2
|
-
export {};
|
|
3
|
-
// © Copyright 2025 Adobe. All rights reserved.
|
|
4
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
6
|
-
// in the Software without restriction, including without limitation the rights
|
|
7
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
9
|
-
// furnished to do so, subject to the following conditions:
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in all
|
|
11
|
-
// copies or substantial portions of the Software.
|
|
12
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
13
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
14
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
15
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
16
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
17
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
|
-
// SOFTWARE.*/
|
|
19
|
-
// import { StringKeyof } from "../../../types/types.js";
|
|
20
|
-
// import { ComponentSchemas } from "../../component-schemas.js";
|
|
21
|
-
// import { ResourceSchemas } from "../../resource-schemas.js";
|
|
22
|
-
// import { ArchetypeComponents } from "../archetype-components.js";
|
|
23
|
-
// import { createStore } from "../create-store.js";
|
|
24
|
-
// import { StoreSchema } from "./store-schema.js";
|
|
25
|
-
// export function createStoreSchema<
|
|
26
|
-
// const CS extends ComponentSchemas,
|
|
27
|
-
// const RS extends ResourceSchemas,
|
|
28
|
-
// const A extends ArchetypeComponents<StringKeyof<CS>>,
|
|
29
|
-
// >(
|
|
30
|
-
// components: CS,
|
|
31
|
-
// resources: RS,
|
|
32
|
-
// archetypes: A,
|
|
33
|
-
// ) {
|
|
34
|
-
// return { components, resources, archetypes } as const satisfies StoreSchema<CS, RS, A>;
|
|
35
|
-
// };
|
|
36
|
-
// export function createStoreFromSchema<
|
|
37
|
-
// const CS extends ComponentSchemas,
|
|
38
|
-
// const RS extends ResourceSchemas,
|
|
39
|
-
// const A extends ArchetypeComponents<StringKeyof<CS>>,
|
|
40
|
-
// >(
|
|
41
|
-
// schema: StoreSchema<CS, RS, A>,
|
|
42
|
-
// ) {
|
|
43
|
-
// return createStore(schema.components, schema.resources, schema.archetypes);
|
|
44
|
-
// };
|
|
45
|
-
//# sourceMappingURL=create-store-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-store-schema.js","sourceRoot":"","sources":["../../../../src/ecs/store/store-schema/create-store-schema.ts"],"names":[],"mappings":"AAAA,gBAAgB;;AAEhB,+CAA+C;AAE/C,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,2DAA2D;AAE3D,iFAAiF;AACjF,kDAAkD;AAElD,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,gFAAgF;AAChF,gFAAgF;AAChF,cAAc;AAEd,yDAAyD;AACzD,iEAAiE;AACjE,+DAA+D;AAC/D,oEAAoE;AACpE,oDAAoD;AACpD,mDAAmD;AAEnD,qCAAqC;AACrC,yCAAyC;AACzC,wCAAwC;AACxC,4DAA4D;AAC5D,KAAK;AACL,sBAAsB;AACtB,qBAAqB;AACrB,qBAAqB;AACrB,MAAM;AACN,8FAA8F;AAC9F,KAAK;AAEL,yCAAyC;AACzC,yCAAyC;AACzC,wCAAwC;AACxC,4DAA4D;AAC5D,KAAK;AACL,sCAAsC;AACtC,MAAM;AACN,kFAAkF;AAClF,KAAK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
// /*MIT License
|
|
2
|
-
export {};
|
|
3
|
-
// © Copyright 2025 Adobe. All rights reserved.
|
|
4
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
6
|
-
// in the Software without restriction, including without limitation the rights
|
|
7
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
9
|
-
// furnished to do so, subject to the following conditions:
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in all
|
|
11
|
-
// copies or substantial portions of the Software.
|
|
12
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
13
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
14
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
15
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
16
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
17
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
|
-
// SOFTWARE.*/
|
|
19
|
-
// export * from "./create-store-schema.js";
|
|
20
|
-
// export * from "./store-schema.js";
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ecs/store/store-schema/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;;AAEhB,+CAA+C;AAE/C,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,2DAA2D;AAE3D,iFAAiF;AACjF,kDAAkD;AAElD,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,gFAAgF;AAChF,gFAAgF;AAChF,cAAc;AAEd,4CAA4C;AAC5C,qCAAqC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
// /*MIT License
|
|
2
|
-
export {};
|
|
3
|
-
// © Copyright 2025 Adobe. All rights reserved.
|
|
4
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
6
|
-
// in the Software without restriction, including without limitation the rights
|
|
7
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
9
|
-
// furnished to do so, subject to the following conditions:
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in all
|
|
11
|
-
// copies or substantial portions of the Software.
|
|
12
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
13
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
14
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
15
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
16
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
17
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
|
-
// SOFTWARE.*/
|
|
19
|
-
// import { FromSchemas } from "../../../schema/schema.js";
|
|
20
|
-
// import { ComponentSchemas } from "../../component-schemas.js";
|
|
21
|
-
// import { ResourceSchemas } from "../../resource-schemas.js";
|
|
22
|
-
// import { Store } from "../store.js";
|
|
23
|
-
// import { ArchetypeComponents } from "../archetype-components.js";
|
|
24
|
-
// import { StringKeyof } from "../../../types/types.js";
|
|
25
|
-
// import { Assert } from "../../../types/assert.js";
|
|
26
|
-
// import { Equal } from "../../../types/equal.js";
|
|
27
|
-
// import { Archetype } from "../../archetype/archetype.js";
|
|
28
|
-
// import { CoreComponents } from "../../core-components.js";
|
|
29
|
-
// export type StoreSchema<
|
|
30
|
-
// CS extends ComponentSchemas,
|
|
31
|
-
// RS extends ResourceSchemas,
|
|
32
|
-
// A extends ArchetypeComponents<StringKeyof<CS>>,
|
|
33
|
-
// > = {
|
|
34
|
-
// readonly components: CS;
|
|
35
|
-
// readonly resources: RS;
|
|
36
|
-
// readonly archetypes: A;
|
|
37
|
-
// };
|
|
38
|
-
// export type StoreFromSchema<T> = T extends StoreSchema<infer CS, infer RS, infer A> ? Store<FromSchemas<CS>, FromSchemas<RS>, A> : never;
|
|
39
|
-
// type CheckStoreFromSchema = StoreFromSchema<StoreSchema<{
|
|
40
|
-
// velocity: { type: "number" },
|
|
41
|
-
// particle: { type: "boolean" },
|
|
42
|
-
// }, {
|
|
43
|
-
// mousePosition: { type: "number", default: 0 },
|
|
44
|
-
// fooPosition: { type: "number", default: 0 },
|
|
45
|
-
// }, {
|
|
46
|
-
// Particle: ["particle"],
|
|
47
|
-
// DynamicParticle: ["particle", "velocity"],
|
|
48
|
-
// }>>;
|
|
49
|
-
// declare const testStore: CheckStoreFromSchema;
|
|
50
|
-
// type CheckDynamicParticle = Assert<Equal<typeof testStore.archetypes.DynamicParticle, Archetype<CoreComponents & {
|
|
51
|
-
// particle: boolean;
|
|
52
|
-
// velocity: number;
|
|
53
|
-
// }>>>;
|
|
54
|
-
// type CheckParticle = Assert<Equal<typeof testStore.archetypes.Particle, Archetype<CoreComponents & {
|
|
55
|
-
// particle: boolean;
|
|
56
|
-
// }>>>;
|
|
57
|
-
//# sourceMappingURL=store-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store-schema.js","sourceRoot":"","sources":["../../../../src/ecs/store/store-schema/store-schema.ts"],"names":[],"mappings":"AAAA,gBAAgB;;AAEhB,+CAA+C;AAE/C,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,2DAA2D;AAE3D,iFAAiF;AACjF,kDAAkD;AAElD,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,gFAAgF;AAChF,gFAAgF;AAChF,cAAc;AAEd,2DAA2D;AAC3D,iEAAiE;AACjE,+DAA+D;AAC/D,uCAAuC;AACvC,oEAAoE;AACpE,yDAAyD;AACzD,qDAAqD;AACrD,mDAAmD;AACnD,4DAA4D;AAC5D,6DAA6D;AAE7D,2BAA2B;AAC3B,mCAAmC;AACnC,kCAAkC;AAClC,sDAAsD;AACtD,QAAQ;AACR,+BAA+B;AAC/B,8BAA8B;AAC9B,8BAA8B;AAC9B,KAAK;AAEL,4IAA4I;AAE5I,4DAA4D;AAC5D,oCAAoC;AACpC,qCAAqC;AACrC,OAAO;AACP,qDAAqD;AACrD,mDAAmD;AACnD,OAAO;AACP,8BAA8B;AAC9B,iDAAiD;AACjD,OAAO;AACP,iDAAiD;AACjD,qHAAqH;AACrH,yBAAyB;AACzB,wBAAwB;AACxB,QAAQ;AACR,uGAAuG;AACvG,yBAAyB;AACzB,QAAQ"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { StringKeyof } from "../../types/types.js";
|
|
2
|
-
import { ArchetypeComponents, Database, Store, TransactionFunctions } from "../index.js";
|
|
3
|
-
import { Components } from "../store/components.js";
|
|
4
|
-
import { ResourceComponents } from "../store/resource-components.js";
|
|
5
|
-
import { System } from "./system.js";
|
|
6
|
-
import { World } from "./world.js";
|
|
7
|
-
export declare function createWorld<C extends Components, R extends ResourceComponents, A extends ArchetypeComponents<StringKeyof<C>>, T extends TransactionFunctions, SD extends Record<string, System<C, R, A, T, keyof SD & string>>>(store: Store<C, R, A>, database: Database<C, R, A, T>, systems: SD): World<C, R, A, T, keyof SD & string>;
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { topologicalSort } from "../../internal/array/index.js";
|
|
2
|
-
import { SystemPhaseSchema } from "./system-phase.js";
|
|
3
|
-
export function createWorld(store, database, systems) {
|
|
4
|
-
// Cache for topological sort results to avoid re-computing for same system sets
|
|
5
|
-
const topologicalSortCache = new Map();
|
|
6
|
-
const runSystems = (systemNames) => {
|
|
7
|
-
try {
|
|
8
|
-
// Check cache first (by array identity)
|
|
9
|
-
let sortedSystems = topologicalSortCache.get(systemNames);
|
|
10
|
-
if (!sortedSystems) {
|
|
11
|
-
// Build dependency graph for system scheduling
|
|
12
|
-
const edges = buildSystemEdges(systemNames, systems);
|
|
13
|
-
sortedSystems = topologicalSort(systemNames, edges);
|
|
14
|
-
// Cache the result
|
|
15
|
-
topologicalSortCache.set(systemNames, sortedSystems);
|
|
16
|
-
}
|
|
17
|
-
// Track if any system is async
|
|
18
|
-
const asyncPromises = [];
|
|
19
|
-
// Execute systems in dependency order
|
|
20
|
-
for (const systemName of sortedSystems) {
|
|
21
|
-
const system = systems[systemName];
|
|
22
|
-
try {
|
|
23
|
-
let result = undefined;
|
|
24
|
-
if (system.type === "store") {
|
|
25
|
-
result = system.run(store);
|
|
26
|
-
}
|
|
27
|
-
else if (system.type === "database") {
|
|
28
|
-
result = system.run(database);
|
|
29
|
-
}
|
|
30
|
-
// Check if the result is a Promise
|
|
31
|
-
if (result && typeof result === 'object' && 'then' in result) {
|
|
32
|
-
// If we find any async system, we need to handle all remaining systems async
|
|
33
|
-
asyncPromises.push(result);
|
|
34
|
-
// Switch to async mode for remaining systems
|
|
35
|
-
return executeRemainingAsync(sortedSystems, systemName, asyncPromises);
|
|
36
|
-
}
|
|
37
|
-
// If result is not a Promise, continue synchronously
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
console.error(`System ${String(systemName)} failed:`, error);
|
|
41
|
-
return Promise.reject(error);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
// If we reach here, all systems were synchronous
|
|
45
|
-
return Promise.resolve();
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
// Handle errors from topological sort (e.g., circular dependencies)
|
|
49
|
-
return Promise.reject(error);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
const runPhases = async (phases) => {
|
|
53
|
-
if (phases) {
|
|
54
|
-
return runSystems(Object.keys(systems).filter(name => systems[name].phase && phases.includes(systems[name].phase)));
|
|
55
|
-
}
|
|
56
|
-
for (const phase of SystemPhaseSchema.enum) {
|
|
57
|
-
await runPhases([phase]);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
// Helper function to handle async execution once we encounter the first async system
|
|
61
|
-
const executeRemainingAsync = async (sortedSystems, currentSystemName, pendingPromises) => {
|
|
62
|
-
// Wait for the current async system to complete
|
|
63
|
-
await Promise.all(pendingPromises);
|
|
64
|
-
// Find the index of current system to continue from next one
|
|
65
|
-
const currentIndex = sortedSystems.indexOf(currentSystemName);
|
|
66
|
-
// Execute remaining systems asynchronously
|
|
67
|
-
for (let i = currentIndex + 1; i < sortedSystems.length; i++) {
|
|
68
|
-
const systemName = sortedSystems[i];
|
|
69
|
-
const system = systems[systemName];
|
|
70
|
-
try {
|
|
71
|
-
if (system.type === "store") {
|
|
72
|
-
await system.run(store);
|
|
73
|
-
}
|
|
74
|
-
else if (system.type === "database") {
|
|
75
|
-
await system.run(database);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
console.error(`System ${String(systemName)} failed:`, error);
|
|
80
|
-
throw error;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
// Build edges for system dependency graph
|
|
85
|
-
const buildSystemEdges = (systemNames, systemMap) => {
|
|
86
|
-
const edges = [];
|
|
87
|
-
systemNames.forEach(name => {
|
|
88
|
-
const system = systemMap[name];
|
|
89
|
-
const nameStr = String(name);
|
|
90
|
-
// Convert 'before' constraints to edges: current → dependency
|
|
91
|
-
// (current system must run before the dependency)
|
|
92
|
-
system.schedule?.before?.forEach(dep => {
|
|
93
|
-
if (systemNames.includes(dep)) {
|
|
94
|
-
edges.push([nameStr, String(dep)]);
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
// Convert 'after' constraints to edges: dependency → current
|
|
98
|
-
// (current system must run after the dependency)
|
|
99
|
-
system.schedule?.after?.forEach(dep => {
|
|
100
|
-
if (systemNames.includes(dep)) {
|
|
101
|
-
edges.push([String(dep), nameStr]);
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
return edges;
|
|
106
|
-
};
|
|
107
|
-
return {
|
|
108
|
-
...database,
|
|
109
|
-
runPhases,
|
|
110
|
-
runSystems,
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=create-world.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-world.js","sourceRoot":"","sources":["../../../src/ecs/world/create-world.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|