@oasys/oecs 0.5.3 → 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 +1399 -276
- package/README.md +327 -169
- package/dist/core/ecs/access_check.d.cts +31 -31
- package/dist/core/ecs/access_check.d.ts +31 -31
- package/dist/core/ecs/access_check.d.ts.map +1 -1
- package/dist/core/ecs/archetype.d.cts +273 -205
- package/dist/core/ecs/archetype.d.ts +273 -205
- 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 +34 -34
- package/dist/core/ecs/archetype_graph.d.ts +34 -34
- 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 +30 -30
- package/dist/core/ecs/command_log.d.ts +30 -30
- package/dist/core/ecs/command_log.d.ts.map +1 -1
- package/dist/core/ecs/component.d.cts +45 -44
- package/dist/core/ecs/component.d.ts +45 -44
- 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 +337 -276
- package/dist/core/ecs/ecs.d.ts +337 -276
- 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 +24 -22
- package/dist/core/ecs/entity_allocator.d.ts +24 -22
- package/dist/core/ecs/entity_allocator.d.ts.map +1 -1
- package/dist/core/ecs/event.d.cts +37 -23
- package/dist/core/ecs/event.d.ts +37 -23
- 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 +34 -34
- package/dist/core/ecs/frame_trace.d.ts +34 -34
- package/dist/core/ecs/frame_trace.d.ts.map +1 -1
- package/dist/core/ecs/host_commands.d.cts +107 -89
- package/dist/core/ecs/host_commands.d.ts +107 -89
- package/dist/core/ecs/host_commands.d.ts.map +1 -1
- package/dist/core/ecs/index.d.cts +22 -12
- package/dist/core/ecs/index.d.ts +22 -12
- package/dist/core/ecs/index.d.ts.map +1 -1
- package/dist/core/ecs/observer.d.cts +41 -122
- package/dist/core/ecs/observer.d.ts +41 -122
- 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 +219 -568
- package/dist/core/ecs/query.d.ts +219 -568
- 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 +129 -16
- package/dist/core/ecs/ref.d.ts +129 -16
- package/dist/core/ecs/ref.d.ts.map +1 -1
- package/dist/core/ecs/relation.d.cts +105 -186
- package/dist/core/ecs/relation.d.ts +105 -186
- package/dist/core/ecs/relation.d.ts.map +1 -1
- package/dist/core/ecs/resource.d.cts +14 -14
- package/dist/core/ecs/resource.d.ts +14 -14
- package/dist/core/ecs/resource_registry.d.cts +6 -6
- package/dist/core/ecs/resource_registry.d.ts +6 -6
- 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 +98 -114
- package/dist/core/ecs/schedule.d.ts +98 -114
- 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 +110 -53
- package/dist/core/ecs/sparse_store.d.ts +110 -53
- package/dist/core/ecs/sparse_store.d.ts.map +1 -1
- package/dist/core/ecs/store.d.cts +644 -511
- package/dist/core/ecs/store.d.ts +644 -511
- package/dist/core/ecs/store.d.ts.map +1 -1
- package/dist/core/ecs/store_layout_listener.d.cts +8 -8
- package/dist/core/ecs/store_layout_listener.d.ts +8 -8
- 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 +151 -66
- package/dist/core/ecs/system.d.ts +151 -66
- 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 +87 -4
- package/dist/core/ecs/utils/error.d.ts +87 -4
- 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 +48 -49
- package/dist/core/store/action_ring.d.ts +48 -49
- package/dist/core/store/action_ring.d.ts.map +1 -1
- package/dist/core/store/allocator.d.cts +166 -114
- package/dist/core/store/allocator.d.ts +166 -114
- package/dist/core/store/allocator.d.ts.map +1 -1
- package/dist/core/store/buffer_backed_column.d.cts +21 -22
- package/dist/core/store/buffer_backed_column.d.ts +21 -22
- package/dist/core/store/buffer_backed_column.d.ts.map +1 -1
- package/dist/core/store/column_store.d.cts +138 -100
- package/dist/core/store/column_store.d.ts +138 -100
- 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 +41 -45
- package/dist/core/store/command_ring.d.ts +41 -45
- package/dist/core/store/command_ring.d.ts.map +1 -1
- package/dist/core/store/descriptor.d.cts +35 -18
- package/dist/core/store/descriptor.d.ts +35 -18
- 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 +40 -42
- package/dist/core/store/event_ring.d.ts +40 -42
- package/dist/core/store/event_ring.d.ts.map +1 -1
- package/dist/core/store/extend.d.cts +15 -9
- package/dist/core/store/extend.d.ts +15 -9
- package/dist/core/store/extend.d.ts.map +1 -1
- package/dist/core/store/grow.d.cts +3 -3
- package/dist/core/store/grow.d.ts +3 -3
- package/dist/core/store/grow.d.ts.map +1 -1
- package/dist/core/store/header.d.cts +37 -33
- package/dist/core/store/header.d.ts +37 -33
- 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 +72 -63
- package/dist/core/store/layout_ops.d.ts +72 -63
- 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 +14 -14
- package/dist/core/store/state_hash.d.ts +14 -14
- 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 +16 -11
- package/dist/index.d.ts +16 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.development.cjs +1 -1
- package/dist/index.development.js +6709 -5729
- package/dist/index.js +5664 -4743
- 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 +56 -56
- package/dist/{extensions → plugins}/editor/editor.d.ts +56 -56
- package/dist/plugins/editor/editor.d.ts.map +1 -0
- package/dist/{extensions → plugins}/editor/field_handle.d.cts +13 -13
- package/dist/{extensions → plugins}/editor/field_handle.d.ts +13 -13
- 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} +83 -66
- package/dist/{extensions/editor/index.js → plugins/editor.js} +83 -66
- 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 +93 -105
- package/dist/{core/ecs → plugins/relations}/relation_service.d.ts +93 -105
- 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 +18 -17
- package/dist/type_primitives/typed_arrays/typed_arrays.d.ts +18 -17
- 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 +4 -4
- package/dist/version.d.ts +4 -4
- 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-3jyFfWNg.js +0 -2326
- package/dist/host_commands-DNf0f6ko.cjs +0 -1
- package/dist/internal-C9jjL90H.js +0 -2485
- package/dist/internal-RZN14uMw.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-9S1pY_Iw.js +0 -159
- package/dist/shallow-C5YmTbtb.cjs +0 -1
- package/dist/shallow-DQ8aG51_.cjs +0 -1
- package/dist/shallow-DfnAm9vG.js +0 -150
- package/dist/shared-BMXh9hxm.cjs +0 -1
- package/dist/shared-DQKK0i-E.js +0 -109
- package/dist/topological_sort-BDvEyb9W.cjs +0 -1
- package/dist/topological_sort-DK6EjpWa.js +0 -135
- package/dist/typed_arrays-BcXcnzB4.js +0 -258
- package/dist/typed_arrays-D3NmwtCG.cjs +0 -1
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
const I = 5, A = 31;
|
|
2
|
+
class w {
|
|
3
|
+
words;
|
|
4
|
+
constructor(t) {
|
|
5
|
+
this.words = t ?? new Array(4).fill(0);
|
|
6
|
+
}
|
|
7
|
+
has(t) {
|
|
8
|
+
const s = t >>> 5;
|
|
9
|
+
return s >= this.words.length ? !1 : (this.words[s] & 1 << (t & 31)) !== 0;
|
|
10
|
+
}
|
|
11
|
+
set(t) {
|
|
12
|
+
const s = t >>> 5;
|
|
13
|
+
s >= this.words.length && this._grow(s + 1), this.words[s] |= 1 << (t & 31);
|
|
14
|
+
}
|
|
15
|
+
clear(t) {
|
|
16
|
+
const s = t >>> 5;
|
|
17
|
+
s >= this.words.length || (this.words[s] &= ~(1 << (t & 31)));
|
|
18
|
+
}
|
|
19
|
+
/** True if no bit is set. */
|
|
20
|
+
isEmpty() {
|
|
21
|
+
const t = this.words;
|
|
22
|
+
for (let s = 0; s < t.length; s++)
|
|
23
|
+
if (t[s] !== 0) return !1;
|
|
24
|
+
return !0;
|
|
25
|
+
}
|
|
26
|
+
/** True if any bit is set in both this and other (non-empty intersection). */
|
|
27
|
+
overlaps(t) {
|
|
28
|
+
const s = this.words, e = t.words, n = s.length < e.length ? s.length : e.length;
|
|
29
|
+
for (let r = 0; r < n; r++)
|
|
30
|
+
if ((s[r] & e[r]) !== 0) return !0;
|
|
31
|
+
return !1;
|
|
32
|
+
}
|
|
33
|
+
/** True if this is a superset of other (all bits in other are set in this). */
|
|
34
|
+
contains(t) {
|
|
35
|
+
const s = t.words, e = this.words, n = e.length;
|
|
36
|
+
for (let r = 0; r < s.length; r++) {
|
|
37
|
+
const o = s[r];
|
|
38
|
+
if (o !== 0 && (r >= n || (e[r] & o) !== o))
|
|
39
|
+
return !1;
|
|
40
|
+
}
|
|
41
|
+
return !0;
|
|
42
|
+
}
|
|
43
|
+
equals(t) {
|
|
44
|
+
const s = this.words, e = t.words, n = s.length > e.length ? s.length : e.length;
|
|
45
|
+
for (let r = 0; r < n; r++) {
|
|
46
|
+
const o = r < s.length ? s[r] : 0, i = r < e.length ? e[r] : 0;
|
|
47
|
+
if (o !== i) return !1;
|
|
48
|
+
}
|
|
49
|
+
return !0;
|
|
50
|
+
}
|
|
51
|
+
copy() {
|
|
52
|
+
return new w(this.words.slice());
|
|
53
|
+
}
|
|
54
|
+
/** Mutate `target` so it has the same set bits as `this`. Reuses
|
|
55
|
+
* `target.words` storage when capacity allows (no allocation) and
|
|
56
|
+
* grows it only when `this` is wider. Designed for hot-path scratch
|
|
57
|
+
* BitSets where callers want `.copy()` semantics without the
|
|
58
|
+
* per-call allocation. Returns `target` for chaining. */
|
|
59
|
+
copyInto(t) {
|
|
60
|
+
const s = this.words, e = t.words, n = s.length, r = e.length;
|
|
61
|
+
if (r >= n) {
|
|
62
|
+
for (let o = 0; o < n; o++) e[o] = s[o];
|
|
63
|
+
for (let o = n; o < r; o++) e[o] = 0;
|
|
64
|
+
} else {
|
|
65
|
+
let o = r > 0 ? r : 1;
|
|
66
|
+
for (; o < n; ) o *= 2;
|
|
67
|
+
const i = new Array(o).fill(0);
|
|
68
|
+
for (let l = 0; l < n; l++) i[l] = s[l];
|
|
69
|
+
t.words = i;
|
|
70
|
+
}
|
|
71
|
+
return t;
|
|
72
|
+
}
|
|
73
|
+
copyWithSet(t) {
|
|
74
|
+
const s = t >>> 5, e = s + 1, n = this.words.length > e ? this.words.length : e, r = new Array(n).fill(0);
|
|
75
|
+
for (let o = 0; o < this.words.length; o++) r[o] = this.words[o];
|
|
76
|
+
return r[s] |= 1 << (t & 31), new w(r);
|
|
77
|
+
}
|
|
78
|
+
copyWithClear(t) {
|
|
79
|
+
const s = this.words.slice(), e = t >>> 5;
|
|
80
|
+
return e < s.length && (s[e] &= ~(1 << (t & 31))), new w(s);
|
|
81
|
+
}
|
|
82
|
+
/** FNV-1a hash. Skips trailing zero words so differently-sized arrays with the same bits hash equally. */
|
|
83
|
+
hash() {
|
|
84
|
+
let t = 2166136261;
|
|
85
|
+
const s = this.words;
|
|
86
|
+
let e = s.length - 1;
|
|
87
|
+
for (; e >= 0 && s[e] === 0; ) e--;
|
|
88
|
+
for (let n = 0; n <= e; n++)
|
|
89
|
+
t ^= s[n], t = Math.imul(t, 16777619);
|
|
90
|
+
return t;
|
|
91
|
+
}
|
|
92
|
+
/** Iterate all set bits via lowest-set-bit extraction. */
|
|
93
|
+
forEach(t) {
|
|
94
|
+
const s = this.words;
|
|
95
|
+
for (let e = 0; e < s.length; e++) {
|
|
96
|
+
let n = s[e];
|
|
97
|
+
if (n === 0) continue;
|
|
98
|
+
const r = e << 5;
|
|
99
|
+
for (; n !== 0; ) {
|
|
100
|
+
const o = n & -n >>> 0, i = 31 - Math.clz32(o);
|
|
101
|
+
t(r + i), n ^= o;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
_grow(t) {
|
|
106
|
+
let s = this.words.length;
|
|
107
|
+
for (; s < t; ) s *= 2;
|
|
108
|
+
const e = new Array(s).fill(0);
|
|
109
|
+
for (let n = 0; n < this.words.length; n++) e[n] = this.words[n];
|
|
110
|
+
this.words = e;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const _ = 16, g = 2;
|
|
114
|
+
class u {
|
|
115
|
+
constructor(t, s = 16) {
|
|
116
|
+
this._ctor = t, this._buf = new t(s);
|
|
117
|
+
}
|
|
118
|
+
_buf;
|
|
119
|
+
_len = 0;
|
|
120
|
+
get length() {
|
|
121
|
+
return this._len;
|
|
122
|
+
}
|
|
123
|
+
push(t) {
|
|
124
|
+
this._len >= this._buf.length && this._grow(), this._buf[this._len++] = t;
|
|
125
|
+
}
|
|
126
|
+
pop() {
|
|
127
|
+
return this._buf[--this._len];
|
|
128
|
+
}
|
|
129
|
+
getAt(t) {
|
|
130
|
+
return this._buf[t];
|
|
131
|
+
}
|
|
132
|
+
setAt(t, s) {
|
|
133
|
+
this._buf[t] = s;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Move the last element into slot i, decrement length.
|
|
137
|
+
* Returns the value that was removed from slot i.
|
|
138
|
+
*/
|
|
139
|
+
swapRemove(t) {
|
|
140
|
+
const s = this._buf[t];
|
|
141
|
+
return this._buf[t] = this._buf[--this._len], s;
|
|
142
|
+
}
|
|
143
|
+
clear() {
|
|
144
|
+
this._len = 0;
|
|
145
|
+
}
|
|
146
|
+
/** Set the logical length directly (snapshot-mount reconstruction). The
|
|
147
|
+
* caller guarantees `[0, len)` already holds valid data. Grows the backing if
|
|
148
|
+
* needed so the length is always representable. */
|
|
149
|
+
setLength(t) {
|
|
150
|
+
this.reserve(t), this._len = t;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Raw backing buffer. Valid data: indices 0..length-1.
|
|
154
|
+
* This reference is stable until the next push() that triggers a grow,
|
|
155
|
+
* do not cache across entity additions.
|
|
156
|
+
*/
|
|
157
|
+
get buf() {
|
|
158
|
+
return this._buf;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Zero-copy subarray view of valid data (0..length-1).
|
|
162
|
+
* Shares the backing buffer, invalidated if a subsequent push() grows.
|
|
163
|
+
*/
|
|
164
|
+
view() {
|
|
165
|
+
return this._buf.subarray(0, this._len);
|
|
166
|
+
}
|
|
167
|
+
[Symbol.iterator]() {
|
|
168
|
+
let t = 0;
|
|
169
|
+
const s = this._buf, e = this._len;
|
|
170
|
+
return {
|
|
171
|
+
next() {
|
|
172
|
+
return t < e ? { value: s[t++], done: !1 } : { value: 0, done: !0 };
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/** Grow the backing buffer to hold `capacity` elements. Reallocates and
|
|
177
|
+
* copies when the current buffer is short, so `buf` and `view()` go stale. */
|
|
178
|
+
reserve(t) {
|
|
179
|
+
if (t <= this._buf.length) return;
|
|
180
|
+
let s = this._buf.length || 1;
|
|
181
|
+
for (; s < t; ) s *= g;
|
|
182
|
+
const e = new this._ctor(s);
|
|
183
|
+
e.set(this._buf.subarray(0, this._len)), this._buf = e;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Append `count` elements from `src` starting at `srcOffset`.
|
|
187
|
+
* Grows if needed. Equivalent to push() in a loop but uses TypedArray.set().
|
|
188
|
+
*/
|
|
189
|
+
bulkAppend(t, s, e) {
|
|
190
|
+
this.reserve(this._len + e), this._buf.set(t.subarray(s, s + e), this._len), this._len += e;
|
|
191
|
+
}
|
|
192
|
+
/** Append `count` zeroes. Grows if needed. */
|
|
193
|
+
bulkAppendZeroes(t) {
|
|
194
|
+
this.reserve(this._len + t), this._buf.fill(0, this._len, this._len + t), this._len += t;
|
|
195
|
+
}
|
|
196
|
+
/** Append `count` copies of `value`. Grows if needed. Single-pass
|
|
197
|
+
* analogue of `bulkAppendZeroes` for a non-zero default. */
|
|
198
|
+
bulkAppendValue(t, s) {
|
|
199
|
+
this.reserve(this._len + s), this._buf.fill(t, this._len, this._len + s), this._len += s;
|
|
200
|
+
}
|
|
201
|
+
_grow() {
|
|
202
|
+
const t = new this._ctor(this._buf.length * g);
|
|
203
|
+
t.set(this._buf), this._buf = t;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
class b extends u {
|
|
207
|
+
constructor(t = _) {
|
|
208
|
+
super(Float32Array, t);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
class S extends u {
|
|
212
|
+
constructor(t = _) {
|
|
213
|
+
super(Float64Array, t);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
class R extends u {
|
|
217
|
+
constructor(t = _) {
|
|
218
|
+
super(Int8Array, t);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
class y extends u {
|
|
222
|
+
constructor(t = _) {
|
|
223
|
+
super(Int16Array, t);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
class T extends u {
|
|
227
|
+
constructor(t = _) {
|
|
228
|
+
super(Int32Array, t);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
class E extends u {
|
|
232
|
+
constructor(t = _) {
|
|
233
|
+
super(Uint8Array, t);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
class F extends u {
|
|
237
|
+
constructor(t = _) {
|
|
238
|
+
super(Uint16Array, t);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
class O extends u {
|
|
242
|
+
constructor(t = _) {
|
|
243
|
+
super(Uint32Array, t);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
class p {
|
|
247
|
+
_compare;
|
|
248
|
+
_data = [];
|
|
249
|
+
constructor(t) {
|
|
250
|
+
this._compare = t;
|
|
251
|
+
}
|
|
252
|
+
get size() {
|
|
253
|
+
return this._data.length;
|
|
254
|
+
}
|
|
255
|
+
/** Returns the highest-priority element without removing it, or undefined if empty. */
|
|
256
|
+
peek() {
|
|
257
|
+
return this._data[0];
|
|
258
|
+
}
|
|
259
|
+
/** Inserts a value and restores heap order by sifting up. O(log n). */
|
|
260
|
+
push(t) {
|
|
261
|
+
this._data.push(t), this._siftUp(this._data.length - 1);
|
|
262
|
+
}
|
|
263
|
+
/** Removes and returns the highest-priority element, or undefined if empty. O(log n). */
|
|
264
|
+
pop() {
|
|
265
|
+
const t = this._data;
|
|
266
|
+
if (t.length === 0) return;
|
|
267
|
+
const e = t[0], n = t.pop();
|
|
268
|
+
return t.length > 0 && (t[0] = n, this._siftDown(0)), e;
|
|
269
|
+
}
|
|
270
|
+
/** Removes all elements. O(1). */
|
|
271
|
+
clear() {
|
|
272
|
+
this._data.length = 0;
|
|
273
|
+
}
|
|
274
|
+
/** Moves a node up toward the root until heap order is restored. */
|
|
275
|
+
_siftUp(t) {
|
|
276
|
+
const s = this._data, e = this._compare, n = s[t];
|
|
277
|
+
for (; t > 0; ) {
|
|
278
|
+
const r = t - 1 >> 1;
|
|
279
|
+
if (e(n, s[r]) >= 0) break;
|
|
280
|
+
s[t] = s[r], t = r;
|
|
281
|
+
}
|
|
282
|
+
s[t] = n;
|
|
283
|
+
}
|
|
284
|
+
/** Moves a node down away from the root until heap order is restored. */
|
|
285
|
+
_siftDown(t) {
|
|
286
|
+
const s = this._data, e = this._compare, n = s.length, r = n >> 1, o = s[t];
|
|
287
|
+
for (; t < r; ) {
|
|
288
|
+
let i = (t << 1) + 1;
|
|
289
|
+
const l = i + 1;
|
|
290
|
+
if (l < n && e(s[l], s[i]) < 0 && (i = l), e(s[i], o) >= 0) break;
|
|
291
|
+
s[t] = s[i], t = i;
|
|
292
|
+
}
|
|
293
|
+
s[t] = o;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
function W(h, t, s, e) {
|
|
297
|
+
const n = e ?? ((l) => String(l)), r = /* @__PURE__ */ new Map();
|
|
298
|
+
for (let l = 0; l < h.length; l++)
|
|
299
|
+
r.set(h[l], 0);
|
|
300
|
+
for (const [, l] of t)
|
|
301
|
+
for (let a = 0; a < l.length; a++) {
|
|
302
|
+
const c = l[a];
|
|
303
|
+
r.has(c) && r.set(c, r.get(c) + 1);
|
|
304
|
+
}
|
|
305
|
+
const o = new p(s);
|
|
306
|
+
for (let l = 0; l < h.length; l++)
|
|
307
|
+
r.get(h[l]) === 0 && o.push(h[l]);
|
|
308
|
+
const i = [];
|
|
309
|
+
for (; o.size > 0; ) {
|
|
310
|
+
const l = o.pop();
|
|
311
|
+
i.push(l);
|
|
312
|
+
const a = t.get(l);
|
|
313
|
+
if (a !== void 0)
|
|
314
|
+
for (let c = 0; c < a.length; c++) {
|
|
315
|
+
const f = a[c];
|
|
316
|
+
if (!r.has(f)) continue;
|
|
317
|
+
const d = r.get(f) - 1;
|
|
318
|
+
r.set(f, d), d === 0 && o.push(f);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
if (i.length !== h.length) {
|
|
322
|
+
const l = [];
|
|
323
|
+
for (const [a, c] of r)
|
|
324
|
+
c > 0 && l.push(n(a));
|
|
325
|
+
throw new TypeError(
|
|
326
|
+
`Cycle detected in topological sort. Nodes still pending: ${l.join(", ")}`
|
|
327
|
+
);
|
|
328
|
+
}
|
|
329
|
+
return i;
|
|
330
|
+
}
|
|
331
|
+
export {
|
|
332
|
+
w as B,
|
|
333
|
+
u as G,
|
|
334
|
+
b as a,
|
|
335
|
+
S as b,
|
|
336
|
+
R as c,
|
|
337
|
+
y as d,
|
|
338
|
+
T as e,
|
|
339
|
+
E as f,
|
|
340
|
+
F as g,
|
|
341
|
+
O as h,
|
|
342
|
+
p as i,
|
|
343
|
+
A as j,
|
|
344
|
+
I as k,
|
|
345
|
+
W as t
|
|
346
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";class w{words;constructor(t){this.words=t??new Array(4).fill(0)}has(t){const s=t>>>5;return s>=this.words.length?!1:(this.words[s]&1<<(t&31))!==0}set(t){const s=t>>>5;s>=this.words.length&&this._grow(s+1),this.words[s]|=1<<(t&31)}clear(t){const s=t>>>5;s>=this.words.length||(this.words[s]&=~(1<<(t&31)))}isEmpty(){const t=this.words;for(let s=0;s<t.length;s++)if(t[s]!==0)return!1;return!0}overlaps(t){const s=this.words,e=t.words,n=s.length<e.length?s.length:e.length;for(let r=0;r<n;r++)if((s[r]&e[r])!==0)return!0;return!1}contains(t){const s=t.words,e=this.words,n=e.length;for(let r=0;r<s.length;r++){const o=s[r];if(o!==0&&(r>=n||(e[r]&o)!==o))return!1}return!0}equals(t){const s=this.words,e=t.words,n=s.length>e.length?s.length:e.length;for(let r=0;r<n;r++){const o=r<s.length?s[r]:0,i=r<e.length?e[r]:0;if(o!==i)return!1}return!0}copy(){return new w(this.words.slice())}copyInto(t){const s=this.words,e=t.words,n=s.length,r=e.length;if(r>=n){for(let o=0;o<n;o++)e[o]=s[o];for(let o=n;o<r;o++)e[o]=0}else{let o=r>0?r:1;for(;o<n;)o*=2;const i=new Array(o).fill(0);for(let l=0;l<n;l++)i[l]=s[l];t.words=i}return t}copyWithSet(t){const s=t>>>5,e=s+1,n=this.words.length>e?this.words.length:e,r=new Array(n).fill(0);for(let o=0;o<this.words.length;o++)r[o]=this.words[o];return r[s]|=1<<(t&31),new w(r)}copyWithClear(t){const s=this.words.slice(),e=t>>>5;return e<s.length&&(s[e]&=~(1<<(t&31))),new w(s)}hash(){let t=2166136261;const s=this.words;let e=s.length-1;for(;e>=0&&s[e]===0;)e--;for(let n=0;n<=e;n++)t^=s[n],t=Math.imul(t,16777619);return t}forEach(t){const s=this.words;for(let e=0;e<s.length;e++){let n=s[e];if(n===0)continue;const r=e<<5;for(;n!==0;){const o=n&-n>>>0,i=31-Math.clz32(o);t(r+i),n^=o}}}_grow(t){let s=this.words.length;for(;s<t;)s*=2;const e=new Array(s).fill(0);for(let n=0;n<this.words.length;n++)e[n]=this.words[n];this.words=e}}const u=16,g=2;class _{constructor(t,s=16){this._ctor=t,this._buf=new t(s)}_buf;_len=0;get length(){return this._len}push(t){this._len>=this._buf.length&&this._grow(),this._buf[this._len++]=t}pop(){return this._buf[--this._len]}getAt(t){return this._buf[t]}setAt(t,s){this._buf[t]=s}swapRemove(t){const s=this._buf[t];return this._buf[t]=this._buf[--this._len],s}clear(){this._len=0}setLength(t){this.reserve(t),this._len=t}get buf(){return this._buf}view(){return this._buf.subarray(0,this._len)}[Symbol.iterator](){let t=0;const s=this._buf,e=this._len;return{next(){return t<e?{value:s[t++],done:!1}:{value:0,done:!0}}}}reserve(t){if(t<=this._buf.length)return;let s=this._buf.length||1;for(;s<t;)s*=g;const e=new this._ctor(s);e.set(this._buf.subarray(0,this._len)),this._buf=e}bulkAppend(t,s,e){this.reserve(this._len+e),this._buf.set(t.subarray(s,s+e),this._len),this._len+=e}bulkAppendZeroes(t){this.reserve(this._len+t),this._buf.fill(0,this._len,this._len+t),this._len+=t}bulkAppendValue(t,s){this.reserve(this._len+s),this._buf.fill(t,this._len,this._len+s),this._len+=s}_grow(){const t=new this._ctor(this._buf.length*g);t.set(this._buf),this._buf=t}}class A extends _{constructor(t=u){super(Float32Array,t)}}class I extends _{constructor(t=u){super(Float64Array,t)}}class b extends _{constructor(t=u){super(Int8Array,t)}}class S extends _{constructor(t=u){super(Int16Array,t)}}class y extends _{constructor(t=u){super(Int32Array,t)}}class R extends _{constructor(t=u){super(Uint8Array,t)}}class T extends _{constructor(t=u){super(Uint16Array,t)}}class E extends _{constructor(t=u){super(Uint32Array,t)}}class p{_compare;_data=[];constructor(t){this._compare=t}get size(){return this._data.length}peek(){return this._data[0]}push(t){this._data.push(t),this._siftUp(this._data.length-1)}pop(){const t=this._data;if(t.length===0)return;const e=t[0],n=t.pop();return t.length>0&&(t[0]=n,this._siftDown(0)),e}clear(){this._data.length=0}_siftUp(t){const s=this._data,e=this._compare,n=s[t];for(;t>0;){const r=t-1>>1;if(e(n,s[r])>=0)break;s[t]=s[r],t=r}s[t]=n}_siftDown(t){const s=this._data,e=this._compare,n=s.length,r=n>>1,o=s[t];for(;t<r;){let i=(t<<1)+1;const l=i+1;if(l<n&&e(s[l],s[i])<0&&(i=l),e(s[i],o)>=0)break;s[t]=s[i],t=i}s[t]=o}}function F(h,t,s,e){const n=e??(l=>String(l)),r=new Map;for(let l=0;l<h.length;l++)r.set(h[l],0);for(const[,l]of t)for(let a=0;a<l.length;a++){const c=l[a];r.has(c)&&r.set(c,r.get(c)+1)}const o=new p(s);for(let l=0;l<h.length;l++)r.get(h[l])===0&&o.push(h[l]);const i=[];for(;o.size>0;){const l=o.pop();i.push(l);const a=t.get(l);if(a!==void 0)for(let c=0;c<a.length;c++){const f=a[c];if(!r.has(f))continue;const d=r.get(f)-1;r.set(f,d),d===0&&o.push(f)}}if(i.length!==h.length){const l=[];for(const[a,c]of r)c>0&&l.push(n(a));throw new TypeError(`Cycle detected in topological sort. Nodes still pending: ${l.join(", ")}`)}return i}exports.BITS_PER_WORD_MASK=31;exports.BITS_PER_WORD_SHIFT=5;exports.BinaryHeap=p;exports.BitSet=w;exports.GrowableFloat32Array=A;exports.GrowableFloat64Array=I;exports.GrowableInt16Array=S;exports.GrowableInt32Array=y;exports.GrowableInt8Array=b;exports.GrowableTypedArray=_;exports.GrowableUint16Array=T;exports.GrowableUint32Array=E;exports.GrowableUint8Array=R;exports.topologicalSort=F;
|
|
@@ -1,31 +1,27 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* Assertions
|
|
2
|
+
* Assertions. Dev-only runtime validation and branded casting.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* validateAndCast is the primary tool for creating branded
|
|
6
|
-
* it validates the input in dev and returns the value as the branded type.
|
|
7
|
-
* unsafeCast bypasses
|
|
4
|
+
* Every check but `assertNever` is guarded by DEV and tree-shaken in a
|
|
5
|
+
* production build. `validateAndCast` is the primary tool for creating branded
|
|
6
|
+
* ids: it validates the input in dev and returns the value as the branded type.
|
|
7
|
+
* `unsafeCast` bypasses every check, for a caller that guarantees validity.
|
|
8
8
|
*
|
|
9
9
|
***/
|
|
10
10
|
export declare const isNonNegativeInteger: (v: number) => boolean;
|
|
11
|
-
export declare const
|
|
12
|
-
/**
|
|
13
|
-
* Dev-only assertion that value is not null/undefined.
|
|
14
|
-
*
|
|
15
|
-
*/
|
|
11
|
+
export declare const isNotNull: (v: unknown) => boolean;
|
|
16
12
|
export declare function assertNonNull<T>(value: T): asserts value is NonNullable<T>;
|
|
17
13
|
export declare function assert<T, Result extends T = T>(value: T, condition: (v: T) => v is Result, errMessage: string): asserts value is Result;
|
|
18
14
|
export declare function validateAndCast<T, Result extends T = T>(value: T, validator: (v: T) => boolean, errMessage: string): Result;
|
|
19
15
|
export declare function unsafeCast<T>(value: unknown): T;
|
|
20
16
|
/**
|
|
21
17
|
* Exhaustiveness backstop for tagged-union dispatches. Put it in the
|
|
22
|
-
* `default` arm (or after the final `case`) of a switch over a closed union
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
18
|
+
* `default` arm (or after the final `case`) of a switch over a closed union.
|
|
19
|
+
* The `never` parameter makes "a union gained a variant but this dispatch
|
|
20
|
+
* did not" a compile error at the call site. The throw catches runtime values
|
|
21
|
+
* that bypassed the type layer, such as deserialized and foreign data.
|
|
26
22
|
*
|
|
27
|
-
* Deliberately
|
|
28
|
-
* can't-happen branch, so it costs nothing until the day it fires
|
|
23
|
+
* Deliberately not `DEV`-gated, unlike the rest of this file: it marks a
|
|
24
|
+
* can't-happen branch, so it costs nothing until the day it fires, and that
|
|
29
25
|
* day it must fire in production too, not silently fall through.
|
|
30
26
|
*/
|
|
31
27
|
export declare function assertNever(value: never, label: string): never;
|
|
@@ -1,31 +1,27 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* Assertions
|
|
2
|
+
* Assertions. Dev-only runtime validation and branded casting.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* validateAndCast is the primary tool for creating branded
|
|
6
|
-
* it validates the input in dev and returns the value as the branded type.
|
|
7
|
-
* unsafeCast bypasses
|
|
4
|
+
* Every check but `assertNever` is guarded by DEV and tree-shaken in a
|
|
5
|
+
* production build. `validateAndCast` is the primary tool for creating branded
|
|
6
|
+
* ids: it validates the input in dev and returns the value as the branded type.
|
|
7
|
+
* `unsafeCast` bypasses every check, for a caller that guarantees validity.
|
|
8
8
|
*
|
|
9
9
|
***/
|
|
10
10
|
export declare const isNonNegativeInteger: (v: number) => boolean;
|
|
11
|
-
export declare const
|
|
12
|
-
/**
|
|
13
|
-
* Dev-only assertion that value is not null/undefined.
|
|
14
|
-
*
|
|
15
|
-
*/
|
|
11
|
+
export declare const isNotNull: (v: unknown) => boolean;
|
|
16
12
|
export declare function assertNonNull<T>(value: T): asserts value is NonNullable<T>;
|
|
17
13
|
export declare function assert<T, Result extends T = T>(value: T, condition: (v: T) => v is Result, errMessage: string): asserts value is Result;
|
|
18
14
|
export declare function validateAndCast<T, Result extends T = T>(value: T, validator: (v: T) => boolean, errMessage: string): Result;
|
|
19
15
|
export declare function unsafeCast<T>(value: unknown): T;
|
|
20
16
|
/**
|
|
21
17
|
* Exhaustiveness backstop for tagged-union dispatches. Put it in the
|
|
22
|
-
* `default` arm (or after the final `case`) of a switch over a closed union
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
18
|
+
* `default` arm (or after the final `case`) of a switch over a closed union.
|
|
19
|
+
* The `never` parameter makes "a union gained a variant but this dispatch
|
|
20
|
+
* did not" a compile error at the call site. The throw catches runtime values
|
|
21
|
+
* that bypassed the type layer, such as deserialized and foreign data.
|
|
26
22
|
*
|
|
27
|
-
* Deliberately
|
|
28
|
-
* can't-happen branch, so it costs nothing until the day it fires
|
|
23
|
+
* Deliberately not `DEV`-gated, unlike the rest of this file: it marks a
|
|
24
|
+
* can't-happen branch, so it costs nothing until the day it fires, and that
|
|
29
25
|
* day it must fire in production too, not silently fall through.
|
|
30
26
|
*/
|
|
31
27
|
export declare function assertNever(value: never, label: string): never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../../src/type_primitives/assertions.ts"],"names":[],"mappings":"AAAA;;;;;;;;KAQK;AAKL,eAAO,MAAM,oBAAoB,MAAO,MAAM,KAAG,OAAwC,CAAC;AAE1F,eAAO,MAAM,SAAS,MAAO,OAAO,KAAG,OAAqB,CAAC;AAE7D
|
|
1
|
+
{"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../../src/type_primitives/assertions.ts"],"names":[],"mappings":"AAAA;;;;;;;;KAQK;AAKL,eAAO,MAAM,oBAAoB,MAAO,MAAM,KAAG,OAAwC,CAAC;AAE1F,eAAO,MAAM,SAAS,MAAO,OAAO,KAAG,OAAqB,CAAC;AAE7D,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAQ1E;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,EAC7C,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,EAChC,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,IAAI,MAAM,CAOzB;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,EACtD,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,EAC5B,UAAU,EAAE,MAAM,GAChB,MAAM,CAQR;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAE/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAK9D"}
|
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* BinaryHeap
|
|
2
|
+
* BinaryHeap, generic array-backed binary heap with configurable ordering.
|
|
3
3
|
*
|
|
4
4
|
* Array layout uses implicit indexing: root at index 0, children of node `i`
|
|
5
5
|
* at `2i + 1` and `2i + 2`, parent of node `i` at `(i - 1) >> 1`.
|
|
6
6
|
*
|
|
7
7
|
* The comparator determines ordering: when `compare(a, b) < 0`, `a` has
|
|
8
8
|
* higher priority and floats toward the root. A standard `(a, b) => a - b`
|
|
9
|
-
* comparator yields a min-heap
|
|
9
|
+
* comparator yields a min-heap. `(a, b) => b - a` yields a max-heap.
|
|
10
10
|
*
|
|
11
11
|
* push and pop are O(log n). peek and clear are O(1).
|
|
12
12
|
*
|
|
13
13
|
***/
|
|
14
14
|
export type CompareFn<T> = (a: T, b: T) => number;
|
|
15
|
-
/**
|
|
16
|
-
* Generic array-backed binary heap with configurable comparator.
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
15
|
export declare class BinaryHeap<T> {
|
|
20
16
|
private readonly _compare;
|
|
21
17
|
private readonly _data;
|
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* BinaryHeap
|
|
2
|
+
* BinaryHeap, generic array-backed binary heap with configurable ordering.
|
|
3
3
|
*
|
|
4
4
|
* Array layout uses implicit indexing: root at index 0, children of node `i`
|
|
5
5
|
* at `2i + 1` and `2i + 2`, parent of node `i` at `(i - 1) >> 1`.
|
|
6
6
|
*
|
|
7
7
|
* The comparator determines ordering: when `compare(a, b) < 0`, `a` has
|
|
8
8
|
* higher priority and floats toward the root. A standard `(a, b) => a - b`
|
|
9
|
-
* comparator yields a min-heap
|
|
9
|
+
* comparator yields a min-heap. `(a, b) => b - a` yields a max-heap.
|
|
10
10
|
*
|
|
11
11
|
* push and pop are O(log n). peek and clear are O(1).
|
|
12
12
|
*
|
|
13
13
|
***/
|
|
14
14
|
export type CompareFn<T> = (a: T, b: T) => number;
|
|
15
|
-
/**
|
|
16
|
-
* Generic array-backed binary heap with configurable comparator.
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
15
|
export declare class BinaryHeap<T> {
|
|
20
16
|
private readonly _compare;
|
|
21
17
|
private readonly _data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary_heap.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/binary_heap/binary_heap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;KAYK;AAEL,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"binary_heap.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/binary_heap/binary_heap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;KAYK;AAEL,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;AAElD,qBAAa,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;gBAErB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAIjC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,uFAAuF;IAChF,IAAI,IAAI,CAAC,GAAG,SAAS;IAI5B,uEAAuE;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAK3B,yFAAyF;IAClF,GAAG,IAAI,CAAC,GAAG,SAAS;IAc3B,kCAAkC;IAC3B,KAAK,IAAI,IAAI;IAIpB,oEAAoE;IACpE,OAAO,CAAC,OAAO;IAcf,yEAAyE;IACzE,OAAO,CAAC,SAAS;CAsBjB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* BitSet
|
|
2
|
+
* BitSet, number[]-backed bit set with auto-grow.
|
|
3
3
|
*
|
|
4
4
|
* Used as the archetype component signature. Each bit position corresponds
|
|
5
|
-
* to a ComponentID. Operations (has
|
|
5
|
+
* to a ComponentID. Operations (has, set and clear) are O(1), and mask
|
|
6
6
|
* comparisons (contains, equals, overlaps) are O(words) where
|
|
7
7
|
* words = ceil(maxComponentId / 32).
|
|
8
8
|
*
|
|
@@ -17,14 +17,10 @@
|
|
|
17
17
|
export declare const BITS_PER_WORD = 32;
|
|
18
18
|
export declare const BITS_PER_WORD_SHIFT = 5;
|
|
19
19
|
export declare const BITS_PER_WORD_MASK = 31;
|
|
20
|
-
export declare const
|
|
21
|
-
export declare const
|
|
22
|
-
/**
|
|
23
|
-
* number[]-backed bit set with auto-grow. Used as the archetype component signature.
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
20
|
+
export declare const FNV1A_OFFSET_BASIS = 2166136261;
|
|
21
|
+
export declare const FNV1A_PRIME = 16777619;
|
|
26
22
|
export declare class BitSet {
|
|
27
|
-
|
|
23
|
+
words: number[];
|
|
28
24
|
constructor(words?: number[]);
|
|
29
25
|
has(bit: number): boolean;
|
|
30
26
|
set(bit: number): void;
|
|
@@ -38,7 +34,7 @@ export declare class BitSet {
|
|
|
38
34
|
equals(other: BitSet): boolean;
|
|
39
35
|
copy(): BitSet;
|
|
40
36
|
/** Mutate `target` so it has the same set bits as `this`. Reuses
|
|
41
|
-
* `target.
|
|
37
|
+
* `target.words` storage when capacity allows (no allocation) and
|
|
42
38
|
* grows it only when `this` is wider. Designed for hot-path scratch
|
|
43
39
|
* BitSets where callers want `.copy()` semantics without the
|
|
44
40
|
* per-call allocation. Returns `target` for chaining. */
|
|
@@ -49,6 +45,6 @@ export declare class BitSet {
|
|
|
49
45
|
hash(): number;
|
|
50
46
|
/** Iterate all set bits via lowest-set-bit extraction. */
|
|
51
47
|
forEach(fn: (bit: number) => void): void;
|
|
52
|
-
private
|
|
48
|
+
private _grow;
|
|
53
49
|
}
|
|
54
50
|
//# sourceMappingURL=bitset.d.ts.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* BitSet
|
|
2
|
+
* BitSet, number[]-backed bit set with auto-grow.
|
|
3
3
|
*
|
|
4
4
|
* Used as the archetype component signature. Each bit position corresponds
|
|
5
|
-
* to a ComponentID. Operations (has
|
|
5
|
+
* to a ComponentID. Operations (has, set and clear) are O(1), and mask
|
|
6
6
|
* comparisons (contains, equals, overlaps) are O(words) where
|
|
7
7
|
* words = ceil(maxComponentId / 32).
|
|
8
8
|
*
|
|
@@ -17,14 +17,10 @@
|
|
|
17
17
|
export declare const BITS_PER_WORD = 32;
|
|
18
18
|
export declare const BITS_PER_WORD_SHIFT = 5;
|
|
19
19
|
export declare const BITS_PER_WORD_MASK = 31;
|
|
20
|
-
export declare const
|
|
21
|
-
export declare const
|
|
22
|
-
/**
|
|
23
|
-
* number[]-backed bit set with auto-grow. Used as the archetype component signature.
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
20
|
+
export declare const FNV1A_OFFSET_BASIS = 2166136261;
|
|
21
|
+
export declare const FNV1A_PRIME = 16777619;
|
|
26
22
|
export declare class BitSet {
|
|
27
|
-
|
|
23
|
+
words: number[];
|
|
28
24
|
constructor(words?: number[]);
|
|
29
25
|
has(bit: number): boolean;
|
|
30
26
|
set(bit: number): void;
|
|
@@ -38,7 +34,7 @@ export declare class BitSet {
|
|
|
38
34
|
equals(other: BitSet): boolean;
|
|
39
35
|
copy(): BitSet;
|
|
40
36
|
/** Mutate `target` so it has the same set bits as `this`. Reuses
|
|
41
|
-
* `target.
|
|
37
|
+
* `target.words` storage when capacity allows (no allocation) and
|
|
42
38
|
* grows it only when `this` is wider. Designed for hot-path scratch
|
|
43
39
|
* BitSets where callers want `.copy()` semantics without the
|
|
44
40
|
* per-call allocation. Returns `target` for chaining. */
|
|
@@ -49,6 +45,6 @@ export declare class BitSet {
|
|
|
49
45
|
hash(): number;
|
|
50
46
|
/** Iterate all set bits via lowest-set-bit extraction. */
|
|
51
47
|
forEach(fn: (bit: number) => void): void;
|
|
52
|
-
private
|
|
48
|
+
private _grow;
|
|
53
49
|
}
|
|
54
50
|
//# sourceMappingURL=bitset.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitset.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/bitset/bitset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;KAeK;AAGL,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAGrC,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"bitset.d.ts","sourceRoot":"","sources":["../../../src/type_primitives/bitset/bitset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;KAeK;AAGL,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAGrC,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,eAAO,MAAM,WAAW,WAAa,CAAC;AAItC,qBAAa,MAAM;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;gBAEX,KAAK,CAAC,EAAE,MAAM,EAAE;IAIrB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAMzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMtB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM/B,6BAA6B;IACtB,OAAO,IAAI,OAAO;IAQzB,8EAA8E;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAUvC,+EAA+E;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAehC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAa9B,IAAI,IAAI,MAAM;IAIrB;;;;6DAIyD;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAoBhC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAUhC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IASzC,0GAA0G;IACnG,IAAI,IAAI,MAAM;IAarB,0DAA0D;IACnD,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAmB/C,OAAO,CAAC,KAAK;CAOb"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* Brand
|
|
2
|
+
* Brand. Nominal typing for TypeScript.
|
|
3
3
|
*
|
|
4
4
|
* Brand<T, Name> intersects T with a phantom readonly symbol property
|
|
5
|
-
* tagged with Name. The symbol never exists at runtime
|
|
5
|
+
* tagged with Name. The symbol never exists at runtime. It only prevents
|
|
6
6
|
* accidental assignment between structurally identical types.
|
|
7
7
|
*
|
|
8
8
|
* Example: EntityID and ComponentID are both numbers at runtime, but
|
|
@@ -11,11 +11,6 @@
|
|
|
11
11
|
*
|
|
12
12
|
***/
|
|
13
13
|
declare const brand: unique symbol;
|
|
14
|
-
/**
|
|
15
|
-
* Nominal typing helper — intersects T with a phantom readonly symbol
|
|
16
|
-
* so structurally identical types become compile-time incompatible.
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
14
|
export type Brand<T, BrandName extends string> = T & {
|
|
20
15
|
readonly [brand]: BrandName;
|
|
21
16
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/***
|
|
2
|
-
* Brand
|
|
2
|
+
* Brand. Nominal typing for TypeScript.
|
|
3
3
|
*
|
|
4
4
|
* Brand<T, Name> intersects T with a phantom readonly symbol property
|
|
5
|
-
* tagged with Name. The symbol never exists at runtime
|
|
5
|
+
* tagged with Name. The symbol never exists at runtime. It only prevents
|
|
6
6
|
* accidental assignment between structurally identical types.
|
|
7
7
|
*
|
|
8
8
|
* Example: EntityID and ComponentID are both numbers at runtime, but
|
|
@@ -11,11 +11,6 @@
|
|
|
11
11
|
*
|
|
12
12
|
***/
|
|
13
13
|
declare const brand: unique symbol;
|
|
14
|
-
/**
|
|
15
|
-
* Nominal typing helper — intersects T with a phantom readonly symbol
|
|
16
|
-
* so structurally identical types become compile-time incompatible.
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
14
|
export type Brand<T, BrandName extends string> = T & {
|
|
20
15
|
readonly [brand]: BrandName;
|
|
21
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/type_primitives/brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAEL,OAAO,CAAC,MAAM,KAAK,EAAE,OAAO,MAAM,CAAC;AAEnC
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/type_primitives/brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;KAWK;AAEL,OAAO,CAAC,MAAM,KAAK,EAAE,OAAO,MAAM,CAAC;AAEnC,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,SAAS,SAAS,MAAM,IAAI,CAAC,GAAG;IACpD,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B,CAAC"}
|