@oasys/oecs 0.5.4 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1223 -266
- package/README.md +217 -112
- package/dist/core/ecs/access_check.d.cts +29 -29
- package/dist/core/ecs/access_check.d.ts +29 -29
- package/dist/core/ecs/access_check.d.ts.map +1 -1
- package/dist/core/ecs/archetype.d.cts +217 -209
- package/dist/core/ecs/archetype.d.ts +217 -209
- package/dist/core/ecs/archetype.d.ts.map +1 -1
- package/dist/core/ecs/archetype_closure.d.cts +23 -0
- package/dist/core/ecs/archetype_closure.d.ts +23 -0
- package/dist/core/ecs/archetype_closure.d.ts.map +1 -0
- package/dist/core/ecs/archetype_graph.d.cts +33 -33
- package/dist/core/ecs/archetype_graph.d.ts +33 -33
- package/dist/core/ecs/archetype_graph.d.ts.map +1 -1
- package/dist/core/ecs/archetype_types.d.cts +55 -0
- package/dist/core/ecs/archetype_types.d.ts +55 -0
- package/dist/core/ecs/archetype_types.d.ts.map +1 -0
- package/dist/core/ecs/change_feed.d.cts +53 -0
- package/dist/core/ecs/change_feed.d.ts +53 -0
- package/dist/core/ecs/change_feed.d.ts.map +1 -0
- package/dist/core/ecs/changed_query.d.cts +36 -0
- package/dist/core/ecs/changed_query.d.ts +36 -0
- package/dist/core/ecs/changed_query.d.ts.map +1 -0
- package/dist/core/ecs/chunk_columns.d.cts +49 -0
- package/dist/core/ecs/chunk_columns.d.ts +49 -0
- package/dist/core/ecs/chunk_columns.d.ts.map +1 -0
- package/dist/core/ecs/command_log.d.cts +26 -26
- package/dist/core/ecs/command_log.d.ts +26 -26
- package/dist/core/ecs/command_log.d.ts.map +1 -1
- package/dist/core/ecs/component.d.cts +43 -42
- package/dist/core/ecs/component.d.ts +43 -42
- package/dist/core/ecs/component.d.ts.map +1 -1
- package/dist/core/ecs/component_registry.d.cts +53 -0
- package/dist/core/ecs/component_registry.d.ts +53 -0
- package/dist/core/ecs/component_registry.d.ts.map +1 -0
- package/dist/core/ecs/compute_backend.d.cts +18 -7
- package/dist/core/ecs/compute_backend.d.ts +18 -7
- package/dist/core/ecs/compute_backend.d.ts.map +1 -1
- package/dist/core/ecs/deferred_commands.d.cts +15 -14
- package/dist/core/ecs/deferred_commands.d.ts +15 -14
- package/dist/core/ecs/deferred_commands.d.ts.map +1 -1
- package/dist/core/ecs/dispatch_trace.d.cts +32 -31
- package/dist/core/ecs/dispatch_trace.d.ts +32 -31
- package/dist/core/ecs/dispatch_trace.d.ts.map +1 -1
- package/dist/core/ecs/ecs.d.cts +289 -270
- package/dist/core/ecs/ecs.d.ts +289 -270
- package/dist/core/ecs/ecs.d.ts.map +1 -1
- package/dist/core/ecs/ecs_memory.d.cts +134 -136
- package/dist/core/ecs/ecs_memory.d.ts +134 -136
- package/dist/core/ecs/ecs_memory.d.ts.map +1 -1
- package/dist/core/ecs/ecs_options.d.cts +89 -0
- package/dist/core/ecs/ecs_options.d.ts +89 -0
- package/dist/core/ecs/ecs_options.d.ts.map +1 -0
- package/dist/core/ecs/entity.d.cts +4 -4
- package/dist/core/ecs/entity.d.ts +4 -4
- package/dist/core/ecs/entity_allocator.d.cts +20 -18
- package/dist/core/ecs/entity_allocator.d.ts +20 -18
- package/dist/core/ecs/entity_allocator.d.ts.map +1 -1
- package/dist/core/ecs/event.d.cts +36 -22
- package/dist/core/ecs/event.d.ts +36 -22
- package/dist/core/ecs/event.d.ts.map +1 -1
- package/dist/core/ecs/facades.d.cts +12 -126
- package/dist/core/ecs/facades.d.ts +12 -126
- package/dist/core/ecs/facades.d.ts.map +1 -1
- package/dist/core/ecs/frame_stepper.d.cts +12 -12
- package/dist/core/ecs/frame_stepper.d.ts +12 -12
- package/dist/core/ecs/frame_stepper.d.ts.map +1 -1
- package/dist/core/ecs/frame_trace.d.cts +32 -32
- package/dist/core/ecs/frame_trace.d.ts +32 -32
- package/dist/core/ecs/frame_trace.d.ts.map +1 -1
- package/dist/core/ecs/host_commands.d.cts +103 -85
- package/dist/core/ecs/host_commands.d.ts +103 -85
- package/dist/core/ecs/host_commands.d.ts.map +1 -1
- package/dist/core/ecs/index.d.cts +21 -11
- package/dist/core/ecs/index.d.ts +21 -11
- package/dist/core/ecs/index.d.ts.map +1 -1
- package/dist/core/ecs/observer.d.cts +39 -120
- package/dist/core/ecs/observer.d.ts +39 -120
- package/dist/core/ecs/observer.d.ts.map +1 -1
- package/dist/core/ecs/phase.d.cts +79 -0
- package/dist/core/ecs/phase.d.ts +79 -0
- package/dist/core/ecs/phase.d.ts.map +1 -0
- package/dist/core/ecs/plugin.d.cts +125 -0
- package/dist/core/ecs/plugin.d.ts +125 -0
- package/dist/core/ecs/plugin.d.ts.map +1 -0
- package/dist/core/ecs/plugin_slots.d.cts +26 -0
- package/dist/core/ecs/plugin_slots.d.ts +26 -0
- package/dist/core/ecs/plugin_slots.d.ts.map +1 -0
- package/dist/core/ecs/query.d.cts +208 -578
- package/dist/core/ecs/query.d.ts +208 -578
- package/dist/core/ecs/query.d.ts.map +1 -1
- package/dist/core/ecs/query_cache.d.cts +130 -0
- package/dist/core/ecs/query_cache.d.ts +130 -0
- package/dist/core/ecs/query_cache.d.ts.map +1 -0
- package/dist/core/ecs/query_registry.d.cts +47 -0
- package/dist/core/ecs/query_registry.d.ts +47 -0
- package/dist/core/ecs/query_registry.d.ts.map +1 -0
- package/dist/core/ecs/query_terms.d.cts +126 -0
- package/dist/core/ecs/query_terms.d.ts +126 -0
- package/dist/core/ecs/query_terms.d.ts.map +1 -0
- package/dist/core/ecs/ref.d.cts +100 -39
- package/dist/core/ecs/ref.d.ts +100 -39
- package/dist/core/ecs/ref.d.ts.map +1 -1
- package/dist/core/ecs/relation.d.cts +101 -182
- package/dist/core/ecs/relation.d.ts +101 -182
- package/dist/core/ecs/relation.d.ts.map +1 -1
- package/dist/core/ecs/resource.d.cts +13 -13
- package/dist/core/ecs/resource.d.ts +13 -13
- package/dist/core/ecs/resource_registry.d.cts +5 -5
- package/dist/core/ecs/resource_registry.d.ts +5 -5
- package/dist/core/ecs/resource_registry.d.ts.map +1 -1
- package/dist/core/ecs/row_kinds.d.cts +24 -0
- package/dist/core/ecs/row_kinds.d.ts +24 -0
- package/dist/core/ecs/row_kinds.d.ts.map +1 -0
- package/dist/core/ecs/run_condition.d.cts +23 -23
- package/dist/core/ecs/run_condition.d.ts +23 -23
- package/dist/core/ecs/run_condition.d.ts.map +1 -1
- package/dist/core/ecs/schedule.d.cts +91 -120
- package/dist/core/ecs/schedule.d.ts +91 -120
- package/dist/core/ecs/schedule.d.ts.map +1 -1
- package/dist/core/ecs/schedule_plan.d.cts +33 -0
- package/dist/core/ecs/schedule_plan.d.ts +33 -0
- package/dist/core/ecs/schedule_plan.d.ts.map +1 -0
- package/dist/core/ecs/snapshot.d.cts +77 -0
- package/dist/core/ecs/snapshot.d.ts +77 -0
- package/dist/core/ecs/snapshot.d.ts.map +1 -0
- package/dist/core/ecs/snapshot_mount.d.cts +42 -0
- package/dist/core/ecs/snapshot_mount.d.ts +42 -0
- package/dist/core/ecs/snapshot_mount.d.ts.map +1 -0
- package/dist/core/ecs/sparse_store.d.cts +108 -51
- package/dist/core/ecs/sparse_store.d.ts +108 -51
- package/dist/core/ecs/sparse_store.d.ts.map +1 -1
- package/dist/core/ecs/store.d.cts +527 -473
- package/dist/core/ecs/store.d.ts +527 -473
- package/dist/core/ecs/store.d.ts.map +1 -1
- package/dist/core/ecs/store_layout_listener.d.cts +6 -6
- package/dist/core/ecs/store_layout_listener.d.ts +6 -6
- package/dist/core/ecs/store_types.d.cts +122 -0
- package/dist/core/ecs/store_types.d.ts +122 -0
- package/dist/core/ecs/store_types.d.ts.map +1 -0
- package/dist/core/ecs/system.d.cts +146 -61
- package/dist/core/ecs/system.d.ts +146 -61
- package/dist/core/ecs/system.d.ts.map +1 -1
- package/dist/core/ecs/system_context.d.cts +296 -0
- package/dist/core/ecs/system_context.d.ts +296 -0
- package/dist/core/ecs/system_context.d.ts.map +1 -0
- package/dist/core/ecs/system_set.d.cts +48 -0
- package/dist/core/ecs/system_set.d.ts +48 -0
- package/dist/core/ecs/system_set.d.ts.map +1 -0
- package/dist/core/ecs/utils/arrays.d.cts +15 -1
- package/dist/core/ecs/utils/arrays.d.ts +15 -1
- package/dist/core/ecs/utils/arrays.d.ts.map +1 -1
- package/dist/core/ecs/utils/error.d.cts +82 -6
- package/dist/core/ecs/utils/error.d.ts +82 -6
- package/dist/core/ecs/utils/error.d.ts.map +1 -1
- package/dist/core/ecs/utils/plugin_error.d.cts +10 -0
- package/dist/core/ecs/utils/plugin_error.d.ts +10 -0
- package/dist/core/ecs/utils/plugin_error.d.ts.map +1 -0
- package/dist/core/restore_errors.d.cts +30 -0
- package/dist/core/restore_errors.d.ts +30 -0
- package/dist/core/restore_errors.d.ts.map +1 -0
- package/dist/core/store/action_ring.d.cts +44 -44
- package/dist/core/store/action_ring.d.ts +44 -44
- package/dist/core/store/action_ring.d.ts.map +1 -1
- package/dist/core/store/allocator.d.cts +149 -95
- package/dist/core/store/allocator.d.ts +149 -95
- package/dist/core/store/allocator.d.ts.map +1 -1
- package/dist/core/store/buffer_backed_column.d.cts +17 -17
- package/dist/core/store/buffer_backed_column.d.ts +17 -17
- package/dist/core/store/buffer_backed_column.d.ts.map +1 -1
- package/dist/core/store/column_store.d.cts +124 -86
- package/dist/core/store/column_store.d.ts +124 -86
- package/dist/core/store/column_store.d.ts.map +1 -1
- package/dist/core/store/command_dispatch.d.cts +14 -15
- package/dist/core/store/command_dispatch.d.ts +14 -15
- package/dist/core/store/command_dispatch.d.ts.map +1 -1
- package/dist/core/store/command_ring.d.cts +36 -39
- package/dist/core/store/command_ring.d.ts +36 -39
- package/dist/core/store/command_ring.d.ts.map +1 -1
- package/dist/core/store/descriptor.d.cts +34 -17
- package/dist/core/store/descriptor.d.ts +34 -17
- package/dist/core/store/descriptor.d.ts.map +1 -1
- package/dist/core/store/entity_index.d.cts +34 -35
- package/dist/core/store/entity_index.d.ts +34 -35
- package/dist/core/store/entity_index.d.ts.map +1 -1
- package/dist/core/store/event_ring.d.cts +36 -38
- package/dist/core/store/event_ring.d.ts +36 -38
- package/dist/core/store/event_ring.d.ts.map +1 -1
- package/dist/core/store/extend.d.cts +13 -7
- package/dist/core/store/extend.d.ts +13 -7
- package/dist/core/store/extend.d.ts.map +1 -1
- package/dist/core/store/grow.d.cts +2 -2
- package/dist/core/store/grow.d.ts +2 -2
- package/dist/core/store/grow.d.ts.map +1 -1
- package/dist/core/store/header.d.cts +31 -27
- package/dist/core/store/header.d.ts +31 -27
- package/dist/core/store/header.d.ts.map +1 -1
- package/dist/core/store/index.d.cts +10 -10
- package/dist/core/store/index.d.ts +10 -10
- package/dist/core/store/index.d.ts.map +1 -1
- package/dist/core/store/layout_ops.d.cts +71 -62
- package/dist/core/store/layout_ops.d.ts +71 -62
- package/dist/core/store/layout_ops.d.ts.map +1 -1
- package/dist/core/store/region_table.d.cts +28 -21
- package/dist/core/store/region_table.d.ts +28 -21
- package/dist/core/store/region_table.d.ts.map +1 -1
- package/dist/core/store/snapshot.d.cts +31 -16
- package/dist/core/store/snapshot.d.ts +31 -16
- package/dist/core/store/snapshot.d.ts.map +1 -1
- package/dist/core/store/state_hash.d.cts +12 -12
- package/dist/core/store/state_hash.d.ts +12 -12
- package/dist/core/store/state_hash.d.ts.map +1 -1
- package/dist/core/store/store_regions.d.cts +10 -10
- package/dist/core/store/store_regions.d.ts +10 -10
- package/dist/core/store/store_regions.d.ts.map +1 -1
- package/dist/core/store/vendored_abi/abi.d.cts +27 -2
- package/dist/core/store/vendored_abi/abi.d.ts +27 -2
- package/dist/core/store/vendored_abi/abi.d.ts.map +1 -1
- package/dist/host_commands-B2KMx8O2.cjs +1 -0
- package/dist/host_commands-ClVPvhSa.cjs +2 -0
- package/dist/host_commands-CwxVQS1z.js +1524 -0
- package/dist/host_commands-nJvTy88E.js +1667 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +15 -10
- package/dist/index.d.ts +15 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.development.cjs +1 -1
- package/dist/index.development.js +5804 -5203
- package/dist/index.js +5323 -4764
- package/dist/internal.cjs +2 -2
- package/dist/internal.d.cts +5 -2
- package/dist/internal.d.ts +5 -2
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.development.cjs +1 -1
- package/dist/internal.development.js +70 -20
- package/dist/internal.js +138 -83
- package/dist/plugins/abi-D3V-QUSf.cjs +1 -0
- package/dist/plugins/abi-NP8pNxpd.js +42 -0
- package/dist/plugins/arrays-Dr_1hCjL.js +28 -0
- package/dist/plugins/arrays-Dt-Joc4i.cjs +1 -0
- package/dist/plugins/assertions-gtDVfbnQ.js +6 -0
- package/dist/plugins/assertions-z5GQd_bB.cjs +1 -0
- package/dist/{extensions → plugins}/editor/editor.d.cts +54 -54
- package/dist/{extensions → plugins}/editor/editor.d.ts +54 -54
- package/dist/plugins/editor/editor.d.ts.map +1 -0
- package/dist/{extensions → plugins}/editor/field_handle.d.cts +12 -12
- package/dist/{extensions → plugins}/editor/field_handle.d.ts +12 -12
- package/dist/plugins/editor/field_handle.d.ts.map +1 -0
- package/dist/plugins/editor/index.d.cts +22 -0
- package/dist/plugins/editor/index.d.ts +22 -0
- package/dist/plugins/editor/index.d.ts.map +1 -0
- package/dist/plugins/editor.cjs +1 -0
- package/dist/plugins/editor.d.cts +1 -0
- package/dist/plugins/editor.d.ts +1 -0
- package/dist/plugins/editor.development.cjs +1 -0
- package/dist/{extensions/editor/index.development.js → plugins/editor.development.js} +81 -64
- package/dist/{extensions/editor/index.js → plugins/editor.js} +81 -64
- package/dist/plugins/events/event_channel.d.cts +13 -0
- package/dist/plugins/events/event_channel.d.ts +13 -0
- package/dist/plugins/events/event_channel.d.ts.map +1 -0
- package/dist/plugins/events/event_registry.d.cts +22 -0
- package/dist/plugins/events/event_registry.d.ts +22 -0
- package/dist/plugins/events/event_registry.d.ts.map +1 -0
- package/dist/plugins/events/facade.d.cts +26 -0
- package/dist/plugins/events/facade.d.ts +26 -0
- package/dist/plugins/events/facade.d.ts.map +1 -0
- package/dist/plugins/events/index.d.cts +10 -0
- package/dist/plugins/events/index.d.ts +10 -0
- package/dist/plugins/events/index.d.ts.map +1 -0
- package/dist/plugins/events.cjs +1 -0
- package/dist/plugins/events.d.cts +1 -0
- package/dist/plugins/events.d.ts +1 -0
- package/dist/plugins/events.development.cjs +1 -0
- package/dist/plugins/events.development.js +174 -0
- package/dist/plugins/events.js +159 -0
- package/dist/plugins/observers/index.d.cts +23 -0
- package/dist/plugins/observers/index.d.ts +23 -0
- package/dist/plugins/observers/index.d.ts.map +1 -0
- package/dist/plugins/observers/observer_registry.d.cts +101 -0
- package/dist/plugins/observers/observer_registry.d.ts +101 -0
- package/dist/plugins/observers/observer_registry.d.ts.map +1 -0
- package/dist/plugins/observers.cjs +1 -0
- package/dist/plugins/observers.d.cts +1 -0
- package/dist/plugins/observers.d.ts +1 -0
- package/dist/plugins/observers.development.cjs +1 -0
- package/dist/plugins/observers.development.js +431 -0
- package/dist/plugins/observers.js +403 -0
- package/dist/plugins/relation_store-BsoegrZh.js +313 -0
- package/dist/plugins/relation_store-DQKSnxsm.cjs +1 -0
- package/dist/plugins/relation_store-RBhpcE28.cjs +1 -0
- package/dist/plugins/relation_store-RqW5Snx6.js +328 -0
- package/dist/plugins/relations/builtin_relations.d.cts +48 -0
- package/dist/plugins/relations/builtin_relations.d.ts +48 -0
- package/dist/plugins/relations/builtin_relations.d.ts.map +1 -0
- package/dist/plugins/relations/facade.d.cts +73 -0
- package/dist/plugins/relations/facade.d.ts +73 -0
- package/dist/plugins/relations/facade.d.ts.map +1 -0
- package/dist/plugins/relations/index.d.cts +11 -0
- package/dist/plugins/relations/index.d.ts +11 -0
- package/dist/plugins/relations/index.d.ts.map +1 -0
- package/dist/{core/ecs → plugins/relations}/relation_service.d.cts +85 -97
- package/dist/{core/ecs → plugins/relations}/relation_service.d.ts +85 -97
- package/dist/plugins/relations/relation_service.d.ts.map +1 -0
- package/dist/plugins/relations/relation_store.d.cts +177 -0
- package/dist/plugins/relations/relation_store.d.ts +177 -0
- package/dist/plugins/relations/relation_store.d.ts.map +1 -0
- package/dist/plugins/relations.cjs +1 -0
- package/dist/plugins/relations.d.cts +1 -0
- package/dist/plugins/relations.d.ts +1 -0
- package/dist/plugins/relations.development.cjs +1 -0
- package/dist/plugins/relations.development.js +603 -0
- package/dist/plugins/relations.js +553 -0
- package/dist/plugins/snapshots/index.d.cts +33 -0
- package/dist/plugins/snapshots/index.d.ts +33 -0
- package/dist/plugins/snapshots/index.d.ts.map +1 -0
- package/dist/plugins/snapshots/resume.d.cts +57 -0
- package/dist/plugins/snapshots/resume.d.ts +57 -0
- package/dist/plugins/snapshots/resume.d.ts.map +1 -0
- package/dist/plugins/snapshots/snapshot_service.d.cts +59 -0
- package/dist/plugins/snapshots/snapshot_service.d.ts +59 -0
- package/dist/plugins/snapshots/snapshot_service.d.ts.map +1 -0
- package/dist/plugins/snapshots.cjs +1 -0
- package/dist/plugins/snapshots.d.cts +1 -0
- package/dist/plugins/snapshots.d.ts +1 -0
- package/dist/plugins/snapshots.development.cjs +1 -0
- package/dist/plugins/snapshots.development.js +737 -0
- package/dist/plugins/snapshots.js +737 -0
- package/dist/plugins/solid/index.d.cts +8 -0
- package/dist/plugins/solid/index.d.ts +8 -0
- package/dist/plugins/solid/index.d.ts.map +1 -0
- package/dist/plugins/solid/solid.d.cts +97 -0
- package/dist/plugins/solid/solid.d.ts +97 -0
- package/dist/plugins/solid/solid.d.ts.map +1 -0
- package/dist/plugins/solid.cjs +1 -0
- package/dist/plugins/solid.d.cts +1 -0
- package/dist/plugins/solid.d.ts +1 -0
- package/dist/plugins/solid.development.cjs +1 -0
- package/dist/plugins/solid.development.js +319 -0
- package/dist/plugins/solid.js +319 -0
- package/dist/plugins/workers/index.d.cts +75 -0
- package/dist/plugins/workers/index.d.ts +75 -0
- package/dist/plugins/workers/index.d.ts.map +1 -0
- package/dist/plugins/workers/node_threads.d.cts +25 -0
- package/dist/plugins/workers/node_threads.d.ts +25 -0
- package/dist/plugins/workers/node_threads.d.ts.map +1 -0
- package/dist/plugins/workers/plan.d.cts +61 -0
- package/dist/plugins/workers/plan.d.ts +61 -0
- package/dist/plugins/workers/plan.d.ts.map +1 -0
- package/dist/plugins/workers/pool.d.cts +144 -0
- package/dist/plugins/workers/pool.d.ts +144 -0
- package/dist/plugins/workers/pool.d.ts.map +1 -0
- package/dist/plugins/workers/protocol.d.cts +112 -0
- package/dist/plugins/workers/protocol.d.ts +112 -0
- package/dist/plugins/workers/protocol.d.ts.map +1 -0
- package/dist/plugins/workers/worker_bind.d.cts +64 -0
- package/dist/plugins/workers/worker_bind.d.ts +64 -0
- package/dist/plugins/workers/worker_bind.d.ts.map +1 -0
- package/dist/plugins/workers/worker_loop.d.cts +14 -0
- package/dist/plugins/workers/worker_loop.d.ts +14 -0
- package/dist/plugins/workers/worker_loop.d.ts.map +1 -0
- package/dist/plugins/workers.cjs +1 -0
- package/dist/plugins/workers.d.cts +1 -0
- package/dist/plugins/workers.d.ts +1 -0
- package/dist/plugins/workers.development.cjs +1 -0
- package/dist/plugins/workers.development.js +596 -0
- package/dist/plugins/workers.js +474 -0
- package/dist/primitives.cjs +1 -1
- package/dist/primitives.d.cts +4 -4
- package/dist/primitives.d.ts +4 -4
- package/dist/primitives.development.cjs +1 -1
- package/dist/primitives.development.js +66 -22
- package/dist/primitives.js +66 -22
- package/dist/shared-BKl12xF1.js +132 -0
- package/dist/shared-Dk-pACZT.cjs +1 -0
- package/dist/shared.cjs +1 -1
- package/dist/shared.d.cts +7 -7
- package/dist/shared.d.ts +7 -7
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.development.cjs +1 -1
- package/dist/shared.development.js +4 -3
- package/dist/shared.js +4 -3
- package/dist/topological_sort-Cc_yXqPT.js +346 -0
- package/dist/topological_sort-vp1imU6D.cjs +1 -0
- package/dist/type_primitives/assertions.d.cts +12 -16
- package/dist/type_primitives/assertions.d.ts +12 -16
- package/dist/type_primitives/assertions.d.ts.map +1 -1
- package/dist/type_primitives/binary_heap/binary_heap.d.cts +2 -6
- package/dist/type_primitives/binary_heap/binary_heap.d.ts +2 -6
- package/dist/type_primitives/binary_heap/binary_heap.d.ts.map +1 -1
- package/dist/type_primitives/bitset/bitset.d.cts +7 -11
- package/dist/type_primitives/bitset/bitset.d.ts +7 -11
- package/dist/type_primitives/bitset/bitset.d.ts.map +1 -1
- package/dist/type_primitives/brand.d.cts +2 -7
- package/dist/type_primitives/brand.d.ts +2 -7
- package/dist/type_primitives/brand.d.ts.map +1 -1
- package/dist/type_primitives/error.d.cts +1 -2
- package/dist/type_primitives/error.d.ts +1 -2
- package/dist/type_primitives/error.d.ts.map +1 -1
- package/dist/type_primitives/index.d.cts +1 -1
- package/dist/type_primitives/index.d.ts +1 -1
- package/dist/type_primitives/sparse_map/sparse_map.d.cts +3 -7
- package/dist/type_primitives/sparse_map/sparse_map.d.ts +3 -7
- package/dist/type_primitives/sparse_map/sparse_map.d.ts.map +1 -1
- package/dist/type_primitives/sparse_set/sparse_set.d.cts +2 -6
- package/dist/type_primitives/sparse_set/sparse_set.d.ts +2 -6
- package/dist/type_primitives/sparse_set/sparse_set.d.ts.map +1 -1
- package/dist/type_primitives/topological_sort/topological_sort.d.cts +1 -5
- package/dist/type_primitives/topological_sort/topological_sort.d.ts +1 -5
- package/dist/type_primitives/topological_sort/topological_sort.d.ts.map +1 -1
- package/dist/type_primitives/typed_arrays/typed_arrays.d.cts +16 -15
- package/dist/type_primitives/typed_arrays/typed_arrays.d.ts +16 -15
- package/dist/type_primitives/typed_arrays/typed_arrays.d.ts.map +1 -1
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/version.d.cts +3 -3
- package/dist/version.d.ts +3 -3
- package/dist/worker.cjs +1 -0
- package/dist/worker.d.cts +17 -0
- package/dist/worker.d.ts +17 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.development.cjs +1 -0
- package/dist/worker.development.js +253 -0
- package/dist/worker.js +253 -0
- package/package.json +363 -191
- package/dist/core/ecs/builtin_relations.d.cts +0 -43
- package/dist/core/ecs/builtin_relations.d.ts +0 -43
- package/dist/core/ecs/builtin_relations.d.ts.map +0 -1
- package/dist/core/ecs/event_registry.d.cts +0 -22
- package/dist/core/ecs/event_registry.d.ts +0 -22
- package/dist/core/ecs/event_registry.d.ts.map +0 -1
- package/dist/core/ecs/relation_service.d.ts.map +0 -1
- package/dist/core/ecs/resume.d.cts +0 -85
- package/dist/core/ecs/resume.d.ts +0 -85
- package/dist/core/ecs/resume.d.ts.map +0 -1
- package/dist/core/ecs/snapshot_service.d.cts +0 -94
- package/dist/core/ecs/snapshot_service.d.ts +0 -94
- package/dist/core/ecs/snapshot_service.d.ts.map +0 -1
- package/dist/extensions/editor/editor.d.ts.map +0 -1
- package/dist/extensions/editor/field_handle.d.ts.map +0 -1
- package/dist/extensions/editor/index.cjs +0 -1
- package/dist/extensions/editor/index.d.cts +0 -21
- package/dist/extensions/editor/index.d.ts +0 -21
- package/dist/extensions/editor/index.d.ts.map +0 -1
- package/dist/extensions/editor/index.development.cjs +0 -1
- package/dist/extensions/reactive/ecs_sync.d.cts +0 -214
- package/dist/extensions/reactive/ecs_sync.d.ts +0 -214
- package/dist/extensions/reactive/ecs_sync.d.ts.map +0 -1
- package/dist/extensions/reactive/index.cjs +0 -1
- package/dist/extensions/reactive/index.d.cts +0 -23
- package/dist/extensions/reactive/index.d.ts +0 -23
- package/dist/extensions/reactive/index.d.ts.map +0 -1
- package/dist/extensions/reactive/index.development.cjs +0 -1
- package/dist/extensions/reactive/index.development.js +0 -215
- package/dist/extensions/reactive/index.js +0 -215
- package/dist/extensions/solid/index.cjs +0 -1
- package/dist/extensions/solid/index.d.cts +0 -6
- package/dist/extensions/solid/index.d.ts +0 -6
- package/dist/extensions/solid/index.d.ts.map +0 -1
- package/dist/extensions/solid/index.development.cjs +0 -1
- package/dist/extensions/solid/index.development.js +0 -40
- package/dist/extensions/solid/index.js +0 -36
- package/dist/extensions/solid/kernel_solid.d.cts +0 -45
- package/dist/extensions/solid/kernel_solid.d.ts +0 -45
- package/dist/extensions/solid/kernel_solid.d.ts.map +0 -1
- package/dist/host_commands-BlR3oZ3x.js +0 -2406
- package/dist/host_commands-C2cpU3yC.cjs +0 -1
- package/dist/internal-BoxWl4dG.js +0 -2565
- package/dist/internal-CGBEwfeB.cjs +0 -2
- package/dist/interop-CT-REx0W.cjs +0 -1
- package/dist/interop-CcY6ASQc.js +0 -18
- package/dist/interop-DqxleBo7.js +0 -18
- package/dist/interop-T1HZ-Dpa.cjs +0 -1
- package/dist/kernel-Cz2Kxlwl.js +0 -240
- package/dist/kernel-DgyrLFjW.js +0 -227
- package/dist/kernel-sw7ScKWu.cjs +0 -1
- package/dist/kernel-yWV3XnAb.cjs +0 -1
- package/dist/reactive/array.d.cts +0 -24
- package/dist/reactive/array.d.ts +0 -24
- package/dist/reactive/array.d.ts.map +0 -1
- package/dist/reactive/index.cjs +0 -1
- package/dist/reactive/index.d.cts +0 -11
- package/dist/reactive/index.d.ts +0 -11
- package/dist/reactive/index.d.ts.map +0 -1
- package/dist/reactive/index.development.cjs +0 -1
- package/dist/reactive/index.development.js +0 -18
- package/dist/reactive/index.js +0 -18
- package/dist/reactive/interop.d.cts +0 -19
- package/dist/reactive/interop.d.ts +0 -19
- package/dist/reactive/interop.d.ts.map +0 -1
- package/dist/reactive/kernel.d.cts +0 -73
- package/dist/reactive/kernel.d.ts +0 -73
- package/dist/reactive/kernel.d.ts.map +0 -1
- package/dist/reactive/map.d.cts +0 -16
- package/dist/reactive/map.d.ts +0 -16
- package/dist/reactive/map.d.ts.map +0 -1
- package/dist/reactive/shallow.d.cts +0 -11
- package/dist/reactive/shallow.d.ts +0 -11
- package/dist/reactive/shallow.d.ts.map +0 -1
- package/dist/reactive/struct.d.cts +0 -10
- package/dist/reactive/struct.d.ts +0 -10
- package/dist/reactive/struct.d.ts.map +0 -1
- package/dist/shallow-Bs39EPh1.js +0 -150
- package/dist/shallow-C5YmTbtb.cjs +0 -1
- package/dist/shallow-CiFC70Dz.js +0 -159
- package/dist/shallow-DQ8aG51_.cjs +0 -1
- package/dist/shared-B4v0L1cw.js +0 -109
- package/dist/shared-DU78k0pU.cjs +0 -1
- package/dist/topological_sort-BDvEyb9W.cjs +0 -1
- package/dist/topological_sort-DK6EjpWa.js +0 -135
- package/dist/typed_arrays-D3NmwtCG.cjs +0 -1
- package/dist/typed_arrays-DIVwVy5_.js +0 -258
|
@@ -2,19 +2,19 @@ import { Brand } from '../../type_primitives/index.js';
|
|
|
2
2
|
import { StoreLayoutListener } from './store_layout_listener.js';
|
|
3
3
|
/**
|
|
4
4
|
* An opaque token identifying one of a backend's entry points (one
|
|
5
|
-
* "backend-system"). The engine **never interprets** it
|
|
5
|
+
* "backend-system"). The engine **never interprets** it, the backend mints it
|
|
6
6
|
* and is the only thing that maps it back to a concrete computation. Carried on
|
|
7
7
|
* `SystemConfig.backendHandle` and handed verbatim to `ComputeBackend.run`.
|
|
8
8
|
*
|
|
9
|
-
* Branded so a stray `number` can't be mistaken for a handle
|
|
9
|
+
* Branded so a stray `number` can't be mistaken for a handle. Consumers mint
|
|
10
10
|
* one by casting (the backend owns the id space, like flecs's `run` function
|
|
11
11
|
* pointer or a small index into the backend's entry table).
|
|
12
12
|
*/
|
|
13
13
|
export type BackendSystemHandle = Brand<number, "backend_system_handle">;
|
|
14
14
|
/**
|
|
15
15
|
* The engine-side contract a compute backend implements. Composes
|
|
16
|
-
* `StoreLayoutListener` (the already-clean SAB handshake
|
|
17
|
-
* once on attach to seed the layout and again after every SAB grow
|
|
16
|
+
* `StoreLayoutListener` (the already-clean SAB handshake, `setLayout` is called
|
|
17
|
+
* once on attach to seed the layout and again after every SAB grow and extend) with
|
|
18
18
|
* a single generic `run` entry point.
|
|
19
19
|
*
|
|
20
20
|
* A backend is attached opt-in via `ECS.attachBackend(backend)`, which also
|
|
@@ -25,13 +25,24 @@ export interface ComputeBackend extends StoreLayoutListener {
|
|
|
25
25
|
/**
|
|
26
26
|
* Execute the backend-system identified by `handle`. Called by the
|
|
27
27
|
* `Schedule` in place of the system's `fn` closure, inside the same
|
|
28
|
-
* `accessCheck` span
|
|
28
|
+
* `accessCheck` span, so the system's declared `writes` authorise whatever
|
|
29
29
|
* shared-memory columns the backend mutates, exactly as a TS body that calls
|
|
30
30
|
* out to the backend would be authorised today.
|
|
31
31
|
*
|
|
32
|
-
* `handle` is opaque to the engine
|
|
32
|
+
* `handle` is opaque to the engine. It is one the backend minted and the
|
|
33
33
|
* engine merely round-trips from `SystemConfig.backendHandle`.
|
|
34
|
+
*
|
|
35
|
+
* `deltaTime` is the seconds the phase runs with, the same value a TS body
|
|
36
|
+
* receives. A module body needs it, and it is not in the store bytes, so it
|
|
37
|
+
* travels as a call argument. `tick` is the world's frame tick, the count of
|
|
38
|
+
* `update()` calls so far, and it is not in the bytes either. A backend that
|
|
39
|
+
* stamps its own frame state reads it here rather than counting calls, which
|
|
40
|
+
* would drift on a frame that runs the phase more than once.
|
|
41
|
+
*
|
|
42
|
+
* The engine publishes the descriptor row counts before this call when a
|
|
43
|
+
* mutation left them stale, so a module that walks the descriptors sees the
|
|
44
|
+
* live row count of every archetype.
|
|
34
45
|
*/
|
|
35
|
-
run(handle: BackendSystemHandle): void;
|
|
46
|
+
run(handle: BackendSystemHandle, deltaTime: number, tick: number): void;
|
|
36
47
|
}
|
|
37
48
|
//# sourceMappingURL=compute_backend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute_backend.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/compute_backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEzE;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IAC1D
|
|
1
|
+
{"version":3,"file":"compute_backend.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/compute_backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEzE;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IAC1D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACxE"}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { ComponentDef } from './component.cjs';
|
|
2
2
|
import { EntityID } from './entity.cjs';
|
|
3
|
-
import { StructuralObserverEvents } from './
|
|
4
|
-
/** What the drain policy needs from `Store
|
|
3
|
+
import { StructuralObserverEvents } from './store_types.cjs';
|
|
4
|
+
/** What the drain policy needs from `Store`, closure-injected (the
|
|
5
5
|
* `RelationServiceHost` style) so nothing new goes public on `Store`. All
|
|
6
6
|
* calls are flush-granularity, never per-entity. */
|
|
7
7
|
export interface DeferredCommandHost {
|
|
8
8
|
/** Drain + apply the pending component additions. Each applier fully
|
|
9
|
-
* drains its buffer(s) and owns its dirty
|
|
9
|
+
* drains its buffer(s) and owns its dirty and 0-crossing bookkeeping. */
|
|
10
10
|
readonly applyAdds: () => void;
|
|
11
11
|
readonly applyRemoves: () => void;
|
|
12
12
|
readonly applyDestroys: () => void;
|
|
13
13
|
readonly applyToggles: () => void;
|
|
14
|
-
/** Hot-path gates
|
|
14
|
+
/** Hot-path gates, live counts of observed components.
|
|
15
15
|
* While both are 0 the flush takes the byte-for-byte fast path. */
|
|
16
16
|
readonly structuralObserverCount: () => number;
|
|
17
17
|
readonly toggleObserverCount: () => number;
|
|
18
|
-
/** The
|
|
19
|
-
*
|
|
20
|
-
|
|
18
|
+
/** The consumers of the structural event batches, in install order, empty
|
|
19
|
+
* until one arrives (a plugin installs after construction, so the list
|
|
20
|
+
* is re-read per flush). */
|
|
21
|
+
readonly structuralHooks: () => readonly ((ev: StructuralObserverEvents) => void)[];
|
|
21
22
|
}
|
|
22
23
|
export declare class DeferredCommandBuffer {
|
|
23
24
|
readonly destroyIds: EntityID[];
|
|
@@ -29,27 +30,27 @@ export declare class DeferredCommandBuffer {
|
|
|
29
30
|
readonly toggleIds: EntityID[];
|
|
30
31
|
readonly toggleDisable: boolean[];
|
|
31
32
|
/** Re-entrancy guard for the observed fixed-point loop. An observer
|
|
32
|
-
* callback must enqueue and let the loop settle it
|
|
33
|
-
* `ctx.flush()` becomes a no-op
|
|
33
|
+
* callback must enqueue and let the loop settle it, a nested
|
|
34
|
+
* `ctx.flush()` becomes a no-op. The outer loop drains whatever the
|
|
34
35
|
* callback queued. */
|
|
35
36
|
private _flushing;
|
|
36
|
-
private readonly
|
|
37
|
+
private readonly _host;
|
|
37
38
|
/** Shared effective-event scratch, reset per observed round and handed to
|
|
38
39
|
* the dispatch hook. Owned by `Store` (its appliers collect into it). */
|
|
39
|
-
private readonly
|
|
40
|
+
private readonly _observerEvents;
|
|
40
41
|
constructor(host: DeferredCommandHost, obsEvents: StructuralObserverEvents);
|
|
41
42
|
queueDestroy(id: EntityID): void;
|
|
42
43
|
queueAdd(id: EntityID, def: ComponentDef, values: Record<string, number>): void;
|
|
43
44
|
queueRemove(id: EntityID, def: ComponentDef): void;
|
|
44
45
|
queueToggle(id: EntityID, disable: boolean): void;
|
|
45
46
|
get destroyCount(): number;
|
|
46
|
-
get
|
|
47
|
+
get addRemoveCount(): number;
|
|
47
48
|
get toggleCount(): number;
|
|
48
49
|
/** Drain buffered destroys outside the structural flush. No-ops while the
|
|
49
|
-
* observed fixed point owns the flush
|
|
50
|
+
* observed fixed point owns the flush, the loop drains destroys itself,
|
|
50
51
|
* and a re-entrant call would collect into the shared event scratch
|
|
51
52
|
* mid-dispatch and corrupt it (mirrors the `flushStructural` guard). */
|
|
52
|
-
|
|
53
|
+
flushDestroys(): void;
|
|
53
54
|
flushStructural(): void;
|
|
54
55
|
}
|
|
55
56
|
//# sourceMappingURL=deferred_commands.d.ts.map
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { ComponentDef } from './component.js';
|
|
2
2
|
import { EntityID } from './entity.js';
|
|
3
|
-
import { StructuralObserverEvents } from './
|
|
4
|
-
/** What the drain policy needs from `Store
|
|
3
|
+
import { StructuralObserverEvents } from './store_types.js';
|
|
4
|
+
/** What the drain policy needs from `Store`, closure-injected (the
|
|
5
5
|
* `RelationServiceHost` style) so nothing new goes public on `Store`. All
|
|
6
6
|
* calls are flush-granularity, never per-entity. */
|
|
7
7
|
export interface DeferredCommandHost {
|
|
8
8
|
/** Drain + apply the pending component additions. Each applier fully
|
|
9
|
-
* drains its buffer(s) and owns its dirty
|
|
9
|
+
* drains its buffer(s) and owns its dirty and 0-crossing bookkeeping. */
|
|
10
10
|
readonly applyAdds: () => void;
|
|
11
11
|
readonly applyRemoves: () => void;
|
|
12
12
|
readonly applyDestroys: () => void;
|
|
13
13
|
readonly applyToggles: () => void;
|
|
14
|
-
/** Hot-path gates
|
|
14
|
+
/** Hot-path gates, live counts of observed components.
|
|
15
15
|
* While both are 0 the flush takes the byte-for-byte fast path. */
|
|
16
16
|
readonly structuralObserverCount: () => number;
|
|
17
17
|
readonly toggleObserverCount: () => number;
|
|
18
|
-
/** The
|
|
19
|
-
*
|
|
20
|
-
|
|
18
|
+
/** The consumers of the structural event batches, in install order, empty
|
|
19
|
+
* until one arrives (a plugin installs after construction, so the list
|
|
20
|
+
* is re-read per flush). */
|
|
21
|
+
readonly structuralHooks: () => readonly ((ev: StructuralObserverEvents) => void)[];
|
|
21
22
|
}
|
|
22
23
|
export declare class DeferredCommandBuffer {
|
|
23
24
|
readonly destroyIds: EntityID[];
|
|
@@ -29,27 +30,27 @@ export declare class DeferredCommandBuffer {
|
|
|
29
30
|
readonly toggleIds: EntityID[];
|
|
30
31
|
readonly toggleDisable: boolean[];
|
|
31
32
|
/** Re-entrancy guard for the observed fixed-point loop. An observer
|
|
32
|
-
* callback must enqueue and let the loop settle it
|
|
33
|
-
* `ctx.flush()` becomes a no-op
|
|
33
|
+
* callback must enqueue and let the loop settle it, a nested
|
|
34
|
+
* `ctx.flush()` becomes a no-op. The outer loop drains whatever the
|
|
34
35
|
* callback queued. */
|
|
35
36
|
private _flushing;
|
|
36
|
-
private readonly
|
|
37
|
+
private readonly _host;
|
|
37
38
|
/** Shared effective-event scratch, reset per observed round and handed to
|
|
38
39
|
* the dispatch hook. Owned by `Store` (its appliers collect into it). */
|
|
39
|
-
private readonly
|
|
40
|
+
private readonly _observerEvents;
|
|
40
41
|
constructor(host: DeferredCommandHost, obsEvents: StructuralObserverEvents);
|
|
41
42
|
queueDestroy(id: EntityID): void;
|
|
42
43
|
queueAdd(id: EntityID, def: ComponentDef, values: Record<string, number>): void;
|
|
43
44
|
queueRemove(id: EntityID, def: ComponentDef): void;
|
|
44
45
|
queueToggle(id: EntityID, disable: boolean): void;
|
|
45
46
|
get destroyCount(): number;
|
|
46
|
-
get
|
|
47
|
+
get addRemoveCount(): number;
|
|
47
48
|
get toggleCount(): number;
|
|
48
49
|
/** Drain buffered destroys outside the structural flush. No-ops while the
|
|
49
|
-
* observed fixed point owns the flush
|
|
50
|
+
* observed fixed point owns the flush, the loop drains destroys itself,
|
|
50
51
|
* and a re-entrant call would collect into the shared event scratch
|
|
51
52
|
* mid-dispatch and corrupt it (mirrors the `flushStructural` guard). */
|
|
52
|
-
|
|
53
|
+
flushDestroys(): void;
|
|
53
54
|
flushStructural(): void;
|
|
54
55
|
}
|
|
55
56
|
//# sourceMappingURL=deferred_commands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferred_commands.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/deferred_commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"deferred_commands.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/deferred_commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAS9D;;oDAEoD;AACpD,MAAM,WAAW,mBAAmB;IACnC;6EACyE;IACzE,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC;uEACmE;IACnE,QAAQ,CAAC,uBAAuB,EAAE,MAAM,MAAM,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,MAAM,CAAC;IAC3C;;gCAE4B;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,SAAS,CAAC,CAAC,EAAE,EAAE,wBAAwB,KAAK,IAAI,CAAC,EAAE,CAAC;CACpF;AAED,qBAAa,qBAAqB;IAMjC,SAAgB,UAAU,EAAE,QAAQ,EAAE,CAAM;IAC5C,SAAgB,MAAM,EAAE,QAAQ,EAAE,CAAM;IACxC,SAAgB,OAAO,EAAE,YAAY,EAAE,CAAM;IAC7C,SAAgB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IACzD,SAAgB,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3C,SAAgB,UAAU,EAAE,YAAY,EAAE,CAAM;IAIhD,SAAgB,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3C,SAAgB,aAAa,EAAE,OAAO,EAAE,CAAM;IAE9C;;;0BAGsB;IACtB,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C;6EACyE;IACzE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;gBAE/C,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,wBAAwB;IAKnE,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAIhC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAM/E,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI;IAKlD,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAKxD,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;;4EAGwE;IACjE,aAAa,IAAI,IAAI;IAKrB,eAAe,IAAI,IAAI;CA2F9B"}
|
|
@@ -1,47 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dev-mode dispatch tracer.
|
|
3
3
|
*
|
|
4
|
-
* Singleton buffer that captures `(callsite, channel, op, key)`
|
|
5
|
-
*
|
|
6
|
-
* Compile-time gated by `DEV`, so
|
|
7
|
-
* every record() call.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* Singleton buffer that captures `(callsite, channel, op, key)` for each ECS
|
|
5
|
+
* dispatch and each action dispatch, while the environment sets
|
|
6
|
+
* `VISUAL_INTEL_TRACE` to `1` or to `true`. Compile-time gated by `DEV`, so a
|
|
7
|
+
* production build dead-code-eliminates every `record()` call. The output is a
|
|
8
|
+
* deterministic JSON snapshot. An analysis tool outside this repository ingests
|
|
9
|
+
* it as a runtime channel of evidence, beside a static scan of the same code.
|
|
10
10
|
*
|
|
11
11
|
* Identity model. The engine has no access to source-level binding names
|
|
12
|
-
* (`ContactEvent`, `ConfigRes`) at runtime
|
|
12
|
+
* (`ContactEvent`, `ConfigRes`) at runtime, `eventKey("Contact")` returns
|
|
13
13
|
* `Symbol("Contact")` and the variable name is erased. The tracer records the
|
|
14
14
|
* runtime-available identifier:
|
|
15
15
|
*
|
|
16
|
-
* - ECS events
|
|
16
|
+
* - ECS events and resources → the Symbol description (`label`).
|
|
17
17
|
* - Actions → the numeric `def.id`.
|
|
18
18
|
*
|
|
19
|
-
* Resolution back to bindings happens in
|
|
20
|
-
* extracts `{ binding, label }` declarations for events
|
|
21
|
-
* `{ binding, id_expr }` for actions
|
|
19
|
+
* Resolution back to bindings happens in that outside tool, which already
|
|
20
|
+
* extracts `{ binding, label }` declarations for events and resources, and
|
|
21
|
+
* `{ binding, id_expr }` for actions. The matching there is unambiguous.
|
|
22
22
|
*
|
|
23
23
|
* Callsite resolution. `new Error().stack` inside `record()`, walk the
|
|
24
|
-
* frames, drop
|
|
25
|
-
*
|
|
24
|
+
* frames, drop every frame inside the engine itself (any path that matches
|
|
25
|
+
* `ENGINE_FRAME_MARKERS`), return the first repo-relative path. Stack-
|
|
26
26
|
* line strings are cached so repeat dispatches from the same site are
|
|
27
27
|
* O(1) after the first hit. The walk itself lives in the pure
|
|
28
28
|
* `resolveCallsiteFromStack()` helper so it can be driven by a synthetic
|
|
29
29
|
* stack in tests.
|
|
30
30
|
*
|
|
31
|
-
* Activation. `record()` is *unconditional
|
|
32
|
-
* `isActive()` env-var gate
|
|
33
|
-
* `
|
|
34
|
-
* `
|
|
35
|
-
*
|
|
31
|
+
* Activation. `record()` is *unconditional*. It records on every call. Each
|
|
32
|
+
* caller applies the `isActive()` env-var gate itself (`system_context.ts`,
|
|
33
|
+
* `facades.ts` and the events plugin facade, all
|
|
34
|
+
* `if (DEV && dispatchTrace.isActive())`), and `record()` does not. This keeps
|
|
35
|
+
* the gate in one place, the dispatch hot path, where `DEV === false`
|
|
36
|
+
* dead-code-eliminates the whole branch in prod.
|
|
36
37
|
*/
|
|
37
38
|
export type DispatchChannel = "ecs-events" | "actions" | "resources";
|
|
38
39
|
export type EcsEventOp = "emit" | "read";
|
|
39
40
|
export type ActionOp = "send_action" | "handle_action";
|
|
40
41
|
export type ResourceOp = "read" | "write" | "register" | "remove";
|
|
41
42
|
export interface DispatchTraceEntry {
|
|
42
|
-
/** Symbol description (events
|
|
43
|
+
/** Symbol description (events and resources) or numeric `def.id` (actions). */
|
|
43
44
|
readonly key: string | number;
|
|
44
|
-
/** Repo-relative
|
|
45
|
+
/** Repo-relative posix path of the calling file. */
|
|
45
46
|
readonly file: string;
|
|
46
47
|
readonly count: number;
|
|
47
48
|
}
|
|
@@ -55,16 +56,16 @@ export interface DispatchTraceSnapshot {
|
|
|
55
56
|
};
|
|
56
57
|
}
|
|
57
58
|
declare class DispatchTrace {
|
|
58
|
-
private
|
|
59
|
-
private
|
|
60
|
-
private
|
|
61
|
-
private
|
|
59
|
+
private _activeCache;
|
|
60
|
+
private _repoRootCache;
|
|
61
|
+
private _counts;
|
|
62
|
+
private _callsiteCache;
|
|
62
63
|
isActive(): boolean;
|
|
63
|
-
private
|
|
64
|
-
private
|
|
65
|
-
private
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
private _repoRoot;
|
|
65
|
+
private _resolveCallsite;
|
|
66
|
+
private _record;
|
|
67
|
+
recordEventEmit(label: string): void;
|
|
68
|
+
recordEventRead(label: string): void;
|
|
68
69
|
recordResourceRead(label: string): void;
|
|
69
70
|
recordResourceWrite(label: string): void;
|
|
70
71
|
recordResourceRegister(label: string): void;
|
|
@@ -77,9 +78,9 @@ declare class DispatchTrace {
|
|
|
77
78
|
declare function parseFrameFile(line: string): string | null;
|
|
78
79
|
/**
|
|
79
80
|
* Walk a stack string, drop frames inside the engine ECS package, and return
|
|
80
|
-
* the first non-engine frame as a repo-relative
|
|
81
|
+
* the first non-engine frame as a repo-relative posix path (or `null` if the
|
|
81
82
|
* stack has no attributable frame). Pure so tests can drive it with a
|
|
82
|
-
* synthetic stack
|
|
83
|
+
* synthetic stack. The optional `cache` memoises per-line results for the hot
|
|
83
84
|
* dispatch path. Mutates `cache` when supplied.
|
|
84
85
|
*/
|
|
85
86
|
declare function resolveCallsiteFromStack(stack: string | null, repoRoot: string, cache?: Map<string, string | null>): string | null;
|
|
@@ -1,47 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dev-mode dispatch tracer.
|
|
3
3
|
*
|
|
4
|
-
* Singleton buffer that captures `(callsite, channel, op, key)`
|
|
5
|
-
*
|
|
6
|
-
* Compile-time gated by `DEV`, so
|
|
7
|
-
* every record() call.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* Singleton buffer that captures `(callsite, channel, op, key)` for each ECS
|
|
5
|
+
* dispatch and each action dispatch, while the environment sets
|
|
6
|
+
* `VISUAL_INTEL_TRACE` to `1` or to `true`. Compile-time gated by `DEV`, so a
|
|
7
|
+
* production build dead-code-eliminates every `record()` call. The output is a
|
|
8
|
+
* deterministic JSON snapshot. An analysis tool outside this repository ingests
|
|
9
|
+
* it as a runtime channel of evidence, beside a static scan of the same code.
|
|
10
10
|
*
|
|
11
11
|
* Identity model. The engine has no access to source-level binding names
|
|
12
|
-
* (`ContactEvent`, `ConfigRes`) at runtime
|
|
12
|
+
* (`ContactEvent`, `ConfigRes`) at runtime, `eventKey("Contact")` returns
|
|
13
13
|
* `Symbol("Contact")` and the variable name is erased. The tracer records the
|
|
14
14
|
* runtime-available identifier:
|
|
15
15
|
*
|
|
16
|
-
* - ECS events
|
|
16
|
+
* - ECS events and resources → the Symbol description (`label`).
|
|
17
17
|
* - Actions → the numeric `def.id`.
|
|
18
18
|
*
|
|
19
|
-
* Resolution back to bindings happens in
|
|
20
|
-
* extracts `{ binding, label }` declarations for events
|
|
21
|
-
* `{ binding, id_expr }` for actions
|
|
19
|
+
* Resolution back to bindings happens in that outside tool, which already
|
|
20
|
+
* extracts `{ binding, label }` declarations for events and resources, and
|
|
21
|
+
* `{ binding, id_expr }` for actions. The matching there is unambiguous.
|
|
22
22
|
*
|
|
23
23
|
* Callsite resolution. `new Error().stack` inside `record()`, walk the
|
|
24
|
-
* frames, drop
|
|
25
|
-
*
|
|
24
|
+
* frames, drop every frame inside the engine itself (any path that matches
|
|
25
|
+
* `ENGINE_FRAME_MARKERS`), return the first repo-relative path. Stack-
|
|
26
26
|
* line strings are cached so repeat dispatches from the same site are
|
|
27
27
|
* O(1) after the first hit. The walk itself lives in the pure
|
|
28
28
|
* `resolveCallsiteFromStack()` helper so it can be driven by a synthetic
|
|
29
29
|
* stack in tests.
|
|
30
30
|
*
|
|
31
|
-
* Activation. `record()` is *unconditional
|
|
32
|
-
* `isActive()` env-var gate
|
|
33
|
-
* `
|
|
34
|
-
* `
|
|
35
|
-
*
|
|
31
|
+
* Activation. `record()` is *unconditional*. It records on every call. Each
|
|
32
|
+
* caller applies the `isActive()` env-var gate itself (`system_context.ts`,
|
|
33
|
+
* `facades.ts` and the events plugin facade, all
|
|
34
|
+
* `if (DEV && dispatchTrace.isActive())`), and `record()` does not. This keeps
|
|
35
|
+
* the gate in one place, the dispatch hot path, where `DEV === false`
|
|
36
|
+
* dead-code-eliminates the whole branch in prod.
|
|
36
37
|
*/
|
|
37
38
|
export type DispatchChannel = "ecs-events" | "actions" | "resources";
|
|
38
39
|
export type EcsEventOp = "emit" | "read";
|
|
39
40
|
export type ActionOp = "send_action" | "handle_action";
|
|
40
41
|
export type ResourceOp = "read" | "write" | "register" | "remove";
|
|
41
42
|
export interface DispatchTraceEntry {
|
|
42
|
-
/** Symbol description (events
|
|
43
|
+
/** Symbol description (events and resources) or numeric `def.id` (actions). */
|
|
43
44
|
readonly key: string | number;
|
|
44
|
-
/** Repo-relative
|
|
45
|
+
/** Repo-relative posix path of the calling file. */
|
|
45
46
|
readonly file: string;
|
|
46
47
|
readonly count: number;
|
|
47
48
|
}
|
|
@@ -55,16 +56,16 @@ export interface DispatchTraceSnapshot {
|
|
|
55
56
|
};
|
|
56
57
|
}
|
|
57
58
|
declare class DispatchTrace {
|
|
58
|
-
private
|
|
59
|
-
private
|
|
60
|
-
private
|
|
61
|
-
private
|
|
59
|
+
private _activeCache;
|
|
60
|
+
private _repoRootCache;
|
|
61
|
+
private _counts;
|
|
62
|
+
private _callsiteCache;
|
|
62
63
|
isActive(): boolean;
|
|
63
|
-
private
|
|
64
|
-
private
|
|
65
|
-
private
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
private _repoRoot;
|
|
65
|
+
private _resolveCallsite;
|
|
66
|
+
private _record;
|
|
67
|
+
recordEventEmit(label: string): void;
|
|
68
|
+
recordEventRead(label: string): void;
|
|
68
69
|
recordResourceRead(label: string): void;
|
|
69
70
|
recordResourceWrite(label: string): void;
|
|
70
71
|
recordResourceRegister(label: string): void;
|
|
@@ -77,9 +78,9 @@ declare class DispatchTrace {
|
|
|
77
78
|
declare function parseFrameFile(line: string): string | null;
|
|
78
79
|
/**
|
|
79
80
|
* Walk a stack string, drop frames inside the engine ECS package, and return
|
|
80
|
-
* the first non-engine frame as a repo-relative
|
|
81
|
+
* the first non-engine frame as a repo-relative posix path (or `null` if the
|
|
81
82
|
* stack has no attributable frame). Pure so tests can drive it with a
|
|
82
|
-
* synthetic stack
|
|
83
|
+
* synthetic stack. The optional `cache` memoises per-line results for the hot
|
|
83
84
|
* dispatch path. Mutates `cache` when supplied.
|
|
84
85
|
*/
|
|
85
86
|
declare function resolveCallsiteFromStack(stack: string | null, repoRoot: string, cache?: Map<string, string | null>): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch_trace.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/dispatch_trace.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dispatch_trace.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/dispatch_trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAOH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;AACrE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,kBAAkB;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE;QAClB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;KAC7D,CAAC;CACF;AAcD,cAAM,aAAa;IAClB,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,cAAc,CAAoC;IAE1D,QAAQ,IAAI,OAAO;IAWnB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,OAAO;IAOf,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGpC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGpC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGvC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGxC,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAG3C,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGzC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGrC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvC,QAAQ,IAAI,qBAAqB;IAmCjC,KAAK,IAAI,IAAI;CAMb;AAMD,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOnD;AAED;;;;;;GAMG;AACH,iBAAS,wBAAwB,CAChC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAChC,MAAM,GAAG,IAAI,CA0Bf;AAeD,eAAO,MAAM,aAAa,EAAE,aAAmC,CAAC;AAIhE,eAAO,MAAM,uBAAuB;;;;CAInC,CAAC"}
|