Files
MemRelay/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/curated/待办任务.md
T

108 lines
4.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: 待办任务
type: curated
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/curated/待办任务
stable_id: ed4e1e4a-0844-4747-a777-1d540dd4291d
scope: project
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: tasks
revision: 1
source_memory_ids: []
source_checkpoint_ids:
- c3d57a20-2881-4db2-ba98-572d030532ee
source_file_ids: []
source_git_commit: null
source_git_commits: []
source_agent_sync_ids: []
model_connection: Sub2API
model_name: git-restore
source_count: 18
source_revisions:
memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21: '1'
memory:3c6217f5-07df-4a9d-b174-e77d114006ce: '1'
memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9: '1'
memory:b0969eb6-5402-4fb1-8419-d349d2579e2e: '1'
memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc: '1'
memory:4fcb8138-eb99-4843-a905-60c6862a4672: '1'
memory:5e0fa990-763d-4497-a002-dd9d053d3b70: '1'
memory:949cae49-4854-482f-a1ec-94997642a35c: '1'
memory:f35ad4ea-f1fa-4c2e-9627-3f9b6b49ab1a: '1'
source_dispositions:
processed: 18
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids:
- curated_baseline:ed4e1e4a-0844-4747-a777-1d540dd4291d
- memory:f35ad4ea-f1fa-4c2e-9627-3f9b6b49ab1a
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
- global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e
- memory:4fcb8138-eb99-4843-a905-60c6862a4672
- memory:5e0fa990-763d-4497-a002-dd9d053d3b70
- memory:949cae49-4854-482f-a1ec-94997642a35c
- memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21
- memory:3c6217f5-07df-4a9d-b174-e77d114006ce
- memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9
- memory:b0969eb6-5402-4fb1-8419-d349d2579e2e
- memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc
job_cited_source_ids:
- curated_baseline:ed4e1e4a-0844-4747-a777-1d540dd4291d
conflicts: []
supersedes: []
preferences: []
source_cursor: 362
source_hash: 2b09adcf963685730bb83e7b36c24f968972959d0170de3bc9aeb89af274e36a
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: null
created_at: '2026-08-31T15:07:17.042126+00:00'
updated_at: '2026-09-23T14:52:56.697567+00:00'
tags:
- development
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
---
# 待办任务 – Age of Empires III EditTools
## 1. 搭建 Tauri 项目骨架
- 初始化 Tauri 2 项目,配置 Rust + Vue 3 + TypeScript。
- 实现安装根目录检查与 Fixed WebView2 Runtime 校验,缺失时报错并终止构建。
- 将 `vendor/webview2` 设为 Runtime 存放目录。
## 2. 实现 Snapshot / Backup 服务
- 设计快照元数据结构(ID、时间、路径/版本、文件清单、状态、大小、SHA‑256、备注、结果)。
- 后端:创建、列出、加载检查、回退、删除快照。
- GUI 页面:列表展示、详细信息、操作按钮(创建、回退、删除),回退前自动创建安全快照,使用原子文件替换,若失败可恢复且不触碰未列入变更清单的文件。
- 存储位置:编辑器安装目录下的 `snapshots/`(或等价目录)。
## 3. BAR / XML 只读解析器
- 使用已收集的 **Resource‑Manager** 或 **AOE3NativeED**,从本机 `Data.bar` 提取真实数据(`proto/techtree/civs` 等)。
- 实现数据模型(国家、单位、建筑、科技)并提供搜索与表单化展示的 API(JSON/TS 类型定义)。
## 4. 配置驱动的修改器(核心编辑器)
- 基于解析器模型,设计表单编辑与差异预览界面。
- 实现配置文件(JSON/YAML) → Mod/补丁 的生成流程。
- 支持回滚:生成的 Mod 必须能够通过快照回退功能恢复原始数据。
## 5. 导出与本地部署流程
- 实现导出功能,将编辑后的数据打包为符合 AoE3 DE 要求的 Mod 包。
- 编写使用手册,说明手动复制至其他机器的步骤(项目不实现局域网分发)。
## 6. 测试与验证
- 为每个新功能编写单元/集成测试,重点验证:
- 快照创建的文件清单与 SHA‑256 正确。
- 回退后文件恢复到快照前状态。
- 解析器能够正确读取当前游戏版本的所有国家/单位/建筑/科技。
- 生成的 Mod 能被游戏识别并加载,无崩溃。
- 坚持 KISS & YAGNI,只实现必要的验证逻辑。
## 7. 文档与记忆更新
- 完成后遵循全局记忆与 Git 工作流:
1) 更新 `aidocs/project_context.md`(最新优先、秒级时间戳)。
2) 使用 `type: 中文一句话描述` 格式提交代码。
3) 除非明确需求,不进行 push。