@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
|
@@ -1,62 +1,59 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Command ring
|
|
3
|
-
* for structural-change intents emitted during `sim.tick()`.
|
|
4
|
-
* (`docs/ideas/buffer-wasm-sim-plan-2026-05-14T1600.md`).
|
|
2
|
+
* Command ring. A WASM-side producer and TS-side consumer SPSC ring buffer
|
|
3
|
+
* for structural-change intents emitted during `sim.tick()`.
|
|
5
4
|
*
|
|
6
5
|
* Layout:
|
|
7
6
|
*
|
|
8
|
-
* [ write_head: u32 ] slot 0..N-1, monotonic (
|
|
7
|
+
* [ write_head: u32 ] slot 0..N-1, monotonic (not slot-modulo)
|
|
9
8
|
* [ read_head: u32 ] slot 0..N-1, monotonic
|
|
10
9
|
* [ capacity: u32 ] slot count, power-of-two
|
|
11
|
-
* [ overflow: u32 ] 0 = OK
|
|
10
|
+
* [ overflow: u32 ] 0 = OK, 1 = WASM exhausted the ring this tick
|
|
12
11
|
* [ slot 0: 16 B ] opCode: u8, payload: [15]u8
|
|
13
12
|
* [ slot 1: 16 B ] ...
|
|
14
13
|
* ...
|
|
15
14
|
*
|
|
16
|
-
* SPSC contract (
|
|
17
|
-
* - Producer: WASM
|
|
15
|
+
* SPSC contract (single host thread):
|
|
16
|
+
* - Producer: the WASM tick. It pushes 0..N commands during one tick and
|
|
18
17
|
* bumps `write_head` after each.
|
|
19
18
|
* - Consumer: TS host, immediately after `wasm.tick()` returns. Drains
|
|
20
|
-
* 0..N pending commands
|
|
21
|
-
* - The two never run concurrently
|
|
22
|
-
*
|
|
23
|
-
* bumps to `Atomics.store
|
|
19
|
+
* 0..N pending commands. Bumps `read_head` after each.
|
|
20
|
+
* - The two never run concurrently (one host thread orchestrates
|
|
21
|
+
* both). A later worker offload promotes the head
|
|
22
|
+
* bumps to `Atomics.store`. That's an additive change without
|
|
24
23
|
* altering the layout.
|
|
25
24
|
*
|
|
26
25
|
* Overflow:
|
|
27
26
|
* - If WASM would write a slot when (`write_head - read_head == capacity`),
|
|
28
27
|
* it sets `overflow = 1` and drops the command. TS treats overflow as
|
|
29
|
-
* a hard error in dev builds
|
|
28
|
+
* a hard error in dev builds. Production logs and continues (a command
|
|
30
29
|
* might be lost rather than crash the host).
|
|
31
30
|
*
|
|
32
|
-
* Slot format
|
|
31
|
+
* Slot format:
|
|
33
32
|
* byte 0: opCode (u8). 0 is reserved as the empty-slot marker
|
|
34
|
-
* (`COMMAND_OP_EMPTY`)
|
|
35
|
-
* The engine never interprets a code
|
|
36
|
-
* `(opCode, payload)` and hands them to the attached
|
|
37
|
-
* consumer, which owns the opcode enum
|
|
38
|
-
* game's live in `@internal/sim`'s `command_payloads.ts`).
|
|
33
|
+
* (`COMMAND_OP_EMPTY`), and every other code is
|
|
34
|
+
* consumer-defined. The engine never interprets a code. It
|
|
35
|
+
* drains `(opCode, payload)` and hands them to the attached
|
|
36
|
+
* consumer, which owns the opcode enum and the payload codecs.
|
|
39
37
|
* bytes 1..15: payload, op-specific. Multi-byte fields may be
|
|
40
|
-
* unaligned within the payload
|
|
41
|
-
* oriented helpers
|
|
38
|
+
* unaligned within the payload. Readers must use byte-
|
|
39
|
+
* oriented helpers, such as a `DataView` in TS.
|
|
42
40
|
*
|
|
43
|
-
* The ring lives
|
|
44
|
-
* after the
|
|
45
|
-
* column-region growth. The host writes `header.command_ring_off` to
|
|
46
|
-
* point at it during `createColumnStore
|
|
41
|
+
* The ring lives before the layout-descriptor region in the SAB (right
|
|
42
|
+
* after the `STORE_HEADER_BYTES` header) so its offset is stable across
|
|
43
|
+
* descriptor growth and column-region growth. The host writes `header.command_ring_off` to
|
|
44
|
+
* point at it during `createColumnStore`. Absent ring is signalled by
|
|
47
45
|
* `command_ring_off === 0`.
|
|
48
46
|
*/
|
|
49
47
|
/** Total bytes for the ring header. */
|
|
50
48
|
export declare const COMMAND_RING_HEADER_BYTES = 16;
|
|
51
|
-
/** Fixed slot size
|
|
49
|
+
/** Fixed slot size, 1-byte opCode + 15-byte payload. */
|
|
52
50
|
export declare const COMMAND_RING_SLOT_BYTES = 16;
|
|
53
51
|
/** Default ring capacity in slots. 256 × 16 B = 4 KiB of ring data plus
|
|
54
|
-
* 16 B header. Sized for the worst-case burst
|
|
55
|
-
*
|
|
56
|
-
* in the bench harness. */
|
|
52
|
+
* 16 B header. Sized for the worst-case burst of spawn intents in one tick,
|
|
53
|
+
* with a small safety margin. Tune it up when a burst pushes past it. */
|
|
57
54
|
export declare const COMMAND_RING_DEFAULT_CAPACITY_SLOTS = 256;
|
|
58
|
-
/** Byte offsets within the ring header.
|
|
59
|
-
*
|
|
55
|
+
/** Byte offsets within the ring header. A reader on the module side mirrors
|
|
56
|
+
* these offsets, so a change here is an ABI change. */
|
|
60
57
|
export declare const COMMAND_RING_HEADER_OFFSETS: {
|
|
61
58
|
readonly write_head: 0;
|
|
62
59
|
readonly read_head: 4;
|
|
@@ -65,9 +62,8 @@ export declare const COMMAND_RING_HEADER_OFFSETS: {
|
|
|
65
62
|
};
|
|
66
63
|
/** Op-code `0` is reserved across the SAB layer as the empty-slot marker
|
|
67
64
|
* so a zero-initialised SAB doesn't appear to hold a valid command (mirror
|
|
68
|
-
* of `EVENT_OP_EMPTY`).
|
|
69
|
-
* the attached consumer owns the opcode enum
|
|
70
|
-
* `COMMAND_OP` + `SpawnUnitFields` live in `@internal/sim`). */
|
|
65
|
+
* of `EVENT_OP_EMPTY`). Every non-zero code is opaque to the engine, and
|
|
66
|
+
* the attached consumer owns the opcode enum and the payload codecs. */
|
|
71
67
|
export declare const COMMAND_OP_EMPTY = 0;
|
|
72
68
|
/** Total bytes the ring occupies for `capacity_slots` slots. */
|
|
73
69
|
export declare function commandRingBytes(capacitySlots: number): number;
|
|
@@ -75,26 +71,26 @@ export declare class CommandRingError extends Error {
|
|
|
75
71
|
constructor(message: string);
|
|
76
72
|
}
|
|
77
73
|
/** Initialise the ring header at `ringOff` in the SAB. Zeroes
|
|
78
|
-
* `write_head`, `read_head`, and `overflow_flag
|
|
74
|
+
* `write_head`, `read_head`, and `overflow_flag`. Sets `capacity_slots`.
|
|
79
75
|
* Slot bytes are left as-is (callers normally allocate the ring on a
|
|
80
76
|
* fresh, zero-initialised SAB). */
|
|
81
77
|
export declare function initCommandRing(view: DataView, ringOff: number, capacitySlots: number): void;
|
|
82
78
|
/** Read live ring-header field. */
|
|
83
|
-
export declare function
|
|
84
|
-
export declare function
|
|
85
|
-
export declare function
|
|
86
|
-
export declare function
|
|
79
|
+
export declare function commandRingWriteHead(view: DataView, ringOff: number): number;
|
|
80
|
+
export declare function commandRingReadHead(view: DataView, ringOff: number): number;
|
|
81
|
+
export declare function commandRingCapacitySlots(view: DataView, ringOff: number): number;
|
|
82
|
+
export declare function commandRingOverflow(view: DataView, ringOff: number): boolean;
|
|
87
83
|
/** Pending command count = `(write_head - read_head) mod 2^32`. The
|
|
88
|
-
* `>>> 0` keeps the result a u32 in the wrap-around case
|
|
89
|
-
* the host's lifetime
|
|
90
|
-
* arithmetic
|
|
84
|
+
* `>>> 0` keeps the result a u32 in the wrap-around case. A ring lives for
|
|
85
|
+
* the host's lifetime, so a long-lived host can reach the wrap, and the
|
|
86
|
+
* arithmetic has to stay correct there. */
|
|
91
87
|
export declare function pendingCommandCount(view: DataView, ringOff: number): number;
|
|
92
|
-
/** Push a command into the ring from the TS side.
|
|
93
|
-
* WASM
|
|
94
|
-
* symmetric tests across the two sides. Returns `false` on overflow and
|
|
88
|
+
/** Push a command into the ring from the TS side. The production producer is
|
|
89
|
+
* the WASM module, through its own ring writer. This is for host-side tests
|
|
90
|
+
* and for symmetric tests across the two sides. Returns `false` on overflow and
|
|
95
91
|
* sets the overflow flag. Payload must be exactly 15 bytes. */
|
|
96
92
|
export declare function pushCommand(view: DataView, ringOff: number, opCode: number, payload: Uint8Array): boolean;
|
|
97
|
-
/** Read one command from the ring. Returns opCode (0 = empty
|
|
93
|
+
/** Read one command from the ring. Returns opCode (0 = empty, no
|
|
98
94
|
* command) and fills `outPayload` (15 bytes) with the slot's payload.
|
|
99
95
|
* When 0 is returned, `outPayload` is untouched. */
|
|
100
96
|
export declare function popCommand(view: DataView, ringOff: number, outPayload: Uint8Array): number;
|
|
@@ -1,62 +1,59 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Command ring
|
|
3
|
-
* for structural-change intents emitted during `sim.tick()`.
|
|
4
|
-
* (`docs/ideas/buffer-wasm-sim-plan-2026-05-14T1600.md`).
|
|
2
|
+
* Command ring. A WASM-side producer and TS-side consumer SPSC ring buffer
|
|
3
|
+
* for structural-change intents emitted during `sim.tick()`.
|
|
5
4
|
*
|
|
6
5
|
* Layout:
|
|
7
6
|
*
|
|
8
|
-
* [ write_head: u32 ] slot 0..N-1, monotonic (
|
|
7
|
+
* [ write_head: u32 ] slot 0..N-1, monotonic (not slot-modulo)
|
|
9
8
|
* [ read_head: u32 ] slot 0..N-1, monotonic
|
|
10
9
|
* [ capacity: u32 ] slot count, power-of-two
|
|
11
|
-
* [ overflow: u32 ] 0 = OK
|
|
10
|
+
* [ overflow: u32 ] 0 = OK, 1 = WASM exhausted the ring this tick
|
|
12
11
|
* [ slot 0: 16 B ] opCode: u8, payload: [15]u8
|
|
13
12
|
* [ slot 1: 16 B ] ...
|
|
14
13
|
* ...
|
|
15
14
|
*
|
|
16
|
-
* SPSC contract (
|
|
17
|
-
* - Producer: WASM
|
|
15
|
+
* SPSC contract (single host thread):
|
|
16
|
+
* - Producer: the WASM tick. It pushes 0..N commands during one tick and
|
|
18
17
|
* bumps `write_head` after each.
|
|
19
18
|
* - Consumer: TS host, immediately after `wasm.tick()` returns. Drains
|
|
20
|
-
* 0..N pending commands
|
|
21
|
-
* - The two never run concurrently
|
|
22
|
-
*
|
|
23
|
-
* bumps to `Atomics.store
|
|
19
|
+
* 0..N pending commands. Bumps `read_head` after each.
|
|
20
|
+
* - The two never run concurrently (one host thread orchestrates
|
|
21
|
+
* both). A later worker offload promotes the head
|
|
22
|
+
* bumps to `Atomics.store`. That's an additive change without
|
|
24
23
|
* altering the layout.
|
|
25
24
|
*
|
|
26
25
|
* Overflow:
|
|
27
26
|
* - If WASM would write a slot when (`write_head - read_head == capacity`),
|
|
28
27
|
* it sets `overflow = 1` and drops the command. TS treats overflow as
|
|
29
|
-
* a hard error in dev builds
|
|
28
|
+
* a hard error in dev builds. Production logs and continues (a command
|
|
30
29
|
* might be lost rather than crash the host).
|
|
31
30
|
*
|
|
32
|
-
* Slot format
|
|
31
|
+
* Slot format:
|
|
33
32
|
* byte 0: opCode (u8). 0 is reserved as the empty-slot marker
|
|
34
|
-
* (`COMMAND_OP_EMPTY`)
|
|
35
|
-
* The engine never interprets a code
|
|
36
|
-
* `(opCode, payload)` and hands them to the attached
|
|
37
|
-
* consumer, which owns the opcode enum
|
|
38
|
-
* game's live in `@internal/sim`'s `command_payloads.ts`).
|
|
33
|
+
* (`COMMAND_OP_EMPTY`), and every other code is
|
|
34
|
+
* consumer-defined. The engine never interprets a code. It
|
|
35
|
+
* drains `(opCode, payload)` and hands them to the attached
|
|
36
|
+
* consumer, which owns the opcode enum and the payload codecs.
|
|
39
37
|
* bytes 1..15: payload, op-specific. Multi-byte fields may be
|
|
40
|
-
* unaligned within the payload
|
|
41
|
-
* oriented helpers
|
|
38
|
+
* unaligned within the payload. Readers must use byte-
|
|
39
|
+
* oriented helpers, such as a `DataView` in TS.
|
|
42
40
|
*
|
|
43
|
-
* The ring lives
|
|
44
|
-
* after the
|
|
45
|
-
* column-region growth. The host writes `header.command_ring_off` to
|
|
46
|
-
* point at it during `createColumnStore
|
|
41
|
+
* The ring lives before the layout-descriptor region in the SAB (right
|
|
42
|
+
* after the `STORE_HEADER_BYTES` header) so its offset is stable across
|
|
43
|
+
* descriptor growth and column-region growth. The host writes `header.command_ring_off` to
|
|
44
|
+
* point at it during `createColumnStore`. Absent ring is signalled by
|
|
47
45
|
* `command_ring_off === 0`.
|
|
48
46
|
*/
|
|
49
47
|
/** Total bytes for the ring header. */
|
|
50
48
|
export declare const COMMAND_RING_HEADER_BYTES = 16;
|
|
51
|
-
/** Fixed slot size
|
|
49
|
+
/** Fixed slot size, 1-byte opCode + 15-byte payload. */
|
|
52
50
|
export declare const COMMAND_RING_SLOT_BYTES = 16;
|
|
53
51
|
/** Default ring capacity in slots. 256 × 16 B = 4 KiB of ring data plus
|
|
54
|
-
* 16 B header. Sized for the worst-case burst
|
|
55
|
-
*
|
|
56
|
-
* in the bench harness. */
|
|
52
|
+
* 16 B header. Sized for the worst-case burst of spawn intents in one tick,
|
|
53
|
+
* with a small safety margin. Tune it up when a burst pushes past it. */
|
|
57
54
|
export declare const COMMAND_RING_DEFAULT_CAPACITY_SLOTS = 256;
|
|
58
|
-
/** Byte offsets within the ring header.
|
|
59
|
-
*
|
|
55
|
+
/** Byte offsets within the ring header. A reader on the module side mirrors
|
|
56
|
+
* these offsets, so a change here is an ABI change. */
|
|
60
57
|
export declare const COMMAND_RING_HEADER_OFFSETS: {
|
|
61
58
|
readonly write_head: 0;
|
|
62
59
|
readonly read_head: 4;
|
|
@@ -65,9 +62,8 @@ export declare const COMMAND_RING_HEADER_OFFSETS: {
|
|
|
65
62
|
};
|
|
66
63
|
/** Op-code `0` is reserved across the SAB layer as the empty-slot marker
|
|
67
64
|
* so a zero-initialised SAB doesn't appear to hold a valid command (mirror
|
|
68
|
-
* of `EVENT_OP_EMPTY`).
|
|
69
|
-
* the attached consumer owns the opcode enum
|
|
70
|
-
* `COMMAND_OP` + `SpawnUnitFields` live in `@internal/sim`). */
|
|
65
|
+
* of `EVENT_OP_EMPTY`). Every non-zero code is opaque to the engine, and
|
|
66
|
+
* the attached consumer owns the opcode enum and the payload codecs. */
|
|
71
67
|
export declare const COMMAND_OP_EMPTY = 0;
|
|
72
68
|
/** Total bytes the ring occupies for `capacity_slots` slots. */
|
|
73
69
|
export declare function commandRingBytes(capacitySlots: number): number;
|
|
@@ -75,26 +71,26 @@ export declare class CommandRingError extends Error {
|
|
|
75
71
|
constructor(message: string);
|
|
76
72
|
}
|
|
77
73
|
/** Initialise the ring header at `ringOff` in the SAB. Zeroes
|
|
78
|
-
* `write_head`, `read_head`, and `overflow_flag
|
|
74
|
+
* `write_head`, `read_head`, and `overflow_flag`. Sets `capacity_slots`.
|
|
79
75
|
* Slot bytes are left as-is (callers normally allocate the ring on a
|
|
80
76
|
* fresh, zero-initialised SAB). */
|
|
81
77
|
export declare function initCommandRing(view: DataView, ringOff: number, capacitySlots: number): void;
|
|
82
78
|
/** Read live ring-header field. */
|
|
83
|
-
export declare function
|
|
84
|
-
export declare function
|
|
85
|
-
export declare function
|
|
86
|
-
export declare function
|
|
79
|
+
export declare function commandRingWriteHead(view: DataView, ringOff: number): number;
|
|
80
|
+
export declare function commandRingReadHead(view: DataView, ringOff: number): number;
|
|
81
|
+
export declare function commandRingCapacitySlots(view: DataView, ringOff: number): number;
|
|
82
|
+
export declare function commandRingOverflow(view: DataView, ringOff: number): boolean;
|
|
87
83
|
/** Pending command count = `(write_head - read_head) mod 2^32`. The
|
|
88
|
-
* `>>> 0` keeps the result a u32 in the wrap-around case
|
|
89
|
-
* the host's lifetime
|
|
90
|
-
* arithmetic
|
|
84
|
+
* `>>> 0` keeps the result a u32 in the wrap-around case. A ring lives for
|
|
85
|
+
* the host's lifetime, so a long-lived host can reach the wrap, and the
|
|
86
|
+
* arithmetic has to stay correct there. */
|
|
91
87
|
export declare function pendingCommandCount(view: DataView, ringOff: number): number;
|
|
92
|
-
/** Push a command into the ring from the TS side.
|
|
93
|
-
* WASM
|
|
94
|
-
* symmetric tests across the two sides. Returns `false` on overflow and
|
|
88
|
+
/** Push a command into the ring from the TS side. The production producer is
|
|
89
|
+
* the WASM module, through its own ring writer. This is for host-side tests
|
|
90
|
+
* and for symmetric tests across the two sides. Returns `false` on overflow and
|
|
95
91
|
* sets the overflow flag. Payload must be exactly 15 bytes. */
|
|
96
92
|
export declare function pushCommand(view: DataView, ringOff: number, opCode: number, payload: Uint8Array): boolean;
|
|
97
|
-
/** Read one command from the ring. Returns opCode (0 = empty
|
|
93
|
+
/** Read one command from the ring. Returns opCode (0 = empty, no
|
|
98
94
|
* command) and fills `outPayload` (15 bytes) with the slot's payload.
|
|
99
95
|
* When 0 is returned, `outPayload` is untouched. */
|
|
100
96
|
export declare function popCommand(view: DataView, ringOff: number, outPayload: Uint8Array): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command_ring.d.ts","sourceRoot":"","sources":["../../../src/core/store/command_ring.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"command_ring.d.ts","sourceRoot":"","sources":["../../../src/core/store/command_ring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,uCAAuC;AACvC,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,wDAAwD;AACxD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;yEAEyE;AACzE,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD;uDACuD;AACvD,eAAO,MAAM,2BAA2B;;;;;CAK9B,CAAC;AAEX;;;wEAGwE;AACxE,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE9D;AASD,qBAAa,gBAAiB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI3B;AAED;;;mCAGmC;AACnC,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAU5F;AAED,mCAAmC;AACnC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5E;AACD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3E;AACD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhF;AACD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED;;;2CAG2C;AAC3C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED;;;+DAG+D;AAC/D,wBAAgB,WAAW,CAC1B,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,GACjB,OAAO,CA2CT;AAED;;oDAEoD;AACpD,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAqB1F;AAED;;;;gEAIgE;AAChE,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,KAAK,IAAI,GACpD,MAAM,CAWR"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { COLUMN_DESCRIPTOR_BYTES, COLUMN_DESCRIPTOR_OFFSETS, ARCHETYPE_DESCRIPTOR_HEADER_BYTES, ARCHETYPE_DESCRIPTOR_OFFSETS, COMPONENT_MASK_WORDS } from './vendored_abi/abi.cjs';
|
|
2
|
-
export { COLUMN_DESCRIPTOR_BYTES, COLUMN_DESCRIPTOR_OFFSETS, ARCHETYPE_DESCRIPTOR_HEADER_BYTES, ARCHETYPE_DESCRIPTOR_OFFSETS, COMPONENT_MASK_WORDS };
|
|
1
|
+
import { COLUMN_DESCRIPTOR_BYTES, COLUMN_DESCRIPTOR_OFFSETS, ARCHETYPE_DESCRIPTOR_HEADER_BYTES, LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES, ARCHETYPE_DESCRIPTOR_OFFSETS, COMPONENT_MASK_WORDS } from './vendored_abi/abi.cjs';
|
|
2
|
+
export { COLUMN_DESCRIPTOR_BYTES, COLUMN_DESCRIPTOR_OFFSETS, ARCHETYPE_DESCRIPTOR_HEADER_BYTES, LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES, ARCHETYPE_DESCRIPTOR_OFFSETS, COMPONENT_MASK_WORDS };
|
|
3
3
|
/** type_tag values for `ColumnDescriptor.type_tag`. The order matches the
|
|
4
|
-
* TypedArrayTag union
|
|
5
|
-
* width is `TYPE_TAG_STRIDE[tag]`. */
|
|
4
|
+
* `TypedArrayTag` union, so a tag's element width is `TYPE_TAG_STRIDE[tag]`. */
|
|
6
5
|
export declare const TYPE_TAG: {
|
|
7
6
|
readonly u8: 0;
|
|
8
7
|
readonly i8: 1;
|
|
@@ -18,9 +17,9 @@ export type TypeTagValue = (typeof TYPE_TAG)[keyof typeof TYPE_TAG];
|
|
|
18
17
|
* `stride = TYPE_TAG_STRIDE[tag]` lookup is O(1) array access. */
|
|
19
18
|
export declare const TYPE_TAG_STRIDE: Readonly<Record<TypeTagValue, number>>;
|
|
20
19
|
/** String-tag → numeric-tag bridge. `TypedArrayTag` ("u8", "f32", …) is the
|
|
21
|
-
* vocabulary the TS-side component registry speaks
|
|
20
|
+
* vocabulary the TS-side component registry speaks. `TypeTagValue` is the
|
|
22
21
|
* numeric enum the SAB descriptors carry on the wire. Bridging happens at
|
|
23
|
-
* the ECS↔SAB seam
|
|
22
|
+
* the ECS↔SAB seam. Archetype layouts come in as strings, ColumnSpecs go
|
|
24
23
|
* out as integers. */
|
|
25
24
|
export declare const TYPED_ARRAY_TAG_TO_TYPE_TAG: {
|
|
26
25
|
readonly u8: 0;
|
|
@@ -36,20 +35,21 @@ export interface ColumnDescriptor {
|
|
|
36
35
|
readonly componentId: number;
|
|
37
36
|
readonly fieldId: number;
|
|
38
37
|
readonly typeTag: TypeTagValue;
|
|
39
|
-
/** Byte offset of the column's first row, measured from
|
|
38
|
+
/** Byte offset of the column's first row, measured from the store base.
|
|
39
|
+
* A reader adds the base it mounted the store at. */
|
|
40
40
|
readonly byteOff: number;
|
|
41
|
-
/** Element width in bytes
|
|
41
|
+
/** Element width in bytes. Should always equal `TYPE_TAG_STRIDE[type_tag]`. */
|
|
42
42
|
readonly stride: number;
|
|
43
43
|
}
|
|
44
44
|
export declare function writeColumnDescriptor(view: DataView, off: number, c: ColumnDescriptor): void;
|
|
45
45
|
export declare function readColumnDescriptor(view: DataView, off: number): ColumnDescriptor;
|
|
46
46
|
/** Number of distinct components the cross-language ECS supports:
|
|
47
47
|
* `COMPONENT_MASK_WORDS × 32` bits in the SAB archetype descriptor mask. The
|
|
48
|
-
*
|
|
48
|
+
* module side matches archetypes purely on this mask, so a component whose id is
|
|
49
49
|
* ≥ this limit would be invisible there while the heap-side `BitSet` stayed
|
|
50
|
-
* correct
|
|
50
|
+
* correct, silently conflating archetypes that differ only in such a
|
|
51
51
|
* component. `Store.registerComponent` enforces this as a hard registration
|
|
52
|
-
* ceiling so the overflow fails loudly instead
|
|
52
|
+
* ceiling so the overflow fails loudly instead. The mask is sized to
|
|
53
53
|
* the `BitSet`'s `INITIAL_WORD_COUNT`, so a registry within the limit never
|
|
54
54
|
* grows a component mask past its initial words. */
|
|
55
55
|
export declare const STORE_DESCRIPTOR_COMPONENT_LIMIT: number;
|
|
@@ -60,20 +60,37 @@ export interface ArchetypeDescriptor {
|
|
|
60
60
|
readonly componentMask: readonly number[];
|
|
61
61
|
readonly rowCount: number;
|
|
62
62
|
readonly rowCapacity: number;
|
|
63
|
-
/** Enabled-row count `≤ row_count
|
|
64
|
-
*
|
|
65
|
-
* `[enabled_count, row_count)`) are not simulated
|
|
63
|
+
/** Enabled-row count `≤ row_count`. A compute backend's per-row entity-scan
|
|
64
|
+
* loops bound on this so disabled entities (swapped to the tail
|
|
65
|
+
* `[enabled_count, row_count)`) are not simulated. Row-indexed cross-entity
|
|
66
66
|
* reads still use `row_count`. */
|
|
67
67
|
readonly enabledCount: number;
|
|
68
68
|
readonly columns: readonly ColumnDescriptor[];
|
|
69
69
|
}
|
|
70
70
|
/** Total bytes a descriptor will occupy, given its column count. Useful for
|
|
71
|
-
* planning the layout descriptor region size up front.
|
|
72
|
-
|
|
71
|
+
* planning the layout descriptor region size up front.
|
|
72
|
+
*
|
|
73
|
+
* `headerBytes` selects the header width and defaults to the current one. Pass
|
|
74
|
+
* `LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES` to measure a version 0 region.
|
|
75
|
+
* Never pass it when planning a region the store will write. */
|
|
76
|
+
export declare function archetypeDescriptorBytes(columnCount: number, headerBytes?: number): number;
|
|
73
77
|
export declare function writeArchetypeDescriptor(view: DataView, off: number, d: ArchetypeDescriptor): number;
|
|
74
|
-
|
|
78
|
+
/** Read one archetype descriptor at `off`.
|
|
79
|
+
*
|
|
80
|
+
* `headerBytes` says where this record's columns start and defaults to the
|
|
81
|
+
* current header width. A version 0 region needs
|
|
82
|
+
* `LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES`, because it holds no
|
|
83
|
+
* `entity_ids_off`. Every other field sits at the same offset in both widths,
|
|
84
|
+
* so nothing else here branches on the version. */
|
|
85
|
+
export declare function readArchetypeDescriptor(view: DataView, off: number, headerBytes?: number): ArchetypeDescriptor;
|
|
75
86
|
export declare function writeLayoutDescriptorRegion(view: DataView, regionOff: number, descriptors: readonly ArchetypeDescriptor[]): number;
|
|
76
|
-
|
|
87
|
+
/** Walk `archetypeCount` descriptors from `regionOff`, in written order.
|
|
88
|
+
*
|
|
89
|
+
* `headerBytes` selects the archetype header width, and defaults to the current
|
|
90
|
+
* one. A caller that reads a version 0 store passes
|
|
91
|
+
* `LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES`, because the record stride is the
|
|
92
|
+
* only thing the narrower header changes. */
|
|
93
|
+
export declare function readLayoutDescriptorRegion(view: DataView, regionOff: number, archetypeCount: number, headerBytes?: number): readonly ArchetypeDescriptor[];
|
|
77
94
|
/** Total bytes needed for a layout descriptor region holding these archetypes.
|
|
78
95
|
* Use to size the SAB region between header end and the first column. */
|
|
79
96
|
export declare function layoutDescriptorRegionBytes(descriptors: readonly ArchetypeDescriptor[]): number;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { COLUMN_DESCRIPTOR_BYTES, COLUMN_DESCRIPTOR_OFFSETS, ARCHETYPE_DESCRIPTOR_HEADER_BYTES, ARCHETYPE_DESCRIPTOR_OFFSETS, COMPONENT_MASK_WORDS } from './vendored_abi/abi.js';
|
|
2
|
-
export { COLUMN_DESCRIPTOR_BYTES, COLUMN_DESCRIPTOR_OFFSETS, ARCHETYPE_DESCRIPTOR_HEADER_BYTES, ARCHETYPE_DESCRIPTOR_OFFSETS, COMPONENT_MASK_WORDS };
|
|
1
|
+
import { COLUMN_DESCRIPTOR_BYTES, COLUMN_DESCRIPTOR_OFFSETS, ARCHETYPE_DESCRIPTOR_HEADER_BYTES, LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES, ARCHETYPE_DESCRIPTOR_OFFSETS, COMPONENT_MASK_WORDS } from './vendored_abi/abi.js';
|
|
2
|
+
export { COLUMN_DESCRIPTOR_BYTES, COLUMN_DESCRIPTOR_OFFSETS, ARCHETYPE_DESCRIPTOR_HEADER_BYTES, LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES, ARCHETYPE_DESCRIPTOR_OFFSETS, COMPONENT_MASK_WORDS };
|
|
3
3
|
/** type_tag values for `ColumnDescriptor.type_tag`. The order matches the
|
|
4
|
-
* TypedArrayTag union
|
|
5
|
-
* width is `TYPE_TAG_STRIDE[tag]`. */
|
|
4
|
+
* `TypedArrayTag` union, so a tag's element width is `TYPE_TAG_STRIDE[tag]`. */
|
|
6
5
|
export declare const TYPE_TAG: {
|
|
7
6
|
readonly u8: 0;
|
|
8
7
|
readonly i8: 1;
|
|
@@ -18,9 +17,9 @@ export type TypeTagValue = (typeof TYPE_TAG)[keyof typeof TYPE_TAG];
|
|
|
18
17
|
* `stride = TYPE_TAG_STRIDE[tag]` lookup is O(1) array access. */
|
|
19
18
|
export declare const TYPE_TAG_STRIDE: Readonly<Record<TypeTagValue, number>>;
|
|
20
19
|
/** String-tag → numeric-tag bridge. `TypedArrayTag` ("u8", "f32", …) is the
|
|
21
|
-
* vocabulary the TS-side component registry speaks
|
|
20
|
+
* vocabulary the TS-side component registry speaks. `TypeTagValue` is the
|
|
22
21
|
* numeric enum the SAB descriptors carry on the wire. Bridging happens at
|
|
23
|
-
* the ECS↔SAB seam
|
|
22
|
+
* the ECS↔SAB seam. Archetype layouts come in as strings, ColumnSpecs go
|
|
24
23
|
* out as integers. */
|
|
25
24
|
export declare const TYPED_ARRAY_TAG_TO_TYPE_TAG: {
|
|
26
25
|
readonly u8: 0;
|
|
@@ -36,20 +35,21 @@ export interface ColumnDescriptor {
|
|
|
36
35
|
readonly componentId: number;
|
|
37
36
|
readonly fieldId: number;
|
|
38
37
|
readonly typeTag: TypeTagValue;
|
|
39
|
-
/** Byte offset of the column's first row, measured from
|
|
38
|
+
/** Byte offset of the column's first row, measured from the store base.
|
|
39
|
+
* A reader adds the base it mounted the store at. */
|
|
40
40
|
readonly byteOff: number;
|
|
41
|
-
/** Element width in bytes
|
|
41
|
+
/** Element width in bytes. Should always equal `TYPE_TAG_STRIDE[type_tag]`. */
|
|
42
42
|
readonly stride: number;
|
|
43
43
|
}
|
|
44
44
|
export declare function writeColumnDescriptor(view: DataView, off: number, c: ColumnDescriptor): void;
|
|
45
45
|
export declare function readColumnDescriptor(view: DataView, off: number): ColumnDescriptor;
|
|
46
46
|
/** Number of distinct components the cross-language ECS supports:
|
|
47
47
|
* `COMPONENT_MASK_WORDS × 32` bits in the SAB archetype descriptor mask. The
|
|
48
|
-
*
|
|
48
|
+
* module side matches archetypes purely on this mask, so a component whose id is
|
|
49
49
|
* ≥ this limit would be invisible there while the heap-side `BitSet` stayed
|
|
50
|
-
* correct
|
|
50
|
+
* correct, silently conflating archetypes that differ only in such a
|
|
51
51
|
* component. `Store.registerComponent` enforces this as a hard registration
|
|
52
|
-
* ceiling so the overflow fails loudly instead
|
|
52
|
+
* ceiling so the overflow fails loudly instead. The mask is sized to
|
|
53
53
|
* the `BitSet`'s `INITIAL_WORD_COUNT`, so a registry within the limit never
|
|
54
54
|
* grows a component mask past its initial words. */
|
|
55
55
|
export declare const STORE_DESCRIPTOR_COMPONENT_LIMIT: number;
|
|
@@ -60,20 +60,37 @@ export interface ArchetypeDescriptor {
|
|
|
60
60
|
readonly componentMask: readonly number[];
|
|
61
61
|
readonly rowCount: number;
|
|
62
62
|
readonly rowCapacity: number;
|
|
63
|
-
/** Enabled-row count `≤ row_count
|
|
64
|
-
*
|
|
65
|
-
* `[enabled_count, row_count)`) are not simulated
|
|
63
|
+
/** Enabled-row count `≤ row_count`. A compute backend's per-row entity-scan
|
|
64
|
+
* loops bound on this so disabled entities (swapped to the tail
|
|
65
|
+
* `[enabled_count, row_count)`) are not simulated. Row-indexed cross-entity
|
|
66
66
|
* reads still use `row_count`. */
|
|
67
67
|
readonly enabledCount: number;
|
|
68
68
|
readonly columns: readonly ColumnDescriptor[];
|
|
69
69
|
}
|
|
70
70
|
/** Total bytes a descriptor will occupy, given its column count. Useful for
|
|
71
|
-
* planning the layout descriptor region size up front.
|
|
72
|
-
|
|
71
|
+
* planning the layout descriptor region size up front.
|
|
72
|
+
*
|
|
73
|
+
* `headerBytes` selects the header width and defaults to the current one. Pass
|
|
74
|
+
* `LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES` to measure a version 0 region.
|
|
75
|
+
* Never pass it when planning a region the store will write. */
|
|
76
|
+
export declare function archetypeDescriptorBytes(columnCount: number, headerBytes?: number): number;
|
|
73
77
|
export declare function writeArchetypeDescriptor(view: DataView, off: number, d: ArchetypeDescriptor): number;
|
|
74
|
-
|
|
78
|
+
/** Read one archetype descriptor at `off`.
|
|
79
|
+
*
|
|
80
|
+
* `headerBytes` says where this record's columns start and defaults to the
|
|
81
|
+
* current header width. A version 0 region needs
|
|
82
|
+
* `LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES`, because it holds no
|
|
83
|
+
* `entity_ids_off`. Every other field sits at the same offset in both widths,
|
|
84
|
+
* so nothing else here branches on the version. */
|
|
85
|
+
export declare function readArchetypeDescriptor(view: DataView, off: number, headerBytes?: number): ArchetypeDescriptor;
|
|
75
86
|
export declare function writeLayoutDescriptorRegion(view: DataView, regionOff: number, descriptors: readonly ArchetypeDescriptor[]): number;
|
|
76
|
-
|
|
87
|
+
/** Walk `archetypeCount` descriptors from `regionOff`, in written order.
|
|
88
|
+
*
|
|
89
|
+
* `headerBytes` selects the archetype header width, and defaults to the current
|
|
90
|
+
* one. A caller that reads a version 0 store passes
|
|
91
|
+
* `LEGACY_ARCHETYPE_DESCRIPTOR_HEADER_BYTES`, because the record stride is the
|
|
92
|
+
* only thing the narrower header changes. */
|
|
93
|
+
export declare function readLayoutDescriptorRegion(view: DataView, regionOff: number, archetypeCount: number, headerBytes?: number): readonly ArchetypeDescriptor[];
|
|
77
94
|
/** Total bytes needed for a layout descriptor region holding these archetypes.
|
|
78
95
|
* Use to size the SAB region between header end and the first column. */
|
|
79
96
|
export declare function layoutDescriptorRegionBytes(descriptors: readonly ArchetypeDescriptor[]): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/core/store/descriptor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/core/store/descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAYH,OAAO,EACN,uBAAuB,EACvB,yBAAyB,EACzB,iCAAiC,EACjC,wCAAwC,EACxC,4BAA4B,EAC5B,oBAAoB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,uBAAuB,EACvB,yBAAyB,EACzB,iCAAiC,EACjC,wCAAwC,EACxC,4BAA4B,EAC5B,oBAAoB,EACpB,CAAC;AAEF;gFACgF;AAChF,eAAO,MAAM,QAAQ;;;;;;;;;CASX,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEpE;kEACkE;AAClE,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CASjE,CAAC;AAEH;;;;sBAIsB;AACtB,eAAO,MAAM,2BAA2B;;;;;;;;;CAS9B,CAAC;AAWX,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;yDACqD;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAS5F;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAQlF;AAkBD;;;;;;;;oDAQoD;AACpD,eAAO,MAAM,gCAAgC,QAA4B,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;uDACmD;IACnD,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;sCAGkC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C;AAED;;;;;gEAKgE;AAChE,wBAAgB,wBAAwB,CACvC,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAA0C,GACrD,MAAM,CAER;AAED,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,mBAAmB,GACpB,MAAM,CAyBR;AAED;;;;;;mDAMmD;AACnD,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,MAAM,EACX,WAAW,GAAE,MAA0C,GACrD,mBAAmB,CAuBrB;AAcD,wBAAgB,2BAA2B,CAC1C,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,mBAAmB,EAAE,GACzC,MAAM,CAMR;AAED;;;;;6CAK6C;AAC7C,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,WAAW,GAAE,MAA0C,GACrD,SAAS,mBAAmB,EAAE,CAShC;AAED;yEACyE;AACzE,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,CAM/F"}
|