Files
MemRelay/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/curated/Age of Empires III 编辑工具 项目概览.md
T

287 lines
14 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: Age of Empires III 编辑工具 项目概览
type: curated
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/curated/age-of-empires-iii-编辑工具-项目概览
stable_id: 4facff1f-7c02-4be7-96b3-8d2b606fed9c
scope: project
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: overview
revision: 1
source_memory_ids:
- 107d242e-c3ce-4a10-922a-729bee65f3a6
- 43cbe36a-796b-4e5b-8bde-647f751f2a0f
- b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250
- b0969eb6-5402-4fb1-8419-d349d2579e2e
- d43a3e2b-207e-410a-ae0f-c12e433dec4d
- d94d6d5e-85ab-4ea1-b4f6-33ae4a01eeaa
- f901d77a-2e88-4c44-a989-e42a17a4e057
source_checkpoint_ids:
- 04dc843d-8bfe-4dd6-b5ab-09d2efa10d21
- 3c6217f5-07df-4a9d-b174-e77d114006ce
- 4764ab1e-2b3e-477b-937c-1dd60ebf7ecc
- 4995165e-24be-45ca-a243-c8cdd97b7804
- 540030dc-d7ee-4e6e-a202-c0648ceca8f9
- a09b7e4f-5f03-4243-81c7-84fdebc412d5
source_file_ids: []
source_git_commit: null
source_git_commits: []
source_agent_sync_ids: []
model_connection: Sub2API
model_name: git-restore
source_count: 26
source_revisions:
memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9: '1'
memory:b0969eb6-5402-4fb1-8419-d349d2579e2e: '1'
memory:43cbe36a-796b-4e5b-8bde-647f751f2a0f: '1'
memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21: '1'
memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250: '1'
memory:3c6217f5-07df-4a9d-b174-e77d114006ce: '1'
memory:f901d77a-2e88-4c44-a989-e42a17a4e057: '1'
memory:4995165e-24be-45ca-a243-c8cdd97b7804: '1'
memory:d43a3e2b-207e-410a-ae0f-c12e433dec4d: '1'
memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc: '1'
memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5: '1'
memory:107d242e-c3ce-4a10-922a-729bee65f3a6: '1'
memory:d94d6d5e-85ab-4ea1-b4f6-33ae4a01eeaa: '1'
source_dispositions:
processed: 26
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids:
- memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9
- memory:b0969eb6-5402-4fb1-8419-d349d2579e2e
- memory:43cbe36a-796b-4e5b-8bde-647f751f2a0f
- memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21
- memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250
- memory:3c6217f5-07df-4a9d-b174-e77d114006ce
- memory:f901d77a-2e88-4c44-a989-e42a17a4e057
- memory:4995165e-24be-45ca-a243-c8cdd97b7804
- memory:d43a3e2b-207e-410a-ae0f-c12e433dec4d
- memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc
- memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5
- memory:107d242e-c3ce-4a10-922a-729bee65f3a6
- memory:d94d6d5e-85ab-4ea1-b4f6-33ae4a01eeaa
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
job_cited_source_ids:
- memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9
- memory:b0969eb6-5402-4fb1-8419-d349d2579e2e
- memory:43cbe36a-796b-4e5b-8bde-647f751f2a0f
- memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21
- memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250
- memory:3c6217f5-07df-4a9d-b174-e77d114006ce
- memory:f901d77a-2e88-4c44-a989-e42a17a4e057
- memory:4995165e-24be-45ca-a243-c8cdd97b7804
- memory:d43a3e2b-207e-410a-ae0f-c12e433dec4d
- memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc
- memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5
- memory:107d242e-c3ce-4a10-922a-729bee65f3a6
- memory:d94d6d5e-85ab-4ea1-b4f6-33ae4a01eeaa
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
conflicts: []
supersedes: []
preferences:
- statement: 使用最简且正确的实现(KISS & YAGNI)
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 复用项目已有的框架、服务、工具和约定,避免重复实现
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 不添加仅为假设未来需求而设计的依赖或抽象层
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 在任何登录、SSH、数据库或 API 调用前先查询 Vaultwarden,唯一匹配则直接使用
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 新增或修改的凭证必须立即写入密码库,记忆仅记录名称、用途、使用方式,绝不保存密文
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: AI 与 Git 集成默认关闭;系统不会主动探测模型或创建 `.git` 目录
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 日常交流使用中文(包括代码注释等)
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 所有开发记忆统一由 MemRelay 持久管理,除非明确要求,不创建本地 aidocs/项目上下文文件
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 所有路径、命令需兼容 Windows 环境(WSL2、Docker Desktop)
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: Web 表单采用标题左、控件右的紧凑横向布局;长内容内部滚动,标题区域固定可见
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
source_cursor: 241
source_hash: bcfbba67a08c521a7e0b795935c39556cfb40f8a2afd7d276860865a68cc2137
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: null
created_at: '2026-08-31T15:07:17.067972+00:00'
updated_at: '2026-09-23T14:52:52.873598+00:00'
tags:
- Age of Empires III
- EditTools
- development
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
---
# 项目概览 – Age of Empires III EditTools
## 项目概况
- **项目 ID**: `4111f53b-afa5-48e1-aaf8-d70a7edc0638`(创建于 2026‑08‑31)【memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9】
- **工作空间类型**: development(共享使用配置)
- **目标游戏**: Age of Empires III: Definitive Edition(版本 `100.19.17293.0`)【memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5】
- **核心数据文件**: `Game\\Data\\Data.bar`
- **编辑器安装目录**: 位于用户选择的目录,所有编辑器生成的配置、日志、缓存、临时文件、备份及导出结果均放在可执行文件所在目录下【memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250】
## 关键技术栈与部署约束
- **技术栈**: Tauri 2 + Rust + Vue 3 + TypeScript【memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21】
- **WebView2**: 项目内固定的 Fixed Runtime,存于 `vendor/webview2`,构建阶段仅检查本地是否存在,不自动下载【memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250】
- **安装目录**: 允许用户自行选择非 C 盘路径(采用 NSIS/Portable 方案),避免写入需要管理员权限的 `Program Files`【memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250】
- **系统缓存**: 接受 Windows 系统临时目录、显卡驱动缓存、杀毒软件缓存、崩溃转储等不受应用完全控制的全局缓存【memory:43cbe36a-796b-4e5b-8bde-647f751f2a0f】
## 功能范围与边界
### 目标与限制
- **主要修改对象**: 现有国家、建筑、单位、科技、人口、资源及跨文明解锁关系,服务于“圈城、防守、发展、长时间单机对战”场景【memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5】
- **不实现的功能**: 新单位模型/动画、新资源类型、新国家、AI 重写、全新 UI、局域网分发、多机同步、在线版本校验【memory:f901d77a-2e88-4c44-a989-e42a17a4e057】【memory:4995165e-24be-45ca-a243-c8cdd97b7804】
- **对战方式**: 离线单机与局域网好友对战,所有玩家使用完全相同的 Mod/补丁,且不依赖官方在线服务【memory:107d242e-c3ce-4a10-922a-729bee65f3a6】
- **AI 影响**: 允许基础数据改动影响 AI,通常不让 AI 使用被新增的国家/科技【memory:d94d6d5e-85ab-4ea1-b4f6-33ae4a01eeaa】
### 备份与回退管理
- **备份策略**: 在每次应用修改前(默认建议开启)生成仅包含实际覆盖文件的快照,记录 ID、时间、游戏路径/版本、文件清单、文件状态、大小、SHA‑256、备注与结果【memory:b0969eb6-5402-4fb1-8419-d349d2579e2e】【memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9】
- **备份存储**: 位于编辑器安装目录下的 `snapshot/backup`(待实现)
- **回退流程**: 回退前自动创建当前状态的安全快照,使用临时文件与原子替换,若失败可恢复且不触碰未列入变更清单的文件【memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9】
- **用户界面**: 提供 GUI 查看、加载检查、回退、删除快照的功能页面【memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9】
### 图形化编辑器定位
- **需求**: 以图形化方式统一查看与编辑国家、单位、建筑、科技、资源及解锁关系,避免手工编辑 XML【memory:d43a3e2b-207e-410a-ae0f-c12e433dec4d】
- **实现路径**: 首先实现只读数据浏览器,从本机 `Data.bar` 提取真实版本数据;随后加入搜索、表单化编辑、差异预览、生成可回滚的 Mod/补丁【memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc】
## 已完成的准备工作
- 收集参考工具:Resource‑Manager(MIT)与 AOE3NativeED(GPL‑3.0),已放入 `references/` 并添加说明文档【memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc】
- 初始化 Git 仓库并提交资源收集记录【memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc】
- 完成技术与部署约束确认,准备搭建 Tauri 项目骨架【memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21】
## 待办事项与未决问题
1. **实现 Snapshot/Backup Service**:定义 manifest schema、持久化路径、UI 页面【memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9】
2. **搭建 Tauri 工程骨架**:检查 Fixed Runtime、实现安装根目录服务【memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21】
3. **读取并解析 BAR/XML**:使用 Resource‑Manager 或等价工具提取当前版本的 `proto/techtree/civs` 等数据【memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc】
4. **设计并实现配置驱动的编辑器**:基于提取的目录创建搜索、表单编辑、差异预览功能【memory:d43a3e2b-207e-410a-ae0f-c12e433dec4d】
5. **确定首批具体修改项**:收集需要调整的单位/科技名称、数值范围、适用文明等【memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5】
6. **验证跨机器手动复制流程**:确保导出的 Mod 在不同机器可直接加载,无需额外同步机制【memory:f901d77a-2e88-4c44-a989-e42a17a4e057】
## 开发习惯与流程(引用全局指导)
- **沟通语言**:日常交流、代码注释均使用中文【global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7】
- **记忆管理**:所有开发笔记由 MemRelay 持久化,除非用户明确要求,不创建本地 `aidocs/` 文件【global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6】
- **实现原则**:遵循 KISS 与 YAGNI,复用已有框架、服务、约定【global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5】
- **AI 与 Git**:默认关闭,系统不会主动探测模型或创建 `.git` 目录【global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d】
- **凭证处理**:在任何登录、SSH、数据库或 API 调用前先查询 Vaultwarden,唯一匹配则直接使用;新增或修改的凭证立即写入密码库,记忆中仅记录名称、用途、使用方式【global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316】
- **Windows 兼容**:所有路径、命令需兼容 Windows 环境【global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823】
- **UI 规范**:表单采用“标题左、控件右”布局,长内容内部滚动,标题区域固定可见【global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5】
---
*本概览基于截至 2026‑08‑31 的所有已记录检查点、决策与全局指导编写。*