@lite-fsm/entities 0.1.0-alpha.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/LICENSE +21 -0
- package/PERFORMANCE.md +537 -0
- package/README.md +395 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +1 -0
- package/dist/internal.d.cts +5 -0
- package/dist/internal.d.ts +5 -0
- package/dist/machine-extension.d.cts +153 -0
- package/dist/machine-extension.d.ts +153 -0
- package/dist/plugin.d.cts +32 -0
- package/dist/plugin.d.ts +32 -0
- package/dist/react/index.d.cts +11 -0
- package/dist/react/index.d.ts +11 -0
- package/dist/react.cjs +1 -0
- package/dist/react.js +1 -0
- package/dist/runtime/access.d.cts +72 -0
- package/dist/runtime/access.d.ts +72 -0
- package/dist/runtime/columns.d.cts +11 -0
- package/dist/runtime/columns.d.ts +11 -0
- package/dist/runtime/compile.d.cts +68 -0
- package/dist/runtime/compile.d.ts +68 -0
- package/dist/runtime/effects.d.cts +26 -0
- package/dist/runtime/effects.d.ts +26 -0
- package/dist/runtime/lifecycle.d.cts +10 -0
- package/dist/runtime/lifecycle.d.ts +10 -0
- package/dist/runtime/mutation-snapshot.d.cts +41 -0
- package/dist/runtime/mutation-snapshot.d.ts +41 -0
- package/dist/runtime/react.d.cts +29 -0
- package/dist/runtime/react.d.ts +29 -0
- package/dist/runtime/reactions.d.cts +15 -0
- package/dist/runtime/reactions.d.ts +15 -0
- package/dist/runtime/reduce-batch.d.cts +6 -0
- package/dist/runtime/reduce-batch.d.ts +6 -0
- package/dist/runtime/reduce-despawn.d.cts +7 -0
- package/dist/runtime/reduce-despawn.d.ts +7 -0
- package/dist/runtime/reduce-post-process.d.cts +35 -0
- package/dist/runtime/reduce-post-process.d.ts +35 -0
- package/dist/runtime/reduce-shared.d.cts +34 -0
- package/dist/runtime/reduce-shared.d.ts +34 -0
- package/dist/runtime/reduce-spawn.d.cts +5 -0
- package/dist/runtime/reduce-spawn.d.ts +5 -0
- package/dist/runtime/reduce-transitions.d.cts +11 -0
- package/dist/runtime/reduce-transitions.d.ts +11 -0
- package/dist/runtime/reduce.d.cts +5 -0
- package/dist/runtime/reduce.d.ts +5 -0
- package/dist/runtime/routing.d.cts +11 -0
- package/dist/runtime/routing.d.ts +11 -0
- package/dist/runtime/runtime-index.d.cts +23 -0
- package/dist/runtime/runtime-index.d.ts +23 -0
- package/dist/runtime/snapshot-export.d.cts +12 -0
- package/dist/runtime/snapshot-export.d.ts +12 -0
- package/dist/runtime/snapshot-import.d.cts +5 -0
- package/dist/runtime/snapshot-import.d.ts +5 -0
- package/dist/runtime/snapshot-types.d.cts +56 -0
- package/dist/runtime/snapshot-types.d.ts +56 -0
- package/dist/runtime/snapshot.d.cts +15 -0
- package/dist/runtime/snapshot.d.ts +15 -0
- package/dist/runtime/spawn-commit.d.cts +10 -0
- package/dist/runtime/spawn-commit.d.ts +10 -0
- package/dist/runtime/state.d.cts +15 -0
- package/dist/runtime/state.d.ts +15 -0
- package/dist/runtime/storage.d.cts +19 -0
- package/dist/runtime/storage.d.ts +19 -0
- package/dist/runtime/store-types.d.cts +81 -0
- package/dist/runtime/store-types.d.ts +81 -0
- package/dist/runtime/transaction.d.cts +104 -0
- package/dist/runtime/transaction.d.ts +104 -0
- package/dist/runtime/transitionTrace.d.cts +19 -0
- package/dist/runtime/transitionTrace.d.ts +19 -0
- package/dist/schema.d.cts +90 -0
- package/dist/schema.d.ts +90 -0
- package/dist/spawn.d.cts +56 -0
- package/dist/spawn.d.ts +56 -0
- package/package.json +90 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { EntityIndex } from "../plugin";
|
|
2
|
+
import { type EntityReducePlan } from "./compile";
|
|
3
|
+
import { type ReduceAcceptedBatchOptions } from "./reduce-shared";
|
|
4
|
+
import { type ColumnarActorStore } from "./state";
|
|
5
|
+
import { type CapturedEntityScopeEntry, type EntityDispatchTransaction } from "./transaction";
|
|
6
|
+
type PostProcessingFlags = {
|
|
7
|
+
readonly scheduleDespawnOn: boolean;
|
|
8
|
+
readonly scheduleEffects: boolean;
|
|
9
|
+
readonly collectReactionSurvivors: boolean;
|
|
10
|
+
readonly scheduleTerminal: boolean;
|
|
11
|
+
};
|
|
12
|
+
export type EnteredEffectRows = {
|
|
13
|
+
readonly indices: EntityIndex[];
|
|
14
|
+
readonly entries: CapturedEntityScopeEntry[];
|
|
15
|
+
};
|
|
16
|
+
export type AcceptedRowsPostProcessing = {
|
|
17
|
+
readonly dirtyRows: readonly EntityIndex[] | undefined;
|
|
18
|
+
readonly dirtyRowsPreviousStateCode: number | undefined;
|
|
19
|
+
readonly dirtyRowsPreviousStateCodes: readonly number[] | undefined;
|
|
20
|
+
readonly bulkStateTransition: BulkStateTransition | undefined;
|
|
21
|
+
readonly enteredByState: ReadonlyMap<number, EnteredEffectRows> | undefined;
|
|
22
|
+
readonly cleanupRemovesAcceptedRows: boolean;
|
|
23
|
+
readonly despawnOnRemovesAcceptedRows: boolean;
|
|
24
|
+
readonly acceptedRowsHaveFinalRemoval: boolean;
|
|
25
|
+
readonly reactionSurvivorRows: readonly EntityIndex[] | undefined;
|
|
26
|
+
};
|
|
27
|
+
export type BulkStateTransition = {
|
|
28
|
+
readonly indices: readonly EntityIndex[];
|
|
29
|
+
readonly previousStateCode: number;
|
|
30
|
+
readonly stateCode: number;
|
|
31
|
+
};
|
|
32
|
+
export declare const getPostProcessingFlags: (store: ColumnarActorStore, plan: EntityReducePlan | undefined, options: ReduceAcceptedBatchOptions) => PostProcessingFlags;
|
|
33
|
+
export declare const getEnteredEffectIndices: (entered: EnteredEffectRows) => readonly EntityIndex[];
|
|
34
|
+
export declare const postProcessAcceptedRows: (transaction: EntityDispatchTransaction | undefined, store: ColumnarActorStore, accepted: readonly EntityIndex[], flags: PostProcessingFlags, plan: EntityReducePlan | undefined, previousStateCodeForAccepted: number | undefined, knownValidStateCodeForAccepted: number | undefined, sourceStateCodesByAccepted?: readonly number[]) => AcceptedRowsPostProcessing;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { AnyEvent, ManagerAction, StorageReduceBucketContext } from "@lite-fsm/core";
|
|
2
|
+
import type { EntityIndex } from "../plugin";
|
|
3
|
+
import type { ColumnarActorStore } from "./state";
|
|
4
|
+
import { type EntityDispatchTransaction, type EntityReactionBatch } from "./transaction";
|
|
5
|
+
import type { EntityTransitionTraceSession } from "./transitionTrace";
|
|
6
|
+
export { runtimeError } from "../internal";
|
|
7
|
+
export { isTerminalStateCode } from "./compile";
|
|
8
|
+
export type ReducerBatch = {
|
|
9
|
+
readonly store: ColumnarActorStore;
|
|
10
|
+
readonly indices: readonly EntityIndex[];
|
|
11
|
+
readonly action: ManagerAction<AnyEvent>;
|
|
12
|
+
readonly eventCode: number | undefined;
|
|
13
|
+
readonly accepted?: true;
|
|
14
|
+
readonly payloadScope?: SpawnPayloadScope;
|
|
15
|
+
};
|
|
16
|
+
export type SpawnPayloadScope = {
|
|
17
|
+
readonly indices: readonly EntityIndex[];
|
|
18
|
+
readonly payloads: readonly Record<string, unknown>[];
|
|
19
|
+
readonly firstEntity: EntityIndex;
|
|
20
|
+
readonly positionsByEntity?: Readonly<Record<number, number | undefined>>;
|
|
21
|
+
};
|
|
22
|
+
export type ReduceAcceptedBatchOptions = {
|
|
23
|
+
readonly allowBorrowedReactionBatch?: boolean;
|
|
24
|
+
readonly scheduleDespawnOn?: boolean;
|
|
25
|
+
readonly scheduleEffects?: boolean;
|
|
26
|
+
readonly scheduleReactions?: boolean;
|
|
27
|
+
readonly scheduleTerminal?: boolean;
|
|
28
|
+
readonly trace?: EntityTransitionTraceSession;
|
|
29
|
+
readonly traceBatchPrefix?: string;
|
|
30
|
+
readonly tracePublicBatch?: boolean;
|
|
31
|
+
onAccepted?(accepted: readonly EntityIndex[]): void;
|
|
32
|
+
};
|
|
33
|
+
export type LifecycleReactionContext = Pick<StorageReduceBucketContext<any>, "dispatch" | "manager">;
|
|
34
|
+
export declare const appendLifecycleReactionBatch: (transaction: EntityDispatchTransaction | undefined, batches: EntityReactionBatch[], store: ColumnarActorStore, eventCode: number | undefined, indices: readonly EntityIndex[]) => void;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { AnyEvent, ManagerAction, StorageReduceBucketContext } from "@lite-fsm/core";
|
|
2
|
+
import type { EntityIndex } from "../plugin";
|
|
3
|
+
import type { ColumnarActorStore } from "./state";
|
|
4
|
+
import { type EntityDispatchTransaction, type EntityReactionBatch } from "./transaction";
|
|
5
|
+
import type { EntityTransitionTraceSession } from "./transitionTrace";
|
|
6
|
+
export { runtimeError } from "../internal";
|
|
7
|
+
export { isTerminalStateCode } from "./compile";
|
|
8
|
+
export type ReducerBatch = {
|
|
9
|
+
readonly store: ColumnarActorStore;
|
|
10
|
+
readonly indices: readonly EntityIndex[];
|
|
11
|
+
readonly action: ManagerAction<AnyEvent>;
|
|
12
|
+
readonly eventCode: number | undefined;
|
|
13
|
+
readonly accepted?: true;
|
|
14
|
+
readonly payloadScope?: SpawnPayloadScope;
|
|
15
|
+
};
|
|
16
|
+
export type SpawnPayloadScope = {
|
|
17
|
+
readonly indices: readonly EntityIndex[];
|
|
18
|
+
readonly payloads: readonly Record<string, unknown>[];
|
|
19
|
+
readonly firstEntity: EntityIndex;
|
|
20
|
+
readonly positionsByEntity?: Readonly<Record<number, number | undefined>>;
|
|
21
|
+
};
|
|
22
|
+
export type ReduceAcceptedBatchOptions = {
|
|
23
|
+
readonly allowBorrowedReactionBatch?: boolean;
|
|
24
|
+
readonly scheduleDespawnOn?: boolean;
|
|
25
|
+
readonly scheduleEffects?: boolean;
|
|
26
|
+
readonly scheduleReactions?: boolean;
|
|
27
|
+
readonly scheduleTerminal?: boolean;
|
|
28
|
+
readonly trace?: EntityTransitionTraceSession;
|
|
29
|
+
readonly traceBatchPrefix?: string;
|
|
30
|
+
readonly tracePublicBatch?: boolean;
|
|
31
|
+
onAccepted?(accepted: readonly EntityIndex[]): void;
|
|
32
|
+
};
|
|
33
|
+
export type LifecycleReactionContext = Pick<StorageReduceBucketContext<any>, "dispatch" | "manager">;
|
|
34
|
+
export declare const appendLifecycleReactionBatch: (transaction: EntityDispatchTransaction | undefined, batches: EntityReactionBatch[], store: ColumnarActorStore, eventCode: number | undefined, indices: readonly EntityIndex[]) => void;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type LifecycleReactionContext } from "./reduce-shared";
|
|
2
|
+
import type { EntityRuntimeState } from "./state";
|
|
3
|
+
import { type EntityDispatchTransaction, type StagedEntitySpawn } from "./transaction";
|
|
4
|
+
import { type EntityTransitionTraceSession } from "./transitionTrace";
|
|
5
|
+
export declare const reduceStagedSpawnLifecycle: (runtime: EntityRuntimeState, staged: readonly StagedEntitySpawn[], transaction: EntityDispatchTransaction | undefined, reactionContext: LifecycleReactionContext, trace?: EntityTransitionTraceSession) => boolean;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type LifecycleReactionContext } from "./reduce-shared";
|
|
2
|
+
import type { EntityRuntimeState } from "./state";
|
|
3
|
+
import { type EntityDispatchTransaction, type StagedEntitySpawn } from "./transaction";
|
|
4
|
+
import { type EntityTransitionTraceSession } from "./transitionTrace";
|
|
5
|
+
export declare const reduceStagedSpawnLifecycle: (runtime: EntityRuntimeState, staged: readonly StagedEntitySpawn[], transaction: EntityDispatchTransaction | undefined, reactionContext: LifecycleReactionContext, trace?: EntityTransitionTraceSession) => boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { EntityIndex } from "../plugin";
|
|
2
|
+
import { type ReducerBatch } from "./reduce-shared";
|
|
3
|
+
type DefaultTransitionResult = {
|
|
4
|
+
readonly firstNextState: string | undefined;
|
|
5
|
+
readonly previousStateCodeForAccepted: number | undefined;
|
|
6
|
+
readonly sourceStateCodesByAccepted?: readonly number[];
|
|
7
|
+
readonly knownValidStateCodeForAccepted?: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const getAcceptedIndices: (batch: ReducerBatch) => readonly EntityIndex[];
|
|
10
|
+
export declare const applyDefaultTransitions: (batch: ReducerBatch, accepted: readonly EntityIndex[]) => DefaultTransitionResult;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { EntityIndex } from "../plugin";
|
|
2
|
+
import { type ReducerBatch } from "./reduce-shared";
|
|
3
|
+
type DefaultTransitionResult = {
|
|
4
|
+
readonly firstNextState: string | undefined;
|
|
5
|
+
readonly previousStateCodeForAccepted: number | undefined;
|
|
6
|
+
readonly sourceStateCodesByAccepted?: readonly number[];
|
|
7
|
+
readonly knownValidStateCodeForAccepted?: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const getAcceptedIndices: (batch: ReducerBatch) => readonly EntityIndex[];
|
|
10
|
+
export declare const applyDefaultTransitions: (batch: ReducerBatch, accepted: readonly EntityIndex[]) => DefaultTransitionResult;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { StorageReduceBucketContext } from "@lite-fsm/core";
|
|
2
|
+
import type { EntityIndex } from "../plugin";
|
|
3
|
+
import type { ColumnarActorStore, EntityRuntimeState } from "./state";
|
|
4
|
+
type EntityDispatchRoute = StorageReduceBucketContext<any>["dispatch"]["route"];
|
|
5
|
+
export type EntityPublicReducerBatch = {
|
|
6
|
+
readonly store: ColumnarActorStore;
|
|
7
|
+
readonly indices: readonly EntityIndex[];
|
|
8
|
+
readonly accepted: true;
|
|
9
|
+
};
|
|
10
|
+
export declare const collectEntityPublicReducerBatches: (runtime: EntityRuntimeState, eventCode: number, route: EntityDispatchRoute) => EntityPublicReducerBatch[];
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { StorageReduceBucketContext } from "@lite-fsm/core";
|
|
2
|
+
import type { EntityIndex } from "../plugin";
|
|
3
|
+
import type { ColumnarActorStore, EntityRuntimeState } from "./state";
|
|
4
|
+
type EntityDispatchRoute = StorageReduceBucketContext<any>["dispatch"]["route"];
|
|
5
|
+
export type EntityPublicReducerBatch = {
|
|
6
|
+
readonly store: ColumnarActorStore;
|
|
7
|
+
readonly indices: readonly EntityIndex[];
|
|
8
|
+
readonly accepted: true;
|
|
9
|
+
};
|
|
10
|
+
export declare const collectEntityPublicReducerBatches: (runtime: EntityRuntimeState, eventCode: number, route: EntityDispatchRoute) => EntityPublicReducerBatch[];
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { StorageTemplate } from "@lite-fsm/core";
|
|
2
|
+
import type { EntityIndex } from "../plugin";
|
|
3
|
+
import { type EntityTemplateMetadata } from "./compile";
|
|
4
|
+
import type { ColumnarActorStore, EntityActorRowRef, EntityPublicStateSlice, EntityRuntimeState, EntityStore } from "./store-types";
|
|
5
|
+
type ActorRowRemovalMode = "row" | "fullEntity";
|
|
6
|
+
export declare const createScratchByState: (states: readonly string[]) => EntityIndex[][];
|
|
7
|
+
export declare const refreshActorPublicSlice: (store: ColumnarActorStore) => void;
|
|
8
|
+
export declare const clearPendingPrevStateCodeSync: (store: ColumnarActorStore) => void;
|
|
9
|
+
export declare const schedulePrevStateCodeSync: (store: ColumnarActorStore, indices: readonly EntityIndex[]) => void;
|
|
10
|
+
export declare const schedulePrevStateCodeSyncRow: (store: ColumnarActorStore, entity: EntityIndex) => void;
|
|
11
|
+
export declare const schedulePresentPrevStateCodeSync: (store: ColumnarActorStore) => void;
|
|
12
|
+
export declare const syncPendingPrevStateCode: (store: ColumnarActorStore) => void;
|
|
13
|
+
export declare const rebuildActorAcceptStateBuckets: (store: ColumnarActorStore) => void;
|
|
14
|
+
export declare const addEntityToGroupBucket: (store: EntityStore, entity: EntityIndex, groupTag: string) => void;
|
|
15
|
+
export declare const addActorRowOwnership: (runtime: EntityRuntimeState, store: ColumnarActorStore, entity: EntityIndex, groupTag: string) => void;
|
|
16
|
+
export declare const moveActorStateBucket: (store: ColumnarActorStore, entity: EntityIndex, previousCode: number, nextCode: number) => void;
|
|
17
|
+
export declare const moveActorStateBucketBatch: (store: ColumnarActorStore, sourceCode: number, targetCode: number, sourceBucket: readonly EntityIndex[]) => boolean;
|
|
18
|
+
export declare const removeActorRowsForStore: (runtime: EntityRuntimeState, store: ColumnarActorStore, rows: readonly EntityActorRowRef[], bucketStateCodes?: readonly (number | undefined)[], mode?: ActorRowRemovalMode) => number;
|
|
19
|
+
export declare const removeEntityRecords: (runtime: EntityRuntimeState, entities: readonly EntityIndex[]) => number;
|
|
20
|
+
export declare const createPublicInitialState: (runtime: EntityRuntimeState, template: StorageTemplate<EntityTemplateMetadata>) => EntityPublicStateSlice;
|
|
21
|
+
export declare const restorePublicSlices: (runtime: EntityRuntimeState, nextState: Record<string, unknown>) => Record<string, unknown>;
|
|
22
|
+
export declare const rebuildEntityRuntimeIndexes: (runtime: EntityRuntimeState) => void;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { StorageTemplate } from "@lite-fsm/core";
|
|
2
|
+
import type { EntityIndex } from "../plugin";
|
|
3
|
+
import { type EntityTemplateMetadata } from "./compile";
|
|
4
|
+
import type { ColumnarActorStore, EntityActorRowRef, EntityPublicStateSlice, EntityRuntimeState, EntityStore } from "./store-types";
|
|
5
|
+
type ActorRowRemovalMode = "row" | "fullEntity";
|
|
6
|
+
export declare const createScratchByState: (states: readonly string[]) => EntityIndex[][];
|
|
7
|
+
export declare const refreshActorPublicSlice: (store: ColumnarActorStore) => void;
|
|
8
|
+
export declare const clearPendingPrevStateCodeSync: (store: ColumnarActorStore) => void;
|
|
9
|
+
export declare const schedulePrevStateCodeSync: (store: ColumnarActorStore, indices: readonly EntityIndex[]) => void;
|
|
10
|
+
export declare const schedulePrevStateCodeSyncRow: (store: ColumnarActorStore, entity: EntityIndex) => void;
|
|
11
|
+
export declare const schedulePresentPrevStateCodeSync: (store: ColumnarActorStore) => void;
|
|
12
|
+
export declare const syncPendingPrevStateCode: (store: ColumnarActorStore) => void;
|
|
13
|
+
export declare const rebuildActorAcceptStateBuckets: (store: ColumnarActorStore) => void;
|
|
14
|
+
export declare const addEntityToGroupBucket: (store: EntityStore, entity: EntityIndex, groupTag: string) => void;
|
|
15
|
+
export declare const addActorRowOwnership: (runtime: EntityRuntimeState, store: ColumnarActorStore, entity: EntityIndex, groupTag: string) => void;
|
|
16
|
+
export declare const moveActorStateBucket: (store: ColumnarActorStore, entity: EntityIndex, previousCode: number, nextCode: number) => void;
|
|
17
|
+
export declare const moveActorStateBucketBatch: (store: ColumnarActorStore, sourceCode: number, targetCode: number, sourceBucket: readonly EntityIndex[]) => boolean;
|
|
18
|
+
export declare const removeActorRowsForStore: (runtime: EntityRuntimeState, store: ColumnarActorStore, rows: readonly EntityActorRowRef[], bucketStateCodes?: readonly (number | undefined)[], mode?: ActorRowRemovalMode) => number;
|
|
19
|
+
export declare const removeEntityRecords: (runtime: EntityRuntimeState, entities: readonly EntityIndex[]) => number;
|
|
20
|
+
export declare const createPublicInitialState: (runtime: EntityRuntimeState, template: StorageTemplate<EntityTemplateMetadata>) => EntityPublicStateSlice;
|
|
21
|
+
export declare const restorePublicSlices: (runtime: EntityRuntimeState, nextState: Record<string, unknown>) => Record<string, unknown>;
|
|
22
|
+
export declare const rebuildEntityRuntimeIndexes: (runtime: EntityRuntimeState) => void;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type EntityRuntimeState } from "./state";
|
|
2
|
+
import type { EntitySnapshot } from "./snapshot-types";
|
|
3
|
+
type EntityDehydrateContext = {
|
|
4
|
+
readonly options?: {
|
|
5
|
+
readonly machines?: readonly string[];
|
|
6
|
+
} | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare const dehydrateEntityRuntime: (runtime: EntityRuntimeState, ctx: EntityDehydrateContext) => {
|
|
9
|
+
readonly machines: Record<string, unknown>;
|
|
10
|
+
readonly snapshot: EntitySnapshot;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type EntityRuntimeState } from "./state";
|
|
2
|
+
import type { EntitySnapshot } from "./snapshot-types";
|
|
3
|
+
type EntityDehydrateContext = {
|
|
4
|
+
readonly options?: {
|
|
5
|
+
readonly machines?: readonly string[];
|
|
6
|
+
} | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare const dehydrateEntityRuntime: (runtime: EntityRuntimeState, ctx: EntityDehydrateContext) => {
|
|
9
|
+
readonly machines: Record<string, unknown>;
|
|
10
|
+
readonly snapshot: EntitySnapshot;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ColumnarActorStore, EntityRuntimeState } from "./state";
|
|
2
|
+
import type { EntityColumnKind, ImportedRuntime } from "./snapshot-types";
|
|
3
|
+
export declare const columnKindsFor: (store: ColumnarActorStore) => Record<string, EntityColumnKind>;
|
|
4
|
+
export declare const importEntitySnapshot: (runtime: EntityRuntimeState, value: unknown) => ImportedRuntime;
|
|
5
|
+
export declare const importEntitySnapshotPreview: (runtime: EntityRuntimeState, value: unknown) => ImportedRuntime;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ColumnarActorStore, EntityRuntimeState } from "./state";
|
|
2
|
+
import type { EntityColumnKind, ImportedRuntime } from "./snapshot-types";
|
|
3
|
+
export declare const columnKindsFor: (store: ColumnarActorStore) => Record<string, EntityColumnKind>;
|
|
4
|
+
export declare const importEntitySnapshot: (runtime: EntityRuntimeState, value: unknown) => ImportedRuntime;
|
|
5
|
+
export declare const importEntitySnapshotPreview: (runtime: EntityRuntimeState, value: unknown) => ImportedRuntime;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { EntityIndex } from "../plugin";
|
|
2
|
+
import type { EntityColumn } from "./state";
|
|
3
|
+
export type EntityColumnKind = "f32" | "i16" | "i32" | "u8" | "string";
|
|
4
|
+
export type EntityStoreSnapshot = {
|
|
5
|
+
readonly count: number;
|
|
6
|
+
readonly capacity: number;
|
|
7
|
+
readonly ids: readonly string[];
|
|
8
|
+
readonly alive: readonly number[];
|
|
9
|
+
readonly generation?: readonly number[];
|
|
10
|
+
readonly groupTagByIndex: readonly string[];
|
|
11
|
+
readonly freeList?: readonly number[];
|
|
12
|
+
readonly version: number;
|
|
13
|
+
};
|
|
14
|
+
export type EntityActorSnapshot = {
|
|
15
|
+
readonly schema: {
|
|
16
|
+
readonly states: readonly string[];
|
|
17
|
+
readonly columns: Readonly<Record<string, EntityColumnKind>>;
|
|
18
|
+
};
|
|
19
|
+
readonly count: number;
|
|
20
|
+
readonly capacity: number;
|
|
21
|
+
readonly version: number;
|
|
22
|
+
readonly presence: readonly number[];
|
|
23
|
+
readonly stateCode: readonly number[];
|
|
24
|
+
readonly prevStateCode: readonly number[];
|
|
25
|
+
readonly rowVersion?: readonly number[];
|
|
26
|
+
readonly columns: Readonly<Record<string, readonly unknown[]>>;
|
|
27
|
+
};
|
|
28
|
+
export type EntitySnapshot = {
|
|
29
|
+
readonly formatVersion: 1;
|
|
30
|
+
readonly entityStore: EntityStoreSnapshot;
|
|
31
|
+
readonly actors: Readonly<Record<string, EntityActorSnapshot>>;
|
|
32
|
+
};
|
|
33
|
+
export type ImportedEntityStore = {
|
|
34
|
+
readonly count: number;
|
|
35
|
+
readonly capacity: number;
|
|
36
|
+
readonly ids: string[];
|
|
37
|
+
readonly alive: Uint8Array;
|
|
38
|
+
readonly generation: Uint32Array;
|
|
39
|
+
readonly groupTagByIndex: string[];
|
|
40
|
+
readonly freeList: EntityIndex[];
|
|
41
|
+
readonly version: number;
|
|
42
|
+
};
|
|
43
|
+
export type ImportedActorStore = {
|
|
44
|
+
readonly capacity: number;
|
|
45
|
+
readonly count: number;
|
|
46
|
+
readonly version: number;
|
|
47
|
+
readonly presence: Uint8Array;
|
|
48
|
+
readonly stateCode: Int16Array;
|
|
49
|
+
readonly prevStateCode: Int16Array;
|
|
50
|
+
readonly rowVersion: Uint32Array;
|
|
51
|
+
readonly columns: Record<string, EntityColumn>;
|
|
52
|
+
};
|
|
53
|
+
export type ImportedRuntime = {
|
|
54
|
+
readonly entityStore: ImportedEntityStore;
|
|
55
|
+
readonly actorStores: Record<string, ImportedActorStore>;
|
|
56
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { EntityIndex } from "../plugin";
|
|
2
|
+
import type { EntityColumn } from "./state";
|
|
3
|
+
export type EntityColumnKind = "f32" | "i16" | "i32" | "u8" | "string";
|
|
4
|
+
export type EntityStoreSnapshot = {
|
|
5
|
+
readonly count: number;
|
|
6
|
+
readonly capacity: number;
|
|
7
|
+
readonly ids: readonly string[];
|
|
8
|
+
readonly alive: readonly number[];
|
|
9
|
+
readonly generation?: readonly number[];
|
|
10
|
+
readonly groupTagByIndex: readonly string[];
|
|
11
|
+
readonly freeList?: readonly number[];
|
|
12
|
+
readonly version: number;
|
|
13
|
+
};
|
|
14
|
+
export type EntityActorSnapshot = {
|
|
15
|
+
readonly schema: {
|
|
16
|
+
readonly states: readonly string[];
|
|
17
|
+
readonly columns: Readonly<Record<string, EntityColumnKind>>;
|
|
18
|
+
};
|
|
19
|
+
readonly count: number;
|
|
20
|
+
readonly capacity: number;
|
|
21
|
+
readonly version: number;
|
|
22
|
+
readonly presence: readonly number[];
|
|
23
|
+
readonly stateCode: readonly number[];
|
|
24
|
+
readonly prevStateCode: readonly number[];
|
|
25
|
+
readonly rowVersion?: readonly number[];
|
|
26
|
+
readonly columns: Readonly<Record<string, readonly unknown[]>>;
|
|
27
|
+
};
|
|
28
|
+
export type EntitySnapshot = {
|
|
29
|
+
readonly formatVersion: 1;
|
|
30
|
+
readonly entityStore: EntityStoreSnapshot;
|
|
31
|
+
readonly actors: Readonly<Record<string, EntityActorSnapshot>>;
|
|
32
|
+
};
|
|
33
|
+
export type ImportedEntityStore = {
|
|
34
|
+
readonly count: number;
|
|
35
|
+
readonly capacity: number;
|
|
36
|
+
readonly ids: string[];
|
|
37
|
+
readonly alive: Uint8Array;
|
|
38
|
+
readonly generation: Uint32Array;
|
|
39
|
+
readonly groupTagByIndex: string[];
|
|
40
|
+
readonly freeList: EntityIndex[];
|
|
41
|
+
readonly version: number;
|
|
42
|
+
};
|
|
43
|
+
export type ImportedActorStore = {
|
|
44
|
+
readonly capacity: number;
|
|
45
|
+
readonly count: number;
|
|
46
|
+
readonly version: number;
|
|
47
|
+
readonly presence: Uint8Array;
|
|
48
|
+
readonly stateCode: Int16Array;
|
|
49
|
+
readonly prevStateCode: Int16Array;
|
|
50
|
+
readonly rowVersion: Uint32Array;
|
|
51
|
+
readonly columns: Record<string, EntityColumn>;
|
|
52
|
+
};
|
|
53
|
+
export type ImportedRuntime = {
|
|
54
|
+
readonly entityStore: ImportedEntityStore;
|
|
55
|
+
readonly actorStores: Record<string, ImportedActorStore>;
|
|
56
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type EntityRuntimeState } from "./state";
|
|
2
|
+
import type { EntitySnapshot } from "./snapshot-types";
|
|
3
|
+
export { dehydrateEntityRuntime } from "./snapshot-export";
|
|
4
|
+
export { importEntitySnapshotPreview } from "./snapshot-import";
|
|
5
|
+
export type { EntityActorSnapshot, EntitySnapshot, EntityStoreSnapshot, ImportedActorStore, ImportedEntityStore, ImportedRuntime, } from "./snapshot-types";
|
|
6
|
+
type EntityHydrateContext = {
|
|
7
|
+
readonly machines: Readonly<Record<string, unknown>>;
|
|
8
|
+
readonly snapshot: EntitySnapshot | undefined;
|
|
9
|
+
readonly baseState: Record<string, unknown>;
|
|
10
|
+
readonly mode: "preview" | "commit" | "init";
|
|
11
|
+
};
|
|
12
|
+
export declare const hydrateEntityRuntime: (runtime: EntityRuntimeState, ctx: EntityHydrateContext) => {
|
|
13
|
+
readonly nextState: Record<string, unknown>;
|
|
14
|
+
readonly changed: boolean;
|
|
15
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type EntityRuntimeState } from "./state";
|
|
2
|
+
import type { EntitySnapshot } from "./snapshot-types";
|
|
3
|
+
export { dehydrateEntityRuntime } from "./snapshot-export";
|
|
4
|
+
export { importEntitySnapshotPreview } from "./snapshot-import";
|
|
5
|
+
export type { EntityActorSnapshot, EntitySnapshot, EntityStoreSnapshot, ImportedActorStore, ImportedEntityStore, ImportedRuntime, } from "./snapshot-types";
|
|
6
|
+
type EntityHydrateContext = {
|
|
7
|
+
readonly machines: Readonly<Record<string, unknown>>;
|
|
8
|
+
readonly snapshot: EntitySnapshot | undefined;
|
|
9
|
+
readonly baseState: Record<string, unknown>;
|
|
10
|
+
readonly mode: "preview" | "commit" | "init";
|
|
11
|
+
};
|
|
12
|
+
export declare const hydrateEntityRuntime: (runtime: EntityRuntimeState, ctx: EntityHydrateContext) => {
|
|
13
|
+
readonly nextState: Record<string, unknown>;
|
|
14
|
+
readonly changed: boolean;
|
|
15
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { EntityIndex } from "../plugin";
|
|
2
|
+
import type { SpawnPayloadScope } from "./reduce-shared";
|
|
3
|
+
import { type ColumnarActorStore, type EntityRuntimeState } from "./state";
|
|
4
|
+
import type { StagedEntitySpawn } from "./transaction";
|
|
5
|
+
export type SpawnBatch = {
|
|
6
|
+
readonly store: ColumnarActorStore;
|
|
7
|
+
readonly indices: EntityIndex[];
|
|
8
|
+
readonly payloadScope: SpawnPayloadScope;
|
|
9
|
+
};
|
|
10
|
+
export declare const applyStagedSpawnCommit: (runtime: EntityRuntimeState, stagedSpawns: readonly StagedEntitySpawn[]) => readonly SpawnBatch[];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { EntityIndex } from "../plugin";
|
|
2
|
+
import type { SpawnPayloadScope } from "./reduce-shared";
|
|
3
|
+
import { type ColumnarActorStore, type EntityRuntimeState } from "./state";
|
|
4
|
+
import type { StagedEntitySpawn } from "./transaction";
|
|
5
|
+
export type SpawnBatch = {
|
|
6
|
+
readonly store: ColumnarActorStore;
|
|
7
|
+
readonly indices: EntityIndex[];
|
|
8
|
+
readonly payloadScope: SpawnPayloadScope;
|
|
9
|
+
};
|
|
10
|
+
export declare const applyStagedSpawnCommit: (runtime: EntityRuntimeState, stagedSpawns: readonly StagedEntitySpawn[]) => readonly SpawnBatch[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StorageManagerContext, StorageTemplate } from "@lite-fsm/core";
|
|
2
|
+
import type { EntityIndex } from "../plugin";
|
|
3
|
+
import { type EntityTemplateMetadata } from "./compile";
|
|
4
|
+
import type { ColumnarActorStore, EntityReducerSelfCache, EntityRuntimeState, EntityStore } from "./store-types";
|
|
5
|
+
export type { ColumnarActorStore, EntityActorRowRef, EntityColumn, EntityReducerSelfCache, EntityRuntimeState, EntityStore, } from "./store-types";
|
|
6
|
+
export { getInitialColumnValue } from "./columns";
|
|
7
|
+
export { addActorRowOwnership, addEntityToGroupBucket, clearPendingPrevStateCodeSync, createPublicInitialState, moveActorStateBucket, moveActorStateBucketBatch, rebuildActorAcceptStateBuckets, rebuildEntityRuntimeIndexes, refreshActorPublicSlice, removeActorRowsForStore, removeEntityRecords, restorePublicSlices, schedulePresentPrevStateCodeSync, schedulePrevStateCodeSync, schedulePrevStateCodeSyncRow, syncPendingPrevStateCode, } from "./runtime-index";
|
|
8
|
+
export { compileEntityTemplate, ENTITY_INIT_STATE, ENTITY_INIT_STATE_CODE, getEntityStateCode, getEntityStateName, } from "./compile";
|
|
9
|
+
export declare const rebindActorReducerSelf: (store: ColumnarActorStore) => void;
|
|
10
|
+
export declare const getActorReducerSelf: (store: ColumnarActorStore, indices: readonly EntityIndex[]) => EntityReducerSelfCache;
|
|
11
|
+
export declare const createEntityRuntimeState: (templates: readonly StorageTemplate<EntityTemplateMetadata>[], manager: StorageManagerContext) => EntityRuntimeState;
|
|
12
|
+
export declare const getEntityRuntimeState: (manager: object) => EntityRuntimeState;
|
|
13
|
+
export declare const asEntityRuntimeState: (state: unknown) => EntityRuntimeState;
|
|
14
|
+
export declare const ensureEntityCapacity: (store: EntityStore, capacity: number) => void;
|
|
15
|
+
export declare const ensureActorCapacity: (store: ColumnarActorStore, capacity: number) => void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StorageManagerContext, StorageTemplate } from "@lite-fsm/core";
|
|
2
|
+
import type { EntityIndex } from "../plugin";
|
|
3
|
+
import { type EntityTemplateMetadata } from "./compile";
|
|
4
|
+
import type { ColumnarActorStore, EntityReducerSelfCache, EntityRuntimeState, EntityStore } from "./store-types";
|
|
5
|
+
export type { ColumnarActorStore, EntityActorRowRef, EntityColumn, EntityReducerSelfCache, EntityRuntimeState, EntityStore, } from "./store-types";
|
|
6
|
+
export { getInitialColumnValue } from "./columns";
|
|
7
|
+
export { addActorRowOwnership, addEntityToGroupBucket, clearPendingPrevStateCodeSync, createPublicInitialState, moveActorStateBucket, moveActorStateBucketBatch, rebuildActorAcceptStateBuckets, rebuildEntityRuntimeIndexes, refreshActorPublicSlice, removeActorRowsForStore, removeEntityRecords, restorePublicSlices, schedulePresentPrevStateCodeSync, schedulePrevStateCodeSync, schedulePrevStateCodeSyncRow, syncPendingPrevStateCode, } from "./runtime-index";
|
|
8
|
+
export { compileEntityTemplate, ENTITY_INIT_STATE, ENTITY_INIT_STATE_CODE, getEntityStateCode, getEntityStateName, } from "./compile";
|
|
9
|
+
export declare const rebindActorReducerSelf: (store: ColumnarActorStore) => void;
|
|
10
|
+
export declare const getActorReducerSelf: (store: ColumnarActorStore, indices: readonly EntityIndex[]) => EntityReducerSelfCache;
|
|
11
|
+
export declare const createEntityRuntimeState: (templates: readonly StorageTemplate<EntityTemplateMetadata>[], manager: StorageManagerContext) => EntityRuntimeState;
|
|
12
|
+
export declare const getEntityRuntimeState: (manager: object) => EntityRuntimeState;
|
|
13
|
+
export declare const asEntityRuntimeState: (state: unknown) => EntityRuntimeState;
|
|
14
|
+
export declare const ensureEntityCapacity: (store: EntityStore, capacity: number) => void;
|
|
15
|
+
export declare const ensureActorCapacity: (store: ColumnarActorStore, capacity: number) => void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { LiteFsmStorageRuntimeDefinition } from "@lite-fsm/core";
|
|
2
|
+
import type { EntityMachineExtension } from "../machine-extension";
|
|
3
|
+
import { type EntityContextSchema, type EntitySpawnSchema } from "../schema";
|
|
4
|
+
import { type EntityEffectInvocation } from "./effects";
|
|
5
|
+
import { type EntitySnapshot } from "./snapshot";
|
|
6
|
+
import type { EntityTemplateMetadata } from "./compile";
|
|
7
|
+
import { type EntityRuntimeState } from "./state";
|
|
8
|
+
export type EntityStorageRouteMeta = {
|
|
9
|
+
readonly entityId: string | readonly string[];
|
|
10
|
+
};
|
|
11
|
+
export type EntityStorageRuntimeExtension = Omit<EntityMachineExtension, "storage"> & {
|
|
12
|
+
readonly routeMeta: EntityStorageRouteMeta;
|
|
13
|
+
readonly runtimeState: EntityRuntimeState;
|
|
14
|
+
readonly templateData: EntityTemplateMetadata;
|
|
15
|
+
readonly snapshotData: EntitySnapshot;
|
|
16
|
+
readonly invocation: EntityEffectInvocation;
|
|
17
|
+
};
|
|
18
|
+
export type EntityStorageDefinition<AppDeps = unknown> = LiteFsmStorageRuntimeDefinition<"entity", EntityMachineExtension<EntityContextSchema, EntitySpawnSchema, object, AppDeps>, EntityStorageRouteMeta>;
|
|
19
|
+
export declare const entityStorageRuntime: EntityStorageDefinition<unknown>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { LiteFsmStorageRuntimeDefinition } from "@lite-fsm/core";
|
|
2
|
+
import type { EntityMachineExtension } from "../machine-extension";
|
|
3
|
+
import { type EntityContextSchema, type EntitySpawnSchema } from "../schema";
|
|
4
|
+
import { type EntityEffectInvocation } from "./effects";
|
|
5
|
+
import { type EntitySnapshot } from "./snapshot";
|
|
6
|
+
import type { EntityTemplateMetadata } from "./compile";
|
|
7
|
+
import { type EntityRuntimeState } from "./state";
|
|
8
|
+
export type EntityStorageRouteMeta = {
|
|
9
|
+
readonly entityId: string | readonly string[];
|
|
10
|
+
};
|
|
11
|
+
export type EntityStorageRuntimeExtension = Omit<EntityMachineExtension, "storage"> & {
|
|
12
|
+
readonly routeMeta: EntityStorageRouteMeta;
|
|
13
|
+
readonly runtimeState: EntityRuntimeState;
|
|
14
|
+
readonly templateData: EntityTemplateMetadata;
|
|
15
|
+
readonly snapshotData: EntitySnapshot;
|
|
16
|
+
readonly invocation: EntityEffectInvocation;
|
|
17
|
+
};
|
|
18
|
+
export type EntityStorageDefinition<AppDeps = unknown> = LiteFsmStorageRuntimeDefinition<"entity", EntityMachineExtension<EntityContextSchema, EntitySpawnSchema, object, AppDeps>, EntityStorageRouteMeta>;
|
|
19
|
+
export declare const entityStorageRuntime: EntityStorageDefinition<unknown>;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { MachineStore } from "@lite-fsm/core";
|
|
2
|
+
import type { EntityIndex } from "../plugin";
|
|
3
|
+
import type { EntityAccess } from "./access";
|
|
4
|
+
import type { EntityTemplateMetadata } from "./compile";
|
|
5
|
+
import type { EntityReactRuntime } from "./react";
|
|
6
|
+
export type EntityPublicStateSlice = {
|
|
7
|
+
readonly storage: "entity";
|
|
8
|
+
readonly version: number;
|
|
9
|
+
readonly count: number;
|
|
10
|
+
readonly capacity: number;
|
|
11
|
+
};
|
|
12
|
+
export type EntityColumn = Float32Array | Int16Array | Int32Array | Uint8Array | string[];
|
|
13
|
+
export type EntityStore = {
|
|
14
|
+
count: number;
|
|
15
|
+
capacity: number;
|
|
16
|
+
ids: string[];
|
|
17
|
+
indexById: Record<string, EntityIndex>;
|
|
18
|
+
alive: Uint8Array;
|
|
19
|
+
generation: Uint32Array;
|
|
20
|
+
groupTagByIndex: string[];
|
|
21
|
+
entitiesByGroupTag: Record<string, EntityIndex[]>;
|
|
22
|
+
groupTagPosition: Int32Array;
|
|
23
|
+
freeList: EntityIndex[];
|
|
24
|
+
version: number;
|
|
25
|
+
};
|
|
26
|
+
export type EntityActorRowRef = {
|
|
27
|
+
readonly store: ColumnarActorStore;
|
|
28
|
+
readonly entity: EntityIndex;
|
|
29
|
+
readonly groupTag: string;
|
|
30
|
+
entityRowsPosition: number;
|
|
31
|
+
groupRowsPosition: number;
|
|
32
|
+
};
|
|
33
|
+
export type ColumnarActorStore = {
|
|
34
|
+
readonly storeId: number;
|
|
35
|
+
readonly templateKey: string;
|
|
36
|
+
readonly metadata: EntityTemplateMetadata;
|
|
37
|
+
capacity: number;
|
|
38
|
+
count: number;
|
|
39
|
+
version: number;
|
|
40
|
+
presence: Uint8Array;
|
|
41
|
+
stateCode: Int16Array;
|
|
42
|
+
prevStateCode: Int16Array;
|
|
43
|
+
rowVersion: Uint32Array;
|
|
44
|
+
stateBuckets: EntityIndex[][];
|
|
45
|
+
statePosition: Int32Array;
|
|
46
|
+
acceptedScratch: EntityIndex[];
|
|
47
|
+
defaultTransitionSourceStateScratch: number[];
|
|
48
|
+
pendingPrevStateCodeSync: EntityIndex[];
|
|
49
|
+
pendingPrevStateCodeSyncMark: Uint32Array;
|
|
50
|
+
pendingPrevStateCodeSyncToken: number;
|
|
51
|
+
routingScratchVersion: number;
|
|
52
|
+
acceptStateBucketsByEventCode: EntityIndex[][][];
|
|
53
|
+
columns: Record<string, EntityColumn>;
|
|
54
|
+
resources: Record<string, unknown>;
|
|
55
|
+
resourceViews: Record<string, unknown>;
|
|
56
|
+
reducerSelf: EntityReducerSelfCache;
|
|
57
|
+
publicSlice: EntityPublicStateSlice;
|
|
58
|
+
};
|
|
59
|
+
export type EntityReducerSelfCache = Record<string, unknown> & {
|
|
60
|
+
indices: readonly EntityIndex[];
|
|
61
|
+
readonly states: EntityTemplateMetadata["stateCodeByName"];
|
|
62
|
+
presence: Uint8Array;
|
|
63
|
+
stateCode: Int16Array;
|
|
64
|
+
prevStateCode: Int16Array;
|
|
65
|
+
rowVersion: Uint32Array;
|
|
66
|
+
has(entity: EntityIndex): boolean;
|
|
67
|
+
entityId(entity: EntityIndex): string;
|
|
68
|
+
};
|
|
69
|
+
export type EntityRuntimeState = {
|
|
70
|
+
readonly entityStore: EntityStore;
|
|
71
|
+
readonly actorStores: Record<string, ColumnarActorStore>;
|
|
72
|
+
readonly actorStoresById: ColumnarActorStore[];
|
|
73
|
+
readonly eventCodeByType: Readonly<Record<string, number>>;
|
|
74
|
+
readonly eventTypesByCode: readonly string[];
|
|
75
|
+
readonly templatesByEventCode: readonly (readonly ColumnarActorStore[])[];
|
|
76
|
+
actorRowsByEntity: EntityActorRowRef[][];
|
|
77
|
+
actorRowsByGroupTag: Record<string, EntityActorRowRef[]>;
|
|
78
|
+
routingScratchVersion: number;
|
|
79
|
+
readonly access: EntityAccess<MachineStore>;
|
|
80
|
+
react?: EntityReactRuntime;
|
|
81
|
+
};
|