Rework story engine flow and reorganize project docs
Some checks failed
CI / verify (push) Has been cancelled
Some checks failed
CI / verify (push) Has been cancelled
This commit is contained in:
36
src/services/storyEngine/saveMigrationManifest.ts
Normal file
36
src/services/storyEngine/saveMigrationManifest.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import type {
|
||||
GameState,
|
||||
SaveMigrationManifest,
|
||||
} from '../../types';
|
||||
import { createEmptyStoryEngineMemoryState } from './visibilityEngine';
|
||||
|
||||
export function buildSaveMigrationManifest(params: {
|
||||
version: string;
|
||||
}) {
|
||||
return {
|
||||
version: params.version,
|
||||
requiredTransforms: [
|
||||
'ensure_story_engine_memory',
|
||||
'ensure_campaign_state',
|
||||
'ensure_player_style_profile',
|
||||
],
|
||||
backwardCompatible: true,
|
||||
} satisfies SaveMigrationManifest;
|
||||
}
|
||||
|
||||
export function applyStoryEngineMigration(params: {
|
||||
state: GameState;
|
||||
manifest: SaveMigrationManifest;
|
||||
}) {
|
||||
const storyEngineMemory =
|
||||
params.state.storyEngineMemory ?? createEmptyStoryEngineMemoryState();
|
||||
|
||||
return {
|
||||
...params.state,
|
||||
storyEngineMemory: {
|
||||
...createEmptyStoryEngineMemoryState(),
|
||||
...storyEngineMemory,
|
||||
saveMigrationManifest: params.manifest,
|
||||
},
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user