feat: 월드 스냅샷 및 시나리오 부트스트랩 관련 타입 및 로더 구현

This commit is contained in:
2025-12-28 15:26:25 +00:00
parent a4c74b860e
commit 54252dc6b4
8 changed files with 1008 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
import type { City, General, Nation } from '../domain/entities.js';
import type { ScenarioConfig } from '../scenario/types.js';
import type { ScenarioMeta } from '../world/types.js';
// DB에서 월드 상태를 로드할 때 사용하는 조회 인터페이스.
export interface WorldStateSnapshotSource<
GeneralType extends General = General,
CityType extends City = City,
NationType extends Nation = Nation
> {
listGenerals(): Promise<GeneralType[]>;
listCities(): Promise<CityType[]>;
listNations(): Promise<NationType[]>;
}
export interface ScenarioConfigSource {
loadScenarioConfig(): Promise<ScenarioConfig>;
loadScenarioMeta?(): Promise<ScenarioMeta | undefined>;
}