錨定點抵達已出版內容盡頭時切入後日談區間;時間流速(即時同步/緩速/凍結, 另加一個非文件既定的 FAST 選項供一般角色使用)對後日談推演成年角色強制 上限 1:1,重用 L 群組 RomanceEligibilityService 的 isEpilogueAdult 判斷。 性格漂移僅在正史已有 >=2 筆 PersonalityTraitSnapshot 建立趨勢時才位移, 無證據則鎖定 0(不憑空轉向),原型字串本身從不被觸碰。人生階段推演與 角色群同步成長重用 M 群組的 Scene/ProjectionService(推演事件其實就是 sourceType=EPILOGUE 的場景,在場者投影後自然敘述互相呼應);重大轉折 需要正史目標關鍵字對應才生成,並以 EpilogueMilestoneLog 節流頻率。 正史回收(移除被取代的推演場景、匯入官方新場景並強制投影、互動記憶 結構性保留、記憶修正事件敘事化消化)與分支保留(永久標記、擋下後續 回收)。 修正兩個真實 bug:reclaim 原本借用 importScene 的錨定閥門,導致回收 回來的正史內容反而不被投影(後日談的『現在』本來就走在錨定點之前); 分支保留擋下重新匯入時用裸 Error 導致 500,改為 ConflictException。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
14 lines
984 B
TypeScript
14 lines
984 B
TypeScript
// N-1 時間流速:系統文件本身只定義了即時同步/緩速/凍結三種模式,皆不超過現實 1:1;
|
|
// 這裡額外加一個「加速」選項給一般角色使用(給使用者跳過等待的彈性),
|
|
// 後日談自然成年角色的「流速上限為現實 1:1」規則就是靠禁用這個選項來實作與驗收的。
|
|
export type TimeFlowMode = "FAST" | "REALTIME" | "SLOW" | "FROZEN";
|
|
export const TIME_FLOW_MODES: TimeFlowMode[] = ["FAST", "REALTIME", "SLOW", "FROZEN"];
|
|
|
|
// N-4 人生階段推演:重大轉折需低頻——同一角色兩次里程碑之間至少要間隔這麼多個年表單位。
|
|
export const MILESTONE_MIN_STORY_GAP = 5;
|
|
|
|
// N-2 性格漂移:方向由正史成長軌跡外插,但幅度必須有上限(性格核心鎖定,不是改寫)。
|
|
export const MAX_EXPRESSIVENESS_DRIFT = 0.15;
|
|
export const MAX_HALF_LIFE_REDUCTION = 0.3; // 情緒衰減最多加快 30%
|
|
export const HALF_LIFE_REDUCTION_PER_STORY_UNIT = 0.01;
|