@adobe/ecs 0.0.0-stage → 0.2.0
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/LICENSE +21 -0
- package/README.md +57 -2
- package/dist/implementation/compiler/access.d.ts +6 -0
- package/dist/implementation/compiler/access.js +159 -0
- package/dist/implementation/compiler/access.js.map +1 -0
- package/dist/implementation/compiler/archetypes.d.ts +17 -0
- package/dist/implementation/compiler/archetypes.js +141 -0
- package/dist/implementation/compiler/archetypes.js.map +1 -0
- package/dist/implementation/compiler/assign.d.ts +7 -0
- package/dist/implementation/compiler/assign.js +162 -0
- package/dist/implementation/compiler/assign.js.map +1 -0
- package/dist/implementation/compiler/augmentations.d.ts +25 -0
- package/dist/implementation/compiler/augmentations.js +943 -0
- package/dist/implementation/compiler/augmentations.js.map +1 -0
- package/dist/implementation/compiler/bind.d.ts +9 -0
- package/dist/implementation/compiler/bind.js +83 -0
- package/dist/implementation/compiler/bind.js.map +1 -0
- package/dist/implementation/compiler/body-access.d.ts +32 -0
- package/dist/implementation/compiler/body-access.js +479 -0
- package/dist/implementation/compiler/body-access.js.map +1 -0
- package/dist/implementation/compiler/booleans.d.ts +8 -0
- package/dist/implementation/compiler/booleans.js +35 -0
- package/dist/implementation/compiler/booleans.js.map +1 -0
- package/dist/implementation/compiler/branches.d.ts +16 -0
- package/dist/implementation/compiler/branches.js +38 -0
- package/dist/implementation/compiler/branches.js.map +1 -0
- package/dist/implementation/compiler/calls.d.ts +6 -0
- package/dist/implementation/compiler/calls.js +401 -0
- package/dist/implementation/compiler/calls.js.map +1 -0
- package/dist/implementation/compiler/columns.d.ts +26 -0
- package/dist/implementation/compiler/columns.js +53 -0
- package/dist/implementation/compiler/columns.js.map +1 -0
- package/dist/implementation/compiler/compile-kernel.d.ts +37 -0
- package/dist/implementation/compiler/compile-kernel.js +183 -0
- package/dist/implementation/compiler/compile-kernel.js.map +1 -0
- package/dist/implementation/compiler/compiler.d.ts +6 -0
- package/dist/implementation/compiler/compiler.js +7 -0
- package/dist/implementation/compiler/compiler.js.map +1 -0
- package/dist/implementation/compiler/data.d.ts +30 -0
- package/dist/implementation/compiler/data.js +77 -0
- package/dist/implementation/compiler/data.js.map +1 -0
- package/dist/implementation/compiler/describe.d.ts +41 -0
- package/dist/implementation/compiler/describe.js +510 -0
- package/dist/implementation/compiler/describe.js.map +1 -0
- package/dist/implementation/compiler/estree.d.ts +18 -0
- package/dist/implementation/compiler/estree.js +62 -0
- package/dist/implementation/compiler/estree.js.map +1 -0
- package/dist/implementation/compiler/expression.d.ts +6 -0
- package/dist/implementation/compiler/expression.js +153 -0
- package/dist/implementation/compiler/expression.js.map +1 -0
- package/dist/implementation/compiler/failure.d.ts +27 -0
- package/dist/implementation/compiler/failure.js +24 -0
- package/dist/implementation/compiler/failure.js.map +1 -0
- package/dist/implementation/compiler/identify.d.ts +43 -0
- package/dist/implementation/compiler/identify.js +207 -0
- package/dist/implementation/compiler/identify.js.map +1 -0
- package/dist/implementation/compiler/index.d.ts +5 -0
- package/dist/implementation/compiler/index.js +7 -0
- package/dist/implementation/compiler/index.js.map +1 -0
- package/dist/implementation/compiler/inferred.d.ts +32 -0
- package/dist/implementation/compiler/inferred.js +185 -0
- package/dist/implementation/compiler/inferred.js.map +1 -0
- package/dist/implementation/compiler/inline-kernels.d.ts +7 -0
- package/dist/implementation/compiler/inline-kernels.js +16 -0
- package/dist/implementation/compiler/inline-kernels.js.map +1 -0
- package/dist/implementation/compiler/input-schemas.d.ts +23 -0
- package/dist/implementation/compiler/input-schemas.js +102 -0
- package/dist/implementation/compiler/input-schemas.js.map +1 -0
- package/dist/implementation/compiler/ir.d.ts +226 -0
- package/dist/implementation/compiler/ir.js +28 -0
- package/dist/implementation/compiler/ir.js.map +1 -0
- package/dist/implementation/compiler/kernel-id.d.ts +17 -0
- package/dist/implementation/compiler/kernel-id.js +28 -0
- package/dist/implementation/compiler/kernel-id.js.map +1 -0
- package/dist/implementation/compiler/key.d.ts +21 -0
- package/dist/implementation/compiler/key.js +21 -0
- package/dist/implementation/compiler/key.js.map +1 -0
- package/dist/implementation/compiler/link.d.ts +83 -0
- package/dist/implementation/compiler/link.js +186 -0
- package/dist/implementation/compiler/link.js.map +1 -0
- package/dist/implementation/compiler/lists.d.ts +50 -0
- package/dist/implementation/compiler/lists.js +210 -0
- package/dist/implementation/compiler/lists.js.map +1 -0
- package/dist/implementation/compiler/lookups.d.ts +24 -0
- package/dist/implementation/compiler/lookups.js +118 -0
- package/dist/implementation/compiler/lookups.js.map +1 -0
- package/dist/implementation/compiler/math.d.ts +3 -0
- package/dist/implementation/compiler/math.js +10 -0
- package/dist/implementation/compiler/math.js.map +1 -0
- package/dist/implementation/compiler/memory-compiler.d.ts +61 -0
- package/dist/implementation/compiler/memory-compiler.js +271 -0
- package/dist/implementation/compiler/memory-compiler.js.map +1 -0
- package/dist/implementation/compiler/module-scope.d.ts +53 -0
- package/dist/implementation/compiler/module-scope.js +121 -0
- package/dist/implementation/compiler/module-scope.js.map +1 -0
- package/dist/implementation/compiler/module-value.d.ts +15 -0
- package/dist/implementation/compiler/module-value.js +139 -0
- package/dist/implementation/compiler/module-value.js.map +1 -0
- package/dist/implementation/compiler/out.d.ts +4 -0
- package/dist/implementation/compiler/out.js +2 -0
- package/dist/implementation/compiler/out.js.map +1 -0
- package/dist/implementation/compiler/oxc.d.ts +41 -0
- package/dist/implementation/compiler/oxc.js +80 -0
- package/dist/implementation/compiler/oxc.js.map +1 -0
- package/dist/implementation/compiler/package-copies.d.ts +60 -0
- package/dist/implementation/compiler/package-copies.js +140 -0
- package/dist/implementation/compiler/package-copies.js.map +1 -0
- package/dist/implementation/compiler/passes.d.ts +25 -0
- package/dist/implementation/compiler/passes.js +24 -0
- package/dist/implementation/compiler/passes.js.map +1 -0
- package/dist/implementation/compiler/paths.d.ts +5 -0
- package/dist/implementation/compiler/paths.js +20 -0
- package/dist/implementation/compiler/paths.js.map +1 -0
- package/dist/implementation/compiler/plugin.d.ts +18 -0
- package/dist/implementation/compiler/plugin.js +397 -0
- package/dist/implementation/compiler/plugin.js.map +1 -0
- package/dist/implementation/compiler/posix.d.ts +8 -0
- package/dist/implementation/compiler/posix.js +205 -0
- package/dist/implementation/compiler/posix.js.map +1 -0
- package/dist/implementation/compiler/predicates.d.ts +11 -0
- package/dist/implementation/compiler/predicates.js +281 -0
- package/dist/implementation/compiler/predicates.js.map +1 -0
- package/dist/implementation/compiler/print.d.ts +12 -0
- package/dist/implementation/compiler/print.js +116 -0
- package/dist/implementation/compiler/print.js.map +1 -0
- package/dist/implementation/compiler/program.d.ts +10 -0
- package/dist/implementation/compiler/program.js +258 -0
- package/dist/implementation/compiler/program.js.map +1 -0
- package/dist/implementation/compiler/public.d.ts +1 -0
- package/dist/implementation/compiler/public.js +3 -0
- package/dist/implementation/compiler/public.js.map +1 -0
- package/dist/implementation/compiler/scalar.d.ts +8 -0
- package/dist/implementation/compiler/scalar.js +47 -0
- package/dist/implementation/compiler/scalar.js.map +1 -0
- package/dist/implementation/compiler/scope.d.ts +24 -0
- package/dist/implementation/compiler/scope.js +4 -0
- package/dist/implementation/compiler/scope.js.map +1 -0
- package/dist/implementation/compiler/serialize.d.ts +2 -0
- package/dist/implementation/compiler/serialize.js +15 -0
- package/dist/implementation/compiler/serialize.js.map +1 -0
- package/dist/implementation/compiler/signature.d.ts +60 -0
- package/dist/implementation/compiler/signature.js +188 -0
- package/dist/implementation/compiler/signature.js.map +1 -0
- package/dist/implementation/compiler/snapshot.d.ts +23 -0
- package/dist/implementation/compiler/snapshot.js +18 -0
- package/dist/implementation/compiler/snapshot.js.map +1 -0
- package/dist/implementation/compiler/source-map.d.ts +34 -0
- package/dist/implementation/compiler/source-map.js +131 -0
- package/dist/implementation/compiler/source-map.js.map +1 -0
- package/dist/implementation/compiler/spawns.d.ts +41 -0
- package/dist/implementation/compiler/spawns.js +164 -0
- package/dist/implementation/compiler/spawns.js.map +1 -0
- package/dist/implementation/compiler/stamps.d.ts +13 -0
- package/dist/implementation/compiler/stamps.js +44 -0
- package/dist/implementation/compiler/stamps.js.map +1 -0
- package/dist/implementation/compiler/statement.d.ts +7 -0
- package/dist/implementation/compiler/statement.js +112 -0
- package/dist/implementation/compiler/statement.js.map +1 -0
- package/dist/implementation/compiler/terminal.d.ts +8 -0
- package/dist/implementation/compiler/terminal.js +51 -0
- package/dist/implementation/compiler/terminal.js.map +1 -0
- package/dist/implementation/compiler/transform.d.ts +81 -0
- package/dist/implementation/compiler/transform.js +483 -0
- package/dist/implementation/compiler/transform.js.map +1 -0
- package/dist/implementation/compiler/type-schemas.d.ts +130 -0
- package/dist/implementation/compiler/type-schemas.js +701 -0
- package/dist/implementation/compiler/type-schemas.js.map +1 -0
- package/dist/implementation/compiler/unit.d.ts +108 -0
- package/dist/implementation/compiler/unit.js +39 -0
- package/dist/implementation/compiler/unit.js.map +1 -0
- package/dist/implementation/compiler/value.d.ts +115 -0
- package/dist/implementation/compiler/value.js +9 -0
- package/dist/implementation/compiler/value.js.map +1 -0
- package/dist/implementation/compiler/wat.d.ts +12 -0
- package/dist/implementation/compiler/wat.js +379 -0
- package/dist/implementation/compiler/wat.js.map +1 -0
- package/dist/implementation/index.d.ts +2 -0
- package/dist/implementation/index.js +4 -0
- package/dist/implementation/index.js.map +1 -0
- package/dist/implementation/world/activate.d.ts +21 -0
- package/dist/implementation/world/activate.js +137 -0
- package/dist/implementation/world/activate.js.map +1 -0
- package/dist/implementation/world/archetype.d.ts +191 -0
- package/dist/implementation/world/archetype.js +402 -0
- package/dist/implementation/world/archetype.js.map +1 -0
- package/dist/implementation/world/arrays.d.ts +29 -0
- package/dist/implementation/world/arrays.js +34 -0
- package/dist/implementation/world/arrays.js.map +1 -0
- package/dist/implementation/world/arrivals.d.ts +52 -0
- package/dist/implementation/world/arrivals.js +146 -0
- package/dist/implementation/world/arrivals.js.map +1 -0
- package/dist/implementation/world/attach-kernel.d.ts +10 -0
- package/dist/implementation/world/attach-kernel.js +30 -0
- package/dist/implementation/world/attach-kernel.js.map +1 -0
- package/dist/implementation/world/batches.d.ts +18 -0
- package/dist/implementation/world/batches.js +208 -0
- package/dist/implementation/world/batches.js.map +1 -0
- package/dist/implementation/world/buffer.d.ts +60 -0
- package/dist/implementation/world/buffer.js +138 -0
- package/dist/implementation/world/buffer.js.map +1 -0
- package/dist/implementation/world/cascade.d.ts +28 -0
- package/dist/implementation/world/cascade.js +139 -0
- package/dist/implementation/world/cascade.js.map +1 -0
- package/dist/implementation/world/cells.d.ts +7 -0
- package/dist/implementation/world/cells.js +22 -0
- package/dist/implementation/world/cells.js.map +1 -0
- package/dist/implementation/world/check-kernel.d.ts +12 -0
- package/dist/implementation/world/check-kernel.js +119 -0
- package/dist/implementation/world/check-kernel.js.map +1 -0
- package/dist/implementation/world/claims.d.ts +13 -0
- package/dist/implementation/world/claims.js +51 -0
- package/dist/implementation/world/claims.js.map +1 -0
- package/dist/implementation/world/closure.d.ts +12 -0
- package/dist/implementation/world/closure.js +44 -0
- package/dist/implementation/world/closure.js.map +1 -0
- package/dist/implementation/world/command-ring.d.ts +97 -0
- package/dist/implementation/world/command-ring.js +439 -0
- package/dist/implementation/world/command-ring.js.map +1 -0
- package/dist/implementation/world/commands.d.ts +25 -0
- package/dist/implementation/world/commands.js +96 -0
- package/dist/implementation/world/commands.js.map +1 -0
- package/dist/implementation/world/create.d.ts +101 -0
- package/dist/implementation/world/create.js +1009 -0
- package/dist/implementation/world/create.js.map +1 -0
- package/dist/implementation/world/directories.d.ts +28 -0
- package/dist/implementation/world/directories.js +68 -0
- package/dist/implementation/world/directories.js.map +1 -0
- package/dist/implementation/world/entities.d.ts +77 -0
- package/dist/implementation/world/entities.js +137 -0
- package/dist/implementation/world/entities.js.map +1 -0
- package/dist/implementation/world/execute.d.ts +30 -0
- package/dist/implementation/world/execute.js +757 -0
- package/dist/implementation/world/execute.js.map +1 -0
- package/dist/implementation/world/failures.d.ts +53 -0
- package/dist/implementation/world/failures.js +37 -0
- package/dist/implementation/world/failures.js.map +1 -0
- package/dist/implementation/world/finalizers.d.ts +65 -0
- package/dist/implementation/world/finalizers.js +436 -0
- package/dist/implementation/world/finalizers.js.map +1 -0
- package/dist/implementation/world/gpu.d.ts +64 -0
- package/dist/implementation/world/gpu.js +326 -0
- package/dist/implementation/world/gpu.js.map +1 -0
- package/dist/implementation/world/holders.d.ts +21 -0
- package/dist/implementation/world/holders.js +66 -0
- package/dist/implementation/world/holders.js.map +1 -0
- package/dist/implementation/world/index-build.d.ts +88 -0
- package/dist/implementation/world/index-build.js +405 -0
- package/dist/implementation/world/index-build.js.map +1 -0
- package/dist/implementation/world/index-hash.d.ts +138 -0
- package/dist/implementation/world/index-hash.js +809 -0
- package/dist/implementation/world/index-hash.js.map +1 -0
- package/dist/implementation/world/index-keys.d.ts +75 -0
- package/dist/implementation/world/index-keys.js +252 -0
- package/dist/implementation/world/index-keys.js.map +1 -0
- package/dist/implementation/world/index-lookups.d.ts +76 -0
- package/dist/implementation/world/index-lookups.js +572 -0
- package/dist/implementation/world/index-lookups.js.map +1 -0
- package/dist/implementation/world/index-order.d.ts +21 -0
- package/dist/implementation/world/index-order.js +174 -0
- package/dist/implementation/world/index-order.js.map +1 -0
- package/dist/implementation/world/index-readers.d.ts +101 -0
- package/dist/implementation/world/index-readers.js +341 -0
- package/dist/implementation/world/index-readers.js.map +1 -0
- package/dist/implementation/world/index-sorted.d.ts +120 -0
- package/dist/implementation/world/index-sorted.js +637 -0
- package/dist/implementation/world/index-sorted.js.map +1 -0
- package/dist/implementation/world/indexes.d.ts +134 -0
- package/dist/implementation/world/indexes.js +1116 -0
- package/dist/implementation/world/indexes.js.map +1 -0
- package/dist/implementation/world/input.d.ts +3 -0
- package/dist/implementation/world/input.js +17 -0
- package/dist/implementation/world/input.js.map +1 -0
- package/dist/implementation/world/intrinsics.d.ts +5 -0
- package/dist/implementation/world/intrinsics.js +33 -0
- package/dist/implementation/world/intrinsics.js.map +1 -0
- package/dist/implementation/world/join.d.ts +26 -0
- package/dist/implementation/world/join.js +766 -0
- package/dist/implementation/world/join.js.map +1 -0
- package/dist/implementation/world/joined-observer.d.ts +208 -0
- package/dist/implementation/world/joined-observer.js +810 -0
- package/dist/implementation/world/joined-observer.js.map +1 -0
- package/dist/implementation/world/joining.d.ts +392 -0
- package/dist/implementation/world/joining.js +187 -0
- package/dist/implementation/world/joining.js.map +1 -0
- package/dist/implementation/world/journal.d.ts +22 -0
- package/dist/implementation/world/journal.js +25 -0
- package/dist/implementation/world/journal.js.map +1 -0
- package/dist/implementation/world/kernel-indexes.d.ts +37 -0
- package/dist/implementation/world/kernel-indexes.js +182 -0
- package/dist/implementation/world/kernel-indexes.js.map +1 -0
- package/dist/implementation/world/kernel.d.ts +392 -0
- package/dist/implementation/world/kernel.js +5 -0
- package/dist/implementation/world/kernel.js.map +1 -0
- package/dist/implementation/world/kernels.d.ts +88 -0
- package/dist/implementation/world/kernels.js +356 -0
- package/dist/implementation/world/kernels.js.map +1 -0
- package/dist/implementation/world/layout-directory.d.ts +123 -0
- package/dist/implementation/world/layout-directory.js +273 -0
- package/dist/implementation/world/layout-directory.js.map +1 -0
- package/dist/implementation/world/lists.d.ts +86 -0
- package/dist/implementation/world/lists.js +258 -0
- package/dist/implementation/world/lists.js.map +1 -0
- package/dist/implementation/world/lookup-keys.d.ts +20 -0
- package/dist/implementation/world/lookup-keys.js +48 -0
- package/dist/implementation/world/lookup-keys.js.map +1 -0
- package/dist/implementation/world/loop.d.ts +73 -0
- package/dist/implementation/world/loop.js +252 -0
- package/dist/implementation/world/loop.js.map +1 -0
- package/dist/implementation/world/memory.d.ts +40 -0
- package/dist/implementation/world/memory.js +65 -0
- package/dist/implementation/world/memory.js.map +1 -0
- package/dist/implementation/world/mirror.d.ts +125 -0
- package/dist/implementation/world/mirror.js +570 -0
- package/dist/implementation/world/mirror.js.map +1 -0
- package/dist/implementation/world/move-log.d.ts +107 -0
- package/dist/implementation/world/move-log.js +165 -0
- package/dist/implementation/world/move-log.js.map +1 -0
- package/dist/implementation/world/observer.d.ts +16 -0
- package/dist/implementation/world/observer.js +130 -0
- package/dist/implementation/world/observer.js.map +1 -0
- package/dist/implementation/world/order.d.ts +38 -0
- package/dist/implementation/world/order.js +324 -0
- package/dist/implementation/world/order.js.map +1 -0
- package/dist/implementation/world/out-of-band.d.ts +28 -0
- package/dist/implementation/world/out-of-band.js +66 -0
- package/dist/implementation/world/out-of-band.js.map +1 -0
- package/dist/implementation/world/plan.d.ts +50 -0
- package/dist/implementation/world/plan.js +20 -0
- package/dist/implementation/world/plan.js.map +1 -0
- package/dist/implementation/world/pool.d.ts +70 -0
- package/dist/implementation/world/pool.js +264 -0
- package/dist/implementation/world/pool.js.map +1 -0
- package/dist/implementation/world/port.d.ts +62 -0
- package/dist/implementation/world/port.js +109 -0
- package/dist/implementation/world/port.js.map +1 -0
- package/dist/implementation/world/prepared-lookup.d.ts +11 -0
- package/dist/implementation/world/prepared-lookup.js +99 -0
- package/dist/implementation/world/prepared-lookup.js.map +1 -0
- package/dist/implementation/world/prepared-spawn.d.ts +39 -0
- package/dist/implementation/world/prepared-spawn.js +119 -0
- package/dist/implementation/world/prepared-spawn.js.map +1 -0
- package/dist/implementation/world/program.d.ts +11 -0
- package/dist/implementation/world/program.js +12 -0
- package/dist/implementation/world/program.js.map +1 -0
- package/dist/implementation/world/protocol.d.ts +192 -0
- package/dist/implementation/world/protocol.js +41 -0
- package/dist/implementation/world/protocol.js.map +1 -0
- package/dist/implementation/world/publish.d.ts +9 -0
- package/dist/implementation/world/publish.js +28 -0
- package/dist/implementation/world/publish.js.map +1 -0
- package/dist/implementation/world/ranges.d.ts +21 -0
- package/dist/implementation/world/ranges.js +130 -0
- package/dist/implementation/world/ranges.js.map +1 -0
- package/dist/implementation/world/reclaim.d.ts +27 -0
- package/dist/implementation/world/reclaim.js +176 -0
- package/dist/implementation/world/reclaim.js.map +1 -0
- package/dist/implementation/world/reductions.d.ts +33 -0
- package/dist/implementation/world/reductions.js +92 -0
- package/dist/implementation/world/reductions.js.map +1 -0
- package/dist/implementation/world/register.d.ts +64 -0
- package/dist/implementation/world/register.js +368 -0
- package/dist/implementation/world/register.js.map +1 -0
- package/dist/implementation/world/remote-systems.d.ts +144 -0
- package/dist/implementation/world/remote-systems.js +556 -0
- package/dist/implementation/world/remote-systems.js.map +1 -0
- package/dist/implementation/world/remote.d.ts +25 -0
- package/dist/implementation/world/remote.js +138 -0
- package/dist/implementation/world/remote.js.map +1 -0
- package/dist/implementation/world/render-order.d.ts +19 -0
- package/dist/implementation/world/render-order.js +126 -0
- package/dist/implementation/world/render-order.js.map +1 -0
- package/dist/implementation/world/required.d.ts +3 -0
- package/dist/implementation/world/required.js +9 -0
- package/dist/implementation/world/required.js.map +1 -0
- package/dist/implementation/world/resources.d.ts +23 -0
- package/dist/implementation/world/resources.js +66 -0
- package/dist/implementation/world/resources.js.map +1 -0
- package/dist/implementation/world/rows.d.ts +111 -0
- package/dist/implementation/world/rows.js +549 -0
- package/dist/implementation/world/rows.js.map +1 -0
- package/dist/implementation/world/runner.d.ts +133 -0
- package/dist/implementation/world/runner.js +1334 -0
- package/dist/implementation/world/runner.js.map +1 -0
- package/dist/implementation/world/shared.d.ts +55 -0
- package/dist/implementation/world/shared.js +301 -0
- package/dist/implementation/world/shared.js.map +1 -0
- package/dist/implementation/world/sharing.d.ts +48 -0
- package/dist/implementation/world/sharing.js +611 -0
- package/dist/implementation/world/sharing.js.map +1 -0
- package/dist/implementation/world/staging.d.ts +83 -0
- package/dist/implementation/world/staging.js +195 -0
- package/dist/implementation/world/staging.js.map +1 -0
- package/dist/implementation/world/state.d.ts +320 -0
- package/dist/implementation/world/state.js +459 -0
- package/dist/implementation/world/state.js.map +1 -0
- package/dist/implementation/world/stop-lists.d.ts +137 -0
- package/dist/implementation/world/stop-lists.js +305 -0
- package/dist/implementation/world/stop-lists.js.map +1 -0
- package/dist/implementation/world/strings.d.ts +48 -0
- package/dist/implementation/world/strings.js +214 -0
- package/dist/implementation/world/strings.js.map +1 -0
- package/dist/implementation/world/structure.d.ts +39 -0
- package/dist/implementation/world/structure.js +42 -0
- package/dist/implementation/world/structure.js.map +1 -0
- package/dist/implementation/world/synchronize.d.ts +32 -0
- package/dist/implementation/world/synchronize.js +910 -0
- package/dist/implementation/world/synchronize.js.map +1 -0
- package/dist/implementation/world/tail-blocks.d.ts +43 -0
- package/dist/implementation/world/tail-blocks.js +59 -0
- package/dist/implementation/world/tail-blocks.js.map +1 -0
- package/dist/implementation/world/tails.d.ts +119 -0
- package/dist/implementation/world/tails.js +448 -0
- package/dist/implementation/world/tails.js.map +1 -0
- package/dist/implementation/world/terminal.d.ts +7 -0
- package/dist/implementation/world/terminal.js +13 -0
- package/dist/implementation/world/terminal.js.map +1 -0
- package/dist/implementation/world/thread-directory.d.ts +72 -0
- package/dist/implementation/world/thread-directory.js +243 -0
- package/dist/implementation/world/thread-directory.js.map +1 -0
- package/dist/implementation/world/thread-finalizers.d.ts +51 -0
- package/dist/implementation/world/thread-finalizers.js +376 -0
- package/dist/implementation/world/thread-finalizers.js.map +1 -0
- package/dist/implementation/world/thread-indexes.d.ts +28 -0
- package/dist/implementation/world/thread-indexes.js +72 -0
- package/dist/implementation/world/thread-indexes.js.map +1 -0
- package/dist/implementation/world/thread-observer.d.ts +43 -0
- package/dist/implementation/world/thread-observer.js +223 -0
- package/dist/implementation/world/thread-observer.js.map +1 -0
- package/dist/implementation/world/thread-systems.d.ts +121 -0
- package/dist/implementation/world/thread-systems.js +1487 -0
- package/dist/implementation/world/thread-systems.js.map +1 -0
- package/dist/implementation/world/thread-tasks.d.ts +65 -0
- package/dist/implementation/world/thread-tasks.js +74 -0
- package/dist/implementation/world/thread-tasks.js.map +1 -0
- package/dist/implementation/world/transfers.d.ts +30 -0
- package/dist/implementation/world/transfers.js +101 -0
- package/dist/implementation/world/transfers.js.map +1 -0
- package/dist/implementation/world/up.d.ts +35 -0
- package/dist/implementation/world/up.js +939 -0
- package/dist/implementation/world/up.js.map +1 -0
- package/dist/implementation/world/wasm.d.ts +143 -0
- package/dist/implementation/world/wasm.js +2460 -0
- package/dist/implementation/world/wasm.js.map +1 -0
- package/dist/implementation/world/wgsl.d.ts +22 -0
- package/dist/implementation/world/wgsl.js +497 -0
- package/dist/implementation/world/wgsl.js.map +1 -0
- package/dist/implementation/world/where.d.ts +74 -0
- package/dist/implementation/world/where.js +202 -0
- package/dist/implementation/world/where.js.map +1 -0
- package/dist/implementation/world/worker-platform.d.ts +37 -0
- package/dist/implementation/world/worker-platform.js +80 -0
- package/dist/implementation/world/worker-platform.js.map +1 -0
- package/dist/implementation/world/worker-window.d.ts +7 -0
- package/dist/implementation/world/worker-window.js +47 -0
- package/dist/implementation/world/worker-window.js.map +1 -0
- package/dist/implementation/world/worker.d.ts +1 -0
- package/dist/implementation/world/worker.js +496 -0
- package/dist/implementation/world/worker.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/interface/component/component.d.ts +2 -0
- package/dist/interface/component/component.js +3 -0
- package/dist/interface/component/component.js.map +1 -0
- package/dist/interface/component/index.d.ts +2 -0
- package/dist/interface/component/index.js +2 -0
- package/dist/interface/component/index.js.map +1 -0
- package/dist/interface/component/key.d.ts +2 -0
- package/dist/interface/component/key.js +2 -0
- package/dist/interface/component/key.js.map +1 -0
- package/dist/interface/component/types.d.ts +6 -0
- package/dist/interface/component/types.js +2 -0
- package/dist/interface/component/types.js.map +1 -0
- package/dist/interface/component/value.d.ts +39 -0
- package/dist/interface/component/value.js +2 -0
- package/dist/interface/component/value.js.map +1 -0
- package/dist/interface/component/values.d.ts +6 -0
- package/dist/interface/component/values.js +2 -0
- package/dist/interface/component/values.js.map +1 -0
- package/dist/interface/entity/entity.d.ts +9 -0
- package/dist/interface/entity/entity.js +2 -0
- package/dist/interface/entity/entity.js.map +1 -0
- package/dist/interface/entity/index.d.ts +10 -0
- package/dist/interface/entity/index.js +7 -0
- package/dist/interface/entity/index.js.map +1 -0
- package/dist/interface/finalizer/body.d.ts +53 -0
- package/dist/interface/finalizer/body.js +2 -0
- package/dist/interface/finalizer/body.js.map +1 -0
- package/dist/interface/finalizer/create.d.ts +43 -0
- package/dist/interface/finalizer/create.js +130 -0
- package/dist/interface/finalizer/create.js.map +1 -0
- package/dist/interface/finalizer/created.d.ts +16 -0
- package/dist/interface/finalizer/created.js +2 -0
- package/dist/interface/finalizer/created.js.map +1 -0
- package/dist/interface/finalizer/declaration.d.ts +58 -0
- package/dist/interface/finalizer/declaration.js +2 -0
- package/dist/interface/finalizer/declaration.js.map +1 -0
- package/dist/interface/finalizer/finalizer.d.ts +8 -0
- package/dist/interface/finalizer/finalizer.js +2 -0
- package/dist/interface/finalizer/finalizer.js.map +1 -0
- package/dist/interface/finalizer/index.d.ts +1 -0
- package/dist/interface/finalizer/index.js +3 -0
- package/dist/interface/finalizer/index.js.map +1 -0
- package/dist/interface/gpu/accessors.d.ts +15 -0
- package/dist/interface/gpu/accessors.js +87 -0
- package/dist/interface/gpu/accessors.js.map +1 -0
- package/dist/interface/gpu/gpu.d.ts +3 -0
- package/dist/interface/gpu/gpu.js +2 -0
- package/dist/interface/gpu/gpu.js.map +1 -0
- package/dist/interface/gpu/index.d.ts +2 -0
- package/dist/interface/gpu/index.js +4 -0
- package/dist/interface/gpu/index.js.map +1 -0
- package/dist/interface/gpu/layout.d.ts +5 -0
- package/dist/interface/gpu/layout.js +22 -0
- package/dist/interface/gpu/layout.js.map +1 -0
- package/dist/interface/gpu/record.d.ts +5 -0
- package/dist/interface/gpu/record.js +7 -0
- package/dist/interface/gpu/record.js.map +1 -0
- package/dist/interface/gpu/wgsl.d.ts +9 -0
- package/dist/interface/gpu/wgsl.js +24 -0
- package/dist/interface/gpu/wgsl.js.map +1 -0
- package/dist/interface/index.d.ts +16 -0
- package/dist/interface/index.js +12 -0
- package/dist/interface/index.js.map +1 -0
- package/dist/interface/indexes/create.d.ts +39 -0
- package/dist/interface/indexes/create.js +82 -0
- package/dist/interface/indexes/create.js.map +1 -0
- package/dist/interface/indexes/created.d.ts +7 -0
- package/dist/interface/indexes/created.js +2 -0
- package/dist/interface/indexes/created.js.map +1 -0
- package/dist/interface/indexes/declaration.d.ts +18 -0
- package/dist/interface/indexes/declaration.js +2 -0
- package/dist/interface/indexes/declaration.js.map +1 -0
- package/dist/interface/indexes/index-type.d.ts +12 -0
- package/dist/interface/indexes/index-type.js +2 -0
- package/dist/interface/indexes/index-type.js.map +1 -0
- package/dist/interface/indexes/index.d.ts +1 -0
- package/dist/interface/indexes/index.js +3 -0
- package/dist/interface/indexes/index.js.map +1 -0
- package/dist/interface/math/f32/default.d.ts +4 -0
- package/dist/interface/math/f32/default.js +4 -0
- package/dist/interface/math/f32/default.js.map +1 -0
- package/dist/interface/math/f32/index.d.ts +4 -0
- package/dist/interface/math/f32/index.js +2 -0
- package/dist/interface/math/f32/index.js.map +1 -0
- package/dist/interface/math/f32/public.d.ts +2 -0
- package/dist/interface/math/f32/public.js +4 -0
- package/dist/interface/math/f32/public.js.map +1 -0
- package/dist/interface/math/f32/round-half-even.d.ts +2 -0
- package/dist/interface/math/f32/round-half-even.js +7 -0
- package/dist/interface/math/f32/round-half-even.js.map +1 -0
- package/dist/interface/math/f32/schema.d.ts +4 -0
- package/dist/interface/math/f32/schema.js +2 -0
- package/dist/interface/math/f32/schema.js.map +1 -0
- package/dist/interface/math/i32/default.d.ts +4 -0
- package/dist/interface/math/i32/default.js +4 -0
- package/dist/interface/math/i32/default.js.map +1 -0
- package/dist/interface/math/i32/index.d.ts +5 -0
- package/dist/interface/math/i32/index.js +2 -0
- package/dist/interface/math/i32/index.js.map +1 -0
- package/dist/interface/math/i32/public.d.ts +3 -0
- package/dist/interface/math/i32/public.js +5 -0
- package/dist/interface/math/i32/public.js.map +1 -0
- package/dist/interface/math/i32/schema.d.ts +5 -0
- package/dist/interface/math/i32/schema.js +2 -0
- package/dist/interface/math/i32/schema.js.map +1 -0
- package/dist/interface/math/i32/shift-right.d.ts +2 -0
- package/dist/interface/math/i32/shift-right.js +2 -0
- package/dist/interface/math/i32/shift-right.js.map +1 -0
- package/dist/interface/math/index.d.ts +8 -0
- package/dist/interface/math/index.js +10 -0
- package/dist/interface/math/index.js.map +1 -0
- package/dist/interface/math/intrinsic.d.ts +13 -0
- package/dist/interface/math/intrinsic.js +10 -0
- package/dist/interface/math/intrinsic.js.map +1 -0
- package/dist/interface/math/mat4x4/add.d.ts +2 -0
- package/dist/interface/math/mat4x4/add.js +8 -0
- package/dist/interface/math/mat4x4/add.js.map +1 -0
- package/dist/interface/math/mat4x4/determinant.d.ts +2 -0
- package/dist/interface/math/mat4x4/determinant.js +18 -0
- package/dist/interface/math/mat4x4/determinant.js.map +1 -0
- package/dist/interface/math/mat4x4/identity.d.ts +2 -0
- package/dist/interface/math/mat4x4/identity.js +7 -0
- package/dist/interface/math/mat4x4/identity.js.map +1 -0
- package/dist/interface/math/mat4x4/index.d.ts +26 -0
- package/dist/interface/math/mat4x4/index.js +24 -0
- package/dist/interface/math/mat4x4/index.js.map +1 -0
- package/dist/interface/math/mat4x4/inverse.d.ts +2 -0
- package/dist/interface/math/mat4x4/inverse.js +40 -0
- package/dist/interface/math/mat4x4/inverse.js.map +1 -0
- package/dist/interface/math/mat4x4/look-at.d.ts +3 -0
- package/dist/interface/math/mat4x4/look-at.js +22 -0
- package/dist/interface/math/mat4x4/look-at.js.map +1 -0
- package/dist/interface/math/mat4x4/multiply-vec3.d.ts +3 -0
- package/dist/interface/math/mat4x4/multiply-vec3.js +6 -0
- package/dist/interface/math/mat4x4/multiply-vec3.js.map +1 -0
- package/dist/interface/math/mat4x4/multiply-vec4.d.ts +3 -0
- package/dist/interface/math/mat4x4/multiply-vec4.js +8 -0
- package/dist/interface/math/mat4x4/multiply-vec4.js.map +1 -0
- package/dist/interface/math/mat4x4/multiply.d.ts +3 -0
- package/dist/interface/math/mat4x4/multiply.js +21 -0
- package/dist/interface/math/mat4x4/multiply.js.map +1 -0
- package/dist/interface/math/mat4x4/orthographic.d.ts +2 -0
- package/dist/interface/math/mat4x4/orthographic.js +12 -0
- package/dist/interface/math/mat4x4/orthographic.js.map +1 -0
- package/dist/interface/math/mat4x4/perspective.d.ts +2 -0
- package/dist/interface/math/mat4x4/perspective.js +22 -0
- package/dist/interface/math/mat4x4/perspective.js.map +1 -0
- package/dist/interface/math/mat4x4/public.d.ts +21 -0
- package/dist/interface/math/mat4x4/public.js +23 -0
- package/dist/interface/math/mat4x4/public.js.map +1 -0
- package/dist/interface/math/mat4x4/rotation-x.d.ts +2 -0
- package/dist/interface/math/mat4x4/rotation-x.js +11 -0
- package/dist/interface/math/mat4x4/rotation-x.js.map +1 -0
- package/dist/interface/math/mat4x4/rotation-y.d.ts +2 -0
- package/dist/interface/math/mat4x4/rotation-y.js +11 -0
- package/dist/interface/math/mat4x4/rotation-y.js.map +1 -0
- package/dist/interface/math/mat4x4/rotation-z.d.ts +2 -0
- package/dist/interface/math/mat4x4/rotation-z.js +11 -0
- package/dist/interface/math/mat4x4/rotation-z.js.map +1 -0
- package/dist/interface/math/mat4x4/scale.d.ts +2 -0
- package/dist/interface/math/mat4x4/scale.js +8 -0
- package/dist/interface/math/mat4x4/scale.js.map +1 -0
- package/dist/interface/math/mat4x4/scaling.d.ts +2 -0
- package/dist/interface/math/mat4x4/scaling.js +7 -0
- package/dist/interface/math/mat4x4/scaling.js.map +1 -0
- package/dist/interface/math/mat4x4/schema.d.ts +9 -0
- package/dist/interface/math/mat4x4/schema.js +3 -0
- package/dist/interface/math/mat4x4/schema.js.map +1 -0
- package/dist/interface/math/mat4x4/subtract.d.ts +2 -0
- package/dist/interface/math/mat4x4/subtract.js +8 -0
- package/dist/interface/math/mat4x4/subtract.js.map +1 -0
- package/dist/interface/math/mat4x4/translation.d.ts +2 -0
- package/dist/interface/math/mat4x4/translation.js +7 -0
- package/dist/interface/math/mat4x4/translation.js.map +1 -0
- package/dist/interface/math/mat4x4/transpose.d.ts +2 -0
- package/dist/interface/math/mat4x4/transpose.js +8 -0
- package/dist/interface/math/mat4x4/transpose.js.map +1 -0
- package/dist/interface/math/mat4x4/zero.d.ts +2 -0
- package/dist/interface/math/mat4x4/zero.js +7 -0
- package/dist/interface/math/mat4x4/zero.js.map +1 -0
- package/dist/interface/math/quat/add.d.ts +2 -0
- package/dist/interface/math/quat/add.js +8 -0
- package/dist/interface/math/quat/add.js.map +1 -0
- package/dist/interface/math/quat/align-to.d.ts +12 -0
- package/dist/interface/math/quat/align-to.js +42 -0
- package/dist/interface/math/quat/align-to.js.map +1 -0
- package/dist/interface/math/quat/conjugate.d.ts +2 -0
- package/dist/interface/math/quat/conjugate.js +2 -0
- package/dist/interface/math/quat/conjugate.js.map +1 -0
- package/dist/interface/math/quat/distance.d.ts +2 -0
- package/dist/interface/math/quat/distance.js +4 -0
- package/dist/interface/math/quat/distance.js.map +1 -0
- package/dist/interface/math/quat/dot.d.ts +2 -0
- package/dist/interface/math/quat/dot.js +3 -0
- package/dist/interface/math/quat/dot.js.map +1 -0
- package/dist/interface/math/quat/from-axis-angle.d.ts +3 -0
- package/dist/interface/math/quat/from-axis-angle.js +13 -0
- package/dist/interface/math/quat/from-axis-angle.js.map +1 -0
- package/dist/interface/math/quat/from-euler.d.ts +2 -0
- package/dist/interface/math/quat/from-euler.js +15 -0
- package/dist/interface/math/quat/from-euler.js.map +1 -0
- package/dist/interface/math/quat/identity.d.ts +2 -0
- package/dist/interface/math/quat/identity.js +2 -0
- package/dist/interface/math/quat/identity.js.map +1 -0
- package/dist/interface/math/quat/index.d.ts +4 -0
- package/dist/interface/math/quat/index.js +2 -0
- package/dist/interface/math/quat/index.js.map +1 -0
- package/dist/interface/math/quat/inverse.d.ts +2 -0
- package/dist/interface/math/quat/inverse.js +10 -0
- package/dist/interface/math/quat/inverse.js.map +1 -0
- package/dist/interface/math/quat/length-squared.d.ts +2 -0
- package/dist/interface/math/quat/length-squared.js +2 -0
- package/dist/interface/math/quat/length-squared.js.map +1 -0
- package/dist/interface/math/quat/length.d.ts +2 -0
- package/dist/interface/math/quat/length.js +3 -0
- package/dist/interface/math/quat/length.js.map +1 -0
- package/dist/interface/math/quat/lerp.d.ts +2 -0
- package/dist/interface/math/quat/lerp.js +7 -0
- package/dist/interface/math/quat/lerp.js.map +1 -0
- package/dist/interface/math/quat/look-at.d.ts +3 -0
- package/dist/interface/math/quat/look-at.js +49 -0
- package/dist/interface/math/quat/look-at.js.map +1 -0
- package/dist/interface/math/quat/multiply.d.ts +2 -0
- package/dist/interface/math/quat/multiply.js +7 -0
- package/dist/interface/math/quat/multiply.js.map +1 -0
- package/dist/interface/math/quat/negate.d.ts +2 -0
- package/dist/interface/math/quat/negate.js +3 -0
- package/dist/interface/math/quat/negate.js.map +1 -0
- package/dist/interface/math/quat/normalize.d.ts +2 -0
- package/dist/interface/math/quat/normalize.js +7 -0
- package/dist/interface/math/quat/normalize.js.map +1 -0
- package/dist/interface/math/quat/public.d.ts +25 -0
- package/dist/interface/math/quat/public.js +27 -0
- package/dist/interface/math/quat/public.js.map +1 -0
- package/dist/interface/math/quat/rotate-vec3.d.ts +3 -0
- package/dist/interface/math/quat/rotate-vec3.js +14 -0
- package/dist/interface/math/quat/rotate-vec3.js.map +1 -0
- package/dist/interface/math/quat/scale.d.ts +2 -0
- package/dist/interface/math/quat/scale.js +3 -0
- package/dist/interface/math/quat/scale.js.map +1 -0
- package/dist/interface/math/quat/schema.d.ts +9 -0
- package/dist/interface/math/quat/schema.js +3 -0
- package/dist/interface/math/quat/schema.js.map +1 -0
- package/dist/interface/math/quat/slerp.d.ts +2 -0
- package/dist/interface/math/quat/slerp.js +21 -0
- package/dist/interface/math/quat/slerp.js.map +1 -0
- package/dist/interface/math/quat/subtract.d.ts +2 -0
- package/dist/interface/math/quat/subtract.js +8 -0
- package/dist/interface/math/quat/subtract.js.map +1 -0
- package/dist/interface/math/quat/to-axis-angle.d.ts +6 -0
- package/dist/interface/math/quat/to-axis-angle.js +12 -0
- package/dist/interface/math/quat/to-axis-angle.js.map +1 -0
- package/dist/interface/math/quat/to-euler.d.ts +3 -0
- package/dist/interface/math/quat/to-euler.js +21 -0
- package/dist/interface/math/quat/to-euler.js.map +1 -0
- package/dist/interface/math/quat/to-mat4.d.ts +8 -0
- package/dist/interface/math/quat/to-mat4.js +24 -0
- package/dist/interface/math/quat/to-mat4.js.map +1 -0
- package/dist/interface/math/u32/count-leading-zeros.d.ts +2 -0
- package/dist/interface/math/u32/count-leading-zeros.js +3 -0
- package/dist/interface/math/u32/count-leading-zeros.js.map +1 -0
- package/dist/interface/math/u32/count-one-bits.d.ts +2 -0
- package/dist/interface/math/u32/count-one-bits.js +9 -0
- package/dist/interface/math/u32/count-one-bits.js.map +1 -0
- package/dist/interface/math/u32/count-trailing-zeros.d.ts +2 -0
- package/dist/interface/math/u32/count-trailing-zeros.js +6 -0
- package/dist/interface/math/u32/count-trailing-zeros.js.map +1 -0
- package/dist/interface/math/u32/default.d.ts +4 -0
- package/dist/interface/math/u32/default.js +4 -0
- package/dist/interface/math/u32/default.js.map +1 -0
- package/dist/interface/math/u32/index.d.ts +5 -0
- package/dist/interface/math/u32/index.js +2 -0
- package/dist/interface/math/u32/index.js.map +1 -0
- package/dist/interface/math/u32/public.d.ts +7 -0
- package/dist/interface/math/u32/public.js +9 -0
- package/dist/interface/math/u32/public.js.map +1 -0
- package/dist/interface/math/u32/reverse-bits.d.ts +2 -0
- package/dist/interface/math/u32/reverse-bits.js +10 -0
- package/dist/interface/math/u32/reverse-bits.js.map +1 -0
- package/dist/interface/math/u32/schema.d.ts +5 -0
- package/dist/interface/math/u32/schema.js +2 -0
- package/dist/interface/math/u32/schema.js.map +1 -0
- package/dist/interface/math/u32/shift-right.d.ts +2 -0
- package/dist/interface/math/u32/shift-right.js +2 -0
- package/dist/interface/math/u32/shift-right.js.map +1 -0
- package/dist/interface/math/vec2/f32/abs.d.ts +2 -0
- package/dist/interface/math/vec2/f32/abs.js +3 -0
- package/dist/interface/math/vec2/f32/abs.js.map +1 -0
- package/dist/interface/math/vec2/f32/acos.d.ts +2 -0
- package/dist/interface/math/vec2/f32/acos.js +3 -0
- package/dist/interface/math/vec2/f32/acos.js.map +1 -0
- package/dist/interface/math/vec2/f32/acosh.d.ts +2 -0
- package/dist/interface/math/vec2/f32/acosh.js +3 -0
- package/dist/interface/math/vec2/f32/acosh.js.map +1 -0
- package/dist/interface/math/vec2/f32/add.d.ts +2 -0
- package/dist/interface/math/vec2/f32/add.js +3 -0
- package/dist/interface/math/vec2/f32/add.js.map +1 -0
- package/dist/interface/math/vec2/f32/asin.d.ts +2 -0
- package/dist/interface/math/vec2/f32/asin.js +3 -0
- package/dist/interface/math/vec2/f32/asin.js.map +1 -0
- package/dist/interface/math/vec2/f32/asinh.d.ts +2 -0
- package/dist/interface/math/vec2/f32/asinh.js +3 -0
- package/dist/interface/math/vec2/f32/asinh.js.map +1 -0
- package/dist/interface/math/vec2/f32/atan.d.ts +2 -0
- package/dist/interface/math/vec2/f32/atan.js +3 -0
- package/dist/interface/math/vec2/f32/atan.js.map +1 -0
- package/dist/interface/math/vec2/f32/atanh.d.ts +2 -0
- package/dist/interface/math/vec2/f32/atanh.js +3 -0
- package/dist/interface/math/vec2/f32/atanh.js.map +1 -0
- package/dist/interface/math/vec2/f32/ceil.d.ts +2 -0
- package/dist/interface/math/vec2/f32/ceil.js +3 -0
- package/dist/interface/math/vec2/f32/ceil.js.map +1 -0
- package/dist/interface/math/vec2/f32/clamp.d.ts +2 -0
- package/dist/interface/math/vec2/f32/clamp.js +5 -0
- package/dist/interface/math/vec2/f32/clamp.js.map +1 -0
- package/dist/interface/math/vec2/f32/cos.d.ts +2 -0
- package/dist/interface/math/vec2/f32/cos.js +3 -0
- package/dist/interface/math/vec2/f32/cos.js.map +1 -0
- package/dist/interface/math/vec2/f32/cosh.d.ts +2 -0
- package/dist/interface/math/vec2/f32/cosh.js +3 -0
- package/dist/interface/math/vec2/f32/cosh.js.map +1 -0
- package/dist/interface/math/vec2/f32/distance.d.ts +2 -0
- package/dist/interface/math/vec2/f32/distance.js +5 -0
- package/dist/interface/math/vec2/f32/distance.js.map +1 -0
- package/dist/interface/math/vec2/f32/dot.d.ts +2 -0
- package/dist/interface/math/vec2/f32/dot.js +3 -0
- package/dist/interface/math/vec2/f32/dot.js.map +1 -0
- package/dist/interface/math/vec2/f32/equals.d.ts +2 -0
- package/dist/interface/math/vec2/f32/equals.js +2 -0
- package/dist/interface/math/vec2/f32/equals.js.map +1 -0
- package/dist/interface/math/vec2/f32/exp.d.ts +2 -0
- package/dist/interface/math/vec2/f32/exp.js +3 -0
- package/dist/interface/math/vec2/f32/exp.js.map +1 -0
- package/dist/interface/math/vec2/f32/exp2.d.ts +2 -0
- package/dist/interface/math/vec2/f32/exp2.js +3 -0
- package/dist/interface/math/vec2/f32/exp2.js.map +1 -0
- package/dist/interface/math/vec2/f32/f32.d.ts +4 -0
- package/dist/interface/math/vec2/f32/f32.js +2 -0
- package/dist/interface/math/vec2/f32/f32.js.map +1 -0
- package/dist/interface/math/vec2/f32/faceforward.d.ts +2 -0
- package/dist/interface/math/vec2/f32/faceforward.js +5 -0
- package/dist/interface/math/vec2/f32/faceforward.js.map +1 -0
- package/dist/interface/math/vec2/f32/floor.d.ts +2 -0
- package/dist/interface/math/vec2/f32/floor.js +3 -0
- package/dist/interface/math/vec2/f32/floor.js.map +1 -0
- package/dist/interface/math/vec2/f32/fract.d.ts +2 -0
- package/dist/interface/math/vec2/f32/fract.js +3 -0
- package/dist/interface/math/vec2/f32/fract.js.map +1 -0
- package/dist/interface/math/vec2/f32/length.d.ts +2 -0
- package/dist/interface/math/vec2/f32/length.js +3 -0
- package/dist/interface/math/vec2/f32/length.js.map +1 -0
- package/dist/interface/math/vec2/f32/log.d.ts +2 -0
- package/dist/interface/math/vec2/f32/log.js +3 -0
- package/dist/interface/math/vec2/f32/log.js.map +1 -0
- package/dist/interface/math/vec2/f32/log2.d.ts +2 -0
- package/dist/interface/math/vec2/f32/log2.js +3 -0
- package/dist/interface/math/vec2/f32/log2.js.map +1 -0
- package/dist/interface/math/vec2/f32/max.d.ts +2 -0
- package/dist/interface/math/vec2/f32/max.js +3 -0
- package/dist/interface/math/vec2/f32/max.js.map +1 -0
- package/dist/interface/math/vec2/f32/min.d.ts +2 -0
- package/dist/interface/math/vec2/f32/min.js +3 -0
- package/dist/interface/math/vec2/f32/min.js.map +1 -0
- package/dist/interface/math/vec2/f32/mix.d.ts +2 -0
- package/dist/interface/math/vec2/f32/mix.js +6 -0
- package/dist/interface/math/vec2/f32/mix.js.map +1 -0
- package/dist/interface/math/vec2/f32/mod.d.ts +2 -0
- package/dist/interface/math/vec2/f32/mod.js +2 -0
- package/dist/interface/math/vec2/f32/mod.js.map +1 -0
- package/dist/interface/math/vec2/f32/modf.d.ts +5 -0
- package/dist/interface/math/vec2/f32/modf.js +5 -0
- package/dist/interface/math/vec2/f32/modf.js.map +1 -0
- package/dist/interface/math/vec2/f32/negate.d.ts +2 -0
- package/dist/interface/math/vec2/f32/negate.js +3 -0
- package/dist/interface/math/vec2/f32/negate.js.map +1 -0
- package/dist/interface/math/vec2/f32/normalize.d.ts +2 -0
- package/dist/interface/math/vec2/f32/normalize.js +5 -0
- package/dist/interface/math/vec2/f32/normalize.js.map +1 -0
- package/dist/interface/math/vec2/f32/pow.d.ts +3 -0
- package/dist/interface/math/vec2/f32/pow.js +7 -0
- package/dist/interface/math/vec2/f32/pow.js.map +1 -0
- package/dist/interface/math/vec2/f32/public.d.ts +48 -0
- package/dist/interface/math/vec2/f32/public.js +50 -0
- package/dist/interface/math/vec2/f32/public.js.map +1 -0
- package/dist/interface/math/vec2/f32/reflect.d.ts +2 -0
- package/dist/interface/math/vec2/f32/reflect.js +9 -0
- package/dist/interface/math/vec2/f32/reflect.js.map +1 -0
- package/dist/interface/math/vec2/f32/refract.d.ts +2 -0
- package/dist/interface/math/vec2/f32/refract.js +14 -0
- package/dist/interface/math/vec2/f32/refract.js.map +1 -0
- package/dist/interface/math/vec2/f32/round.d.ts +2 -0
- package/dist/interface/math/vec2/f32/round.js +4 -0
- package/dist/interface/math/vec2/f32/round.js.map +1 -0
- package/dist/interface/math/vec2/f32/scale.d.ts +2 -0
- package/dist/interface/math/vec2/f32/scale.js +3 -0
- package/dist/interface/math/vec2/f32/scale.js.map +1 -0
- package/dist/interface/math/vec2/f32/schema.d.ts +9 -0
- package/dist/interface/math/vec2/f32/schema.js +3 -0
- package/dist/interface/math/vec2/f32/schema.js.map +1 -0
- package/dist/interface/math/vec2/f32/sign.d.ts +2 -0
- package/dist/interface/math/vec2/f32/sign.js +3 -0
- package/dist/interface/math/vec2/f32/sign.js.map +1 -0
- package/dist/interface/math/vec2/f32/sin.d.ts +2 -0
- package/dist/interface/math/vec2/f32/sin.js +3 -0
- package/dist/interface/math/vec2/f32/sin.js.map +1 -0
- package/dist/interface/math/vec2/f32/sinh.d.ts +2 -0
- package/dist/interface/math/vec2/f32/sinh.js +3 -0
- package/dist/interface/math/vec2/f32/sinh.js.map +1 -0
- package/dist/interface/math/vec2/f32/smoothstep.d.ts +2 -0
- package/dist/interface/math/vec2/f32/smoothstep.js +7 -0
- package/dist/interface/math/vec2/f32/smoothstep.js.map +1 -0
- package/dist/interface/math/vec2/f32/sqrt.d.ts +2 -0
- package/dist/interface/math/vec2/f32/sqrt.js +3 -0
- package/dist/interface/math/vec2/f32/sqrt.js.map +1 -0
- package/dist/interface/math/vec2/f32/step.d.ts +2 -0
- package/dist/interface/math/vec2/f32/step.js +6 -0
- package/dist/interface/math/vec2/f32/step.js.map +1 -0
- package/dist/interface/math/vec2/f32/subtract.d.ts +2 -0
- package/dist/interface/math/vec2/f32/subtract.js +3 -0
- package/dist/interface/math/vec2/f32/subtract.js.map +1 -0
- package/dist/interface/math/vec2/f32/tan.d.ts +2 -0
- package/dist/interface/math/vec2/f32/tan.js +3 -0
- package/dist/interface/math/vec2/f32/tan.js.map +1 -0
- package/dist/interface/math/vec2/f32/tanh.d.ts +2 -0
- package/dist/interface/math/vec2/f32/tanh.js +3 -0
- package/dist/interface/math/vec2/f32/tanh.js.map +1 -0
- package/dist/interface/math/vec2/f32/trunc.d.ts +2 -0
- package/dist/interface/math/vec2/f32/trunc.js +3 -0
- package/dist/interface/math/vec2/f32/trunc.js.map +1 -0
- package/dist/interface/math/vec2/f32/zero.d.ts +2 -0
- package/dist/interface/math/vec2/f32/zero.js +2 -0
- package/dist/interface/math/vec2/f32/zero.js.map +1 -0
- package/dist/interface/math/vec2/i32/abs.d.ts +2 -0
- package/dist/interface/math/vec2/i32/abs.js +3 -0
- package/dist/interface/math/vec2/i32/abs.js.map +1 -0
- package/dist/interface/math/vec2/i32/add.d.ts +2 -0
- package/dist/interface/math/vec2/i32/add.js +3 -0
- package/dist/interface/math/vec2/i32/add.js.map +1 -0
- package/dist/interface/math/vec2/i32/bitwise-and.d.ts +2 -0
- package/dist/interface/math/vec2/i32/bitwise-and.js +3 -0
- package/dist/interface/math/vec2/i32/bitwise-and.js.map +1 -0
- package/dist/interface/math/vec2/i32/bitwise-not.d.ts +2 -0
- package/dist/interface/math/vec2/i32/bitwise-not.js +3 -0
- package/dist/interface/math/vec2/i32/bitwise-not.js.map +1 -0
- package/dist/interface/math/vec2/i32/bitwise-or.d.ts +2 -0
- package/dist/interface/math/vec2/i32/bitwise-or.js +3 -0
- package/dist/interface/math/vec2/i32/bitwise-or.js.map +1 -0
- package/dist/interface/math/vec2/i32/bitwise-xor.d.ts +2 -0
- package/dist/interface/math/vec2/i32/bitwise-xor.js +3 -0
- package/dist/interface/math/vec2/i32/bitwise-xor.js.map +1 -0
- package/dist/interface/math/vec2/i32/clamp.d.ts +2 -0
- package/dist/interface/math/vec2/i32/clamp.js +5 -0
- package/dist/interface/math/vec2/i32/clamp.js.map +1 -0
- package/dist/interface/math/vec2/i32/count-leading-zeros.d.ts +2 -0
- package/dist/interface/math/vec2/i32/count-leading-zeros.js +7 -0
- package/dist/interface/math/vec2/i32/count-leading-zeros.js.map +1 -0
- package/dist/interface/math/vec2/i32/count-one-bits.d.ts +2 -0
- package/dist/interface/math/vec2/i32/count-one-bits.js +7 -0
- package/dist/interface/math/vec2/i32/count-one-bits.js.map +1 -0
- package/dist/interface/math/vec2/i32/count-trailing-zeros.d.ts +2 -0
- package/dist/interface/math/vec2/i32/count-trailing-zeros.js +7 -0
- package/dist/interface/math/vec2/i32/count-trailing-zeros.js.map +1 -0
- package/dist/interface/math/vec2/i32/equals.d.ts +2 -0
- package/dist/interface/math/vec2/i32/equals.js +2 -0
- package/dist/interface/math/vec2/i32/equals.js.map +1 -0
- package/dist/interface/math/vec2/i32/i32.d.ts +5 -0
- package/dist/interface/math/vec2/i32/i32.js +2 -0
- package/dist/interface/math/vec2/i32/i32.js.map +1 -0
- package/dist/interface/math/vec2/i32/max.d.ts +2 -0
- package/dist/interface/math/vec2/i32/max.js +3 -0
- package/dist/interface/math/vec2/i32/max.js.map +1 -0
- package/dist/interface/math/vec2/i32/min.d.ts +2 -0
- package/dist/interface/math/vec2/i32/min.js +3 -0
- package/dist/interface/math/vec2/i32/min.js.map +1 -0
- package/dist/interface/math/vec2/i32/negate.d.ts +2 -0
- package/dist/interface/math/vec2/i32/negate.js +3 -0
- package/dist/interface/math/vec2/i32/negate.js.map +1 -0
- package/dist/interface/math/vec2/i32/public.d.ts +22 -0
- package/dist/interface/math/vec2/i32/public.js +24 -0
- package/dist/interface/math/vec2/i32/public.js.map +1 -0
- package/dist/interface/math/vec2/i32/reverse-bits.d.ts +2 -0
- package/dist/interface/math/vec2/i32/reverse-bits.js +4 -0
- package/dist/interface/math/vec2/i32/reverse-bits.js.map +1 -0
- package/dist/interface/math/vec2/i32/scale.d.ts +3 -0
- package/dist/interface/math/vec2/i32/scale.js +3 -0
- package/dist/interface/math/vec2/i32/scale.js.map +1 -0
- package/dist/interface/math/vec2/i32/schema.d.ts +10 -0
- package/dist/interface/math/vec2/i32/schema.js +3 -0
- package/dist/interface/math/vec2/i32/schema.js.map +1 -0
- package/dist/interface/math/vec2/i32/shift-left.d.ts +2 -0
- package/dist/interface/math/vec2/i32/shift-left.js +2 -0
- package/dist/interface/math/vec2/i32/shift-left.js.map +1 -0
- package/dist/interface/math/vec2/i32/shift-right.d.ts +2 -0
- package/dist/interface/math/vec2/i32/shift-right.js +6 -0
- package/dist/interface/math/vec2/i32/shift-right.js.map +1 -0
- package/dist/interface/math/vec2/i32/subtract.d.ts +2 -0
- package/dist/interface/math/vec2/i32/subtract.js +3 -0
- package/dist/interface/math/vec2/i32/subtract.js.map +1 -0
- package/dist/interface/math/vec2/i32/zero.d.ts +2 -0
- package/dist/interface/math/vec2/i32/zero.js +2 -0
- package/dist/interface/math/vec2/i32/zero.js.map +1 -0
- package/dist/interface/math/vec2/index.d.ts +4 -0
- package/dist/interface/math/vec2/index.js +2 -0
- package/dist/interface/math/vec2/index.js.map +1 -0
- package/dist/interface/math/vec2/public.d.ts +5 -0
- package/dist/interface/math/vec2/public.js +7 -0
- package/dist/interface/math/vec2/public.js.map +1 -0
- package/dist/interface/math/vec2/u32/add.d.ts +2 -0
- package/dist/interface/math/vec2/u32/add.js +6 -0
- package/dist/interface/math/vec2/u32/add.js.map +1 -0
- package/dist/interface/math/vec2/u32/bitwise-and.d.ts +2 -0
- package/dist/interface/math/vec2/u32/bitwise-and.js +6 -0
- package/dist/interface/math/vec2/u32/bitwise-and.js.map +1 -0
- package/dist/interface/math/vec2/u32/bitwise-not.d.ts +2 -0
- package/dist/interface/math/vec2/u32/bitwise-not.js +3 -0
- package/dist/interface/math/vec2/u32/bitwise-not.js.map +1 -0
- package/dist/interface/math/vec2/u32/bitwise-or.d.ts +2 -0
- package/dist/interface/math/vec2/u32/bitwise-or.js +6 -0
- package/dist/interface/math/vec2/u32/bitwise-or.js.map +1 -0
- package/dist/interface/math/vec2/u32/bitwise-xor.d.ts +2 -0
- package/dist/interface/math/vec2/u32/bitwise-xor.js +6 -0
- package/dist/interface/math/vec2/u32/bitwise-xor.js.map +1 -0
- package/dist/interface/math/vec2/u32/clamp.d.ts +2 -0
- package/dist/interface/math/vec2/u32/clamp.js +5 -0
- package/dist/interface/math/vec2/u32/clamp.js.map +1 -0
- package/dist/interface/math/vec2/u32/count-leading-zeros.d.ts +2 -0
- package/dist/interface/math/vec2/u32/count-leading-zeros.js +7 -0
- package/dist/interface/math/vec2/u32/count-leading-zeros.js.map +1 -0
- package/dist/interface/math/vec2/u32/count-one-bits.d.ts +2 -0
- package/dist/interface/math/vec2/u32/count-one-bits.js +7 -0
- package/dist/interface/math/vec2/u32/count-one-bits.js.map +1 -0
- package/dist/interface/math/vec2/u32/count-trailing-zeros.d.ts +2 -0
- package/dist/interface/math/vec2/u32/count-trailing-zeros.js +7 -0
- package/dist/interface/math/vec2/u32/count-trailing-zeros.js.map +1 -0
- package/dist/interface/math/vec2/u32/equals.d.ts +2 -0
- package/dist/interface/math/vec2/u32/equals.js +2 -0
- package/dist/interface/math/vec2/u32/equals.js.map +1 -0
- package/dist/interface/math/vec2/u32/max.d.ts +2 -0
- package/dist/interface/math/vec2/u32/max.js +6 -0
- package/dist/interface/math/vec2/u32/max.js.map +1 -0
- package/dist/interface/math/vec2/u32/min.d.ts +2 -0
- package/dist/interface/math/vec2/u32/min.js +6 -0
- package/dist/interface/math/vec2/u32/min.js.map +1 -0
- package/dist/interface/math/vec2/u32/negate.d.ts +2 -0
- package/dist/interface/math/vec2/u32/negate.js +2 -0
- package/dist/interface/math/vec2/u32/negate.js.map +1 -0
- package/dist/interface/math/vec2/u32/public.d.ts +21 -0
- package/dist/interface/math/vec2/u32/public.js +23 -0
- package/dist/interface/math/vec2/u32/public.js.map +1 -0
- package/dist/interface/math/vec2/u32/reverse-bits.d.ts +2 -0
- package/dist/interface/math/vec2/u32/reverse-bits.js +7 -0
- package/dist/interface/math/vec2/u32/reverse-bits.js.map +1 -0
- package/dist/interface/math/vec2/u32/scale.d.ts +3 -0
- package/dist/interface/math/vec2/u32/scale.js +3 -0
- package/dist/interface/math/vec2/u32/scale.js.map +1 -0
- package/dist/interface/math/vec2/u32/schema.d.ts +10 -0
- package/dist/interface/math/vec2/u32/schema.js +3 -0
- package/dist/interface/math/vec2/u32/schema.js.map +1 -0
- package/dist/interface/math/vec2/u32/shift-left.d.ts +2 -0
- package/dist/interface/math/vec2/u32/shift-left.js +2 -0
- package/dist/interface/math/vec2/u32/shift-left.js.map +1 -0
- package/dist/interface/math/vec2/u32/shift-right.d.ts +2 -0
- package/dist/interface/math/vec2/u32/shift-right.js +6 -0
- package/dist/interface/math/vec2/u32/shift-right.js.map +1 -0
- package/dist/interface/math/vec2/u32/subtract.d.ts +2 -0
- package/dist/interface/math/vec2/u32/subtract.js +6 -0
- package/dist/interface/math/vec2/u32/subtract.js.map +1 -0
- package/dist/interface/math/vec2/u32/u32.d.ts +5 -0
- package/dist/interface/math/vec2/u32/u32.js +2 -0
- package/dist/interface/math/vec2/u32/u32.js.map +1 -0
- package/dist/interface/math/vec2/u32/zero.d.ts +2 -0
- package/dist/interface/math/vec2/u32/zero.js +2 -0
- package/dist/interface/math/vec2/u32/zero.js.map +1 -0
- package/dist/interface/math/vec3/f32/abs.d.ts +2 -0
- package/dist/interface/math/vec3/f32/abs.js +3 -0
- package/dist/interface/math/vec3/f32/abs.js.map +1 -0
- package/dist/interface/math/vec3/f32/acos.d.ts +2 -0
- package/dist/interface/math/vec3/f32/acos.js +3 -0
- package/dist/interface/math/vec3/f32/acos.js.map +1 -0
- package/dist/interface/math/vec3/f32/acosh.d.ts +2 -0
- package/dist/interface/math/vec3/f32/acosh.js +3 -0
- package/dist/interface/math/vec3/f32/acosh.js.map +1 -0
- package/dist/interface/math/vec3/f32/add.d.ts +2 -0
- package/dist/interface/math/vec3/f32/add.js +7 -0
- package/dist/interface/math/vec3/f32/add.js.map +1 -0
- package/dist/interface/math/vec3/f32/asin.d.ts +2 -0
- package/dist/interface/math/vec3/f32/asin.js +3 -0
- package/dist/interface/math/vec3/f32/asin.js.map +1 -0
- package/dist/interface/math/vec3/f32/asinh.d.ts +2 -0
- package/dist/interface/math/vec3/f32/asinh.js +3 -0
- package/dist/interface/math/vec3/f32/asinh.js.map +1 -0
- package/dist/interface/math/vec3/f32/atan.d.ts +2 -0
- package/dist/interface/math/vec3/f32/atan.js +3 -0
- package/dist/interface/math/vec3/f32/atan.js.map +1 -0
- package/dist/interface/math/vec3/f32/atanh.d.ts +2 -0
- package/dist/interface/math/vec3/f32/atanh.js +3 -0
- package/dist/interface/math/vec3/f32/atanh.js.map +1 -0
- package/dist/interface/math/vec3/f32/ceil.d.ts +2 -0
- package/dist/interface/math/vec3/f32/ceil.js +3 -0
- package/dist/interface/math/vec3/f32/ceil.js.map +1 -0
- package/dist/interface/math/vec3/f32/clamp.d.ts +2 -0
- package/dist/interface/math/vec3/f32/clamp.js +5 -0
- package/dist/interface/math/vec3/f32/clamp.js.map +1 -0
- package/dist/interface/math/vec3/f32/cos.d.ts +2 -0
- package/dist/interface/math/vec3/f32/cos.js +3 -0
- package/dist/interface/math/vec3/f32/cos.js.map +1 -0
- package/dist/interface/math/vec3/f32/cosh.d.ts +2 -0
- package/dist/interface/math/vec3/f32/cosh.js +3 -0
- package/dist/interface/math/vec3/f32/cosh.js.map +1 -0
- package/dist/interface/math/vec3/f32/cross.d.ts +2 -0
- package/dist/interface/math/vec3/f32/cross.js +7 -0
- package/dist/interface/math/vec3/f32/cross.js.map +1 -0
- package/dist/interface/math/vec3/f32/distance-squared.d.ts +2 -0
- package/dist/interface/math/vec3/f32/distance-squared.js +7 -0
- package/dist/interface/math/vec3/f32/distance-squared.js.map +1 -0
- package/dist/interface/math/vec3/f32/distance.d.ts +2 -0
- package/dist/interface/math/vec3/f32/distance.js +5 -0
- package/dist/interface/math/vec3/f32/distance.js.map +1 -0
- package/dist/interface/math/vec3/f32/dot.d.ts +2 -0
- package/dist/interface/math/vec3/f32/dot.js +3 -0
- package/dist/interface/math/vec3/f32/dot.js.map +1 -0
- package/dist/interface/math/vec3/f32/equals.d.ts +2 -0
- package/dist/interface/math/vec3/f32/equals.js +2 -0
- package/dist/interface/math/vec3/f32/equals.js.map +1 -0
- package/dist/interface/math/vec3/f32/exp.d.ts +2 -0
- package/dist/interface/math/vec3/f32/exp.js +3 -0
- package/dist/interface/math/vec3/f32/exp.js.map +1 -0
- package/dist/interface/math/vec3/f32/exp2.d.ts +2 -0
- package/dist/interface/math/vec3/f32/exp2.js +3 -0
- package/dist/interface/math/vec3/f32/exp2.js.map +1 -0
- package/dist/interface/math/vec3/f32/f32.d.ts +4 -0
- package/dist/interface/math/vec3/f32/f32.js +2 -0
- package/dist/interface/math/vec3/f32/f32.js.map +1 -0
- package/dist/interface/math/vec3/f32/faceforward.d.ts +2 -0
- package/dist/interface/math/vec3/f32/faceforward.js +5 -0
- package/dist/interface/math/vec3/f32/faceforward.js.map +1 -0
- package/dist/interface/math/vec3/f32/floor.d.ts +2 -0
- package/dist/interface/math/vec3/f32/floor.js +3 -0
- package/dist/interface/math/vec3/f32/floor.js.map +1 -0
- package/dist/interface/math/vec3/f32/fract.d.ts +2 -0
- package/dist/interface/math/vec3/f32/fract.js +7 -0
- package/dist/interface/math/vec3/f32/fract.js.map +1 -0
- package/dist/interface/math/vec3/f32/length-squared.d.ts +2 -0
- package/dist/interface/math/vec3/f32/length-squared.js +3 -0
- package/dist/interface/math/vec3/f32/length-squared.js.map +1 -0
- package/dist/interface/math/vec3/f32/length.d.ts +2 -0
- package/dist/interface/math/vec3/f32/length.js +3 -0
- package/dist/interface/math/vec3/f32/length.js.map +1 -0
- package/dist/interface/math/vec3/f32/log.d.ts +2 -0
- package/dist/interface/math/vec3/f32/log.js +3 -0
- package/dist/interface/math/vec3/f32/log.js.map +1 -0
- package/dist/interface/math/vec3/f32/log2.d.ts +2 -0
- package/dist/interface/math/vec3/f32/log2.js +3 -0
- package/dist/interface/math/vec3/f32/log2.js.map +1 -0
- package/dist/interface/math/vec3/f32/max.d.ts +2 -0
- package/dist/interface/math/vec3/f32/max.js +7 -0
- package/dist/interface/math/vec3/f32/max.js.map +1 -0
- package/dist/interface/math/vec3/f32/min.d.ts +2 -0
- package/dist/interface/math/vec3/f32/min.js +7 -0
- package/dist/interface/math/vec3/f32/min.js.map +1 -0
- package/dist/interface/math/vec3/f32/mix.d.ts +2 -0
- package/dist/interface/math/vec3/f32/mix.js +7 -0
- package/dist/interface/math/vec3/f32/mix.js.map +1 -0
- package/dist/interface/math/vec3/f32/mod.d.ts +2 -0
- package/dist/interface/math/vec3/f32/mod.js +6 -0
- package/dist/interface/math/vec3/f32/mod.js.map +1 -0
- package/dist/interface/math/vec3/f32/modf.d.ts +5 -0
- package/dist/interface/math/vec3/f32/modf.js +5 -0
- package/dist/interface/math/vec3/f32/modf.js.map +1 -0
- package/dist/interface/math/vec3/f32/multiply.d.ts +5 -0
- package/dist/interface/math/vec3/f32/multiply.js +10 -0
- package/dist/interface/math/vec3/f32/multiply.js.map +1 -0
- package/dist/interface/math/vec3/f32/negate.d.ts +2 -0
- package/dist/interface/math/vec3/f32/negate.js +3 -0
- package/dist/interface/math/vec3/f32/negate.js.map +1 -0
- package/dist/interface/math/vec3/f32/normalize.d.ts +2 -0
- package/dist/interface/math/vec3/f32/normalize.js +5 -0
- package/dist/interface/math/vec3/f32/normalize.js.map +1 -0
- package/dist/interface/math/vec3/f32/one.d.ts +2 -0
- package/dist/interface/math/vec3/f32/one.js +2 -0
- package/dist/interface/math/vec3/f32/one.js.map +1 -0
- package/dist/interface/math/vec3/f32/pow.d.ts +3 -0
- package/dist/interface/math/vec3/f32/pow.js +8 -0
- package/dist/interface/math/vec3/f32/pow.js.map +1 -0
- package/dist/interface/math/vec3/f32/public.d.ts +54 -0
- package/dist/interface/math/vec3/f32/public.js +56 -0
- package/dist/interface/math/vec3/f32/public.js.map +1 -0
- package/dist/interface/math/vec3/f32/random.d.ts +2 -0
- package/dist/interface/math/vec3/f32/random.js +4 -0
- package/dist/interface/math/vec3/f32/random.js.map +1 -0
- package/dist/interface/math/vec3/f32/reflect.d.ts +2 -0
- package/dist/interface/math/vec3/f32/reflect.js +9 -0
- package/dist/interface/math/vec3/f32/reflect.js.map +1 -0
- package/dist/interface/math/vec3/f32/refract.d.ts +2 -0
- package/dist/interface/math/vec3/f32/refract.js +14 -0
- package/dist/interface/math/vec3/f32/refract.js.map +1 -0
- package/dist/interface/math/vec3/f32/round.d.ts +2 -0
- package/dist/interface/math/vec3/f32/round.js +8 -0
- package/dist/interface/math/vec3/f32/round.js.map +1 -0
- package/dist/interface/math/vec3/f32/scale.d.ts +2 -0
- package/dist/interface/math/vec3/f32/scale.js +3 -0
- package/dist/interface/math/vec3/f32/scale.js.map +1 -0
- package/dist/interface/math/vec3/f32/schema.d.ts +9 -0
- package/dist/interface/math/vec3/f32/schema.js +3 -0
- package/dist/interface/math/vec3/f32/schema.js.map +1 -0
- package/dist/interface/math/vec3/f32/sign.d.ts +2 -0
- package/dist/interface/math/vec3/f32/sign.js +3 -0
- package/dist/interface/math/vec3/f32/sign.js.map +1 -0
- package/dist/interface/math/vec3/f32/sin.d.ts +2 -0
- package/dist/interface/math/vec3/f32/sin.js +3 -0
- package/dist/interface/math/vec3/f32/sin.js.map +1 -0
- package/dist/interface/math/vec3/f32/sinh.d.ts +2 -0
- package/dist/interface/math/vec3/f32/sinh.js +3 -0
- package/dist/interface/math/vec3/f32/sinh.js.map +1 -0
- package/dist/interface/math/vec3/f32/smoothstep.d.ts +2 -0
- package/dist/interface/math/vec3/f32/smoothstep.js +12 -0
- package/dist/interface/math/vec3/f32/smoothstep.js.map +1 -0
- package/dist/interface/math/vec3/f32/sqrt.d.ts +2 -0
- package/dist/interface/math/vec3/f32/sqrt.js +3 -0
- package/dist/interface/math/vec3/f32/sqrt.js.map +1 -0
- package/dist/interface/math/vec3/f32/step.d.ts +2 -0
- package/dist/interface/math/vec3/f32/step.js +7 -0
- package/dist/interface/math/vec3/f32/step.js.map +1 -0
- package/dist/interface/math/vec3/f32/subtract.d.ts +2 -0
- package/dist/interface/math/vec3/f32/subtract.js +7 -0
- package/dist/interface/math/vec3/f32/subtract.js.map +1 -0
- package/dist/interface/math/vec3/f32/tan.d.ts +2 -0
- package/dist/interface/math/vec3/f32/tan.js +3 -0
- package/dist/interface/math/vec3/f32/tan.js.map +1 -0
- package/dist/interface/math/vec3/f32/tanh.d.ts +2 -0
- package/dist/interface/math/vec3/f32/tanh.js +3 -0
- package/dist/interface/math/vec3/f32/tanh.js.map +1 -0
- package/dist/interface/math/vec3/f32/trunc.d.ts +2 -0
- package/dist/interface/math/vec3/f32/trunc.js +3 -0
- package/dist/interface/math/vec3/f32/trunc.js.map +1 -0
- package/dist/interface/math/vec3/f32/zero.d.ts +2 -0
- package/dist/interface/math/vec3/f32/zero.js +2 -0
- package/dist/interface/math/vec3/f32/zero.js.map +1 -0
- package/dist/interface/math/vec3/i32/abs.d.ts +2 -0
- package/dist/interface/math/vec3/i32/abs.js +7 -0
- package/dist/interface/math/vec3/i32/abs.js.map +1 -0
- package/dist/interface/math/vec3/i32/add.d.ts +2 -0
- package/dist/interface/math/vec3/i32/add.js +7 -0
- package/dist/interface/math/vec3/i32/add.js.map +1 -0
- package/dist/interface/math/vec3/i32/bitwise-and.d.ts +2 -0
- package/dist/interface/math/vec3/i32/bitwise-and.js +7 -0
- package/dist/interface/math/vec3/i32/bitwise-and.js.map +1 -0
- package/dist/interface/math/vec3/i32/bitwise-not.d.ts +2 -0
- package/dist/interface/math/vec3/i32/bitwise-not.js +3 -0
- package/dist/interface/math/vec3/i32/bitwise-not.js.map +1 -0
- package/dist/interface/math/vec3/i32/bitwise-or.d.ts +2 -0
- package/dist/interface/math/vec3/i32/bitwise-or.js +7 -0
- package/dist/interface/math/vec3/i32/bitwise-or.js.map +1 -0
- package/dist/interface/math/vec3/i32/bitwise-xor.d.ts +2 -0
- package/dist/interface/math/vec3/i32/bitwise-xor.js +7 -0
- package/dist/interface/math/vec3/i32/bitwise-xor.js.map +1 -0
- package/dist/interface/math/vec3/i32/clamp.d.ts +2 -0
- package/dist/interface/math/vec3/i32/clamp.js +5 -0
- package/dist/interface/math/vec3/i32/clamp.js.map +1 -0
- package/dist/interface/math/vec3/i32/count-leading-zeros.d.ts +2 -0
- package/dist/interface/math/vec3/i32/count-leading-zeros.js +8 -0
- package/dist/interface/math/vec3/i32/count-leading-zeros.js.map +1 -0
- package/dist/interface/math/vec3/i32/count-one-bits.d.ts +2 -0
- package/dist/interface/math/vec3/i32/count-one-bits.js +8 -0
- package/dist/interface/math/vec3/i32/count-one-bits.js.map +1 -0
- package/dist/interface/math/vec3/i32/count-trailing-zeros.d.ts +2 -0
- package/dist/interface/math/vec3/i32/count-trailing-zeros.js +8 -0
- package/dist/interface/math/vec3/i32/count-trailing-zeros.js.map +1 -0
- package/dist/interface/math/vec3/i32/equals.d.ts +2 -0
- package/dist/interface/math/vec3/i32/equals.js +2 -0
- package/dist/interface/math/vec3/i32/equals.js.map +1 -0
- package/dist/interface/math/vec3/i32/i32.d.ts +5 -0
- package/dist/interface/math/vec3/i32/i32.js +2 -0
- package/dist/interface/math/vec3/i32/i32.js.map +1 -0
- package/dist/interface/math/vec3/i32/max.d.ts +2 -0
- package/dist/interface/math/vec3/i32/max.js +7 -0
- package/dist/interface/math/vec3/i32/max.js.map +1 -0
- package/dist/interface/math/vec3/i32/min.d.ts +2 -0
- package/dist/interface/math/vec3/i32/min.js +7 -0
- package/dist/interface/math/vec3/i32/min.js.map +1 -0
- package/dist/interface/math/vec3/i32/multiply.d.ts +2 -0
- package/dist/interface/math/vec3/i32/multiply.js +7 -0
- package/dist/interface/math/vec3/i32/multiply.js.map +1 -0
- package/dist/interface/math/vec3/i32/negate.d.ts +2 -0
- package/dist/interface/math/vec3/i32/negate.js +7 -0
- package/dist/interface/math/vec3/i32/negate.js.map +1 -0
- package/dist/interface/math/vec3/i32/one.d.ts +2 -0
- package/dist/interface/math/vec3/i32/one.js +2 -0
- package/dist/interface/math/vec3/i32/one.js.map +1 -0
- package/dist/interface/math/vec3/i32/public.d.ts +24 -0
- package/dist/interface/math/vec3/i32/public.js +26 -0
- package/dist/interface/math/vec3/i32/public.js.map +1 -0
- package/dist/interface/math/vec3/i32/reverse-bits.d.ts +2 -0
- package/dist/interface/math/vec3/i32/reverse-bits.js +8 -0
- package/dist/interface/math/vec3/i32/reverse-bits.js.map +1 -0
- package/dist/interface/math/vec3/i32/scale.d.ts +3 -0
- package/dist/interface/math/vec3/i32/scale.js +7 -0
- package/dist/interface/math/vec3/i32/scale.js.map +1 -0
- package/dist/interface/math/vec3/i32/schema.d.ts +10 -0
- package/dist/interface/math/vec3/i32/schema.js +3 -0
- package/dist/interface/math/vec3/i32/schema.js.map +1 -0
- package/dist/interface/math/vec3/i32/shift-left.d.ts +2 -0
- package/dist/interface/math/vec3/i32/shift-left.js +2 -0
- package/dist/interface/math/vec3/i32/shift-left.js.map +1 -0
- package/dist/interface/math/vec3/i32/shift-right.d.ts +2 -0
- package/dist/interface/math/vec3/i32/shift-right.js +7 -0
- package/dist/interface/math/vec3/i32/shift-right.js.map +1 -0
- package/dist/interface/math/vec3/i32/subtract.d.ts +2 -0
- package/dist/interface/math/vec3/i32/subtract.js +7 -0
- package/dist/interface/math/vec3/i32/subtract.js.map +1 -0
- package/dist/interface/math/vec3/i32/zero.d.ts +2 -0
- package/dist/interface/math/vec3/i32/zero.js +2 -0
- package/dist/interface/math/vec3/i32/zero.js.map +1 -0
- package/dist/interface/math/vec3/index.d.ts +4 -0
- package/dist/interface/math/vec3/index.js +2 -0
- package/dist/interface/math/vec3/index.js.map +1 -0
- package/dist/interface/math/vec3/public.d.ts +5 -0
- package/dist/interface/math/vec3/public.js +7 -0
- package/dist/interface/math/vec3/public.js.map +1 -0
- package/dist/interface/math/vec3/u32/add.d.ts +2 -0
- package/dist/interface/math/vec3/u32/add.js +7 -0
- package/dist/interface/math/vec3/u32/add.js.map +1 -0
- package/dist/interface/math/vec3/u32/bitwise-and.d.ts +2 -0
- package/dist/interface/math/vec3/u32/bitwise-and.js +7 -0
- package/dist/interface/math/vec3/u32/bitwise-and.js.map +1 -0
- package/dist/interface/math/vec3/u32/bitwise-not.d.ts +2 -0
- package/dist/interface/math/vec3/u32/bitwise-not.js +3 -0
- package/dist/interface/math/vec3/u32/bitwise-not.js.map +1 -0
- package/dist/interface/math/vec3/u32/bitwise-or.d.ts +2 -0
- package/dist/interface/math/vec3/u32/bitwise-or.js +7 -0
- package/dist/interface/math/vec3/u32/bitwise-or.js.map +1 -0
- package/dist/interface/math/vec3/u32/bitwise-xor.d.ts +2 -0
- package/dist/interface/math/vec3/u32/bitwise-xor.js +7 -0
- package/dist/interface/math/vec3/u32/bitwise-xor.js.map +1 -0
- package/dist/interface/math/vec3/u32/clamp.d.ts +2 -0
- package/dist/interface/math/vec3/u32/clamp.js +5 -0
- package/dist/interface/math/vec3/u32/clamp.js.map +1 -0
- package/dist/interface/math/vec3/u32/count-leading-zeros.d.ts +2 -0
- package/dist/interface/math/vec3/u32/count-leading-zeros.js +8 -0
- package/dist/interface/math/vec3/u32/count-leading-zeros.js.map +1 -0
- package/dist/interface/math/vec3/u32/count-one-bits.d.ts +2 -0
- package/dist/interface/math/vec3/u32/count-one-bits.js +8 -0
- package/dist/interface/math/vec3/u32/count-one-bits.js.map +1 -0
- package/dist/interface/math/vec3/u32/count-trailing-zeros.d.ts +2 -0
- package/dist/interface/math/vec3/u32/count-trailing-zeros.js +8 -0
- package/dist/interface/math/vec3/u32/count-trailing-zeros.js.map +1 -0
- package/dist/interface/math/vec3/u32/equals.d.ts +2 -0
- package/dist/interface/math/vec3/u32/equals.js +2 -0
- package/dist/interface/math/vec3/u32/equals.js.map +1 -0
- package/dist/interface/math/vec3/u32/max.d.ts +2 -0
- package/dist/interface/math/vec3/u32/max.js +7 -0
- package/dist/interface/math/vec3/u32/max.js.map +1 -0
- package/dist/interface/math/vec3/u32/min.d.ts +2 -0
- package/dist/interface/math/vec3/u32/min.js +7 -0
- package/dist/interface/math/vec3/u32/min.js.map +1 -0
- package/dist/interface/math/vec3/u32/multiply.d.ts +2 -0
- package/dist/interface/math/vec3/u32/multiply.js +7 -0
- package/dist/interface/math/vec3/u32/multiply.js.map +1 -0
- package/dist/interface/math/vec3/u32/negate.d.ts +2 -0
- package/dist/interface/math/vec3/u32/negate.js +2 -0
- package/dist/interface/math/vec3/u32/negate.js.map +1 -0
- package/dist/interface/math/vec3/u32/one.d.ts +2 -0
- package/dist/interface/math/vec3/u32/one.js +2 -0
- package/dist/interface/math/vec3/u32/one.js.map +1 -0
- package/dist/interface/math/vec3/u32/public.d.ts +24 -0
- package/dist/interface/math/vec3/u32/public.js +26 -0
- package/dist/interface/math/vec3/u32/public.js.map +1 -0
- package/dist/interface/math/vec3/u32/reverse-bits.d.ts +2 -0
- package/dist/interface/math/vec3/u32/reverse-bits.js +8 -0
- package/dist/interface/math/vec3/u32/reverse-bits.js.map +1 -0
- package/dist/interface/math/vec3/u32/scale.d.ts +3 -0
- package/dist/interface/math/vec3/u32/scale.js +7 -0
- package/dist/interface/math/vec3/u32/scale.js.map +1 -0
- package/dist/interface/math/vec3/u32/schema.d.ts +10 -0
- package/dist/interface/math/vec3/u32/schema.js +3 -0
- package/dist/interface/math/vec3/u32/schema.js.map +1 -0
- package/dist/interface/math/vec3/u32/shift-left.d.ts +2 -0
- package/dist/interface/math/vec3/u32/shift-left.js +6 -0
- package/dist/interface/math/vec3/u32/shift-left.js.map +1 -0
- package/dist/interface/math/vec3/u32/shift-right.d.ts +2 -0
- package/dist/interface/math/vec3/u32/shift-right.js +7 -0
- package/dist/interface/math/vec3/u32/shift-right.js.map +1 -0
- package/dist/interface/math/vec3/u32/subtract.d.ts +2 -0
- package/dist/interface/math/vec3/u32/subtract.js +7 -0
- package/dist/interface/math/vec3/u32/subtract.js.map +1 -0
- package/dist/interface/math/vec3/u32/u32.d.ts +5 -0
- package/dist/interface/math/vec3/u32/u32.js +2 -0
- package/dist/interface/math/vec3/u32/u32.js.map +1 -0
- package/dist/interface/math/vec3/u32/volume.d.ts +2 -0
- package/dist/interface/math/vec3/u32/volume.js +2 -0
- package/dist/interface/math/vec3/u32/volume.js.map +1 -0
- package/dist/interface/math/vec3/u32/zero.d.ts +2 -0
- package/dist/interface/math/vec3/u32/zero.js +2 -0
- package/dist/interface/math/vec3/u32/zero.js.map +1 -0
- package/dist/interface/math/vec4/f32/abs.d.ts +2 -0
- package/dist/interface/math/vec4/f32/abs.js +3 -0
- package/dist/interface/math/vec4/f32/abs.js.map +1 -0
- package/dist/interface/math/vec4/f32/acos.d.ts +2 -0
- package/dist/interface/math/vec4/f32/acos.js +3 -0
- package/dist/interface/math/vec4/f32/acos.js.map +1 -0
- package/dist/interface/math/vec4/f32/acosh.d.ts +2 -0
- package/dist/interface/math/vec4/f32/acosh.js +3 -0
- package/dist/interface/math/vec4/f32/acosh.js.map +1 -0
- package/dist/interface/math/vec4/f32/add.d.ts +2 -0
- package/dist/interface/math/vec4/f32/add.js +8 -0
- package/dist/interface/math/vec4/f32/add.js.map +1 -0
- package/dist/interface/math/vec4/f32/asin.d.ts +2 -0
- package/dist/interface/math/vec4/f32/asin.js +3 -0
- package/dist/interface/math/vec4/f32/asin.js.map +1 -0
- package/dist/interface/math/vec4/f32/asinh.d.ts +2 -0
- package/dist/interface/math/vec4/f32/asinh.js +3 -0
- package/dist/interface/math/vec4/f32/asinh.js.map +1 -0
- package/dist/interface/math/vec4/f32/atan.d.ts +2 -0
- package/dist/interface/math/vec4/f32/atan.js +3 -0
- package/dist/interface/math/vec4/f32/atan.js.map +1 -0
- package/dist/interface/math/vec4/f32/atanh.d.ts +2 -0
- package/dist/interface/math/vec4/f32/atanh.js +3 -0
- package/dist/interface/math/vec4/f32/atanh.js.map +1 -0
- package/dist/interface/math/vec4/f32/ceil.d.ts +2 -0
- package/dist/interface/math/vec4/f32/ceil.js +3 -0
- package/dist/interface/math/vec4/f32/ceil.js.map +1 -0
- package/dist/interface/math/vec4/f32/clamp.d.ts +2 -0
- package/dist/interface/math/vec4/f32/clamp.js +5 -0
- package/dist/interface/math/vec4/f32/clamp.js.map +1 -0
- package/dist/interface/math/vec4/f32/cos.d.ts +2 -0
- package/dist/interface/math/vec4/f32/cos.js +3 -0
- package/dist/interface/math/vec4/f32/cos.js.map +1 -0
- package/dist/interface/math/vec4/f32/cosh.d.ts +2 -0
- package/dist/interface/math/vec4/f32/cosh.js +3 -0
- package/dist/interface/math/vec4/f32/cosh.js.map +1 -0
- package/dist/interface/math/vec4/f32/default.d.ts +4 -0
- package/dist/interface/math/vec4/f32/default.js +4 -0
- package/dist/interface/math/vec4/f32/default.js.map +1 -0
- package/dist/interface/math/vec4/f32/distance.d.ts +2 -0
- package/dist/interface/math/vec4/f32/distance.js +5 -0
- package/dist/interface/math/vec4/f32/distance.js.map +1 -0
- package/dist/interface/math/vec4/f32/dot.d.ts +2 -0
- package/dist/interface/math/vec4/f32/dot.js +3 -0
- package/dist/interface/math/vec4/f32/dot.js.map +1 -0
- package/dist/interface/math/vec4/f32/exp.d.ts +2 -0
- package/dist/interface/math/vec4/f32/exp.js +3 -0
- package/dist/interface/math/vec4/f32/exp.js.map +1 -0
- package/dist/interface/math/vec4/f32/exp2.d.ts +2 -0
- package/dist/interface/math/vec4/f32/exp2.js +3 -0
- package/dist/interface/math/vec4/f32/exp2.js.map +1 -0
- package/dist/interface/math/vec4/f32/f32.d.ts +4 -0
- package/dist/interface/math/vec4/f32/f32.js +2 -0
- package/dist/interface/math/vec4/f32/f32.js.map +1 -0
- package/dist/interface/math/vec4/f32/faceforward.d.ts +2 -0
- package/dist/interface/math/vec4/f32/faceforward.js +5 -0
- package/dist/interface/math/vec4/f32/faceforward.js.map +1 -0
- package/dist/interface/math/vec4/f32/floor.d.ts +2 -0
- package/dist/interface/math/vec4/f32/floor.js +3 -0
- package/dist/interface/math/vec4/f32/floor.js.map +1 -0
- package/dist/interface/math/vec4/f32/fract.d.ts +2 -0
- package/dist/interface/math/vec4/f32/fract.js +8 -0
- package/dist/interface/math/vec4/f32/fract.js.map +1 -0
- package/dist/interface/math/vec4/f32/length.d.ts +2 -0
- package/dist/interface/math/vec4/f32/length.js +3 -0
- package/dist/interface/math/vec4/f32/length.js.map +1 -0
- package/dist/interface/math/vec4/f32/log.d.ts +2 -0
- package/dist/interface/math/vec4/f32/log.js +3 -0
- package/dist/interface/math/vec4/f32/log.js.map +1 -0
- package/dist/interface/math/vec4/f32/log2.d.ts +2 -0
- package/dist/interface/math/vec4/f32/log2.js +3 -0
- package/dist/interface/math/vec4/f32/log2.js.map +1 -0
- package/dist/interface/math/vec4/f32/max.d.ts +2 -0
- package/dist/interface/math/vec4/f32/max.js +8 -0
- package/dist/interface/math/vec4/f32/max.js.map +1 -0
- package/dist/interface/math/vec4/f32/min.d.ts +2 -0
- package/dist/interface/math/vec4/f32/min.js +8 -0
- package/dist/interface/math/vec4/f32/min.js.map +1 -0
- package/dist/interface/math/vec4/f32/mix.d.ts +2 -0
- package/dist/interface/math/vec4/f32/mix.js +8 -0
- package/dist/interface/math/vec4/f32/mix.js.map +1 -0
- package/dist/interface/math/vec4/f32/mod.d.ts +2 -0
- package/dist/interface/math/vec4/f32/mod.js +7 -0
- package/dist/interface/math/vec4/f32/mod.js.map +1 -0
- package/dist/interface/math/vec4/f32/modf.d.ts +5 -0
- package/dist/interface/math/vec4/f32/modf.js +5 -0
- package/dist/interface/math/vec4/f32/modf.js.map +1 -0
- package/dist/interface/math/vec4/f32/multiply.d.ts +2 -0
- package/dist/interface/math/vec4/f32/multiply.js +8 -0
- package/dist/interface/math/vec4/f32/multiply.js.map +1 -0
- package/dist/interface/math/vec4/f32/negate.d.ts +2 -0
- package/dist/interface/math/vec4/f32/negate.js +3 -0
- package/dist/interface/math/vec4/f32/negate.js.map +1 -0
- package/dist/interface/math/vec4/f32/normalize.d.ts +2 -0
- package/dist/interface/math/vec4/f32/normalize.js +5 -0
- package/dist/interface/math/vec4/f32/normalize.js.map +1 -0
- package/dist/interface/math/vec4/f32/pow.d.ts +3 -0
- package/dist/interface/math/vec4/f32/pow.js +9 -0
- package/dist/interface/math/vec4/f32/pow.js.map +1 -0
- package/dist/interface/math/vec4/f32/public.d.ts +47 -0
- package/dist/interface/math/vec4/f32/public.js +49 -0
- package/dist/interface/math/vec4/f32/public.js.map +1 -0
- package/dist/interface/math/vec4/f32/reflect.d.ts +2 -0
- package/dist/interface/math/vec4/f32/reflect.js +9 -0
- package/dist/interface/math/vec4/f32/reflect.js.map +1 -0
- package/dist/interface/math/vec4/f32/refract.d.ts +2 -0
- package/dist/interface/math/vec4/f32/refract.js +14 -0
- package/dist/interface/math/vec4/f32/refract.js.map +1 -0
- package/dist/interface/math/vec4/f32/round.d.ts +2 -0
- package/dist/interface/math/vec4/f32/round.js +9 -0
- package/dist/interface/math/vec4/f32/round.js.map +1 -0
- package/dist/interface/math/vec4/f32/scale.d.ts +2 -0
- package/dist/interface/math/vec4/f32/scale.js +3 -0
- package/dist/interface/math/vec4/f32/scale.js.map +1 -0
- package/dist/interface/math/vec4/f32/schema.d.ts +9 -0
- package/dist/interface/math/vec4/f32/schema.js +3 -0
- package/dist/interface/math/vec4/f32/schema.js.map +1 -0
- package/dist/interface/math/vec4/f32/sign.d.ts +2 -0
- package/dist/interface/math/vec4/f32/sign.js +3 -0
- package/dist/interface/math/vec4/f32/sign.js.map +1 -0
- package/dist/interface/math/vec4/f32/sin.d.ts +2 -0
- package/dist/interface/math/vec4/f32/sin.js +3 -0
- package/dist/interface/math/vec4/f32/sin.js.map +1 -0
- package/dist/interface/math/vec4/f32/sinh.d.ts +2 -0
- package/dist/interface/math/vec4/f32/sinh.js +3 -0
- package/dist/interface/math/vec4/f32/sinh.js.map +1 -0
- package/dist/interface/math/vec4/f32/smoothstep.d.ts +2 -0
- package/dist/interface/math/vec4/f32/smoothstep.js +14 -0
- package/dist/interface/math/vec4/f32/smoothstep.js.map +1 -0
- package/dist/interface/math/vec4/f32/sqrt.d.ts +2 -0
- package/dist/interface/math/vec4/f32/sqrt.js +3 -0
- package/dist/interface/math/vec4/f32/sqrt.js.map +1 -0
- package/dist/interface/math/vec4/f32/step.d.ts +2 -0
- package/dist/interface/math/vec4/f32/step.js +8 -0
- package/dist/interface/math/vec4/f32/step.js.map +1 -0
- package/dist/interface/math/vec4/f32/subtract.d.ts +2 -0
- package/dist/interface/math/vec4/f32/subtract.js +8 -0
- package/dist/interface/math/vec4/f32/subtract.js.map +1 -0
- package/dist/interface/math/vec4/f32/tan.d.ts +2 -0
- package/dist/interface/math/vec4/f32/tan.js +3 -0
- package/dist/interface/math/vec4/f32/tan.js.map +1 -0
- package/dist/interface/math/vec4/f32/tanh.d.ts +2 -0
- package/dist/interface/math/vec4/f32/tanh.js +3 -0
- package/dist/interface/math/vec4/f32/tanh.js.map +1 -0
- package/dist/interface/math/vec4/f32/trunc.d.ts +2 -0
- package/dist/interface/math/vec4/f32/trunc.js +3 -0
- package/dist/interface/math/vec4/f32/trunc.js.map +1 -0
- package/dist/interface/math/vec4/i32/abs.d.ts +2 -0
- package/dist/interface/math/vec4/i32/abs.js +8 -0
- package/dist/interface/math/vec4/i32/abs.js.map +1 -0
- package/dist/interface/math/vec4/i32/add.d.ts +2 -0
- package/dist/interface/math/vec4/i32/add.js +8 -0
- package/dist/interface/math/vec4/i32/add.js.map +1 -0
- package/dist/interface/math/vec4/i32/bitwise-and.d.ts +2 -0
- package/dist/interface/math/vec4/i32/bitwise-and.js +8 -0
- package/dist/interface/math/vec4/i32/bitwise-and.js.map +1 -0
- package/dist/interface/math/vec4/i32/bitwise-not.d.ts +2 -0
- package/dist/interface/math/vec4/i32/bitwise-not.js +3 -0
- package/dist/interface/math/vec4/i32/bitwise-not.js.map +1 -0
- package/dist/interface/math/vec4/i32/bitwise-or.d.ts +2 -0
- package/dist/interface/math/vec4/i32/bitwise-or.js +8 -0
- package/dist/interface/math/vec4/i32/bitwise-or.js.map +1 -0
- package/dist/interface/math/vec4/i32/bitwise-xor.d.ts +2 -0
- package/dist/interface/math/vec4/i32/bitwise-xor.js +8 -0
- package/dist/interface/math/vec4/i32/bitwise-xor.js.map +1 -0
- package/dist/interface/math/vec4/i32/clamp.d.ts +2 -0
- package/dist/interface/math/vec4/i32/clamp.js +5 -0
- package/dist/interface/math/vec4/i32/clamp.js.map +1 -0
- package/dist/interface/math/vec4/i32/count-leading-zeros.d.ts +2 -0
- package/dist/interface/math/vec4/i32/count-leading-zeros.js +9 -0
- package/dist/interface/math/vec4/i32/count-leading-zeros.js.map +1 -0
- package/dist/interface/math/vec4/i32/count-one-bits.d.ts +2 -0
- package/dist/interface/math/vec4/i32/count-one-bits.js +9 -0
- package/dist/interface/math/vec4/i32/count-one-bits.js.map +1 -0
- package/dist/interface/math/vec4/i32/count-trailing-zeros.d.ts +2 -0
- package/dist/interface/math/vec4/i32/count-trailing-zeros.js +9 -0
- package/dist/interface/math/vec4/i32/count-trailing-zeros.js.map +1 -0
- package/dist/interface/math/vec4/i32/equals.d.ts +2 -0
- package/dist/interface/math/vec4/i32/equals.js +2 -0
- package/dist/interface/math/vec4/i32/equals.js.map +1 -0
- package/dist/interface/math/vec4/i32/i32.d.ts +5 -0
- package/dist/interface/math/vec4/i32/i32.js +2 -0
- package/dist/interface/math/vec4/i32/i32.js.map +1 -0
- package/dist/interface/math/vec4/i32/max.d.ts +2 -0
- package/dist/interface/math/vec4/i32/max.js +8 -0
- package/dist/interface/math/vec4/i32/max.js.map +1 -0
- package/dist/interface/math/vec4/i32/min.d.ts +2 -0
- package/dist/interface/math/vec4/i32/min.js +8 -0
- package/dist/interface/math/vec4/i32/min.js.map +1 -0
- package/dist/interface/math/vec4/i32/multiply.d.ts +2 -0
- package/dist/interface/math/vec4/i32/multiply.js +8 -0
- package/dist/interface/math/vec4/i32/multiply.js.map +1 -0
- package/dist/interface/math/vec4/i32/negate.d.ts +2 -0
- package/dist/interface/math/vec4/i32/negate.js +8 -0
- package/dist/interface/math/vec4/i32/negate.js.map +1 -0
- package/dist/interface/math/vec4/i32/one.d.ts +2 -0
- package/dist/interface/math/vec4/i32/one.js +2 -0
- package/dist/interface/math/vec4/i32/one.js.map +1 -0
- package/dist/interface/math/vec4/i32/public.d.ts +24 -0
- package/dist/interface/math/vec4/i32/public.js +26 -0
- package/dist/interface/math/vec4/i32/public.js.map +1 -0
- package/dist/interface/math/vec4/i32/reverse-bits.d.ts +2 -0
- package/dist/interface/math/vec4/i32/reverse-bits.js +9 -0
- package/dist/interface/math/vec4/i32/reverse-bits.js.map +1 -0
- package/dist/interface/math/vec4/i32/scale.d.ts +3 -0
- package/dist/interface/math/vec4/i32/scale.js +8 -0
- package/dist/interface/math/vec4/i32/scale.js.map +1 -0
- package/dist/interface/math/vec4/i32/schema.d.ts +10 -0
- package/dist/interface/math/vec4/i32/schema.js +3 -0
- package/dist/interface/math/vec4/i32/schema.js.map +1 -0
- package/dist/interface/math/vec4/i32/shift-left.d.ts +2 -0
- package/dist/interface/math/vec4/i32/shift-left.js +2 -0
- package/dist/interface/math/vec4/i32/shift-left.js.map +1 -0
- package/dist/interface/math/vec4/i32/shift-right.d.ts +2 -0
- package/dist/interface/math/vec4/i32/shift-right.js +8 -0
- package/dist/interface/math/vec4/i32/shift-right.js.map +1 -0
- package/dist/interface/math/vec4/i32/subtract.d.ts +2 -0
- package/dist/interface/math/vec4/i32/subtract.js +8 -0
- package/dist/interface/math/vec4/i32/subtract.js.map +1 -0
- package/dist/interface/math/vec4/i32/zero.d.ts +2 -0
- package/dist/interface/math/vec4/i32/zero.js +2 -0
- package/dist/interface/math/vec4/i32/zero.js.map +1 -0
- package/dist/interface/math/vec4/index.d.ts +4 -0
- package/dist/interface/math/vec4/index.js +2 -0
- package/dist/interface/math/vec4/index.js.map +1 -0
- package/dist/interface/math/vec4/public.d.ts +5 -0
- package/dist/interface/math/vec4/public.js +7 -0
- package/dist/interface/math/vec4/public.js.map +1 -0
- package/dist/interface/math/vec4/u32/add.d.ts +2 -0
- package/dist/interface/math/vec4/u32/add.js +8 -0
- package/dist/interface/math/vec4/u32/add.js.map +1 -0
- package/dist/interface/math/vec4/u32/bitwise-and.d.ts +2 -0
- package/dist/interface/math/vec4/u32/bitwise-and.js +8 -0
- package/dist/interface/math/vec4/u32/bitwise-and.js.map +1 -0
- package/dist/interface/math/vec4/u32/bitwise-not.d.ts +2 -0
- package/dist/interface/math/vec4/u32/bitwise-not.js +3 -0
- package/dist/interface/math/vec4/u32/bitwise-not.js.map +1 -0
- package/dist/interface/math/vec4/u32/bitwise-or.d.ts +2 -0
- package/dist/interface/math/vec4/u32/bitwise-or.js +8 -0
- package/dist/interface/math/vec4/u32/bitwise-or.js.map +1 -0
- package/dist/interface/math/vec4/u32/bitwise-xor.d.ts +2 -0
- package/dist/interface/math/vec4/u32/bitwise-xor.js +8 -0
- package/dist/interface/math/vec4/u32/bitwise-xor.js.map +1 -0
- package/dist/interface/math/vec4/u32/clamp.d.ts +2 -0
- package/dist/interface/math/vec4/u32/clamp.js +5 -0
- package/dist/interface/math/vec4/u32/clamp.js.map +1 -0
- package/dist/interface/math/vec4/u32/count-leading-zeros.d.ts +2 -0
- package/dist/interface/math/vec4/u32/count-leading-zeros.js +9 -0
- package/dist/interface/math/vec4/u32/count-leading-zeros.js.map +1 -0
- package/dist/interface/math/vec4/u32/count-one-bits.d.ts +2 -0
- package/dist/interface/math/vec4/u32/count-one-bits.js +9 -0
- package/dist/interface/math/vec4/u32/count-one-bits.js.map +1 -0
- package/dist/interface/math/vec4/u32/count-trailing-zeros.d.ts +2 -0
- package/dist/interface/math/vec4/u32/count-trailing-zeros.js +9 -0
- package/dist/interface/math/vec4/u32/count-trailing-zeros.js.map +1 -0
- package/dist/interface/math/vec4/u32/equals.d.ts +2 -0
- package/dist/interface/math/vec4/u32/equals.js +2 -0
- package/dist/interface/math/vec4/u32/equals.js.map +1 -0
- package/dist/interface/math/vec4/u32/max.d.ts +2 -0
- package/dist/interface/math/vec4/u32/max.js +8 -0
- package/dist/interface/math/vec4/u32/max.js.map +1 -0
- package/dist/interface/math/vec4/u32/min.d.ts +2 -0
- package/dist/interface/math/vec4/u32/min.js +8 -0
- package/dist/interface/math/vec4/u32/min.js.map +1 -0
- package/dist/interface/math/vec4/u32/multiply.d.ts +2 -0
- package/dist/interface/math/vec4/u32/multiply.js +8 -0
- package/dist/interface/math/vec4/u32/multiply.js.map +1 -0
- package/dist/interface/math/vec4/u32/negate.d.ts +2 -0
- package/dist/interface/math/vec4/u32/negate.js +2 -0
- package/dist/interface/math/vec4/u32/negate.js.map +1 -0
- package/dist/interface/math/vec4/u32/one.d.ts +2 -0
- package/dist/interface/math/vec4/u32/one.js +2 -0
- package/dist/interface/math/vec4/u32/one.js.map +1 -0
- package/dist/interface/math/vec4/u32/public.d.ts +23 -0
- package/dist/interface/math/vec4/u32/public.js +25 -0
- package/dist/interface/math/vec4/u32/public.js.map +1 -0
- package/dist/interface/math/vec4/u32/reverse-bits.d.ts +2 -0
- package/dist/interface/math/vec4/u32/reverse-bits.js +9 -0
- package/dist/interface/math/vec4/u32/reverse-bits.js.map +1 -0
- package/dist/interface/math/vec4/u32/scale.d.ts +3 -0
- package/dist/interface/math/vec4/u32/scale.js +8 -0
- package/dist/interface/math/vec4/u32/scale.js.map +1 -0
- package/dist/interface/math/vec4/u32/schema.d.ts +10 -0
- package/dist/interface/math/vec4/u32/schema.js +3 -0
- package/dist/interface/math/vec4/u32/schema.js.map +1 -0
- package/dist/interface/math/vec4/u32/shift-left.d.ts +2 -0
- package/dist/interface/math/vec4/u32/shift-left.js +7 -0
- package/dist/interface/math/vec4/u32/shift-left.js.map +1 -0
- package/dist/interface/math/vec4/u32/shift-right.d.ts +2 -0
- package/dist/interface/math/vec4/u32/shift-right.js +8 -0
- package/dist/interface/math/vec4/u32/shift-right.js.map +1 -0
- package/dist/interface/math/vec4/u32/subtract.d.ts +2 -0
- package/dist/interface/math/vec4/u32/subtract.js +8 -0
- package/dist/interface/math/vec4/u32/subtract.js.map +1 -0
- package/dist/interface/math/vec4/u32/u32.d.ts +5 -0
- package/dist/interface/math/vec4/u32/u32.js +2 -0
- package/dist/interface/math/vec4/u32/u32.js.map +1 -0
- package/dist/interface/math/vec4/u32/zero.d.ts +2 -0
- package/dist/interface/math/vec4/u32/zero.js +2 -0
- package/dist/interface/math/vec4/u32/zero.js.map +1 -0
- package/dist/interface/platform/platform.d.ts +28 -0
- package/dist/interface/platform/platform.js +2 -0
- package/dist/interface/platform/platform.js.map +1 -0
- package/dist/interface/registry/archetypes.d.ts +29 -0
- package/dist/interface/registry/archetypes.js +52 -0
- package/dist/interface/registry/archetypes.js.map +1 -0
- package/dist/interface/registry/declarations.d.ts +25 -0
- package/dist/interface/registry/declarations.js +217 -0
- package/dist/interface/registry/declarations.js.map +1 -0
- package/dist/interface/registry/finalizer-order.d.ts +6 -0
- package/dist/interface/registry/finalizer-order.js +66 -0
- package/dist/interface/registry/finalizer-order.js.map +1 -0
- package/dist/interface/registry/ids.d.ts +35 -0
- package/dist/interface/registry/ids.js +70 -0
- package/dist/interface/registry/ids.js.map +1 -0
- package/dist/interface/registry/index.d.ts +29 -0
- package/dist/interface/registry/index.js +16 -0
- package/dist/interface/registry/index.js.map +1 -0
- package/dist/interface/registry/indexes.d.ts +38 -0
- package/dist/interface/registry/indexes.js +63 -0
- package/dist/interface/registry/indexes.js.map +1 -0
- package/dist/interface/registry/items.d.ts +38 -0
- package/dist/interface/registry/items.js +79 -0
- package/dist/interface/registry/items.js.map +1 -0
- package/dist/interface/registry/layout.d.ts +61 -0
- package/dist/interface/registry/layout.js +318 -0
- package/dist/interface/registry/layout.js.map +1 -0
- package/dist/interface/registry/names.d.ts +46 -0
- package/dist/interface/registry/names.js +153 -0
- package/dist/interface/registry/names.js.map +1 -0
- package/dist/interface/registry/program.d.ts +36 -0
- package/dist/interface/registry/program.js +96 -0
- package/dist/interface/registry/program.js.map +1 -0
- package/dist/interface/registry/reduction.d.ts +5 -0
- package/dist/interface/registry/reduction.js +5 -0
- package/dist/interface/registry/reduction.js.map +1 -0
- package/dist/interface/registry/schedule.d.ts +36 -0
- package/dist/interface/registry/schedule.js +202 -0
- package/dist/interface/registry/schedule.js.map +1 -0
- package/dist/interface/registry/schemas.d.ts +22 -0
- package/dist/interface/registry/schemas.js +122 -0
- package/dist/interface/registry/schemas.js.map +1 -0
- package/dist/interface/registry/strata.d.ts +29 -0
- package/dist/interface/registry/strata.js +95 -0
- package/dist/interface/registry/strata.js.map +1 -0
- package/dist/interface/registry/threads.d.ts +34 -0
- package/dist/interface/registry/threads.js +53 -0
- package/dist/interface/registry/threads.js.map +1 -0
- package/dist/interface/registry/traits.d.ts +4 -0
- package/dist/interface/registry/traits.js +11 -0
- package/dist/interface/registry/traits.js.map +1 -0
- package/dist/interface/registry/written.d.ts +4 -0
- package/dist/interface/registry/written.js +14 -0
- package/dist/interface/registry/written.js.map +1 -0
- package/dist/interface/resource/condition.d.ts +8 -0
- package/dist/interface/resource/condition.js +2 -0
- package/dist/interface/resource/condition.js.map +1 -0
- package/dist/interface/resource/index.d.ts +2 -0
- package/dist/interface/resource/index.js +2 -0
- package/dist/interface/resource/index.js.map +1 -0
- package/dist/interface/resource/key.d.ts +2 -0
- package/dist/interface/resource/key.js +2 -0
- package/dist/interface/resource/key.js.map +1 -0
- package/dist/interface/resource/reduction.d.ts +14 -0
- package/dist/interface/resource/reduction.js +2 -0
- package/dist/interface/resource/reduction.js.map +1 -0
- package/dist/interface/resource/resource.d.ts +2 -0
- package/dist/interface/resource/resource.js +3 -0
- package/dist/interface/resource/resource.js.map +1 -0
- package/dist/interface/resource/types.d.ts +6 -0
- package/dist/interface/resource/types.js +2 -0
- package/dist/interface/resource/types.js.map +1 -0
- package/dist/interface/resource/value.d.ts +21 -0
- package/dist/interface/resource/value.js +2 -0
- package/dist/interface/resource/value.js.map +1 -0
- package/dist/interface/resource/written.d.ts +3 -0
- package/dist/interface/resource/written.js +2 -0
- package/dist/interface/resource/written.js.map +1 -0
- package/dist/interface/resources/always.d.ts +9 -0
- package/dist/interface/resources/always.js +6 -0
- package/dist/interface/resources/always.js.map +1 -0
- package/dist/interface/resources/cadence.d.ts +21 -0
- package/dist/interface/resources/cadence.js +18 -0
- package/dist/interface/resources/cadence.js.map +1 -0
- package/dist/interface/resources/clock.d.ts +16 -0
- package/dist/interface/resources/clock.js +12 -0
- package/dist/interface/resources/clock.js.map +1 -0
- package/dist/interface/resources/gpu-device.d.ts +13 -0
- package/dist/interface/resources/gpu-device.js +10 -0
- package/dist/interface/resources/gpu-device.js.map +1 -0
- package/dist/interface/resources/index.d.ts +6 -0
- package/dist/interface/resources/index.js +8 -0
- package/dist/interface/resources/index.js.map +1 -0
- package/dist/interface/resources/wake.d.ts +13 -0
- package/dist/interface/resources/wake.js +9 -0
- package/dist/interface/resources/wake.js.map +1 -0
- package/dist/interface/resources/workers.d.ts +9 -0
- package/dist/interface/resources/workers.js +6 -0
- package/dist/interface/resources/workers.js.map +1 -0
- package/dist/interface/rule/create.d.ts +13 -0
- package/dist/interface/rule/create.js +27 -0
- package/dist/interface/rule/create.js.map +1 -0
- package/dist/interface/rule/created.d.ts +7 -0
- package/dist/interface/rule/created.js +2 -0
- package/dist/interface/rule/created.js.map +1 -0
- package/dist/interface/rule/declaration.d.ts +18 -0
- package/dist/interface/rule/declaration.js +2 -0
- package/dist/interface/rule/declaration.js.map +1 -0
- package/dist/interface/rule/index.d.ts +1 -0
- package/dist/interface/rule/index.js +3 -0
- package/dist/interface/rule/index.js.map +1 -0
- package/dist/interface/rule/rule.d.ts +2 -0
- package/dist/interface/rule/rule.js +2 -0
- package/dist/interface/rule/rule.js.map +1 -0
- package/dist/interface/schema/is-struct.d.ts +43 -0
- package/dist/interface/schema/is-struct.js +2 -0
- package/dist/interface/schema/is-struct.js.map +1 -0
- package/dist/interface/schema/schema.d.ts +171 -0
- package/dist/interface/schema/schema.js +2 -0
- package/dist/interface/schema/schema.js.map +1 -0
- package/dist/interface/system/access.d.ts +132 -0
- package/dist/interface/system/access.js +2 -0
- package/dist/interface/system/access.js.map +1 -0
- package/dist/interface/system/body.d.ts +83 -0
- package/dist/interface/system/body.js +2 -0
- package/dist/interface/system/body.js.map +1 -0
- package/dist/interface/system/check.d.ts +24 -0
- package/dist/interface/system/check.js +296 -0
- package/dist/interface/system/check.js.map +1 -0
- package/dist/interface/system/commands.d.ts +74 -0
- package/dist/interface/system/commands.js +2 -0
- package/dist/interface/system/commands.js.map +1 -0
- package/dist/interface/system/composite-declaration.d.ts +11 -0
- package/dist/interface/system/composite-declaration.js +2 -0
- package/dist/interface/system/composite-declaration.js.map +1 -0
- package/dist/interface/system/composite.d.ts +8 -0
- package/dist/interface/system/composite.js +2 -0
- package/dist/interface/system/composite.js.map +1 -0
- package/dist/interface/system/create-resolved.d.ts +9 -0
- package/dist/interface/system/create-resolved.js +18 -0
- package/dist/interface/system/create-resolved.js.map +1 -0
- package/dist/interface/system/create.d.ts +218 -0
- package/dist/interface/system/create.js +55 -0
- package/dist/interface/system/create.js.map +1 -0
- package/dist/interface/system/declaration.d.ts +75 -0
- package/dist/interface/system/declaration.js +2 -0
- package/dist/interface/system/declaration.js.map +1 -0
- package/dist/interface/system/definition.d.ts +4 -0
- package/dist/interface/system/definition.js +2 -0
- package/dist/interface/system/definition.js.map +1 -0
- package/dist/interface/system/index.d.ts +3 -0
- package/dist/interface/system/index.js +3 -0
- package/dist/interface/system/index.js.map +1 -0
- package/dist/interface/system/input.d.ts +59 -0
- package/dist/interface/system/input.js +2 -0
- package/dist/interface/system/input.js.map +1 -0
- package/dist/interface/system/leaf.d.ts +19 -0
- package/dist/interface/system/leaf.js +2 -0
- package/dist/interface/system/leaf.js.map +1 -0
- package/dist/interface/system/name.d.ts +6 -0
- package/dist/interface/system/name.js +2 -0
- package/dist/interface/system/name.js.map +1 -0
- package/dist/interface/system/property.d.ts +4 -0
- package/dist/interface/system/property.js +3 -0
- package/dist/interface/system/property.js.map +1 -0
- package/dist/interface/system/render.d.ts +84 -0
- package/dist/interface/system/render.js +46 -0
- package/dist/interface/system/render.js.map +1 -0
- package/dist/interface/system/resolve.d.ts +68 -0
- package/dist/interface/system/resolve.js +138 -0
- package/dist/interface/system/resolve.js.map +1 -0
- package/dist/interface/system/struct.d.ts +11 -0
- package/dist/interface/system/struct.js +2 -0
- package/dist/interface/system/struct.js.map +1 -0
- package/dist/interface/system/system.d.ts +12 -0
- package/dist/interface/system/system.js +2 -0
- package/dist/interface/system/system.js.map +1 -0
- package/dist/interface/system/threads.d.ts +47 -0
- package/dist/interface/system/threads.js +2 -0
- package/dist/interface/system/threads.js.map +1 -0
- package/dist/interface/system/values-of.d.ts +17 -0
- package/dist/interface/system/values-of.js +2 -0
- package/dist/interface/system/values-of.js.map +1 -0
- package/dist/interface/system/values.d.ts +73 -0
- package/dist/interface/system/values.js +2 -0
- package/dist/interface/system/values.js.map +1 -0
- package/dist/interface/thread/of.d.ts +11 -0
- package/dist/interface/thread/of.js +2 -0
- package/dist/interface/thread/of.js.map +1 -0
- package/dist/interface/thread/thread.d.ts +12 -0
- package/dist/interface/thread/thread.js +2 -0
- package/dist/interface/thread/thread.js.map +1 -0
- package/dist/interface/trait/key.d.ts +4 -0
- package/dist/interface/trait/key.js +2 -0
- package/dist/interface/trait/key.js.map +1 -0
- package/dist/interface/trait/types.d.ts +74 -0
- package/dist/interface/trait/types.js +2 -0
- package/dist/interface/trait/types.js.map +1 -0
- package/dist/interface/world/create.d.ts +21 -0
- package/dist/interface/world/create.js +2 -0
- package/dist/interface/world/create.js.map +1 -0
- package/dist/interface/world/declarations.d.ts +37 -0
- package/dist/interface/world/declarations.js +2 -0
- package/dist/interface/world/declarations.js.map +1 -0
- package/dist/interface/world/filter.d.ts +8 -0
- package/dist/interface/world/filter.js +3 -0
- package/dist/interface/world/filter.js.map +1 -0
- package/dist/interface/world/index.d.ts +1 -0
- package/dist/interface/world/index.js +2 -0
- package/dist/interface/world/index.js.map +1 -0
- package/dist/interface/world/join.d.ts +17 -0
- package/dist/interface/world/join.js +2 -0
- package/dist/interface/world/join.js.map +1 -0
- package/dist/interface/world/world.d.ts +73 -0
- package/dist/interface/world/world.js +2 -0
- package/dist/interface/world/world.js.map +1 -0
- package/package.json +79 -3
- package/src/exports.test.ts +276 -0
- package/src/guide/00-keys.md +34 -0
- package/src/guide/00-keys.out +1 -0
- package/src/guide/00-keys.ts +35 -0
- package/src/guide/00-setup.md +24 -0
- package/src/guide/01-resources.md +22 -0
- package/src/guide/01-resources.out +2 -0
- package/src/guide/01-resources.ts +33 -0
- package/src/guide/02-entities.md +19 -0
- package/src/guide/02-entities.out +2 -0
- package/src/guide/02-entities.ts +43 -0
- package/src/guide/03-systems.md +22 -0
- package/src/guide/03-systems.out +5 -0
- package/src/guide/03-systems.ts +68 -0
- package/src/guide/04-ticks.md +18 -0
- package/src/guide/04-ticks.out +3 -0
- package/src/guide/04-ticks.ts +53 -0
- package/src/guide/05-scheduling.md +14 -0
- package/src/guide/05-scheduling.out +2 -0
- package/src/guide/05-scheduling.ts +46 -0
- package/src/guide/06-sync-points.md +14 -0
- package/src/guide/06-sync-points.out +3 -0
- package/src/guide/06-sync-points.ts +42 -0
- package/src/guide/07-change-filters.md +14 -0
- package/src/guide/07-change-filters.out +6 -0
- package/src/guide/07-change-filters.ts +70 -0
- package/src/guide/08-input.md +12 -0
- package/src/guide/08-input.out +1 -0
- package/src/guide/08-input.ts +45 -0
- package/src/guide/09-rules.md +12 -0
- package/src/guide/09-rules.out +2 -0
- package/src/guide/09-rules.ts +50 -0
- package/src/guide/10-finalizers.md +13 -0
- package/src/guide/10-finalizers.out +4 -0
- package/src/guide/10-finalizers.ts +48 -0
- package/src/guide/11-traits.md +16 -0
- package/src/guide/11-traits.out +2 -0
- package/src/guide/11-traits.ts +51 -0
- package/src/guide/11-traits.type-test.ts +25 -0
- package/src/guide/12-lookups.md +14 -0
- package/src/guide/12-lookups.out +3 -0
- package/src/guide/12-lookups.ts +59 -0
- package/src/guide/13-indexes.md +21 -0
- package/src/guide/13-indexes.out +8 -0
- package/src/guide/13-indexes.ts +73 -0
- package/src/guide/14-kernels.md +15 -0
- package/src/guide/14-kernels.out +1 -0
- package/src/guide/14-kernels.ts +48 -0
- package/src/guide/15-reductions.md +12 -0
- package/src/guide/15-reductions.out +1 -0
- package/src/guide/15-reductions.ts +38 -0
- package/src/guide/16-gpu.md +18 -0
- package/src/guide/16-gpu.out +3 -0
- package/src/guide/16-gpu.ts +51 -0
- package/src/guide/17-hierarchies.md +11 -0
- package/src/guide/17-hierarchies.out +1 -0
- package/src/guide/17-hierarchies.ts +40 -0
- package/src/guide/18-identity.md +10 -0
- package/src/guide/18-identity.out +1 -0
- package/src/guide/18-identity.ts +11 -0
- package/src/guide/19-threads.md +16 -0
- package/src/guide/19-threads.out +2 -0
- package/src/guide/19-threads.ts +65 -0
- package/src/guide/20-shared.md +29 -0
- package/src/guide/20-shared.out +4 -0
- package/src/guide/20-shared.ts +118 -0
- package/src/guide/21-dom.md +22 -0
- package/src/guide/21-dom.out +5 -0
- package/src/guide/21-dom.ts +117 -0
- package/src/guide/22-canvas.md +15 -0
- package/src/guide/22-canvas.out +3 -0
- package/src/guide/22-canvas.ts +119 -0
- package/src/guide/CLAUDE.md +49 -0
- package/src/guide/README.md +42 -0
- package/src/guide/guide.test.ts +215 -0
- package/src/implementation/compiler/access.ts +149 -0
- package/src/implementation/compiler/archetypes.test.ts +64 -0
- package/src/implementation/compiler/archetypes.ts +134 -0
- package/src/implementation/compiler/assign.ts +168 -0
- package/src/implementation/compiler/augmentations.test.ts +418 -0
- package/src/implementation/compiler/augmentations.ts +871 -0
- package/src/implementation/compiler/bind.ts +89 -0
- package/src/implementation/compiler/body-access.ts +434 -0
- package/src/implementation/compiler/booleans.ts +39 -0
- package/src/implementation/compiler/branches.ts +46 -0
- package/src/implementation/compiler/calls.ts +395 -0
- package/src/implementation/compiler/columns.ts +62 -0
- package/src/implementation/compiler/compile-kernel.ts +204 -0
- package/src/implementation/compiler/compiler.ts +9 -0
- package/src/implementation/compiler/data.ts +95 -0
- package/src/implementation/compiler/describe.test-helper.ts +97 -0
- package/src/implementation/compiler/describe.test.ts +168 -0
- package/src/implementation/compiler/describe.ts +489 -0
- package/src/implementation/compiler/estree.ts +64 -0
- package/src/implementation/compiler/expression.ts +146 -0
- package/src/implementation/compiler/failure.ts +38 -0
- package/src/implementation/compiler/hygiene.test.ts +66 -0
- package/src/implementation/compiler/identify.test.ts +209 -0
- package/src/implementation/compiler/identify.ts +212 -0
- package/src/implementation/compiler/index.ts +6 -0
- package/src/implementation/compiler/inferred.test.ts +32 -0
- package/src/implementation/compiler/inferred.ts +197 -0
- package/src/implementation/compiler/inline-kernels.test.ts +10 -0
- package/src/implementation/compiler/inline-kernels.ts +21 -0
- package/src/implementation/compiler/input-schemas.test.ts +182 -0
- package/src/implementation/compiler/input-schemas.ts +107 -0
- package/src/implementation/compiler/ir.ts +106 -0
- package/src/implementation/compiler/kernel-id.ts +34 -0
- package/src/implementation/compiler/key.ts +33 -0
- package/src/implementation/compiler/link.test.ts +73 -0
- package/src/implementation/compiler/link.ts +231 -0
- package/src/implementation/compiler/lists.ts +230 -0
- package/src/implementation/compiler/lookups.ts +121 -0
- package/src/implementation/compiler/math.ts +10 -0
- package/src/implementation/compiler/memory-compiler.browser.test.ts +85 -0
- package/src/implementation/compiler/memory-compiler.test.ts +147 -0
- package/src/implementation/compiler/memory-compiler.ts +307 -0
- package/src/implementation/compiler/module-scope.ts +141 -0
- package/src/implementation/compiler/module-value.ts +136 -0
- package/src/implementation/compiler/out.ts +7 -0
- package/src/implementation/compiler/oxc.test-helper.ts +20 -0
- package/src/implementation/compiler/oxc.test.ts +69 -0
- package/src/implementation/compiler/oxc.ts +90 -0
- package/src/implementation/compiler/package-copies.ts +208 -0
- package/src/implementation/compiler/passes.ts +34 -0
- package/src/implementation/compiler/paths.ts +24 -0
- package/src/implementation/compiler/plugin.test.ts +686 -0
- package/src/implementation/compiler/plugin.ts +384 -0
- package/src/implementation/compiler/posix.test.ts +34 -0
- package/src/implementation/compiler/posix.ts +183 -0
- package/src/implementation/compiler/predicates.test.ts +90 -0
- package/src/implementation/compiler/predicates.ts +250 -0
- package/src/implementation/compiler/print.ts +124 -0
- package/src/implementation/compiler/program.ts +235 -0
- package/src/implementation/compiler/public.ts +2 -0
- package/src/implementation/compiler/scalar.ts +47 -0
- package/src/implementation/compiler/scope.ts +28 -0
- package/src/implementation/compiler/serialize.ts +11 -0
- package/src/implementation/compiler/shared-kernels.test.ts +57 -0
- package/src/implementation/compiler/signature.ts +210 -0
- package/src/implementation/compiler/snapshot.ts +37 -0
- package/src/implementation/compiler/source-map.test.ts +41 -0
- package/src/implementation/compiler/source-map.ts +135 -0
- package/src/implementation/compiler/spawns.ts +171 -0
- package/src/implementation/compiler/stamps.ts +46 -0
- package/src/implementation/compiler/statement.ts +103 -0
- package/src/implementation/compiler/subset.md +83 -0
- package/src/implementation/compiler/terminal.ts +50 -0
- package/src/implementation/compiler/transform.test.ts +1534 -0
- package/src/implementation/compiler/transform.ts +498 -0
- package/src/implementation/compiler/type-host.test-helper.ts +27 -0
- package/src/implementation/compiler/type-schemas.ts +714 -0
- package/src/implementation/compiler/unit.ts +132 -0
- package/src/implementation/compiler/value.ts +61 -0
- package/src/implementation/compiler/wat.test.ts +135 -0
- package/src/implementation/compiler/wat.ts +365 -0
- package/src/implementation/index.ts +3 -0
- package/src/implementation/world/activate.ts +134 -0
- package/src/implementation/world/archetype.ts +501 -0
- package/src/implementation/world/arrays.test.ts +25 -0
- package/src/implementation/world/arrays.ts +48 -0
- package/src/implementation/world/arrivals.test.ts +89 -0
- package/src/implementation/world/arrivals.ts +165 -0
- package/src/implementation/world/async-loading.test.ts +86 -0
- package/src/implementation/world/attach-kernel.test.ts +17 -0
- package/src/implementation/world/attach-kernel.ts +31 -0
- package/src/implementation/world/batches.test.ts +126 -0
- package/src/implementation/world/batches.ts +185 -0
- package/src/implementation/world/buffer.ts +176 -0
- package/src/implementation/world/builtins.test.ts +87 -0
- package/src/implementation/world/cascade.ts +145 -0
- package/src/implementation/world/cells.ts +25 -0
- package/src/implementation/world/change-blocks.browser.test.ts +76 -0
- package/src/implementation/world/change-blocks.cases.ts +14 -0
- package/src/implementation/world/change-blocks.fixture.ts +70 -0
- package/src/implementation/world/change-blocks.test.ts +264 -0
- package/src/implementation/world/changes-finalizers.test.ts +38 -0
- package/src/implementation/world/check-kernel.ts +100 -0
- package/src/implementation/world/claims.test.ts +42 -0
- package/src/implementation/world/claims.ts +51 -0
- package/src/implementation/world/closure.test.ts +40 -0
- package/src/implementation/world/closure.ts +41 -0
- package/src/implementation/world/command-ring.ts +475 -0
- package/src/implementation/world/command-rings.cases.ts +48 -0
- package/src/implementation/world/command-rings.fixture.ts +180 -0
- package/src/implementation/world/commands.test.ts +385 -0
- package/src/implementation/world/commands.ts +100 -0
- package/src/implementation/world/composite-input.test.ts +39 -0
- package/src/implementation/world/conditions.test.ts +113 -0
- package/src/implementation/world/constant-unions.test.ts +43 -0
- package/src/implementation/world/create.test.ts +362 -0
- package/src/implementation/world/create.ts +1061 -0
- package/src/implementation/world/defaults.test.ts +86 -0
- package/src/implementation/world/directories.ts +87 -0
- package/src/implementation/world/directory.test.ts +53 -0
- package/src/implementation/world/dispatch.cases.ts +33 -0
- package/src/implementation/world/dispatch.fixture.ts +163 -0
- package/src/implementation/world/entities.ts +190 -0
- package/src/implementation/world/entity-lookup-workers.cases.ts +19 -0
- package/src/implementation/world/entity-lookup-workers.fixture.ts +102 -0
- package/src/implementation/world/entity-lookups.browser.test.ts +51 -0
- package/src/implementation/world/entity-lookups.test-helper.ts +195 -0
- package/src/implementation/world/entity-lookups.test.ts +105 -0
- package/src/implementation/world/execute.ts +745 -0
- package/src/implementation/world/failing-worker.fixture.ts +3 -0
- package/src/implementation/world/failures.ts +71 -0
- package/src/implementation/world/finalizers.test.ts +302 -0
- package/src/implementation/world/finalizers.ts +451 -0
- package/src/implementation/world/fixtures.test-helper.ts +20 -0
- package/src/implementation/world/generated-code.md +144 -0
- package/src/implementation/world/gpu.browser.test.ts +701 -0
- package/src/implementation/world/gpu.test-helper.ts +12 -0
- package/src/implementation/world/gpu.ts +405 -0
- package/src/implementation/world/holders.ts +69 -0
- package/src/implementation/world/ids-changes.test-helper.ts +4 -0
- package/src/implementation/world/ids-keys.test-helper.ts +21 -0
- package/src/implementation/world/ids.test.ts +31 -0
- package/src/implementation/world/imported-lists.test-helper.ts +18 -0
- package/src/implementation/world/imported-lists.test.ts +44 -0
- package/src/implementation/world/index-buckets.test.ts +276 -0
- package/src/implementation/world/index-build-csp.test.ts +58 -0
- package/src/implementation/world/index-build.cases.ts +21 -0
- package/src/implementation/world/index-build.fixture.ts +122 -0
- package/src/implementation/world/index-build.ts +459 -0
- package/src/implementation/world/index-changed.test.ts +235 -0
- package/src/implementation/world/index-hash.test.ts +34 -0
- package/src/implementation/world/index-hash.ts +858 -0
- package/src/implementation/world/index-joined.test.ts +451 -0
- package/src/implementation/world/index-kernels.test.ts +195 -0
- package/src/implementation/world/index-keyless.test.ts +271 -0
- package/src/implementation/world/index-keys.ts +272 -0
- package/src/implementation/world/index-lookups-csp.test.ts +43 -0
- package/src/implementation/world/index-lookups.ts +629 -0
- package/src/implementation/world/index-order.test.ts +150 -0
- package/src/implementation/world/index-order.ts +183 -0
- package/src/implementation/world/index-readers.ts +325 -0
- package/src/implementation/world/index-sorted.test.ts +76 -0
- package/src/implementation/world/index-sorted.ts +656 -0
- package/src/implementation/world/index-workers.cases.ts +27 -0
- package/src/implementation/world/index-workers.fixture.ts +250 -0
- package/src/implementation/world/indexes.test.ts +719 -0
- package/src/implementation/world/indexes.ts +1163 -0
- package/src/implementation/world/input.ts +15 -0
- package/src/implementation/world/intrinsics-coverage.test.ts +26 -0
- package/src/implementation/world/intrinsics.browser.test.ts +544 -0
- package/src/implementation/world/intrinsics.ts +41 -0
- package/src/implementation/world/join.test.ts +309 -0
- package/src/implementation/world/join.ts +729 -0
- package/src/implementation/world/join.type-test.ts +29 -0
- package/src/implementation/world/joined-observer.test.ts +58 -0
- package/src/implementation/world/joined-observer.ts +875 -0
- package/src/implementation/world/joining-worker.fixture.ts +109 -0
- package/src/implementation/world/joining.cases.ts +88 -0
- package/src/implementation/world/joining.fixture.ts +238 -0
- package/src/implementation/world/joining.test-helper.ts +90 -0
- package/src/implementation/world/joining.ts +387 -0
- package/src/implementation/world/journal.ts +40 -0
- package/src/implementation/world/kernel-imports-sparks.test-helper.ts +16 -0
- package/src/implementation/world/kernel-imports-steer.test-helper.ts +10 -0
- package/src/implementation/world/kernel-imports.test.ts +71 -0
- package/src/implementation/world/kernel-indexes.ts +174 -0
- package/src/implementation/world/kernel-lookup.test-helper.ts +26 -0
- package/src/implementation/world/kernel-path.test-helper.ts +18 -0
- package/src/implementation/world/kernel-spawns.test.ts +148 -0
- package/src/implementation/world/kernel-tried.test-helper.ts +31 -0
- package/src/implementation/world/kernel.ts +268 -0
- package/src/implementation/world/kernels-csp.test.ts +42 -0
- package/src/implementation/world/kernels.test.ts +82 -0
- package/src/implementation/world/kernels.ts +398 -0
- package/src/implementation/world/layout-directory.browser.test.ts +195 -0
- package/src/implementation/world/layout-directory.cases.ts +38 -0
- package/src/implementation/world/layout-directory.fixture.ts +176 -0
- package/src/implementation/world/layout-directory.ts +282 -0
- package/src/implementation/world/lifetime.cases.ts +19 -0
- package/src/implementation/world/lifetime.fixture.ts +68 -0
- package/src/implementation/world/lifetime.test-helper.ts +79 -0
- package/src/implementation/world/lifetime.test.ts +80 -0
- package/src/implementation/world/lists.ts +303 -0
- package/src/implementation/world/lookup-keys.ts +49 -0
- package/src/implementation/world/loop.test.ts +193 -0
- package/src/implementation/world/loop.ts +295 -0
- package/src/implementation/world/memory.test.ts +42 -0
- package/src/implementation/world/memory.ts +90 -0
- package/src/implementation/world/mirror.ts +638 -0
- package/src/implementation/world/move-log.test.ts +429 -0
- package/src/implementation/world/move-log.ts +216 -0
- package/src/implementation/world/names.test.ts +80 -0
- package/src/implementation/world/observe-cases.browser.test.ts +97 -0
- package/src/implementation/world/observe-cases.test.ts +752 -0
- package/src/implementation/world/observe-factories.test.ts +301 -0
- package/src/implementation/world/observe-joined-cases.test.ts +221 -0
- package/src/implementation/world/observe-ticks-cases.test.ts +211 -0
- package/src/implementation/world/observe.test-helper.ts +14 -0
- package/src/implementation/world/observed-workers.cases.ts +13 -0
- package/src/implementation/world/observed-workers.fixture.ts +54 -0
- package/src/implementation/world/observer-contained-worker.fixture.ts +41 -0
- package/src/implementation/world/observer-contained.browser.test.ts +5 -0
- package/src/implementation/world/observer-contained.cases.ts +17 -0
- package/src/implementation/world/observer-contained.fixture.ts +121 -0
- package/src/implementation/world/observer-contained.test-helper.ts +42 -0
- package/src/implementation/world/observer-contained.test.ts +88 -0
- package/src/implementation/world/observer-joined-worker.fixture.ts +81 -0
- package/src/implementation/world/observer-joined.cases.ts +29 -0
- package/src/implementation/world/observer-joined.fixture.ts +288 -0
- package/src/implementation/world/observer-joined.test-helper.ts +171 -0
- package/src/implementation/world/observer-joined.test.ts +366 -0
- package/src/implementation/world/observer.browser.test.ts +73 -0
- package/src/implementation/world/observer.test.ts +291 -0
- package/src/implementation/world/observer.ts +139 -0
- package/src/implementation/world/optional-workers.cases.ts +19 -0
- package/src/implementation/world/optional-workers.fixture.ts +55 -0
- package/src/implementation/world/optional.test.ts +351 -0
- package/src/implementation/world/order.ts +352 -0
- package/src/implementation/world/out-of-band.ts +61 -0
- package/src/implementation/world/outcomes.test-helper.ts +138 -0
- package/src/implementation/world/package-id.test-helper.ts +9 -0
- package/src/implementation/world/perf.md +476 -0
- package/src/implementation/world/plan.md +81 -0
- package/src/implementation/world/plan.ts +72 -0
- package/src/implementation/world/platforms.test-helper.ts +68 -0
- package/src/implementation/world/pool-size.cases.ts +41 -0
- package/src/implementation/world/pool-size.fixture.ts +158 -0
- package/src/implementation/world/pool.cases.ts +31 -0
- package/src/implementation/world/pool.fixture.ts +55 -0
- package/src/implementation/world/pool.ts +324 -0
- package/src/implementation/world/port.test.ts +45 -0
- package/src/implementation/world/port.ts +148 -0
- package/src/implementation/world/ports.cases.ts +37 -0
- package/src/implementation/world/ports.fixture.ts +106 -0
- package/src/implementation/world/ports.type-test.ts +15 -0
- package/src/implementation/world/precision.test.ts +174 -0
- package/src/implementation/world/prepared-lookup.ts +96 -0
- package/src/implementation/world/prepared-spawn.ts +165 -0
- package/src/implementation/world/program.ts +14 -0
- package/src/implementation/world/protocol.ts +134 -0
- package/src/implementation/world/publish.ts +29 -0
- package/src/implementation/world/ranges.test.ts +66 -0
- package/src/implementation/world/ranges.ts +110 -0
- package/src/implementation/world/reads.test-helper.ts +30 -0
- package/src/implementation/world/reclaim.test.ts +214 -0
- package/src/implementation/world/reclaim.ts +170 -0
- package/src/implementation/world/reductions.cases.ts +23 -0
- package/src/implementation/world/reductions.fixture.ts +60 -0
- package/src/implementation/world/reductions.test.ts +266 -0
- package/src/implementation/world/reductions.ts +107 -0
- package/src/implementation/world/reevaluation.test-helper.ts +16 -0
- package/src/implementation/world/reevaluation.test.ts +33 -0
- package/src/implementation/world/register.ts +413 -0
- package/src/implementation/world/remote-finalizers-worker.fixture.ts +59 -0
- package/src/implementation/world/remote-finalizers.cases.ts +42 -0
- package/src/implementation/world/remote-finalizers.fixture.ts +215 -0
- package/src/implementation/world/remote-finalizers.test-helper.ts +252 -0
- package/src/implementation/world/remote-finalizers.test.ts +254 -0
- package/src/implementation/world/remote-objects-worker.fixture.ts +21 -0
- package/src/implementation/world/remote-objects.cases.ts +17 -0
- package/src/implementation/world/remote-objects.fixture.ts +61 -0
- package/src/implementation/world/remote-objects.test-helper.ts +106 -0
- package/src/implementation/world/remote-systems.ts +641 -0
- package/src/implementation/world/remote.test.ts +184 -0
- package/src/implementation/world/remote.ts +126 -0
- package/src/implementation/world/removal-worker.fixture.ts +21 -0
- package/src/implementation/world/removal.cases.ts +17 -0
- package/src/implementation/world/removal.fixture.ts +96 -0
- package/src/implementation/world/remove-joined.test.ts +182 -0
- package/src/implementation/world/remove.test-helper.ts +82 -0
- package/src/implementation/world/remove.test.ts +191 -0
- package/src/implementation/world/render-order.browser.test.ts +209 -0
- package/src/implementation/world/render-order.ts +150 -0
- package/src/implementation/world/required.ts +10 -0
- package/src/implementation/world/resources.ts +71 -0
- package/src/implementation/world/rows.test.ts +75 -0
- package/src/implementation/world/rows.ts +584 -0
- package/src/implementation/world/rules.test.ts +242 -0
- package/src/implementation/world/run-results.test.ts +374 -0
- package/src/implementation/world/runner.ts +1379 -0
- package/src/implementation/world/schedule.test.ts +122 -0
- package/src/implementation/world/semantics.test.ts +95 -0
- package/src/implementation/world/share.test.ts +18 -0
- package/src/implementation/world/shared-gpu.browser.test.ts +109 -0
- package/src/implementation/world/shared-kernels.test.ts +117 -0
- package/src/implementation/world/shared-workers.cases.ts +20 -0
- package/src/implementation/world/shared-workers.fixture.ts +74 -0
- package/src/implementation/world/shared.test.ts +348 -0
- package/src/implementation/world/shared.ts +316 -0
- package/src/implementation/world/sharing.ts +652 -0
- package/src/implementation/world/staging.ts +239 -0
- package/src/implementation/world/state.ts +678 -0
- package/src/implementation/world/stop-lists.ts +377 -0
- package/src/implementation/world/strings.test.ts +189 -0
- package/src/implementation/world/strings.ts +247 -0
- package/src/implementation/world/structure.ts +74 -0
- package/src/implementation/world/synchronize.test.ts +55 -0
- package/src/implementation/world/synchronize.ts +805 -0
- package/src/implementation/world/tail-blocks.ts +79 -0
- package/src/implementation/world/tails-worker.fixture.ts +62 -0
- package/src/implementation/world/tails.cases.ts +45 -0
- package/src/implementation/world/tails.fixture.ts +257 -0
- package/src/implementation/world/tails.test-helper.ts +173 -0
- package/src/implementation/world/tails.test.ts +109 -0
- package/src/implementation/world/tails.ts +490 -0
- package/src/implementation/world/target.test.ts +70 -0
- package/src/implementation/world/terminal.ts +14 -0
- package/src/implementation/world/thread-directory.ts +279 -0
- package/src/implementation/world/thread-finalizers.ts +424 -0
- package/src/implementation/world/thread-indexes.ts +92 -0
- package/src/implementation/world/thread-observer.ts +281 -0
- package/src/implementation/world/thread-systems-worker.fixture.ts +69 -0
- package/src/implementation/world/thread-systems.cases.ts +54 -0
- package/src/implementation/world/thread-systems.fixture.ts +234 -0
- package/src/implementation/world/thread-systems.test-helper.ts +330 -0
- package/src/implementation/world/thread-systems.test.ts +145 -0
- package/src/implementation/world/thread-systems.ts +1514 -0
- package/src/implementation/world/thread-tasks.ts +80 -0
- package/src/implementation/world/threads.browser.test.ts +51 -0
- package/src/implementation/world/threads.test.ts +83 -0
- package/src/implementation/world/ticks.browser.test.ts +43 -0
- package/src/implementation/world/ticks.test.ts +34 -0
- package/src/implementation/world/traits.test.ts +62 -0
- package/src/implementation/world/transfers-worker.fixture.ts +119 -0
- package/src/implementation/world/transfers.cases.ts +31 -0
- package/src/implementation/world/transfers.fixture.ts +140 -0
- package/src/implementation/world/transfers.test-helper.ts +101 -0
- package/src/implementation/world/transfers.test.ts +153 -0
- package/src/implementation/world/transfers.ts +105 -0
- package/src/implementation/world/unidentified-finalizers.test.ts +58 -0
- package/src/implementation/world/up-tree.test.ts +312 -0
- package/src/implementation/world/up-workers.cases.ts +14 -0
- package/src/implementation/world/up-workers.fixture.ts +63 -0
- package/src/implementation/world/up.browser.test.ts +75 -0
- package/src/implementation/world/up.test.ts +298 -0
- package/src/implementation/world/up.ts +912 -0
- package/src/implementation/world/wasm-kernels.test.ts +275 -0
- package/src/implementation/world/wasm.test.ts +559 -0
- package/src/implementation/world/wasm.ts +2365 -0
- package/src/implementation/world/wgsl.test.ts +42 -0
- package/src/implementation/world/wgsl.ts +481 -0
- package/src/implementation/world/where.test.ts +342 -0
- package/src/implementation/world/where.ts +236 -0
- package/src/implementation/world/worker-platform.ts +106 -0
- package/src/implementation/world/worker-window.test.ts +43 -0
- package/src/implementation/world/worker-window.ts +43 -0
- package/src/implementation/world/worker.ts +548 -0
- package/src/implementation/world/workers-follow.test.ts +51 -0
- package/src/implementation/world/workers.cases.ts +60 -0
- package/src/implementation/world/workers.fixture.ts +238 -0
- package/src/implementation/world/world-host.fixture.ts +11 -0
- package/src/index.ts +21 -0
- package/src/interface/CLAUDE.md +33 -0
- package/src/interface/component/component.ts +5 -0
- package/src/interface/component/index.ts +3 -0
- package/src/interface/component/key.ts +4 -0
- package/src/interface/component/key.type-test.ts +30 -0
- package/src/interface/component/register.test.ts +117 -0
- package/src/interface/component/types.ts +7 -0
- package/src/interface/component/value.ts +41 -0
- package/src/interface/component/values.ts +6 -0
- package/src/interface/entity/entity.ts +10 -0
- package/src/interface/entity/index.ts +12 -0
- package/src/interface/finalizer/body.ts +52 -0
- package/src/interface/finalizer/create.test.ts +143 -0
- package/src/interface/finalizer/create.ts +158 -0
- package/src/interface/finalizer/created.ts +22 -0
- package/src/interface/finalizer/declaration.ts +48 -0
- package/src/interface/finalizer/finalizer.ts +8 -0
- package/src/interface/finalizer/index.ts +2 -0
- package/src/interface/gpu/accessors.ts +90 -0
- package/src/interface/gpu/gpu.ts +5 -0
- package/src/interface/gpu/gpu.type-test.ts +27 -0
- package/src/interface/gpu/index.ts +3 -0
- package/src/interface/gpu/layout.ts +23 -0
- package/src/interface/gpu/record.ts +6 -0
- package/src/interface/gpu/wgsl.ts +23 -0
- package/src/interface/index.ts +17 -0
- package/src/interface/index.type-test.ts +52 -0
- package/src/interface/indexes/create.test.ts +146 -0
- package/src/interface/indexes/create.ts +88 -0
- package/src/interface/indexes/created.ts +5 -0
- package/src/interface/indexes/declaration.ts +15 -0
- package/src/interface/indexes/index-type.ts +13 -0
- package/src/interface/indexes/index.ts +2 -0
- package/src/interface/indexes/index.type-test.ts +244 -0
- package/src/interface/math/f32/default.ts +6 -0
- package/src/interface/math/f32/index.ts +7 -0
- package/src/interface/math/f32/public.ts +3 -0
- package/src/interface/math/f32/round-half-even.ts +6 -0
- package/src/interface/math/f32/schema.ts +4 -0
- package/src/interface/math/i32/default.ts +6 -0
- package/src/interface/math/i32/index.ts +8 -0
- package/src/interface/math/i32/public.ts +4 -0
- package/src/interface/math/i32/schema.ts +4 -0
- package/src/interface/math/i32/shift-right.ts +4 -0
- package/src/interface/math/index.ts +9 -0
- package/src/interface/math/intrinsic.ts +19 -0
- package/src/interface/math/mat4x4/add.ts +10 -0
- package/src/interface/math/mat4x4/determinant.ts +27 -0
- package/src/interface/math/mat4x4/identity.ts +9 -0
- package/src/interface/math/mat4x4/index.ts +29 -0
- package/src/interface/math/mat4x4/inverse.ts +50 -0
- package/src/interface/math/mat4x4/look-at.test.ts +14 -0
- package/src/interface/math/mat4x4/look-at.ts +27 -0
- package/src/interface/math/mat4x4/multiply-vec3.ts +9 -0
- package/src/interface/math/mat4x4/multiply-vec4.ts +11 -0
- package/src/interface/math/mat4x4/multiply.ts +23 -0
- package/src/interface/math/mat4x4/orthographic.ts +21 -0
- package/src/interface/math/mat4x4/perspective.ts +21 -0
- package/src/interface/math/mat4x4/public.ts +22 -0
- package/src/interface/math/mat4x4/rotation-x.ts +13 -0
- package/src/interface/math/mat4x4/rotation-y.ts +13 -0
- package/src/interface/math/mat4x4/rotation-z.ts +13 -0
- package/src/interface/math/mat4x4/rotation.test.ts +17 -0
- package/src/interface/math/mat4x4/scale.ts +10 -0
- package/src/interface/math/mat4x4/scaling.ts +9 -0
- package/src/interface/math/mat4x4/schema.ts +5 -0
- package/src/interface/math/mat4x4/subtract.ts +10 -0
- package/src/interface/math/mat4x4/translation.ts +9 -0
- package/src/interface/math/mat4x4/transpose.ts +10 -0
- package/src/interface/math/mat4x4/zero.ts +9 -0
- package/src/interface/math/math.type-test.ts +43 -0
- package/src/interface/math/quat/add.ts +10 -0
- package/src/interface/math/quat/align-to.ts +45 -0
- package/src/interface/math/quat/conjugate.ts +4 -0
- package/src/interface/math/quat/distance.ts +6 -0
- package/src/interface/math/quat/dot.ts +6 -0
- package/src/interface/math/quat/from-axis-angle.ts +15 -0
- package/src/interface/math/quat/from-euler.ts +18 -0
- package/src/interface/math/quat/identity.ts +4 -0
- package/src/interface/math/quat/index.ts +7 -0
- package/src/interface/math/quat/inverse.ts +11 -0
- package/src/interface/math/quat/length-squared.ts +4 -0
- package/src/interface/math/quat/length.ts +5 -0
- package/src/interface/math/quat/lerp.ts +9 -0
- package/src/interface/math/quat/look-at.ts +53 -0
- package/src/interface/math/quat/multiply.ts +9 -0
- package/src/interface/math/quat/negate.ts +5 -0
- package/src/interface/math/quat/normalize.ts +9 -0
- package/src/interface/math/quat/public.ts +26 -0
- package/src/interface/math/quat/rotate-vec3.ts +17 -0
- package/src/interface/math/quat/scale.ts +5 -0
- package/src/interface/math/quat/schema.ts +5 -0
- package/src/interface/math/quat/slerp.ts +27 -0
- package/src/interface/math/quat/subtract.ts +10 -0
- package/src/interface/math/quat/to-axis-angle.ts +15 -0
- package/src/interface/math/quat/to-euler.ts +26 -0
- package/src/interface/math/quat/to-mat4.ts +28 -0
- package/src/interface/math/semantics.test.ts +51 -0
- package/src/interface/math/u32/count-leading-zeros.ts +5 -0
- package/src/interface/math/u32/count-one-bits.ts +11 -0
- package/src/interface/math/u32/count-trailing-zeros.ts +8 -0
- package/src/interface/math/u32/default.ts +6 -0
- package/src/interface/math/u32/index.ts +8 -0
- package/src/interface/math/u32/public.ts +8 -0
- package/src/interface/math/u32/reverse-bits.ts +12 -0
- package/src/interface/math/u32/schema.ts +4 -0
- package/src/interface/math/u32/shift-right.ts +4 -0
- package/src/interface/math/vec2/f32/abs.ts +5 -0
- package/src/interface/math/vec2/f32/acos.ts +5 -0
- package/src/interface/math/vec2/f32/acosh.ts +5 -0
- package/src/interface/math/vec2/f32/add.ts +5 -0
- package/src/interface/math/vec2/f32/asin.ts +5 -0
- package/src/interface/math/vec2/f32/asinh.ts +5 -0
- package/src/interface/math/vec2/f32/atan.ts +5 -0
- package/src/interface/math/vec2/f32/atanh.ts +5 -0
- package/src/interface/math/vec2/f32/ceil.ts +5 -0
- package/src/interface/math/vec2/f32/clamp.ts +7 -0
- package/src/interface/math/vec2/f32/cos.ts +5 -0
- package/src/interface/math/vec2/f32/cosh.ts +5 -0
- package/src/interface/math/vec2/f32/distance.ts +7 -0
- package/src/interface/math/vec2/f32/dot.ts +5 -0
- package/src/interface/math/vec2/f32/equals.ts +4 -0
- package/src/interface/math/vec2/f32/exp.ts +5 -0
- package/src/interface/math/vec2/f32/exp2.ts +5 -0
- package/src/interface/math/vec2/f32/f32.ts +7 -0
- package/src/interface/math/vec2/f32/faceforward.ts +8 -0
- package/src/interface/math/vec2/f32/floor.ts +5 -0
- package/src/interface/math/vec2/f32/fract.ts +5 -0
- package/src/interface/math/vec2/f32/length.ts +5 -0
- package/src/interface/math/vec2/f32/log.ts +5 -0
- package/src/interface/math/vec2/f32/log2.ts +5 -0
- package/src/interface/math/vec2/f32/max.ts +5 -0
- package/src/interface/math/vec2/f32/min.ts +5 -0
- package/src/interface/math/vec2/f32/mix.ts +8 -0
- package/src/interface/math/vec2/f32/mod.ts +4 -0
- package/src/interface/math/vec2/f32/modf.ts +8 -0
- package/src/interface/math/vec2/f32/negate.ts +5 -0
- package/src/interface/math/vec2/f32/normalize.ts +7 -0
- package/src/interface/math/vec2/f32/pow.ts +9 -0
- package/src/interface/math/vec2/f32/public.ts +49 -0
- package/src/interface/math/vec2/f32/reflect.ts +11 -0
- package/src/interface/math/vec2/f32/refract.ts +16 -0
- package/src/interface/math/vec2/f32/round.ts +6 -0
- package/src/interface/math/vec2/f32/scale.ts +5 -0
- package/src/interface/math/vec2/f32/schema.ts +5 -0
- package/src/interface/math/vec2/f32/sign.ts +5 -0
- package/src/interface/math/vec2/f32/sin.ts +5 -0
- package/src/interface/math/vec2/f32/sinh.ts +5 -0
- package/src/interface/math/vec2/f32/smoothstep.ts +9 -0
- package/src/interface/math/vec2/f32/sqrt.ts +5 -0
- package/src/interface/math/vec2/f32/step.ts +8 -0
- package/src/interface/math/vec2/f32/subtract.ts +5 -0
- package/src/interface/math/vec2/f32/tan.ts +5 -0
- package/src/interface/math/vec2/f32/tanh.ts +5 -0
- package/src/interface/math/vec2/f32/trunc.ts +5 -0
- package/src/interface/math/vec2/f32/zero.ts +4 -0
- package/src/interface/math/vec2/i32/abs.ts +5 -0
- package/src/interface/math/vec2/i32/add.ts +5 -0
- package/src/interface/math/vec2/i32/bitwise-and.ts +5 -0
- package/src/interface/math/vec2/i32/bitwise-not.ts +5 -0
- package/src/interface/math/vec2/i32/bitwise-or.ts +5 -0
- package/src/interface/math/vec2/i32/bitwise-xor.ts +5 -0
- package/src/interface/math/vec2/i32/clamp.ts +7 -0
- package/src/interface/math/vec2/i32/count-leading-zeros.ts +9 -0
- package/src/interface/math/vec2/i32/count-one-bits.ts +9 -0
- package/src/interface/math/vec2/i32/count-trailing-zeros.ts +9 -0
- package/src/interface/math/vec2/i32/equals.ts +4 -0
- package/src/interface/math/vec2/i32/i32.ts +8 -0
- package/src/interface/math/vec2/i32/max.ts +5 -0
- package/src/interface/math/vec2/i32/min.ts +5 -0
- package/src/interface/math/vec2/i32/negate.ts +5 -0
- package/src/interface/math/vec2/i32/public.ts +23 -0
- package/src/interface/math/vec2/i32/reverse-bits.ts +6 -0
- package/src/interface/math/vec2/i32/scale.ts +6 -0
- package/src/interface/math/vec2/i32/schema.ts +5 -0
- package/src/interface/math/vec2/i32/shift-left.ts +4 -0
- package/src/interface/math/vec2/i32/shift-right.ts +8 -0
- package/src/interface/math/vec2/i32/subtract.ts +5 -0
- package/src/interface/math/vec2/i32/zero.ts +4 -0
- package/src/interface/math/vec2/index.ts +7 -0
- package/src/interface/math/vec2/public.ts +6 -0
- package/src/interface/math/vec2/u32/add.ts +8 -0
- package/src/interface/math/vec2/u32/bitwise-and.ts +8 -0
- package/src/interface/math/vec2/u32/bitwise-not.ts +5 -0
- package/src/interface/math/vec2/u32/bitwise-or.ts +8 -0
- package/src/interface/math/vec2/u32/bitwise-xor.ts +8 -0
- package/src/interface/math/vec2/u32/clamp.ts +7 -0
- package/src/interface/math/vec2/u32/count-leading-zeros.ts +9 -0
- package/src/interface/math/vec2/u32/count-one-bits.ts +9 -0
- package/src/interface/math/vec2/u32/count-trailing-zeros.ts +9 -0
- package/src/interface/math/vec2/u32/equals.ts +4 -0
- package/src/interface/math/vec2/u32/max.ts +8 -0
- package/src/interface/math/vec2/u32/min.ts +8 -0
- package/src/interface/math/vec2/u32/negate.ts +4 -0
- package/src/interface/math/vec2/u32/public.ts +22 -0
- package/src/interface/math/vec2/u32/reverse-bits.ts +9 -0
- package/src/interface/math/vec2/u32/scale.ts +6 -0
- package/src/interface/math/vec2/u32/schema.ts +5 -0
- package/src/interface/math/vec2/u32/shift-left.ts +4 -0
- package/src/interface/math/vec2/u32/shift-right.ts +8 -0
- package/src/interface/math/vec2/u32/subtract.ts +8 -0
- package/src/interface/math/vec2/u32/u32.ts +8 -0
- package/src/interface/math/vec2/u32/zero.ts +4 -0
- package/src/interface/math/vec3/f32/abs.ts +5 -0
- package/src/interface/math/vec3/f32/acos.ts +5 -0
- package/src/interface/math/vec3/f32/acosh.ts +5 -0
- package/src/interface/math/vec3/f32/add.ts +9 -0
- package/src/interface/math/vec3/f32/asin.ts +5 -0
- package/src/interface/math/vec3/f32/asinh.ts +5 -0
- package/src/interface/math/vec3/f32/atan.ts +5 -0
- package/src/interface/math/vec3/f32/atanh.ts +5 -0
- package/src/interface/math/vec3/f32/ceil.ts +5 -0
- package/src/interface/math/vec3/f32/clamp.ts +7 -0
- package/src/interface/math/vec3/f32/cos.ts +5 -0
- package/src/interface/math/vec3/f32/cosh.ts +5 -0
- package/src/interface/math/vec3/f32/cross.ts +9 -0
- package/src/interface/math/vec3/f32/distance-squared.ts +9 -0
- package/src/interface/math/vec3/f32/distance.ts +7 -0
- package/src/interface/math/vec3/f32/dot.ts +6 -0
- package/src/interface/math/vec3/f32/equals.ts +4 -0
- package/src/interface/math/vec3/f32/exp.ts +5 -0
- package/src/interface/math/vec3/f32/exp2.ts +5 -0
- package/src/interface/math/vec3/f32/f32.ts +7 -0
- package/src/interface/math/vec3/f32/faceforward.ts +8 -0
- package/src/interface/math/vec3/f32/floor.ts +5 -0
- package/src/interface/math/vec3/f32/fract.ts +9 -0
- package/src/interface/math/vec3/f32/length-squared.ts +5 -0
- package/src/interface/math/vec3/f32/length.ts +5 -0
- package/src/interface/math/vec3/f32/log.ts +5 -0
- package/src/interface/math/vec3/f32/log2.ts +5 -0
- package/src/interface/math/vec3/f32/max.ts +9 -0
- package/src/interface/math/vec3/f32/min.ts +9 -0
- package/src/interface/math/vec3/f32/mix.ts +9 -0
- package/src/interface/math/vec3/f32/mod.ts +8 -0
- package/src/interface/math/vec3/f32/modf.ts +8 -0
- package/src/interface/math/vec3/f32/multiply.ts +12 -0
- package/src/interface/math/vec3/f32/negate.ts +5 -0
- package/src/interface/math/vec3/f32/normalize.ts +7 -0
- package/src/interface/math/vec3/f32/one.ts +4 -0
- package/src/interface/math/vec3/f32/pow.ts +10 -0
- package/src/interface/math/vec3/f32/public.ts +55 -0
- package/src/interface/math/vec3/f32/random.ts +6 -0
- package/src/interface/math/vec3/f32/reflect.ts +11 -0
- package/src/interface/math/vec3/f32/refract.ts +16 -0
- package/src/interface/math/vec3/f32/round.ts +10 -0
- package/src/interface/math/vec3/f32/scale.ts +5 -0
- package/src/interface/math/vec3/f32/schema.ts +5 -0
- package/src/interface/math/vec3/f32/sign.ts +5 -0
- package/src/interface/math/vec3/f32/sin.ts +5 -0
- package/src/interface/math/vec3/f32/sinh.ts +5 -0
- package/src/interface/math/vec3/f32/smoothstep.ts +14 -0
- package/src/interface/math/vec3/f32/sqrt.ts +5 -0
- package/src/interface/math/vec3/f32/step.ts +9 -0
- package/src/interface/math/vec3/f32/subtract.ts +9 -0
- package/src/interface/math/vec3/f32/tan.ts +5 -0
- package/src/interface/math/vec3/f32/tanh.ts +5 -0
- package/src/interface/math/vec3/f32/trunc.ts +5 -0
- package/src/interface/math/vec3/f32/zero.ts +4 -0
- package/src/interface/math/vec3/i32/abs.ts +9 -0
- package/src/interface/math/vec3/i32/add.ts +9 -0
- package/src/interface/math/vec3/i32/bitwise-and.ts +9 -0
- package/src/interface/math/vec3/i32/bitwise-not.ts +5 -0
- package/src/interface/math/vec3/i32/bitwise-or.ts +9 -0
- package/src/interface/math/vec3/i32/bitwise-xor.ts +9 -0
- package/src/interface/math/vec3/i32/clamp.ts +7 -0
- package/src/interface/math/vec3/i32/count-leading-zeros.ts +10 -0
- package/src/interface/math/vec3/i32/count-one-bits.ts +10 -0
- package/src/interface/math/vec3/i32/count-trailing-zeros.ts +10 -0
- package/src/interface/math/vec3/i32/equals.ts +4 -0
- package/src/interface/math/vec3/i32/i32.ts +8 -0
- package/src/interface/math/vec3/i32/max.ts +9 -0
- package/src/interface/math/vec3/i32/min.ts +9 -0
- package/src/interface/math/vec3/i32/multiply.ts +9 -0
- package/src/interface/math/vec3/i32/negate.ts +9 -0
- package/src/interface/math/vec3/i32/one.ts +4 -0
- package/src/interface/math/vec3/i32/public.ts +25 -0
- package/src/interface/math/vec3/i32/reverse-bits.ts +10 -0
- package/src/interface/math/vec3/i32/scale.ts +10 -0
- package/src/interface/math/vec3/i32/schema.ts +5 -0
- package/src/interface/math/vec3/i32/shift-left.ts +4 -0
- package/src/interface/math/vec3/i32/shift-right.ts +9 -0
- package/src/interface/math/vec3/i32/subtract.ts +9 -0
- package/src/interface/math/vec3/i32/zero.ts +4 -0
- package/src/interface/math/vec3/index.ts +7 -0
- package/src/interface/math/vec3/public.ts +6 -0
- package/src/interface/math/vec3/u32/add.ts +9 -0
- package/src/interface/math/vec3/u32/bitwise-and.ts +9 -0
- package/src/interface/math/vec3/u32/bitwise-not.ts +5 -0
- package/src/interface/math/vec3/u32/bitwise-or.ts +9 -0
- package/src/interface/math/vec3/u32/bitwise-xor.ts +9 -0
- package/src/interface/math/vec3/u32/clamp.ts +7 -0
- package/src/interface/math/vec3/u32/count-leading-zeros.ts +10 -0
- package/src/interface/math/vec3/u32/count-one-bits.ts +10 -0
- package/src/interface/math/vec3/u32/count-trailing-zeros.ts +10 -0
- package/src/interface/math/vec3/u32/equals.ts +4 -0
- package/src/interface/math/vec3/u32/max.ts +9 -0
- package/src/interface/math/vec3/u32/min.ts +9 -0
- package/src/interface/math/vec3/u32/multiply.ts +9 -0
- package/src/interface/math/vec3/u32/negate.ts +4 -0
- package/src/interface/math/vec3/u32/one.ts +4 -0
- package/src/interface/math/vec3/u32/public.ts +25 -0
- package/src/interface/math/vec3/u32/reverse-bits.ts +10 -0
- package/src/interface/math/vec3/u32/scale.ts +10 -0
- package/src/interface/math/vec3/u32/schema.ts +5 -0
- package/src/interface/math/vec3/u32/shift-left.ts +8 -0
- package/src/interface/math/vec3/u32/shift-right.ts +9 -0
- package/src/interface/math/vec3/u32/subtract.ts +9 -0
- package/src/interface/math/vec3/u32/u32.ts +8 -0
- package/src/interface/math/vec3/u32/volume.ts +4 -0
- package/src/interface/math/vec3/u32/zero.ts +4 -0
- package/src/interface/math/vec4/f32/abs.ts +5 -0
- package/src/interface/math/vec4/f32/acos.ts +5 -0
- package/src/interface/math/vec4/f32/acosh.ts +5 -0
- package/src/interface/math/vec4/f32/add.ts +10 -0
- package/src/interface/math/vec4/f32/asin.ts +5 -0
- package/src/interface/math/vec4/f32/asinh.ts +5 -0
- package/src/interface/math/vec4/f32/atan.ts +5 -0
- package/src/interface/math/vec4/f32/atanh.ts +5 -0
- package/src/interface/math/vec4/f32/ceil.ts +5 -0
- package/src/interface/math/vec4/f32/clamp.ts +7 -0
- package/src/interface/math/vec4/f32/cos.ts +5 -0
- package/src/interface/math/vec4/f32/cosh.ts +5 -0
- package/src/interface/math/vec4/f32/default.ts +6 -0
- package/src/interface/math/vec4/f32/distance.ts +7 -0
- package/src/interface/math/vec4/f32/dot.ts +6 -0
- package/src/interface/math/vec4/f32/exp.ts +5 -0
- package/src/interface/math/vec4/f32/exp2.ts +5 -0
- package/src/interface/math/vec4/f32/f32.ts +7 -0
- package/src/interface/math/vec4/f32/faceforward.ts +8 -0
- package/src/interface/math/vec4/f32/floor.ts +5 -0
- package/src/interface/math/vec4/f32/fract.ts +10 -0
- package/src/interface/math/vec4/f32/length.ts +5 -0
- package/src/interface/math/vec4/f32/log.ts +5 -0
- package/src/interface/math/vec4/f32/log2.ts +5 -0
- package/src/interface/math/vec4/f32/max.ts +10 -0
- package/src/interface/math/vec4/f32/min.ts +10 -0
- package/src/interface/math/vec4/f32/mix.ts +10 -0
- package/src/interface/math/vec4/f32/mod.ts +9 -0
- package/src/interface/math/vec4/f32/modf.ts +8 -0
- package/src/interface/math/vec4/f32/multiply.ts +10 -0
- package/src/interface/math/vec4/f32/negate.ts +5 -0
- package/src/interface/math/vec4/f32/normalize.ts +7 -0
- package/src/interface/math/vec4/f32/pow.ts +11 -0
- package/src/interface/math/vec4/f32/public.ts +48 -0
- package/src/interface/math/vec4/f32/reflect.ts +11 -0
- package/src/interface/math/vec4/f32/refract.ts +16 -0
- package/src/interface/math/vec4/f32/round.ts +11 -0
- package/src/interface/math/vec4/f32/scale.ts +5 -0
- package/src/interface/math/vec4/f32/schema.ts +5 -0
- package/src/interface/math/vec4/f32/sign.ts +5 -0
- package/src/interface/math/vec4/f32/sin.ts +5 -0
- package/src/interface/math/vec4/f32/sinh.ts +5 -0
- package/src/interface/math/vec4/f32/smoothstep.ts +16 -0
- package/src/interface/math/vec4/f32/sqrt.ts +5 -0
- package/src/interface/math/vec4/f32/step.ts +10 -0
- package/src/interface/math/vec4/f32/subtract.ts +10 -0
- package/src/interface/math/vec4/f32/tan.ts +5 -0
- package/src/interface/math/vec4/f32/tanh.ts +5 -0
- package/src/interface/math/vec4/f32/trunc.ts +5 -0
- package/src/interface/math/vec4/i32/abs.ts +10 -0
- package/src/interface/math/vec4/i32/add.ts +10 -0
- package/src/interface/math/vec4/i32/bitwise-and.ts +10 -0
- package/src/interface/math/vec4/i32/bitwise-not.ts +5 -0
- package/src/interface/math/vec4/i32/bitwise-or.ts +10 -0
- package/src/interface/math/vec4/i32/bitwise-xor.ts +10 -0
- package/src/interface/math/vec4/i32/clamp.ts +7 -0
- package/src/interface/math/vec4/i32/count-leading-zeros.ts +11 -0
- package/src/interface/math/vec4/i32/count-one-bits.ts +11 -0
- package/src/interface/math/vec4/i32/count-trailing-zeros.ts +11 -0
- package/src/interface/math/vec4/i32/equals.ts +5 -0
- package/src/interface/math/vec4/i32/i32.ts +8 -0
- package/src/interface/math/vec4/i32/max.ts +10 -0
- package/src/interface/math/vec4/i32/min.ts +10 -0
- package/src/interface/math/vec4/i32/multiply.ts +10 -0
- package/src/interface/math/vec4/i32/negate.ts +10 -0
- package/src/interface/math/vec4/i32/one.ts +4 -0
- package/src/interface/math/vec4/i32/public.ts +25 -0
- package/src/interface/math/vec4/i32/reverse-bits.ts +11 -0
- package/src/interface/math/vec4/i32/scale.ts +11 -0
- package/src/interface/math/vec4/i32/schema.ts +5 -0
- package/src/interface/math/vec4/i32/shift-left.ts +4 -0
- package/src/interface/math/vec4/i32/shift-right.ts +10 -0
- package/src/interface/math/vec4/i32/subtract.ts +10 -0
- package/src/interface/math/vec4/i32/zero.ts +4 -0
- package/src/interface/math/vec4/index.ts +7 -0
- package/src/interface/math/vec4/public.ts +6 -0
- package/src/interface/math/vec4/u32/add.ts +10 -0
- package/src/interface/math/vec4/u32/bitwise-and.ts +10 -0
- package/src/interface/math/vec4/u32/bitwise-not.ts +5 -0
- package/src/interface/math/vec4/u32/bitwise-or.ts +10 -0
- package/src/interface/math/vec4/u32/bitwise-xor.ts +10 -0
- package/src/interface/math/vec4/u32/clamp.ts +7 -0
- package/src/interface/math/vec4/u32/count-leading-zeros.ts +11 -0
- package/src/interface/math/vec4/u32/count-one-bits.ts +11 -0
- package/src/interface/math/vec4/u32/count-trailing-zeros.ts +11 -0
- package/src/interface/math/vec4/u32/equals.ts +5 -0
- package/src/interface/math/vec4/u32/max.ts +10 -0
- package/src/interface/math/vec4/u32/min.ts +10 -0
- package/src/interface/math/vec4/u32/multiply.ts +10 -0
- package/src/interface/math/vec4/u32/negate.ts +4 -0
- package/src/interface/math/vec4/u32/one.ts +4 -0
- package/src/interface/math/vec4/u32/public.ts +24 -0
- package/src/interface/math/vec4/u32/reverse-bits.ts +11 -0
- package/src/interface/math/vec4/u32/scale.ts +11 -0
- package/src/interface/math/vec4/u32/schema.ts +5 -0
- package/src/interface/math/vec4/u32/shift-left.ts +9 -0
- package/src/interface/math/vec4/u32/shift-right.ts +10 -0
- package/src/interface/math/vec4/u32/subtract.ts +10 -0
- package/src/interface/math/vec4/u32/u32.ts +8 -0
- package/src/interface/math/vec4/u32/zero.ts +4 -0
- package/src/interface/platform/platform.ts +36 -0
- package/src/interface/registry/archetypes.test.ts +50 -0
- package/src/interface/registry/archetypes.ts +59 -0
- package/src/interface/registry/declarations.ts +196 -0
- package/src/interface/registry/declared.test.ts +40 -0
- package/src/interface/registry/finalizer-order.ts +53 -0
- package/src/interface/registry/ids.test-helper.ts +48 -0
- package/src/interface/registry/ids.test.ts +111 -0
- package/src/interface/registry/ids.ts +76 -0
- package/src/interface/registry/index.ts +30 -0
- package/src/interface/registry/indexes.ts +74 -0
- package/src/interface/registry/items.ts +95 -0
- package/src/interface/registry/layout.test.ts +106 -0
- package/src/interface/registry/layout.ts +372 -0
- package/src/interface/registry/names.test.ts +73 -0
- package/src/interface/registry/names.ts +174 -0
- package/src/interface/registry/program.ts +112 -0
- package/src/interface/registry/reduction.ts +8 -0
- package/src/interface/registry/schedule.ts +211 -0
- package/src/interface/registry/schemas.ts +119 -0
- package/src/interface/registry/strata.ts +94 -0
- package/src/interface/registry/threads.ts +74 -0
- package/src/interface/registry/traits.ts +13 -0
- package/src/interface/registry/written.ts +15 -0
- package/src/interface/resource/condition.ts +9 -0
- package/src/interface/resource/index.ts +3 -0
- package/src/interface/resource/key.ts +4 -0
- package/src/interface/resource/reduction.ts +12 -0
- package/src/interface/resource/register.test.ts +93 -0
- package/src/interface/resource/resource.ts +5 -0
- package/src/interface/resource/types.ts +7 -0
- package/src/interface/resource/value.ts +21 -0
- package/src/interface/resource/written.ts +5 -0
- package/src/interface/resources/always.ts +13 -0
- package/src/interface/resources/cadence.ts +28 -0
- package/src/interface/resources/clock.ts +19 -0
- package/src/interface/resources/gpu-device.ts +17 -0
- package/src/interface/resources/index.ts +7 -0
- package/src/interface/resources/wake.ts +16 -0
- package/src/interface/resources/workers.ts +13 -0
- package/src/interface/rule/create.ts +27 -0
- package/src/interface/rule/created.ts +5 -0
- package/src/interface/rule/declaration.ts +15 -0
- package/src/interface/rule/index.ts +2 -0
- package/src/interface/rule/rule.ts +4 -0
- package/src/interface/rule/rule.type-test.ts +107 -0
- package/src/interface/schema/is-struct.ts +36 -0
- package/src/interface/schema/schema.ts +190 -0
- package/src/interface/schema/schema.type-test.ts +155 -0
- package/src/interface/schema/schemas.type-test.ts +13 -0
- package/src/interface/system/access.ts +107 -0
- package/src/interface/system/body.ts +79 -0
- package/src/interface/system/check.ts +265 -0
- package/src/interface/system/commands.ts +71 -0
- package/src/interface/system/commands.type-test.ts +87 -0
- package/src/interface/system/composite-declaration.ts +13 -0
- package/src/interface/system/composite-input.type-test.ts +47 -0
- package/src/interface/system/composite.ts +6 -0
- package/src/interface/system/conditions.type-test.ts +57 -0
- package/src/interface/system/create-resolved.ts +21 -0
- package/src/interface/system/create.test.ts +210 -0
- package/src/interface/system/create.ts +208 -0
- package/src/interface/system/declaration.ts +73 -0
- package/src/interface/system/definition.ts +6 -0
- package/src/interface/system/index.ts +4 -0
- package/src/interface/system/input.ts +59 -0
- package/src/interface/system/leaf.ts +20 -0
- package/src/interface/system/lists.type-test.ts +53 -0
- package/src/interface/system/name.ts +7 -0
- package/src/interface/system/optional.type-test.ts +51 -0
- package/src/interface/system/property.ts +5 -0
- package/src/interface/system/render.ts +106 -0
- package/src/interface/system/resolve.test.ts +49 -0
- package/src/interface/system/resolve.ts +165 -0
- package/src/interface/system/shared.type-test.ts +205 -0
- package/src/interface/system/struct.ts +10 -0
- package/src/interface/system/system.ts +11 -0
- package/src/interface/system/system.type-test.ts +423 -0
- package/src/interface/system/threads.ts +47 -0
- package/src/interface/system/threads.type-test.ts +83 -0
- package/src/interface/system/up.type-test.ts +67 -0
- package/src/interface/system/values-of.ts +17 -0
- package/src/interface/system/values.ts +73 -0
- package/src/interface/thread/of.ts +9 -0
- package/src/interface/thread/thread.ts +14 -0
- package/src/interface/thread/thread.type-test.ts +75 -0
- package/src/interface/trait/key.ts +7 -0
- package/src/interface/trait/trait.type-test.ts +85 -0
- package/src/interface/trait/types.ts +69 -0
- package/src/interface/tsconfig.json +28 -0
- package/src/interface/world/create.ts +22 -0
- package/src/interface/world/declarations.ts +34 -0
- package/src/interface/world/filter.ts +10 -0
- package/src/interface/world/index.ts +3 -0
- package/src/interface/world/join.ts +17 -0
- package/src/interface/world/loop.type-test.ts +72 -0
- package/src/interface/world/run.type-test.ts +87 -0
- package/src/interface/world/share.type-test.ts +31 -0
- package/src/interface/world/world.ts +73 -0
- package/src/interface/world/world.type-test.ts +77 -0
- package/src/observe/compare.ts +87 -0
- package/src/observe/entity.ts +232 -0
- package/src/observe/index.ts +2 -0
- package/src/observe/members.ts +43 -0
- package/src/observe/observe.ts +25 -0
- package/src/observe/observe.type-test.ts +85 -0
- package/src/observe/plans.ts +273 -0
- package/src/observe/query.ts +27 -0
- package/src/observe/resource.ts +81 -0
- package/src/observe/select.ts +649 -0
- package/src/observe/to-promise.ts +23 -0
- package/src/observe/tsconfig.json +31 -0
- package/src/observe/values.ts +10 -0
- package/src/observe/world-state.ts +421 -0
- package/src/observe-imports.test.ts +49 -0
- package/src/perftest/benchmark.ts +107 -0
- package/src/perftest/benchmarks.ts +708 -0
- package/src/perftest/editor.ts +126 -0
- package/src/perftest/filters.ts +124 -0
- package/src/perftest/finalized.ts +170 -0
- package/src/perftest/flat.ts +57 -0
- package/src/perftest/growth.ts +47 -0
- package/src/perftest/handoff.ts +147 -0
- package/src/perftest/hierarchy.ts +115 -0
- package/src/perftest/indexes.ts +759 -0
- package/src/perftest/invariants.ts +63 -0
- package/src/perftest/joined.ts +103 -0
- package/src/perftest/journal.ts +55 -0
- package/src/perftest/keys.ts +101 -0
- package/src/perftest/log.ts +126 -0
- package/src/perftest/loop.ts +50 -0
- package/src/perftest/observed-gpu.ts +57 -0
- package/src/perftest/observed.ts +292 -0
- package/src/perftest/observer.ts +58 -0
- package/src/perftest/optional.ts +102 -0
- package/src/perftest/particles.ts +69 -0
- package/src/perftest/placed.ts +178 -0
- package/src/perftest/reads.ts +205 -0
- package/src/perftest/remote.ts +362 -0
- package/src/perftest/render-order.ts +86 -0
- package/src/perftest/run.ts +44 -0
- package/src/perftest/shared.ts +416 -0
- package/src/perftest/strings.ts +135 -0
- package/src/perftest/structural.ts +150 -0
- package/src/perftest/suite.perf-browser-test.ts +136 -0
- package/src/perftest/suite.perf-test.ts +8 -0
- package/src/perftest/suite.ts +214 -0
- package/src/perftest/systems.ts +132 -0
- package/src/perftest/tails.ts +298 -0
- package/src/perftest/transfers.ts +98 -0
- package/src/perftest/uploads.ts +80 -0
- package/src/perftest/values.ts +107 -0
- package/src/perftest/wake.ts +41 -0
- package/src/world.test.ts +46 -0
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import { Entity } from "../../interface/entity/entity.js";
|
|
4
|
+
import { Index } from "../../interface/indexes/index-type.js";
|
|
5
|
+
import type { I32 } from "../../interface/math/i32/index.js";
|
|
6
|
+
import { workers } from "../../interface/resources/workers.js";
|
|
7
|
+
import { System } from "../../interface/system/system.js";
|
|
8
|
+
import type { World } from "../../interface/world/world.js";
|
|
9
|
+
import { createWorld, join } from "./create.js";
|
|
10
|
+
import { blockShift, chunkShift } from "./kernel.js";
|
|
11
|
+
import { readEach, select } from "./reads.test-helper.js";
|
|
12
|
+
import type { U32 } from "../../interface/math/index.js";
|
|
13
|
+
|
|
14
|
+
// Change filters skip chunks and blocks whose ticks aren't newer than their `lastRun`, so every writer of a row's tick
|
|
15
|
+
// raises its chunk's and block's. Each case writes a few rows far apart in an archetype of many chunks, through one
|
|
16
|
+
// writer, and every kind of reader must find exactly those rows.
|
|
17
|
+
|
|
18
|
+
const value = Symbol("changeBlocksTest/value");
|
|
19
|
+
const at = Symbol("changeBlocksTest/at");
|
|
20
|
+
const seen = Symbol("changeBlocksTest/seen");
|
|
21
|
+
const group = Symbol("changeBlocksTest/group");
|
|
22
|
+
const tagged = Symbol("changeBlocksTest/tagged");
|
|
23
|
+
const note = Symbol("changeBlocksTest/note");
|
|
24
|
+
const parent = Symbol("changeBlocksTest/parent");
|
|
25
|
+
const extra = Symbol("changeBlocksTest/extra");
|
|
26
|
+
const height = Symbol("changeBlocksTest/height");
|
|
27
|
+
|
|
28
|
+
declare module "@adobe/ecs" {
|
|
29
|
+
interface Threads {
|
|
30
|
+
changeBlocksTest: true;
|
|
31
|
+
}
|
|
32
|
+
interface Components {
|
|
33
|
+
[value]: { type: number };
|
|
34
|
+
[at]: { type: U32 };
|
|
35
|
+
[seen]: { type: number };
|
|
36
|
+
[group]: { type: U32 };
|
|
37
|
+
[tagged]: { type: true };
|
|
38
|
+
[note]: { type: { readonly text: string } | null; thread: "changeBlocksTest"; default: { text: "none" } };
|
|
39
|
+
[parent]: { type: Entity; reference: "owner" };
|
|
40
|
+
[extra]: { type: number };
|
|
41
|
+
[height]: { type: number };
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const text = { type: "object", properties: { text: { type: "string" } } } as const;
|
|
45
|
+
|
|
46
|
+
/** Rows in the archetype: five chunks, the last partial. */
|
|
47
|
+
const rows = 4500;
|
|
48
|
+
const plain = [value, at, seen, group] as const;
|
|
49
|
+
const marked = [value, at, seen, group, tagged] as const;
|
|
50
|
+
const noted = [value, at, note] as const;
|
|
51
|
+
|
|
52
|
+
let entities: Entity[] = [];
|
|
53
|
+
const seed = System.create({}, ({ commands }) => {
|
|
54
|
+
entities = [];
|
|
55
|
+
for (let i = 0; i < rows; i++) entities.push(commands.spawn(plain)({ [value]: 0, [at]: i, [seen]: 0, [group]: 0 }));
|
|
56
|
+
// Rows an entity tagged later moves after, so it lands far into that archetype.
|
|
57
|
+
for (let i = rows; i < 2 * rows; i++) entities.push(commands.spawn(marked)({ [value]: 0, [at]: i, [seen]: 0, [group]: 0, [tagged]: true }));
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
// Writers.
|
|
61
|
+
const setValue = System.create({ target: "entity", components: { with: [value] } }, (row, _context, input: { readonly entity: Entity }) => {
|
|
62
|
+
row[value] += 1;
|
|
63
|
+
});
|
|
64
|
+
const replace = System.create({}, ({ commands }, input: { readonly entities: readonly Entity[] }) => {
|
|
65
|
+
for (const entity of input.entities) commands.add(entity, value, 7);
|
|
66
|
+
});
|
|
67
|
+
const despawn = System.create({}, ({ commands }, input: { readonly entities: readonly Entity[] }) => {
|
|
68
|
+
for (const entity of input.entities) commands.despawn(entity);
|
|
69
|
+
});
|
|
70
|
+
const tag = System.create({}, ({ commands }, input: { readonly entities: readonly Entity[] }) => {
|
|
71
|
+
for (const entity of input.entities) commands.add(entity, tagged);
|
|
72
|
+
});
|
|
73
|
+
const spawnOne = System.create({}, ({ commands }, input: { readonly at: number }) => {
|
|
74
|
+
commands.spawn(plain)({ [value]: 0, [at]: input.at, [seen]: 0, [group]: 0 });
|
|
75
|
+
});
|
|
76
|
+
/** Writes the rows whose `at` is in a list of up to four, which stamps row by row. */
|
|
77
|
+
const writeSome = System.create({ kernel: true, components: { with: [at, value] } }, (row, _context, input: { readonly a: I32; readonly b: I32; readonly c: I32; readonly d: I32 }) => {
|
|
78
|
+
const here = row[at];
|
|
79
|
+
if (here === input.a || here === input.b || here === input.c || here === input.d) row[value] += 1;
|
|
80
|
+
});
|
|
81
|
+
/** Writes every row, which stamps chunks and blocks once per call. */
|
|
82
|
+
const writeAll = System.create({ kernel: true, components: { with: [value] } }, row => {
|
|
83
|
+
row[value] += 1;
|
|
84
|
+
});
|
|
85
|
+
const setGroup = System.create({ target: "entity", components: { with: [group] } }, (row, _context, input: { readonly entity: Entity }) => {
|
|
86
|
+
row[group] = 1;
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
// Readers.
|
|
90
|
+
let found: number[] = [];
|
|
91
|
+
const onMain = System.create({ components: { with: [at], changed: [value] } }, row => { found.push(row[at]); });
|
|
92
|
+
const observed = System.create({ observer: true, components: { with: [at], changed: [value] } }, row => { found.push(row[at]); });
|
|
93
|
+
const ofTwo = System.create({ components: { with: [at], changed: [group, value] } }, row => { found.push(row[at]); });
|
|
94
|
+
const inKernel = System.create({ kernel: true, components: { with: [seen], changed: [value] } }, row => { row[seen] += 1; });
|
|
95
|
+
const inUp = System.create({ components: { with: [at], changed: [value] }, up: { through: parent } }, row => { found.push(row[at]); });
|
|
96
|
+
const byGroup = Index.create({ key: [group] });
|
|
97
|
+
let grouped: number[] = [];
|
|
98
|
+
const inGroup = System.create({ lookup: { byGroup: { index: byGroup } } }, ({ lookup }) => {
|
|
99
|
+
const list = lookup.byGroup(1);
|
|
100
|
+
grouped = Array.from({ length: list.length }, (_, i) => list.at(i).entity);
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// On a joined thread, by the object they read: a writer, and readers of its writes and of the world's thread's.
|
|
104
|
+
const seedNoted = System.create({}, ({ commands }) => {
|
|
105
|
+
entities = [];
|
|
106
|
+
for (let i = 0; i < rows; i++) entities.push(commands.spawn(noted)({ [value]: 0, [at]: i }));
|
|
107
|
+
});
|
|
108
|
+
const noteSome = System.create({ components: { with: [at, note] } }, (row, _context, input: { readonly ats: readonly number[] }) => {
|
|
109
|
+
if (input.ats.includes(row[at])) row[note] = { text: "noted" };
|
|
110
|
+
});
|
|
111
|
+
const notesThere = System.create({ components: { with: [at, note], changed: [note] } }, row => { if (row[note] !== undefined) found.push(row[at]); });
|
|
112
|
+
const valuesThere = System.create({ components: { with: [at, note], changed: [value] } }, row => { if (row[note] !== undefined) found.push(row[at]); });
|
|
113
|
+
|
|
114
|
+
/** The `at` of the rows a main-thread reader ran, in order. */
|
|
115
|
+
const ranOn = async (world: World, reader: System): Promise<number[]> => {
|
|
116
|
+
found = [];
|
|
117
|
+
await world.run(reader);
|
|
118
|
+
return [...found].sort((a, b) => a - b);
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/** The `at` of the rows the kernel reader ran, by the `seen` it raised. */
|
|
122
|
+
const ranInKernel = async (world: World): Promise<number[]> => {
|
|
123
|
+
const all = await select(world, { required: [seen] });
|
|
124
|
+
const before = await readEach(world, all, seen);
|
|
125
|
+
await world.run(inKernel);
|
|
126
|
+
const after = await readEach(world, all, seen);
|
|
127
|
+
const ats = await readEach(world, all, at);
|
|
128
|
+
return all.flatMap((_, k) => after[k] !== before[k] ? [ats[k] ?? -1] : []).sort((a, b) => a - b);
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
const readers = { onMain, observed, ofTwo, inUp } as const;
|
|
132
|
+
|
|
133
|
+
/** Every reader's rows after `write`, each having run once before, so each sees only what `write` changed. */
|
|
134
|
+
const seenAfter = async (world: World, write: () => Promise<unknown>): Promise<{ readonly [reader: string]: readonly number[] }> => {
|
|
135
|
+
for (const reader of Object.values(readers)) await world.run(reader);
|
|
136
|
+
await world.run(inKernel);
|
|
137
|
+
await write();
|
|
138
|
+
const result: { [reader: string]: readonly number[] } = {};
|
|
139
|
+
for (const [name, reader] of Object.entries(readers)) result[name] = await ranOn(world, reader);
|
|
140
|
+
result.inKernel = await ranInKernel(world);
|
|
141
|
+
return result;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
const every = (expected: readonly number[]) => ({ onMain: expected, observed: expected, ofTwo: expected, inUp: expected, inKernel: expected });
|
|
145
|
+
|
|
146
|
+
/** Rows far apart: in the first block, a middle block of a middle chunk, and the last chunk's last block. */
|
|
147
|
+
const spread = [5, (2 << chunkShift) + (5 << blockShift) + 9, rows - 1] as const;
|
|
148
|
+
|
|
149
|
+
describe("chunk and block ticks", () => {
|
|
150
|
+
for (const wasm of [false, true]) {
|
|
151
|
+
const label = wasm ? "WASM" : "JS";
|
|
152
|
+
const inline = () => createWorld({ [workers]: 0 }, { wasm });
|
|
153
|
+
|
|
154
|
+
it(`let readers find rows a main-thread system wrote (${label} kernels)`, async () => {
|
|
155
|
+
await using world = inline();
|
|
156
|
+
await world.run(seed);
|
|
157
|
+
expect(await seenAfter(world, async () => {
|
|
158
|
+
for (const row of spread) await world.run(setValue, { entity: entities[row] });
|
|
159
|
+
})).toEqual(every(spread));
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
it(`let readers find rows a kernel wrote, row by row and once per call (${label} kernels)`, async () => {
|
|
163
|
+
await using world = inline();
|
|
164
|
+
await world.run(seed);
|
|
165
|
+
expect(await seenAfter(world, () => world.run(writeSome, { a: spread[0], b: spread[1], c: spread[2], d: -1 }))).toEqual(every(spread));
|
|
166
|
+
const all = Array.from({ length: 2 * rows }, (_, k) => k);
|
|
167
|
+
expect(await seenAfter(world, () => world.run(writeAll))).toEqual(every(all));
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
it(`let readers find rows commands wrote, moved, swapped into and spawned (${label} kernels)`, async () => {
|
|
171
|
+
await using world = inline();
|
|
172
|
+
await world.run(seed);
|
|
173
|
+
expect(await seenAfter(world, () => world.run(replace, { entities: spread.map(row => entities[row]) }))).toEqual(every(spread));
|
|
174
|
+
// The last row, changed, is swapped into the first block's despawned row.
|
|
175
|
+
const last = rows - 1;
|
|
176
|
+
expect(await seenAfter(world, async () => {
|
|
177
|
+
await world.run(setValue, { entity: entities[last] });
|
|
178
|
+
await world.run(despawn, { entities: [entities[3]] });
|
|
179
|
+
})).toEqual(every([last]));
|
|
180
|
+
// A changed row moves to the end of another archetype, past its first chunks.
|
|
181
|
+
const moved = spread[1];
|
|
182
|
+
expect(await seenAfter(world, async () => {
|
|
183
|
+
await world.run(setValue, { entity: entities[moved] });
|
|
184
|
+
await world.run(tag, { entities: [entities[moved]] });
|
|
185
|
+
})).toEqual(every([moved]));
|
|
186
|
+
expect(await seenAfter(world, () => world.run(spawnOne, { at: 9999 }))).toEqual(every([9999]));
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
it("let a filter of two components find a row only the other component changed in", async () => {
|
|
191
|
+
await using world = createWorld({ [workers]: 0 });
|
|
192
|
+
await world.run(seed);
|
|
193
|
+
await world.run(ofTwo);
|
|
194
|
+
await world.run(setGroup, { entity: entities[spread[1]] });
|
|
195
|
+
expect(await ranOn(world, ofTwo)).toEqual([spread[1]]);
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
it("let systems on a joined thread find rows written there and on the world's thread", async () => {
|
|
199
|
+
const world = createWorld({ [workers]: 0 });
|
|
200
|
+
const channel = new MessageChannel();
|
|
201
|
+
const shared = world.share(channel.port1);
|
|
202
|
+
const remote = await join(channel.port2, { threads: ["changeBlocksTest"] });
|
|
203
|
+
try {
|
|
204
|
+
await shared;
|
|
205
|
+
await world.run(seedNoted);
|
|
206
|
+
await world.run(valuesThere);
|
|
207
|
+
await world.run(notesThere);
|
|
208
|
+
for (const row of spread) await world.run(setValue, { entity: entities[row] });
|
|
209
|
+
expect(await ranOn(world, valuesThere)).toEqual(spread);
|
|
210
|
+
await world.run(noteSome, { ats: [spread[1], spread[2]] });
|
|
211
|
+
expect(await ranOn(world, notesThere)).toEqual([spread[1], spread[2]]);
|
|
212
|
+
}
|
|
213
|
+
finally {
|
|
214
|
+
await remote.dispose();
|
|
215
|
+
await world.dispose();
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
it("let an index refresh find a key written in a block of a chunk", async () => {
|
|
220
|
+
await using world = createWorld({ [workers]: 0 });
|
|
221
|
+
await world.run(seed);
|
|
222
|
+
await world.run(inGroup);
|
|
223
|
+
expect(grouped).toEqual([]);
|
|
224
|
+
await world.run(setGroup, { entity: entities[spread[1]] });
|
|
225
|
+
await world.run(inGroup);
|
|
226
|
+
expect(grouped).toEqual([entities[spread[1]]]);
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
it("let an added filter find a component a command added, and that row once swapped into an old block", async () => {
|
|
230
|
+
await using world = createWorld({ [workers]: 0 });
|
|
231
|
+
await world.run(seedExtra);
|
|
232
|
+
await world.run(addedExtra);
|
|
233
|
+
// Rows `rows` and `rows + 1` gain the component and land after the archetype's rows, in its last block.
|
|
234
|
+
await world.run(addExtra, { entity: entities[rows] });
|
|
235
|
+
expect(await ranOn(world, addedExtra)).toEqual([rows]);
|
|
236
|
+
// Its last row, just added, moves into the first block's despawned row.
|
|
237
|
+
await world.run(addExtra, { entity: entities[rows + 1] });
|
|
238
|
+
await world.run(despawn, { entities: [entities[3]] });
|
|
239
|
+
expect(await ranOn(world, addedExtra)).toEqual([rows + 1]);
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
it("let filters find what a JS kernel reading up wrote on every row", async () => {
|
|
243
|
+
await using world = createWorld({ [workers]: 0 }, { wasm: false });
|
|
244
|
+
await world.run(seedExtra);
|
|
245
|
+
await world.run(heights);
|
|
246
|
+
await world.run(raiseHeights);
|
|
247
|
+
expect((await ranOn(world, heights)).length).toBe(rows + 2);
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
// Rows that have `extra` from the start, then two that gain it; and a JS `up` kernel writing every row's height.
|
|
252
|
+
const seedExtra = System.create({}, ({ commands }) => {
|
|
253
|
+
entities = [];
|
|
254
|
+
for (let i = 0; i < rows; i++) entities.push(commands.spawn([at, extra, height])({ [at]: i, [extra]: 0, [height]: 0 }));
|
|
255
|
+
for (let i = rows; i < rows + 2; i++) entities.push(commands.spawn([at, height])({ [at]: i, [height]: 0 }));
|
|
256
|
+
});
|
|
257
|
+
const addExtra = System.create({}, ({ commands }, input: { readonly entity: Entity }) => {
|
|
258
|
+
commands.add(input.entity, extra, 1);
|
|
259
|
+
});
|
|
260
|
+
const addedExtra = System.create({ components: { with: [at], added: [extra] } }, row => { found.push(row[at]); });
|
|
261
|
+
const raiseHeights = System.create({ kernel: true, components: { with: [height] }, up: { through: parent } }, (row, { up }) => {
|
|
262
|
+
row[height] = up === null ? 1 : up[height] + 1;
|
|
263
|
+
});
|
|
264
|
+
const heights = System.create({ components: { with: [at], changed: [height] } }, row => { found.push(row[at]); });
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { expect, it } from "vitest";
|
|
3
|
+
import { Finalizer, System, World } from "../../index.js";
|
|
4
|
+
import { Observe } from "../../observe/index.js";
|
|
5
|
+
import { createWorld } from "../index.js";
|
|
6
|
+
|
|
7
|
+
const name = Symbol("changesFinalizers/name");
|
|
8
|
+
const score = Symbol("changesFinalizers/score");
|
|
9
|
+
const journal = Symbol("changesFinalizers/journal");
|
|
10
|
+
|
|
11
|
+
declare module "@adobe/ecs" {
|
|
12
|
+
interface Components {
|
|
13
|
+
[name]: { type: string };
|
|
14
|
+
[score]: { type: number };
|
|
15
|
+
}
|
|
16
|
+
interface Resources {
|
|
17
|
+
[journal]: { type: readonly string[]; default: [] };
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
// A changes finalizer sees each sync point's structural changes to the components it watches, grouped by how
|
|
23
|
+
// they changed, with values before and after: for persistence, replication and undo.
|
|
24
|
+
Finalizer.changes({ watch: [name, score] }, (changes, { resources }) => {
|
|
25
|
+
const lines = changes.groups.flatMap(group => group.entities.map(entity =>
|
|
26
|
+
`${changes.previous(entity, name) ?? changes.next(entity, name)}: +${group.added.length} -${group.removed.length} score ${changes.previous(entity, score)} → ${changes.next(entity, score)}`));
|
|
27
|
+
resources[journal] = [...resources[journal], ...lines];
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const spawn = System.create({}, ({ commands }) => { commands.spawn([name, score])({ [name]: "ada", [score]: 3 }); });
|
|
31
|
+
const retire = System.create({ components: { with: [score] } }, (row, { commands }) => { commands.remove(row.entity, score); });
|
|
32
|
+
|
|
33
|
+
it("records each sync point's structural changes", async () => {
|
|
34
|
+
await using world = createWorld();
|
|
35
|
+
await world.run(spawn);
|
|
36
|
+
await world.run(retire);
|
|
37
|
+
expect(await Observe.toPromise(Observe.resource(world, journal))).toEqual(["ada: +2 -0 score null → 3", "ada: +0 -1 score 3 → null"]);
|
|
38
|
+
});
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { declarationOf, labelOf } from '../../interface/registry/index.js';
|
|
3
|
+
import { layoutOf, samePath, type Layout, type Path } from '../../interface/registry/layout.js';
|
|
4
|
+
import type { Leaf } from '../../interface/system/leaf.js';
|
|
5
|
+
import type { KernelDescription } from './kernel.js';
|
|
6
|
+
import type { Key } from './state.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A key's layout, or null for one this copy of the package didn't register, as a library bundling its own copy
|
|
10
|
+
* registers its keys: a world binding the kernel checks those.
|
|
11
|
+
*/
|
|
12
|
+
const layoutOfKey = (key: Key): Layout | null => {
|
|
13
|
+
const declaration = declarationOf(key);
|
|
14
|
+
return declaration === undefined ? null : layoutOf(declaration.type);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/** Whether `path` names a scalar leaf of `layout`; true for an unknown layout. */
|
|
18
|
+
const hasLeaf = (layout: Layout | null, path: Path): boolean => layout === null || (layout.kind === "linear" && layout.leaves.some(leaf => samePath(leaf.path, path)));
|
|
19
|
+
|
|
20
|
+
/** Whether `leaves` are every scalar leaf of `layout`, each once; true for an unknown layout. */
|
|
21
|
+
const exactly = (layout: Layout | null, leaves: readonly Path[]): boolean => {
|
|
22
|
+
if (layout === null) return true;
|
|
23
|
+
const own = layout.kind === "linear" ? layout.leaves : [];
|
|
24
|
+
return own.length === leaves.length && own.every(leaf => leaves.some(path => samePath(path, leaf.path)));
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* How a compiled kernel doesn't match its declaration and the registered schemas, or null when it does. They don't
|
|
29
|
+
* depend on a world, so registering the kernel rejects it where it's declared: every column, whole-value write, lookup,
|
|
30
|
+
* `up` read and reduction it uses is declared, and names scalar leaves of its component's schema, each spawn site names
|
|
31
|
+
* each of its components once, from its keys, and a tuple or struct a command or spawn gives goes to a component
|
|
32
|
+
* stored in linear memory. The first mismatch.
|
|
33
|
+
*/
|
|
34
|
+
export const kernelMismatch = (leaf: Leaf, description: KernelDescription): string | null => {
|
|
35
|
+
const { lookup, components: query, resources, up } = leaf.declaration;
|
|
36
|
+
const reduces = new Set<Key>(resources?.reduce);
|
|
37
|
+
const queried = new Set<Key>([...query?.read ?? [], ...query?.write ?? []]);
|
|
38
|
+
const written = new Set<Key>(query?.write);
|
|
39
|
+
// A condition in `is` is readable too, and the compiler lists it with the reads.
|
|
40
|
+
const readable = new Set<Key>([...resources?.read ?? [], ...resources?.is ?? []]);
|
|
41
|
+
for (const key of description.resources) if (!readable.has(key)) return `reads resource "${labelOf(key)}", which isn't in resources.read.`;
|
|
42
|
+
for (const key of description.shared ?? []) {
|
|
43
|
+
if (!queried.has(key)) return `reads "${labelOf(key)}", which isn't in its components' read.`;
|
|
44
|
+
if (declarationOf(key) !== undefined && declarationOf(key)?.shared !== true) return `reads "${labelOf(key)}" as shared, which it isn't; rebuild.`;
|
|
45
|
+
}
|
|
46
|
+
for (const column of description.columns) {
|
|
47
|
+
if (column.kind === "entity") continue;
|
|
48
|
+
if (!queried.has(column.component)) return `"${labelOf(column.component)}" isn't in its components' read or write.`;
|
|
49
|
+
if (column.kind === "changed" || column.kind === "chunks" || column.kind === "blocks") {
|
|
50
|
+
if (!written.has(column.component)) return `writes "${labelOf(column.component)}", which isn't in its components' write.`;
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (column.kind === "present") continue;
|
|
54
|
+
const layout = layoutOfKey(column.component);
|
|
55
|
+
if (layout !== null && layout.kind !== "linear") return `"${labelOf(column.component)}" isn't stored in linear memory.`;
|
|
56
|
+
if (!hasLeaf(layout, column.path)) return `"${labelOf(column.component)}" has no scalar at [${column.path.join(", ")}]; destructure tuples and structs or index their fields.`;
|
|
57
|
+
}
|
|
58
|
+
for (const shape of description.shapes) {
|
|
59
|
+
if (!written.has(shape.component)) return `writes "${labelOf(shape.component)}", which isn't in its components' write.`;
|
|
60
|
+
if (!exactly(layoutOfKey(shape.component), shape.leaves)) return `a whole-value write of "${labelOf(shape.component)}" doesn't match its schema.`;
|
|
61
|
+
}
|
|
62
|
+
for (const lookupName of description.lookups) if (lookup?.[lookupName] === undefined) return `unknown lookup "${lookupName}".`;
|
|
63
|
+
if ((description.up === true) !== (up !== undefined)) return description.up === true ? "reads up, which its declaration doesn't declare." : "its declaration declares up, which it doesn't read.";
|
|
64
|
+
const upReadable = new Set<Key>(up?.read);
|
|
65
|
+
for (const column of description.upColumns ?? []) {
|
|
66
|
+
if (column.kind !== "field" || !upReadable.has(column.component)) return `reads "${labelOf(column.kind === "field" ? column.component : column.kind)}" through up, which isn't in up.read.`;
|
|
67
|
+
const layout = layoutOfKey(column.component);
|
|
68
|
+
if (layout !== null && layout.kind !== "linear") return `up reads "${labelOf(column.component)}", which isn't stored in linear memory.`;
|
|
69
|
+
if (!hasLeaf(layout, column.path)) return `"${labelOf(column.component)}" has no scalar at [${column.path.join(", ")}]; destructure tuples and structs or index their fields.`;
|
|
70
|
+
}
|
|
71
|
+
for (const reduced of description.reductions) {
|
|
72
|
+
if (!reduces.has(reduced.resource)) return `reduces "${labelOf(reduced.resource)}", which isn't in its resources' reduce.`;
|
|
73
|
+
if (declarationOf(reduced.resource)?.reduce !== reduced.operator) return `reduces "${labelOf(reduced.resource)}" with "${reduced.operator}", but it's declared reduce: "${labelOf(declarationOf(reduced.resource)?.reduce)}"; rebuild.`;
|
|
74
|
+
if (!hasLeaf(layoutOfKey(reduced.resource), reduced.path)) return `contributes to "${labelOf(reduced.resource)}" at [${reduced.path.join(", ")}], which isn't a scalar of its value; destructure tuples and structs or build them.`;
|
|
75
|
+
}
|
|
76
|
+
for (const list of description.spawns) {
|
|
77
|
+
for (let position = 0; position < list.length; position++) {
|
|
78
|
+
const k = list[position] ?? -1;
|
|
79
|
+
if (!Number.isInteger(k) || k < 0 || k >= description.keys.length) return `spawns a list naming component ${k} of its ${description.keys.length} keys.`;
|
|
80
|
+
if (list.findIndex(other => description.keys[other] === description.keys[k]) < position) return `spawns a list naming "${labelOf(description.keys[k])}" twice.`;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
for (const k of description.structuredValues) {
|
|
84
|
+
const key = description.keys[k];
|
|
85
|
+
const layout = key === undefined ? null : layoutOfKey(key);
|
|
86
|
+
if (layout !== null && layout.kind !== "linear") return `gives "${labelOf(key)}" a tuple or struct, which only a component stored in linear memory takes.`;
|
|
87
|
+
}
|
|
88
|
+
for (const shape of description.reducedShapes) {
|
|
89
|
+
if (!reduces.has(shape.component) || !exactly(layoutOfKey(shape.component), shape.leaves)) {
|
|
90
|
+
return `contributes a value to "${labelOf(shape.component)}" that doesn't match its schema.`;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
/** Throws with the first way a compiled kernel doesn't match its declaration and the registered schemas (`kernelMismatch`). */
|
|
97
|
+
export const checkKernel = (leaf: Leaf, description: KernelDescription): void => {
|
|
98
|
+
const mismatch = kernelMismatch(leaf, description);
|
|
99
|
+
if (mismatch !== null) throw new Error(`Kernel "${leaf.name}": ${mismatch}`);
|
|
100
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import { claimPiece, startRanges } from "./claims.js";
|
|
4
|
+
import { lineWords } from "./protocol.js";
|
|
5
|
+
|
|
6
|
+
const drain = (words: Int32Array, self: number, participants: number): number[] => {
|
|
7
|
+
const claimed: number[] = [];
|
|
8
|
+
for (let piece = claimPiece(words, self, participants); piece >= 0; piece = claimPiece(words, self, participants)) claimed.push(piece);
|
|
9
|
+
return claimed;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
describe("claims", () => {
|
|
13
|
+
it("take the home range in order, then steal from the back of the fullest", () => {
|
|
14
|
+
const words = new Int32Array(new SharedArrayBuffer(3 * lineWords * 4));
|
|
15
|
+
startRanges(words, 3, 10);
|
|
16
|
+
// Ranges: 0..3, 3..6, 6..10.
|
|
17
|
+
expect(claimPiece(words, 1, 3)).toBe(3);
|
|
18
|
+
expect(claimPiece(words, 1, 3)).toBe(4);
|
|
19
|
+
expect(claimPiece(words, 1, 3)).toBe(5);
|
|
20
|
+
// Participant 2 has 4 left, more than participant 0's 3.
|
|
21
|
+
expect(claimPiece(words, 1, 3)).toBe(9);
|
|
22
|
+
expect(claimPiece(words, 1, 3)).toBe(2);
|
|
23
|
+
expect(drain(words, 0, 3)).toEqual([0, 1, 8, 7, 6]);
|
|
24
|
+
expect(claimPiece(words, 2, 3)).toBe(-1);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it("claim every piece exactly once however participants interleave", () => {
|
|
28
|
+
for (const [participants, pieces] of [[1, 1], [4, 3], [9, 72], [7, 100]]) {
|
|
29
|
+
const words = new Int32Array(new SharedArrayBuffer(participants * lineWords * 4));
|
|
30
|
+
startRanges(words, participants, pieces);
|
|
31
|
+
const claimed: number[] = [];
|
|
32
|
+
let active = participants;
|
|
33
|
+
for (let turn = 0; active > 0; turn = (turn * 5 + 3) % participants) {
|
|
34
|
+
const piece = claimPiece(words, turn, participants);
|
|
35
|
+
if (piece < 0) active--;
|
|
36
|
+
else claimed.push(piece);
|
|
37
|
+
if (claimed.length > pieces) break;
|
|
38
|
+
}
|
|
39
|
+
expect(claimed.sort((a, b) => a - b)).toEqual(Array.from({ length: pieces }, (_, i) => i));
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { lineWords } from './protocol.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Pieces of a claimed split, as a home range per participant: one Int32 per participant, each on its own cache line,
|
|
6
|
+
* holding its next piece (`front`, low 16 bits) and the end of its range (`back`, high 16 bits). An owner takes pieces
|
|
7
|
+
* from its front, in order, so it streams forward through rows it ran last tier; a participant whose range is empty
|
|
8
|
+
* steals from the back of the fullest other range, so owner and thief meet only at the end. Every change is one
|
|
9
|
+
* compare-and-swap of the whole word, so a piece is claimed exactly once.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/** Split pieces into at most 32767, so a range's bounds fit its word. */
|
|
13
|
+
export const maximumPieces = 0x7fff;
|
|
14
|
+
|
|
15
|
+
const rangeWord = (front: number, back: number): number => (back << 16) | front;
|
|
16
|
+
|
|
17
|
+
/** Gives each of `participants` an equal home range of `pieces`, in order. */
|
|
18
|
+
export const startRanges = (words: Int32Array, participants: number, pieces: number): void => {
|
|
19
|
+
for (let i = 0; i < participants; i++) {
|
|
20
|
+
Atomics.store(words, i * lineWords, rangeWord(Math.floor(i * pieces / participants), Math.floor((i + 1) * pieces / participants)));
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/** Claims the next piece for participant `self`: its own front, else the back of the fullest other range; -1 once none are left. */
|
|
25
|
+
export const claimPiece = (words: Int32Array, self: number, participants: number): number => {
|
|
26
|
+
for (;;) {
|
|
27
|
+
const own = Atomics.load(words, self * lineWords);
|
|
28
|
+
const front = own & 0xffff;
|
|
29
|
+
const back = own >>> 16;
|
|
30
|
+
if (front < back) {
|
|
31
|
+
if (Atomics.compareExchange(words, self * lineWords, own, rangeWord(front + 1, back)) === own) return front;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
let victim = -1;
|
|
35
|
+
let most = 0;
|
|
36
|
+
let word = 0;
|
|
37
|
+
for (let i = 0; i < participants; i++) {
|
|
38
|
+
if (i === self) continue;
|
|
39
|
+
const other = Atomics.load(words, i * lineWords);
|
|
40
|
+
const left = (other >>> 16) - (other & 0xffff);
|
|
41
|
+
if (left > most) {
|
|
42
|
+
most = left;
|
|
43
|
+
victim = i;
|
|
44
|
+
word = other;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (victim < 0) return -1;
|
|
48
|
+
const last = (word >>> 16) - 1;
|
|
49
|
+
if (Atomics.compareExchange(words, victim * lineWords, word, rangeWord(word & 0xffff, last)) === word) return last;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import { strataOf, type RuleFacts } from "../../interface/registry/strata.js";
|
|
4
|
+
import { closedComponents } from "./closure.js";
|
|
5
|
+
|
|
6
|
+
// Components 0 to 9: 0 mesh, 1 transform, 2 hidden, 3 slot (derived), 4 ready (within slot), 5 visible (derived), 6 resident (derived), 7 sprite.
|
|
7
|
+
const derived = [false, false, false, true, false, true, true, false];
|
|
8
|
+
const hosts = [-1, -1, -1, -1, 3, -1, -1, -1];
|
|
9
|
+
const name = (id: number): string => `c${id}`;
|
|
10
|
+
const rule = (has: number[], not: number[], derives: number[]): RuleFacts => ({ has, not, derives });
|
|
11
|
+
const closure = (rules: readonly RuleFacts[], components: number[]): number[] => closedComponents(components, derived, hosts, strataOf(rules, hosts, name));
|
|
12
|
+
|
|
13
|
+
describe("closure", () => {
|
|
14
|
+
const slots = rule([0, 1], [2], [3]);
|
|
15
|
+
it("derives where a rule matches, and drops what no rule derives", () => {
|
|
16
|
+
expect(closure([slots], [0, 1])).toEqual([0, 1, 3]);
|
|
17
|
+
expect(closure([slots], [0, 1, 2, 3])).toEqual([0, 1, 2]);
|
|
18
|
+
expect(closure([slots], [0, 3])).toEqual([0]);
|
|
19
|
+
});
|
|
20
|
+
it("keeps a component within its host only while the host is present", () => {
|
|
21
|
+
expect(closure([slots], [0, 1, 3, 4])).toEqual([0, 1, 3, 4]);
|
|
22
|
+
expect(closure([slots], [0, 1, 2, 3, 4])).toEqual([0, 1, 2]);
|
|
23
|
+
});
|
|
24
|
+
it("chains rules and unions owners, after the strata their negations read", () => {
|
|
25
|
+
const visible = rule([3], [], [5]);
|
|
26
|
+
const fromSprite = rule([7], [], [5]);
|
|
27
|
+
const resident = rule([5], [4], [6]);
|
|
28
|
+
expect(closure([slots, visible, fromSprite, resident], [0, 1])).toEqual([0, 1, 3, 5, 6]);
|
|
29
|
+
expect(closure([slots, visible, fromSprite, resident], [0, 1, 4])).toEqual([0, 1, 3, 4, 5]);
|
|
30
|
+
expect(closure([slots, visible, fromSprite, resident], [7])).toEqual([5, 6, 7]);
|
|
31
|
+
});
|
|
32
|
+
it("is a least fixed point: positive cycles derive nothing on their own", () => {
|
|
33
|
+
expect(closure([rule([5], [], [6]), rule([6], [], [5])], [0])).toEqual([0]);
|
|
34
|
+
expect(closure([rule([5], [], [6]), rule([6], [], [5]), rule([0], [], [5])], [0])).toEqual([0, 5, 6]);
|
|
35
|
+
});
|
|
36
|
+
it("rejects cycles through a negation or within", () => {
|
|
37
|
+
expect(() => strataOf([rule([], [6], [5]), rule([5], [], [6])], hosts, name)).toThrow("cycle through a negation, which could oscillate: c5, c6");
|
|
38
|
+
expect(() => strataOf([rule([4], [], [3])], hosts, name)).toThrow("within each other in a cycle: c3, c4");
|
|
39
|
+
});
|
|
40
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
/**
|
|
3
|
+
* Structural derivation: which components an archetype's entities have once rules and `within` are applied.
|
|
4
|
+
* Datalog with stratified negation over the components each entity has. A rule adds the components it derives where
|
|
5
|
+
* its query matches; a component declared within a host stays only while the host is present. Each stratum is a least
|
|
6
|
+
* fixed point, evaluated after every stratum it depends on, so the result is a pure function of the archetype.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { Strata } from '../../interface/registry/strata.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The sorted components an entity with `components` has once derived: derived components only where a rule derives
|
|
13
|
+
* them, and components within a host only where the host is.
|
|
14
|
+
*/
|
|
15
|
+
export const closedComponents = (components: readonly number[], derived: readonly boolean[], hosts: readonly number[], strata: Strata): number[] => {
|
|
16
|
+
const present = new Set<number>();
|
|
17
|
+
const given = new Set<number>();
|
|
18
|
+
for (const id of components) {
|
|
19
|
+
if ((hosts[id] ?? -1) >= 0) given.add(id);
|
|
20
|
+
else if (derived[id] !== true) present.add(id);
|
|
21
|
+
}
|
|
22
|
+
for (const { rules, within } of strata) {
|
|
23
|
+
for (let changed = true; changed;) {
|
|
24
|
+
changed = false;
|
|
25
|
+
for (const rule of rules) {
|
|
26
|
+
if (!rule.has.every(id => present.has(id)) || rule.not.some(id => present.has(id))) continue;
|
|
27
|
+
for (const id of rule.derives) {
|
|
28
|
+
if (present.has(id)) continue;
|
|
29
|
+
present.add(id);
|
|
30
|
+
changed = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
for (const { dependent, host } of within) {
|
|
34
|
+
if (present.has(dependent) || !given.has(dependent) || !present.has(host)) continue;
|
|
35
|
+
present.add(dependent);
|
|
36
|
+
changed = true;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return [...present].sort((a, b) => a - b);
|
|
41
|
+
};
|