fix: 커맨드 차등 생명주기와 로그 그래프를 보강
장수 55종과 수뇌 35종의 상태, 로그, 메시지, 예약 턴 비교를 닫습니다. 실제 시나리오 프로필과 대표 PostgreSQL 수명주기, 즉시 외교와 출병 회귀를 추가하고 발견된 Ref 로그 및 생성 장수 저장 차이를 교정합니다.
This commit is contained in:
@@ -64,12 +64,34 @@ export const buildPersistedRankRows = (general: RankedGeneralState): PersistedRa
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Ref GeneralBuilder/Join initializes every rank row in nation 0 with value 0.
|
||||
* The one exception is a user-creation inheritance debit already carried in
|
||||
* `inherit_spent_dyn`. Keep this persistence boundary shared by the database
|
||||
* hooks and differential projection.
|
||||
*/
|
||||
export const buildInitialRankRows = (general: RankedGeneralState): PersistedRankRow[] =>
|
||||
buildPersistedRankRows(general).map((row) => ({
|
||||
...row,
|
||||
nationId: 0,
|
||||
value: row.type === 'inherit_spent_dyn' ? row.value : 0,
|
||||
}));
|
||||
|
||||
export const buildLegacyComparableInitialRankRows = (
|
||||
general: RankedGeneralState
|
||||
): Array<PersistedRankRow & { type: LegacyRankDataType }> => {
|
||||
const legacyTypes = new Set<RankDataType>(LEGACY_RANK_DATA_TYPES);
|
||||
return buildInitialRankRows(general).filter((row): row is PersistedRankRow & { type: LegacyRankDataType } =>
|
||||
legacyTypes.has(row.type)
|
||||
);
|
||||
};
|
||||
|
||||
export const buildLegacyComparableRankRows = (
|
||||
general: RankedGeneralState
|
||||
): Array<PersistedRankRow & { type: LegacyRankDataType }> => {
|
||||
const legacyTypes = new Set<RankDataType>(LEGACY_RANK_DATA_TYPES);
|
||||
return buildPersistedRankRows(general).filter(
|
||||
(row): row is PersistedRankRow & { type: LegacyRankDataType } => legacyTypes.has(row.type)
|
||||
return buildPersistedRankRows(general).filter((row): row is PersistedRankRow & { type: LegacyRankDataType } =>
|
||||
legacyTypes.has(row.type)
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user