@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,559 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import type { Program } from "./kernel.js";
|
|
4
|
+
import { generateWasm, importsOf, type WasmColumn } from "./wasm.js";
|
|
5
|
+
|
|
6
|
+
type Expression = Program.Expression;
|
|
7
|
+
|
|
8
|
+
const views = { f32: Float32Array, f64: Float64Array, i32: Int32Array, u32: Uint32Array, boolean: Uint8Array } as const;
|
|
9
|
+
type Output = keyof typeof views;
|
|
10
|
+
|
|
11
|
+
/** A dense column; each test column is its own component. */
|
|
12
|
+
const dense = (output: Output, component: number): WasmColumn => output === "boolean"
|
|
13
|
+
? { view: "u8", stride: 1, offset: 0, boolean: true, component }
|
|
14
|
+
: { view: output, stride: output === "f64" ? 8 : 4, offset: 0, boolean: false, component };
|
|
15
|
+
|
|
16
|
+
/** Runs a program over one row per input value; column 0 is the input (f64), column 1 the output of kind `output`. */
|
|
17
|
+
const run = (output: Output, value: Expression, inputs: readonly number[]): number[] | null => {
|
|
18
|
+
const program: Program = { locals: 0, body: [{ kind: "store", column: 1, value }] };
|
|
19
|
+
const kernel = generateWasm(program, [dense("f64", 0), dense(output, 1)], () => "number", false);
|
|
20
|
+
if (kernel === null) return null;
|
|
21
|
+
const memory = new WebAssembly.Memory({ initial: 1, maximum: 65536, shared: true });
|
|
22
|
+
const input = new Float64Array(memory.buffer, 0, inputs.length);
|
|
23
|
+
input.set(inputs);
|
|
24
|
+
const result = new views[output](memory.buffer, 4096, inputs.length);
|
|
25
|
+
const instance = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) });
|
|
26
|
+
const runKernel: unknown = instance.exports.run;
|
|
27
|
+
if (typeof runKernel !== "function") throw new Error("no run export");
|
|
28
|
+
runKernel(0, inputs.length, 0, -1, 0, 4096);
|
|
29
|
+
return Array.from(result, Number);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const input: Expression = { kind: "column", column: 0 };
|
|
33
|
+
const edges = [0, -0, 0.5, -0.5, 3.7, -3.7, 2 ** 31, -(2 ** 31) - 1, 2 ** 32 + 5, -(2 ** 32) - 5, 2 ** 53 + 2, 1e20, -1e300, NaN, Infinity, -Infinity, 1 / 3];
|
|
34
|
+
|
|
35
|
+
/** The same store through a typed array, which is what the JS kernel does. */
|
|
36
|
+
const viaTypedArray = (output: keyof typeof views, values: readonly number[]): number[] => Array.from(new views[output](values), Number);
|
|
37
|
+
|
|
38
|
+
describe("generateWasm", () => {
|
|
39
|
+
it("stores with typed-array conversion, for every edge value", () => {
|
|
40
|
+
for (const output of ["f32", "f64", "i32", "u32", "boolean"] as const) {
|
|
41
|
+
expect([output, run(output, input, edges)]).toEqual([output, viaTypedArray(output, edges)]);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it("matches JS for bitwise operators, which convert through ToInt32", () => {
|
|
46
|
+
const cases: [Program.Expression, (x: number) => number][] = [
|
|
47
|
+
[{ kind: "binary", operator: "|", left: input, right: { kind: "number", value: 0 } }, x => x | 0],
|
|
48
|
+
[{ kind: "binary", operator: ">>>", left: input, right: { kind: "number", value: 1 } }, x => x >>> 1],
|
|
49
|
+
[{ kind: "binary", operator: "<<", left: input, right: { kind: "number", value: 33 } }, x => x << 33],
|
|
50
|
+
[{ kind: "unary", operator: "~", operand: input }, x => ~x],
|
|
51
|
+
[{ kind: "math", name: "imul", arguments: [input, { kind: "number", value: 3 }] }, x => Math.imul(x, 3)],
|
|
52
|
+
[{ kind: "math", name: "clz32", arguments: [input] }, x => Math.clz32(x)],
|
|
53
|
+
];
|
|
54
|
+
for (const [expression, expected] of cases) expect(run("f64", expression, edges)).toEqual(edges.map(expected));
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it("matches JS truthiness, including NaN and -0, and returns operand values from && and ||", () => {
|
|
58
|
+
const truthy: Expression = { kind: "conditional", test: input, consequent: { kind: "number", value: 1 }, alternate: { kind: "number", value: 2 } };
|
|
59
|
+
expect(run("f64", truthy, edges)).toEqual(edges.map(x => x ? 1 : 2));
|
|
60
|
+
const and: Expression = { kind: "logical", operator: "&&", left: input, right: { kind: "number", value: 7 } };
|
|
61
|
+
expect(run("f64", and, edges)).toEqual(edges.map(x => x && 7));
|
|
62
|
+
const or: Expression = { kind: "logical", operator: "||", left: input, right: { kind: "number", value: 7 } };
|
|
63
|
+
expect(run("f64", or, edges)).toEqual(edges.map(x => x || 7));
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it("matches JS for imported and native Math", () => {
|
|
67
|
+
const cases: [Expression, (x: number) => number][] = [
|
|
68
|
+
[{ kind: "binary", operator: "%", left: input, right: { kind: "number", value: 2.5 } }, x => x % 2.5],
|
|
69
|
+
[{ kind: "binary", operator: "**", left: input, right: { kind: "number", value: 0.5 } }, x => x ** 0.5],
|
|
70
|
+
[{ kind: "math", name: "round", arguments: [input] }, x => Math.round(x)],
|
|
71
|
+
[{ kind: "math", name: "sin", arguments: [input] }, x => Math.sin(x)],
|
|
72
|
+
[{ kind: "math", name: "max", arguments: [input, { kind: "number", value: -0 }] }, x => Math.max(x, -0)],
|
|
73
|
+
[{ kind: "math", name: "fround", arguments: [input] }, x => Math.fround(x)],
|
|
74
|
+
];
|
|
75
|
+
for (const [expression, expected] of cases) expect(run("f64", expression, edges)).toEqual(edges.map(expected));
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it("never strictly equates a boolean and a number, and falls back when it can't tell", () => {
|
|
79
|
+
const booleanVersusNumber: Expression = { kind: "binary", operator: "===", left: { kind: "boolean", value: true }, right: { kind: "number", value: 1 } };
|
|
80
|
+
expect(run("f64", booleanVersusNumber, [0])).toEqual([0]);
|
|
81
|
+
const mixed: Expression = { kind: "logical", operator: "&&", left: input, right: { kind: "boolean", value: true } };
|
|
82
|
+
expect(run("f64", { kind: "binary", operator: "===", left: mixed, right: { kind: "boolean", value: true } }, [0])).toBeNull();
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it("addresses interleaved columns by stride and offset, leaving the rest of each element untouched", () => {
|
|
86
|
+
// Column 1 is the z of a WGSL-storage vec3<f32>: 16-byte elements, at byte 8.
|
|
87
|
+
const kernel = generateWasm({ locals: 0, body: [{ kind: "store", column: 1, value: input }] }, [dense("f64", 0), { view: "f32", stride: 16, offset: 8, boolean: false, component: 1 }], () => "number", false);
|
|
88
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
89
|
+
const memory = new WebAssembly.Memory({ initial: 1, maximum: 65536, shared: true });
|
|
90
|
+
new Float64Array(memory.buffer, 0, 3).set([1.5, 2.5, 3.5]);
|
|
91
|
+
const output = new Float32Array(memory.buffer, 4096, 12).fill(-1);
|
|
92
|
+
const runKernel: unknown = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
93
|
+
if (typeof runKernel !== "function") throw new Error("no run export");
|
|
94
|
+
runKernel(0, 3, 0, -1, 0, 4096);
|
|
95
|
+
expect([...output]).toEqual([-1, -1, 1.5, -1, -1, -1, 2.5, -1, -1, -1, 3.5, -1]);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
it("branches like structured WASM: a loop summing 1 to the input, with next ending the row", () => {
|
|
99
|
+
const local = (index: number): Expression => ({ kind: "local", local: index });
|
|
100
|
+
const program: Program = {
|
|
101
|
+
locals: 2,
|
|
102
|
+
body: [
|
|
103
|
+
{ kind: "set", local: 0, value: { kind: "number", value: 0 } },
|
|
104
|
+
{ kind: "set", local: 1, value: { kind: "number", value: 1 } },
|
|
105
|
+
{ kind: "if", test: { kind: "binary", operator: "<", left: input, right: { kind: "number", value: 0 } }, consequent: [{ kind: "next" }], alternate: [] },
|
|
106
|
+
{
|
|
107
|
+
kind: "block", body: [{
|
|
108
|
+
kind: "loop", body: [
|
|
109
|
+
{ kind: "branchIf", depth: 1, test: { kind: "binary", operator: ">", left: local(1), right: input } },
|
|
110
|
+
{ kind: "set", local: 0, value: { kind: "binary", operator: "+", left: local(0), right: local(1) } },
|
|
111
|
+
{ kind: "set", local: 1, value: { kind: "binary", operator: "+", left: local(1), right: { kind: "number", value: 1 } } },
|
|
112
|
+
{ kind: "branch", depth: 0 },
|
|
113
|
+
],
|
|
114
|
+
}],
|
|
115
|
+
},
|
|
116
|
+
{ kind: "store", column: 1, value: local(0) },
|
|
117
|
+
],
|
|
118
|
+
};
|
|
119
|
+
const kernel = generateWasm(program, [dense("f64", 0), dense("f64", 1)], () => "number");
|
|
120
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
121
|
+
const memory = new WebAssembly.Memory({ initial: 1, maximum: 65536, shared: true });
|
|
122
|
+
new Float64Array(memory.buffer, 0, 3).set([4, -1, 10]);
|
|
123
|
+
const output = new Float64Array(memory.buffer, 4096, 3).fill(99);
|
|
124
|
+
const runKernel: unknown = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
125
|
+
if (typeof runKernel !== "function") throw new Error("no run export");
|
|
126
|
+
runKernel(0, 3, 0, -1, 0, 4096);
|
|
127
|
+
expect([...output]).toEqual([10, 99, 55]);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
describe("generateWasm with SIMD", () => {
|
|
132
|
+
/** Runs a program over `rows` rows; `layout` gives each column's element stride, offset and component. */
|
|
133
|
+
const runVector = (program: Program, columns: readonly WasmColumn[], fill: (views: Float32Array[], ticks: Float64Array) => void, rows: number, tick = 7) => {
|
|
134
|
+
const kernel = generateWasm(program, columns, () => "number");
|
|
135
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
136
|
+
const memory = new WebAssembly.Memory({ initial: 1, maximum: 65536, shared: true });
|
|
137
|
+
const bases = columns.map(column => 4096 * (Math.max(0, column.component) + 1));
|
|
138
|
+
const floats = columns.map((_, k) => new Float32Array(memory.buffer, bases[k], 512));
|
|
139
|
+
const ticks = new Float64Array(memory.buffer, 4096 * 8, 64);
|
|
140
|
+
const chunks = new Float64Array(memory.buffer, 4096 * 9, 4);
|
|
141
|
+
const blocks = new Float64Array(memory.buffer, 4096 * 10, 4);
|
|
142
|
+
fill(floats, ticks);
|
|
143
|
+
const runKernel: unknown = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
144
|
+
if (typeof runKernel !== "function") throw new Error("no run export");
|
|
145
|
+
// f64 columns are ticks, then their chunks, then their blocks.
|
|
146
|
+
const tickBase = (component: number): number => component === -3 ? 4096 * 10 : component === -2 ? 4096 * 9 : 4096 * 8;
|
|
147
|
+
runKernel(0, rows, tick, -1, ...bases.map((base, k) => columns[k].view !== "f64" ? base : tickBase(columns[k].component)));
|
|
148
|
+
return { kernel, floats, ticks, chunks, blocks };
|
|
149
|
+
};
|
|
150
|
+
const column = (component: number, stride: number, offset: number): WasmColumn => ({ view: "f32", stride, offset, boolean: false, component });
|
|
151
|
+
const read = (k: number): Expression => ({ kind: "column", column: k });
|
|
152
|
+
const add = (left: Expression, right: Expression): Expression => ({ kind: "binary", operator: "+", left, right });
|
|
153
|
+
|
|
154
|
+
it("adds dense f32 columns four rows at a time, then the tail", () => {
|
|
155
|
+
const { kernel, floats } = runVector(
|
|
156
|
+
{ locals: 0, body: [{ kind: "store", column: 2, value: add(read(0), read(1)) }] },
|
|
157
|
+
[column(0, 4, 0), column(1, 4, 0), column(2, 4, 0)],
|
|
158
|
+
([a, b, out]) => { a.set(Array.from({ length: 12 }, (_, i) => i + 0.1)); b.set(Array.from({ length: 12 }, (_, i) => i * 3.7)); out.fill(-1); },
|
|
159
|
+
10,
|
|
160
|
+
);
|
|
161
|
+
expect(kernel.vectorized).toBe(true);
|
|
162
|
+
const expected = Array.from({ length: 10 }, (_, i) => Math.fround(Math.fround(i + 0.1) + Math.fround(i * 3.7)));
|
|
163
|
+
expect([...floats[2].subarray(0, 12)]).toEqual([...expected, -1, -1]);
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
for (const [name, stride, leafCount] of [["vec2 (8-byte stride)", 8, 2], ["tight vec3 (12-byte stride)", 12, 3], ["WGSL storage vec3 (16-byte stride with padding)", 16, 3]] as const) {
|
|
167
|
+
it(`deinterleaves and reinterleaves a ${name}`, () => {
|
|
168
|
+
const words = stride / 4;
|
|
169
|
+
// p += v, leaf by leaf; columns 0..2 are p.x/y/z, 3..5 are v.x/y/z.
|
|
170
|
+
const leaves = Array.from({ length: leafCount }, (_, leaf) => leaf);
|
|
171
|
+
const program: Program = { locals: 0, body: leaves.map(leaf => ({ kind: "store", column: leaf, value: add(read(leaf), read(leafCount + leaf)) })) };
|
|
172
|
+
const columns = [...leaves.map(leaf => column(0, stride, 4 * leaf)), ...leaves.map(leaf => column(1, stride, 4 * leaf))];
|
|
173
|
+
const { kernel, floats } = runVector(program, columns, views => {
|
|
174
|
+
const p = views[0];
|
|
175
|
+
const v = views[leafCount];
|
|
176
|
+
for (let i = 0; i < 64; i++) p[i] = words === 4 && i % 4 === 3 ? -9 : i;
|
|
177
|
+
for (let i = 0; i < 64; i++) v[i] = 100 + i;
|
|
178
|
+
}, 10);
|
|
179
|
+
expect(kernel.vectorized).toBe(true);
|
|
180
|
+
const p = floats[0];
|
|
181
|
+
for (let row = 0; row < 12; row++) {
|
|
182
|
+
for (let word = 0; word < words; word++) {
|
|
183
|
+
const index = row * words + word;
|
|
184
|
+
const padding = word === 3;
|
|
185
|
+
const expected = padding ? -9 : row < 10 ? index + 100 + index : index;
|
|
186
|
+
expect([row, word, p[index]]).toEqual([row, word, expected]);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
for (const [name, stride] of [["vec2", 8], ["tight vec3", 12]] as const) {
|
|
193
|
+
it(`runs whole ${name} elements four rows at a time from any start, then the tail`, () => {
|
|
194
|
+
const leaves = stride / 4;
|
|
195
|
+
const local = (index: number): Expression => ({ kind: "local", local: index });
|
|
196
|
+
// const [p…] = p; const [v…] = v; p = [p + v * args + (leaf + 1), …]; stamp p's ticks.
|
|
197
|
+
const program: Program = {
|
|
198
|
+
locals: 2 * leaves,
|
|
199
|
+
body: [
|
|
200
|
+
...Array.from({ length: 2 * leaves }, (_, index): Program.Statement => ({ kind: "set", local: index, value: read(index) })),
|
|
201
|
+
...Array.from({ length: leaves }, (_, leaf): Program.Statement => ({
|
|
202
|
+
kind: "store",
|
|
203
|
+
column: leaf,
|
|
204
|
+
value: add(add(local(leaf), { kind: "binary", operator: "*", left: local(leaves + leaf), right: { kind: "args", path: [] } }), { kind: "number", value: leaf + 1 }),
|
|
205
|
+
})),
|
|
206
|
+
{ kind: "stamp", column: 2 * leaves, chunks: 2 * leaves + 1, blocks: 2 * leaves + 2 },
|
|
207
|
+
],
|
|
208
|
+
};
|
|
209
|
+
const columns: WasmColumn[] = [
|
|
210
|
+
...Array.from({ length: leaves }, (_, leaf) => column(0, stride, 4 * leaf)),
|
|
211
|
+
...Array.from({ length: leaves }, (_, leaf) => column(1, stride, 4 * leaf)),
|
|
212
|
+
{ view: "f64", stride: 8, offset: 0, boolean: false, component: -1 },
|
|
213
|
+
{ view: "f64", stride: 8, offset: 0, boolean: false, component: -2 },
|
|
214
|
+
{ view: "f64", stride: 8, offset: 0, boolean: false, component: -3 },
|
|
215
|
+
];
|
|
216
|
+
const kernel = generateWasm(program, columns, () => "number");
|
|
217
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
218
|
+
expect(kernel.vectorized).toBe(true);
|
|
219
|
+
const memory = new WebAssembly.Memory({ initial: 1, maximum: 65536, shared: true });
|
|
220
|
+
const p = new Float32Array(memory.buffer, 4096, 32 * leaves);
|
|
221
|
+
const v = new Float32Array(memory.buffer, 8192, 32 * leaves);
|
|
222
|
+
const ticks = new Float64Array(memory.buffer, 16384, 32).fill(1);
|
|
223
|
+
for (let i = 0; i < p.length; i++) { p[i] = i; v[i] = 2 * i + 100; }
|
|
224
|
+
const runKernel: unknown = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
225
|
+
if (typeof runKernel !== "function") throw new Error("no run export");
|
|
226
|
+
const [start, end] = [3, 22];
|
|
227
|
+
runKernel(start, end, 7, -1, ...columns.slice(0, leaves).map(() => 4096), ...columns.slice(0, leaves).map(() => 8192), 16384, 20480, 24576, 0.5);
|
|
228
|
+
const row = (index: number): number => Math.floor(index / leaves);
|
|
229
|
+
expect([...p]).toEqual([...p].map((_, i) => row(i) >= start && row(i) < end ? i + (2 * i + 100) * 0.5 + (i % leaves) + 1 : i));
|
|
230
|
+
expect([...ticks]).toEqual([...ticks].map((_, i) => i >= start && i < end ? 7 : 1));
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
it("blends stores and tick stamps under an if, per lane", () => {
|
|
235
|
+
const positive: Expression = { kind: "binary", operator: ">", left: read(0), right: { kind: "number", value: 0 } };
|
|
236
|
+
const program: Program = { locals: 0, body: [{ kind: "if", test: positive, consequent: [{ kind: "store", column: 1, value: read(0) }, { kind: "stamp", column: 2, chunks: 3, blocks: 4 }], alternate: [] }] };
|
|
237
|
+
const ticksColumn: WasmColumn = { view: "f64", stride: 8, offset: 0, boolean: false, component: -1 };
|
|
238
|
+
const chunksColumn: WasmColumn = { view: "f64", stride: 8, offset: 0, boolean: false, component: -2 };
|
|
239
|
+
const blocksColumn: WasmColumn = { view: "f64", stride: 8, offset: 0, boolean: false, component: -3 };
|
|
240
|
+
const inputs = [1, -1, 2, -2, 0, 3, NaN, 4, -5, 6];
|
|
241
|
+
const { kernel, floats, ticks, chunks, blocks } = runVector(program, [column(0, 4, 0), column(1, 4, 0), ticksColumn, chunksColumn, blocksColumn], ([input, out], tickValues) => {
|
|
242
|
+
input.set(inputs);
|
|
243
|
+
out.fill(-7);
|
|
244
|
+
tickValues.fill(1);
|
|
245
|
+
}, 10);
|
|
246
|
+
expect(kernel.vectorized).toBe(true);
|
|
247
|
+
expect([...floats[1].subarray(0, 10)]).toEqual(inputs.map(x => x > 0 ? x : -7));
|
|
248
|
+
expect([...ticks.subarray(0, 10)]).toEqual(inputs.map(x => x > 0 ? 7 : 1));
|
|
249
|
+
expect(chunks[0]).toBe(7);
|
|
250
|
+
expect(blocks[0]).toBe(7);
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
/** Runs `out = in` with its stamps where `in > 0`, rows `start` to `end` of 2048, four at a time; the blocks then stamped. */
|
|
254
|
+
const stampedFourAtATime = (start: number, end: number, positive: readonly number[]): number[] => {
|
|
255
|
+
const test: Expression = { kind: "binary", operator: ">", left: read(0), right: { kind: "number", value: 0 } };
|
|
256
|
+
const program: Program = { locals: 0, body: [{ kind: "if", test, consequent: [{ kind: "store", column: 1, value: read(0) }, { kind: "stamp", column: 2, chunks: 3, blocks: 4 }], alternate: [] }] };
|
|
257
|
+
const dense = (component: number): WasmColumn => ({ view: "f64", stride: 8, offset: 0, boolean: false, component });
|
|
258
|
+
const kernel = generateWasm(program, [column(0, 4, 0), column(1, 4, 0), dense(-1), dense(-2), dense(-3)], () => "number");
|
|
259
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
260
|
+
expect(kernel.vectorized).toBe(true);
|
|
261
|
+
const memory = new WebAssembly.Memory({ initial: 2, maximum: 65536, shared: true });
|
|
262
|
+
const input = new Float32Array(memory.buffer, 0, 2048).fill(-1);
|
|
263
|
+
for (const row of positive) input[row] = 1;
|
|
264
|
+
const blocks = new Float64Array(memory.buffer, 65536 + 1024, 32);
|
|
265
|
+
const runKernel = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
266
|
+
if (typeof runKernel !== "function") throw new Error("no run export");
|
|
267
|
+
runKernel(start, end, 7, -1, 0, 8192, 16384, 65536, 65536 + 1024);
|
|
268
|
+
return [...blocks].flatMap((tick, block) => tick === 7 ? [block] : []);
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
it("stamps the blocks of rows a conditional write reaches four rows at a time", () => {
|
|
272
|
+
// 300 rows are 75 whole groups, so no row runs one at a time.
|
|
273
|
+
expect(stampedFourAtATime(0, 300, [200])).toContain(200 >> 6);
|
|
274
|
+
// From row 1 the last group, rows 61 to 64, straddles blocks 0 and 1, and only its last row writes.
|
|
275
|
+
expect(stampedFourAtATime(1, 65, [64])).toEqual([0, 1]);
|
|
276
|
+
});
|
|
277
|
+
|
|
278
|
+
it("stays scalar for operations without an exact f32x4 equivalent", () => {
|
|
279
|
+
const remainder: Expression = { kind: "binary", operator: "%", left: read(0), right: { kind: "number", value: 2 } };
|
|
280
|
+
const kernel = generateWasm({ locals: 0, body: [{ kind: "store", column: 1, value: remainder }] }, [column(0, 4, 0), column(1, 4, 0)], () => "number");
|
|
281
|
+
expect(kernel?.vectorized).toBe(false);
|
|
282
|
+
});
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
describe("generateWasm with change filters", () => {
|
|
286
|
+
it("runs only rows with a newer tick, skipping chunks and blocks whose tick isn't newer", () => {
|
|
287
|
+
for (const simd of [false, true]) {
|
|
288
|
+
// out = in, for rows whose filter tick is newer than lastRun 5.
|
|
289
|
+
const columns: WasmColumn[] = [{ view: "f32", stride: 4, offset: 0, boolean: false, component: 0 }, { view: "f32", stride: 4, offset: 0, boolean: false, component: 1 }];
|
|
290
|
+
const kernel = generateWasm({ locals: 0, body: [{ kind: "store", column: 1, value: { kind: "column", column: 0 } }] }, columns, () => "number", simd, 1);
|
|
291
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
292
|
+
const rows = 2100;
|
|
293
|
+
const memory = new WebAssembly.Memory({ initial: 4, maximum: 65536, shared: true });
|
|
294
|
+
const input = new Float32Array(memory.buffer, 0, rows);
|
|
295
|
+
for (let row = 0; row < rows; row++) input[row] = row;
|
|
296
|
+
const output = new Float32Array(memory.buffer, 16384, rows).fill(-1);
|
|
297
|
+
const ticks = new Float64Array(memory.buffer, 32768, rows);
|
|
298
|
+
const chunks = new Float64Array(memory.buffer, 65536, 3);
|
|
299
|
+
const blocks = new Float64Array(memory.buffer, 66560, 48);
|
|
300
|
+
// Chunk 0's chunk and block ticks are stale-new (8) but its rows are old; chunk 1 has three new rows in
|
|
301
|
+
// blocks marked new; chunk 2 is old throughout.
|
|
302
|
+
chunks.set([8, 9, 3]);
|
|
303
|
+
blocks.fill(8, 0, 16).fill(3, 16);
|
|
304
|
+
for (const row of [1030, 1500, 2047]) {
|
|
305
|
+
ticks[row] = 9;
|
|
306
|
+
blocks[row >> 6] = 9;
|
|
307
|
+
}
|
|
308
|
+
ticks[1100] = 9;
|
|
309
|
+
ticks[2050] = 9;
|
|
310
|
+
const run = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
311
|
+
if (typeof run !== "function") throw new Error("no run export");
|
|
312
|
+
run(0, rows, 10, 5, 0, 16384, 32768, 65536, 66560);
|
|
313
|
+
const written = [...output].flatMap((value, row) => value === -1 ? [] : [row]);
|
|
314
|
+
// Rows 1100 and 2050 have new ticks, but their block or chunk says nothing in it changed, so they're skipped by design.
|
|
315
|
+
expect([simd, kernel.vectorized, written]).toEqual([simd, false, [1030, 1500, 2047]]);
|
|
316
|
+
// From a start inside a block, that block's tick is still checked.
|
|
317
|
+
output.fill(-1);
|
|
318
|
+
run(1029, 1040, 10, 5, 0, 16384, 32768, 65536, 66560);
|
|
319
|
+
expect([...output].flatMap((value, row) => value === -1 ? [] : [row])).toEqual([1030]);
|
|
320
|
+
// lastRun below 0 passes everything.
|
|
321
|
+
output.fill(-1);
|
|
322
|
+
run(0, rows, 10, -1, 0, 16384, 32768, 65536, 66560);
|
|
323
|
+
expect(output.every((value, row) => value === row)).toBe(true);
|
|
324
|
+
}
|
|
325
|
+
});
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
describe("generateWasm with up", () => {
|
|
329
|
+
it("refuses change filters, which its runner applies by listing only passing rows", () => {
|
|
330
|
+
const columns: WasmColumn[] = [{ view: "f32", stride: 4, offset: 0, boolean: false, component: 0 }];
|
|
331
|
+
const program: Program = { locals: 0, up: true, body: [{ kind: "store", column: 0, value: { kind: "number", value: 1 } }] };
|
|
332
|
+
expect(() => generateWasm(program, columns, () => "number", true, 1)).toThrow("takes no change filters");
|
|
333
|
+
expect(generateWasm(program, columns, () => "number", true, 0)).not.toBeNull();
|
|
334
|
+
});
|
|
335
|
+
});
|
|
336
|
+
|
|
337
|
+
describe("generateWasm with several change filters", () => {
|
|
338
|
+
it("runs rows either filter passes, a chunk with most blocks passing as one run", () => {
|
|
339
|
+
for (const simd of [false, true]) {
|
|
340
|
+
const columns: WasmColumn[] = [{ view: "f32", stride: 4, offset: 0, boolean: false, component: 0 }, { view: "f32", stride: 4, offset: 0, boolean: false, component: 1 }];
|
|
341
|
+
const kernel = generateWasm({ locals: 0, body: [{ kind: "store", column: 1, value: { kind: "column", column: 0 } }] }, columns, () => "number", simd, 2);
|
|
342
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
343
|
+
const rows = 2100;
|
|
344
|
+
const memory = new WebAssembly.Memory({ initial: 4, maximum: 65536, shared: true });
|
|
345
|
+
const input = new Float32Array(memory.buffer, 0, rows);
|
|
346
|
+
for (let row = 0; row < rows; row++) input[row] = row;
|
|
347
|
+
const output = new Float32Array(memory.buffer, 16384, rows).fill(-1);
|
|
348
|
+
// Each filter's rows, chunks and blocks.
|
|
349
|
+
const ticks = [new Float64Array(memory.buffer, 32768, rows).fill(1), new Float64Array(memory.buffer, 65536 + 4096, rows).fill(1)];
|
|
350
|
+
const chunks = [new Float64Array(memory.buffer, 65536, 3).fill(1), new Float64Array(memory.buffer, 65536 + 64, 3).fill(1)];
|
|
351
|
+
const blocks = [new Float64Array(memory.buffer, 65536 + 1024, 48).fill(1), new Float64Array(memory.buffer, 65536 + 2048, 48).fill(1)];
|
|
352
|
+
const mark = (filter: number, row: number): void => {
|
|
353
|
+
ticks[filter][row] = chunks[filter][row >> 10] = blocks[filter][row >> 6] = 9;
|
|
354
|
+
};
|
|
355
|
+
// Chunk 0: the first filter marks ten blocks of sixteen, so the chunk runs whole, and a row in an
|
|
356
|
+
// unmarked block with a new tick runs too. Chunk 1: each filter marks a row; a new tick in an unmarked
|
|
357
|
+
// block is skipped.
|
|
358
|
+
for (let block = 0; block < 10; block++) mark(0, block * 64 + 1);
|
|
359
|
+
ticks[1][900] = 9;
|
|
360
|
+
chunks[1][0] = 9;
|
|
361
|
+
mark(0, 1030);
|
|
362
|
+
mark(1, 1500);
|
|
363
|
+
ticks[1][1700] = 9;
|
|
364
|
+
const run = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
365
|
+
if (typeof run !== "function") throw new Error("no run export");
|
|
366
|
+
run(0, rows, 10, 5, 0, 16384, 32768, 65536 + 4096, 65536, 65536 + 64, 65536 + 1024, 65536 + 2048);
|
|
367
|
+
const written = [...output].flatMap((value, row) => value === -1 ? [] : [row]);
|
|
368
|
+
expect([simd, written]).toEqual([simd, [...Array.from({ length: 10 }, (_, block) => block * 64 + 1), 900, 1030, 1500]]);
|
|
369
|
+
}
|
|
370
|
+
});
|
|
371
|
+
});
|
|
372
|
+
|
|
373
|
+
describe("generateWasm chunk and block stamps", () => {
|
|
374
|
+
const columns: WasmColumn[] = [
|
|
375
|
+
{ view: "f32", stride: 4, offset: 0, boolean: false, component: 0 },
|
|
376
|
+
{ view: "f64", stride: 8, offset: 0, boolean: false, component: -1 },
|
|
377
|
+
{ view: "f64", stride: 8, offset: 0, boolean: false, component: -2 },
|
|
378
|
+
{ view: "f64", stride: 8, offset: 0, boolean: false, component: -3 },
|
|
379
|
+
];
|
|
380
|
+
/** The blocks whose tick is 7. */
|
|
381
|
+
const stampedBlocks = (blocks: Float64Array): number[] => [...blocks].flatMap((tick, block) => tick === 7 ? [block] : []);
|
|
382
|
+
const run = (program: Program, start: number, end: number): { readonly chunks: number[]; readonly blocks: number[] } => {
|
|
383
|
+
const kernel = generateWasm(program, columns, () => "number");
|
|
384
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
385
|
+
const memory = new WebAssembly.Memory({ initial: 4, maximum: 65536, shared: true });
|
|
386
|
+
new Float32Array(memory.buffer, 0, 4096).fill(1);
|
|
387
|
+
const chunks = new Float64Array(memory.buffer, 65536, 4);
|
|
388
|
+
const blocks = new Float64Array(memory.buffer, 66560, 64);
|
|
389
|
+
const runKernel = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
390
|
+
if (typeof runKernel !== "function") throw new Error("no run export");
|
|
391
|
+
runKernel(start, end, 7, -1, 0, 32768, 65536, 66560);
|
|
392
|
+
return { chunks: [...chunks], blocks: stampedBlocks(blocks) };
|
|
393
|
+
};
|
|
394
|
+
const stamp: Program.Statement = { kind: "stamp", column: 1, chunks: 2, blocks: 3 };
|
|
395
|
+
const range = (first: number, last: number): number[] => Array.from({ length: last - first + 1 }, (_, k) => first + k);
|
|
396
|
+
|
|
397
|
+
it("stamps every chunk and block of the range once when every row stamps", () => {
|
|
398
|
+
expect(run({ locals: 0, body: [stamp] }, 1000, 2100)).toEqual({ chunks: [7, 7, 7, 0], blocks: range(1000 >> 6, 2099 >> 6) });
|
|
399
|
+
expect(run({ locals: 0, body: [stamp] }, 5, 5)).toEqual({ chunks: [0, 0, 0, 0], blocks: [] });
|
|
400
|
+
});
|
|
401
|
+
|
|
402
|
+
it("stamps per row when a row can end before its stamp", () => {
|
|
403
|
+
// Rows of chunk 1 end early, so only chunks 0 and 2 are stamped.
|
|
404
|
+
const skipWhereTwo: Program.Statement = {
|
|
405
|
+
kind: "if",
|
|
406
|
+
test: { kind: "binary", operator: "==", left: { kind: "column", column: 0 }, right: { kind: "number", value: 2 } },
|
|
407
|
+
consequent: [{ kind: "next" }],
|
|
408
|
+
alternate: [],
|
|
409
|
+
};
|
|
410
|
+
const body: Program.Statement[] = [skipWhereTwo, stamp];
|
|
411
|
+
const kernel = generateWasm({ locals: 0, body }, columns, () => "number");
|
|
412
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
413
|
+
const memory = new WebAssembly.Memory({ initial: 4, maximum: 65536, shared: true });
|
|
414
|
+
const values = new Float32Array(memory.buffer, 0, 4096).fill(1);
|
|
415
|
+
values.fill(2, 1024, 2048);
|
|
416
|
+
const chunks = new Float64Array(memory.buffer, 65536, 4);
|
|
417
|
+
const blocks = new Float64Array(memory.buffer, 66560, 64);
|
|
418
|
+
const runKernel = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
419
|
+
if (typeof runKernel !== "function") throw new Error("no run export");
|
|
420
|
+
runKernel(0, 3000, 7, -1, 0, 32768, 65536, 66560);
|
|
421
|
+
expect([...chunks]).toEqual([7, 0, 7, 0]);
|
|
422
|
+
expect(stampedBlocks(blocks)).toEqual([...range(0, 15), ...range(32, 2999 >> 6)]);
|
|
423
|
+
});
|
|
424
|
+
});
|
|
425
|
+
|
|
426
|
+
describe("generateWasm integer remainder", () => {
|
|
427
|
+
it("matches JS % for integers, including -0, with or without the import", () => {
|
|
428
|
+
const values = [0, 7, -7, 10, -10, 2147483647, -2147483648, 4294967295, 123456];
|
|
429
|
+
for (const view of ["i32", "u32"] as const) {
|
|
430
|
+
for (const divisor of [3, -3, 1, 10, 1000]) {
|
|
431
|
+
const columns: WasmColumn[] = [{ view, stride: 4, offset: 0, boolean: false, component: 0 }, { view: "f64", stride: 8, offset: 0, boolean: false, component: 1 }];
|
|
432
|
+
const remainder: Expression = { kind: "binary", operator: "%", left: { kind: "column", column: 0 }, right: { kind: "number", value: divisor } };
|
|
433
|
+
const kernel = generateWasm({ locals: 0, body: [{ kind: "store", column: 1, value: remainder }] }, columns, () => "number");
|
|
434
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
435
|
+
expect(kernel.imports).toEqual([]);
|
|
436
|
+
const memory = new WebAssembly.Memory({ initial: 1, maximum: 65536, shared: true });
|
|
437
|
+
const input = view === "i32" ? new Int32Array(memory.buffer, 0, values.length) : new Uint32Array(memory.buffer, 0, values.length);
|
|
438
|
+
input.set(values);
|
|
439
|
+
const output = new Float64Array(memory.buffer, 4096, values.length);
|
|
440
|
+
const run = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
441
|
+
if (typeof run !== "function") throw new Error("no run export");
|
|
442
|
+
run(0, values.length, 0, -1, 0, 4096);
|
|
443
|
+
expect([view, divisor, [...output]]).toEqual([view, divisor, [...input].map(x => x % divisor)]);
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
});
|
|
447
|
+
});
|
|
448
|
+
|
|
449
|
+
describe("generateWasm reductions", () => {
|
|
450
|
+
it("start each accumulator at its partial, fold every row into it, and store it back", () => {
|
|
451
|
+
// Local 0 sums the input and local 1 takes its least, from partials 10 and 5.
|
|
452
|
+
const program: Program = {
|
|
453
|
+
locals: 2,
|
|
454
|
+
reductions: [0, 1],
|
|
455
|
+
body: [
|
|
456
|
+
{ kind: "set", local: 0, value: { kind: "binary", operator: "+", left: { kind: "local", local: 0 }, right: input } },
|
|
457
|
+
{ kind: "set", local: 1, value: { kind: "math", name: "min", arguments: [{ kind: "local", local: 1 }, input] } },
|
|
458
|
+
],
|
|
459
|
+
};
|
|
460
|
+
for (const simd of [false, true]) {
|
|
461
|
+
const kernel = generateWasm(program, [dense("f64", 0)], () => "number", simd);
|
|
462
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
463
|
+
const memory = new WebAssembly.Memory({ initial: 1, maximum: 65536, shared: true });
|
|
464
|
+
new Float64Array(memory.buffer, 0, 9).set([3, -2, 7, 1, 8, 0.5, 4, 6, 2]);
|
|
465
|
+
const partials = new Float64Array(memory.buffer, 4096, 2);
|
|
466
|
+
partials.set([10, 5]);
|
|
467
|
+
const instance = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) });
|
|
468
|
+
const runKernel: unknown = instance.exports.run;
|
|
469
|
+
if (typeof runKernel !== "function") throw new Error("no run export");
|
|
470
|
+
runKernel(0, 9, 0, -1, 0, 4096);
|
|
471
|
+
expect([...partials]).toEqual([10 + 29.5, -2]);
|
|
472
|
+
expect(kernel.vectorized).toBe(false);
|
|
473
|
+
}
|
|
474
|
+
});
|
|
475
|
+
});
|
|
476
|
+
|
|
477
|
+
describe("generateWasm with f64 lanes, as kernels computing at the body's precision run", () => {
|
|
478
|
+
const column = (component: number, stride: number, offset: number): WasmColumn => ({ view: "f32", stride, offset, boolean: false, component });
|
|
479
|
+
const ticks = (component: number): WasmColumn => ({ view: "f64", stride: 8, offset: 0, boolean: false, component });
|
|
480
|
+
const read = (k: number): Expression => ({ kind: "column", column: k });
|
|
481
|
+
const number = (value: number): Expression => ({ kind: "number", value });
|
|
482
|
+
const binary = (operator: "+" | "-" | "*" | "/" | ">" | "<=", left: Expression, right: Expression): Expression => ({ kind: "binary", operator, left, right });
|
|
483
|
+
const math = (name: string, ...parameters: Expression[]): Expression => ({ kind: "math", name, arguments: parameters });
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Runs `program` over rows `start` to `end` with f64 lanes, and as scalar WASM, which is JS's semantics; returns
|
|
487
|
+
* whether the lanes ran, and each run's memory as bits, so NaN and -0 compare exactly.
|
|
488
|
+
*/
|
|
489
|
+
const both = (program: Program, columns: readonly WasmColumn[], fill: (floats: readonly Float32Array[]) => void, start: number, end: number) => {
|
|
490
|
+
const results = [true, false].map(simd => {
|
|
491
|
+
const kernel = generateWasm(program, columns, () => "number", simd, 0, [], [], [], [], [], false);
|
|
492
|
+
if (kernel === null) throw new Error("expected a kernel");
|
|
493
|
+
const memory = new WebAssembly.Memory({ initial: 1, maximum: 65536, shared: true });
|
|
494
|
+
// f32 components at 4096 × (component + 1); ticks, then their chunks, then their blocks, after them.
|
|
495
|
+
const baseOf = (info: WasmColumn): number => info.view === "f64" ? 4096 * (8 - info.component) : 4096 * (info.component + 1);
|
|
496
|
+
const floats = [0, 1, 2].map(component => new Float32Array(memory.buffer, 4096 * (component + 1), 1024));
|
|
497
|
+
new Float64Array(memory.buffer, 4096 * 9, 1536).fill(1);
|
|
498
|
+
fill(floats);
|
|
499
|
+
const run: unknown = new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
500
|
+
if (typeof run !== "function") throw new Error("no run export");
|
|
501
|
+
run(start, end, 7, -1, ...columns.map(baseOf), 0.75);
|
|
502
|
+
return { vectorized: kernel.vectorized, bits: [...new Uint32Array(memory.buffer, 4096, 4096 * 3)] };
|
|
503
|
+
});
|
|
504
|
+
return { vectorized: results[0].vectorized, same: results[0].bits.every((bits, i) => bits === results[1].bits[i]) };
|
|
505
|
+
};
|
|
506
|
+
/** Values where f32 arithmetic loses what f64 keeps: cancellation, rounding at each step, NaN, infinities and -0. */
|
|
507
|
+
const hard = (i: number): number => [1 + 2 ** -23, 1 + 2 ** -22, 3.4e38, -0, NaN, Infinity, 1e-45, 0.1, -7.25, 16777217][i % 10] * (1 + (i % 7) * 2 ** -20);
|
|
508
|
+
|
|
509
|
+
it("computes dense f32 columns two rows at a time in f64, as the body does, through the tail", () => {
|
|
510
|
+
// out = a * a - b, which cancels in f32; and out2 = sqrt(|a|) / b + min(a, args) * fround(b) - floor(a).
|
|
511
|
+
const program: Program = {
|
|
512
|
+
locals: 0,
|
|
513
|
+
body: [
|
|
514
|
+
{ kind: "store", column: 2, value: binary("-", binary("*", read(0), read(0)), read(1)) },
|
|
515
|
+
{ kind: "store", column: 3, value: binary("-", binary("+", binary("/", math("sqrt", math("abs", read(0))), read(1)), binary("*", math("min", read(0), { kind: "args", path: [] }), math("fround", read(1)))), math("floor", read(0))) },
|
|
516
|
+
],
|
|
517
|
+
};
|
|
518
|
+
const columns = [column(0, 4, 0), column(1, 4, 0), column(2, 4, 0), column(2, 4, 2048)];
|
|
519
|
+
for (const [start, end] of [[0, 300], [3, 22], [1, 2]] as const) {
|
|
520
|
+
expect([start, end, both(program, columns, ([a, b]) => { for (let i = 0; i < 1024; i++) { a[i] = hard(i); b[i] = hard(i + 1); } }, start, end)]).toEqual([start, end, { vectorized: true, same: true }]);
|
|
521
|
+
}
|
|
522
|
+
});
|
|
523
|
+
|
|
524
|
+
it("blends stores and stamps under an if per lane, in f64", () => {
|
|
525
|
+
const program: Program = {
|
|
526
|
+
locals: 1,
|
|
527
|
+
body: [
|
|
528
|
+
{ kind: "set", local: 0, value: binary("*", read(0), read(0)) },
|
|
529
|
+
{ kind: "if", test: binary(">", { kind: "local", local: 0 }, read(1)), consequent: [{ kind: "store", column: 2, value: binary("-", { kind: "local", local: 0 }, read(1)) }, { kind: "stamp", column: 3, chunks: 4, blocks: 5 }], alternate: [{ kind: "store", column: 2, value: { kind: "conditional", test: binary("<=", read(0), number(0)), consequent: number(-1), alternate: read(1) } }] },
|
|
530
|
+
],
|
|
531
|
+
};
|
|
532
|
+
const columns = [column(0, 4, 0), column(1, 4, 0), column(2, 4, 0), ticks(-1), ticks(-2), ticks(-3)];
|
|
533
|
+
expect(both(program, columns, ([a, b]) => { for (let i = 0; i < 1024; i++) { a[i] = hard(i); b[i] = hard(i + 3); } }, 5, 133)).toEqual({ vectorized: true, same: true });
|
|
534
|
+
});
|
|
535
|
+
|
|
536
|
+
// A padded vec3's elements aren't whole vectors, and f64 lanes don't fuse within a row, so it runs a row at a time.
|
|
537
|
+
for (const [name, stride, leaves, vectorized] of [["vec2", 8, 2, true], ["tight vec3", 12, 3, true], ["padded vec3", 16, 3, false]] as const) {
|
|
538
|
+
it(`computes ${name} elements ${vectorized ? "in f64 lanes" : "a row at a time"}, as the body does`, () => {
|
|
539
|
+
// p = p * v - v * args, leaf by leaf, with p.x and v.x reading cancelling values.
|
|
540
|
+
const all = Array.from({ length: leaves }, (_, leaf) => leaf);
|
|
541
|
+
const program: Program = { locals: 0, body: all.map(leaf => ({ kind: "store", column: leaf, value: binary("-", binary("*", read(leaf), read(leaves + leaf)), binary("*", read(leaves + leaf), { kind: "args", path: [] })) })) };
|
|
542
|
+
const columns = [...all.map(leaf => column(0, stride, 4 * leaf)), ...all.map(leaf => column(1, stride, 4 * leaf))];
|
|
543
|
+
expect(both(program, columns, ([p, v]) => { for (let i = 0; i < 1024; i++) { p[i] = hard(i); v[i] = hard(i + 1); } }, 1, 63)).toEqual({ vectorized, same: true });
|
|
544
|
+
});
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
it("leaves explicit kernels' f32 lanes, which round each step", () => {
|
|
548
|
+
const program: Program = { locals: 0, body: [{ kind: "store", column: 2, value: binary("-", binary("*", read(0), read(0)), read(1)) }] };
|
|
549
|
+
const columns = [column(0, 4, 0), column(1, 4, 0), column(2, 4, 0)];
|
|
550
|
+
const kernel = generateWasm(program, columns, () => "number", true, 0, [], [], [], [], [], true);
|
|
551
|
+
const memory = new WebAssembly.Memory({ initial: 1, maximum: 65536, shared: true });
|
|
552
|
+
new Float32Array(memory.buffer, 4096, 4).fill(1 + 2 ** -23);
|
|
553
|
+
new Float32Array(memory.buffer, 8192, 4).fill(1 + 2 ** -22);
|
|
554
|
+
const run: unknown = kernel === null ? null : new WebAssembly.Instance(new WebAssembly.Module(kernel.bytes), { env: { memory }, math: importsOf(kernel.imports) }).exports.run;
|
|
555
|
+
if (typeof run !== "function") throw new Error("no run export");
|
|
556
|
+
run(0, 4, 7, -1, 4096, 8192, 12288);
|
|
557
|
+
expect([kernel?.vectorized, new Float32Array(memory.buffer, 12288, 1)[0]]).toEqual([true, 0]);
|
|
558
|
+
});
|
|
559
|
+
});
|