@adobe/data 0.9.0 → 0.9.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/debug-type-test.js +12 -0
- package/dist/debug-type-test.js.map +1 -0
- package/dist/ecs/database/archetype-type-safety-test.d.ts +21 -0
- package/dist/ecs/database/archetype-type-safety-test.js +36 -0
- package/dist/ecs/database/archetype-type-safety-test.js.map +1 -0
- package/dist/ecs/database/calculate-system-order.d.ts +10 -0
- package/dist/ecs/database/calculate-system-order.js +152 -26
- package/dist/ecs/database/calculate-system-order.js.map +1 -1
- package/dist/ecs/database/calculate-system-order.test.js +228 -0
- package/dist/ecs/database/calculate-system-order.test.js.map +1 -1
- package/dist/ecs/database/create-database-schema-test.js +150 -0
- package/dist/ecs/database/create-database-schema-test.js.map +1 -0
- package/dist/ecs/database/create-plugin-v2.d.ts +79 -0
- package/dist/ecs/database/create-plugin-v2.js +68 -0
- package/dist/ecs/database/create-plugin-v2.js.map +1 -0
- package/dist/ecs/database/create-plugin-v2.test.js +362 -0
- package/dist/ecs/database/create-plugin-v2.test.js.map +1 -0
- package/dist/ecs/database/create-plugin.OLD.d.ts +138 -0
- package/dist/ecs/database/create-plugin.OLD.js +59 -0
- package/dist/ecs/database/create-plugin.OLD.js.map +1 -0
- package/dist/ecs/database/create-plugin.d.ts +2 -0
- package/dist/ecs/database/create-plugin.js.map +1 -1
- package/dist/ecs/database/create-plugin.test.js +2 -0
- package/dist/ecs/database/create-plugin.test.js.map +1 -1
- package/dist/ecs/database/database-with-systems.test.js +292 -0
- package/dist/ecs/database/database-with-systems.test.js.map +1 -0
- package/dist/ecs/database/database.d.ts +7 -0
- package/dist/ecs/database/database.js.map +1 -1
- package/dist/ecs/database/database.plugin.create.test.OLD.js +601 -0
- package/dist/ecs/database/database.plugin.create.test.OLD.js.map +1 -0
- package/dist/ecs/database/database.plugin.create.test.js +321 -0
- package/dist/ecs/database/database.plugin.create.test.js.map +1 -0
- package/dist/ecs/database/database.plugin.test.js +90 -0
- package/dist/ecs/database/database.plugin.test.js.map +1 -0
- package/dist/ecs/database/database.test copy.js +199 -0
- package/dist/ecs/database/database.test copy.js.map +1 -0
- package/dist/ecs/database/multi-param-inference-poc.test.js +96 -0
- package/dist/ecs/database/multi-param-inference-poc.test.js.map +1 -0
- package/dist/ecs/database/old-plugin-create-with-dependencies-array.d.ts +61 -0
- package/dist/ecs/database/old-plugin-create-with-dependencies-array.js +76 -0
- package/dist/ecs/database/old-plugin-create-with-dependencies-array.js.map +1 -0
- package/dist/ecs/database/overload-inference-poc.test.js +109 -0
- package/dist/ecs/database/overload-inference-poc.test.js.map +1 -0
- package/dist/ecs/database/public/create-database.d.ts +1 -0
- package/dist/ecs/database/schedule-type-check-demo.d.ts +10 -0
- package/dist/ecs/database/schedule-type-check-demo.js +71 -0
- package/dist/ecs/database/schedule-type-check-demo.js.map +1 -0
- package/dist/ecs/database/test-archetype-validation.d.ts +9 -0
- package/dist/ecs/database/test-archetype-validation.js +14 -0
- package/dist/ecs/database/test-archetype-validation.js.map +1 -0
- package/dist/ecs/database/test-exactkeys.js +17 -0
- package/dist/ecs/database/test-exactkeys.js.map +1 -0
- package/dist/ecs/database/transactional-store/coalesce-transactions.test.js +3 -3
- package/dist/ecs/database/transactional-store/coalesce-transactions.test.js.map +1 -1
- package/dist/ecs/database/type-inference-demo.d.ts +75 -0
- package/dist/ecs/database/type-inference-demo.js +73 -0
- package/dist/ecs/database/type-inference-demo.js.map +1 -0
- package/dist/ecs/database/type-inference-poc.test.js +73 -0
- package/dist/ecs/database/type-inference-poc.test.js.map +1 -0
- package/dist/ecs/index.d.ts +3 -0
- package/dist/ecs/index.js +2 -0
- package/dist/ecs/index.js.map +1 -1
- package/dist/ecs/plugins/scheduler/create-scheduler-plugin.d.ts +8 -0
- package/dist/ecs/plugins/scheduler/create-scheduler-plugin.js +54 -0
- package/dist/ecs/plugins/scheduler/create-scheduler-plugin.js.map +1 -0
- package/dist/ecs/plugins/scheduler/create-scheduler-plugin.test.js +198 -0
- package/dist/ecs/plugins/scheduler/create-scheduler-plugin.test.js.map +1 -0
- package/dist/ecs/plugins/scheduler/scheduler.d.ts +2 -3
- package/dist/ecs/plugins/scheduler/scheduler.js +2 -2
- package/dist/ecs/plugins/scheduler/scheduler.js.map +1 -1
- package/dist/ecs/plugins/scheduler/type-inference-test.js +2 -0
- package/dist/ecs/plugins/scheduler/type-inference-test.js.map +1 -0
- package/dist/ecs/store/entity-functions.d.ts +7 -0
- package/dist/ecs/store/entity-functions.js +2 -0
- package/dist/ecs/store/entity-functions.js.map +1 -0
- package/dist/ecs/store/functions.d.ts +2 -0
- package/dist/ecs/store/functions.js +2 -0
- package/dist/ecs/store/functions.js.map +1 -0
- package/dist/ecs/system/system-declaration.d.ts +7 -0
- package/dist/{math/aabb/functions.js → ecs/system/system-declaration.js} +1 -1
- package/dist/ecs/system/system-declaration.js.map +1 -0
- package/dist/ecs/system/system-declarations.d.ts +4 -0
- package/dist/ecs/system/system-declarations.js +23 -0
- package/dist/ecs/system/system-declarations.js.map +1 -0
- package/dist/ecs/system/system-factory/public/create copy.d.ts +12 -0
- package/dist/ecs/system/system-factory/public/create copy.js +8 -0
- package/dist/ecs/system/system-factory/public/create copy.js.map +1 -0
- package/dist/ecs/system/system-factory/public/create.d.ts +12 -0
- package/dist/ecs/system/system-factory/public/create.js +8 -0
- package/dist/ecs/system/system-factory/public/create.js.map +1 -0
- package/dist/ecs/system/system-factory/public/create.test.js +42 -0
- package/dist/ecs/system/system-factory/public/create.test.js.map +1 -0
- package/dist/ecs/system/system-factory/public/index.d.ts +1 -0
- package/dist/ecs/system/system-factory/public/index.js +2 -0
- package/dist/ecs/system/system-factory/public/index.js.map +1 -0
- package/dist/ecs/system/system-factory/system-factory.d.ts +17 -0
- package/dist/ecs/{store/public/schema/schema.js → system/system-factory/system-factory.js} +2 -2
- package/dist/ecs/system/system-factory/system-factory.js.map +1 -0
- package/dist/ecs/system/system-factory.d.ts +9 -0
- package/dist/{math/picking/pick-result.js → ecs/system/system-factory.js} +1 -1
- package/dist/ecs/system/system-factory.js.map +1 -0
- package/dist/ecs/system/system-interface.d.ts +5 -0
- package/dist/ecs/system/system-interface.js +2 -0
- package/dist/ecs/system/system-interface.js.map +1 -0
- package/dist/ecs/system/system.d.ts +4 -0
- package/dist/ecs/{store/constants/types.js → system/system.js} +1 -1
- package/dist/ecs/system/system.js.map +1 -0
- package/dist/ecs/system/systems-type.d.ts +2 -0
- package/dist/ecs/system/systems-type.js +2 -0
- package/dist/ecs/system/systems-type.js.map +1 -0
- package/dist/ecs/system/systems.d.ts +2 -0
- package/dist/ecs/{store/public/types.js → system/systems.js} +1 -1
- package/dist/ecs/system/systems.js.map +1 -0
- package/dist/ecs/system/world-schema/public/create.d.ts +12 -0
- package/dist/ecs/system/world-schema/public/create.js +8 -0
- package/dist/ecs/system/world-schema/public/create.js.map +1 -0
- package/dist/ecs/system/world-schema/public/create.test.js +42 -0
- package/dist/ecs/system/world-schema/public/create.test.js.map +1 -0
- package/dist/ecs/system/world-schema/public/index.d.ts +1 -0
- package/dist/ecs/system/world-schema/public/index.js +2 -0
- package/dist/ecs/system/world-schema/public/index.js.map +1 -0
- package/dist/ecs/system/world-schema/system-factory.d.ts +17 -0
- package/dist/ecs/system/world-schema/system-factory.js +23 -0
- package/dist/ecs/system/world-schema/system-factory.js.map +1 -0
- package/dist/ecs/world/calculate-system-order.d.ts +18 -0
- package/dist/ecs/world/calculate-system-order.js +113 -0
- package/dist/ecs/world/calculate-system-order.js.map +1 -0
- package/dist/ecs/world/calculate-system-order.test.js +168 -0
- package/dist/ecs/world/calculate-system-order.test.js.map +1 -0
- package/dist/ecs/world/create-world-schema-test.js +294 -0
- package/dist/ecs/world/create-world-schema-test.js.map +1 -0
- package/dist/ecs/world/create-world-type-test.js +129 -0
- package/dist/ecs/world/create-world-type-test.js.map +1 -0
- package/dist/ecs/world/create-world.d.ts +17 -5
- package/dist/ecs/world/create-world.js +75 -108
- package/dist/ecs/world/create-world.js.map +1 -1
- package/dist/ecs/world/create-world.test.js +227 -434
- package/dist/ecs/world/create-world.test.js.map +1 -1
- package/dist/ecs/world/public/world-schema/public/create.d.ts +12 -0
- package/dist/ecs/world/public/world-schema/public/create.js +8 -0
- package/dist/ecs/world/public/world-schema/public/create.js.map +1 -0
- package/dist/ecs/world/public/world-schema/public/create.test.js +42 -0
- package/dist/ecs/world/public/world-schema/public/create.test.js.map +1 -0
- package/dist/ecs/world/public/world-schema/public/index.d.ts +1 -0
- package/dist/ecs/world/public/world-schema/public/index.js +2 -0
- package/dist/ecs/world/public/world-schema/public/index.js.map +1 -0
- package/dist/ecs/world/public/world-schema/world-schema.d.ts +17 -0
- package/dist/ecs/{store/public/schema/public.js → world/public/world-schema/world-schema.js} +2 -2
- package/dist/ecs/world/public/world-schema/world-schema.js.map +1 -0
- package/dist/ecs/world/system-declaration.d.ts +1 -0
- package/dist/ecs/world/system-declaration.js +23 -0
- package/dist/ecs/world/system-declaration.js.map +1 -0
- package/dist/ecs/world/system-schedule-typing-test.js +83 -0
- package/dist/ecs/world/system-schedule-typing-test.js.map +1 -0
- package/dist/ecs/world/world-schema/public/create.d.ts +12 -0
- package/dist/ecs/world/world-schema/public/create.js +10 -0
- package/dist/ecs/world/world-schema/public/create.js.map +1 -0
- package/dist/ecs/world/world-schema/public/create.test.js +41 -0
- package/dist/ecs/world/world-schema/public/create.test.js.map +1 -0
- package/dist/ecs/world/world-schema/public/index.d.ts +1 -0
- package/dist/ecs/world/world-schema/public/index.js +2 -0
- package/dist/ecs/world/world-schema/public/index.js.map +1 -0
- package/dist/ecs/world/world-schema/system-factory.d.ts +17 -0
- package/dist/ecs/world/world-schema/system-factory.js +23 -0
- package/dist/ecs/world/world-schema/system-factory.js.map +1 -0
- package/dist/ecs/world/world-schema/world-schema.d.ts +17 -16
- package/dist/ecs/world/world-schema/world-schema.js +1 -1
- package/dist/ecs/world/world-schema/world-schema.js.map +1 -1
- package/dist/ecs/world/world.d.ts +85 -10
- package/dist/ecs/world/world.js +80 -1
- package/dist/ecs/world/world.js.map +1 -1
- package/dist/ecs/world/world.test.js +176 -0
- package/dist/ecs/world/world.test.js.map +1 -0
- package/dist/old-ecs/ecs/ecs.test.js +1 -0
- package/dist/old-ecs/ecs/ecs.test.js.map +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 +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- 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/create-database.d.ts +0 -7
- package/dist/ecs/database/create-database.js +0 -186
- package/dist/ecs/database/create-database.js.map +0 -1
- package/dist/ecs/database/create-database.test.js +0 -903
- package/dist/ecs/database/create-database.test.js.map +0 -1
- package/dist/ecs/database/replicate.d.ts +0 -9
- package/dist/ecs/database/replicate.js +0 -66
- package/dist/ecs/database/replicate.js.map +0 -1
- package/dist/ecs/database/replicate.test.js +0 -235
- package/dist/ecs/database/replicate.test.js.map +0 -1
- package/dist/ecs/database/transactional-store/coalesce-transactions.d.ts +0 -16
- package/dist/ecs/database/transactional-store/coalesce-transactions.js +0 -140
- package/dist/ecs/database/transactional-store/coalesce-transactions.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.d.ts +0 -8
- package/dist/ecs/entity/u32.js +0 -24
- package/dist/ecs/entity/u32.js.map +0 -1
- package/dist/ecs/store/constants/functions.d.ts +0 -14
- package/dist/ecs/store/constants/functions.js +0 -31
- package/dist/ecs/store/constants/functions.js.map +0 -1
- package/dist/ecs/store/constants/index.d.ts +0 -2
- package/dist/ecs/store/constants/index.js +0 -24
- package/dist/ecs/store/constants/index.js.map +0 -1
- package/dist/ecs/store/constants/types.d.ts +0 -18
- package/dist/ecs/store/constants/types.js.map +0 -1
- package/dist/ecs/store/create-store.d.ts +0 -8
- package/dist/ecs/store/create-store.js +0 -126
- package/dist/ecs/store/create-store.js.map +0 -1
- package/dist/ecs/store/create-store.test.js +0 -725
- package/dist/ecs/store/create-store.test.js.map +0 -1
- package/dist/ecs/store/public/create-from-schema.d.ts +0 -6
- package/dist/ecs/store/public/create-from-schema.js +0 -26
- package/dist/ecs/store/public/create-from-schema.js.map +0 -1
- package/dist/ecs/store/public/index.d.ts +0 -3
- package/dist/ecs/store/public/index.js +0 -25
- package/dist/ecs/store/public/index.js.map +0 -1
- package/dist/ecs/store/public/readonly.d.ts +0 -19
- package/dist/ecs/store/public/readonly.js +0 -2
- package/dist/ecs/store/public/readonly.js.map +0 -1
- package/dist/ecs/store/public/schema/create-from-schema.d.ts +0 -6
- package/dist/ecs/store/public/schema/create-from-schema.js +0 -26
- package/dist/ecs/store/public/schema/create-from-schema.js.map +0 -1
- package/dist/ecs/store/public/schema/create.d.ts +0 -10
- package/dist/ecs/store/public/schema/create.js +0 -25
- package/dist/ecs/store/public/schema/create.js.map +0 -1
- package/dist/ecs/store/public/schema/createFromSchema.d.ts +0 -6
- package/dist/ecs/store/public/schema/createFromSchema.js +0 -5
- package/dist/ecs/store/public/schema/createFromSchema.js.map +0 -1
- package/dist/ecs/store/public/schema/public.d.ts +0 -1
- package/dist/ecs/store/public/schema/public.js.map +0 -1
- package/dist/ecs/store/public/schema/schema.d.ts +0 -11
- package/dist/ecs/store/public/schema/schema.js.map +0 -1
- package/dist/ecs/store/public/types.d.ts +0 -11
- package/dist/ecs/store/public/types.js.map +0 -1
- package/dist/ecs/store/store-schema/create-store-schema-test.js +0 -33
- package/dist/ecs/store/store-schema/create-store-schema-test.js.map +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.js +0 -21
- package/dist/ecs/store/store-schema/index.js.map +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/index.d.ts +0 -5
- package/dist/ecs/world/index.js +0 -27
- 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.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 +0 -24
- package/dist/ecs/world/world-schema/index.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.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.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.js +0 -15
- package/dist/graphics/frame.js.map +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.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/aabb.d.ts +0 -3
- package/dist/math/aabb/aabb.js +0 -2
- package/dist/math/aabb/aabb.js.map +0 -1
- package/dist/math/aabb/constants/functions.d.ts +0 -15
- package/dist/math/aabb/constants/functions.js +0 -76
- package/dist/math/aabb/constants/functions.js.map +0 -1
- package/dist/math/aabb/constants/index.d.ts +0 -3
- package/dist/math/aabb/constants/index.js +0 -25
- package/dist/math/aabb/constants/index.js.map +0 -1
- package/dist/math/aabb/constants/layout.d.ts +0 -1
- package/dist/math/aabb/constants/layout.js +0 -25
- package/dist/math/aabb/constants/layout.js.map +0 -1
- package/dist/math/aabb/constants/schema.d.ts +0 -33
- package/dist/math/aabb/constants/schema.js +0 -37
- package/dist/math/aabb/constants/schema.js.map +0 -1
- package/dist/math/aabb/functions.js.map +0 -1
- package/dist/math/aabb/lineIntersection.d.ts +0 -10
- package/dist/math/aabb/lineIntersection.js +0 -42
- package/dist/math/aabb/lineIntersection.js.map +0 -1
- package/dist/math/aabb-face/aabb-face.d.ts +0 -4
- package/dist/math/aabb-face/aabb-face.js +0 -23
- package/dist/math/aabb-face/aabb-face.js.map +0 -1
- package/dist/math/aabb-face/aabb-face.test.js +0 -54
- package/dist/math/aabb-face/aabb-face.test.js.map +0 -1
- package/dist/math/aabb-face/constants/functions.d.ts +0 -47
- package/dist/math/aabb-face/constants/functions.js +0 -148
- package/dist/math/aabb-face/constants/functions.js.map +0 -1
- package/dist/math/aabb-face/constants/index.d.ts +0 -2
- package/dist/math/aabb-face/constants/index.js +0 -24
- package/dist/math/aabb-face/constants/index.js.map +0 -1
- package/dist/math/aabb-face/constants/schema.d.ts +0 -5
- package/dist/math/aabb-face/constants/schema.js +0 -27
- package/dist/math/aabb-face/constants/schema.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.js +0 -94
- package/dist/math/aabb-face/face.test.js.map +0 -1
- package/dist/math/aabb-face/functions.d.ts +0 -47
- package/dist/math/aabb-face/functions.js +0 -148
- package/dist/math/aabb-face/functions.js.map +0 -1
- package/dist/math/aabb-face/index.d.ts +0 -4
- package/dist/math/aabb-face/index.js +0 -23
- package/dist/math/aabb-face/index.js.map +0 -1
- package/dist/math/aabb-face/public.d.ts +0 -2
- package/dist/math/aabb-face/public.js +0 -24
- package/dist/math/aabb-face/public.js.map +0 -1
- package/dist/math/aabb-face/schema.d.ts +0 -5
- package/dist/math/aabb-face/schema.js +0 -27
- package/dist/math/aabb-face/schema.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/f32/constants/index.d.ts +0 -1
- package/dist/math/f32/constants/index.js +0 -23
- package/dist/math/f32/constants/index.js.map +0 -1
- package/dist/math/f32/constants/schema.d.ts +0 -5
- package/dist/math/f32/constants/schema.js +0 -24
- package/dist/math/f32/constants/schema.js.map +0 -1
- package/dist/math/f32/f32.d.ts +0 -4
- package/dist/math/f32/f32.js +0 -23
- package/dist/math/f32/f32.js.map +0 -1
- package/dist/math/face/face.d.ts +0 -51
- package/dist/math/face/face.js +0 -110
- package/dist/math/face/face.js.map +0 -1
- package/dist/math/face/face.test.js +0 -94
- package/dist/math/face/face.test.js.map +0 -1
- package/dist/math/i32/constants/index.d.ts +0 -1
- package/dist/math/i32/constants/index.js +0 -23
- package/dist/math/i32/constants/index.js.map +0 -1
- package/dist/math/i32/constants/schema.d.ts +0 -6
- package/dist/math/i32/constants/schema.js +0 -24
- package/dist/math/i32/constants/schema.js.map +0 -1
- package/dist/math/i32/i32.d.ts +0 -4
- package/dist/math/i32/i32.js +0 -23
- package/dist/math/i32/i32.js.map +0 -1
- package/dist/math/line2/constants/functions.d.ts +0 -5
- package/dist/math/line2/constants/functions.js +0 -61
- package/dist/math/line2/constants/functions.js.map +0 -1
- package/dist/math/line2/constants/index.d.ts +0 -3
- package/dist/math/line2/constants/index.js +0 -25
- package/dist/math/line2/constants/index.js.map +0 -1
- package/dist/math/line2/constants/layout.d.ts +0 -1
- package/dist/math/line2/constants/layout.js +0 -25
- package/dist/math/line2/constants/layout.js.map +0 -1
- package/dist/math/line2/constants/schema.d.ts +0 -33
- package/dist/math/line2/constants/schema.js +0 -37
- package/dist/math/line2/constants/schema.js.map +0 -1
- package/dist/math/line2/line2.d.ts +0 -4
- package/dist/math/line2/line2.js +0 -23
- package/dist/math/line2/line2.js.map +0 -1
- package/dist/math/line3/constants/functions.d.ts +0 -17
- package/dist/math/line3/constants/functions.js +0 -70
- package/dist/math/line3/constants/functions.js.map +0 -1
- package/dist/math/line3/constants/index.d.ts +0 -3
- package/dist/math/line3/constants/index.js +0 -25
- package/dist/math/line3/constants/index.js.map +0 -1
- package/dist/math/line3/constants/layout.d.ts +0 -1
- package/dist/math/line3/constants/layout.js +0 -25
- package/dist/math/line3/constants/layout.js.map +0 -1
- package/dist/math/line3/constants/schema.d.ts +0 -33
- package/dist/math/line3/constants/schema.js +0 -37
- package/dist/math/line3/constants/schema.js.map +0 -1
- package/dist/math/line3/line3.d.ts +0 -4
- package/dist/math/line3/line3.js +0 -23
- package/dist/math/line3/line3.js.map +0 -1
- package/dist/math/mat4x4/constants/functions.d.ts +0 -23
- package/dist/math/mat4x4/constants/functions.js +0 -236
- package/dist/math/mat4x4/constants/functions.js.map +0 -1
- package/dist/math/mat4x4/constants/index.d.ts +0 -3
- package/dist/math/mat4x4/constants/index.js +0 -25
- package/dist/math/mat4x4/constants/index.js.map +0 -1
- package/dist/math/mat4x4/constants/layout.d.ts +0 -1
- package/dist/math/mat4x4/constants/layout.js +0 -25
- package/dist/math/mat4x4/constants/layout.js.map +0 -1
- package/dist/math/mat4x4/constants/schema.d.ts +0 -11
- package/dist/math/mat4x4/constants/schema.js +0 -30
- package/dist/math/mat4x4/constants/schema.js.map +0 -1
- package/dist/math/mat4x4/mat4x4.d.ts +0 -26
- package/dist/math/mat4x4/mat4x4.js +0 -45
- package/dist/math/mat4x4/mat4x4.js.map +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 +0 -27
- 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/plane/constants/functions.d.ts +0 -16
- package/dist/math/plane/constants/functions.js +0 -54
- package/dist/math/plane/constants/functions.js.map +0 -1
- package/dist/math/plane/constants/index.d.ts +0 -3
- package/dist/math/plane/constants/index.js +0 -25
- package/dist/math/plane/constants/index.js.map +0 -1
- package/dist/math/plane/constants/layout.d.ts +0 -1
- package/dist/math/plane/constants/layout.js +0 -25
- package/dist/math/plane/constants/layout.js.map +0 -1
- package/dist/math/plane/constants/schema.d.ts +0 -24
- package/dist/math/plane/constants/schema.js +0 -33
- package/dist/math/plane/constants/schema.js.map +0 -1
- package/dist/math/plane/plane.d.ts +0 -4
- package/dist/math/plane/plane.js +0 -23
- package/dist/math/plane/plane.js.map +0 -1
- package/dist/math/quat/constants/index.d.ts +0 -3
- package/dist/math/quat/constants/index.js +0 -25
- package/dist/math/quat/constants/index.js.map +0 -1
- package/dist/math/quat/constants/layout.d.ts +0 -1
- package/dist/math/quat/constants/layout.js +0 -25
- package/dist/math/quat/constants/layout.js.map +0 -1
- package/dist/math/quat/constants/schema.d.ts +0 -11
- package/dist/math/quat/constants/schema.js +0 -30
- package/dist/math/quat/constants/schema.js.map +0 -1
- package/dist/math/quat/quat.d.ts +0 -4
- package/dist/math/quat/quat.js +0 -23
- package/dist/math/quat/quat.js.map +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.js +0 -23
- package/dist/math/transform/debug-quat.js.map +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/math/u32/constants/index.d.ts +0 -1
- package/dist/math/u32/constants/index.js +0 -23
- package/dist/math/u32/constants/index.js.map +0 -1
- package/dist/math/u32/constants/schema.d.ts +0 -6
- package/dist/math/u32/constants/schema.js +0 -24
- package/dist/math/u32/constants/schema.js.map +0 -1
- package/dist/math/u32/u32.d.ts +0 -4
- package/dist/math/u32/u32.js +0 -23
- package/dist/math/u32/u32.js.map +0 -1
- package/dist/math/vec2/constants/functions.d.ts +0 -48
- package/dist/math/vec2/constants/functions.js +0 -104
- package/dist/math/vec2/constants/functions.js.map +0 -1
- package/dist/math/vec2/constants/index.d.ts +0 -3
- package/dist/math/vec2/constants/index.js +0 -25
- package/dist/math/vec2/constants/index.js.map +0 -1
- package/dist/math/vec2/constants/layout.d.ts +0 -1
- package/dist/math/vec2/constants/layout.js +0 -25
- package/dist/math/vec2/constants/layout.js.map +0 -1
- package/dist/math/vec2/constants/schema.d.ts +0 -11
- package/dist/math/vec2/constants/schema.js +0 -30
- package/dist/math/vec2/constants/schema.js.map +0 -1
- package/dist/math/vec2/functions/abs.d.ts +0 -2
- package/dist/math/vec2/functions/abs.js +0 -23
- package/dist/math/vec2/functions/abs.js.map +0 -1
- package/dist/math/vec2/functions/acos.d.ts +0 -2
- package/dist/math/vec2/functions/acos.js +0 -23
- package/dist/math/vec2/functions/acos.js.map +0 -1
- package/dist/math/vec2/functions/acosh.d.ts +0 -2
- package/dist/math/vec2/functions/acosh.js +0 -23
- package/dist/math/vec2/functions/acosh.js.map +0 -1
- package/dist/math/vec2/functions/add.d.ts +0 -2
- package/dist/math/vec2/functions/add.js +0 -23
- package/dist/math/vec2/functions/add.js.map +0 -1
- package/dist/math/vec2/functions/asin.d.ts +0 -2
- package/dist/math/vec2/functions/asin.js +0 -23
- package/dist/math/vec2/functions/asin.js.map +0 -1
- package/dist/math/vec2/functions/asinh.d.ts +0 -2
- package/dist/math/vec2/functions/asinh.js +0 -23
- package/dist/math/vec2/functions/asinh.js.map +0 -1
- package/dist/math/vec2/functions/atan.d.ts +0 -2
- package/dist/math/vec2/functions/atan.js +0 -23
- package/dist/math/vec2/functions/atan.js.map +0 -1
- package/dist/math/vec2/functions/atanh.d.ts +0 -2
- package/dist/math/vec2/functions/atanh.js +0 -23
- package/dist/math/vec2/functions/atanh.js.map +0 -1
- package/dist/math/vec2/functions/ceil.d.ts +0 -2
- package/dist/math/vec2/functions/ceil.js +0 -23
- package/dist/math/vec2/functions/ceil.js.map +0 -1
- package/dist/math/vec2/functions/clamp.d.ts +0 -2
- package/dist/math/vec2/functions/clamp.js +0 -25
- package/dist/math/vec2/functions/clamp.js.map +0 -1
- package/dist/math/vec2/functions/cos.d.ts +0 -2
- package/dist/math/vec2/functions/cos.js +0 -23
- package/dist/math/vec2/functions/cos.js.map +0 -1
- package/dist/math/vec2/functions/cosh.d.ts +0 -2
- package/dist/math/vec2/functions/cosh.js +0 -23
- package/dist/math/vec2/functions/cosh.js.map +0 -1
- package/dist/math/vec2/functions/distance.d.ts +0 -2
- package/dist/math/vec2/functions/distance.js +0 -25
- package/dist/math/vec2/functions/distance.js.map +0 -1
- package/dist/math/vec2/functions/dot.d.ts +0 -2
- package/dist/math/vec2/functions/dot.js +0 -23
- package/dist/math/vec2/functions/dot.js.map +0 -1
- package/dist/math/vec2/functions/exp-2.d.ts +0 -2
- package/dist/math/vec2/functions/exp-2.js +0 -23
- package/dist/math/vec2/functions/exp-2.js.map +0 -1
- package/dist/math/vec2/functions/exp.d.ts +0 -2
- package/dist/math/vec2/functions/exp.js +0 -23
- package/dist/math/vec2/functions/exp.js.map +0 -1
- package/dist/math/vec2/functions/face-forward.d.ts +0 -2
- package/dist/math/vec2/functions/face-forward.js +0 -25
- package/dist/math/vec2/functions/face-forward.js.map +0 -1
- package/dist/math/vec2/functions/floor.d.ts +0 -2
- package/dist/math/vec2/functions/floor.js +0 -23
- package/dist/math/vec2/functions/floor.js.map +0 -1
- package/dist/math/vec2/functions/fract.d.ts +0 -2
- package/dist/math/vec2/functions/fract.js +0 -23
- package/dist/math/vec2/functions/fract.js.map +0 -1
- package/dist/math/vec2/functions/functions.d.ts +0 -48
- package/dist/math/vec2/functions/functions.js +0 -104
- package/dist/math/vec2/functions/functions.js.map +0 -1
- package/dist/math/vec2/functions/index.d.ts +0 -3
- package/dist/math/vec2/functions/index.js +0 -25
- package/dist/math/vec2/functions/index.js.map +0 -1
- package/dist/math/vec2/functions/layout.d.ts +0 -1
- package/dist/math/vec2/functions/layout.js +0 -25
- package/dist/math/vec2/functions/layout.js.map +0 -1
- package/dist/math/vec2/functions/length.d.ts +0 -2
- package/dist/math/vec2/functions/length.js +0 -23
- package/dist/math/vec2/functions/length.js.map +0 -1
- package/dist/math/vec2/functions/log-2.d.ts +0 -2
- package/dist/math/vec2/functions/log-2.js +0 -23
- package/dist/math/vec2/functions/log-2.js.map +0 -1
- package/dist/math/vec2/functions/log.d.ts +0 -2
- package/dist/math/vec2/functions/log.js +0 -23
- package/dist/math/vec2/functions/log.js.map +0 -1
- package/dist/math/vec2/functions/max.d.ts +0 -2
- package/dist/math/vec2/functions/max.js +0 -23
- package/dist/math/vec2/functions/max.js.map +0 -1
- package/dist/math/vec2/functions/min.d.ts +0 -2
- package/dist/math/vec2/functions/min.js +0 -23
- package/dist/math/vec2/functions/min.js.map +0 -1
- package/dist/math/vec2/functions/mix.d.ts +0 -2
- package/dist/math/vec2/functions/mix.js +0 -26
- package/dist/math/vec2/functions/mix.js.map +0 -1
- package/dist/math/vec2/functions/mod.d.ts +0 -2
- package/dist/math/vec2/functions/mod.js +0 -26
- package/dist/math/vec2/functions/mod.js.map +0 -1
- package/dist/math/vec2/functions/modf.d.ts +0 -5
- package/dist/math/vec2/functions/modf.js +0 -26
- package/dist/math/vec2/functions/modf.js.map +0 -1
- package/dist/math/vec2/functions/negate.d.ts +0 -2
- package/dist/math/vec2/functions/negate.js +0 -23
- package/dist/math/vec2/functions/negate.js.map +0 -1
- package/dist/math/vec2/functions/normalize.d.ts +0 -2
- package/dist/math/vec2/functions/normalize.js +0 -28
- package/dist/math/vec2/functions/normalize.js.map +0 -1
- package/dist/math/vec2/functions/pow.d.ts +0 -2
- package/dist/math/vec2/functions/pow.js +0 -26
- package/dist/math/vec2/functions/pow.js.map +0 -1
- package/dist/math/vec2/functions/reflect.d.ts +0 -2
- package/dist/math/vec2/functions/reflect.js +0 -29
- package/dist/math/vec2/functions/reflect.js.map +0 -1
- package/dist/math/vec2/functions/refract.d.ts +0 -2
- package/dist/math/vec2/functions/refract.js +0 -34
- package/dist/math/vec2/functions/refract.js.map +0 -1
- package/dist/math/vec2/functions/round.d.ts +0 -2
- package/dist/math/vec2/functions/round.js +0 -23
- package/dist/math/vec2/functions/round.js.map +0 -1
- package/dist/math/vec2/functions/scale.d.ts +0 -2
- package/dist/math/vec2/functions/scale.js +0 -23
- package/dist/math/vec2/functions/scale.js.map +0 -1
- package/dist/math/vec2/functions/schema.d.ts +0 -11
- package/dist/math/vec2/functions/schema.js +0 -30
- package/dist/math/vec2/functions/schema.js.map +0 -1
- package/dist/math/vec2/functions/sign.d.ts +0 -2
- package/dist/math/vec2/functions/sign.js +0 -23
- package/dist/math/vec2/functions/sign.js.map +0 -1
- package/dist/math/vec2/functions/sin.d.ts +0 -2
- package/dist/math/vec2/functions/sin.js +0 -23
- package/dist/math/vec2/functions/sin.js.map +0 -1
- package/dist/math/vec2/functions/sinh.d.ts +0 -2
- package/dist/math/vec2/functions/sinh.js +0 -23
- package/dist/math/vec2/functions/sinh.js.map +0 -1
- package/dist/math/vec2/functions/smooth-step.d.ts +0 -2
- package/dist/math/vec2/functions/smooth-step.js +0 -27
- package/dist/math/vec2/functions/smooth-step.js.map +0 -1
- package/dist/math/vec2/functions/sqrt.d.ts +0 -2
- package/dist/math/vec2/functions/sqrt.js +0 -23
- package/dist/math/vec2/functions/sqrt.js.map +0 -1
- package/dist/math/vec2/functions/step.d.ts +0 -2
- package/dist/math/vec2/functions/step.js +0 -26
- package/dist/math/vec2/functions/step.js.map +0 -1
- package/dist/math/vec2/functions/subtract.d.ts +0 -2
- package/dist/math/vec2/functions/subtract.js +0 -23
- package/dist/math/vec2/functions/subtract.js.map +0 -1
- package/dist/math/vec2/functions/tan.d.ts +0 -2
- package/dist/math/vec2/functions/tan.js +0 -23
- package/dist/math/vec2/functions/tan.js.map +0 -1
- package/dist/math/vec2/functions/tanh.d.ts +0 -2
- package/dist/math/vec2/functions/tanh.js +0 -23
- package/dist/math/vec2/functions/tanh.js.map +0 -1
- package/dist/math/vec2/functions/trunc.d.ts +0 -2
- package/dist/math/vec2/functions/trunc.js +0 -23
- package/dist/math/vec2/functions/trunc.js.map +0 -1
- package/dist/math/vec2/vec2.d.ts +0 -4
- package/dist/math/vec2/vec2.js +0 -23
- package/dist/math/vec2/vec2.js.map +0 -1
- package/dist/math/vec3/constants/functions.d.ts +0 -59
- package/dist/math/vec3/constants/functions.js +0 -159
- package/dist/math/vec3/constants/functions.js.map +0 -1
- package/dist/math/vec3/constants/index.d.ts +0 -3
- package/dist/math/vec3/constants/index.js +0 -25
- package/dist/math/vec3/constants/index.js.map +0 -1
- package/dist/math/vec3/constants/layout.d.ts +0 -1
- package/dist/math/vec3/constants/layout.js +0 -25
- package/dist/math/vec3/constants/layout.js.map +0 -1
- package/dist/math/vec3/constants/schema.d.ts +0 -11
- package/dist/math/vec3/constants/schema.js +0 -30
- package/dist/math/vec3/constants/schema.js.map +0 -1
- package/dist/math/vec3/functions/abs.d.ts +0 -2
- package/dist/math/vec3/functions/abs.js +0 -23
- package/dist/math/vec3/functions/abs.js.map +0 -1
- package/dist/math/vec3/functions/acos.d.ts +0 -2
- package/dist/math/vec3/functions/acos.js +0 -23
- package/dist/math/vec3/functions/acos.js.map +0 -1
- package/dist/math/vec3/functions/acosh.d.ts +0 -2
- package/dist/math/vec3/functions/acosh.js +0 -23
- package/dist/math/vec3/functions/acosh.js.map +0 -1
- package/dist/math/vec3/functions/add.d.ts +0 -2
- package/dist/math/vec3/functions/add.js +0 -27
- package/dist/math/vec3/functions/add.js.map +0 -1
- package/dist/math/vec3/functions/asin.d.ts +0 -2
- package/dist/math/vec3/functions/asin.js +0 -23
- package/dist/math/vec3/functions/asin.js.map +0 -1
- package/dist/math/vec3/functions/asinh.d.ts +0 -2
- package/dist/math/vec3/functions/asinh.js +0 -23
- package/dist/math/vec3/functions/asinh.js.map +0 -1
- package/dist/math/vec3/functions/atan.d.ts +0 -2
- package/dist/math/vec3/functions/atan.js +0 -23
- package/dist/math/vec3/functions/atan.js.map +0 -1
- package/dist/math/vec3/functions/atanh.d.ts +0 -2
- package/dist/math/vec3/functions/atanh.js +0 -23
- package/dist/math/vec3/functions/atanh.js.map +0 -1
- package/dist/math/vec3/functions/ceil.d.ts +0 -2
- package/dist/math/vec3/functions/ceil.js +0 -23
- package/dist/math/vec3/functions/ceil.js.map +0 -1
- package/dist/math/vec3/functions/clamp.d.ts +0 -2
- package/dist/math/vec3/functions/clamp.js +0 -25
- package/dist/math/vec3/functions/clamp.js.map +0 -1
- package/dist/math/vec3/functions/cos.d.ts +0 -2
- package/dist/math/vec3/functions/cos.js +0 -23
- package/dist/math/vec3/functions/cos.js.map +0 -1
- package/dist/math/vec3/functions/cosh.d.ts +0 -2
- package/dist/math/vec3/functions/cosh.js +0 -23
- package/dist/math/vec3/functions/cosh.js.map +0 -1
- package/dist/math/vec3/functions/cross.d.ts +0 -2
- package/dist/math/vec3/functions/cross.js +0 -27
- package/dist/math/vec3/functions/cross.js.map +0 -1
- package/dist/math/vec3/functions/distance-squared.d.ts +0 -2
- package/dist/math/vec3/functions/distance-squared.js +0 -28
- package/dist/math/vec3/functions/distance-squared.js.map +0 -1
- package/dist/math/vec3/functions/distance.d.ts +0 -2
- package/dist/math/vec3/functions/distance.js +0 -25
- package/dist/math/vec3/functions/distance.js.map +0 -1
- package/dist/math/vec3/functions/dot.d.ts +0 -2
- package/dist/math/vec3/functions/dot.js +0 -23
- package/dist/math/vec3/functions/dot.js.map +0 -1
- package/dist/math/vec3/functions/equals.d.ts +0 -2
- package/dist/math/vec3/functions/equals.js +0 -23
- package/dist/math/vec3/functions/equals.js.map +0 -1
- package/dist/math/vec3/functions/exp-2.d.ts +0 -2
- package/dist/math/vec3/functions/exp-2.js +0 -23
- package/dist/math/vec3/functions/exp-2.js.map +0 -1
- package/dist/math/vec3/functions/exp.d.ts +0 -2
- package/dist/math/vec3/functions/exp.js +0 -23
- package/dist/math/vec3/functions/exp.js.map +0 -1
- package/dist/math/vec3/functions/face-forward.d.ts +0 -2
- package/dist/math/vec3/functions/face-forward.js +0 -25
- package/dist/math/vec3/functions/face-forward.js.map +0 -1
- package/dist/math/vec3/functions/floor.d.ts +0 -2
- package/dist/math/vec3/functions/floor.js +0 -23
- package/dist/math/vec3/functions/floor.js.map +0 -1
- package/dist/math/vec3/functions/fract.d.ts +0 -2
- package/dist/math/vec3/functions/fract.js +0 -27
- package/dist/math/vec3/functions/fract.js.map +0 -1
- package/dist/math/vec3/functions/index.d.ts +0 -54
- package/dist/math/vec3/functions/index.js +0 -76
- package/dist/math/vec3/functions/index.js.map +0 -1
- package/dist/math/vec3/functions/layout.d.ts +0 -1
- package/dist/math/vec3/functions/layout.js +0 -25
- package/dist/math/vec3/functions/layout.js.map +0 -1
- package/dist/math/vec3/functions/length-squared.d.ts +0 -2
- package/dist/math/vec3/functions/length-squared.js +0 -23
- package/dist/math/vec3/functions/length-squared.js.map +0 -1
- package/dist/math/vec3/functions/length.d.ts +0 -2
- package/dist/math/vec3/functions/length.js +0 -23
- package/dist/math/vec3/functions/length.js.map +0 -1
- package/dist/math/vec3/functions/log-2.d.ts +0 -2
- package/dist/math/vec3/functions/log-2.js +0 -23
- package/dist/math/vec3/functions/log-2.js.map +0 -1
- package/dist/math/vec3/functions/log.d.ts +0 -2
- package/dist/math/vec3/functions/log.js +0 -23
- package/dist/math/vec3/functions/log.js.map +0 -1
- package/dist/math/vec3/functions/max.d.ts +0 -2
- package/dist/math/vec3/functions/max.js +0 -27
- package/dist/math/vec3/functions/max.js.map +0 -1
- package/dist/math/vec3/functions/min.d.ts +0 -2
- package/dist/math/vec3/functions/min.js +0 -27
- package/dist/math/vec3/functions/min.js.map +0 -1
- package/dist/math/vec3/functions/mix.d.ts +0 -2
- package/dist/math/vec3/functions/mix.js +0 -27
- package/dist/math/vec3/functions/mix.js.map +0 -1
- package/dist/math/vec3/functions/mod.d.ts +0 -2
- package/dist/math/vec3/functions/mod.js +0 -27
- package/dist/math/vec3/functions/mod.js.map +0 -1
- package/dist/math/vec3/functions/modf.d.ts +0 -5
- package/dist/math/vec3/functions/modf.js +0 -26
- package/dist/math/vec3/functions/modf.js.map +0 -1
- package/dist/math/vec3/functions/multiply.d.ts +0 -5
- package/dist/math/vec3/functions/multiply.js +0 -30
- package/dist/math/vec3/functions/multiply.js.map +0 -1
- package/dist/math/vec3/functions/negate.d.ts +0 -2
- package/dist/math/vec3/functions/negate.js +0 -23
- package/dist/math/vec3/functions/negate.js.map +0 -1
- package/dist/math/vec3/functions/normalize.d.ts +0 -2
- package/dist/math/vec3/functions/normalize.js +0 -28
- package/dist/math/vec3/functions/normalize.js.map +0 -1
- package/dist/math/vec3/functions/one.d.ts +0 -2
- package/dist/math/vec3/functions/one.js +0 -23
- package/dist/math/vec3/functions/one.js.map +0 -1
- package/dist/math/vec3/functions/pow.d.ts +0 -2
- package/dist/math/vec3/functions/pow.js +0 -27
- package/dist/math/vec3/functions/pow.js.map +0 -1
- package/dist/math/vec3/functions/random.d.ts +0 -2
- package/dist/math/vec3/functions/random.js +0 -25
- package/dist/math/vec3/functions/random.js.map +0 -1
- package/dist/math/vec3/functions/reflect.d.ts +0 -2
- package/dist/math/vec3/functions/reflect.js +0 -29
- package/dist/math/vec3/functions/reflect.js.map +0 -1
- package/dist/math/vec3/functions/refract.d.ts +0 -2
- package/dist/math/vec3/functions/refract.js +0 -34
- package/dist/math/vec3/functions/refract.js.map +0 -1
- package/dist/math/vec3/functions/round.d.ts +0 -2
- package/dist/math/vec3/functions/round.js +0 -23
- package/dist/math/vec3/functions/round.js.map +0 -1
- package/dist/math/vec3/functions/scale.d.ts +0 -2
- package/dist/math/vec3/functions/scale.js +0 -23
- package/dist/math/vec3/functions/scale.js.map +0 -1
- package/dist/math/vec3/functions/schema.d.ts +0 -11
- package/dist/math/vec3/functions/schema.js +0 -30
- package/dist/math/vec3/functions/schema.js.map +0 -1
- package/dist/math/vec3/functions/sign.d.ts +0 -2
- package/dist/math/vec3/functions/sign.js +0 -23
- package/dist/math/vec3/functions/sign.js.map +0 -1
- package/dist/math/vec3/functions/sin.d.ts +0 -2
- package/dist/math/vec3/functions/sin.js +0 -23
- package/dist/math/vec3/functions/sin.js.map +0 -1
- package/dist/math/vec3/functions/sinh.d.ts +0 -2
- package/dist/math/vec3/functions/sinh.js +0 -23
- package/dist/math/vec3/functions/sinh.js.map +0 -1
- package/dist/math/vec3/functions/smooth-step.d.ts +0 -2
- package/dist/math/vec3/functions/smooth-step.js +0 -32
- package/dist/math/vec3/functions/smooth-step.js.map +0 -1
- package/dist/math/vec3/functions/sqrt.d.ts +0 -2
- package/dist/math/vec3/functions/sqrt.js +0 -23
- package/dist/math/vec3/functions/sqrt.js.map +0 -1
- package/dist/math/vec3/functions/step.d.ts +0 -2
- package/dist/math/vec3/functions/step.js +0 -27
- package/dist/math/vec3/functions/step.js.map +0 -1
- package/dist/math/vec3/functions/subtract.d.ts +0 -2
- package/dist/math/vec3/functions/subtract.js +0 -27
- package/dist/math/vec3/functions/subtract.js.map +0 -1
- package/dist/math/vec3/functions/tan.d.ts +0 -2
- package/dist/math/vec3/functions/tan.js +0 -23
- package/dist/math/vec3/functions/tan.js.map +0 -1
- package/dist/math/vec3/functions/tanh.d.ts +0 -2
- package/dist/math/vec3/functions/tanh.js +0 -23
- package/dist/math/vec3/functions/tanh.js.map +0 -1
- package/dist/math/vec3/functions/trunc.d.ts +0 -2
- package/dist/math/vec3/functions/trunc.js +0 -23
- package/dist/math/vec3/functions/trunc.js.map +0 -1
- package/dist/math/vec3/functions/zero.d.ts +0 -2
- package/dist/math/vec3/functions/zero.js +0 -23
- package/dist/math/vec3/functions/zero.js.map +0 -1
- package/dist/math/vec3/vec3.d.ts +0 -4
- package/dist/math/vec3/vec3.js +0 -23
- package/dist/math/vec3/vec3.js.map +0 -1
- package/dist/math/vec4/constants/functions.d.ts +0 -49
- package/dist/math/vec4/constants/functions.js +0 -150
- package/dist/math/vec4/constants/functions.js.map +0 -1
- package/dist/math/vec4/constants/index.d.ts +0 -3
- package/dist/math/vec4/constants/index.js +0 -25
- package/dist/math/vec4/constants/index.js.map +0 -1
- package/dist/math/vec4/constants/layout.d.ts +0 -1
- package/dist/math/vec4/constants/layout.js +0 -25
- package/dist/math/vec4/constants/layout.js.map +0 -1
- package/dist/math/vec4/constants/schema.d.ts +0 -11
- package/dist/math/vec4/constants/schema.js +0 -30
- package/dist/math/vec4/constants/schema.js.map +0 -1
- package/dist/math/vec4/functions/abs.d.ts +0 -2
- package/dist/math/vec4/functions/abs.js +0 -23
- package/dist/math/vec4/functions/abs.js.map +0 -1
- package/dist/math/vec4/functions/ceil.d.ts +0 -2
- package/dist/math/vec4/functions/ceil.js +0 -23
- package/dist/math/vec4/functions/ceil.js.map +0 -1
- package/dist/math/vec4/functions/clamp.d.ts +0 -2
- package/dist/math/vec4/functions/clamp.js +0 -25
- package/dist/math/vec4/functions/clamp.js.map +0 -1
- package/dist/math/vec4/functions/floor.d.ts +0 -2
- package/dist/math/vec4/functions/floor.js +0 -23
- package/dist/math/vec4/functions/floor.js.map +0 -1
- package/dist/math/vec4/functions/layout.d.ts +0 -1
- package/dist/math/vec4/functions/layout.js +0 -25
- package/dist/math/vec4/functions/layout.js.map +0 -1
- package/dist/math/vec4/functions/max.d.ts +0 -2
- package/dist/math/vec4/functions/max.js +0 -28
- package/dist/math/vec4/functions/max.js.map +0 -1
- package/dist/math/vec4/functions/min.d.ts +0 -2
- package/dist/math/vec4/functions/min.js +0 -28
- package/dist/math/vec4/functions/min.js.map +0 -1
- package/dist/math/vec4/functions/round.d.ts +0 -2
- package/dist/math/vec4/functions/round.js +0 -23
- package/dist/math/vec4/functions/round.js.map +0 -1
- package/dist/math/vec4/functions/schema.d.ts +0 -11
- package/dist/math/vec4/functions/schema.js +0 -30
- package/dist/math/vec4/functions/schema.js.map +0 -1
- package/dist/math/vec4/functions/trunc.d.ts +0 -2
- package/dist/math/vec4/functions/trunc.js +0 -23
- package/dist/math/vec4/functions/trunc.js.map +0 -1
- package/dist/math/vec4/vec4.d.ts +0 -4
- package/dist/math/vec4/vec4.js +0 -23
- package/dist/math/vec4/vec4.js.map +0 -1
- package/dist/observe/create-observable-event.d.ts +0 -10
- package/dist/observe/create-observable-event.js +0 -22
- package/dist/observe/create-observable-event.js.map +0 -1
- package/dist/observe/create-observable-state.d.ts +0 -7
- package/dist/observe/create-observable-state.js +0 -27
- package/dist/observe/create-observable-state.js.map +0 -1
- package/dist/observe/types.d.ts +0 -17
- package/dist/observe/types.js +0 -2
- package/dist/observe/types.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/schema/boolean.d.ts +0 -3
- package/dist/schema/boolean.js +0 -25
- package/dist/schema/boolean.js.map +0 -1
- package/dist/schema/f32.d.ts +0 -6
- package/dist/schema/f32.js +0 -6
- package/dist/schema/f32.js.map +0 -1
- package/dist/schema/f64.d.ts +0 -6
- package/dist/schema/f64.js +0 -6
- package/dist/schema/f64.js.map +0 -1
- package/dist/schema/i32.d.ts +0 -7
- package/dist/schema/i32.js +0 -7
- package/dist/schema/i32.js.map +0 -1
- package/dist/schema/schema/index.d.ts +0 -2
- package/dist/schema/schema/index.js +0 -23
- package/dist/schema/schema/index.js.map +0 -1
- package/dist/schema/schema/nullable.d.ts +0 -6
- package/dist/schema/schema/nullable.js +0 -6
- package/dist/schema/schema/nullable.js.map +0 -1
- package/dist/schema/schema/public.d.ts +0 -3
- package/dist/schema/schema/public.js +0 -25
- package/dist/schema/schema/public.js.map +0 -1
- package/dist/schema/schema/to-vertex-buffer-layout.d.ts +0 -56
- package/dist/schema/schema/to-vertex-buffer-layout.js +0 -143
- package/dist/schema/schema/to-vertex-buffer-layout.js.map +0 -1
- package/dist/schema/schema/types.d.ts +0 -150
- package/dist/schema/schema/types.js +0 -34
- package/dist/schema/schema/types.js.map +0 -1
- package/dist/schema/time.d.ts +0 -7
- package/dist/schema/time.js +0 -24
- package/dist/schema/time.js.map +0 -1
- package/dist/schema/true.d.ts +0 -6
- package/dist/schema/true.js +0 -2
- package/dist/schema/true.js.map +0 -1
- package/dist/schema/u32.d.ts +0 -7
- package/dist/schema/u32.js +0 -7
- package/dist/schema/u32.js.map +0 -1
- package/dist/table/constants/functions.d.ts +0 -3
- package/dist/table/constants/functions.js +0 -34
- package/dist/table/constants/functions.js.map +0 -1
- package/dist/table/constants/index.d.ts +0 -1
- package/dist/table/constants/index.js +0 -23
- package/dist/table/constants/index.js.map +0 -1
- /package/dist/{ecs/database/create-database.test.d.ts → debug-type-test.d.ts} +0 -0
- /package/dist/ecs/database/{replicate.test.d.ts → create-database-schema-test.d.ts} +0 -0
- /package/dist/ecs/database/{transactional-store/coalesce-transactions.test.d.ts → create-plugin-v2.test.d.ts} +0 -0
- /package/dist/ecs/database/{transactional-store/entity-id-preservation.test.d.ts → database-with-systems.test.d.ts} +0 -0
- /package/dist/ecs/{store/create-store.test.d.ts → database/database.plugin.create.test.OLD.d.ts} +0 -0
- /package/dist/ecs/{store/store-schema/create-store-schema-test.d.ts → database/database.plugin.create.test.d.ts} +0 -0
- /package/dist/ecs/{store/store-schema/create-store-schema.d.ts → database/database.plugin.test.d.ts} +0 -0
- /package/dist/ecs/{store/store-schema/index.d.ts → database/database.test copy.d.ts} +0 -0
- /package/dist/ecs/{store/store-schema/store-schema.d.ts → database/multi-param-inference-poc.test.d.ts} +0 -0
- /package/dist/ecs/{world/world-schema/create-world-schema-test.d.ts → database/overload-inference-poc.test.d.ts} +0 -0
- /package/dist/{graphics/camera/screen-to-world-ray.test.d.ts → ecs/database/test-exactkeys.d.ts} +0 -0
- /package/dist/{graphics/camera/world-to-screen.test.d.ts → ecs/database/type-inference-poc.test.d.ts} +0 -0
- /package/dist/{graphics/frame.d.ts → ecs/plugins/scheduler/create-scheduler-plugin.test.d.ts} +0 -0
- /package/dist/{graphics/get-web-gpu-device-and-context.d.ts → ecs/plugins/scheduler/type-inference-test.d.ts} +0 -0
- /package/dist/{graphics/graphics-context.d.ts → ecs/system/system-factory/public/create.test.d.ts} +0 -0
- /package/dist/{math/aabb-face/aabb-face.test.d.ts → ecs/system/world-schema/public/create.test.d.ts} +0 -0
- /package/dist/{math/aabb-face/face.test.d.ts → ecs/world/calculate-system-order.test.d.ts} +0 -0
- /package/dist/{math/aabb/functions.d.ts → ecs/world/create-world-schema-test.d.ts} +0 -0
- /package/dist/{math/face/face.test.d.ts → ecs/world/create-world-type-test.d.ts} +0 -0
- /package/dist/{math/picking/face.d.ts → ecs/world/public/world-schema/public/create.test.d.ts} +0 -0
- /package/dist/{math/transform/debug-inverse.d.ts → ecs/world/system-schedule-typing-test.d.ts} +0 -0
- /package/dist/{math/transform/debug-quat.d.ts → ecs/world/world-schema/public/create.test.d.ts} +0 -0
- /package/dist/{math/transform/debug-test.d.ts → ecs/world/world.test.d.ts} +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Database } from "./ecs/database/database.js";
|
|
2
|
+
const aSchema = Database.Plugin.create({
|
|
3
|
+
components: { a: { type: "number" } },
|
|
4
|
+
archetypes: { one: ["a"] }
|
|
5
|
+
});
|
|
6
|
+
const bSchema = Database.Plugin.create({
|
|
7
|
+
components: { x: { type: "number" } },
|
|
8
|
+
});
|
|
9
|
+
const cSchema = Database.Plugin.create({
|
|
10
|
+
components: { m: { type: "number" } },
|
|
11
|
+
}, [aSchema, bSchema]);
|
|
12
|
+
//# sourceMappingURL=debug-type-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-type-test.js","sourceRoot":"","sources":["../src/debug-type-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACnC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACrC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACnC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;CACxC,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACnC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;CACxC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare const plugin1: Required<import("./database.js").Database.Plugin<{
|
|
2
|
+
readonly position: {
|
|
3
|
+
readonly type: "number";
|
|
4
|
+
};
|
|
5
|
+
readonly velocity: {
|
|
6
|
+
readonly type: "number";
|
|
7
|
+
};
|
|
8
|
+
}, import("../resource-schemas.js").ResourceSchemas, {
|
|
9
|
+
readonly StaticEntity: readonly ["position"];
|
|
10
|
+
readonly DynamicEntity: readonly ["position", "velocity"];
|
|
11
|
+
}, import("../store/action-functions.js").ActionDeclarations<any, any, any>, string>>;
|
|
12
|
+
declare const plugin2: Required<import("./database.js").Database.Plugin<{
|
|
13
|
+
readonly position: {
|
|
14
|
+
readonly type: "number";
|
|
15
|
+
};
|
|
16
|
+
}, import("../resource-schemas.js").ResourceSchemas, import("../index.js").ArchetypeComponents<import("../../types/types.js").StringKeyof<{
|
|
17
|
+
readonly position: {
|
|
18
|
+
readonly type: "number";
|
|
19
|
+
};
|
|
20
|
+
} & import("../optional-components.js").OptionalComponents>>, import("../store/action-functions.js").ActionDeclarations<any, any, any>, string>>;
|
|
21
|
+
export { plugin1, plugin2 };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { createPlugin } from "./create-plugin.js";
|
|
2
|
+
// Test 1: System should have typed archetype access
|
|
3
|
+
const plugin1 = createPlugin({
|
|
4
|
+
components: {
|
|
5
|
+
position: { type: "number" },
|
|
6
|
+
velocity: { type: "number" }
|
|
7
|
+
},
|
|
8
|
+
archetypes: {
|
|
9
|
+
StaticEntity: ["position"],
|
|
10
|
+
DynamicEntity: ["position", "velocity"]
|
|
11
|
+
},
|
|
12
|
+
systems: {
|
|
13
|
+
testSystem: {
|
|
14
|
+
create: (db) => () => {
|
|
15
|
+
// Should have typed access to archetypes
|
|
16
|
+
const staticArch = db.archetypes.StaticEntity;
|
|
17
|
+
const dynamicArch = db.archetypes.DynamicEntity;
|
|
18
|
+
// @ts-expect-error - NonExistent archetype doesn't exist
|
|
19
|
+
const invalid = db.archetypes.NonExistent;
|
|
20
|
+
return { staticArch, dynamicArch, invalid };
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
// Test 2: Invalid component reference should be caught
|
|
26
|
+
const plugin2 = createPlugin({
|
|
27
|
+
components: {
|
|
28
|
+
position: { type: "number" }
|
|
29
|
+
},
|
|
30
|
+
archetypes: {
|
|
31
|
+
// @ts-expect-error - velocity component doesn't exist
|
|
32
|
+
Entity: ["position", "velocity"]
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
export { plugin1, plugin2 };
|
|
36
|
+
//# sourceMappingURL=archetype-type-safety-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archetype-type-safety-test.js","sourceRoot":"","sources":["../../../src/ecs/database/archetype-type-safety-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,oDAAoD;AACpD,MAAM,OAAO,GAAG,YAAY,CAAC;IACzB,UAAU,EAAE;QACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC/B;IACD,UAAU,EAAE;QACR,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;KAC1C;IACD,OAAO,EAAE;QACL,UAAU,EAAE;YACR,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;gBACjB,yCAAyC;gBACzC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC9C,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;gBAEhD,yDAAyD;gBACzD,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;gBAE1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;YAChD,CAAC;SACJ;KACJ;CACJ,CAAC,CAAC;AAEH,uDAAuD;AACvD,MAAM,OAAO,GAAG,YAAY,CAAC;IACzB,UAAU,EAAE;QACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC/B;IACD,UAAU,EAAE;QACR,sDAAsD;QACtD,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;KACnC;CACJ,CAAC,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
type SystemDeclaration = {
|
|
2
2
|
readonly create: (...args: any[]) => any;
|
|
3
|
+
/**
|
|
4
|
+
* Scheduling constraints for system execution order.
|
|
5
|
+
* - `before`: Hard constraint - this system must run before the listed systems
|
|
6
|
+
* - `after`: Hard constraint - this system must run after the listed systems
|
|
7
|
+
* - `during`: Soft constraint - prefer to run in the same tier as the listed systems, if dependencies allow
|
|
8
|
+
*/
|
|
3
9
|
readonly schedule?: {
|
|
4
10
|
readonly before?: readonly string[];
|
|
5
11
|
readonly after?: readonly string[];
|
|
12
|
+
readonly during?: readonly string[];
|
|
6
13
|
};
|
|
7
14
|
};
|
|
8
15
|
/**
|
|
@@ -10,6 +17,9 @@ type SystemDeclaration = {
|
|
|
10
17
|
* Returns a 2D array where each sub-array represents a tier of systems that can
|
|
11
18
|
* execute in parallel.
|
|
12
19
|
*
|
|
20
|
+
* Hard constraints (before/after) are satisfied first, then soft constraints (during)
|
|
21
|
+
* are applied to optimize tier placement when possible.
|
|
22
|
+
*
|
|
13
23
|
* @param systems - Object mapping system names to their declarations
|
|
14
24
|
* @returns Array of tiers, where each tier is an array of system names that can run in parallel
|
|
15
25
|
* @throws Error if circular dependencies are detected
|
|
@@ -20,28 +20,18 @@ 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
|
/**
|
|
23
|
-
*
|
|
24
|
-
* Returns a
|
|
25
|
-
* execute in parallel.
|
|
26
|
-
*
|
|
27
|
-
* @param systems - Object mapping system names to their declarations
|
|
28
|
-
* @returns Array of tiers, where each tier is an array of system names that can run in parallel
|
|
29
|
-
* @throws Error if circular dependencies are detected
|
|
23
|
+
* Builds a dependency graph from system scheduling constraints.
|
|
24
|
+
* Returns a map where each system maps to the set of systems that must run before it.
|
|
30
25
|
*/
|
|
31
|
-
|
|
32
|
-
const systemNames = Object.keys(systems);
|
|
33
|
-
if (systemNames.length === 0) {
|
|
34
|
-
return [];
|
|
35
|
-
}
|
|
36
|
-
// Build dependency graph: dependsOn[system] = set of systems that must run before it
|
|
26
|
+
const buildDependencyGraph = (systemNames, systems) => {
|
|
37
27
|
const dependsOn = new Map();
|
|
28
|
+
// Initialize all systems with empty dependency sets
|
|
38
29
|
for (const name of systemNames) {
|
|
39
30
|
dependsOn.set(name, new Set());
|
|
40
31
|
}
|
|
41
32
|
// Process scheduling constraints
|
|
42
33
|
for (const name of systemNames) {
|
|
43
|
-
const
|
|
44
|
-
const schedule = system.schedule;
|
|
34
|
+
const schedule = systems[name].schedule;
|
|
45
35
|
if (schedule?.after) {
|
|
46
36
|
for (const dep of schedule.after) {
|
|
47
37
|
dependsOn.get(name).add(dep);
|
|
@@ -53,11 +43,16 @@ export const calculateSystemOrder = (systems) => {
|
|
|
53
43
|
}
|
|
54
44
|
}
|
|
55
45
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
46
|
+
return dependsOn;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Detects cycles in the dependency graph using DFS.
|
|
50
|
+
* @throws Error if a circular dependency is detected
|
|
51
|
+
*/
|
|
52
|
+
const detectCycles = (systemNames, dependsOn) => {
|
|
53
|
+
const visited = new Set();
|
|
54
|
+
const stack = new Set();
|
|
55
|
+
const detectCycle = (node) => {
|
|
61
56
|
if (stack.has(node)) {
|
|
62
57
|
return true;
|
|
63
58
|
}
|
|
@@ -68,22 +63,26 @@ export const calculateSystemOrder = (systems) => {
|
|
|
68
63
|
stack.add(node);
|
|
69
64
|
const deps = dependsOn.get(node);
|
|
70
65
|
for (const dep of deps) {
|
|
71
|
-
if (detectCycle(dep
|
|
66
|
+
if (detectCycle(dep)) {
|
|
72
67
|
return true;
|
|
73
68
|
}
|
|
74
69
|
}
|
|
75
70
|
stack.delete(node);
|
|
76
71
|
return false;
|
|
77
72
|
};
|
|
78
|
-
// Check for cycles
|
|
79
|
-
const visited = new Set();
|
|
80
|
-
const stack = new Set();
|
|
81
73
|
for (const name of systemNames) {
|
|
82
|
-
if (detectCycle(name
|
|
74
|
+
if (detectCycle(name)) {
|
|
83
75
|
throw new Error("Circular dependency detected in system scheduling");
|
|
84
76
|
}
|
|
85
77
|
}
|
|
86
|
-
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Builds tiers of systems using topological sort.
|
|
81
|
+
* Systems in the same tier can run in parallel.
|
|
82
|
+
*/
|
|
83
|
+
const buildTiers = (systemNames, dependsOn) => {
|
|
84
|
+
const tiers = [];
|
|
85
|
+
const processed = new Set();
|
|
87
86
|
while (processed.size < systemNames.length) {
|
|
88
87
|
const currentTier = [];
|
|
89
88
|
for (const name of systemNames) {
|
|
@@ -110,4 +109,131 @@ export const calculateSystemOrder = (systems) => {
|
|
|
110
109
|
}
|
|
111
110
|
return tiers;
|
|
112
111
|
};
|
|
112
|
+
/**
|
|
113
|
+
* Finds which tier index contains the given system.
|
|
114
|
+
* Returns -1 if not found.
|
|
115
|
+
*/
|
|
116
|
+
const findSystemTier = (tiers, system) => {
|
|
117
|
+
for (let i = 0; i < tiers.length; i++) {
|
|
118
|
+
if (tiers[i].includes(system)) {
|
|
119
|
+
return i;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return -1;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Checks if a system can be moved to a target tier without violating dependencies.
|
|
126
|
+
*/
|
|
127
|
+
const canMoveToTier = (system, targetTierIndex, tiers, dependsOn) => {
|
|
128
|
+
// Build reverse dependency map on-demand: systems that depend on this system
|
|
129
|
+
const dependentsOf = new Set();
|
|
130
|
+
for (const [name, deps] of dependsOn.entries()) {
|
|
131
|
+
if (deps.has(system)) {
|
|
132
|
+
dependentsOf.add(name);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// All dependencies must be in tiers strictly before target tier
|
|
136
|
+
const deps = dependsOn.get(system);
|
|
137
|
+
for (const dep of deps) {
|
|
138
|
+
const depTier = findSystemTier(tiers, dep);
|
|
139
|
+
if (depTier >= targetTierIndex) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// All dependents must be in tiers strictly after target tier
|
|
144
|
+
for (const dependent of dependentsOf) {
|
|
145
|
+
const dependentTier = findSystemTier(tiers, dependent);
|
|
146
|
+
if (dependentTier <= targetTierIndex) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return true;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Finds the best target tier for a system based on its "during" constraints.
|
|
154
|
+
* Returns the tier index with the most targets, or -1 if no valid target found.
|
|
155
|
+
*/
|
|
156
|
+
const findBestTargetTier = (system, targets, tiers) => {
|
|
157
|
+
let bestTierIndex = -1;
|
|
158
|
+
let bestTargetCount = 0;
|
|
159
|
+
for (const target of targets) {
|
|
160
|
+
const targetTierIndex = findSystemTier(tiers, target);
|
|
161
|
+
if (targetTierIndex === -1) {
|
|
162
|
+
continue; // Target doesn't exist, skip
|
|
163
|
+
}
|
|
164
|
+
// Count how many targets are in this tier
|
|
165
|
+
const targetCount = targets.filter(t => {
|
|
166
|
+
const tier = findSystemTier(tiers, t);
|
|
167
|
+
return tier !== -1 && tier === targetTierIndex;
|
|
168
|
+
}).length;
|
|
169
|
+
if (targetCount > bestTargetCount) {
|
|
170
|
+
bestTargetCount = targetCount;
|
|
171
|
+
bestTierIndex = targetTierIndex;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return bestTierIndex;
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Optimizes tier placement for systems with "during" constraints.
|
|
178
|
+
* Attempts to move systems to the same tier as their targets when dependencies allow.
|
|
179
|
+
*/
|
|
180
|
+
const optimizeDuringConstraints = (tiers, systemNames, systems, dependsOn) => {
|
|
181
|
+
// Collect systems with "during" constraints
|
|
182
|
+
const systemsWithDuring = [];
|
|
183
|
+
for (const name of systemNames) {
|
|
184
|
+
const schedule = systems[name].schedule;
|
|
185
|
+
if (schedule?.during && schedule.during.length > 0) {
|
|
186
|
+
systemsWithDuring.push({ system: name, targets: schedule.during });
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// Try to optimize placement for each system with "during" constraints
|
|
190
|
+
for (const { system, targets } of systemsWithDuring) {
|
|
191
|
+
const currentTierIndex = findSystemTier(tiers, system);
|
|
192
|
+
const bestTierIndex = findBestTargetTier(system, targets, tiers);
|
|
193
|
+
// If we found a valid target tier different from current, try to move
|
|
194
|
+
if (bestTierIndex !== -1 && bestTierIndex !== currentTierIndex) {
|
|
195
|
+
if (canMoveToTier(system, bestTierIndex, tiers, dependsOn)) {
|
|
196
|
+
// Move system to target tier
|
|
197
|
+
const currentTier = tiers[currentTierIndex];
|
|
198
|
+
const targetTier = tiers[bestTierIndex];
|
|
199
|
+
// Remove from current tier
|
|
200
|
+
const index = currentTier.indexOf(system);
|
|
201
|
+
if (index !== -1) {
|
|
202
|
+
currentTier.splice(index, 1);
|
|
203
|
+
}
|
|
204
|
+
// Add to target tier and maintain alphabetical order
|
|
205
|
+
targetTier.push(system);
|
|
206
|
+
targetTier.sort();
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* Calculates the execution order for systems based on their scheduling constraints.
|
|
213
|
+
* Returns a 2D array where each sub-array represents a tier of systems that can
|
|
214
|
+
* execute in parallel.
|
|
215
|
+
*
|
|
216
|
+
* Hard constraints (before/after) are satisfied first, then soft constraints (during)
|
|
217
|
+
* are applied to optimize tier placement when possible.
|
|
218
|
+
*
|
|
219
|
+
* @param systems - Object mapping system names to their declarations
|
|
220
|
+
* @returns Array of tiers, where each tier is an array of system names that can run in parallel
|
|
221
|
+
* @throws Error if circular dependencies are detected
|
|
222
|
+
*/
|
|
223
|
+
export const calculateSystemOrder = (systems) => {
|
|
224
|
+
const systemNames = Object.keys(systems);
|
|
225
|
+
if (systemNames.length === 0) {
|
|
226
|
+
return [];
|
|
227
|
+
}
|
|
228
|
+
// Phase 1: Build dependency graph from hard constraints (before/after)
|
|
229
|
+
const dependsOn = buildDependencyGraph(systemNames, systems);
|
|
230
|
+
// Phase 2: Detect cycles
|
|
231
|
+
detectCycles(systemNames, dependsOn);
|
|
232
|
+
// Phase 3: Build tiers using topological sort
|
|
233
|
+
const tiers = buildTiers(systemNames, dependsOn);
|
|
234
|
+
// Phase 4: Optimize tier placement using soft constraints (during)
|
|
235
|
+
optimizeDuringConstraints(tiers, systemNames, systems, dependsOn);
|
|
236
|
+
// Filter out any empty tiers that may have been created during optimization
|
|
237
|
+
return tiers.filter(tier => tier.length > 0);
|
|
238
|
+
};
|
|
113
239
|
//# sourceMappingURL=calculate-system-order.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate-system-order.js","sourceRoot":"","sources":["../../../src/ecs/database/calculate-system-order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;
|
|
1
|
+
{"version":3,"file":"calculate-system-order.js","sourceRoot":"","sources":["../../../src/ecs/database/calculate-system-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -164,5 +164,233 @@ describe("calculateSystemOrder", () => {
|
|
|
164
164
|
};
|
|
165
165
|
expect(() => calculateSystemOrder(systems)).toThrow("Circular dependency detected in system scheduling");
|
|
166
166
|
});
|
|
167
|
+
describe("during scheduling", () => {
|
|
168
|
+
test("system with during constraint and no other constraints", async () => {
|
|
169
|
+
const systems = {
|
|
170
|
+
targetSystem: { create: () => () => { } },
|
|
171
|
+
companionSystem: {
|
|
172
|
+
create: () => () => { },
|
|
173
|
+
schedule: { during: ["targetSystem"] }
|
|
174
|
+
},
|
|
175
|
+
};
|
|
176
|
+
const actual = calculateSystemOrder(systems);
|
|
177
|
+
const expected = [["companionSystem", "targetSystem"]];
|
|
178
|
+
await assert({
|
|
179
|
+
given: "system with during constraint and no other constraints",
|
|
180
|
+
should: "place it in the same tier as the target system",
|
|
181
|
+
actual,
|
|
182
|
+
expected,
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
test("during that conflicts with after constraint", async () => {
|
|
186
|
+
const systems = {
|
|
187
|
+
earlySystem: { create: () => () => { } },
|
|
188
|
+
targetSystem: {
|
|
189
|
+
create: () => () => { },
|
|
190
|
+
schedule: { after: ["earlySystem"] }
|
|
191
|
+
},
|
|
192
|
+
companionSystem: {
|
|
193
|
+
create: () => () => { },
|
|
194
|
+
schedule: {
|
|
195
|
+
after: ["earlySystem"],
|
|
196
|
+
during: ["targetSystem"]
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
const actual = calculateSystemOrder(systems);
|
|
201
|
+
// companionSystem must be after earlySystem, so it can be in same tier as targetSystem
|
|
202
|
+
const expected = [
|
|
203
|
+
["earlySystem"],
|
|
204
|
+
["companionSystem", "targetSystem"]
|
|
205
|
+
];
|
|
206
|
+
await assert({
|
|
207
|
+
given: "during that is compatible with after constraint",
|
|
208
|
+
should: "satisfy after first, then place in same tier as during target",
|
|
209
|
+
actual,
|
|
210
|
+
expected,
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
test("during that conflicts with after constraint - incompatible case", async () => {
|
|
214
|
+
const systems = {
|
|
215
|
+
earlySystem: { create: () => () => { } },
|
|
216
|
+
targetSystem: { create: () => () => { } },
|
|
217
|
+
companionSystem: {
|
|
218
|
+
create: () => () => { },
|
|
219
|
+
schedule: {
|
|
220
|
+
after: ["targetSystem"],
|
|
221
|
+
during: ["earlySystem"] // Can't be during earlySystem if it's after targetSystem
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
};
|
|
225
|
+
const actual = calculateSystemOrder(systems);
|
|
226
|
+
// companionSystem must be after targetSystem, so it cannot be in same tier as earlySystem
|
|
227
|
+
const expected = [
|
|
228
|
+
["earlySystem", "targetSystem"],
|
|
229
|
+
["companionSystem"]
|
|
230
|
+
];
|
|
231
|
+
await assert({
|
|
232
|
+
given: "during that conflicts with after constraint",
|
|
233
|
+
should: "prioritize after and ignore during preference",
|
|
234
|
+
actual,
|
|
235
|
+
expected,
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
test("during that conflicts with before constraint", async () => {
|
|
239
|
+
const systems = {
|
|
240
|
+
targetSystem: { create: () => () => { } },
|
|
241
|
+
lateSystem: {
|
|
242
|
+
create: () => () => { },
|
|
243
|
+
schedule: { after: ["targetSystem"] }
|
|
244
|
+
},
|
|
245
|
+
companionSystem: {
|
|
246
|
+
create: () => () => { },
|
|
247
|
+
schedule: {
|
|
248
|
+
before: ["lateSystem"],
|
|
249
|
+
during: ["lateSystem"] // Can't be during lateSystem if it's before lateSystem
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
};
|
|
253
|
+
const actual = calculateSystemOrder(systems);
|
|
254
|
+
// companionSystem must be before lateSystem, so it cannot be in same tier as lateSystem
|
|
255
|
+
const expected = [
|
|
256
|
+
["companionSystem", "targetSystem"],
|
|
257
|
+
["lateSystem"]
|
|
258
|
+
];
|
|
259
|
+
await assert({
|
|
260
|
+
given: "during that conflicts with before constraint",
|
|
261
|
+
should: "prioritize before and ignore during preference",
|
|
262
|
+
actual,
|
|
263
|
+
expected,
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
test("multiple systems with during targeting the same system", async () => {
|
|
267
|
+
const systems = {
|
|
268
|
+
targetSystem: { create: () => () => { } },
|
|
269
|
+
companion1: {
|
|
270
|
+
create: () => () => { },
|
|
271
|
+
schedule: { during: ["targetSystem"] }
|
|
272
|
+
},
|
|
273
|
+
companion2: {
|
|
274
|
+
create: () => () => { },
|
|
275
|
+
schedule: { during: ["targetSystem"] }
|
|
276
|
+
},
|
|
277
|
+
};
|
|
278
|
+
const actual = calculateSystemOrder(systems);
|
|
279
|
+
const expected = [["companion1", "companion2", "targetSystem"]];
|
|
280
|
+
await assert({
|
|
281
|
+
given: "multiple systems with during targeting the same system",
|
|
282
|
+
should: "place them all in the same tier as the target",
|
|
283
|
+
actual,
|
|
284
|
+
expected,
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
test("during with multiple targets prefers tier with most targets", async () => {
|
|
288
|
+
const systems = {
|
|
289
|
+
targetA: { create: () => () => { } },
|
|
290
|
+
targetB: {
|
|
291
|
+
create: () => () => { },
|
|
292
|
+
schedule: { after: ["targetA"] }
|
|
293
|
+
},
|
|
294
|
+
companion: {
|
|
295
|
+
create: () => () => { },
|
|
296
|
+
schedule: { during: ["targetA", "targetB"] }
|
|
297
|
+
},
|
|
298
|
+
};
|
|
299
|
+
const actual = calculateSystemOrder(systems);
|
|
300
|
+
// companion can be in either tier, but should prefer tier with most targets
|
|
301
|
+
// Since targetA is alone in tier 0 and targetB is alone in tier 1, either works
|
|
302
|
+
// Algorithm will prefer the first tier it encounters, so it should be with targetA
|
|
303
|
+
const expected = [
|
|
304
|
+
["companion", "targetA"],
|
|
305
|
+
["targetB"]
|
|
306
|
+
];
|
|
307
|
+
await assert({
|
|
308
|
+
given: "during with multiple targets",
|
|
309
|
+
should: "prefer tier with most targets or first available",
|
|
310
|
+
actual,
|
|
311
|
+
expected,
|
|
312
|
+
});
|
|
313
|
+
});
|
|
314
|
+
test("during target that doesn't exist is handled gracefully", async () => {
|
|
315
|
+
const systems = {
|
|
316
|
+
existingSystem: { create: () => () => { } },
|
|
317
|
+
companionSystem: {
|
|
318
|
+
create: () => () => { },
|
|
319
|
+
schedule: { during: ["nonExistentSystem"] }
|
|
320
|
+
},
|
|
321
|
+
};
|
|
322
|
+
const actual = calculateSystemOrder(systems);
|
|
323
|
+
// Should not crash, companionSystem should be scheduled normally
|
|
324
|
+
const expected = [["companionSystem", "existingSystem"]];
|
|
325
|
+
await assert({
|
|
326
|
+
given: "during target that doesn't exist",
|
|
327
|
+
should: "handle gracefully without breaking the algorithm",
|
|
328
|
+
actual,
|
|
329
|
+
expected,
|
|
330
|
+
});
|
|
331
|
+
});
|
|
332
|
+
test("during with compatible after constraint", async () => {
|
|
333
|
+
const systems = {
|
|
334
|
+
earlySystem: { create: () => () => { } },
|
|
335
|
+
targetSystem: {
|
|
336
|
+
create: () => () => { },
|
|
337
|
+
schedule: { after: ["earlySystem"] }
|
|
338
|
+
},
|
|
339
|
+
companionSystem: {
|
|
340
|
+
create: () => () => { },
|
|
341
|
+
schedule: {
|
|
342
|
+
after: ["earlySystem"],
|
|
343
|
+
during: ["targetSystem"]
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
};
|
|
347
|
+
const actual = calculateSystemOrder(systems);
|
|
348
|
+
// Both targetSystem and companionSystem are after earlySystem, so they can be together
|
|
349
|
+
const expected = [
|
|
350
|
+
["earlySystem"],
|
|
351
|
+
["companionSystem", "targetSystem"]
|
|
352
|
+
];
|
|
353
|
+
await assert({
|
|
354
|
+
given: "during with compatible after constraint",
|
|
355
|
+
should: "place system in same tier as target when dependencies allow",
|
|
356
|
+
actual,
|
|
357
|
+
expected,
|
|
358
|
+
});
|
|
359
|
+
});
|
|
360
|
+
test("complex scenario with during and hard constraints", async () => {
|
|
361
|
+
const systems = {
|
|
362
|
+
inputSystem: { create: () => () => { } },
|
|
363
|
+
physicsSystem: {
|
|
364
|
+
create: () => () => { },
|
|
365
|
+
schedule: { after: ["inputSystem"] }
|
|
366
|
+
},
|
|
367
|
+
aiSystem: {
|
|
368
|
+
create: () => () => { },
|
|
369
|
+
schedule: { after: ["inputSystem"] }
|
|
370
|
+
},
|
|
371
|
+
debugSystem: {
|
|
372
|
+
create: () => () => { },
|
|
373
|
+
schedule: { during: ["physicsSystem", "aiSystem"] }
|
|
374
|
+
},
|
|
375
|
+
renderSystem: {
|
|
376
|
+
create: () => () => { },
|
|
377
|
+
schedule: { after: ["physicsSystem", "aiSystem"] }
|
|
378
|
+
},
|
|
379
|
+
};
|
|
380
|
+
const actual = calculateSystemOrder(systems);
|
|
381
|
+
// debugSystem can be in tier with physicsSystem and aiSystem since it has no hard constraints
|
|
382
|
+
const expected = [
|
|
383
|
+
["inputSystem"],
|
|
384
|
+
["aiSystem", "debugSystem", "physicsSystem"],
|
|
385
|
+
["renderSystem"]
|
|
386
|
+
];
|
|
387
|
+
await assert({
|
|
388
|
+
given: "complex scenario with during and hard constraints",
|
|
389
|
+
should: "optimize placement while respecting all hard constraints",
|
|
390
|
+
actual,
|
|
391
|
+
expected,
|
|
392
|
+
});
|
|
393
|
+
});
|
|
394
|
+
});
|
|
167
395
|
});
|
|
168
396
|
//# sourceMappingURL=calculate-system-order.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate-system-order.test.js","sourceRoot":"","sources":["../../../src/ecs/database/calculate-system-order.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calculate-system-order.test.js","sourceRoot":"","sources":["../../../src/ecs/database/calculate-system-order.test.ts"],"names":[],"mappings":"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"}
|