diff --git a/Assets/Scripts/SaveSystem/SaveSnapshot.cs b/Assets/Scripts/SaveSystem/SaveSnapshot.cs
index c02ee0f69..7556c2bab 100644
--- a/Assets/Scripts/SaveSystem/SaveSnapshot.cs
+++ b/Assets/Scripts/SaveSystem/SaveSnapshot.cs
@@ -139,6 +139,7 @@ namespace AibisDream.SaveSystem
{
AtStart,
AtEnd,
+ /// 从未 Evaluate 过 Timeline 绑定(untouched);非播放中途 Stop。
Stopped
}
@@ -160,6 +161,9 @@ namespace AibisDream.SaveSystem
/// 若由 Addressables 加载 Timeline,记录 key;否则为空。
public string loadedAddressableKey;
+
+ /// 是否曾通过 Play/Reset/RestoreAtEnd 等路径 Evaluate 过 Timeline。
+ public bool hasEverAppliedPlayback;
}
/// sections["screen"]:屏幕饱和度与演出淡入淡出遮罩。
@@ -201,7 +205,18 @@ namespace AibisDream.SaveSystem
public string args;
}
- /// sections["fixPanel"]:FixPanel 壳层 + 线缆/插头状态。
+ /// TaskPanel 单条任务条目快照。
+ [Serializable]
+ public class TaskEntrySnapshotDto
+ {
+ /// Yarn 行 id,如 line:01dade5。
+ public string lineId;
+
+ /// 存档时 UI 显示的完整文本(含 ● 前缀)。
+ public string text;
+ }
+
+ /// sections["fixPanel"]:FixPanel 壳层 + 线缆/插头 + TaskPanel 状态。
[Serializable]
public class FixPanelSnapshotDto
{
@@ -214,6 +229,12 @@ namespace AibisDream.SaveSystem
/// 插头插入的 BodyModule 名(data.moduleName);null/空 = 未插入。
public string pluggedModuleName;
+
+ /// TaskPanel 是否处于展开位(show_task_panel 后)。
+ public bool isTaskPanelVisible;
+
+ /// TaskPanel 当前未完成任务列表(保持插入顺序)。
+ public List tasks = new();
}
/// sections["bodyModule"]:插线模块持久物理状态。
@@ -226,6 +247,12 @@ namespace AibisDream.SaveSystem
public bool isUFRemoved;
public bool isColorRemoved;
public bool isChipRemoved;
+
+ /// 高亮中的模块名(data.moduleName)。
+ public List highlightedModules = new();
+
+ /// 报警中的模块名(data.moduleName)。
+ public List alarmedModules = new();
}
/// sections["eye"]:Eye 维修叙事阶段。