@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
|
@@ -4,40 +4,46 @@ export { REGION_TABLE_ENTRY_BYTES, REGION_TABLE_ENTRY_OFFSETS };
|
|
|
4
4
|
* distinct within its region set, that it also resolves on the read side),
|
|
5
5
|
* computes `bytes`, and seeds the region header + contents in `init`.
|
|
6
6
|
*
|
|
7
|
-
* `init` runs
|
|
7
|
+
* `init` runs once at first allocation. Across a SAB grow and extend the region's
|
|
8
8
|
* live bytes are snapshotted and restored verbatim (the table is
|
|
9
|
-
* self-describing), so `init` is not re-run
|
|
9
|
+
* self-describing), so `init` is not re-run, a consumer must not rely on it
|
|
10
10
|
* firing per realloc. */
|
|
11
11
|
export interface StoreRegionSpec {
|
|
12
|
-
/** Consumer-owned region id (nonzero, distinct). Written to the directory
|
|
13
|
-
* resolved by the consumer
|
|
12
|
+
/** Consumer-owned region id (nonzero, distinct). Written to the directory
|
|
13
|
+
* resolved by the consumer through `findRegionOffset`. */
|
|
14
14
|
readonly id: number;
|
|
15
|
-
/** Human label for diagnostics
|
|
15
|
+
/** Human label for diagnostics and the self-documenting directory dump. */
|
|
16
16
|
readonly name: string;
|
|
17
17
|
/** Byte size to allocate for this region (consumer computes from its knobs).
|
|
18
18
|
* Must be > 0. */
|
|
19
19
|
readonly bytes: number;
|
|
20
|
-
/** Initialise the region header
|
|
20
|
+
/** Initialise the region header and seed bytes at `off`, which indexes
|
|
21
|
+
* `view`. `view` starts at the store base, so a consumer that needs a
|
|
22
|
+
* TypedArray builds it at `view.byteOffset + off`. */
|
|
21
23
|
readonly init: (view: DataView, off: number) => void;
|
|
22
24
|
}
|
|
23
|
-
/** One decoded directory record.
|
|
25
|
+
/** One decoded directory record. `byteOffset` is measured from the store base,
|
|
26
|
+
* the same as every other offset in the bytes. */
|
|
24
27
|
export interface RegionTableEntry {
|
|
25
28
|
readonly regionId: number;
|
|
26
29
|
readonly byteOffset: number;
|
|
27
30
|
readonly byteLength: number;
|
|
28
31
|
}
|
|
29
|
-
/** A resolved handle to a consumer region, returned by `ECS.regionHandle`
|
|
30
|
-
* `Store.regionHandle`. Carries the live `buffer
|
|
32
|
+
/** A resolved handle to a consumer region, returned by `ECS.regionHandle` or
|
|
33
|
+
* `Store.regionHandle`. Carries the live `buffer` and `view` plus the region's byte
|
|
31
34
|
* `offset` and full `bytes`, so a consumer's region module can build a
|
|
32
35
|
* TypedArray view over exactly the region's span without re-reading the
|
|
33
|
-
* directory. Re-fetch after a SAB grow (the offset
|
|
36
|
+
* directory. Re-fetch after a SAB grow (the offset and view may have moved). */
|
|
34
37
|
export interface ColumnStoreRegionHandle {
|
|
35
|
-
/** `ArrayBufferLike
|
|
36
|
-
* feature (WASM
|
|
37
|
-
* regions are declared
|
|
38
|
+
/** `ArrayBufferLike`, see `ColumnStore.buffer`. Consumer regions are a SAB-profile
|
|
39
|
+
* feature (WASM or worker), so in practice this is a `SharedArrayBuffer` wherever
|
|
40
|
+
* regions are declared. The type is widened only because it flows from the
|
|
38
41
|
* backing-agnostic store. */
|
|
39
42
|
readonly buffer: ArrayBufferLike;
|
|
43
|
+
/** Starts at the store base, so `view.byteOffset` is that base. */
|
|
40
44
|
readonly view: DataView;
|
|
45
|
+
/** Buffer-absolute, so `new Uint8Array(buffer, offset, bytes)` reads the
|
|
46
|
+
* region. Read it through `view` at `offset - view.byteOffset`. */
|
|
41
47
|
readonly offset: number;
|
|
42
48
|
readonly bytes: number;
|
|
43
49
|
}
|
|
@@ -48,9 +54,9 @@ export declare class RegionRegistryError extends Error {
|
|
|
48
54
|
export declare function regionTableBytes(count: number): number;
|
|
49
55
|
/** Validate a consumer region set before layout: ids must be nonzero (0 is the
|
|
50
56
|
* "absent" sentinel `findRegionOffset` returns) and distinct, and each region
|
|
51
|
-
* must request a positive byte size. Throws `RegionRegistryError` otherwise
|
|
57
|
+
* must request a positive byte size. Throws `RegionRegistryError` otherwise,
|
|
52
58
|
* the same loud-failure stance the mechanism registry's paired-knob guards take. */
|
|
53
|
-
export declare function
|
|
59
|
+
export declare function assertRegionSpecs(regions: readonly StoreRegionSpec[]): void;
|
|
54
60
|
/** Write one directory record at absolute byte offset `off`. */
|
|
55
61
|
export declare function writeRegionTableEntry(view: DataView, off: number, e: RegionTableEntry): void;
|
|
56
62
|
/** Read one directory record at absolute byte offset `off`. */
|
|
@@ -59,16 +65,17 @@ export declare function readRegionTableEntry(view: DataView, off: number): Regio
|
|
|
59
65
|
export declare function writeRegionTable(view: DataView, tableOff: number, entries: readonly RegionTableEntry[]): void;
|
|
60
66
|
/** Read all `count` directory records starting at `tableOff`, in order. */
|
|
61
67
|
export declare function readRegionTable(view: DataView, tableOff: number, count: number): RegionTableEntry[];
|
|
62
|
-
/** Read the directory described by the SAB header (`region_table_off`
|
|
68
|
+
/** Read the directory described by the SAB header (`region_table_off` and
|
|
63
69
|
* `region_table_count`). Empty when no consumer regions were declared. */
|
|
64
70
|
export declare function readHeaderRegionTable(view: DataView): RegionTableEntry[];
|
|
65
|
-
/** Resolve a consumer region's byte offset by `region_id`, or 0
|
|
66
|
-
* (no directory, or no matching entry). The TS twin of
|
|
67
|
-
*
|
|
68
|
-
* sentinel because a real region never starts at
|
|
71
|
+
/** Resolve a consumer region's store-relative byte offset by `region_id`, or 0
|
|
72
|
+
* when absent (no directory, or no matching entry). The TS twin of the
|
|
73
|
+
* module-side lookup. 0 is an unambiguous "absent"
|
|
74
|
+
* sentinel because a real region never starts at relative offset 0, which the
|
|
75
|
+
* header occupies. */
|
|
69
76
|
export declare function findRegionOffset(view: DataView, regionId: number): number;
|
|
70
77
|
/** Resolve a consumer region's `(byte_offset, byte_length)` by `region_id`, or
|
|
71
78
|
* `null` when absent. Use when a reader needs the region's size (e.g. to
|
|
72
|
-
* materialise a TypedArray view) and not
|
|
79
|
+
* materialise a TypedArray view) and not only its start. */
|
|
73
80
|
export declare function findRegionEntry(view: DataView, regionId: number): RegionTableEntry | null;
|
|
74
81
|
//# sourceMappingURL=region_table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"region_table.d.ts","sourceRoot":"","sources":["../../../src/core/store/region_table.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"region_table.d.ts","sourceRoot":"","sources":["../../../src/core/store/region_table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACN,wBAAwB,EACxB,0BAA0B,EAE1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,CAAC;AAEhE;;;;;;;yBAOyB;AACzB,MAAM,WAAW,eAAe;IAC/B;8DAC0D;IAC1D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;sBACkB;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;0DAEsD;IACtD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED;kDACkD;AAClD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED;;;;gFAIgF;AAChF,MAAM,WAAW,uBAAuB;IACvC;;;iCAG6B;IAC7B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB;uEACmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI3B;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAiBD;;;oFAGoF;AACpF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI,CAqB3E;AAED,gEAAgE;AAChE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAI5F;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAMlF;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAIN;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAC9B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACX,gBAAgB,EAAE,CAMpB;AAED;0EAC0E;AAC1E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,gBAAgB,EAAE,CAKxE;AAED;;;;sBAIsB;AACtB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWzE;AAED;;4DAE4D;AAC5D,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CASzF"}
|
|
@@ -1,43 +1,58 @@
|
|
|
1
1
|
import { ColumnStore } from './column_store.cjs';
|
|
2
2
|
import { BufferAllocator } from './allocator.cjs';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { StoreRestoreError } from '../restore_errors.cjs';
|
|
4
|
+
export { StoreRestoreError };
|
|
5
|
+
/** Options for `restoreColumnStore`. */
|
|
6
|
+
export interface RestoreColumnStoreOptions {
|
|
7
|
+
/** Byte offset inside the fresh backing where the restored header goes.
|
|
8
|
+
* Default 0. A snapshot carries no base, so a store taken at one base
|
|
9
|
+
* restores at any other. */
|
|
10
|
+
readonly storeBase?: number;
|
|
5
11
|
}
|
|
6
12
|
/** Zero-copy `Uint8Array` view over the SAB's used byte range. Length is
|
|
7
|
-
* `header.capacity
|
|
13
|
+
* `header.capacity`, the canonical size, not `buffer.byteLength`. The two
|
|
8
14
|
* coincide for `DEFAULT_SAB_ALLOCATOR` (it allocates exactly `totalBytes`),
|
|
9
|
-
* but `wasmMemoryAllocator`
|
|
10
|
-
*
|
|
11
|
-
*
|
|
15
|
+
* but `wasmMemoryAllocator` rounds the buffer up to 64 KiB page boundaries,
|
|
16
|
+
* and `heapArrayBufferAllocator` and `fixedSabAllocator` reserve the whole cap,
|
|
17
|
+
* so `buffer.byteLength` can exceed `capacity` (see the allocator contract in
|
|
18
|
+
* `allocator.ts`).
|
|
12
19
|
* Hashing or round-tripping that slack would make two logically-identical
|
|
13
20
|
* stores with different grow trajectories (or different allocators) diverge,
|
|
14
21
|
* so we size to `capacity` here.
|
|
15
22
|
*
|
|
16
23
|
* Capacity is read live from `store.view` rather than the cached
|
|
17
|
-
* `store.header
|
|
24
|
+
* `store.header`, the in-place grow path bumps the header fields in the
|
|
18
25
|
* view but leaves `store.header` a stale snapshot (see `grow.ts`).
|
|
19
26
|
*
|
|
20
|
-
* The
|
|
27
|
+
* The span starts at `store.storeBase`, so the bytes are base free: two stores
|
|
28
|
+
* with the same history at different bases give the same snapshot and the same
|
|
29
|
+
* digest.
|
|
30
|
+
*
|
|
31
|
+
* The view shares storage with the backing. Subsequent writes to columns are
|
|
21
32
|
* visible through it. Callers that need a stable snapshot should slice
|
|
22
33
|
* (`new Uint8Array(view)`) before mutating the store further. */
|
|
23
|
-
export declare function
|
|
34
|
+
export declare function columnStoreBytesView(store: ColumnStore): Uint8Array;
|
|
24
35
|
/** Allocate a fresh backing buffer of `bytes.byteLength`, copy the snapshot
|
|
25
36
|
* bytes in, validate the header, and reconstruct the `ColumnStore` (header cache +
|
|
26
37
|
* DataView + per-archetype `ArchetypeViews`).
|
|
27
38
|
*
|
|
28
39
|
* `allocator` selects the backing: the default `DEFAULT_SAB_ALLOCATOR`
|
|
29
|
-
* (`SharedArrayBuffer`) keeps existing callers' behaviour
|
|
30
|
-
* `
|
|
31
|
-
* world (no SAB required). Either way only one allocation happens
|
|
32
|
-
* never grows
|
|
40
|
+
* (`SharedArrayBuffer`) keeps existing callers' behaviour. Pass
|
|
41
|
+
* `heapArrayBufferAllocator()` to round-trip a snapshot into a pure-TS heap
|
|
42
|
+
* world (no SAB required). Either way only one allocation happens, restore
|
|
43
|
+
* never grows, so a non-in-place allocator is fine here.
|
|
33
44
|
*
|
|
34
|
-
* The input can be any `Uint8Array
|
|
35
|
-
* a sliced copy, or bytes read off disk
|
|
45
|
+
* The input can be any `Uint8Array`, a view from `columnStoreBytesView`,
|
|
46
|
+
* a sliced copy, or bytes read off disk or off `postMessage`. The function
|
|
36
47
|
* honours `bytes.byteOffset` and `bytes.byteLength`, so passing a
|
|
37
48
|
* subarray that doesn't start at offset 0 of its backing buffer is
|
|
38
49
|
* supported.
|
|
39
50
|
*
|
|
51
|
+
* `options.storeBase` places the restored header at that byte offset in the
|
|
52
|
+
* fresh backing, default 0. The snapshot itself carries no base, so a store
|
|
53
|
+
* taken at one base restores at any other and both digests agree.
|
|
54
|
+
*
|
|
40
55
|
* Throws `StoreRestoreError` if the bytes are too short for the header,
|
|
41
56
|
* have the wrong magic, or carry an incompatible `sim_abi_version`. */
|
|
42
|
-
export declare function restoreColumnStore(bytes: Uint8Array, allocator?: BufferAllocator): ColumnStore;
|
|
57
|
+
export declare function restoreColumnStore(bytes: Uint8Array, allocator?: BufferAllocator, options?: RestoreColumnStoreOptions): ColumnStore;
|
|
43
58
|
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -1,43 +1,58 @@
|
|
|
1
1
|
import { ColumnStore } from './column_store.js';
|
|
2
2
|
import { BufferAllocator } from './allocator.js';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { StoreRestoreError } from '../restore_errors.js';
|
|
4
|
+
export { StoreRestoreError };
|
|
5
|
+
/** Options for `restoreColumnStore`. */
|
|
6
|
+
export interface RestoreColumnStoreOptions {
|
|
7
|
+
/** Byte offset inside the fresh backing where the restored header goes.
|
|
8
|
+
* Default 0. A snapshot carries no base, so a store taken at one base
|
|
9
|
+
* restores at any other. */
|
|
10
|
+
readonly storeBase?: number;
|
|
5
11
|
}
|
|
6
12
|
/** Zero-copy `Uint8Array` view over the SAB's used byte range. Length is
|
|
7
|
-
* `header.capacity
|
|
13
|
+
* `header.capacity`, the canonical size, not `buffer.byteLength`. The two
|
|
8
14
|
* coincide for `DEFAULT_SAB_ALLOCATOR` (it allocates exactly `totalBytes`),
|
|
9
|
-
* but `wasmMemoryAllocator`
|
|
10
|
-
*
|
|
11
|
-
*
|
|
15
|
+
* but `wasmMemoryAllocator` rounds the buffer up to 64 KiB page boundaries,
|
|
16
|
+
* and `heapArrayBufferAllocator` and `fixedSabAllocator` reserve the whole cap,
|
|
17
|
+
* so `buffer.byteLength` can exceed `capacity` (see the allocator contract in
|
|
18
|
+
* `allocator.ts`).
|
|
12
19
|
* Hashing or round-tripping that slack would make two logically-identical
|
|
13
20
|
* stores with different grow trajectories (or different allocators) diverge,
|
|
14
21
|
* so we size to `capacity` here.
|
|
15
22
|
*
|
|
16
23
|
* Capacity is read live from `store.view` rather than the cached
|
|
17
|
-
* `store.header
|
|
24
|
+
* `store.header`, the in-place grow path bumps the header fields in the
|
|
18
25
|
* view but leaves `store.header` a stale snapshot (see `grow.ts`).
|
|
19
26
|
*
|
|
20
|
-
* The
|
|
27
|
+
* The span starts at `store.storeBase`, so the bytes are base free: two stores
|
|
28
|
+
* with the same history at different bases give the same snapshot and the same
|
|
29
|
+
* digest.
|
|
30
|
+
*
|
|
31
|
+
* The view shares storage with the backing. Subsequent writes to columns are
|
|
21
32
|
* visible through it. Callers that need a stable snapshot should slice
|
|
22
33
|
* (`new Uint8Array(view)`) before mutating the store further. */
|
|
23
|
-
export declare function
|
|
34
|
+
export declare function columnStoreBytesView(store: ColumnStore): Uint8Array;
|
|
24
35
|
/** Allocate a fresh backing buffer of `bytes.byteLength`, copy the snapshot
|
|
25
36
|
* bytes in, validate the header, and reconstruct the `ColumnStore` (header cache +
|
|
26
37
|
* DataView + per-archetype `ArchetypeViews`).
|
|
27
38
|
*
|
|
28
39
|
* `allocator` selects the backing: the default `DEFAULT_SAB_ALLOCATOR`
|
|
29
|
-
* (`SharedArrayBuffer`) keeps existing callers' behaviour
|
|
30
|
-
* `
|
|
31
|
-
* world (no SAB required). Either way only one allocation happens
|
|
32
|
-
* never grows
|
|
40
|
+
* (`SharedArrayBuffer`) keeps existing callers' behaviour. Pass
|
|
41
|
+
* `heapArrayBufferAllocator()` to round-trip a snapshot into a pure-TS heap
|
|
42
|
+
* world (no SAB required). Either way only one allocation happens, restore
|
|
43
|
+
* never grows, so a non-in-place allocator is fine here.
|
|
33
44
|
*
|
|
34
|
-
* The input can be any `Uint8Array
|
|
35
|
-
* a sliced copy, or bytes read off disk
|
|
45
|
+
* The input can be any `Uint8Array`, a view from `columnStoreBytesView`,
|
|
46
|
+
* a sliced copy, or bytes read off disk or off `postMessage`. The function
|
|
36
47
|
* honours `bytes.byteOffset` and `bytes.byteLength`, so passing a
|
|
37
48
|
* subarray that doesn't start at offset 0 of its backing buffer is
|
|
38
49
|
* supported.
|
|
39
50
|
*
|
|
51
|
+
* `options.storeBase` places the restored header at that byte offset in the
|
|
52
|
+
* fresh backing, default 0. The snapshot itself carries no base, so a store
|
|
53
|
+
* taken at one base restores at any other and both digests agree.
|
|
54
|
+
*
|
|
40
55
|
* Throws `StoreRestoreError` if the bytes are too short for the header,
|
|
41
56
|
* have the wrong magic, or carry an incompatible `sim_abi_version`. */
|
|
42
|
-
export declare function restoreColumnStore(bytes: Uint8Array, allocator?: BufferAllocator): ColumnStore;
|
|
57
|
+
export declare function restoreColumnStore(bytes: Uint8Array, allocator?: BufferAllocator, options?: RestoreColumnStoreOptions): ColumnStore;
|
|
43
58
|
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/core/store/snapshot.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/core/store/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAkBH,OAAO,EAAkD,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAG1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,wCAAwC;AACxC,MAAM,WAAW,yBAAyB;IACzC;;gCAE4B;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;iEAqBiE;AACjE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,CAGnE;AAoED;;;;;;;;;;;;;;;;;;;;;uEAqBuE;AACvE,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,UAAU,EACjB,SAAS,GAAE,eAAuC,EAClD,OAAO,GAAE,yBAA8B,GACrC,WAAW,CAoGb"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { ColumnStore } from './column_store.cjs';
|
|
2
|
-
/** FNV-1a 32-bit offset basis (Fowler
|
|
2
|
+
/** FNV-1a 32-bit offset basis (Fowler, Noll and Vo). */
|
|
3
3
|
export declare const FNV1A_OFFSET_BASIS = 2166136261;
|
|
4
4
|
/** FNV-1a 32-bit prime. */
|
|
5
5
|
export declare const FNV1A_PRIME = 16777619;
|
|
6
6
|
/** One FNV-1a round folding a single **byte** (the low 8 bits of `b`) into the
|
|
7
7
|
* running `hash`: `hash = imul((hash ^ (b & 0xff)) >>> 0, PRIME) >>> 0`. The
|
|
8
|
-
* single canonical definition of the byte step
|
|
9
|
-
* here, by the sparse-store `schemaFingerprint`, and by the
|
|
10
|
-
* byte
|
|
8
|
+
* single canonical definition of the byte step, reused by `fnv1a32`
|
|
9
|
+
* here, by the sparse-store `schemaFingerprint`, and by the determinism
|
|
10
|
+
* byte and u32 folds, so the constants and the round live in exactly one place.
|
|
11
11
|
*
|
|
12
|
-
* Trivially inlinable
|
|
13
|
-
* never change a later round (xor
|
|
14
|
-
* unsigned), they
|
|
12
|
+
* Trivially inlinable, monomorphic and allocation-free. The intermediate `>>> 0`s
|
|
13
|
+
* never change a later round (xor and imul see the same 32-bit pattern signed or
|
|
14
|
+
* unsigned), they only keep the value unsigned for readers. */
|
|
15
15
|
export declare function fnv1aStep(hash: number, b: number): number;
|
|
16
|
-
/** One FNV-1a round folding a full 32-bit **word** into `hash
|
|
16
|
+
/** One FNV-1a round folding a full 32-bit **word** into `hash`, the whole word
|
|
17
17
|
* xored at once, not four byte rounds. A coarser fold than per-byte FNV-1a, but
|
|
18
|
-
* equally deterministic and
|
|
19
|
-
* its columns this way
|
|
20
|
-
* cold sparse
|
|
18
|
+
* equally deterministic and far cheaper, which is why `Store.stateHash` folds
|
|
19
|
+
* its columns this way. This is the canonical word-step definition its
|
|
20
|
+
* cold sparse and relation folds call. Its hot dense-column inner loop inlines this
|
|
21
21
|
* exact step for speed and must stay in sync. Same `>>> 0` reasoning as
|
|
22
22
|
* `fnv1aStep`. */
|
|
23
23
|
export declare function fnv1aStepWord(hash: number, word: number): number;
|
|
@@ -28,11 +28,11 @@ export declare function fnv1aStepWord(hash: number, word: number): number;
|
|
|
28
28
|
* snapshot, bytes off disk, a hot subrange) can hash without round-tripping
|
|
29
29
|
* through `ColumnStore`. */
|
|
30
30
|
export declare function fnv1a32(bytes: Uint8Array): number;
|
|
31
|
-
/** FNV-1a 32-bit hash of the entire SAB region
|
|
31
|
+
/** FNV-1a 32-bit hash of the entire SAB region, header + descriptors +
|
|
32
32
|
* column bytes. The canonical state identifier for cross-replay determinism
|
|
33
|
-
* checks
|
|
33
|
+
* checks.
|
|
34
34
|
*
|
|
35
|
-
* The snapshot view is zero-copy (`
|
|
35
|
+
* The snapshot view is zero-copy (`columnStoreBytesView` is a view, not a
|
|
36
36
|
* copy), so this is one scan over the live SAB with no allocation. */
|
|
37
37
|
export declare function columnStoreStateHash(store: ColumnStore): number;
|
|
38
38
|
//# sourceMappingURL=state_hash.d.ts.map
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { ColumnStore } from './column_store.js';
|
|
2
|
-
/** FNV-1a 32-bit offset basis (Fowler
|
|
2
|
+
/** FNV-1a 32-bit offset basis (Fowler, Noll and Vo). */
|
|
3
3
|
export declare const FNV1A_OFFSET_BASIS = 2166136261;
|
|
4
4
|
/** FNV-1a 32-bit prime. */
|
|
5
5
|
export declare const FNV1A_PRIME = 16777619;
|
|
6
6
|
/** One FNV-1a round folding a single **byte** (the low 8 bits of `b`) into the
|
|
7
7
|
* running `hash`: `hash = imul((hash ^ (b & 0xff)) >>> 0, PRIME) >>> 0`. The
|
|
8
|
-
* single canonical definition of the byte step
|
|
9
|
-
* here, by the sparse-store `schemaFingerprint`, and by the
|
|
10
|
-
* byte
|
|
8
|
+
* single canonical definition of the byte step, reused by `fnv1a32`
|
|
9
|
+
* here, by the sparse-store `schemaFingerprint`, and by the determinism
|
|
10
|
+
* byte and u32 folds, so the constants and the round live in exactly one place.
|
|
11
11
|
*
|
|
12
|
-
* Trivially inlinable
|
|
13
|
-
* never change a later round (xor
|
|
14
|
-
* unsigned), they
|
|
12
|
+
* Trivially inlinable, monomorphic and allocation-free. The intermediate `>>> 0`s
|
|
13
|
+
* never change a later round (xor and imul see the same 32-bit pattern signed or
|
|
14
|
+
* unsigned), they only keep the value unsigned for readers. */
|
|
15
15
|
export declare function fnv1aStep(hash: number, b: number): number;
|
|
16
|
-
/** One FNV-1a round folding a full 32-bit **word** into `hash
|
|
16
|
+
/** One FNV-1a round folding a full 32-bit **word** into `hash`, the whole word
|
|
17
17
|
* xored at once, not four byte rounds. A coarser fold than per-byte FNV-1a, but
|
|
18
|
-
* equally deterministic and
|
|
19
|
-
* its columns this way
|
|
20
|
-
* cold sparse
|
|
18
|
+
* equally deterministic and far cheaper, which is why `Store.stateHash` folds
|
|
19
|
+
* its columns this way. This is the canonical word-step definition its
|
|
20
|
+
* cold sparse and relation folds call. Its hot dense-column inner loop inlines this
|
|
21
21
|
* exact step for speed and must stay in sync. Same `>>> 0` reasoning as
|
|
22
22
|
* `fnv1aStep`. */
|
|
23
23
|
export declare function fnv1aStepWord(hash: number, word: number): number;
|
|
@@ -28,11 +28,11 @@ export declare function fnv1aStepWord(hash: number, word: number): number;
|
|
|
28
28
|
* snapshot, bytes off disk, a hot subrange) can hash without round-tripping
|
|
29
29
|
* through `ColumnStore`. */
|
|
30
30
|
export declare function fnv1a32(bytes: Uint8Array): number;
|
|
31
|
-
/** FNV-1a 32-bit hash of the entire SAB region
|
|
31
|
+
/** FNV-1a 32-bit hash of the entire SAB region, header + descriptors +
|
|
32
32
|
* column bytes. The canonical state identifier for cross-replay determinism
|
|
33
|
-
* checks
|
|
33
|
+
* checks.
|
|
34
34
|
*
|
|
35
|
-
* The snapshot view is zero-copy (`
|
|
35
|
+
* The snapshot view is zero-copy (`columnStoreBytesView` is a view, not a
|
|
36
36
|
* copy), so this is one scan over the live SAB with no allocation. */
|
|
37
37
|
export declare function columnStoreStateHash(store: ColumnStore): number;
|
|
38
38
|
//# sourceMappingURL=state_hash.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state_hash.d.ts","sourceRoot":"","sources":["../../../src/core/store/state_hash.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"state_hash.d.ts","sourceRoot":"","sources":["../../../src/core/store/state_hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,2BAA2B;AAC3B,eAAO,MAAM,WAAW,WAAa,CAAC;AAEtC;;;;;;;;+DAQ+D;AAC/D,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED;;;;;;kBAMkB;AAClB,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;;4BAK4B;AAC5B,wBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAIjD;AAED;;;;;sEAKsE;AACtE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE/D"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CreateColumnStoreOptions } from './column_store.cjs';
|
|
2
|
-
/** The `StoreHeader` fields that hold a
|
|
3
|
-
* region absent). Exactly the four fields a `MechanismRegionSpec` can own
|
|
4
|
-
* always-present `bindings_off`
|
|
5
|
-
* `region_table_off`
|
|
2
|
+
/** The `StoreHeader` fields that hold a mechanism region's byte offset (0 ⇒
|
|
3
|
+
* region absent). Exactly the four fields a `MechanismRegionSpec` can own. The
|
|
4
|
+
* always-present `bindings_off` and `layout_descriptor_off`, and the generic
|
|
5
|
+
* `region_table_off` and `region_table_count` pair, are not mechanism regions in
|
|
6
6
|
* this sense and are computed directly outside the loop. */
|
|
7
7
|
export type StoreRegionOffsetField = "command_ring_off" | "entity_index_off" | "event_ring_off" | "action_ring_off";
|
|
8
8
|
/** Mutable accumulator for building `CreateColumnStoreOptions` field by field as
|
|
@@ -10,18 +10,18 @@ export type StoreRegionOffsetField = "command_ring_off" | "entity_index_off" | "
|
|
|
10
10
|
export type MutableColumnStoreOptions = {
|
|
11
11
|
-readonly [K in keyof CreateColumnStoreOptions]: CreateColumnStoreOptions[K];
|
|
12
12
|
};
|
|
13
|
-
/** One engine
|
|
14
|
-
* each generic pass
|
|
13
|
+
/** One engine mechanism region. The four closures are the per-region half of
|
|
14
|
+
* each generic pass. See the module doc for which consumer drives which.
|
|
15
15
|
*
|
|
16
|
-
* (
|
|
17
|
-
* `region_table.ts
|
|
16
|
+
* (A consumer's own regions use the separate self-contained `StoreRegionSpec` in
|
|
17
|
+
* `region_table.ts`. They carry a precomputed `bytes` + `init` and are
|
|
18
18
|
* addressed by an opaque `region_id`, not a named header field.) */
|
|
19
19
|
export interface MechanismRegionSpec {
|
|
20
|
-
/** Stable name
|
|
20
|
+
/** Stable name, reads in diagnostics and keeps the array self-documenting. */
|
|
21
21
|
readonly name: string;
|
|
22
22
|
/** `StoreHeader` field this region's byte offset is written to. */
|
|
23
23
|
readonly headerOff: StoreRegionOffsetField;
|
|
24
|
-
/** Byte size implied by `options` (0 ⇒ region absent, so no offset
|
|
24
|
+
/** Byte size implied by `options` (0 ⇒ region absent, so no offset and no init). */
|
|
25
25
|
readonly sizeFromOptions: (options: CreateColumnStoreOptions) => number;
|
|
26
26
|
/** Initialise the region's header at `off`. Called by `createColumnStore`
|
|
27
27
|
* only when the region is present (`off !== 0`). */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CreateColumnStoreOptions } from './column_store.js';
|
|
2
|
-
/** The `StoreHeader` fields that hold a
|
|
3
|
-
* region absent). Exactly the four fields a `MechanismRegionSpec` can own
|
|
4
|
-
* always-present `bindings_off`
|
|
5
|
-
* `region_table_off`
|
|
2
|
+
/** The `StoreHeader` fields that hold a mechanism region's byte offset (0 ⇒
|
|
3
|
+
* region absent). Exactly the four fields a `MechanismRegionSpec` can own. The
|
|
4
|
+
* always-present `bindings_off` and `layout_descriptor_off`, and the generic
|
|
5
|
+
* `region_table_off` and `region_table_count` pair, are not mechanism regions in
|
|
6
6
|
* this sense and are computed directly outside the loop. */
|
|
7
7
|
export type StoreRegionOffsetField = "command_ring_off" | "entity_index_off" | "event_ring_off" | "action_ring_off";
|
|
8
8
|
/** Mutable accumulator for building `CreateColumnStoreOptions` field by field as
|
|
@@ -10,18 +10,18 @@ export type StoreRegionOffsetField = "command_ring_off" | "entity_index_off" | "
|
|
|
10
10
|
export type MutableColumnStoreOptions = {
|
|
11
11
|
-readonly [K in keyof CreateColumnStoreOptions]: CreateColumnStoreOptions[K];
|
|
12
12
|
};
|
|
13
|
-
/** One engine
|
|
14
|
-
* each generic pass
|
|
13
|
+
/** One engine mechanism region. The four closures are the per-region half of
|
|
14
|
+
* each generic pass. See the module doc for which consumer drives which.
|
|
15
15
|
*
|
|
16
|
-
* (
|
|
17
|
-
* `region_table.ts
|
|
16
|
+
* (A consumer's own regions use the separate self-contained `StoreRegionSpec` in
|
|
17
|
+
* `region_table.ts`. They carry a precomputed `bytes` + `init` and are
|
|
18
18
|
* addressed by an opaque `region_id`, not a named header field.) */
|
|
19
19
|
export interface MechanismRegionSpec {
|
|
20
|
-
/** Stable name
|
|
20
|
+
/** Stable name, reads in diagnostics and keeps the array self-documenting. */
|
|
21
21
|
readonly name: string;
|
|
22
22
|
/** `StoreHeader` field this region's byte offset is written to. */
|
|
23
23
|
readonly headerOff: StoreRegionOffsetField;
|
|
24
|
-
/** Byte size implied by `options` (0 ⇒ region absent, so no offset
|
|
24
|
+
/** Byte size implied by `options` (0 ⇒ region absent, so no offset and no init). */
|
|
25
25
|
readonly sizeFromOptions: (options: CreateColumnStoreOptions) => number;
|
|
26
26
|
/** Initialise the region's header at `off`. Called by `createColumnStore`
|
|
27
27
|
* only when the region is present (`off !== 0`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store_regions.d.ts","sourceRoot":"","sources":["../../../src/core/store/store_regions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"store_regions.d.ts","sourceRoot":"","sources":["../../../src/core/store/store_regions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAUH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE/D;;;;4DAI4D;AAC5D,MAAM,MAAM,sBAAsB,GAC/B,kBAAkB,GAClB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,CAAC;AAErB;2EAC2E;AAC3E,MAAM,MAAM,yBAAyB,GAAG;IACvC,CAAC,UAAU,CAAC,IAAI,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF;;;;;oEAKoE;AACpE,MAAM,WAAW,mBAAmB;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;IAC3C,oFAAoF;IACpF,QAAQ,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,MAAM,CAAC;IACxE;wDACoD;IACpD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACxF;mEAC+D;IAC/D,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9D;qEACiE;IACjE,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,KAAK,IAAI,CAAC;CAC5F;AAED,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,EAAE,SAAS,mBAAmB,EA0D9D,CAAC"}
|
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
export declare const STORE_MAGIC = 827148627;
|
|
2
|
-
|
|
2
|
+
/** Schema version of the header, the descriptors and the region table.
|
|
3
|
+
*
|
|
4
|
+
* Version 1 makes every `*_off` in the header, every `byte_off` in a column
|
|
5
|
+
* descriptor and every region-table offset relative to the store base, and
|
|
6
|
+
* makes `capacity` the store span measured from that base. Version 0 measured
|
|
7
|
+
* all of them from buffer byte 0. Restore and resume reject a version they do
|
|
8
|
+
* not know, because the two readings of one offset disagree.
|
|
9
|
+
*
|
|
10
|
+
* Version 1 also reserves `entity_ids_off` in the archetype descriptor header.
|
|
11
|
+
* The version stays at 1 because no store of version 1 has shipped. Nothing
|
|
12
|
+
* outside this repository can hold the narrower header, so growing it now
|
|
13
|
+
* costs nothing. Reserving the field after the release costs a version bump
|
|
14
|
+
* and a reader that must branch on two header widths. */
|
|
15
|
+
export declare const SIM_ABI_VERSION = 1;
|
|
16
|
+
/** The version the published 0.5 line wrote. Every store of that version sat
|
|
17
|
+
* at buffer byte 0, so its offsets read correctly as version 1 offsets from the
|
|
18
|
+
* header. Restore and resume accept it and stamp the current version. */
|
|
19
|
+
export declare const LEGACY_ABSOLUTE_ABI_VERSION = 0;
|
|
20
|
+
/** The archetype descriptor header width version 0 wrote, before
|
|
21
|
+
* `entity_ids_off` joined the header. Every field version 0 carries sits at the
|
|
22
|
+
* offset version 1 gives it, so a version 0 region differs from a version 1
|
|
23
|
+
* region only in where the columns start and how far one record reaches.
|
|
24
|
+
* Restore walks a version 0 region with this width and re-emits it at the
|
|
25
|
+
* current width. */
|
|
26
|
+
export declare const LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES = 36;
|
|
3
27
|
export declare const COMPONENT_MASK_WORDS = 4;
|
|
4
28
|
export declare const STORE_HEADER_BYTES = 52;
|
|
5
29
|
export declare const STORE_HEADER_OFFSETS: {
|
|
@@ -31,7 +55,7 @@ export declare const COLUMN_DESCRIPTOR_OFFSETS: {
|
|
|
31
55
|
readonly byte_off: 8;
|
|
32
56
|
readonly stride: 12;
|
|
33
57
|
};
|
|
34
|
-
export declare const ARCHETYPE_DESCRIPTOR_HEADER_BYTES =
|
|
58
|
+
export declare const ARCHETYPE_DESCRIPTOR_HEADER_BYTES = 40;
|
|
35
59
|
export declare const ARCHETYPE_DESCRIPTOR_OFFSETS: {
|
|
36
60
|
readonly archetype_id: 0;
|
|
37
61
|
readonly component_mask: 4;
|
|
@@ -39,5 +63,6 @@ export declare const ARCHETYPE_DESCRIPTOR_OFFSETS: {
|
|
|
39
63
|
readonly row_capacity: 24;
|
|
40
64
|
readonly column_count: 28;
|
|
41
65
|
readonly enabled_count: 32;
|
|
66
|
+
readonly entity_ids_off: 36;
|
|
42
67
|
};
|
|
43
68
|
//# sourceMappingURL=abi.d.ts.map
|
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
export declare const STORE_MAGIC = 827148627;
|
|
2
|
-
|
|
2
|
+
/** Schema version of the header, the descriptors and the region table.
|
|
3
|
+
*
|
|
4
|
+
* Version 1 makes every `*_off` in the header, every `byte_off` in a column
|
|
5
|
+
* descriptor and every region-table offset relative to the store base, and
|
|
6
|
+
* makes `capacity` the store span measured from that base. Version 0 measured
|
|
7
|
+
* all of them from buffer byte 0. Restore and resume reject a version they do
|
|
8
|
+
* not know, because the two readings of one offset disagree.
|
|
9
|
+
*
|
|
10
|
+
* Version 1 also reserves `entity_ids_off` in the archetype descriptor header.
|
|
11
|
+
* The version stays at 1 because no store of version 1 has shipped. Nothing
|
|
12
|
+
* outside this repository can hold the narrower header, so growing it now
|
|
13
|
+
* costs nothing. Reserving the field after the release costs a version bump
|
|
14
|
+
* and a reader that must branch on two header widths. */
|
|
15
|
+
export declare const SIM_ABI_VERSION = 1;
|
|
16
|
+
/** The version the published 0.5 line wrote. Every store of that version sat
|
|
17
|
+
* at buffer byte 0, so its offsets read correctly as version 1 offsets from the
|
|
18
|
+
* header. Restore and resume accept it and stamp the current version. */
|
|
19
|
+
export declare const LEGACY_ABSOLUTE_ABI_VERSION = 0;
|
|
20
|
+
/** The archetype descriptor header width version 0 wrote, before
|
|
21
|
+
* `entity_ids_off` joined the header. Every field version 0 carries sits at the
|
|
22
|
+
* offset version 1 gives it, so a version 0 region differs from a version 1
|
|
23
|
+
* region only in where the columns start and how far one record reaches.
|
|
24
|
+
* Restore walks a version 0 region with this width and re-emits it at the
|
|
25
|
+
* current width. */
|
|
26
|
+
export declare const LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES = 36;
|
|
3
27
|
export declare const COMPONENT_MASK_WORDS = 4;
|
|
4
28
|
export declare const STORE_HEADER_BYTES = 52;
|
|
5
29
|
export declare const STORE_HEADER_OFFSETS: {
|
|
@@ -31,7 +55,7 @@ export declare const COLUMN_DESCRIPTOR_OFFSETS: {
|
|
|
31
55
|
readonly byte_off: 8;
|
|
32
56
|
readonly stride: 12;
|
|
33
57
|
};
|
|
34
|
-
export declare const ARCHETYPE_DESCRIPTOR_HEADER_BYTES =
|
|
58
|
+
export declare const ARCHETYPE_DESCRIPTOR_HEADER_BYTES = 40;
|
|
35
59
|
export declare const ARCHETYPE_DESCRIPTOR_OFFSETS: {
|
|
36
60
|
readonly archetype_id: 0;
|
|
37
61
|
readonly component_mask: 4;
|
|
@@ -39,5 +63,6 @@ export declare const ARCHETYPE_DESCRIPTOR_OFFSETS: {
|
|
|
39
63
|
readonly row_capacity: 24;
|
|
40
64
|
readonly column_count: 28;
|
|
41
65
|
readonly enabled_count: 32;
|
|
66
|
+
readonly entity_ids_off: 36;
|
|
42
67
|
};
|
|
43
68
|
//# sourceMappingURL=abi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../../../src/core/store/vendored_abi/abi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../../../src/core/store/vendored_abi/abi.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,WAAW,YAAa,CAAC;AACtC;;;;;;;;;;;;yDAYyD;AACzD,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC;;yEAEyE;AACzE,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C;;;;;oBAKoB;AACpB,eAAO,MAAM,wCAAwC,KAAK,CAAC;AAC3D,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;CAcvB,CAAC;AAEX,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,yBAAyB;;;;;;CAM5B,CAAC;AAoBX,eAAO,MAAM,iCAAiC,KAAK,CAAC;AACpD,eAAO,MAAM,4BAA4B;;;;;;;;CAQ/B,CAAC"}
|