@oasys/oecs 0.5.4 → 0.6.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/CHANGELOG.md +1223 -266
- package/README.md +217 -112
- package/dist/core/ecs/access_check.d.cts +29 -29
- package/dist/core/ecs/access_check.d.ts +29 -29
- package/dist/core/ecs/access_check.d.ts.map +1 -1
- package/dist/core/ecs/archetype.d.cts +217 -209
- package/dist/core/ecs/archetype.d.ts +217 -209
- package/dist/core/ecs/archetype.d.ts.map +1 -1
- package/dist/core/ecs/archetype_closure.d.cts +23 -0
- package/dist/core/ecs/archetype_closure.d.ts +23 -0
- package/dist/core/ecs/archetype_closure.d.ts.map +1 -0
- package/dist/core/ecs/archetype_graph.d.cts +33 -33
- package/dist/core/ecs/archetype_graph.d.ts +33 -33
- package/dist/core/ecs/archetype_graph.d.ts.map +1 -1
- package/dist/core/ecs/archetype_types.d.cts +55 -0
- package/dist/core/ecs/archetype_types.d.ts +55 -0
- package/dist/core/ecs/archetype_types.d.ts.map +1 -0
- package/dist/core/ecs/change_feed.d.cts +53 -0
- package/dist/core/ecs/change_feed.d.ts +53 -0
- package/dist/core/ecs/change_feed.d.ts.map +1 -0
- package/dist/core/ecs/changed_query.d.cts +36 -0
- package/dist/core/ecs/changed_query.d.ts +36 -0
- package/dist/core/ecs/changed_query.d.ts.map +1 -0
- package/dist/core/ecs/chunk_columns.d.cts +49 -0
- package/dist/core/ecs/chunk_columns.d.ts +49 -0
- package/dist/core/ecs/chunk_columns.d.ts.map +1 -0
- package/dist/core/ecs/command_log.d.cts +26 -26
- package/dist/core/ecs/command_log.d.ts +26 -26
- package/dist/core/ecs/command_log.d.ts.map +1 -1
- package/dist/core/ecs/component.d.cts +43 -42
- package/dist/core/ecs/component.d.ts +43 -42
- package/dist/core/ecs/component.d.ts.map +1 -1
- package/dist/core/ecs/component_registry.d.cts +53 -0
- package/dist/core/ecs/component_registry.d.ts +53 -0
- package/dist/core/ecs/component_registry.d.ts.map +1 -0
- package/dist/core/ecs/compute_backend.d.cts +18 -7
- package/dist/core/ecs/compute_backend.d.ts +18 -7
- package/dist/core/ecs/compute_backend.d.ts.map +1 -1
- package/dist/core/ecs/deferred_commands.d.cts +15 -14
- package/dist/core/ecs/deferred_commands.d.ts +15 -14
- package/dist/core/ecs/deferred_commands.d.ts.map +1 -1
- package/dist/core/ecs/dispatch_trace.d.cts +32 -31
- package/dist/core/ecs/dispatch_trace.d.ts +32 -31
- package/dist/core/ecs/dispatch_trace.d.ts.map +1 -1
- package/dist/core/ecs/ecs.d.cts +289 -270
- package/dist/core/ecs/ecs.d.ts +289 -270
- package/dist/core/ecs/ecs.d.ts.map +1 -1
- package/dist/core/ecs/ecs_memory.d.cts +134 -136
- package/dist/core/ecs/ecs_memory.d.ts +134 -136
- package/dist/core/ecs/ecs_memory.d.ts.map +1 -1
- package/dist/core/ecs/ecs_options.d.cts +89 -0
- package/dist/core/ecs/ecs_options.d.ts +89 -0
- package/dist/core/ecs/ecs_options.d.ts.map +1 -0
- package/dist/core/ecs/entity.d.cts +4 -4
- package/dist/core/ecs/entity.d.ts +4 -4
- package/dist/core/ecs/entity_allocator.d.cts +20 -18
- package/dist/core/ecs/entity_allocator.d.ts +20 -18
- package/dist/core/ecs/entity_allocator.d.ts.map +1 -1
- package/dist/core/ecs/event.d.cts +36 -22
- package/dist/core/ecs/event.d.ts +36 -22
- package/dist/core/ecs/event.d.ts.map +1 -1
- package/dist/core/ecs/facades.d.cts +12 -126
- package/dist/core/ecs/facades.d.ts +12 -126
- package/dist/core/ecs/facades.d.ts.map +1 -1
- package/dist/core/ecs/frame_stepper.d.cts +12 -12
- package/dist/core/ecs/frame_stepper.d.ts +12 -12
- package/dist/core/ecs/frame_stepper.d.ts.map +1 -1
- package/dist/core/ecs/frame_trace.d.cts +32 -32
- package/dist/core/ecs/frame_trace.d.ts +32 -32
- package/dist/core/ecs/frame_trace.d.ts.map +1 -1
- package/dist/core/ecs/host_commands.d.cts +103 -85
- package/dist/core/ecs/host_commands.d.ts +103 -85
- package/dist/core/ecs/host_commands.d.ts.map +1 -1
- package/dist/core/ecs/index.d.cts +21 -11
- package/dist/core/ecs/index.d.ts +21 -11
- package/dist/core/ecs/index.d.ts.map +1 -1
- package/dist/core/ecs/observer.d.cts +39 -120
- package/dist/core/ecs/observer.d.ts +39 -120
- package/dist/core/ecs/observer.d.ts.map +1 -1
- package/dist/core/ecs/phase.d.cts +79 -0
- package/dist/core/ecs/phase.d.ts +79 -0
- package/dist/core/ecs/phase.d.ts.map +1 -0
- package/dist/core/ecs/plugin.d.cts +125 -0
- package/dist/core/ecs/plugin.d.ts +125 -0
- package/dist/core/ecs/plugin.d.ts.map +1 -0
- package/dist/core/ecs/plugin_slots.d.cts +26 -0
- package/dist/core/ecs/plugin_slots.d.ts +26 -0
- package/dist/core/ecs/plugin_slots.d.ts.map +1 -0
- package/dist/core/ecs/query.d.cts +208 -578
- package/dist/core/ecs/query.d.ts +208 -578
- package/dist/core/ecs/query.d.ts.map +1 -1
- package/dist/core/ecs/query_cache.d.cts +130 -0
- package/dist/core/ecs/query_cache.d.ts +130 -0
- package/dist/core/ecs/query_cache.d.ts.map +1 -0
- package/dist/core/ecs/query_registry.d.cts +47 -0
- package/dist/core/ecs/query_registry.d.ts +47 -0
- package/dist/core/ecs/query_registry.d.ts.map +1 -0
- package/dist/core/ecs/query_terms.d.cts +126 -0
- package/dist/core/ecs/query_terms.d.ts +126 -0
- package/dist/core/ecs/query_terms.d.ts.map +1 -0
- package/dist/core/ecs/ref.d.cts +100 -39
- package/dist/core/ecs/ref.d.ts +100 -39
- package/dist/core/ecs/ref.d.ts.map +1 -1
- package/dist/core/ecs/relation.d.cts +101 -182
- package/dist/core/ecs/relation.d.ts +101 -182
- package/dist/core/ecs/relation.d.ts.map +1 -1
- package/dist/core/ecs/resource.d.cts +13 -13
- package/dist/core/ecs/resource.d.ts +13 -13
- package/dist/core/ecs/resource_registry.d.cts +5 -5
- package/dist/core/ecs/resource_registry.d.ts +5 -5
- package/dist/core/ecs/resource_registry.d.ts.map +1 -1
- package/dist/core/ecs/row_kinds.d.cts +24 -0
- package/dist/core/ecs/row_kinds.d.ts +24 -0
- package/dist/core/ecs/row_kinds.d.ts.map +1 -0
- package/dist/core/ecs/run_condition.d.cts +23 -23
- package/dist/core/ecs/run_condition.d.ts +23 -23
- package/dist/core/ecs/run_condition.d.ts.map +1 -1
- package/dist/core/ecs/schedule.d.cts +91 -120
- package/dist/core/ecs/schedule.d.ts +91 -120
- package/dist/core/ecs/schedule.d.ts.map +1 -1
- package/dist/core/ecs/schedule_plan.d.cts +33 -0
- package/dist/core/ecs/schedule_plan.d.ts +33 -0
- package/dist/core/ecs/schedule_plan.d.ts.map +1 -0
- package/dist/core/ecs/snapshot.d.cts +77 -0
- package/dist/core/ecs/snapshot.d.ts +77 -0
- package/dist/core/ecs/snapshot.d.ts.map +1 -0
- package/dist/core/ecs/snapshot_mount.d.cts +42 -0
- package/dist/core/ecs/snapshot_mount.d.ts +42 -0
- package/dist/core/ecs/snapshot_mount.d.ts.map +1 -0
- package/dist/core/ecs/sparse_store.d.cts +108 -51
- package/dist/core/ecs/sparse_store.d.ts +108 -51
- package/dist/core/ecs/sparse_store.d.ts.map +1 -1
- package/dist/core/ecs/store.d.cts +527 -473
- package/dist/core/ecs/store.d.ts +527 -473
- package/dist/core/ecs/store.d.ts.map +1 -1
- package/dist/core/ecs/store_layout_listener.d.cts +6 -6
- package/dist/core/ecs/store_layout_listener.d.ts +6 -6
- package/dist/core/ecs/store_types.d.cts +122 -0
- package/dist/core/ecs/store_types.d.ts +122 -0
- package/dist/core/ecs/store_types.d.ts.map +1 -0
- package/dist/core/ecs/system.d.cts +146 -61
- package/dist/core/ecs/system.d.ts +146 -61
- package/dist/core/ecs/system.d.ts.map +1 -1
- package/dist/core/ecs/system_context.d.cts +296 -0
- package/dist/core/ecs/system_context.d.ts +296 -0
- package/dist/core/ecs/system_context.d.ts.map +1 -0
- package/dist/core/ecs/system_set.d.cts +48 -0
- package/dist/core/ecs/system_set.d.ts +48 -0
- package/dist/core/ecs/system_set.d.ts.map +1 -0
- package/dist/core/ecs/utils/arrays.d.cts +15 -1
- package/dist/core/ecs/utils/arrays.d.ts +15 -1
- package/dist/core/ecs/utils/arrays.d.ts.map +1 -1
- package/dist/core/ecs/utils/error.d.cts +82 -6
- package/dist/core/ecs/utils/error.d.ts +82 -6
- package/dist/core/ecs/utils/error.d.ts.map +1 -1
- package/dist/core/ecs/utils/plugin_error.d.cts +10 -0
- package/dist/core/ecs/utils/plugin_error.d.ts +10 -0
- package/dist/core/ecs/utils/plugin_error.d.ts.map +1 -0
- package/dist/core/restore_errors.d.cts +30 -0
- package/dist/core/restore_errors.d.ts +30 -0
- package/dist/core/restore_errors.d.ts.map +1 -0
- package/dist/core/store/action_ring.d.cts +44 -44
- package/dist/core/store/action_ring.d.ts +44 -44
- package/dist/core/store/action_ring.d.ts.map +1 -1
- package/dist/core/store/allocator.d.cts +149 -95
- package/dist/core/store/allocator.d.ts +149 -95
- package/dist/core/store/allocator.d.ts.map +1 -1
- package/dist/core/store/buffer_backed_column.d.cts +17 -17
- package/dist/core/store/buffer_backed_column.d.ts +17 -17
- package/dist/core/store/buffer_backed_column.d.ts.map +1 -1
- package/dist/core/store/column_store.d.cts +124 -86
- package/dist/core/store/column_store.d.ts +124 -86
- package/dist/core/store/column_store.d.ts.map +1 -1
- package/dist/core/store/command_dispatch.d.cts +14 -15
- package/dist/core/store/command_dispatch.d.ts +14 -15
- package/dist/core/store/command_dispatch.d.ts.map +1 -1
- package/dist/core/store/command_ring.d.cts +36 -39
- package/dist/core/store/command_ring.d.ts +36 -39
- package/dist/core/store/command_ring.d.ts.map +1 -1
- package/dist/core/store/descriptor.d.cts +34 -17
- package/dist/core/store/descriptor.d.ts +34 -17
- package/dist/core/store/descriptor.d.ts.map +1 -1
- package/dist/core/store/entity_index.d.cts +34 -35
- package/dist/core/store/entity_index.d.ts +34 -35
- package/dist/core/store/entity_index.d.ts.map +1 -1
- package/dist/core/store/event_ring.d.cts +36 -38
- package/dist/core/store/event_ring.d.ts +36 -38
- package/dist/core/store/event_ring.d.ts.map +1 -1
- package/dist/core/store/extend.d.cts +13 -7
- package/dist/core/store/extend.d.ts +13 -7
- package/dist/core/store/extend.d.ts.map +1 -1
- package/dist/core/store/grow.d.cts +2 -2
- package/dist/core/store/grow.d.ts +2 -2
- package/dist/core/store/grow.d.ts.map +1 -1
- package/dist/core/store/header.d.cts +31 -27
- package/dist/core/store/header.d.ts +31 -27
- package/dist/core/store/header.d.ts.map +1 -1
- package/dist/core/store/index.d.cts +10 -10
- package/dist/core/store/index.d.ts +10 -10
- package/dist/core/store/index.d.ts.map +1 -1
- package/dist/core/store/layout_ops.d.cts +71 -62
- package/dist/core/store/layout_ops.d.ts +71 -62
- package/dist/core/store/layout_ops.d.ts.map +1 -1
- package/dist/core/store/region_table.d.cts +28 -21
- package/dist/core/store/region_table.d.ts +28 -21
- package/dist/core/store/region_table.d.ts.map +1 -1
- package/dist/core/store/snapshot.d.cts +31 -16
- package/dist/core/store/snapshot.d.ts +31 -16
- package/dist/core/store/snapshot.d.ts.map +1 -1
- package/dist/core/store/state_hash.d.cts +12 -12
- package/dist/core/store/state_hash.d.ts +12 -12
- package/dist/core/store/state_hash.d.ts.map +1 -1
- package/dist/core/store/store_regions.d.cts +10 -10
- package/dist/core/store/store_regions.d.ts +10 -10
- package/dist/core/store/store_regions.d.ts.map +1 -1
- package/dist/core/store/vendored_abi/abi.d.cts +27 -2
- package/dist/core/store/vendored_abi/abi.d.ts +27 -2
- package/dist/core/store/vendored_abi/abi.d.ts.map +1 -1
- package/dist/host_commands-B2KMx8O2.cjs +1 -0
- package/dist/host_commands-ClVPvhSa.cjs +2 -0
- package/dist/host_commands-CwxVQS1z.js +1524 -0
- package/dist/host_commands-nJvTy88E.js +1667 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +15 -10
- package/dist/index.d.ts +15 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.development.cjs +1 -1
- package/dist/index.development.js +5804 -5203
- package/dist/index.js +5323 -4764
- package/dist/internal.cjs +2 -2
- package/dist/internal.d.cts +5 -2
- package/dist/internal.d.ts +5 -2
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.development.cjs +1 -1
- package/dist/internal.development.js +70 -20
- package/dist/internal.js +138 -83
- package/dist/plugins/abi-D3V-QUSf.cjs +1 -0
- package/dist/plugins/abi-NP8pNxpd.js +42 -0
- package/dist/plugins/arrays-Dr_1hCjL.js +28 -0
- package/dist/plugins/arrays-Dt-Joc4i.cjs +1 -0
- package/dist/plugins/assertions-gtDVfbnQ.js +6 -0
- package/dist/plugins/assertions-z5GQd_bB.cjs +1 -0
- package/dist/{extensions → plugins}/editor/editor.d.cts +54 -54
- package/dist/{extensions → plugins}/editor/editor.d.ts +54 -54
- package/dist/plugins/editor/editor.d.ts.map +1 -0
- package/dist/{extensions → plugins}/editor/field_handle.d.cts +12 -12
- package/dist/{extensions → plugins}/editor/field_handle.d.ts +12 -12
- package/dist/plugins/editor/field_handle.d.ts.map +1 -0
- package/dist/plugins/editor/index.d.cts +22 -0
- package/dist/plugins/editor/index.d.ts +22 -0
- package/dist/plugins/editor/index.d.ts.map +1 -0
- package/dist/plugins/editor.cjs +1 -0
- package/dist/plugins/editor.d.cts +1 -0
- package/dist/plugins/editor.d.ts +1 -0
- package/dist/plugins/editor.development.cjs +1 -0
- package/dist/{extensions/editor/index.development.js → plugins/editor.development.js} +81 -64
- package/dist/{extensions/editor/index.js → plugins/editor.js} +81 -64
- package/dist/plugins/events/event_channel.d.cts +13 -0
- package/dist/plugins/events/event_channel.d.ts +13 -0
- package/dist/plugins/events/event_channel.d.ts.map +1 -0
- package/dist/plugins/events/event_registry.d.cts +22 -0
- package/dist/plugins/events/event_registry.d.ts +22 -0
- package/dist/plugins/events/event_registry.d.ts.map +1 -0
- package/dist/plugins/events/facade.d.cts +26 -0
- package/dist/plugins/events/facade.d.ts +26 -0
- package/dist/plugins/events/facade.d.ts.map +1 -0
- package/dist/plugins/events/index.d.cts +10 -0
- package/dist/plugins/events/index.d.ts +10 -0
- package/dist/plugins/events/index.d.ts.map +1 -0
- package/dist/plugins/events.cjs +1 -0
- package/dist/plugins/events.d.cts +1 -0
- package/dist/plugins/events.d.ts +1 -0
- package/dist/plugins/events.development.cjs +1 -0
- package/dist/plugins/events.development.js +174 -0
- package/dist/plugins/events.js +159 -0
- package/dist/plugins/observers/index.d.cts +23 -0
- package/dist/plugins/observers/index.d.ts +23 -0
- package/dist/plugins/observers/index.d.ts.map +1 -0
- package/dist/plugins/observers/observer_registry.d.cts +101 -0
- package/dist/plugins/observers/observer_registry.d.ts +101 -0
- package/dist/plugins/observers/observer_registry.d.ts.map +1 -0
- package/dist/plugins/observers.cjs +1 -0
- package/dist/plugins/observers.d.cts +1 -0
- package/dist/plugins/observers.d.ts +1 -0
- package/dist/plugins/observers.development.cjs +1 -0
- package/dist/plugins/observers.development.js +431 -0
- package/dist/plugins/observers.js +403 -0
- package/dist/plugins/relation_store-BsoegrZh.js +313 -0
- package/dist/plugins/relation_store-DQKSnxsm.cjs +1 -0
- package/dist/plugins/relation_store-RBhpcE28.cjs +1 -0
- package/dist/plugins/relation_store-RqW5Snx6.js +328 -0
- package/dist/plugins/relations/builtin_relations.d.cts +48 -0
- package/dist/plugins/relations/builtin_relations.d.ts +48 -0
- package/dist/plugins/relations/builtin_relations.d.ts.map +1 -0
- package/dist/plugins/relations/facade.d.cts +73 -0
- package/dist/plugins/relations/facade.d.ts +73 -0
- package/dist/plugins/relations/facade.d.ts.map +1 -0
- package/dist/plugins/relations/index.d.cts +11 -0
- package/dist/plugins/relations/index.d.ts +11 -0
- package/dist/plugins/relations/index.d.ts.map +1 -0
- package/dist/{core/ecs → plugins/relations}/relation_service.d.cts +85 -97
- package/dist/{core/ecs → plugins/relations}/relation_service.d.ts +85 -97
- package/dist/plugins/relations/relation_service.d.ts.map +1 -0
- package/dist/plugins/relations/relation_store.d.cts +177 -0
- package/dist/plugins/relations/relation_store.d.ts +177 -0
- package/dist/plugins/relations/relation_store.d.ts.map +1 -0
- package/dist/plugins/relations.cjs +1 -0
- package/dist/plugins/relations.d.cts +1 -0
- package/dist/plugins/relations.d.ts +1 -0
- package/dist/plugins/relations.development.cjs +1 -0
- package/dist/plugins/relations.development.js +603 -0
- package/dist/plugins/relations.js +553 -0
- package/dist/plugins/snapshots/index.d.cts +33 -0
- package/dist/plugins/snapshots/index.d.ts +33 -0
- package/dist/plugins/snapshots/index.d.ts.map +1 -0
- package/dist/plugins/snapshots/resume.d.cts +57 -0
- package/dist/plugins/snapshots/resume.d.ts +57 -0
- package/dist/plugins/snapshots/resume.d.ts.map +1 -0
- package/dist/plugins/snapshots/snapshot_service.d.cts +59 -0
- package/dist/plugins/snapshots/snapshot_service.d.ts +59 -0
- package/dist/plugins/snapshots/snapshot_service.d.ts.map +1 -0
- package/dist/plugins/snapshots.cjs +1 -0
- package/dist/plugins/snapshots.d.cts +1 -0
- package/dist/plugins/snapshots.d.ts +1 -0
- package/dist/plugins/snapshots.development.cjs +1 -0
- package/dist/plugins/snapshots.development.js +737 -0
- package/dist/plugins/snapshots.js +737 -0
- package/dist/plugins/solid/index.d.cts +8 -0
- package/dist/plugins/solid/index.d.ts +8 -0
- package/dist/plugins/solid/index.d.ts.map +1 -0
- package/dist/plugins/solid/solid.d.cts +97 -0
- package/dist/plugins/solid/solid.d.ts +97 -0
- package/dist/plugins/solid/solid.d.ts.map +1 -0
- package/dist/plugins/solid.cjs +1 -0
- package/dist/plugins/solid.d.cts +1 -0
- package/dist/plugins/solid.d.ts +1 -0
- package/dist/plugins/solid.development.cjs +1 -0
- package/dist/plugins/solid.development.js +319 -0
- package/dist/plugins/solid.js +319 -0
- package/dist/plugins/workers/index.d.cts +75 -0
- package/dist/plugins/workers/index.d.ts +75 -0
- package/dist/plugins/workers/index.d.ts.map +1 -0
- package/dist/plugins/workers/node_threads.d.cts +25 -0
- package/dist/plugins/workers/node_threads.d.ts +25 -0
- package/dist/plugins/workers/node_threads.d.ts.map +1 -0
- package/dist/plugins/workers/plan.d.cts +61 -0
- package/dist/plugins/workers/plan.d.ts +61 -0
- package/dist/plugins/workers/plan.d.ts.map +1 -0
- package/dist/plugins/workers/pool.d.cts +144 -0
- package/dist/plugins/workers/pool.d.ts +144 -0
- package/dist/plugins/workers/pool.d.ts.map +1 -0
- package/dist/plugins/workers/protocol.d.cts +112 -0
- package/dist/plugins/workers/protocol.d.ts +112 -0
- package/dist/plugins/workers/protocol.d.ts.map +1 -0
- package/dist/plugins/workers/worker_bind.d.cts +64 -0
- package/dist/plugins/workers/worker_bind.d.ts +64 -0
- package/dist/plugins/workers/worker_bind.d.ts.map +1 -0
- package/dist/plugins/workers/worker_loop.d.cts +14 -0
- package/dist/plugins/workers/worker_loop.d.ts +14 -0
- package/dist/plugins/workers/worker_loop.d.ts.map +1 -0
- package/dist/plugins/workers.cjs +1 -0
- package/dist/plugins/workers.d.cts +1 -0
- package/dist/plugins/workers.d.ts +1 -0
- package/dist/plugins/workers.development.cjs +1 -0
- package/dist/plugins/workers.development.js +596 -0
- package/dist/plugins/workers.js +474 -0
- package/dist/primitives.cjs +1 -1
- package/dist/primitives.d.cts +4 -4
- package/dist/primitives.d.ts +4 -4
- package/dist/primitives.development.cjs +1 -1
- package/dist/primitives.development.js +66 -22
- package/dist/primitives.js +66 -22
- package/dist/shared-BKl12xF1.js +132 -0
- package/dist/shared-Dk-pACZT.cjs +1 -0
- package/dist/shared.cjs +1 -1
- package/dist/shared.d.cts +7 -7
- package/dist/shared.d.ts +7 -7
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.development.cjs +1 -1
- package/dist/shared.development.js +4 -3
- package/dist/shared.js +4 -3
- package/dist/topological_sort-Cc_yXqPT.js +346 -0
- package/dist/topological_sort-vp1imU6D.cjs +1 -0
- package/dist/type_primitives/assertions.d.cts +12 -16
- package/dist/type_primitives/assertions.d.ts +12 -16
- package/dist/type_primitives/assertions.d.ts.map +1 -1
- package/dist/type_primitives/binary_heap/binary_heap.d.cts +2 -6
- package/dist/type_primitives/binary_heap/binary_heap.d.ts +2 -6
- package/dist/type_primitives/binary_heap/binary_heap.d.ts.map +1 -1
- package/dist/type_primitives/bitset/bitset.d.cts +7 -11
- package/dist/type_primitives/bitset/bitset.d.ts +7 -11
- package/dist/type_primitives/bitset/bitset.d.ts.map +1 -1
- package/dist/type_primitives/brand.d.cts +2 -7
- package/dist/type_primitives/brand.d.ts +2 -7
- package/dist/type_primitives/brand.d.ts.map +1 -1
- package/dist/type_primitives/error.d.cts +1 -2
- package/dist/type_primitives/error.d.ts +1 -2
- package/dist/type_primitives/error.d.ts.map +1 -1
- package/dist/type_primitives/index.d.cts +1 -1
- package/dist/type_primitives/index.d.ts +1 -1
- package/dist/type_primitives/sparse_map/sparse_map.d.cts +3 -7
- package/dist/type_primitives/sparse_map/sparse_map.d.ts +3 -7
- package/dist/type_primitives/sparse_map/sparse_map.d.ts.map +1 -1
- package/dist/type_primitives/sparse_set/sparse_set.d.cts +2 -6
- package/dist/type_primitives/sparse_set/sparse_set.d.ts +2 -6
- package/dist/type_primitives/sparse_set/sparse_set.d.ts.map +1 -1
- package/dist/type_primitives/topological_sort/topological_sort.d.cts +1 -5
- package/dist/type_primitives/topological_sort/topological_sort.d.ts +1 -5
- package/dist/type_primitives/topological_sort/topological_sort.d.ts.map +1 -1
- package/dist/type_primitives/typed_arrays/typed_arrays.d.cts +16 -15
- package/dist/type_primitives/typed_arrays/typed_arrays.d.ts +16 -15
- package/dist/type_primitives/typed_arrays/typed_arrays.d.ts.map +1 -1
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/version.d.cts +3 -3
- package/dist/version.d.ts +3 -3
- package/dist/worker.cjs +1 -0
- package/dist/worker.d.cts +17 -0
- package/dist/worker.d.ts +17 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.development.cjs +1 -0
- package/dist/worker.development.js +253 -0
- package/dist/worker.js +253 -0
- package/package.json +363 -191
- package/dist/core/ecs/builtin_relations.d.cts +0 -43
- package/dist/core/ecs/builtin_relations.d.ts +0 -43
- package/dist/core/ecs/builtin_relations.d.ts.map +0 -1
- package/dist/core/ecs/event_registry.d.cts +0 -22
- package/dist/core/ecs/event_registry.d.ts +0 -22
- package/dist/core/ecs/event_registry.d.ts.map +0 -1
- package/dist/core/ecs/relation_service.d.ts.map +0 -1
- package/dist/core/ecs/resume.d.cts +0 -85
- package/dist/core/ecs/resume.d.ts +0 -85
- package/dist/core/ecs/resume.d.ts.map +0 -1
- package/dist/core/ecs/snapshot_service.d.cts +0 -94
- package/dist/core/ecs/snapshot_service.d.ts +0 -94
- package/dist/core/ecs/snapshot_service.d.ts.map +0 -1
- package/dist/extensions/editor/editor.d.ts.map +0 -1
- package/dist/extensions/editor/field_handle.d.ts.map +0 -1
- package/dist/extensions/editor/index.cjs +0 -1
- package/dist/extensions/editor/index.d.cts +0 -21
- package/dist/extensions/editor/index.d.ts +0 -21
- package/dist/extensions/editor/index.d.ts.map +0 -1
- package/dist/extensions/editor/index.development.cjs +0 -1
- package/dist/extensions/reactive/ecs_sync.d.cts +0 -214
- package/dist/extensions/reactive/ecs_sync.d.ts +0 -214
- package/dist/extensions/reactive/ecs_sync.d.ts.map +0 -1
- package/dist/extensions/reactive/index.cjs +0 -1
- package/dist/extensions/reactive/index.d.cts +0 -23
- package/dist/extensions/reactive/index.d.ts +0 -23
- package/dist/extensions/reactive/index.d.ts.map +0 -1
- package/dist/extensions/reactive/index.development.cjs +0 -1
- package/dist/extensions/reactive/index.development.js +0 -215
- package/dist/extensions/reactive/index.js +0 -215
- package/dist/extensions/solid/index.cjs +0 -1
- package/dist/extensions/solid/index.d.cts +0 -6
- package/dist/extensions/solid/index.d.ts +0 -6
- package/dist/extensions/solid/index.d.ts.map +0 -1
- package/dist/extensions/solid/index.development.cjs +0 -1
- package/dist/extensions/solid/index.development.js +0 -40
- package/dist/extensions/solid/index.js +0 -36
- package/dist/extensions/solid/kernel_solid.d.cts +0 -45
- package/dist/extensions/solid/kernel_solid.d.ts +0 -45
- package/dist/extensions/solid/kernel_solid.d.ts.map +0 -1
- package/dist/host_commands-BlR3oZ3x.js +0 -2406
- package/dist/host_commands-C2cpU3yC.cjs +0 -1
- package/dist/internal-BoxWl4dG.js +0 -2565
- package/dist/internal-CGBEwfeB.cjs +0 -2
- package/dist/interop-CT-REx0W.cjs +0 -1
- package/dist/interop-CcY6ASQc.js +0 -18
- package/dist/interop-DqxleBo7.js +0 -18
- package/dist/interop-T1HZ-Dpa.cjs +0 -1
- package/dist/kernel-Cz2Kxlwl.js +0 -240
- package/dist/kernel-DgyrLFjW.js +0 -227
- package/dist/kernel-sw7ScKWu.cjs +0 -1
- package/dist/kernel-yWV3XnAb.cjs +0 -1
- package/dist/reactive/array.d.cts +0 -24
- package/dist/reactive/array.d.ts +0 -24
- package/dist/reactive/array.d.ts.map +0 -1
- package/dist/reactive/index.cjs +0 -1
- package/dist/reactive/index.d.cts +0 -11
- package/dist/reactive/index.d.ts +0 -11
- package/dist/reactive/index.d.ts.map +0 -1
- package/dist/reactive/index.development.cjs +0 -1
- package/dist/reactive/index.development.js +0 -18
- package/dist/reactive/index.js +0 -18
- package/dist/reactive/interop.d.cts +0 -19
- package/dist/reactive/interop.d.ts +0 -19
- package/dist/reactive/interop.d.ts.map +0 -1
- package/dist/reactive/kernel.d.cts +0 -73
- package/dist/reactive/kernel.d.ts +0 -73
- package/dist/reactive/kernel.d.ts.map +0 -1
- package/dist/reactive/map.d.cts +0 -16
- package/dist/reactive/map.d.ts +0 -16
- package/dist/reactive/map.d.ts.map +0 -1
- package/dist/reactive/shallow.d.cts +0 -11
- package/dist/reactive/shallow.d.ts +0 -11
- package/dist/reactive/shallow.d.ts.map +0 -1
- package/dist/reactive/struct.d.cts +0 -10
- package/dist/reactive/struct.d.ts +0 -10
- package/dist/reactive/struct.d.ts.map +0 -1
- package/dist/shallow-Bs39EPh1.js +0 -150
- package/dist/shallow-C5YmTbtb.cjs +0 -1
- package/dist/shallow-CiFC70Dz.js +0 -159
- package/dist/shallow-DQ8aG51_.cjs +0 -1
- package/dist/shared-B4v0L1cw.js +0 -109
- package/dist/shared-DU78k0pU.cjs +0 -1
- package/dist/topological_sort-BDvEyb9W.cjs +0 -1
- package/dist/topological_sort-DK6EjpWa.js +0 -135
- package/dist/typed_arrays-D3NmwtCG.cjs +0 -1
- package/dist/typed_arrays-DIVwVy5_.js +0 -258
|
@@ -6,8 +6,7 @@ export declare enum TYPE_ERROR {
|
|
|
6
6
|
ASSERTION_FAIL_UNREACHABLE = "ASSERTION_FAIL_UNREACHABLE"
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* Error class thrown by
|
|
10
|
-
*
|
|
9
|
+
* Error class thrown by the type-primitive assertions. Non-operational.
|
|
11
10
|
*/
|
|
12
11
|
export declare class AssertionError extends AppError {
|
|
13
12
|
readonly category: TYPE_ERROR;
|
|
@@ -6,8 +6,7 @@ export declare enum TYPE_ERROR {
|
|
|
6
6
|
ASSERTION_FAIL_UNREACHABLE = "ASSERTION_FAIL_UNREACHABLE"
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* Error class thrown by
|
|
10
|
-
*
|
|
9
|
+
* Error class thrown by the type-primitive assertions. Non-operational.
|
|
11
10
|
*/
|
|
12
11
|
export declare class AssertionError extends AppError {
|
|
13
12
|
readonly category: TYPE_ERROR;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/type_primitives/error.ts"],"names":[],"mappings":"AAAA;;;;;;KAMK;AAEL,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,oBAAY,UAAU;IACrB,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,2BAA2B,gCAAgC;IAC3D,0BAA0B,+BAA+B;CACzD;AAED
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/type_primitives/error.ts"],"names":[],"mappings":"AAAA;;;;;;KAMK;AAEL,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,oBAAY,UAAU;IACrB,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,2BAA2B,gCAAgC;IAC3D,0BAA0B,+BAA+B;CACzD;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;aAE1B,QAAQ,EAAE,UAAU;gBAApB,QAAQ,EAAE,UAAU,EACpC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAKlC"}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* SparseMap
|
|
2
|
+
* SparseMap. O(1) integer-keyed map with cache-friendly dense iteration.
|
|
3
3
|
*
|
|
4
4
|
* Keys are non-negative integers. Two parallel dense arrays (keys + values)
|
|
5
|
-
* enable linear iteration. A sparse number[] maps key → dense index
|
|
6
|
-
* O(1)
|
|
5
|
+
* enable linear iteration. A sparse number[] maps key → dense index, so get,
|
|
6
|
+
* set and delete are each O(1).
|
|
7
7
|
*
|
|
8
8
|
* Membership is verified by cross-referencing dense_keys[sparse[key]] === key,
|
|
9
9
|
* so stale sparse entries are harmless. Deletion uses swap-and-pop.
|
|
10
10
|
*
|
|
11
11
|
***/
|
|
12
|
-
/**
|
|
13
|
-
* O(1) integer-keyed map with cache-friendly dense iteration.
|
|
14
|
-
*
|
|
15
|
-
*/
|
|
16
12
|
export declare class SparseMap<V> {
|
|
17
13
|
private _denseKeys;
|
|
18
14
|
private _denseVals;
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* SparseMap
|
|
2
|
+
* SparseMap. O(1) integer-keyed map with cache-friendly dense iteration.
|
|
3
3
|
*
|
|
4
4
|
* Keys are non-negative integers. Two parallel dense arrays (keys + values)
|
|
5
|
-
* enable linear iteration. A sparse number[] maps key → dense index
|
|
6
|
-
* O(1)
|
|
5
|
+
* enable linear iteration. A sparse number[] maps key → dense index, so get,
|
|
6
|
+
* set and delete are each O(1).
|
|
7
7
|
*
|
|
8
8
|
* Membership is verified by cross-referencing dense_keys[sparse[key]] === key,
|
|
9
9
|
* so stale sparse entries are harmless. Deletion uses swap-and-pop.
|
|
10
10
|
*
|
|
11
11
|
***/
|
|
12
|
-
/**
|
|
13
|
-
* O(1) integer-keyed map with cache-friendly dense iteration.
|
|
14
|
-
*
|
|
15
|
-
*/
|
|
16
12
|
export declare class SparseMap<V> {
|
|
17
13
|
private _denseKeys;
|
|
18
14
|
private _denseVals;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparse_map.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/sparse_map/sparse_map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;KAUK;AAEL
|
|
1
|
+
{"version":3,"file":"sparse_map.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/sparse_map/sparse_map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;KAUK;AAEL,qBAAa,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,OAAO,CAAgB;IAE/B,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,IAAI,IAAI,SAAS,MAAM,EAAE,CAEnC;IAEM,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAUhC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAa5B,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAMzD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAe1C"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* SparseSet
|
|
2
|
+
* SparseSet. O(1) integer-key set with cache-friendly dense iteration.
|
|
3
3
|
*
|
|
4
4
|
* Keys are non-negative integers. A dense number[] holds members packed
|
|
5
5
|
* at 0..size-1 for linear iteration. A sparse number[] maps
|
|
6
|
-
* key → dense index
|
|
6
|
+
* key → dense index, so has, add and delete are each O(1).
|
|
7
7
|
*
|
|
8
8
|
* Membership is verified by cross-referencing dense[sparse[key]] === key,
|
|
9
9
|
* so stale sparse entries are harmless (no clearing needed on delete).
|
|
10
10
|
* Deletion uses swap-and-pop to keep data contiguous.
|
|
11
11
|
*
|
|
12
12
|
***/
|
|
13
|
-
/**
|
|
14
|
-
* O(1) integer-key set with cache-friendly dense iteration.
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
13
|
export declare class SparseSet {
|
|
18
14
|
private _dense;
|
|
19
15
|
private _sparse;
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* SparseSet
|
|
2
|
+
* SparseSet. O(1) integer-key set with cache-friendly dense iteration.
|
|
3
3
|
*
|
|
4
4
|
* Keys are non-negative integers. A dense number[] holds members packed
|
|
5
5
|
* at 0..size-1 for linear iteration. A sparse number[] maps
|
|
6
|
-
* key → dense index
|
|
6
|
+
* key → dense index, so has, add and delete are each O(1).
|
|
7
7
|
*
|
|
8
8
|
* Membership is verified by cross-referencing dense[sparse[key]] === key,
|
|
9
9
|
* so stale sparse entries are harmless (no clearing needed on delete).
|
|
10
10
|
* Deletion uses swap-and-pop to keep data contiguous.
|
|
11
11
|
*
|
|
12
12
|
***/
|
|
13
|
-
/**
|
|
14
|
-
* O(1) integer-key set with cache-friendly dense iteration.
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
13
|
export declare class SparseSet {
|
|
18
14
|
private _dense;
|
|
19
15
|
private _sparse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparse_set.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/sparse_set/sparse_set.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAEL
|
|
1
|
+
{"version":3,"file":"sparse_set.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/sparse_set/sparse_set.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAEL,qBAAa,SAAS;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAgB;IAE/B,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,MAAM,IAAI,SAAS,MAAM,EAAE,CAErC;IAEM,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMtB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAW5B,KAAK,IAAI,IAAI;IAKpB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;CAGrC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* topologicalSort
|
|
2
|
+
* topologicalSort. Kahn's algorithm with a BinaryHeap ready queue.
|
|
3
3
|
*
|
|
4
4
|
* Accepts an arbitrary node set, a dependency edge map, and a tiebreaker
|
|
5
5
|
* comparator used to order nodes that are simultaneously ready (zero in-degree).
|
|
@@ -21,9 +21,5 @@
|
|
|
21
21
|
* @returns Sorted array in topological order.
|
|
22
22
|
* @throws {TypeError} If a cycle is detected among the nodes.
|
|
23
23
|
*/
|
|
24
|
-
/**
|
|
25
|
-
* Topologically sorts `nodes` respecting dependency edges, breaking ties with the comparator.
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
24
|
export declare function topologicalSort<T>(nodes: readonly T[], edges: Map<T, T[]>, tiebreaker: (a: T, b: T) => number, nodeName?: (node: T) => string): T[];
|
|
29
25
|
//# sourceMappingURL=topological_sort.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* topologicalSort
|
|
2
|
+
* topologicalSort. Kahn's algorithm with a BinaryHeap ready queue.
|
|
3
3
|
*
|
|
4
4
|
* Accepts an arbitrary node set, a dependency edge map, and a tiebreaker
|
|
5
5
|
* comparator used to order nodes that are simultaneously ready (zero in-degree).
|
|
@@ -21,9 +21,5 @@
|
|
|
21
21
|
* @returns Sorted array in topological order.
|
|
22
22
|
* @throws {TypeError} If a cycle is detected among the nodes.
|
|
23
23
|
*/
|
|
24
|
-
/**
|
|
25
|
-
* Topologically sorts `nodes` respecting dependency edges, breaking ties with the comparator.
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
24
|
export declare function topologicalSort<T>(nodes: readonly T[], edges: Map<T, T[]>, tiebreaker: (a: T, b: T) => number, nodeName?: (node: T) => string): T[];
|
|
29
25
|
//# sourceMappingURL=topological_sort.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topological_sort.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/topological_sort/topological_sort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAIL;;;;;;;;;;GAUG;AACH
|
|
1
|
+
{"version":3,"file":"topological_sort.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/topological_sort/topological_sort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAIL;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAChC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAClB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,EAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B,CAAC,EAAE,CA8DL"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* GrowableTypedArray
|
|
2
|
+
* GrowableTypedArray. TypedArray wrapper with amortised O(1) append.
|
|
3
3
|
*
|
|
4
|
-
* TypedArrays have fixed length
|
|
4
|
+
* TypedArrays have fixed length, resizing requires allocating a new
|
|
5
5
|
* buffer and copying. GrowableTypedArray wraps one with a separate
|
|
6
6
|
* logical length and doubles the backing buffer on overflow.
|
|
7
7
|
*
|
|
@@ -16,8 +16,8 @@ export type TypedArrayTag = "f32" | "f64" | "i8" | "i16" | "i32" | "u8" | "u16"
|
|
|
16
16
|
export type AnyTypedArray = Float32Array | Float64Array | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array;
|
|
17
17
|
/**
|
|
18
18
|
* Common surface of a row-addressable column buffer. `GrowableTypedArray<T>`
|
|
19
|
-
* implements it over a heap-allocated TypedArray
|
|
20
|
-
*
|
|
19
|
+
* implements it over a heap-allocated TypedArray. SAB-backed columns (see
|
|
20
|
+
* `@oasys/oecs/shared`) implement it over a
|
|
21
21
|
* `SharedArrayBuffer` view at a known offset. Archetype column storage
|
|
22
22
|
* targets this interface so a single code path serves both backings.
|
|
23
23
|
*/
|
|
@@ -29,7 +29,11 @@ export interface ColumnBacking<T extends AnyTypedArray> {
|
|
|
29
29
|
swapRemove(i: number): number;
|
|
30
30
|
clear(): void;
|
|
31
31
|
view(): T;
|
|
32
|
-
|
|
32
|
+
/** Guarantee room for `capacity` elements, or throw. An implementation that
|
|
33
|
+
* owns its buffer grows to fit. One that views a buffer it does not own
|
|
34
|
+
* cannot grow, so it throws when `capacity` passes the view. Neither name
|
|
35
|
+
* promises growth, thus a caller plans for the throw. */
|
|
36
|
+
reserve(capacity: number): void;
|
|
33
37
|
bulkAppend(src: T, srcOffset: number, count: number): void;
|
|
34
38
|
bulkAppendZeroes(count: number): void;
|
|
35
39
|
bulkAppendValue(value: number, count: number): void;
|
|
@@ -37,13 +41,9 @@ export interface ColumnBacking<T extends AnyTypedArray> {
|
|
|
37
41
|
* valid data. The snapshot-mount path (`Archetype.restoreHostRows`)
|
|
38
42
|
* uses this: a restored SAB carries the column bytes, but the column's logical
|
|
39
43
|
* length is host state that must be re-synced with `Archetype.length`. Throws
|
|
40
|
-
* if `len` exceeds capacity.
|
|
44
|
+
* if `len` exceeds capacity. Not a hot-path method, push and pop track length. */
|
|
41
45
|
setLength(len: number): void;
|
|
42
46
|
}
|
|
43
|
-
/**
|
|
44
|
-
* TypedArray wrapper with amortised O(1) append. Doubles the backing buffer on overflow.
|
|
45
|
-
*
|
|
46
|
-
*/
|
|
47
47
|
export declare class GrowableTypedArray<T extends AnyTypedArray> implements ColumnBacking<T> {
|
|
48
48
|
private readonly _ctor;
|
|
49
49
|
private _buf;
|
|
@@ -52,7 +52,7 @@ export declare class GrowableTypedArray<T extends AnyTypedArray> implements Colu
|
|
|
52
52
|
get length(): number;
|
|
53
53
|
push(value: number): void;
|
|
54
54
|
pop(): number;
|
|
55
|
-
|
|
55
|
+
getAt(i: number): number;
|
|
56
56
|
setAt(i: number, value: number): void;
|
|
57
57
|
/**
|
|
58
58
|
* Move the last element into slot i, decrement length.
|
|
@@ -66,18 +66,19 @@ export declare class GrowableTypedArray<T extends AnyTypedArray> implements Colu
|
|
|
66
66
|
setLength(len: number): void;
|
|
67
67
|
/**
|
|
68
68
|
* Raw backing buffer. Valid data: indices 0..length-1.
|
|
69
|
-
* This reference is stable until the next push() that triggers a grow
|
|
69
|
+
* This reference is stable until the next push() that triggers a grow,
|
|
70
70
|
* do not cache across entity additions.
|
|
71
71
|
*/
|
|
72
72
|
get buf(): T;
|
|
73
73
|
/**
|
|
74
74
|
* Zero-copy subarray view of valid data (0..length-1).
|
|
75
|
-
* Shares the backing buffer
|
|
75
|
+
* Shares the backing buffer, invalidated if a subsequent push() grows.
|
|
76
76
|
*/
|
|
77
77
|
view(): T;
|
|
78
78
|
[Symbol.iterator](): Iterator<number>;
|
|
79
|
-
/**
|
|
80
|
-
|
|
79
|
+
/** Grow the backing buffer to hold `capacity` elements. Reallocates and
|
|
80
|
+
* copies when the current buffer is short, so `buf` and `view()` go stale. */
|
|
81
|
+
reserve(capacity: number): void;
|
|
81
82
|
/**
|
|
82
83
|
* Append `count` elements from `src` starting at `srcOffset`.
|
|
83
84
|
* Grows if needed. Equivalent to push() in a loop but uses TypedArray.set().
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* GrowableTypedArray
|
|
2
|
+
* GrowableTypedArray. TypedArray wrapper with amortised O(1) append.
|
|
3
3
|
*
|
|
4
|
-
* TypedArrays have fixed length
|
|
4
|
+
* TypedArrays have fixed length, resizing requires allocating a new
|
|
5
5
|
* buffer and copying. GrowableTypedArray wraps one with a separate
|
|
6
6
|
* logical length and doubles the backing buffer on overflow.
|
|
7
7
|
*
|
|
@@ -16,8 +16,8 @@ export type TypedArrayTag = "f32" | "f64" | "i8" | "i16" | "i32" | "u8" | "u16"
|
|
|
16
16
|
export type AnyTypedArray = Float32Array | Float64Array | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array;
|
|
17
17
|
/**
|
|
18
18
|
* Common surface of a row-addressable column buffer. `GrowableTypedArray<T>`
|
|
19
|
-
* implements it over a heap-allocated TypedArray
|
|
20
|
-
*
|
|
19
|
+
* implements it over a heap-allocated TypedArray. SAB-backed columns (see
|
|
20
|
+
* `@oasys/oecs/shared`) implement it over a
|
|
21
21
|
* `SharedArrayBuffer` view at a known offset. Archetype column storage
|
|
22
22
|
* targets this interface so a single code path serves both backings.
|
|
23
23
|
*/
|
|
@@ -29,7 +29,11 @@ export interface ColumnBacking<T extends AnyTypedArray> {
|
|
|
29
29
|
swapRemove(i: number): number;
|
|
30
30
|
clear(): void;
|
|
31
31
|
view(): T;
|
|
32
|
-
|
|
32
|
+
/** Guarantee room for `capacity` elements, or throw. An implementation that
|
|
33
|
+
* owns its buffer grows to fit. One that views a buffer it does not own
|
|
34
|
+
* cannot grow, so it throws when `capacity` passes the view. Neither name
|
|
35
|
+
* promises growth, thus a caller plans for the throw. */
|
|
36
|
+
reserve(capacity: number): void;
|
|
33
37
|
bulkAppend(src: T, srcOffset: number, count: number): void;
|
|
34
38
|
bulkAppendZeroes(count: number): void;
|
|
35
39
|
bulkAppendValue(value: number, count: number): void;
|
|
@@ -37,13 +41,9 @@ export interface ColumnBacking<T extends AnyTypedArray> {
|
|
|
37
41
|
* valid data. The snapshot-mount path (`Archetype.restoreHostRows`)
|
|
38
42
|
* uses this: a restored SAB carries the column bytes, but the column's logical
|
|
39
43
|
* length is host state that must be re-synced with `Archetype.length`. Throws
|
|
40
|
-
* if `len` exceeds capacity.
|
|
44
|
+
* if `len` exceeds capacity. Not a hot-path method, push and pop track length. */
|
|
41
45
|
setLength(len: number): void;
|
|
42
46
|
}
|
|
43
|
-
/**
|
|
44
|
-
* TypedArray wrapper with amortised O(1) append. Doubles the backing buffer on overflow.
|
|
45
|
-
*
|
|
46
|
-
*/
|
|
47
47
|
export declare class GrowableTypedArray<T extends AnyTypedArray> implements ColumnBacking<T> {
|
|
48
48
|
private readonly _ctor;
|
|
49
49
|
private _buf;
|
|
@@ -52,7 +52,7 @@ export declare class GrowableTypedArray<T extends AnyTypedArray> implements Colu
|
|
|
52
52
|
get length(): number;
|
|
53
53
|
push(value: number): void;
|
|
54
54
|
pop(): number;
|
|
55
|
-
|
|
55
|
+
getAt(i: number): number;
|
|
56
56
|
setAt(i: number, value: number): void;
|
|
57
57
|
/**
|
|
58
58
|
* Move the last element into slot i, decrement length.
|
|
@@ -66,18 +66,19 @@ export declare class GrowableTypedArray<T extends AnyTypedArray> implements Colu
|
|
|
66
66
|
setLength(len: number): void;
|
|
67
67
|
/**
|
|
68
68
|
* Raw backing buffer. Valid data: indices 0..length-1.
|
|
69
|
-
* This reference is stable until the next push() that triggers a grow
|
|
69
|
+
* This reference is stable until the next push() that triggers a grow,
|
|
70
70
|
* do not cache across entity additions.
|
|
71
71
|
*/
|
|
72
72
|
get buf(): T;
|
|
73
73
|
/**
|
|
74
74
|
* Zero-copy subarray view of valid data (0..length-1).
|
|
75
|
-
* Shares the backing buffer
|
|
75
|
+
* Shares the backing buffer, invalidated if a subsequent push() grows.
|
|
76
76
|
*/
|
|
77
77
|
view(): T;
|
|
78
78
|
[Symbol.iterator](): Iterator<number>;
|
|
79
|
-
/**
|
|
80
|
-
|
|
79
|
+
/** Grow the backing buffer to hold `capacity` elements. Reallocates and
|
|
80
|
+
* copies when the current buffer is short, so `buf` and `view()` go stale. */
|
|
81
|
+
reserve(capacity: number): void;
|
|
81
82
|
/**
|
|
82
83
|
* Append `count` elements from `src` starting at `srcOffset`.
|
|
83
84
|
* Grows if needed. Equivalent to push() in a loop but uses TypedArray.set().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed_arrays.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/typed_arrays/typed_arrays.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAEL,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAExF,MAAM,MAAM,aAAa,GACtB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,WAAW,CAAC;AAEf;;;;;;GAMG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,aAAa;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,IAAI,MAAM,CAAC;IACd,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,CAAC,CAAC;IACV,
|
|
1
|
+
{"version":3,"file":"typed_arrays.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/typed_arrays/typed_arrays.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAEL,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAExF,MAAM,MAAM,aAAa,GACtB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,WAAW,CAAC;AAEf;;;;;;GAMG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,aAAa;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,IAAI,MAAM,CAAC;IACd,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,CAAC,CAAC;IACV;;;6DAGyD;IACzD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD;;;;sFAIkF;IAClF,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,qBAAa,kBAAkB,CAAC,CAAC,SAAS,aAAa,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAKlF,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJvB,OAAO,CAAC,IAAI,CAAI;IAChB,OAAO,CAAC,IAAI,CAAK;gBAGC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,EAC5C,eAAe,SAAK;IAKrB,IAAW,MAAM,IAAI,MAAM,CAE1B;IAEM,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB,GAAG,IAAI,MAAM;IAIb,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIxB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5C;;;OAGG;IACI,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAM7B,KAAK,IAAI,IAAI;IAIpB;;uDAEmD;IAC5C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKnC;;;;OAIG;IACH,IAAW,GAAG,IAAI,CAAC,CAElB;IAED;;;OAGG;IACI,IAAI,IAAI,CAAC;IAOhB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;IAYrC;kFAC8E;IACvE,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAStC;;;OAGG;IACI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQjE,8CAA8C;IACvC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM5C;gEAC4D;IACrD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAM1D,OAAO,CAAC,KAAK;CAKb;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;gBAC7D,eAAe,SAA2B;CAGtD;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;gBAC7D,eAAe,SAA2B;CAGtD;AAED,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,SAAS,CAAC;gBACvD,eAAe,SAA2B;CAGtD;AAED,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,UAAU,CAAC;gBACzD,eAAe,SAA2B;CAGtD;AAED,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,UAAU,CAAC;gBACzD,eAAe,SAA2B;CAGtD;AAED,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,UAAU,CAAC;gBACzD,eAAe,SAA2B;CAGtD;AAED,qBAAa,mBAAoB,SAAQ,kBAAkB,CAAC,WAAW,CAAC;gBAC3D,eAAe,SAA2B;CAGtD;AAED,qBAAa,mBAAoB,SAAQ,kBAAkB,CAAC,WAAW,CAAC;gBAC3D,eAAe,SAA2B;CAGtD;AAED,eAAO,MAAM,aAAa;;;;;;;;;CASyE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAGA,8BAAsB,QAAS,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAGA,8BAAsB,QAAS,SAAQ,KAAK;aAG1B,aAAa,EAAE,OAAO;aACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjD,OAAO,EAAE,MAAM,EACC,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAYlD"}
|
package/dist/version.d.cts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* The package version, readable at runtime.
|
|
3
3
|
*
|
|
4
4
|
* A literal, not a build-time injection, so raw-source (JSR) consumers get the
|
|
5
|
-
* same value as the npm bundle. Kept in lock-step with `package.json`
|
|
6
|
-
* `jsr.json` by `src/__tests__/version_sync.test.ts
|
|
5
|
+
* same value as the npm bundle. Kept in lock-step with `package.json` and
|
|
6
|
+
* `jsr.json` by `src/__tests__/version_sync.test.ts`, bump all three
|
|
7
7
|
* together.
|
|
8
8
|
*/
|
|
9
|
-
export declare const VERSION = "0.
|
|
9
|
+
export declare const VERSION = "0.6.0";
|
|
10
10
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.d.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* The package version, readable at runtime.
|
|
3
3
|
*
|
|
4
4
|
* A literal, not a build-time injection, so raw-source (JSR) consumers get the
|
|
5
|
-
* same value as the npm bundle. Kept in lock-step with `package.json`
|
|
6
|
-
* `jsr.json` by `src/__tests__/version_sync.test.ts
|
|
5
|
+
* same value as the npm bundle. Kept in lock-step with `package.json` and
|
|
6
|
+
* `jsr.json` by `src/__tests__/version_sync.test.ts`, bump all three
|
|
7
7
|
* together.
|
|
8
8
|
*/
|
|
9
|
-
export declare const VERSION = "0.
|
|
9
|
+
export declare const VERSION = "0.6.0";
|
|
10
10
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/worker.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";async function X(){const e=globalThis.process,o=e?.getBuiltinModule;return typeof o=="function"?o.call(e,"node:worker_threads"):await import(["node","worker_threads"].join(":"))}const m=4,N={view_stamp:8,archetype_count:16,layout_descriptor_off:20},F=16,O={component_id:0,field_id:2,type_tag:4,byte_off:8},P=40,U={component_mask:4,row_capacity:24,column_count:28,enabled_count:32},M=0,K=1,q=2,z=3,H=4,W=H+m,Y=W+m,Q=Y+1,Z=Q+1>>1,ee=-1,te=-2,R=16,j=65536,ne=[Uint8Array,Int8Array,Uint16Array,Int16Array,Uint32Array,Int32Array,Float32Array,Float64Array];function oe(e,o){return new DataView(e).getUint32(o+N.view_stamp,!0)}function re(e,o){return new DataView(e).getUint32(o+U.enabled_count,!0)}function se(e,o,r,d,f,p){const l=new DataView(e),y=l.getUint32(o+N.archetype_count,!0);let s=o+l.getUint32(o+N.layout_descriptor_off,!0);const h=r.length>>1,_=[];for(let E=0;E<y;E++){const b=l.getUint32(s+U.column_count,!0),A=s+P+b*F;if(b===0){s=A;continue}let T=!0;for(let n=0;n<m;n++){const a=l.getUint32(s+U.component_mask+n*4,!0);if((a&d[n])!==d[n]){T=!1;break}if(f!==null&&(a&f[n])!==0){T=!1;break}}if(!T){s=A;continue}const $=l.getUint32(s+U.row_capacity,!0),x=s+P,g=p?new Array(h):[],S=p?[]:new Array(h);let t=0;for(let n=0;n<b&&t<h;n++){const a=x+n*F,c=l.getUint16(a+O.component_id,!0),u=l.getUint16(a+O.field_id,!0);for(let i=0;i<h;i++){if(r[i*2]!==c||r[i*2+1]!==u)continue;const w=o+l.getUint32(a+O.byte_off,!0);if(p){const k=ne[l.getUint8(a+O.type_tag)];g[i]=new k(e,w,$)}else S[i]=w;t++}}t===h&&_.push({descriptorOff:s,views:g,offsets:S}),s=A}return _}function G(e){return typeof e=="object"&&e!==null&&"value"in e?e:null}function ae(e){const o=G(e),r=o===null?e:o.value;return typeof r=="number"&&Number.isFinite(r)?r:null}function ce(e,o,r,d,f,p){const l=G(e.exports.__stack_pointer);if(l===null||f===1)return;const y=ae(e.exports.__heap_base);if(y===null)throw new Error(`the kernel export '${o}' comes from a module with a '__stack_pointer' and no numeric '__heap_base', so the worker cannot find the span its stack may use. Link with --export=__heap_base.`);const s=Math.ceil(y/R)*R,h=r-s,_=p>0?p:Math.floor(h/f/R)*R;if(_<j)throw new Error(`the kernel export '${o}' needs one stack region for each of ${f} workers, and the ${h} bytes between __heap_base ${y} and the store base ${r} leave ${_} for each. Raise memory.storeBase to reserve at least ${f*j} bytes above the module's heap.`);if(f*_>h)throw new Error(`the kernel export '${o}' needs one stack region of ${_} bytes for each of ${f} workers, and the ${h} bytes between __heap_base ${y} and the store base ${r} hold fewer. Raise memory.storeBase, or lower stackBytes on workers.attach.`);try{l.value=r-d*_}catch{throw new Error(`the kernel export '${o}' comes from a module whose '__stack_pointer' is immutable, so every worker would share one stack. Build with mutable globals, or give the kernel a body that uses no stack.`)}}function V(e,o){const r=e.store instanceof SharedArrayBuffer?null:e.store,d=r===null?e.store:null,f=e.storeBase,p=e.index,l=e.count,y=e.stackBytes??0,s=new Int32Array(e.control),h=new Float64Array(e.control),_=[],E=new Uint32Array(m),b=new Uint32Array(m);function A(){return r!==null?r.buffer:d}function T(t){const n=t.specs,a=(u,i)=>{_[t.slot]={call:u,exportName:t.exportName,specs:n,wantViews:i,args:new Array((n.length>>1)+3),buffer:null,stamp:-1,masks:new Uint32Array(m*2),hasExclude:!1,bound:[]},o({type:"kernel",slot:t.slot})},c=u=>{o({type:"kernel",slot:t.slot,error:u instanceof Error?u.message:String(u)})};try{if(t.wasm!==void 0){if(r===null)throw new Error("a wasm kernel imports the world's memory, and this world is not backed by a WebAssembly.Memory. Build the world with the wasm backing, or give the system a js kernel");const u=new WebAssembly.Instance(t.wasm,{env:{memory:r}}),i=u.exports[t.exportName];if(typeof i!="function")throw new Error(`the wasm kernel exports no function named ${t.exportName}`);const w=(n.length>>1)+3;if(i.length!==w)throw new Error(`the wasm kernel export '${t.exportName}' takes ${i.length} parameters and the system declares ${n.length>>1} columns, which needs ${w}. Give the kernel one parameter for each column, then begin, end and dt.`);ce(u,t.exportName,f,p,l,y),a(i,!1);return}import(t.js).then(u=>{const i=u[t.exportName];if(typeof i!="function"){c(new Error(`the js kernel exports no function named ${t.exportName}`));return}a(i,!0)},c)}catch(u){c(u)}}function $(t){const n=s[Y]===1;let a=n!==t.hasExclude;for(let c=0;c<m;c++)E[c]=s[H+c]>>>0,b[c]=s[W+c]>>>0,(t.masks[c]!==E[c]||t.masks[m+c]!==b[c])&&(a=!0);return a&&(t.masks.set(E,0),t.masks.set(b,m),t.hasExclude=n),a}function x(t){const n=_[t];if(n===void 0)throw new Error(`no kernel is registered in slot ${t}`);const a=A(),c=oe(a,f);($(n)||n.buffer!==a||n.stamp!==c)&&(n.bound=se(a,f,n.specs,E,n.hasExclude?b:null,n.wantViews),n.buffer=a,n.stamp=c);const i=h[Z],w=n.bound,k=n.args,v=n.specs.length>>1;for(let C=0;C<w.length;C++){const D=re(a,w[C].descriptorOff),I=Math.floor(D*p/l),B=Math.floor(D*(p+1)/l);if(B<=I)continue;const J=n.wantViews?w[C].views:w[C].offsets;for(let L=0;L<v;L++)k[L]=J[L];k[v]=I,k[v+1]=B,k[v+2]=i,n.call.apply(void 0,k)}}let g=0;function S(){for(;;){for(;Atomics.load(s,M)===g;)Atomics.wait(s,M,g);g=Atomics.load(s,M);const t=Atomics.load(s,q);if(t===te)return!1;if(t===ee)return!0;try{x(t)}catch{Atomics.compareExchange(s,z,0,p+1)}Atomics.add(s,K,1)===l-1&&Atomics.notify(s,K)}}return{onMessage(t){if(t.type==="kernel"){T(t);return}S()&&o({type:"yielded"})}}}function ie(){const e=globalThis;let o=null;e.addEventListener("message",r=>{if(o===null){o=V(r.data,d=>e.postMessage(d)),e.postMessage({type:"ready"});return}o.onMessage(r.data)})}function le(){X().then(e=>{const o=e.parentPort;if(o===null)return;const r=V(e.workerData,d=>o.postMessage(d));o.on("message",d=>r.onMessage(d)),o.postMessage({type:"ready"})})}typeof globalThis.WorkerGlobalScope<"u"?ie():le();
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/***
|
|
2
|
+
* The engine's worker entry, `@oasys/oecs/worker`.
|
|
3
|
+
*
|
|
4
|
+
* `world.workers.attach` starts this file. It picks the runtime, builds the worker
|
|
5
|
+
* body, and hands every message to it. It exports nothing, because a worker is
|
|
6
|
+
* started and not imported.
|
|
7
|
+
*
|
|
8
|
+
* Node and the node-compatible runtimes take their start payload from
|
|
9
|
+
* `workerData`, which is there before the first message. A browser worker takes
|
|
10
|
+
* it from the first message instead.
|
|
11
|
+
*
|
|
12
|
+
* Every import below names the file with its extension. This entry ships as its
|
|
13
|
+
* own bundle, and the tests load the source through plain node, which resolves
|
|
14
|
+
* a relative specifier by its extension.
|
|
15
|
+
***/
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=worker.d.ts.map
|
package/dist/worker.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/***
|
|
2
|
+
* The engine's worker entry, `@oasys/oecs/worker`.
|
|
3
|
+
*
|
|
4
|
+
* `world.workers.attach` starts this file. It picks the runtime, builds the worker
|
|
5
|
+
* body, and hands every message to it. It exports nothing, because a worker is
|
|
6
|
+
* started and not imported.
|
|
7
|
+
*
|
|
8
|
+
* Node and the node-compatible runtimes take their start payload from
|
|
9
|
+
* `workerData`, which is there before the first message. A browser worker takes
|
|
10
|
+
* it from the first message instead.
|
|
11
|
+
*
|
|
12
|
+
* Every import below names the file with its extension. This entry ships as its
|
|
13
|
+
* own bundle, and the tests load the source through plain node, which resolves
|
|
14
|
+
* a relative specifier by its extension.
|
|
15
|
+
***/
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;KAcK"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";async function X(){const e=globalThis.process,o=e?.getBuiltinModule;return typeof o=="function"?o.call(e,"node:worker_threads"):await import(["node","worker_threads"].join(":"))}const m=4,N={view_stamp:8,archetype_count:16,layout_descriptor_off:20},F=16,O={component_id:0,field_id:2,type_tag:4,byte_off:8},P=40,U={component_mask:4,row_capacity:24,column_count:28,enabled_count:32},M=0,K=1,q=2,z=3,H=4,W=H+m,Y=W+m,Q=Y+1,Z=Q+1>>1,ee=-1,te=-2,R=16,j=65536,ne=[Uint8Array,Int8Array,Uint16Array,Int16Array,Uint32Array,Int32Array,Float32Array,Float64Array];function oe(e,o){return new DataView(e).getUint32(o+N.view_stamp,!0)}function re(e,o){return new DataView(e).getUint32(o+U.enabled_count,!0)}function se(e,o,r,d,f,p){const l=new DataView(e),y=l.getUint32(o+N.archetype_count,!0);let s=o+l.getUint32(o+N.layout_descriptor_off,!0);const h=r.length>>1,_=[];for(let E=0;E<y;E++){const b=l.getUint32(s+U.column_count,!0),A=s+P+b*F;if(b===0){s=A;continue}let T=!0;for(let n=0;n<m;n++){const a=l.getUint32(s+U.component_mask+n*4,!0);if((a&d[n])!==d[n]){T=!1;break}if(f!==null&&(a&f[n])!==0){T=!1;break}}if(!T){s=A;continue}const $=l.getUint32(s+U.row_capacity,!0),x=s+P,g=p?new Array(h):[],S=p?[]:new Array(h);let t=0;for(let n=0;n<b&&t<h;n++){const a=x+n*F,c=l.getUint16(a+O.component_id,!0),u=l.getUint16(a+O.field_id,!0);for(let i=0;i<h;i++){if(r[i*2]!==c||r[i*2+1]!==u)continue;const w=o+l.getUint32(a+O.byte_off,!0);if(p){const k=ne[l.getUint8(a+O.type_tag)];g[i]=new k(e,w,$)}else S[i]=w;t++}}t===h&&_.push({descriptorOff:s,views:g,offsets:S}),s=A}return _}function G(e){return typeof e=="object"&&e!==null&&"value"in e?e:null}function ae(e){const o=G(e),r=o===null?e:o.value;return typeof r=="number"&&Number.isFinite(r)?r:null}function ce(e,o,r,d,f,p){const l=G(e.exports.__stack_pointer);if(l===null||f===1)return;const y=ae(e.exports.__heap_base);if(y===null)throw new Error(`the kernel export '${o}' comes from a module with a '__stack_pointer' and no numeric '__heap_base', so the worker cannot find the span its stack may use. Link with --export=__heap_base.`);const s=Math.ceil(y/R)*R,h=r-s,_=p>0?p:Math.floor(h/f/R)*R;if(_<j)throw new Error(`the kernel export '${o}' needs one stack region for each of ${f} workers, and the ${h} bytes between __heap_base ${y} and the store base ${r} leave ${_} for each. Raise memory.storeBase to reserve at least ${f*j} bytes above the module's heap.`);if(f*_>h)throw new Error(`the kernel export '${o}' needs one stack region of ${_} bytes for each of ${f} workers, and the ${h} bytes between __heap_base ${y} and the store base ${r} hold fewer. Raise memory.storeBase, or lower stackBytes on workers.attach.`);try{l.value=r-d*_}catch{throw new Error(`the kernel export '${o}' comes from a module whose '__stack_pointer' is immutable, so every worker would share one stack. Build with mutable globals, or give the kernel a body that uses no stack.`)}}function V(e,o){const r=e.store instanceof SharedArrayBuffer?null:e.store,d=r===null?e.store:null,f=e.storeBase,p=e.index,l=e.count,y=e.stackBytes??0,s=new Int32Array(e.control),h=new Float64Array(e.control),_=[],E=new Uint32Array(m),b=new Uint32Array(m);function A(){return r!==null?r.buffer:d}function T(t){const n=t.specs,a=(u,i)=>{_[t.slot]={call:u,exportName:t.exportName,specs:n,wantViews:i,args:new Array((n.length>>1)+3),buffer:null,stamp:-1,masks:new Uint32Array(m*2),hasExclude:!1,bound:[]},o({type:"kernel",slot:t.slot})},c=u=>{o({type:"kernel",slot:t.slot,error:u instanceof Error?u.message:String(u)})};try{if(t.wasm!==void 0){if(r===null)throw new Error("a wasm kernel imports the world's memory, and this world is not backed by a WebAssembly.Memory. Build the world with the wasm backing, or give the system a js kernel");const u=new WebAssembly.Instance(t.wasm,{env:{memory:r}}),i=u.exports[t.exportName];if(typeof i!="function")throw new Error(`the wasm kernel exports no function named ${t.exportName}`);const w=(n.length>>1)+3;if(i.length!==w)throw new Error(`the wasm kernel export '${t.exportName}' takes ${i.length} parameters and the system declares ${n.length>>1} columns, which needs ${w}. Give the kernel one parameter for each column, then begin, end and dt.`);ce(u,t.exportName,f,p,l,y),a(i,!1);return}import(t.js).then(u=>{const i=u[t.exportName];if(typeof i!="function"){c(new Error(`the js kernel exports no function named ${t.exportName}`));return}a(i,!0)},c)}catch(u){c(u)}}function $(t){const n=s[Y]===1;let a=n!==t.hasExclude;for(let c=0;c<m;c++)E[c]=s[H+c]>>>0,b[c]=s[W+c]>>>0,(t.masks[c]!==E[c]||t.masks[m+c]!==b[c])&&(a=!0);return a&&(t.masks.set(E,0),t.masks.set(b,m),t.hasExclude=n),a}function x(t){const n=_[t];if(n===void 0)throw new Error(`no kernel is registered in slot ${t}`);const a=A(),c=oe(a,f);($(n)||n.buffer!==a||n.stamp!==c)&&(n.bound=se(a,f,n.specs,E,n.hasExclude?b:null,n.wantViews),n.buffer=a,n.stamp=c);const i=h[Z],w=n.bound,k=n.args,v=n.specs.length>>1;for(let C=0;C<w.length;C++){const D=re(a,w[C].descriptorOff),I=Math.floor(D*p/l),B=Math.floor(D*(p+1)/l);if(B<=I)continue;const J=n.wantViews?w[C].views:w[C].offsets;for(let L=0;L<v;L++)k[L]=J[L];k[v]=I,k[v+1]=B,k[v+2]=i,n.call.apply(void 0,k)}}let g=0;function S(){for(;;){for(;Atomics.load(s,M)===g;)Atomics.wait(s,M,g);g=Atomics.load(s,M);const t=Atomics.load(s,q);if(t===te)return!1;if(t===ee)return!0;try{x(t)}catch{Atomics.compareExchange(s,z,0,p+1)}Atomics.add(s,K,1)===l-1&&Atomics.notify(s,K)}}return{onMessage(t){if(t.type==="kernel"){T(t);return}S()&&o({type:"yielded"})}}}function ie(){const e=globalThis;let o=null;e.addEventListener("message",r=>{if(o===null){o=V(r.data,d=>e.postMessage(d)),e.postMessage({type:"ready"});return}o.onMessage(r.data)})}function le(){X().then(e=>{const o=e.parentPort;if(o===null)return;const r=V(e.workerData,d=>o.postMessage(d));o.on("message",d=>r.onMessage(d)),o.postMessage({type:"ready"})})}typeof globalThis.WorkerGlobalScope<"u"?ie():le();
|