Files
mtgodot-poc/audit/remediation-roadmap.md
T
shenleiandClaude Opus 5 184b631ce8 docs: PORT-PLAN.md as the single entry for the 40250 port route
Records the decisions (mirror-layout logic port, embedded CPython 2.7 UI),
layers and code layout, batch route and status, and the directory/toolchain
setup needed to resume on another machine. Marks the older refactor plan as
superseded and points CLAUDE.md/AGENTS.md/roadmap at it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 18:20:14 +09:00

41 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
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.
# 40250 1:1 移植队列
路线与决定见 `docs/PORT-PLAN.md`,工作方法见 `.agents/skills/metin2-40250-parity-audit/SKILL.md`。本文件只放批次和队列,不写每轮叙述(每轮结果记在
`audit/port-map/**` 和 `audit/history.jsonl`)。2026-09-22 之前的按分支修复记录见本文件的 git 历史。
实时剩余量与下一批候选:
```bash
python3 .agents/skills/metin2-40250-parity-audit/scripts/port_map.py status
python3 .agents/skills/metin2-40250-parity-audit/scripts/port_map.py queue --limit 20
```
## 批次
| 批次 | 内容 | 状态 |
| --- | --- | --- |
| 0 | 工具:参考根解析、缺失文件报错、`port_map.py`、构建/测试入口 | 完成 2026-09-22 |
| 1 | 删除只被自身测试引用的 `project/*_system.gd` 与其 `test_*_parity.gd`,清除 manifest 中对应证据 | 完成 2026-09-22(106+106 个文件) |
| 2 | P0 角色/移动单元,移植到 `extension/src/port/<Lib>/<File>`(并行 worktree) | 未开始 |
| 2P | CPython 2.7.18 静态编入 libmtgodot(macOS → Android APK → iOS),见 `docs/PYTHON-EMBED-EVAL.md` | 未开始(Android 独立程序已验证 b02c49bb) |
| 3 | P1 战斗/技能 → P2 游戏阶段封包 → P3 物品;Python 层按 2P 的结论进行 | 未开始 |
| 4 | `NEEDS_LIVE` 真服验证批 | 未开始 |
## 批次 2 单元(互不共享实现文件的可并行)
实现位置一律是镜像文件 `extension/src/port/<Lib>/<File>.{h,cpp}`;下面列出的是需要删减旧逻辑的迁移来源。
第一个单元负责建立 `extension/src/port/` 与 `extension/src/platform/` 目录和 CMake 目标。
- [ ] `UserInterface/PythonPlayerEventHandler.cpp`(OnMove/OnMoving/OnStop 已在 `net_play.gd` 对齐,需迁到镜像文件;OnWaiting DIVERGENT)— `net_play.gd`
- [ ] `UserInterface/InstanceBaseMovement.cpp` + `UserInterface/InstanceBase.cpp`(同一 owner,串行)— `player_controller.gd`、`entity_store.cpp`
- [ ] `UserInterface/PythonPlayerInput.cpp` + `PythonPlayerInputKeyboard.cpp` + `PythonPlayerInputMouse.cpp` — `player_controller.gd`(与上一项串行)
- [ ] `GameLib/ActorInstanceMotion.cpp` + `ActorInstanceEvent.cpp` — 动作/事件
- [ ] `GameLib/ActorInstance.cpp` + `ActorInstancePosition.cpp` + `ActorInstanceRotation.cpp` + `ActorInstanceCollisionDetection.cpp`
- [ ] `UserInterface/PythonCharacterManager.cpp` — `net_world.gd`、`entity_store.cpp`
- [ ] `UserInterface/PythonPlayer.cpp`
## 已知参考位置
- Python UI 以 40250 的 `Client/Eternexus/root`(打包为 `pack/root.epk`,90 个文件)为准;仓库内 `assets/root`
是另一版本(m2dev),与 40250 有实质差异(如 `uitarget.py` 按钮表),不能作为参考。