@oasys/oecs 0.4.0 → 0.5.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 +553 -0
- package/README.md +42 -31
- package/dist/core/ecs/access_check.d.cts +77 -0
- package/dist/core/ecs/access_check.d.ts +8 -8
- package/dist/core/ecs/access_check.d.ts.map +1 -1
- package/dist/core/ecs/archetype.d.cts +486 -0
- package/dist/core/ecs/archetype.d.ts +23 -11
- package/dist/core/ecs/archetype.d.ts.map +1 -1
- package/dist/core/ecs/archetype_graph.d.cts +96 -0
- package/dist/core/ecs/archetype_graph.d.ts +96 -0
- package/dist/core/ecs/archetype_graph.d.ts.map +1 -0
- package/dist/core/ecs/builtin_relations.d.cts +43 -0
- package/dist/core/ecs/builtin_relations.d.ts +8 -8
- package/dist/core/ecs/builtin_relations.d.ts.map +1 -1
- package/dist/core/ecs/command_log.d.cts +116 -0
- package/dist/core/ecs/command_log.d.ts +13 -10
- package/dist/core/ecs/command_log.d.ts.map +1 -1
- package/dist/core/ecs/component.d.cts +176 -0
- package/dist/core/ecs/component.d.ts +75 -5
- package/dist/core/ecs/component.d.ts.map +1 -1
- package/dist/core/ecs/compute_backend.d.cts +37 -0
- package/dist/core/ecs/compute_backend.d.ts +2 -2
- package/dist/core/ecs/debug_names.d.cts +7 -0
- package/dist/core/ecs/debug_names.d.ts +7 -0
- package/dist/core/ecs/debug_names.d.ts.map +1 -0
- package/dist/core/ecs/deferred_commands.d.cts +55 -0
- package/dist/core/ecs/deferred_commands.d.ts +55 -0
- package/dist/core/ecs/deferred_commands.d.ts.map +1 -0
- package/dist/core/ecs/dispatch_trace.d.cts +93 -0
- package/dist/core/ecs/dispatch_trace.d.ts +3 -3
- package/dist/core/ecs/ecs.d.cts +562 -0
- package/dist/core/ecs/ecs.d.ts +314 -285
- package/dist/core/ecs/ecs.d.ts.map +1 -1
- package/dist/core/ecs/ecs_memory.d.cts +179 -0
- package/dist/core/ecs/ecs_memory.d.ts +1 -1
- package/dist/core/ecs/entity.d.cts +34 -0
- package/dist/core/ecs/entity.d.ts +7 -1
- package/dist/core/ecs/entity.d.ts.map +1 -1
- package/dist/core/ecs/entity_allocator.d.cts +59 -0
- package/dist/core/ecs/entity_allocator.d.ts +59 -0
- package/dist/core/ecs/entity_allocator.d.ts.map +1 -0
- package/dist/core/ecs/event.d.cts +79 -0
- package/dist/core/ecs/event.d.ts +36 -11
- package/dist/core/ecs/event.d.ts.map +1 -1
- package/dist/core/ecs/event_registry.d.cts +22 -0
- package/dist/core/ecs/event_registry.d.ts +22 -0
- package/dist/core/ecs/event_registry.d.ts.map +1 -0
- package/dist/core/ecs/facades.d.cts +158 -0
- package/dist/core/ecs/facades.d.ts +158 -0
- package/dist/core/ecs/facades.d.ts.map +1 -0
- package/dist/core/ecs/frame_stepper.d.cts +58 -0
- package/dist/core/ecs/frame_stepper.d.ts +58 -0
- package/dist/core/ecs/frame_stepper.d.ts.map +1 -0
- package/dist/core/ecs/frame_trace.d.cts +133 -0
- package/dist/core/ecs/frame_trace.d.ts +5 -5
- package/dist/core/ecs/frame_trace.d.ts.map +1 -1
- package/dist/core/ecs/host_commands.d.cts +274 -0
- package/dist/core/ecs/host_commands.d.ts +53 -31
- package/dist/core/ecs/host_commands.d.ts.map +1 -1
- package/dist/core/ecs/index.d.cts +46 -0
- package/dist/core/ecs/index.d.ts +45 -40
- package/dist/core/ecs/index.d.ts.map +1 -1
- package/dist/core/ecs/observer.d.cts +173 -0
- package/dist/core/ecs/observer.d.ts +43 -12
- package/dist/core/ecs/observer.d.ts.map +1 -1
- package/dist/core/ecs/query.d.cts +718 -0
- package/dist/core/ecs/query.d.ts +251 -90
- package/dist/core/ecs/query.d.ts.map +1 -1
- package/dist/core/ecs/ref.d.cts +31 -0
- package/dist/core/ecs/ref.d.ts +3 -3
- package/dist/core/ecs/relation.d.cts +243 -0
- package/dist/core/ecs/relation.d.ts +26 -14
- package/dist/core/ecs/relation.d.ts.map +1 -1
- package/dist/core/ecs/relation_service.d.cts +235 -0
- package/dist/core/ecs/relation_service.d.ts +235 -0
- package/dist/core/ecs/relation_service.d.ts.map +1 -0
- package/dist/core/ecs/resource.d.cts +53 -0
- package/dist/core/ecs/resource.d.ts +25 -5
- package/dist/core/ecs/resource.d.ts.map +1 -1
- package/dist/core/ecs/resource_registry.d.cts +20 -0
- package/dist/core/ecs/resource_registry.d.ts +20 -0
- package/dist/core/ecs/resource_registry.d.ts.map +1 -0
- package/dist/core/ecs/resume.d.cts +85 -0
- package/dist/core/ecs/resume.d.ts +6 -6
- package/dist/core/ecs/resume.d.ts.map +1 -1
- package/dist/core/ecs/run_condition.d.cts +81 -0
- package/dist/core/ecs/run_condition.d.ts +15 -9
- package/dist/core/ecs/run_condition.d.ts.map +1 -1
- package/dist/core/ecs/schedule.d.cts +142 -0
- package/dist/core/ecs/schedule.d.ts +15 -6
- package/dist/core/ecs/schedule.d.ts.map +1 -1
- package/dist/core/ecs/snapshot_service.d.cts +94 -0
- package/dist/core/ecs/snapshot_service.d.ts +94 -0
- package/dist/core/ecs/snapshot_service.d.ts.map +1 -0
- package/dist/core/ecs/sparse_store.d.cts +110 -0
- package/dist/core/ecs/sparse_store.d.ts +5 -2
- package/dist/core/ecs/sparse_store.d.ts.map +1 -1
- package/dist/core/ecs/store.d.cts +950 -0
- package/dist/core/ecs/store.d.ts +143 -342
- package/dist/core/ecs/store.d.ts.map +1 -1
- package/dist/core/ecs/store_layout_listener.d.cts +23 -0
- package/dist/core/ecs/system.d.cts +250 -0
- package/dist/core/ecs/system.d.ts +138 -22
- package/dist/core/ecs/system.d.ts.map +1 -1
- package/dist/{utils/arrays.d.ts → core/ecs/utils/arrays.d.cts} +1 -0
- package/dist/core/ecs/utils/error.d.cts +61 -0
- package/dist/core/ecs/utils/error.d.ts +12 -2
- package/dist/core/ecs/utils/error.d.ts.map +1 -1
- package/dist/core/store/action_ring.d.cts +136 -0
- package/dist/core/store/allocator.d.cts +238 -0
- package/dist/core/store/allocator.d.ts.map +1 -1
- package/dist/core/store/buffer_backed_column.d.cts +69 -0
- package/dist/core/store/buffer_backed_column.d.ts +2 -2
- package/dist/core/store/column_store.d.cts +273 -0
- package/dist/core/store/column_store.d.ts +18 -10
- package/dist/core/store/column_store.d.ts.map +1 -1
- package/dist/core/store/command_dispatch.d.cts +52 -0
- package/dist/core/store/command_ring.d.cts +107 -0
- package/dist/core/store/descriptor.d.cts +80 -0
- package/dist/core/store/descriptor.d.ts +1 -1
- package/dist/core/store/descriptor.d.ts.map +1 -1
- package/dist/core/store/entity_index.d.cts +108 -0
- package/dist/core/store/event_ring.d.cts +95 -0
- package/dist/core/store/extend.d.cts +39 -0
- package/dist/core/store/extend.d.ts +3 -73
- package/dist/core/store/extend.d.ts.map +1 -1
- package/dist/core/store/grow.d.cts +34 -0
- package/dist/core/store/grow.d.ts +4 -9
- package/dist/core/store/grow.d.ts.map +1 -1
- package/dist/core/store/header.d.cts +64 -0
- package/dist/core/store/header.d.ts +1 -1
- package/dist/core/store/header.d.ts.map +1 -1
- package/dist/core/store/index.d.cts +17 -0
- package/dist/core/store/index.d.ts +16 -15
- package/dist/core/store/index.d.ts.map +1 -1
- package/dist/core/store/layout_ops.d.cts +152 -0
- package/dist/core/store/layout_ops.d.ts +152 -0
- package/dist/core/store/layout_ops.d.ts.map +1 -0
- package/dist/core/store/region_table.d.cts +74 -0
- package/dist/core/store/region_table.d.ts +1 -1
- package/dist/core/store/region_table.d.ts.map +1 -1
- package/dist/core/store/snapshot.d.cts +43 -0
- package/dist/core/store/snapshot.d.ts +2 -2
- package/dist/core/store/state_hash.d.cts +38 -0
- package/dist/core/store/state_hash.d.ts +1 -1
- package/dist/core/store/store_regions.d.cts +38 -0
- package/dist/core/store/store_regions.d.ts +1 -1
- package/dist/core/store/vendored_abi/abi.d.ts +43 -0
- package/dist/core/store/{__generated__ → vendored_abi}/abi.d.ts.map +1 -1
- package/dist/dev_flag.d.cts +17 -0
- package/dist/dev_flag.d.ts +17 -0
- package/dist/dev_flag.d.ts.map +1 -0
- package/dist/extensions/editor/editor.d.cts +170 -0
- package/dist/extensions/editor/editor.d.ts +43 -22
- package/dist/extensions/editor/editor.d.ts.map +1 -1
- package/dist/extensions/editor/field_handle.d.cts +40 -0
- package/dist/extensions/editor/field_handle.d.ts +8 -3
- package/dist/extensions/editor/field_handle.d.ts.map +1 -1
- package/dist/extensions/editor/index.cjs +1 -1
- package/dist/extensions/editor/index.d.cts +21 -0
- package/dist/extensions/editor/index.d.ts +2 -2
- package/dist/extensions/editor/index.js +116 -88
- package/dist/extensions/reactive/ecs_sync.d.cts +214 -0
- package/dist/extensions/reactive/ecs_sync.d.ts +26 -22
- package/dist/extensions/reactive/ecs_sync.d.ts.map +1 -1
- package/dist/extensions/reactive/index.cjs +1 -1
- package/dist/extensions/reactive/index.d.cts +23 -0
- package/dist/extensions/reactive/index.d.ts +1 -1
- package/dist/extensions/reactive/index.js +106 -116
- package/dist/extensions/solid/index.cjs +1 -1
- package/dist/extensions/solid/index.d.cts +6 -0
- package/dist/extensions/solid/index.d.ts +2 -2
- package/dist/extensions/solid/index.js +8 -4
- package/dist/extensions/solid/kernel_solid.d.cts +45 -0
- package/dist/extensions/solid/kernel_solid.d.ts +6 -3
- package/dist/extensions/solid/kernel_solid.d.ts.map +1 -1
- package/dist/host_commands-BF8QMi3c.cjs +1 -0
- package/dist/host_commands-i4cAeyL5.js +2318 -0
- package/dist/index.cjs +1 -2
- package/dist/index.d.cts +66 -0
- package/dist/index.d.ts +50 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4469 -5933
- package/dist/internal.cjs +2 -0
- package/dist/internal.d.cts +20 -0
- package/dist/internal.d.ts +20 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +141 -0
- package/dist/primitives.cjs +1 -1
- package/dist/primitives.d.cts +18 -0
- package/dist/primitives.d.ts +6 -6
- package/dist/primitives.js +24 -23
- package/dist/reactive/array.d.ts +24 -0
- package/dist/reactive/array.d.ts.map +1 -0
- package/dist/reactive/index.cjs +1 -0
- package/dist/reactive/index.d.cts +11 -0
- package/dist/reactive/index.d.ts +11 -0
- package/dist/reactive/index.d.ts.map +1 -0
- package/dist/reactive/index.js +18 -0
- package/dist/reactive/interop.d.cts +19 -0
- package/dist/{core/reactive → reactive}/interop.d.ts +1 -1
- package/dist/reactive/interop.d.ts.map +1 -0
- package/dist/reactive/kernel.d.cts +73 -0
- package/dist/{core/reactive → reactive}/kernel.d.ts +5 -3
- package/dist/reactive/kernel.d.ts.map +1 -0
- package/dist/reactive/map.d.ts +16 -0
- package/dist/reactive/map.d.ts.map +1 -0
- package/dist/reactive/shallow.d.cts +11 -0
- package/dist/reactive/shallow.d.ts +11 -0
- package/dist/reactive/shallow.d.ts.map +1 -0
- package/dist/reactive/struct.d.cts +10 -0
- package/dist/{core/reactive → reactive}/struct.d.ts +1 -1
- package/dist/reactive/struct.d.ts.map +1 -0
- package/dist/shallow-DQ8aG51_.cjs +1 -0
- package/dist/shallow-DfnAm9vG.js +150 -0
- package/dist/shared-BU1Cd40h.js +103 -0
- package/dist/shared-BymrGTyR.cjs +1 -0
- package/dist/shared.cjs +1 -1
- package/dist/shared.d.cts +22 -0
- package/dist/shared.d.ts +2 -2
- package/dist/shared.js +1 -1
- package/dist/topological_sort-BDvEyb9W.cjs +1 -0
- package/dist/topological_sort-DK6EjpWa.js +135 -0
- package/dist/type_primitives/assertions.d.cts +32 -0
- package/dist/type_primitives/assertions.d.ts +13 -1
- package/dist/type_primitives/assertions.d.ts.map +1 -1
- package/dist/type_primitives/binary_heap/binary_heap.d.cts +37 -0
- package/dist/type_primitives/bitset/bitset.d.cts +54 -0
- package/dist/type_primitives/brand.d.cts +23 -0
- package/dist/type_primitives/error.d.cts +16 -0
- package/dist/type_primitives/error.d.ts +4 -3
- package/dist/type_primitives/error.d.ts.map +1 -1
- package/dist/type_primitives/index.d.cts +13 -0
- package/dist/type_primitives/index.d.ts +9 -9
- package/dist/type_primitives/sparse_map/sparse_map.d.cts +30 -0
- package/dist/type_primitives/sparse_set/sparse_set.d.cts +28 -0
- package/dist/type_primitives/topological_sort/topological_sort.d.cts +29 -0
- package/dist/type_primitives/typed_arrays/typed_arrays.d.cts +127 -0
- package/dist/typed_arrays-BcXcnzB4.js +258 -0
- package/dist/typed_arrays-D3NmwtCG.cjs +1 -0
- package/dist/utils/error.d.cts +6 -0
- package/dist/version.d.cts +10 -0
- package/dist/version.d.ts +10 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +102 -19
- package/dist/array-CxbPyiHO.cjs +0 -1
- package/dist/array-uFR7Q8fU.js +0 -132
- package/dist/core/reactive/array.d.ts.map +0 -1
- package/dist/core/reactive/index.cjs +0 -1
- package/dist/core/reactive/index.d.ts +0 -10
- package/dist/core/reactive/index.d.ts.map +0 -1
- package/dist/core/reactive/index.js +0 -17
- package/dist/core/reactive/interop.d.ts.map +0 -1
- package/dist/core/reactive/kernel.d.ts.map +0 -1
- package/dist/core/reactive/map.d.ts.map +0 -1
- package/dist/core/reactive/struct.d.ts.map +0 -1
- package/dist/log/console_sink.d.ts +0 -4
- package/dist/log/console_sink.d.ts.map +0 -1
- package/dist/log/index.d.ts +0 -3
- package/dist/log/index.d.ts.map +0 -1
- package/dist/log/logger.d.ts +0 -27
- package/dist/log/logger.d.ts.map +0 -1
- package/dist/shared-BXSZnxx4.cjs +0 -1
- package/dist/shared-C678TAPY.js +0 -99
- package/dist/topological_sort-DlRpSrxu.js +0 -391
- package/dist/topological_sort-WAT-VHb-.cjs +0 -1
- package/dist/utils/arrays.d.ts.map +0 -1
- package/dist/utils/constants.d.ts.map +0 -1
- /package/dist/{utils/constants.d.ts → core/ecs/utils/constants.d.cts} +0 -0
- /package/dist/core/store/{__generated__/abi.d.ts → vendored_abi/abi.d.cts} +0 -0
- /package/dist/{core/reactive/array.d.ts → reactive/array.d.cts} +0 -0
- /package/dist/{core/reactive/map.d.ts → reactive/map.d.cts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecs.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/ecs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ecs.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/ecs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { InPlaceBufferAllocator } from '../store/index.cjs';
|
|
2
|
+
/** Default byte ceiling of the growable backing — mirrors
|
|
3
|
+
* `growableSabAllocator`'s default (see its doc comment for the measured
|
|
4
|
+
* footprint analysis that makes 256 MiB structurally unreachable). */
|
|
5
|
+
export declare const DEFAULT_ECS_CAP_BYTES: number;
|
|
6
|
+
/** Headroom multiplier applied to a budget's live column bytes: capacity
|
|
7
|
+
* doubling plus abandoned in-place holes bound worst-case footprint at ~3×
|
|
8
|
+
* live data (footprint analysis in `growableSabAllocator`'s doc). */
|
|
9
|
+
export declare const BUDGET_GROWTH_HEADROOM = 3;
|
|
10
|
+
/** Default average fully-populated row stride assumed by the budget arm.
|
|
11
|
+
* The instrumented 2-party workload measured ~49 B/entity; 64 rounds up. */
|
|
12
|
+
export declare const BUDGET_DEFAULT_BYTES_PER_ENTITY = 64;
|
|
13
|
+
/** Default archetype spread assumed by the budget arm when the consumer
|
|
14
|
+
* doesn't declare one. Drives only the derived per-archetype column
|
|
15
|
+
* capacity, not correctness — an under-declared spread just means earlier
|
|
16
|
+
* (amortised) column doubling. */
|
|
17
|
+
export declare const BUDGET_DEFAULT_ARCHETYPES = 8;
|
|
18
|
+
/** Sizing intent: "I expect a world about this big." The engine derives
|
|
19
|
+
* column capacity, entity-index reservation, and the byte cap from it, and
|
|
20
|
+
* cap errors are phrased against this budget. */
|
|
21
|
+
export interface EntityBudget {
|
|
22
|
+
/** Expected peak live entities — the one number most callers know.
|
|
23
|
+
* Bounded by the EntityID 20-bit index space (1<<20). */
|
|
24
|
+
readonly entities: number;
|
|
25
|
+
/** Expected distinct archetypes the entities spread across.
|
|
26
|
+
* Default `BUDGET_DEFAULT_ARCHETYPES`. */
|
|
27
|
+
readonly archetypes?: number;
|
|
28
|
+
/** Average fully-populated row stride in bytes.
|
|
29
|
+
* Default `BUDGET_DEFAULT_BYTES_PER_ENTITY`. */
|
|
30
|
+
readonly bytesPerEntity?: number;
|
|
31
|
+
}
|
|
32
|
+
/** WASM-backed memory, first-class (#682). Either bring your own shared
|
|
33
|
+
* `WebAssembly.Memory` (the server match context does — its sim factory
|
|
34
|
+
* owns the memory), or declare page bounds and let the engine construct
|
|
35
|
+
* it — replacing the hand-wired incantation that previously lived only in
|
|
36
|
+
* `workbench/ecs/scripts/run-memory.ts`. */
|
|
37
|
+
export type WasmMemoryArm = {
|
|
38
|
+
readonly memory: WebAssembly.Memory;
|
|
39
|
+
readonly initialPages?: never;
|
|
40
|
+
readonly maximumPages?: never;
|
|
41
|
+
} | {
|
|
42
|
+
readonly maximumPages: number;
|
|
43
|
+
readonly initialPages?: number;
|
|
44
|
+
readonly memory?: never;
|
|
45
|
+
};
|
|
46
|
+
/** Pure-TS **heap** backing (#643 / ADR-0018 §1B): a plain resizable
|
|
47
|
+
* `ArrayBuffer` instead of a `SharedArrayBuffer`. Needs no cross-origin
|
|
48
|
+
* isolation (COOP/COEP) and is the intended default for embedders that can't
|
|
49
|
+
* set those headers (the oecs profile). Trade-off: no worker offload and no
|
|
50
|
+
* WASM compute backend — both require a transferable `SharedArrayBuffer`. An
|
|
51
|
+
* empty `{}` takes the default 256 MiB growable cap. */
|
|
52
|
+
export interface HeapMemoryArm {
|
|
53
|
+
/** Byte ceiling of the growable heap backing. Default
|
|
54
|
+
* `DEFAULT_ECS_CAP_BYTES` (256 MiB), same hard-ceiling semantics as the
|
|
55
|
+
* SAB backing (#380). */
|
|
56
|
+
readonly maxBytes?: number;
|
|
57
|
+
}
|
|
58
|
+
/** Opt-in **shared-memory** backing (`@oasys/oecs/shared`): a growable
|
|
59
|
+
* `SharedArrayBuffer` instead of a plain `ArrayBuffer`. Required for worker
|
|
60
|
+
* offload and a WASM compute backend, but needs cross-origin isolation
|
|
61
|
+
* (COOP/COEP) in browsers. Empty `{}` takes the default 256 MiB growable cap. */
|
|
62
|
+
export interface SharedMemoryArm {
|
|
63
|
+
/** Byte ceiling of the growable shared backing. Default
|
|
64
|
+
* `DEFAULT_ECS_CAP_BYTES` (256 MiB), hard-ceiling semantics (#380). */
|
|
65
|
+
readonly maxBytes?: number;
|
|
66
|
+
}
|
|
67
|
+
/** Pinnable on every arm: exact initial rows per archetype column. The
|
|
68
|
+
* budget arm derives one when unpinned; every other arm defaults to
|
|
69
|
+
* `DEFAULT_COLUMN_CAPACITY`. */
|
|
70
|
+
interface ColumnCapacityPin {
|
|
71
|
+
readonly columnCapacity?: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The single sizing option on `ECSOptions.memory`. Key-discriminated —
|
|
75
|
+
* exactly one of `budget` | `maxBytes` | `wasm` | `allocator`, or none for
|
|
76
|
+
* default sizing. The `never` fields make a two-arm literal a type error;
|
|
77
|
+
* `resolveECSMemory` backstops untyped JS callers at runtime.
|
|
78
|
+
*/
|
|
79
|
+
export type ECSMemoryOptions = ({
|
|
80
|
+
readonly budget: EntityBudget;
|
|
81
|
+
readonly maxBytes?: never;
|
|
82
|
+
readonly wasm?: never;
|
|
83
|
+
readonly allocator?: never;
|
|
84
|
+
readonly heap?: never;
|
|
85
|
+
readonly shared?: never;
|
|
86
|
+
} & ColumnCapacityPin) | ({
|
|
87
|
+
readonly maxBytes: number;
|
|
88
|
+
readonly budget?: never;
|
|
89
|
+
readonly wasm?: never;
|
|
90
|
+
readonly allocator?: never;
|
|
91
|
+
readonly heap?: never;
|
|
92
|
+
readonly shared?: never;
|
|
93
|
+
} & ColumnCapacityPin) | ({
|
|
94
|
+
readonly wasm: WasmMemoryArm;
|
|
95
|
+
readonly budget?: never;
|
|
96
|
+
readonly maxBytes?: never;
|
|
97
|
+
readonly allocator?: never;
|
|
98
|
+
readonly heap?: never;
|
|
99
|
+
readonly shared?: never;
|
|
100
|
+
} & ColumnCapacityPin) | ({
|
|
101
|
+
readonly heap: HeapMemoryArm;
|
|
102
|
+
readonly budget?: never;
|
|
103
|
+
readonly maxBytes?: never;
|
|
104
|
+
readonly wasm?: never;
|
|
105
|
+
readonly allocator?: never;
|
|
106
|
+
readonly shared?: never;
|
|
107
|
+
} & ColumnCapacityPin) | ({
|
|
108
|
+
readonly shared: SharedMemoryArm;
|
|
109
|
+
readonly budget?: never;
|
|
110
|
+
readonly maxBytes?: never;
|
|
111
|
+
readonly wasm?: never;
|
|
112
|
+
readonly allocator?: never;
|
|
113
|
+
readonly heap?: never;
|
|
114
|
+
} & ColumnCapacityPin) | ({
|
|
115
|
+
/** Expert escape hatch. Typed `InPlaceBufferAllocator` so only
|
|
116
|
+
* allocators that statically declare `isInPlace: true` compile —
|
|
117
|
+
* the ADR-0008 boundary. `DEFAULT_SAB_ALLOCATOR` is rejected by the
|
|
118
|
+
* type system; non-in-place allocators stay snapshot/test-sizing
|
|
119
|
+
* utilities. */
|
|
120
|
+
readonly allocator: InPlaceBufferAllocator;
|
|
121
|
+
/** The allocator owns its real ceiling; this hint only labels
|
|
122
|
+
* diagnostics (cap errors, `memoryPlan.derivation`). */
|
|
123
|
+
readonly capBytesHint?: number;
|
|
124
|
+
readonly budget?: never;
|
|
125
|
+
readonly maxBytes?: never;
|
|
126
|
+
readonly wasm?: never;
|
|
127
|
+
readonly heap?: never;
|
|
128
|
+
readonly shared?: never;
|
|
129
|
+
} & ColumnCapacityPin) | ({
|
|
130
|
+
/** No sizing arm: default growable backing (256 MiB cap), with the
|
|
131
|
+
* column capacity optionally pinned — the minimal migration from the
|
|
132
|
+
* removed `initialCapacity` knob. */
|
|
133
|
+
readonly budget?: never;
|
|
134
|
+
readonly maxBytes?: never;
|
|
135
|
+
readonly wasm?: never;
|
|
136
|
+
readonly allocator?: never;
|
|
137
|
+
readonly heap?: never;
|
|
138
|
+
readonly shared?: never;
|
|
139
|
+
} & ColumnCapacityPin);
|
|
140
|
+
/** What the caller's intent resolved to. Exposed as `ECS.memoryPlan` for
|
|
141
|
+
* diagnostics; `intentLabel`/`budgetEntities`/`capBytes` also travel
|
|
142
|
+
* into `Store` so cap errors speak the caller's language. */
|
|
143
|
+
export interface ResolvedECSMemory {
|
|
144
|
+
readonly source: "default" | "budget" | "max_bytes" | "wasm" | "allocator" | "heap" | "shared";
|
|
145
|
+
readonly allocator: InPlaceBufferAllocator;
|
|
146
|
+
readonly columnCapacity: number;
|
|
147
|
+
readonly entityIndexCapacity: number;
|
|
148
|
+
/** Byte ceiling of the backing, `null` when unknowable from JS (a
|
|
149
|
+
* bring-your-own `WebAssembly.Memory` hides its `maximum`; a custom
|
|
150
|
+
* allocator owns its own cap unless hinted). */
|
|
151
|
+
readonly capBytes: number | null;
|
|
152
|
+
/** Human phrasing of the declared intent — reused verbatim in cap
|
|
153
|
+
* errors so the failure names what the caller asked for. */
|
|
154
|
+
readonly intentLabel: string;
|
|
155
|
+
/** The declared entity budget when the budget arm was used — drives the
|
|
156
|
+
* "N× the declared budget" cap-error diagnostic. */
|
|
157
|
+
readonly budgetEntities: number | null;
|
|
158
|
+
/** How each derived number was arrived at, one line per decision. */
|
|
159
|
+
readonly derivation: readonly string[];
|
|
160
|
+
/** The backing `WebAssembly.Memory` when the wasm arm was used (both
|
|
161
|
+
* bring-your-own and engine-constructed) — the consumer hands this to
|
|
162
|
+
* its WASM `ComputeBackend` so the sim and the columns share bytes. */
|
|
163
|
+
readonly wasmMemory: WebAssembly.Memory | null;
|
|
164
|
+
}
|
|
165
|
+
/** Subset of the plan `Store` needs to phrase cap/overflow errors in the
|
|
166
|
+
* caller's terms. */
|
|
167
|
+
export interface ECSMemoryCapContext {
|
|
168
|
+
readonly capBytes: number | null;
|
|
169
|
+
readonly intentLabel: string;
|
|
170
|
+
readonly budgetEntities: number | null;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Turn a consumer's sizing intent into a concrete memory plan. Pure apart
|
|
174
|
+
* from allocator/Memory construction; throws `INVALID_MEMORY_OPTIONS` on a
|
|
175
|
+
* malformed option set — at construction, not first-grow.
|
|
176
|
+
*/
|
|
177
|
+
export declare function resolveECSMemory(opts?: ECSMemoryOptions): ResolvedECSMemory;
|
|
178
|
+
export {};
|
|
179
|
+
//# sourceMappingURL=ecs_memory.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InPlaceBufferAllocator } from '../store';
|
|
1
|
+
import { InPlaceBufferAllocator } from '../store/index.js';
|
|
2
2
|
/** Default byte ceiling of the growable backing — mirrors
|
|
3
3
|
* `growableSabAllocator`'s default (see its doc comment for the measured
|
|
4
4
|
* footprint analysis that makes 256 MiB structurally unreachable). */
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Brand } from '../../type_primitives/index.cjs';
|
|
2
|
+
import { ECSError } from './utils/error.cjs';
|
|
3
|
+
export type EntityID = Brand<number, "entity_id">;
|
|
4
|
+
/**
|
|
5
|
+
* Compile-time readonly view of a `Uint32Array` whose elements are packed
|
|
6
|
+
* `EntityID`s — `Archetype.entityIds` returns this, so `ids[i]` is already
|
|
7
|
+
* branded and consumers don't re-brand by hand. Blocks index writes at the
|
|
8
|
+
* type layer.
|
|
9
|
+
*
|
|
10
|
+
* **Advisory, not a runtime barrier** — same caveat as `ReadonlyColumn`: the
|
|
11
|
+
* underlying value is the live mutable buffer, and indexing past
|
|
12
|
+
* `totalCount - 1` reads stale slots (the brand can't catch that).
|
|
13
|
+
*/
|
|
14
|
+
export interface ReadonlyEntityIdArray {
|
|
15
|
+
readonly [index: number]: EntityID;
|
|
16
|
+
readonly length: number;
|
|
17
|
+
}
|
|
18
|
+
export declare const INDEX_BITS = 20;
|
|
19
|
+
export declare const INDEX_MASK: number;
|
|
20
|
+
export declare const MAX_INDEX: number;
|
|
21
|
+
export declare const GENERATION_BITS: number;
|
|
22
|
+
export declare const MAX_GENERATION: number;
|
|
23
|
+
export declare const RETIRED_GENERATION: number;
|
|
24
|
+
export declare const MAX_LIVE_GENERATION: number;
|
|
25
|
+
export declare const MAX_ENTITY_ID: number;
|
|
26
|
+
export declare const createEntityId: (index: number, generation: number) => EntityID;
|
|
27
|
+
export declare const getEntityIndex: (id: EntityID) => number;
|
|
28
|
+
export declare const getEntityGeneration: (id: EntityID) => number;
|
|
29
|
+
/** Build the `ENTITY_NOT_ALIVE` error every dev-mode liveness guard throws:
|
|
30
|
+
* names the failing operation, the packed id, and its decoded index/generation
|
|
31
|
+
* so the user can see WHICH handle went stale without decoding by hand.
|
|
32
|
+
* `detail` appends op-specific context (e.g. the component being read). */
|
|
33
|
+
export declare const entityNotAliveError: (op: string, id: EntityID, detail?: string) => ECSError;
|
|
34
|
+
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Brand } from '../../type_primitives';
|
|
1
|
+
import { Brand } from '../../type_primitives/index.js';
|
|
2
|
+
import { ECSError } from './utils/error.js';
|
|
2
3
|
export type EntityID = Brand<number, "entity_id">;
|
|
3
4
|
/**
|
|
4
5
|
* Compile-time readonly view of a `Uint32Array` whose elements are packed
|
|
@@ -25,4 +26,9 @@ export declare const MAX_ENTITY_ID: number;
|
|
|
25
26
|
export declare const createEntityId: (index: number, generation: number) => EntityID;
|
|
26
27
|
export declare const getEntityIndex: (id: EntityID) => number;
|
|
27
28
|
export declare const getEntityGeneration: (id: EntityID) => number;
|
|
29
|
+
/** Build the `ENTITY_NOT_ALIVE` error every dev-mode liveness guard throws:
|
|
30
|
+
* names the failing operation, the packed id, and its decoded index/generation
|
|
31
|
+
* so the user can see WHICH handle went stale without decoding by hand.
|
|
32
|
+
* `detail` appends op-specific context (e.g. the component being read). */
|
|
33
|
+
export declare const entityNotAliveError: (op: string, id: EntityID, detail?: string) => ECSError;
|
|
28
34
|
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2BK;AAEL,OAAO,EAAE,KAAK,EAAc,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2BK;AAEL,OAAO,EAAE,KAAK,EAAc,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAa,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIpD,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,UAAU,QAAwB,CAAC;AAChD,eAAO,MAAM,SAAS,QAAa,CAAC;AACpC,eAAO,MAAM,eAAe,QAAiC,CAAC;AAC9D,eAAO,MAAM,cAAc,QAA6B,CAAC;AAQzD,eAAO,MAAM,kBAAkB,QAAiB,CAAC;AAGjD,eAAO,MAAM,mBAAmB,QAAqB,CAAC;AAMtD,eAAO,MAAM,aAAa,QAA6C,CAAC;AAExE,eAAO,MAAM,cAAc,UAAW,MAAM,cAAc,MAAM,KAAG,QAWlE,CAAC;AAEF,eAAO,MAAM,cAAc,OAAQ,QAAQ,KAAG,MAAyB,CAAC;AAExE,eAAO,MAAM,mBAAmB,OAAQ,QAAQ,KAAG,MAAsC,CAAC;AAE1F;;;2EAG2E;AAC3E,eAAO,MAAM,mBAAmB,OAAQ,MAAM,MAAM,QAAQ,WAAW,MAAM,KAAG,QAO9E,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { EntityID } from './entity.cjs';
|
|
2
|
+
export declare class EntityAllocator {
|
|
3
|
+
/** SAB-backed per-slot generation counters — replanted on restore. */
|
|
4
|
+
private _generations;
|
|
5
|
+
/** Single-slot view over the entity-index region's `length` header field —
|
|
6
|
+
* replanted on restore. Written on every high-water bump (#368). */
|
|
7
|
+
private _lengthView;
|
|
8
|
+
private _highWater;
|
|
9
|
+
private readonly _freeIndices;
|
|
10
|
+
private _aliveCount;
|
|
11
|
+
private readonly _capacity;
|
|
12
|
+
/** Slot index of the entity allocated by the most recent `alloc` call —
|
|
13
|
+
* alloc-free out-param, read immediately after the call (the `_spawnIndex`
|
|
14
|
+
* pattern the pre-extraction Store used). */
|
|
15
|
+
lastIndex: number;
|
|
16
|
+
constructor(capacity: number, generations: Int32Array, lengthView: Uint32Array);
|
|
17
|
+
/** Re-point the SAB views after the backing buffer was reallocated
|
|
18
|
+
* (grow/extend/restore). Does NOT touch host-side counters. */
|
|
19
|
+
replantViews(generations: Int32Array, lengthView: Uint32Array): void;
|
|
20
|
+
/** The live generations view. Hot flush loops hoist this to a local once
|
|
21
|
+
* per flush; do not cache it across a potential SAB replant. */
|
|
22
|
+
get generations(): Int32Array;
|
|
23
|
+
get highWater(): number;
|
|
24
|
+
get aliveCount(): number;
|
|
25
|
+
get freeCount(): number;
|
|
26
|
+
/** Allocate a slot and return its packed id; the slot index is left in
|
|
27
|
+
* `lastIndex`. This *commits* the slot (bumps counts, stamps the generation
|
|
28
|
+
* so `isAliveIndex` is already true) — a caller placing the entity into an
|
|
29
|
+
* archetype row must have reserved column capacity first (#775). */
|
|
30
|
+
alloc(): EntityID;
|
|
31
|
+
/** Pre-check that `count` fresh slots fit, so a bulk-spawn commits
|
|
32
|
+
* all-or-nothing (#775): `alloc`'s own per-call guard would otherwise
|
|
33
|
+
* throw partway through the loop, leaving committed slots phantom-alive.
|
|
34
|
+
* Free-list reuse covers the first `freeCount` slots; only the remainder
|
|
35
|
+
* draws down the high-water headroom. */
|
|
36
|
+
ensureCapacity(count: number): void;
|
|
37
|
+
/** Recycle (or retire) a slot whose entity carried `generation`. Bumps the
|
|
38
|
+
* generation so stale IDs read dead; once the counter would reach the
|
|
39
|
+
* reserved tombstone the slot is RETIRED, not recycled (#376): stamp
|
|
40
|
+
* RETIRED_GENERATION (never issued to a live handle) and skip the
|
|
41
|
+
* free-list push, closing the ABA window. Burning one of 2^20 indices
|
|
42
|
+
* after 2047 reuses is cheap; the branch is predicted not-taken on
|
|
43
|
+
* essentially every destroy. */
|
|
44
|
+
recycle(index: number, generation: number): void;
|
|
45
|
+
/** Allocation-side liveness: the slot is in the issued range and its
|
|
46
|
+
* current generation matches the handle's. (`Store.isAlive` layers the
|
|
47
|
+
* malformed-handle guards (#778) on top of this.) */
|
|
48
|
+
isAliveIndex(index: number, generation: number): boolean;
|
|
49
|
+
/** Mirror the current high-water into the SAB `length` header — called
|
|
50
|
+
* after a buffer replant so the fresh region carries the host value. */
|
|
51
|
+
publishLength(): void;
|
|
52
|
+
snapshotFreeIndices(): number[];
|
|
53
|
+
/** Restore path, step 1: adopt the high-water recovered from the restored
|
|
54
|
+
* region's length header BEFORE the replant republishes it (#789). */
|
|
55
|
+
setHighWater(value: number): void;
|
|
56
|
+
/** Restore path, step 2: adopt the captured free-list + alive count. */
|
|
57
|
+
restoreHostState(freeIndices: readonly number[], aliveCount: number): void;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=entity_allocator.d.ts.map
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { EntityID } from './entity.js';
|
|
2
|
+
export declare class EntityAllocator {
|
|
3
|
+
/** SAB-backed per-slot generation counters — replanted on restore. */
|
|
4
|
+
private _generations;
|
|
5
|
+
/** Single-slot view over the entity-index region's `length` header field —
|
|
6
|
+
* replanted on restore. Written on every high-water bump (#368). */
|
|
7
|
+
private _lengthView;
|
|
8
|
+
private _highWater;
|
|
9
|
+
private readonly _freeIndices;
|
|
10
|
+
private _aliveCount;
|
|
11
|
+
private readonly _capacity;
|
|
12
|
+
/** Slot index of the entity allocated by the most recent `alloc` call —
|
|
13
|
+
* alloc-free out-param, read immediately after the call (the `_spawnIndex`
|
|
14
|
+
* pattern the pre-extraction Store used). */
|
|
15
|
+
lastIndex: number;
|
|
16
|
+
constructor(capacity: number, generations: Int32Array, lengthView: Uint32Array);
|
|
17
|
+
/** Re-point the SAB views after the backing buffer was reallocated
|
|
18
|
+
* (grow/extend/restore). Does NOT touch host-side counters. */
|
|
19
|
+
replantViews(generations: Int32Array, lengthView: Uint32Array): void;
|
|
20
|
+
/** The live generations view. Hot flush loops hoist this to a local once
|
|
21
|
+
* per flush; do not cache it across a potential SAB replant. */
|
|
22
|
+
get generations(): Int32Array;
|
|
23
|
+
get highWater(): number;
|
|
24
|
+
get aliveCount(): number;
|
|
25
|
+
get freeCount(): number;
|
|
26
|
+
/** Allocate a slot and return its packed id; the slot index is left in
|
|
27
|
+
* `lastIndex`. This *commits* the slot (bumps counts, stamps the generation
|
|
28
|
+
* so `isAliveIndex` is already true) — a caller placing the entity into an
|
|
29
|
+
* archetype row must have reserved column capacity first (#775). */
|
|
30
|
+
alloc(): EntityID;
|
|
31
|
+
/** Pre-check that `count` fresh slots fit, so a bulk-spawn commits
|
|
32
|
+
* all-or-nothing (#775): `alloc`'s own per-call guard would otherwise
|
|
33
|
+
* throw partway through the loop, leaving committed slots phantom-alive.
|
|
34
|
+
* Free-list reuse covers the first `freeCount` slots; only the remainder
|
|
35
|
+
* draws down the high-water headroom. */
|
|
36
|
+
ensureCapacity(count: number): void;
|
|
37
|
+
/** Recycle (or retire) a slot whose entity carried `generation`. Bumps the
|
|
38
|
+
* generation so stale IDs read dead; once the counter would reach the
|
|
39
|
+
* reserved tombstone the slot is RETIRED, not recycled (#376): stamp
|
|
40
|
+
* RETIRED_GENERATION (never issued to a live handle) and skip the
|
|
41
|
+
* free-list push, closing the ABA window. Burning one of 2^20 indices
|
|
42
|
+
* after 2047 reuses is cheap; the branch is predicted not-taken on
|
|
43
|
+
* essentially every destroy. */
|
|
44
|
+
recycle(index: number, generation: number): void;
|
|
45
|
+
/** Allocation-side liveness: the slot is in the issued range and its
|
|
46
|
+
* current generation matches the handle's. (`Store.isAlive` layers the
|
|
47
|
+
* malformed-handle guards (#778) on top of this.) */
|
|
48
|
+
isAliveIndex(index: number, generation: number): boolean;
|
|
49
|
+
/** Mirror the current high-water into the SAB `length` header — called
|
|
50
|
+
* after a buffer replant so the fresh region carries the host value. */
|
|
51
|
+
publishLength(): void;
|
|
52
|
+
snapshotFreeIndices(): number[];
|
|
53
|
+
/** Restore path, step 1: adopt the high-water recovered from the restored
|
|
54
|
+
* region's length header BEFORE the replant republishes it (#789). */
|
|
55
|
+
setHighWater(value: number): void;
|
|
56
|
+
/** Restore path, step 2: adopt the captured free-list + alive count. */
|
|
57
|
+
restoreHostState(freeIndices: readonly number[], aliveCount: number): void;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=entity_allocator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity_allocator.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/entity_allocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAsC,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG7E,qBAAa,eAAe;IAC3B,sEAAsE;IACtE,OAAO,CAAC,YAAY,CAAa;IACjC;wEACoE;IACpE,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;iDAE6C;IACtC,SAAS,SAAK;gBAET,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW;IAM9E;mEAC+D;IACxD,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI;IAK3E;oEACgE;IAChE,IAAW,WAAW,IAAI,UAAU,CAEnC;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED;;;wEAGoE;IAC7D,KAAK,IAAI,QAAQ;IA8BxB;;;;6CAIyC;IAClC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY1C;;;;;;oCAMgC;IACzB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAWvD;;yDAEqD;IAC9C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAI/D;4EACwE;IACjE,aAAa,IAAI,IAAI;IAOrB,mBAAmB,IAAI,MAAM,EAAE;IAItC;0EACsE;IAC/D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIxC,wEAAwE;IACjE,gBAAgB,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAKjF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Brand } from '../../type_primitives/index.cjs';
|
|
2
|
+
export type EventID = Brand<number, "event_id">;
|
|
3
|
+
export declare const asEventId: (value: number) => EventID;
|
|
4
|
+
/** Event schema: field name → value type. Every value is a number at
|
|
5
|
+
* runtime; the declared type may be a branded number (e.g. `EntityID`)
|
|
6
|
+
* so the brand survives the emit → read round trip at the type layer.
|
|
7
|
+
* This is the erased/default schema type; the public surfaces constrain
|
|
8
|
+
* on `EventShape<S>` (below) instead, so schemas may be declared as type
|
|
9
|
+
* literals OR interfaces — an interface lacks the implicit index
|
|
10
|
+
* signature literals get (and so isn't assignable to this `Record`
|
|
11
|
+
* alias), but satisfies the homomorphic `EventShape` check. */
|
|
12
|
+
export type EventSchema = Readonly<Record<string, number>>;
|
|
13
|
+
/**
|
|
14
|
+
* Homomorphic constraint for event-schema type params (POLISH_AUDIT M9):
|
|
15
|
+
* `S extends EventShape<S>` checks every property of `S` is a number WITHOUT
|
|
16
|
+
* requiring an index signature, so `interface`-declared schemas (which lack
|
|
17
|
+
* the implicit index signature type literals get) are accepted too.
|
|
18
|
+
*/
|
|
19
|
+
export type EventShape<S> = {
|
|
20
|
+
readonly [K in keyof S]: number;
|
|
21
|
+
};
|
|
22
|
+
/** Schema of a signal — a zero-field event. */
|
|
23
|
+
export type EmptyEventSchema = Readonly<Record<never, number>>;
|
|
24
|
+
declare const __eventSchema: unique symbol;
|
|
25
|
+
export type EventDef<S extends EventShape<S> = EventSchema> = EventID & {
|
|
26
|
+
readonly [__eventSchema]: (value: S) => S;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Reader view over an event channel's SoA columns. Columns are read-only
|
|
30
|
+
* arrays typed per the event schema: consumers index them and read
|
|
31
|
+
* `.length`. A field declared as a branded number (e.g. `EntityID`) reads
|
|
32
|
+
* back branded — no cast at the consumer.
|
|
33
|
+
*
|
|
34
|
+
* The "cannot mutate the live channel through the reader" property is
|
|
35
|
+
* **advisory** — the columns are the same live `number[]` objects the channel
|
|
36
|
+
* mutates (see `EventChannel` below), so the `readonly` typing blocks writes
|
|
37
|
+
* at the type layer only; a §10c-policed cast can still write through.
|
|
38
|
+
*/
|
|
39
|
+
export type EventReader<S extends EventShape<S>> = {
|
|
40
|
+
readonly length: number;
|
|
41
|
+
} & {
|
|
42
|
+
readonly [K in keyof S]: ReadonlyArray<S[K]>;
|
|
43
|
+
};
|
|
44
|
+
export declare class EventChannel {
|
|
45
|
+
readonly fieldNames: string[];
|
|
46
|
+
readonly columns: number[][];
|
|
47
|
+
readonly reader: EventReader<any>;
|
|
48
|
+
private readonly _readerLen;
|
|
49
|
+
constructor(fieldNames: string[]);
|
|
50
|
+
emit(values: Record<string, number>): void;
|
|
51
|
+
/** Emit a signal (zero-field event). */
|
|
52
|
+
emitSignal(): void;
|
|
53
|
+
clear(): void;
|
|
54
|
+
}
|
|
55
|
+
declare const __eventKeySchema: unique symbol;
|
|
56
|
+
export type EventKey<S extends EventShape<S> = EventSchema> = symbol & {
|
|
57
|
+
readonly [__eventKeySchema]: (value: S) => S;
|
|
58
|
+
};
|
|
59
|
+
declare const __signalKey: unique symbol;
|
|
60
|
+
export type SignalKey = EventKey<EmptyEventSchema> & {
|
|
61
|
+
readonly [__signalKey]: true;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Compile-time exact-cover check for `registerEvent`'s `fields` list. The
|
|
65
|
+
* element type (`keyof S & string`) already rejects foreign fields; this
|
|
66
|
+
* catches the inverse mistake — an UNDER-registered channel. Registering
|
|
67
|
+
* `eventKey<{a; b}>` with `["a"]` used to compile, but `emit` requires the
|
|
68
|
+
* full payload while the channel only has an `a` column, so `b` was silently
|
|
69
|
+
* dropped and `reader.b` (typed as an array) was `undefined` at runtime.
|
|
70
|
+
* Resolves to `unknown` (intersection no-op) when `F` covers every key, and
|
|
71
|
+
* to an impossible tuple naming the missing fields otherwise. A schema with a
|
|
72
|
+
* string index signature (erased/untyped keys) skips the check — there is no
|
|
73
|
+
* finite key set to cover.
|
|
74
|
+
*/
|
|
75
|
+
export type EventFieldsCover<S extends EventShape<S>, F extends readonly (keyof S & string)[]> = string extends keyof S ? unknown : Exclude<keyof S & string, F[number]> extends never ? unknown : readonly [`ERROR — missing event field: ${Exclude<keyof S & string, F[number]>}`];
|
|
76
|
+
export declare function eventKey<S extends EventShape<S>>(name: string): EventKey<S>;
|
|
77
|
+
export declare function signalKey(name: string): SignalKey;
|
|
78
|
+
export {};
|
|
79
|
+
//# sourceMappingURL=event.d.ts.map
|
package/dist/core/ecs/event.d.ts
CHANGED
|
@@ -1,18 +1,29 @@
|
|
|
1
|
-
import { Brand } from '../../type_primitives';
|
|
1
|
+
import { Brand } from '../../type_primitives/index.js';
|
|
2
2
|
export type EventID = Brand<number, "event_id">;
|
|
3
3
|
export declare const asEventId: (value: number) => EventID;
|
|
4
4
|
/** Event schema: field name → value type. Every value is a number at
|
|
5
5
|
* runtime; the declared type may be a branded number (e.g. `EntityID`)
|
|
6
6
|
* so the brand survives the emit → read round trip at the type layer.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* This is the erased/default schema type; the public surfaces constrain
|
|
8
|
+
* on `EventShape<S>` (below) instead, so schemas may be declared as type
|
|
9
|
+
* literals OR interfaces — an interface lacks the implicit index
|
|
10
|
+
* signature literals get (and so isn't assignable to this `Record`
|
|
11
|
+
* alias), but satisfies the homomorphic `EventShape` check. */
|
|
10
12
|
export type EventSchema = Readonly<Record<string, number>>;
|
|
13
|
+
/**
|
|
14
|
+
* Homomorphic constraint for event-schema type params (POLISH_AUDIT M9):
|
|
15
|
+
* `S extends EventShape<S>` checks every property of `S` is a number WITHOUT
|
|
16
|
+
* requiring an index signature, so `interface`-declared schemas (which lack
|
|
17
|
+
* the implicit index signature type literals get) are accepted too.
|
|
18
|
+
*/
|
|
19
|
+
export type EventShape<S> = {
|
|
20
|
+
readonly [K in keyof S]: number;
|
|
21
|
+
};
|
|
11
22
|
/** Schema of a signal — a zero-field event. */
|
|
12
23
|
export type EmptyEventSchema = Readonly<Record<never, number>>;
|
|
13
24
|
declare const __eventSchema: unique symbol;
|
|
14
|
-
export type EventDef<S extends
|
|
15
|
-
readonly [__eventSchema]: S;
|
|
25
|
+
export type EventDef<S extends EventShape<S> = EventSchema> = EventID & {
|
|
26
|
+
readonly [__eventSchema]: (value: S) => S;
|
|
16
27
|
};
|
|
17
28
|
/**
|
|
18
29
|
* Reader view over an event channel's SoA columns. Columns are read-only
|
|
@@ -25,8 +36,8 @@ export type EventDef<S extends EventSchema = EventSchema> = EventID & {
|
|
|
25
36
|
* mutates (see `EventChannel` below), so the `readonly` typing blocks writes
|
|
26
37
|
* at the type layer only; a §10c-policed cast can still write through.
|
|
27
38
|
*/
|
|
28
|
-
export type EventReader<S extends
|
|
29
|
-
length: number;
|
|
39
|
+
export type EventReader<S extends EventShape<S>> = {
|
|
40
|
+
readonly length: number;
|
|
30
41
|
} & {
|
|
31
42
|
readonly [K in keyof S]: ReadonlyArray<S[K]>;
|
|
32
43
|
};
|
|
@@ -34,6 +45,7 @@ export declare class EventChannel {
|
|
|
34
45
|
readonly fieldNames: string[];
|
|
35
46
|
readonly columns: number[][];
|
|
36
47
|
readonly reader: EventReader<any>;
|
|
48
|
+
private readonly _readerLen;
|
|
37
49
|
constructor(fieldNames: string[]);
|
|
38
50
|
emit(values: Record<string, number>): void;
|
|
39
51
|
/** Emit a signal (zero-field event). */
|
|
@@ -41,14 +53,27 @@ export declare class EventChannel {
|
|
|
41
53
|
clear(): void;
|
|
42
54
|
}
|
|
43
55
|
declare const __eventKeySchema: unique symbol;
|
|
44
|
-
export type EventKey<S extends
|
|
45
|
-
readonly [__eventKeySchema]: S;
|
|
56
|
+
export type EventKey<S extends EventShape<S> = EventSchema> = symbol & {
|
|
57
|
+
readonly [__eventKeySchema]: (value: S) => S;
|
|
46
58
|
};
|
|
47
59
|
declare const __signalKey: unique symbol;
|
|
48
60
|
export type SignalKey = EventKey<EmptyEventSchema> & {
|
|
49
61
|
readonly [__signalKey]: true;
|
|
50
62
|
};
|
|
51
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Compile-time exact-cover check for `registerEvent`'s `fields` list. The
|
|
65
|
+
* element type (`keyof S & string`) already rejects foreign fields; this
|
|
66
|
+
* catches the inverse mistake — an UNDER-registered channel. Registering
|
|
67
|
+
* `eventKey<{a; b}>` with `["a"]` used to compile, but `emit` requires the
|
|
68
|
+
* full payload while the channel only has an `a` column, so `b` was silently
|
|
69
|
+
* dropped and `reader.b` (typed as an array) was `undefined` at runtime.
|
|
70
|
+
* Resolves to `unknown` (intersection no-op) when `F` covers every key, and
|
|
71
|
+
* to an impossible tuple naming the missing fields otherwise. A schema with a
|
|
72
|
+
* string index signature (erased/untyped keys) skips the check — there is no
|
|
73
|
+
* finite key set to cover.
|
|
74
|
+
*/
|
|
75
|
+
export type EventFieldsCover<S extends EventShape<S>, F extends readonly (keyof S & string)[]> = string extends keyof S ? unknown : Exclude<keyof S & string, F[number]> extends never ? unknown : readonly [`ERROR — missing event field: ${Exclude<keyof S & string, F[number]>}`];
|
|
76
|
+
export declare function eventKey<S extends EventShape<S>>(name: string): EventKey<S>;
|
|
52
77
|
export declare function signalKey(name: string): SignalKey;
|
|
53
78
|
export {};
|
|
54
79
|
//# sourceMappingURL=event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BK;AAEL,OAAO,EACN,KAAK,EAIL,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/core/ecs/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { EmptyEventSchema, EventDef, EventReader, EventShape } from './event.cjs';
|
|
2
|
+
export declare class EventRegistry {
|
|
3
|
+
private readonly channels;
|
|
4
|
+
private readonly dirtyChannels;
|
|
5
|
+
private count;
|
|
6
|
+
private readonly keyMap;
|
|
7
|
+
registerEvent<S extends EventShape<S>>(fields: readonly (keyof S & string)[]): EventDef<S>;
|
|
8
|
+
emitEvent(def: EventDef<any>, values: Record<string, number>): void;
|
|
9
|
+
emitSignal(def: EventDef<EmptyEventSchema>): void;
|
|
10
|
+
getEventReader<S extends EventShape<S>>(def: EventDef<S>): EventReader<S>;
|
|
11
|
+
clearEvents(): void;
|
|
12
|
+
/** `DEV`-only: total events currently buffered across the dirty channels.
|
|
13
|
+
* `ECS.update` samples this either side of `dispatchSet` to assert an onSet
|
|
14
|
+
* observer emitted nothing — its emissions would be wiped by the tick-tail
|
|
15
|
+
* `clearEvents` and break the empty-channel-at-boundary invariant snapshot /
|
|
16
|
+
* restore relies on (#586). Walks only the dirty list, never the hot emit path. */
|
|
17
|
+
devBufferedEventCount(): number;
|
|
18
|
+
registerEventByKey<S extends EventShape<S>>(key: symbol, fields: readonly (keyof S & string)[]): EventDef<S>;
|
|
19
|
+
getEventDefByKey(key: symbol): EventDef<any>;
|
|
20
|
+
hasEventKey(key: symbol): boolean;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=event_registry.d.ts.map
|