@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,125 @@
|
|
|
1
|
+
import { Store } from './store.cjs';
|
|
2
|
+
import { ChangeFeed } from './change_feed.cjs';
|
|
3
|
+
import { SystemContext } from './system_context.cjs';
|
|
4
|
+
import { ECS } from './ecs.cjs';
|
|
5
|
+
import { RouteDispatch } from './schedule.cjs';
|
|
6
|
+
import { SystemConfig, SystemDescriptor } from './system.cjs';
|
|
7
|
+
export type { ChangeFeed } from './change_feed.cjs';
|
|
8
|
+
/** How a plugin claims the body of a system, and builds what one dispatch of
|
|
9
|
+
* it reads.
|
|
10
|
+
*
|
|
11
|
+
* The world asks the planner about every system it registers. A planner that
|
|
12
|
+
* has nothing to say about one answers `undefined`, and the system keeps its
|
|
13
|
+
* `fn`. Cold: registration only. */
|
|
14
|
+
export interface SystemRoutePlanner {
|
|
15
|
+
/** Build what one routed dispatch reads, or `undefined` for a system this
|
|
16
|
+
* route does not claim. The world freezes the result onto the descriptor as
|
|
17
|
+
* `routePlan` and never looks inside it, so the plan's shape belongs to the
|
|
18
|
+
* plugin. The plugin validates its own config here, which is why a world
|
|
19
|
+
* without the plugin validates none. */
|
|
20
|
+
plan(config: SystemConfig): object | undefined;
|
|
21
|
+
}
|
|
22
|
+
/** What a route holds back from the world after it installs.
|
|
23
|
+
*
|
|
24
|
+
* One call, and the world holds one route. `null` puts every claimed system
|
|
25
|
+
* back on its own `fn`. Cold: an attach and a detach, never a frame. */
|
|
26
|
+
export interface RouteControl {
|
|
27
|
+
route(dispatch: RouteDispatch | null): void;
|
|
28
|
+
}
|
|
29
|
+
/** Where the world's bytes are, for a plugin that reads them directly.
|
|
30
|
+
*
|
|
31
|
+
* A worker, a compute backend and a wasm module all need the same three
|
|
32
|
+
* facts. The memory travels and not its current buffer, because the two grow
|
|
33
|
+
* differently and a reader survives both. */
|
|
34
|
+
export interface PluginMemory {
|
|
35
|
+
/** The bytes a foreign reader reaches: the `WebAssembly.Memory` on the
|
|
36
|
+
* wasm backing, the `SharedArrayBuffer` on the shared backing, `null` on
|
|
37
|
+
* any other. */
|
|
38
|
+
readonly backing: SharedArrayBuffer | WebAssembly.Memory | null;
|
|
39
|
+
/** What `memory.backing` resolved to. A refusal on a backing the reader
|
|
40
|
+
* cannot reach names it. */
|
|
41
|
+
readonly backingSource: string;
|
|
42
|
+
/** The byte offset of the store header inside the backing. */
|
|
43
|
+
readonly storeBase: number;
|
|
44
|
+
}
|
|
45
|
+
/** What one plugin may reach during `install`, and nothing wider.
|
|
46
|
+
*
|
|
47
|
+
* The world hands this record out once, at construction. A member that a bare
|
|
48
|
+
* store cannot answer is a method and not a field, so `storeOnlyHost` below
|
|
49
|
+
* can throw on the ones a store has no answer for. */
|
|
50
|
+
export interface PluginHost {
|
|
51
|
+
/** Where the subsystem seams live. A plugin builds its service from a
|
|
52
|
+
* host record the store hands out, and gives the service back through an
|
|
53
|
+
* install method. */
|
|
54
|
+
readonly store: Store;
|
|
55
|
+
/** The bare world, for a plugin that registers a system, reads a
|
|
56
|
+
* field, builds a cursor or reaches a resource. It carries no facade of
|
|
57
|
+
* any plugin, including the one installing. */
|
|
58
|
+
readonly world: ECS;
|
|
59
|
+
/** The store's change feed, typed to what a consumer of it may touch. */
|
|
60
|
+
readonly changes: ChangeFeed;
|
|
61
|
+
/** The one system context an observer callback receives, shared with the
|
|
62
|
+
* schedule so an observer sees the same access span a system does. */
|
|
63
|
+
readonly context: SystemContext;
|
|
64
|
+
/** Run `fn` at the tail of every `update()`, after every system of the
|
|
65
|
+
* frame. `run` is the change tick of the detection point, above every
|
|
66
|
+
* stamp the frame made. Hooks run in install order. */
|
|
67
|
+
onSettle(fn: (run: number) => void): void;
|
|
68
|
+
/** Contribute the access shapes `startup()` folds into the archetype
|
|
69
|
+
* closure, so a callback that spawns or transitions gets its target
|
|
70
|
+
* archetype planted rather than first-touched mid-tick. Read once, at
|
|
71
|
+
* startup. */
|
|
72
|
+
onPrewarm(fn: () => readonly SystemDescriptor[]): void;
|
|
73
|
+
/** Run `fn` when the world goes away. A plugin that holds a thread, a
|
|
74
|
+
* timer or a socket ends it here. Hooks run in install order. */
|
|
75
|
+
onDispose(fn: () => void): void;
|
|
76
|
+
/** Where the world's bytes are. A plugin that hands the bytes to a worker
|
|
77
|
+
* or to a wasm module reads the three facts here. */
|
|
78
|
+
readonly memory: PluginMemory;
|
|
79
|
+
/** Claim the body of the systems this plugin routes, and take back the one
|
|
80
|
+
* call that turns the route on and off. A world holds one route, so a
|
|
81
|
+
* second install is a fault. */
|
|
82
|
+
installRoute(planner: SystemRoutePlanner): RouteControl;
|
|
83
|
+
}
|
|
84
|
+
/** An optional subsystem, and the facade surface it contributes.
|
|
85
|
+
*
|
|
86
|
+
* `install` receives the host because that is where the seams live: a plugin
|
|
87
|
+
* builds its service from a host record the store hands out, gives the service
|
|
88
|
+
* back through an install method, and returns its facade.
|
|
89
|
+
*
|
|
90
|
+
* `out X` (declared covariance) is what lets a plugin list be typed
|
|
91
|
+
* `readonly Plugin<object>[]`: `X` appears only in `install`'s return, so
|
|
92
|
+
* covariance is the honest direction and a concrete plugin is usable where
|
|
93
|
+
* any plugin is expected. Left unannotated, the compiler measures `X` from
|
|
94
|
+
* the whole interface and the list bound rejects every real plugin. */
|
|
95
|
+
export interface Plugin<out X extends object> {
|
|
96
|
+
/** Names the plugin in a `PLUGIN_NOT_INSTALLED` fault. Matches the
|
|
97
|
+
* published subpath, so the message can name the import that fixes it. */
|
|
98
|
+
readonly name: string;
|
|
99
|
+
/** The plugins this one reads through, by name. `ECS.create` walks
|
|
100
|
+
* the plugin list in order, so a dependency has to come first in the list,
|
|
101
|
+
* and a missing one is a fault at construction. */
|
|
102
|
+
readonly requires?: readonly string[];
|
|
103
|
+
install(host: PluginHost): X;
|
|
104
|
+
}
|
|
105
|
+
/** The facade surface of one plugin, or `never` for a non-plugin. */
|
|
106
|
+
type SurfaceOf<E> = E extends Plugin<infer X> ? X : never;
|
|
107
|
+
/** Turn a union into an intersection. A plugin list is a tuple, so its element
|
|
108
|
+
* type is the union of the plugins in it, and a world carries all of them
|
|
109
|
+
* at once. The inference site is contravariant, which is what performs the
|
|
110
|
+
* conversion. */
|
|
111
|
+
type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
112
|
+
/** The combined facade surface of a plugin list. `ECS.create` intersects this
|
|
113
|
+
* with the world, so `ecs.relations` exists exactly when `relations()` is in
|
|
114
|
+
* the list. */
|
|
115
|
+
export type PluginsOf<P extends readonly unknown[]> = UnionToIntersection<SurfaceOf<P[number]>> & object;
|
|
116
|
+
/** A host for a bare `Store`, with no world around it.
|
|
117
|
+
*
|
|
118
|
+
* Every plugin that only needs store seams installs through this, which is
|
|
119
|
+
* what a test driving a raw store uses. `store` and `changes` are both the
|
|
120
|
+
* store, so the change feed works here. Every world-level member throws: a
|
|
121
|
+
* bare store has no world, no system context, no schedule tail and nowhere to
|
|
122
|
+
* keep an observer registry, so reaching for one is a mistake worth naming
|
|
123
|
+
* rather than a case to silently support. */
|
|
124
|
+
export declare function storeOnlyHost(store: Store): PluginHost;
|
|
125
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Store } from './store.js';
|
|
2
|
+
import { ChangeFeed } from './change_feed.js';
|
|
3
|
+
import { SystemContext } from './system_context.js';
|
|
4
|
+
import { ECS } from './ecs.js';
|
|
5
|
+
import { RouteDispatch } from './schedule.js';
|
|
6
|
+
import { SystemConfig, SystemDescriptor } from './system.js';
|
|
7
|
+
export type { ChangeFeed } from './change_feed.js';
|
|
8
|
+
/** How a plugin claims the body of a system, and builds what one dispatch of
|
|
9
|
+
* it reads.
|
|
10
|
+
*
|
|
11
|
+
* The world asks the planner about every system it registers. A planner that
|
|
12
|
+
* has nothing to say about one answers `undefined`, and the system keeps its
|
|
13
|
+
* `fn`. Cold: registration only. */
|
|
14
|
+
export interface SystemRoutePlanner {
|
|
15
|
+
/** Build what one routed dispatch reads, or `undefined` for a system this
|
|
16
|
+
* route does not claim. The world freezes the result onto the descriptor as
|
|
17
|
+
* `routePlan` and never looks inside it, so the plan's shape belongs to the
|
|
18
|
+
* plugin. The plugin validates its own config here, which is why a world
|
|
19
|
+
* without the plugin validates none. */
|
|
20
|
+
plan(config: SystemConfig): object | undefined;
|
|
21
|
+
}
|
|
22
|
+
/** What a route holds back from the world after it installs.
|
|
23
|
+
*
|
|
24
|
+
* One call, and the world holds one route. `null` puts every claimed system
|
|
25
|
+
* back on its own `fn`. Cold: an attach and a detach, never a frame. */
|
|
26
|
+
export interface RouteControl {
|
|
27
|
+
route(dispatch: RouteDispatch | null): void;
|
|
28
|
+
}
|
|
29
|
+
/** Where the world's bytes are, for a plugin that reads them directly.
|
|
30
|
+
*
|
|
31
|
+
* A worker, a compute backend and a wasm module all need the same three
|
|
32
|
+
* facts. The memory travels and not its current buffer, because the two grow
|
|
33
|
+
* differently and a reader survives both. */
|
|
34
|
+
export interface PluginMemory {
|
|
35
|
+
/** The bytes a foreign reader reaches: the `WebAssembly.Memory` on the
|
|
36
|
+
* wasm backing, the `SharedArrayBuffer` on the shared backing, `null` on
|
|
37
|
+
* any other. */
|
|
38
|
+
readonly backing: SharedArrayBuffer | WebAssembly.Memory | null;
|
|
39
|
+
/** What `memory.backing` resolved to. A refusal on a backing the reader
|
|
40
|
+
* cannot reach names it. */
|
|
41
|
+
readonly backingSource: string;
|
|
42
|
+
/** The byte offset of the store header inside the backing. */
|
|
43
|
+
readonly storeBase: number;
|
|
44
|
+
}
|
|
45
|
+
/** What one plugin may reach during `install`, and nothing wider.
|
|
46
|
+
*
|
|
47
|
+
* The world hands this record out once, at construction. A member that a bare
|
|
48
|
+
* store cannot answer is a method and not a field, so `storeOnlyHost` below
|
|
49
|
+
* can throw on the ones a store has no answer for. */
|
|
50
|
+
export interface PluginHost {
|
|
51
|
+
/** Where the subsystem seams live. A plugin builds its service from a
|
|
52
|
+
* host record the store hands out, and gives the service back through an
|
|
53
|
+
* install method. */
|
|
54
|
+
readonly store: Store;
|
|
55
|
+
/** The bare world, for a plugin that registers a system, reads a
|
|
56
|
+
* field, builds a cursor or reaches a resource. It carries no facade of
|
|
57
|
+
* any plugin, including the one installing. */
|
|
58
|
+
readonly world: ECS;
|
|
59
|
+
/** The store's change feed, typed to what a consumer of it may touch. */
|
|
60
|
+
readonly changes: ChangeFeed;
|
|
61
|
+
/** The one system context an observer callback receives, shared with the
|
|
62
|
+
* schedule so an observer sees the same access span a system does. */
|
|
63
|
+
readonly context: SystemContext;
|
|
64
|
+
/** Run `fn` at the tail of every `update()`, after every system of the
|
|
65
|
+
* frame. `run` is the change tick of the detection point, above every
|
|
66
|
+
* stamp the frame made. Hooks run in install order. */
|
|
67
|
+
onSettle(fn: (run: number) => void): void;
|
|
68
|
+
/** Contribute the access shapes `startup()` folds into the archetype
|
|
69
|
+
* closure, so a callback that spawns or transitions gets its target
|
|
70
|
+
* archetype planted rather than first-touched mid-tick. Read once, at
|
|
71
|
+
* startup. */
|
|
72
|
+
onPrewarm(fn: () => readonly SystemDescriptor[]): void;
|
|
73
|
+
/** Run `fn` when the world goes away. A plugin that holds a thread, a
|
|
74
|
+
* timer or a socket ends it here. Hooks run in install order. */
|
|
75
|
+
onDispose(fn: () => void): void;
|
|
76
|
+
/** Where the world's bytes are. A plugin that hands the bytes to a worker
|
|
77
|
+
* or to a wasm module reads the three facts here. */
|
|
78
|
+
readonly memory: PluginMemory;
|
|
79
|
+
/** Claim the body of the systems this plugin routes, and take back the one
|
|
80
|
+
* call that turns the route on and off. A world holds one route, so a
|
|
81
|
+
* second install is a fault. */
|
|
82
|
+
installRoute(planner: SystemRoutePlanner): RouteControl;
|
|
83
|
+
}
|
|
84
|
+
/** An optional subsystem, and the facade surface it contributes.
|
|
85
|
+
*
|
|
86
|
+
* `install` receives the host because that is where the seams live: a plugin
|
|
87
|
+
* builds its service from a host record the store hands out, gives the service
|
|
88
|
+
* back through an install method, and returns its facade.
|
|
89
|
+
*
|
|
90
|
+
* `out X` (declared covariance) is what lets a plugin list be typed
|
|
91
|
+
* `readonly Plugin<object>[]`: `X` appears only in `install`'s return, so
|
|
92
|
+
* covariance is the honest direction and a concrete plugin is usable where
|
|
93
|
+
* any plugin is expected. Left unannotated, the compiler measures `X` from
|
|
94
|
+
* the whole interface and the list bound rejects every real plugin. */
|
|
95
|
+
export interface Plugin<out X extends object> {
|
|
96
|
+
/** Names the plugin in a `PLUGIN_NOT_INSTALLED` fault. Matches the
|
|
97
|
+
* published subpath, so the message can name the import that fixes it. */
|
|
98
|
+
readonly name: string;
|
|
99
|
+
/** The plugins this one reads through, by name. `ECS.create` walks
|
|
100
|
+
* the plugin list in order, so a dependency has to come first in the list,
|
|
101
|
+
* and a missing one is a fault at construction. */
|
|
102
|
+
readonly requires?: readonly string[];
|
|
103
|
+
install(host: PluginHost): X;
|
|
104
|
+
}
|
|
105
|
+
/** The facade surface of one plugin, or `never` for a non-plugin. */
|
|
106
|
+
type SurfaceOf<E> = E extends Plugin<infer X> ? X : never;
|
|
107
|
+
/** Turn a union into an intersection. A plugin list is a tuple, so its element
|
|
108
|
+
* type is the union of the plugins in it, and a world carries all of them
|
|
109
|
+
* at once. The inference site is contravariant, which is what performs the
|
|
110
|
+
* conversion. */
|
|
111
|
+
type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
112
|
+
/** The combined facade surface of a plugin list. `ECS.create` intersects this
|
|
113
|
+
* with the world, so `ecs.relations` exists exactly when `relations()` is in
|
|
114
|
+
* the list. */
|
|
115
|
+
export type PluginsOf<P extends readonly unknown[]> = UnionToIntersection<SurfaceOf<P[number]>> & object;
|
|
116
|
+
/** A host for a bare `Store`, with no world around it.
|
|
117
|
+
*
|
|
118
|
+
* Every plugin that only needs store seams installs through this, which is
|
|
119
|
+
* what a test driving a raw store uses. `store` and `changes` are both the
|
|
120
|
+
* store, so the change feed works here. Every world-level member throws: a
|
|
121
|
+
* bare store has no world, no system context, no schedule tail and nowhere to
|
|
122
|
+
* keep an observer registry, so reaching for one is a mistake worth naming
|
|
123
|
+
* rather than a case to silently support. */
|
|
124
|
+
export declare function storeOnlyHost(store: Store): PluginHost;
|
|
125
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/***
|
|
2
|
+
* The plugin slots a bare world carries, and the guard that fills them.
|
|
3
|
+
*
|
|
4
|
+
* What this file owns: the value a world puts in the member of a plugin it
|
|
5
|
+
* never installed, and the dev refusal of a facade member that would overwrite
|
|
6
|
+
* something the world already has.
|
|
7
|
+
*
|
|
8
|
+
* What it refuses: the `PluginHost` and every type that names a world. The
|
|
9
|
+
* surface guard takes the world as a plain object, so this module stays out of
|
|
10
|
+
* the type cycle that `plugin.ts` and `ecs.ts` share.
|
|
11
|
+
*
|
|
12
|
+
* Cold path. The slots are built once per process, and the guard runs once per
|
|
13
|
+
* plugin under a `__DEV__` build.
|
|
14
|
+
***/
|
|
15
|
+
export declare const MISSING_RELATIONS: object;
|
|
16
|
+
export declare const MISSING_EVENTS: object;
|
|
17
|
+
export declare const MISSING_WORKERS: object;
|
|
18
|
+
/** The reserved `observe` slot. A function, because a caller calls it. */
|
|
19
|
+
export declare function missingObserve(): never;
|
|
20
|
+
/** Refuse a facade member that would overwrite something the world already
|
|
21
|
+
* carries. `Object.assign` is silent about it, and the loss is a method the
|
|
22
|
+
* world needs. The reserved slots are the exception: a bare world
|
|
23
|
+
* declares each one so it can name the missing plugin, and the
|
|
24
|
+
* plugin that fills the slot is meant to replace it. Dev-only. */
|
|
25
|
+
export declare function assertPluginSurface(world: object, plugin: string, surface: object): void;
|
|
26
|
+
//# sourceMappingURL=plugin_slots.d.ts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/***
|
|
2
|
+
* The plugin slots a bare world carries, and the guard that fills them.
|
|
3
|
+
*
|
|
4
|
+
* What this file owns: the value a world puts in the member of a plugin it
|
|
5
|
+
* never installed, and the dev refusal of a facade member that would overwrite
|
|
6
|
+
* something the world already has.
|
|
7
|
+
*
|
|
8
|
+
* What it refuses: the `PluginHost` and every type that names a world. The
|
|
9
|
+
* surface guard takes the world as a plain object, so this module stays out of
|
|
10
|
+
* the type cycle that `plugin.ts` and `ecs.ts` share.
|
|
11
|
+
*
|
|
12
|
+
* Cold path. The slots are built once per process, and the guard runs once per
|
|
13
|
+
* plugin under a `__DEV__` build.
|
|
14
|
+
***/
|
|
15
|
+
export declare const MISSING_RELATIONS: object;
|
|
16
|
+
export declare const MISSING_EVENTS: object;
|
|
17
|
+
export declare const MISSING_WORKERS: object;
|
|
18
|
+
/** The reserved `observe` slot. A function, because a caller calls it. */
|
|
19
|
+
export declare function missingObserve(): never;
|
|
20
|
+
/** Refuse a facade member that would overwrite something the world already
|
|
21
|
+
* carries. `Object.assign` is silent about it, and the loss is a method the
|
|
22
|
+
* world needs. The reserved slots are the exception: a bare world
|
|
23
|
+
* declares each one so it can name the missing plugin, and the
|
|
24
|
+
* plugin that fills the slot is meant to replace it. Dev-only. */
|
|
25
|
+
export declare function assertPluginSurface(world: object, plugin: string, surface: object): void;
|
|
26
|
+
//# sourceMappingURL=plugin_slots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin_slots.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/plugin_slots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;KAaK;AAmCL,eAAO,MAAM,iBAAiB,EAAE,MAAuC,CAAC;AACxE,eAAO,MAAM,cAAc,EAAE,MAAoC,CAAC;AAClE,eAAO,MAAM,eAAe,EAAE,MAAqC,CAAC;AAapE,0EAA0E;AAC1E,wBAAgB,cAAc,IAAI,KAAK,CAEtC;AAED;;;;kEAIkE;AAClE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAaxF"}
|